// File: /workspace/github_cpp_makefile_star2_O3/xelia-it[P]mustache/third-party/catch2/single_include/catch2/catch.hpp
// Function: Catch::XmlReporter::assertionEnded(Catch::AssertionStats const&)
bool XmlReporter::assertionEnded( AssertionStats const& assertionStats ) {

        AssertionResult const& result = assertionStats.assertionResult;

        bool includeResults = m_config->includeSuccessfulResults() || !result.isOk();

        if( includeResults || result.getResultType() == ResultWas::Warning ) {
            // Print any info messages in <Info> tags.
            for( auto const& msg : assertionStats.infoMessages ) {
                if( msg.type == ResultWas::Info && includeResults ) {
                    m_xml.scopedElement( "Info" )
                            .writeText( msg.message );
                } else if ( msg.type == ResultWas::Warning ) {
                    m_xml.scopedElement( "Warning" )
                            .writeText( msg.message );
                }
            }
        }

        // Drop out if result was successful but we're not printing them.
        if( !includeResults && result.getResultType() != ResultWas::Warning )
            return true;

        // Print the expression if there is one.
        if( result.hasExpression() ) {
            m_xml.startElement( "Expression" )
                .writeAttribute( "success", result.succeeded() )
                .writeAttribute( "type", result.getTestMacroName() );

            writeSourceInfo( result.getSourceInfo() );

            m_xml.scopedElement( "Original" )
                .writeText( result.getExpression() );
            m_xml.scopedElement( "Expanded" )
                .writeText( result.getExpandedExpression() );
        }

        // And... Print a result applicable to each result type.
        switch( result.getResultType() ) {
            case ResultWas::ThrewException:
                m_xml.startElement( "Exception" );
                writeSourceInfo( result.getSourceInfo() );
                m_xml.writeText( result.getMessage() );
                m_xml.endElement();
                break;
            case ResultWas::FatalErrorCondition:
                m_xml.startElement( "FatalErrorCondition" );
                writeSourceInfo( result.getSourceInfo() );
                m_xml.writeText( result.getMessage() );
                m_xml.endElement();
                break;
            case ResultWas::Info:
                m_xml.scopedElement( "Info" )
                    .writeText( result.getMessage() );
                break;
            case ResultWas::Warning:
                // Warning will already have been written
                break;
            case ResultWas::ExplicitFailure:
                m_xml.startElement( "Failure" );
                writeSourceInfo( result.getSourceInfo() );
                m_xml.writeText( result.getMessage() );
                m_xml.endElement();
                break;
            default:
                break;
        }

        if( result.hasExpression() )
            m_xml.endElement();

        return true;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %rsi, %rbx
movq %rdi, -0x50(%rbp)
movq 0x8(%rdi), %rdi
movq (%rdi), %rax
callq *0x28(%rax)
movb $0x1, %cl
movl %ecx, -0x54(%rbp)
testb %al, %al
jne 0x39388
movl 0x90(%rbx), %eax
testb $0x10, %al
je 0x39378
movl 0x38(%rbx), %ecx
andl $0x8, %ecx
je 0x39388
cmpl $0x2, %eax
jne 0x399ab
movl $0x0, -0x54(%rbp)
movq 0x98(%rbx), %r13
movq %rbx, -0xa0(%rbp)
movq 0xa0(%rbx), %r12
cmpq %r12, %r13
je 0x3949d
movq -0x50(%rbp), %rax
leaq 0x170(%rax), %r15
movl -0x54(%rbp), %eax
movl %eax, %ebx
xorb $0x1, %bl
leaq -0x78(%rbp), %r14
movl 0x40(%r13), %eax
cmpl $0x1, %eax
setne %cl
orb %bl, %cl
jne 0x3941f
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %rdi
leaq 0x42a5a(%rip), %rsi     # 0x7be38
leaq 0x42a57(%rip), %rdx     # 0x7be3c
callq 0x431c8
movq %r14, %rdi
movq %r15, %rsi
movl $0x3, %edx
callq 0x32372
movq %r15, %rdi
leaq -0x48(%rbp), %rsi
movl $0x3, %edx
callq 0x3271c
leaq 0x10(%r13), %rsi
movq -0x78(%rbp), %rdi
movl $0x3, %edx
callq 0x32538
jmp 0x39476
cmpl $0x2, %eax
jne 0x39490
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %rdi
leaq 0x42a06(%rip), %rsi     # 0x7be3d
leaq 0x42a06(%rip), %rdx     # 0x7be44
callq 0x431c8
movq %r14, %rdi
movq %r15, %rsi
movl $0x3, %edx
callq 0x32372
movq %r15, %rdi
leaq -0x48(%rbp), %rsi
movl $0x3, %edx
callq 0x3271c
leaq 0x10(%r13), %rsi
movq -0x78(%rbp), %rdi
movl $0x3, %edx
callq 0x32538
movq %r14, %rdi
callq 0x324fa
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39490
callq 0x1b4d0
addq $0x48, %r13
cmpq %r12, %r13
jne 0x393bd
movq -0xa0(%rbp), %r13
movl 0x90(%r13), %eax
cmpl $0x2, %eax
sete %cl
movl -0x54(%rbp), %edx
orb %cl, %dl
cmpb $0x1, %dl
jne 0x399ab
cmpq $0x0, 0x30(%r13)
je 0x396ee
leaq -0x38(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x4296c(%rip), %rsi     # 0x7be45
leaq 0x4296f(%rip), %rdx     # 0x7be4f
leaq -0x48(%rbp), %rdi
callq 0x431c8
movq -0x50(%rbp), %rax
leaq 0x170(%rax), %r15
leaq -0x48(%rbp), %rsi
movq %r15, %rdi
movl $0x3, %edx
callq 0x3271c
leaq -0x68(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x412ff(%rip), %rsi     # 0x7a814
leaq 0x412ff(%rip), %rdx     # 0x7a81b
leaq -0x78(%rbp), %rdi
callq 0x431c8
xorl %edx, %edx
testb $0x10, 0x90(%r13)
sete %dl
leaq -0x78(%rbp), %rsi
movq %r15, %rdi
callq 0x3292e
leaq -0x88(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x43b61(%rip), %rsi     # 0x7d0b1
leaq 0x43b5e(%rip), %rdx     # 0x7d0b5
leaq -0x98(%rbp), %rdi
callq 0x431c8
movq -0xa0(%rbp), %rax
movups 0x8(%rax), %xmm0
leaq -0xb0(%rbp), %rdx
movups %xmm0, (%rdx)
leaq -0x98(%rbp), %rsi
movq %r15, %rdi
callq 0x41852
movq -0x98(%rbp), %rdi
cmpq %r13, %rdi
je 0x39598
callq 0x1b4d0
movq -0x78(%rbp), %rdi
cmpq %r12, %rdi
movq -0xa0(%rbp), %r13
je 0x395ad
callq 0x1b4d0
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x395bb
callq 0x1b4d0
movups 0x18(%r13), %xmm0
leaq -0x48(%rbp), %rbx
movups %xmm0, (%rbx)
movq -0x50(%rbp), %rdi
movq %rbx, %rsi
callq 0x38aa6
movq %r14, (%rbx)
leaq 0x42873(%rip), %rsi     # 0x7be50
leaq 0x42874(%rip), %rdx     # 0x7be58
leaq -0x48(%rbp), %rdi
callq 0x431c8
leaq -0x98(%rbp), %rdi
movq %r15, %rsi
movl $0x3, %edx
callq 0x32372
leaq -0x48(%rbp), %rsi
movq %r15, %rdi
movl $0x3, %edx
callq 0x3271c
leaq 0x8(%r13), %rbx
leaq -0x78(%rbp), %rdi
movq %rbx, %rsi
callq 0x1d8e8
movq -0x98(%rbp), %rdi
leaq -0x78(%rbp), %rsi
movl $0x3, %edx
callq 0x32538
movq -0x78(%rbp), %rdi
cmpq %r12, %rdi
je 0x39645
callq 0x1b4d0
leaq -0x98(%rbp), %rdi
callq 0x324fa
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x3965f
callq 0x1b4d0
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x427ec(%rip), %rsi     # 0x7be59
leaq 0x427ed(%rip), %rdx     # 0x7be61
callq 0x431c8
leaq -0x98(%rbp), %rdi
movq %r15, %rsi
movl $0x3, %edx
callq 0x32372
leaq -0x48(%rbp), %rsi
movq %r15, %rdi
movl $0x3, %edx
callq 0x3271c
leaq -0x78(%rbp), %rdi
movq %rbx, %rsi
callq 0x1db2e
movq -0x98(%rbp), %rdi
leaq -0x78(%rbp), %rsi
movl $0x3, %edx
callq 0x32538
movq -0x78(%rbp), %rdi
cmpq %r12, %rdi
je 0x396cd
callq 0x1b4d0
leaq -0x98(%rbp), %rdi
callq 0x324fa
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x396e7
callq 0x1b4d0
movl 0x90(%r13), %eax
cmpl $0x110, %eax            # imm = 0x110
jg 0x39798
cmpl $0x1, %eax
je 0x3983b
cmpl $0x12, %eax
jne 0x3998f
leaq -0x38(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x42766(%rip), %rsi     # 0x7be80
leaq 0x42766(%rip), %rdx     # 0x7be87
leaq -0x48(%rbp), %rdi
callq 0x431c8
movq -0x50(%rbp), %rax
leaq 0x170(%rax), %rbx
leaq -0x48(%rbp), %rsi
movq %rbx, %rdi
movl $0x3, %edx
callq 0x3271c
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x39754
callq 0x1b4d0
movups 0x18(%r13), %xmm0
leaq -0x48(%rbp), %r14
movups %xmm0, (%r14)
movq -0x50(%rbp), %rdi
movq %r14, %rsi
callq 0x38aa6
movq %r15, (%r14)
movq 0x40(%r13), %rsi
movq 0x48(%r13), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x4a8c2
movq %rbx, %rdi
movq %r14, %rsi
movl $0x3, %edx
callq 0x32538
jmp 0x39974
cmpl $0x210, %eax            # imm = 0x210
je 0x398ec
cmpl $0x111, %eax            # imm = 0x111
jne 0x3998f
leaq -0x38(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x426a5(%rip), %rsi     # 0x7be62
leaq 0x426a7(%rip), %rdx     # 0x7be6b
leaq -0x48(%rbp), %rdi
callq 0x431c8
movq -0x50(%rbp), %rax
leaq 0x170(%rax), %rbx
leaq -0x48(%rbp), %rsi
movq %rbx, %rdi
movl $0x3, %edx
callq 0x3271c
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x397f7
callq 0x1b4d0
movups 0x18(%r13), %xmm0
leaq -0x48(%rbp), %r14
movups %xmm0, (%r14)
movq -0x50(%rbp), %rdi
movq %r14, %rsi
callq 0x38aa6
movq %r15, (%r14)
movq 0x40(%r13), %rsi
movq 0x48(%r13), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x4a8c2
movq %rbx, %rdi
movq %r14, %rsi
movl $0x3, %edx
callq 0x32538
jmp 0x39974
leaq -0x38(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x425ee(%rip), %rsi     # 0x7be38
leaq 0x425eb(%rip), %rdx     # 0x7be3c
leaq -0x48(%rbp), %rdi
callq 0x431c8
movq -0x50(%rbp), %rax
leaq 0x170(%rax), %rbx
leaq -0x98(%rbp), %rdi
movq %rbx, %rsi
movl $0x3, %edx
callq 0x32372
leaq -0x48(%rbp), %rsi
movq %rbx, %rdi
movl $0x3, %edx
callq 0x3271c
leaq -0x68(%rbp), %r15
movq %r15, -0x10(%r15)
movq 0x40(%r13), %rsi
movq 0x48(%r13), %rdx
addq %rsi, %rdx
leaq -0x78(%rbp), %rdi
callq 0x4a8c2
movq -0x98(%rbp), %rdi
leaq -0x78(%rbp), %rsi
movl $0x3, %edx
callq 0x32538
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0x398c9
callq 0x1b4d0
leaq -0x98(%rbp), %rdi
callq 0x324fa
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x3998f
callq 0x1b4d0
jmp 0x3998f
leaq -0x38(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x42571(%rip), %rsi     # 0x7be6c
leaq 0x4257d(%rip), %rdx     # 0x7be7f
leaq -0x48(%rbp), %rdi
callq 0x431c8
movq -0x50(%rbp), %rax
leaq 0x170(%rax), %rbx
leaq -0x48(%rbp), %rsi
movq %rbx, %rdi
movl $0x3, %edx
callq 0x3271c
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x39935
callq 0x1b4d0
movups 0x18(%r13), %xmm0
leaq -0x48(%rbp), %r14
movups %xmm0, (%r14)
movq -0x50(%rbp), %rdi
movq %r14, %rsi
callq 0x38aa6
movq %r15, (%r14)
movq 0x40(%r13), %rsi
movq 0x48(%r13), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x4a8c2
movq %rbx, %rdi
movq %r14, %rsi
movl $0x3, %edx
callq 0x32538
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x39982
callq 0x1b4d0
movq %rbx, %rdi
movl $0x3, %esi
callq 0x323ea
cmpq $0x0, 0x30(%r13)
je 0x399ab
movq -0x50(%rbp), %rdi
addq $0x170, %rdi            # imm = 0x170
movl $0x3, %esi
callq 0x323ea
movb $0x1, %al
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
jne 0x39a13
jmp 0x39a1f
jmp 0x39a1c
jmp 0x399e0
jmp 0x39a1c
jmp 0x399e0
jmp 0x399e0
jmp 0x399e0
jmp 0x39a5e
jmp 0x399e0
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
jne 0x39a9b
jmp 0x39aa0
jmp 0x39a76
jmp 0x39a76
jmp 0x39a76
jmp 0x39a76
jmp 0x39a07
jmp 0x39a1c
jmp 0x39a1c
jmp 0x39a5e
jmp 0x39a76
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r12, %rdi
je 0x39a1f
callq 0x1b4d0
jmp 0x39a1f
jmp 0x39a1c
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x324fa
jmp 0x39a61
jmp 0x39a5e
jmp 0x39a76
movq %rax, %rbx
movq -0x98(%rbp), %rdi
cmpq %r13, %rdi
je 0x39a4c
callq 0x1b4d0
jmp 0x39a4c
jmp 0x39a49
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r12, %rdi
je 0x39a61
callq 0x1b4d0
jmp 0x39a61
jmp 0x39a5e
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
jne 0x39a9b
jmp 0x39aa0
jmp 0x39a76
jmp 0x39a82
jmp 0x39a82
jmp 0x39a7d
jmp 0x39a76
movq %rax, %rbx
jmp 0x39aa0
jmp 0x39a82
movq %rax, %rbx
jmp 0x39a8e
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x324fa
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39aa0
callq 0x1b4d0
movq %rbx, %rdi
callq 0x1b910