// File: interimadd[P]M5Stack-PixelArt/test/pixel_art_test.cpp
// Function: (anonymous namespace)::TestPixelArt_MoveToNextPixelArtFrame_Test::TestBody()
TEST_F(TestPixelArt, MoveToNextPixelArtFrame)
  {
    MonochromePixelArt frame_zero = {{0}};
    MonochromePixelArt frame_one = {{1}};
    MonochromePixelArtWithFrame *pixel_with_frame = new MonochromePixelArtWithFrame({frame_zero, frame_one});
    EXPECT_EQ(frame_zero, pixel_with_frame->toNextFrame());
    EXPECT_EQ(frame_one, pixel_with_frame->toNextFrame());
    EXPECT_EQ(frame_zero, pixel_with_frame->toNextFrame());
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x310, %rsp            # imm = 0x310
movq %rdi, -0x8(%rbp)
movb $0x1, -0x75(%rbp)
leaq -0x48(%rbp), %rax
movq %rax, -0x200(%rbp)
movq %rax, -0x50(%rbp)
movb $0x0, -0x61(%rbp)
leaq -0x61(%rbp), %rax
movq %rax, -0x60(%rbp)
movq $0x1, -0x58(%rbp)
leaq -0x62(%rbp), %rdi
movq %rdi, -0x1f8(%rbp)
callq 0x57400
movq -0x200(%rbp), %rdi
movq -0x1f8(%rbp), %rcx
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rdx
callq 0x57420
jmp 0x568a3
movb $0x0, -0x75(%rbp)
leaq -0x48(%rbp), %rax
movq %rax, -0x30(%rbp)
movq $0x1, -0x28(%rbp)
leaq -0x76(%rbp), %rdi
movq %rdi, -0x208(%rbp)
callq 0x574a0
movq -0x208(%rbp), %rcx
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x20(%rbp), %rdi
callq 0x574c0
jmp 0x568e1
leaq -0x76(%rbp), %rdi
callq 0x57540
leaq -0x48(%rbp), %rax
movq %rax, -0x218(%rbp)
addq $0x18, %rax
movq %rax, -0x210(%rbp)
movq -0x210(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x220(%rbp)
callq 0x57560
movq -0x218(%rbp), %rcx
movq -0x220(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x210(%rbp)
jne 0x56900
leaq -0x62(%rbp), %rdi
callq 0x575c0
movb $0x1, -0xd3(%rbp)
leaq -0xb8(%rbp), %rax
movq %rax, -0x230(%rbp)
movq %rax, -0xc0(%rbp)
movb $0x1, -0xd1(%rbp)
leaq -0xd1(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq $0x1, -0xc8(%rbp)
leaq -0xd2(%rbp), %rdi
movq %rdi, -0x228(%rbp)
callq 0x57400
movq -0x230(%rbp), %rdi
movq -0x228(%rbp), %rcx
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
callq 0x57420
jmp 0x569ac
movb $0x0, -0xd3(%rbp)
leaq -0xb8(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq $0x1, -0x98(%rbp)
leaq -0xd4(%rbp), %rdi
movq %rdi, -0x238(%rbp)
callq 0x574a0
movq -0x238(%rbp), %rcx
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
leaq -0x90(%rbp), %rdi
callq 0x574c0
jmp 0x56a02
leaq -0xd4(%rbp), %rdi
callq 0x57540
leaq -0xb8(%rbp), %rax
movq %rax, -0x248(%rbp)
addq $0x18, %rax
movq %rax, -0x240(%rbp)
movq -0x240(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x250(%rbp)
callq 0x57560
movq -0x248(%rbp), %rcx
movq -0x250(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x240(%rbp)
jne 0x56a27
leaq -0xd2(%rbp), %rdi
callq 0x575c0
movl $0x20, %edi
callq 0x525d0
movq %rax, -0x258(%rbp)
jmp 0x56a77
movb $0x1, -0x142(%rbp)
leaq -0x138(%rbp), %rdi
movq %rdi, -0x140(%rbp)
leaq -0x20(%rbp), %rsi
callq 0x593c0
jmp 0x56a97
leaq -0x120(%rbp), %rdi
movq %rdi, -0x140(%rbp)
leaq -0x90(%rbp), %rsi
callq 0x593c0
jmp 0x56ab3
leaq -0x138(%rbp), %rax
movq %rax, -0x108(%rbp)
movq $0x2, -0x100(%rbp)
leaq -0x141(%rbp), %rdi
movq %rdi, -0x260(%rbp)
callq 0x594b0
movq -0x260(%rbp), %rcx
movq -0x108(%rbp), %rsi
movq -0x100(%rbp), %rdx
leaq -0xf8(%rbp), %rdi
callq 0x594d0
jmp 0x56b02
movq -0x258(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x6ad50
jmp 0x56b17
movb $0x0, -0x142(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x59550
leaq -0x141(%rbp), %rdi
callq 0x595b0
leaq -0x138(%rbp), %rax
movq %rax, -0x270(%rbp)
addq $0x30, %rax
movq %rax, -0x268(%rbp)
movq -0x268(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x278(%rbp)
callq 0x57740
movq -0x270(%rbp), %rcx
movq -0x278(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x268(%rbp)
jne 0x56b4f
movq -0x258(%rbp), %rax
movq %rax, -0xe0(%rbp)
movq -0xe0(%rbp), %rsi
leaq -0x170(%rbp), %rdi
callq 0x6ae10
jmp 0x56ba3
leaq 0x50556(%rip), %rsi     # 0xa7100
leaq 0x50586(%rip), %rdx     # 0xa7137
leaq -0x158(%rbp), %rdi
leaq -0x20(%rbp), %rcx
leaq -0x170(%rbp), %r8
callq 0x595d0
jmp 0x56bca
leaq -0x170(%rbp), %rdi
callq 0x57740
leaq -0x158(%rbp), %rdi
callq 0x57670
testb $0x1, %al
jne 0x56beb
jmp 0x56eb7
jmp 0x56f74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x56c5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x76(%rbp), %rdi
callq 0x57540
leaq -0x48(%rbp), %rax
movq %rax, -0x288(%rbp)
addq $0x18, %rax
movq %rax, -0x280(%rbp)
movq -0x280(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x290(%rbp)
callq 0x57560
movq -0x288(%rbp), %rcx
movq -0x290(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x280(%rbp)
jne 0x56c29
jmp 0x56c5c
leaq -0x62(%rbp), %rdi
callq 0x575c0
testb $0x1, -0x75(%rbp)
jne 0x56c6d
jmp 0x56cb1
movq -0x50(%rbp), %rax
leaq -0x48(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x298(%rbp)
je 0x56caf
movq -0x298(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x2a0(%rbp)
callq 0x57560
movq -0x2a0(%rbp), %rax
leaq -0x48(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x298(%rbp)
jne 0x56c81
jmp 0x56cb1
jmp 0x5726b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x56d28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0xd4(%rbp), %rdi
callq 0x57540
leaq -0xb8(%rbp), %rax
movq %rax, -0x2b0(%rbp)
addq $0x18, %rax
movq %rax, -0x2a8(%rbp)
movq -0x2a8(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x2b8(%rbp)
callq 0x57560
movq -0x2b0(%rbp), %rcx
movq -0x2b8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2a8(%rbp)
jne 0x56cf5
jmp 0x56d28
leaq -0xd2(%rbp), %rdi
callq 0x575c0
testb $0x1, -0xd3(%rbp)
jne 0x56d3f
jmp 0x56d8c
movq -0xc0(%rbp), %rax
leaq -0xb8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2c0(%rbp)
je 0x56d8a
movq -0x2c0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x2c8(%rbp)
callq 0x57560
movq -0x2c8(%rbp), %rax
leaq -0xb8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2c0(%rbp)
jne 0x56d59
jmp 0x56d8c
jmp 0x57262
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x57256
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
movq -0x140(%rbp), %rax
leaq -0x138(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2d0(%rbp)
je 0x56df9
movq -0x2d0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x2d8(%rbp)
callq 0x57740
movq -0x2d8(%rbp), %rax
leaq -0x138(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2d0(%rbp)
jne 0x56dc8
jmp 0x56e79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x56e21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x59550
leaq -0x141(%rbp), %rdi
callq 0x595b0
leaq -0x138(%rbp), %rax
movq %rax, -0x2e8(%rbp)
addq $0x30, %rax
movq %rax, -0x2e0(%rbp)
movq -0x2e0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x2f0(%rbp)
callq 0x57740
movq -0x2e8(%rbp), %rcx
movq -0x2f0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2e0(%rbp)
jne 0x56e46
jmp 0x56e79
testb $0x1, -0x142(%rbp)
jne 0x56e84
jmp 0x56e95
movq -0x258(%rbp), %rdi
movl $0x20, %esi
callq 0x52600
jmp 0x57256
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x57740
jmp 0x57256
leaq -0x178(%rbp), %rdi
callq 0x6f710
jmp 0x56ec5
leaq -0x158(%rbp), %rdi
callq 0x57690
movq %rax, -0x2f8(%rbp)
jmp 0x56eda
movq -0x2f8(%rbp), %r8
leaq 0x5013b(%rip), %rdx     # 0xa7023
leaq -0x180(%rbp), %rdi
movl $0x1, %esi
movl $0x26, %ecx
callq 0x6c940
jmp 0x56f00
leaq -0x180(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x6ca00
jmp 0x56f15
leaq -0x180(%rbp), %rdi
callq 0x6c9c0
leaq -0x178(%rbp), %rdi
callq 0x576b0
jmp 0x56f74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x56fe2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x56f66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x6c9c0
leaq -0x178(%rbp), %rdi
callq 0x576b0
jmp 0x56fe2
leaq -0x158(%rbp), %rdi
callq 0x576d0
movq -0xe0(%rbp), %rsi
leaq -0x1a8(%rbp), %rdi
callq 0x6ae10
jmp 0x56f95
leaq 0x501bb(%rip), %rsi     # 0xa7157
leaq 0x50194(%rip), %rdx     # 0xa7137
leaq -0x190(%rbp), %rdi
leaq -0x90(%rbp), %rcx
leaq -0x1a8(%rbp), %r8
callq 0x595d0
jmp 0x56fbf
leaq -0x1a8(%rbp), %rdi
callq 0x57740
leaq -0x190(%rbp), %rdi
callq 0x57670
testb $0x1, %al
jne 0x56fdd
jmp 0x57010
jmp 0x570cd
leaq -0x158(%rbp), %rdi
callq 0x576d0
jmp 0x57256
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x1a8(%rbp), %rdi
callq 0x57740
jmp 0x57256
leaq -0x1b0(%rbp), %rdi
callq 0x6f710
jmp 0x5701e
leaq -0x190(%rbp), %rdi
callq 0x57690
movq %rax, -0x300(%rbp)
jmp 0x57033
movq -0x300(%rbp), %r8
leaq 0x4ffe2(%rip), %rdx     # 0xa7023
leaq -0x1b8(%rbp), %rdi
movl $0x1, %esi
movl $0x27, %ecx
callq 0x6c940
jmp 0x57059
leaq -0x1b8(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x6ca00
jmp 0x5706e
leaq -0x1b8(%rbp), %rdi
callq 0x6c9c0
leaq -0x1b0(%rbp), %rdi
callq 0x576b0
jmp 0x570cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x57138
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x570bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x6c9c0
leaq -0x1b0(%rbp), %rdi
callq 0x576b0
jmp 0x57138
leaq -0x190(%rbp), %rdi
callq 0x576d0
movq -0xe0(%rbp), %rsi
leaq -0x1e0(%rbp), %rdi
callq 0x6ae10
jmp 0x570ee
leaq 0x5000b(%rip), %rsi     # 0xa7100
leaq 0x5003b(%rip), %rdx     # 0xa7137
leaq -0x1c8(%rbp), %rdi
leaq -0x20(%rbp), %rcx
leaq -0x1e0(%rbp), %r8
callq 0x595d0
jmp 0x57115
leaq -0x1e0(%rbp), %rdi
callq 0x57740
leaq -0x1c8(%rbp), %rdi
callq 0x57670
testb $0x1, %al
jne 0x57133
jmp 0x57166
jmp 0x57220
leaq -0x190(%rbp), %rdi
callq 0x576d0
jmp 0x57256
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x57740
jmp 0x57256
leaq -0x1e8(%rbp), %rdi
callq 0x6f710
jmp 0x57174
leaq -0x1c8(%rbp), %rdi
callq 0x57690
movq %rax, -0x308(%rbp)
jmp 0x57189
movq -0x308(%rbp), %r8
leaq 0x4fe8c(%rip), %rdx     # 0xa7023
leaq -0x1f0(%rbp), %rdi
movl $0x1, %esi
movl $0x28, %ecx
callq 0x6c940
jmp 0x571af
leaq -0x1f0(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x6ca00
jmp 0x571c4
leaq -0x1f0(%rbp), %rdi
callq 0x6c9c0
leaq -0x1e8(%rbp), %rdi
callq 0x576b0
jmp 0x57220
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5724a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x57212
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x6c9c0
leaq -0x1e8(%rbp), %rdi
callq 0x576b0
jmp 0x5724a
leaq -0x1c8(%rbp), %rdi
callq 0x576d0
leaq -0x90(%rbp), %rdi
callq 0x57740
leaq -0x20(%rbp), %rdi
callq 0x57740
addq $0x310, %rsp            # imm = 0x310
popq %rbp
retq
leaq -0x1c8(%rbp), %rdi
callq 0x576d0
leaq -0x90(%rbp), %rdi
callq 0x57740
leaq -0x20(%rbp), %rdi
callq 0x57740
movq -0x70(%rbp), %rdi
callq 0x52bc0
nopw %cs:(%rax,%rax)
nop