// File: /workspace/github_cpp_makefile_star2_O1/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, -0x58(%rbp)
movq 0x8(%rdi), %rdi
movq (%rdi), %rax
callq *0x28(%rax)
movb $0x1, %cl
testb %al, %al
jne 0x39551
movb 0x90(%rbx), %al
shrb $0x4, %al
movl 0x38(%rbx), %ecx
testb $0x8, %cl
sete %cl
andb %al, %cl
movq %rbx, -0x80(%rbp)
movb %cl, -0x29(%rbp)
testb %cl, %cl
jne 0x3956d
movq -0x80(%rbp), %rax
cmpl $0x2, 0x90(%rax)
jne 0x39680
movq -0x80(%rbp), %rax
movq 0x98(%rax), %r12
movq 0xa0(%rax), %r13
cmpq %r13, %r12
je 0x39680
movq -0x58(%rbp), %rax
leaq 0x170(%rax), %r15
movb -0x29(%rbp), %bl
xorb $0x1, %bl
leaq -0x78(%rbp), %r14
movl 0x40(%r12), %eax
cmpl $0x1, %eax
setne %cl
orb %bl, %cl
jne 0x39601
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rdi
leaq 0x43879(%rip), %rsi     # 0x7ce38
leaq 0x43876(%rip), %rdx     # 0x7ce3c
callq 0x43438
movq %r14, %rdi
movq %r15, %rsi
movl $0x3, %edx
callq 0x32516
movq %r15, %rdi
leaq -0x50(%rbp), %rsi
movl $0x3, %edx
callq 0x328c0
leaq 0x10(%r12), %rsi
movq -0x78(%rbp), %rdi
movl $0x3, %edx
callq 0x326dc
jmp 0x39659
cmpl $0x2, %eax
jne 0x39673
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rdi
leaq 0x43824(%rip), %rsi     # 0x7ce3d
leaq 0x43824(%rip), %rdx     # 0x7ce44
callq 0x43438
movq %r14, %rdi
movq %r15, %rsi
movl $0x3, %edx
callq 0x32516
movq %r15, %rdi
leaq -0x50(%rbp), %rsi
movl $0x3, %edx
callq 0x328c0
leaq 0x10(%r12), %rsi
movq -0x78(%rbp), %rdi
movl $0x3, %edx
callq 0x326dc
movq %r14, %rdi
callq 0x3269e
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x39673
callq 0x1b4d0
addq $0x48, %r12
cmpq %r13, %r12
jne 0x3959d
movq -0x80(%rbp), %r13
cmpl $0x2, 0x90(%r13)
sete %al
movb -0x29(%rbp), %cl
orb %al, %cl
cmpb $0x1, %cl
jne 0x39b83
cmpq $0x0, 0x30(%r13)
je 0x398bf
leaq -0x40(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x4378e(%rip), %rsi     # 0x7ce45
leaq 0x43791(%rip), %rdx     # 0x7ce4f
leaq -0x50(%rbp), %rdi
callq 0x43438
movq -0x58(%rbp), %rax
leaq 0x170(%rax), %r15
leaq -0x50(%rbp), %rsi
movq %r15, %rdi
movl $0x3, %edx
callq 0x328c0
leaq -0x68(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x42121(%rip), %rsi     # 0x7b814
leaq 0x42121(%rip), %rdx     # 0x7b81b
leaq -0x78(%rbp), %rdi
callq 0x43438
xorl %edx, %edx
testb $0x10, 0x90(%r13)
sete %dl
leaq -0x78(%rbp), %rsi
movq %r15, %rdi
callq 0x32ad2
leaq -0x90(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x449b2(%rip), %rsi     # 0x7e0e0
leaq 0x449af(%rip), %rdx     # 0x7e0e4
leaq -0xa0(%rbp), %rdi
callq 0x43438
movq -0x80(%rbp), %rax
movups 0x8(%rax), %xmm0
leaq -0xb0(%rbp), %rdx
movups %xmm0, (%rdx)
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x41abc
movq -0xa0(%rbp), %rdi
cmpq %r13, %rdi
je 0x39773
callq 0x1b4d0
movq -0x78(%rbp), %rdi
cmpq %r12, %rdi
movq -0x80(%rbp), %r13
je 0x39785
callq 0x1b4d0
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x39793
callq 0x1b4d0
movups 0x18(%r13), %xmm0
leaq -0x50(%rbp), %rbx
movups %xmm0, (%rbx)
movq -0x58(%rbp), %rdi
movq %rbx, %rsi
callq 0x38c80
movq %r14, (%rbx)
leaq 0x4369b(%rip), %rsi     # 0x7ce50
leaq 0x4369c(%rip), %rdx     # 0x7ce58
leaq -0x50(%rbp), %rdi
callq 0x43438
leaq -0xa0(%rbp), %rdi
movq %r15, %rsi
movl $0x3, %edx
callq 0x32516
leaq -0x50(%rbp), %rsi
movq %r15, %rdi
movl $0x3, %edx
callq 0x328c0
leaq 0x8(%r13), %rbx
leaq -0x78(%rbp), %rdi
movq %rbx, %rsi
callq 0x1d8f8
movq -0xa0(%rbp), %rdi
leaq -0x78(%rbp), %rsi
movl $0x3, %edx
callq 0x326dc
movq -0x78(%rbp), %rdi
cmpq %r12, %rdi
je 0x3981d
callq 0x1b4d0
leaq -0xa0(%rbp), %rdi
callq 0x3269e
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x39837
callq 0x1b4d0
leaq -0x50(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x43614(%rip), %rsi     # 0x7ce59
leaq 0x43615(%rip), %rdx     # 0x7ce61
callq 0x43438
leaq -0xa0(%rbp), %rdi
movq %r15, %rsi
movl $0x3, %edx
callq 0x32516
leaq -0x50(%rbp), %rsi
movq %r15, %rdi
movl $0x3, %edx
callq 0x328c0
leaq -0x78(%rbp), %rdi
movq %rbx, %rsi
callq 0x1db3a
movq -0xa0(%rbp), %rdi
leaq -0x78(%rbp), %rsi
movl $0x3, %edx
callq 0x326dc
movq -0x78(%rbp), %rdi
cmpq %r12, %rdi
je 0x398a5
callq 0x1b4d0
leaq -0xa0(%rbp), %rdi
callq 0x3269e
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x398bf
callq 0x1b4d0
movl 0x90(%r13), %eax
cmpl $0x110, %eax            # imm = 0x110
jg 0x39970
cmpl $0x1, %eax
je 0x39a13
cmpl $0x12, %eax
jne 0x39b67
leaq -0x40(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x4358e(%rip), %rsi     # 0x7ce80
leaq 0x4358e(%rip), %rdx     # 0x7ce87
leaq -0x50(%rbp), %rdi
callq 0x43438
movq -0x58(%rbp), %rax
leaq 0x170(%rax), %rbx
leaq -0x50(%rbp), %rsi
movq %rbx, %rdi
movl $0x3, %edx
callq 0x328c0
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x3992c
callq 0x1b4d0
movups 0x18(%r13), %xmm0
leaq -0x50(%rbp), %r14
movups %xmm0, (%r14)
movq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x38c80
movq %r15, (%r14)
movq 0x40(%r13), %rsi
movq 0x48(%r13), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x4ad3e
movq %rbx, %rdi
movq %r14, %rsi
movl $0x3, %edx
callq 0x326dc
jmp 0x39b4c
cmpl $0x210, %eax            # imm = 0x210
je 0x39ac4
cmpl $0x111, %eax            # imm = 0x111
jne 0x39b67
leaq -0x40(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x434cd(%rip), %rsi     # 0x7ce62
leaq 0x434cf(%rip), %rdx     # 0x7ce6b
leaq -0x50(%rbp), %rdi
callq 0x43438
movq -0x58(%rbp), %rax
leaq 0x170(%rax), %rbx
leaq -0x50(%rbp), %rsi
movq %rbx, %rdi
movl $0x3, %edx
callq 0x328c0
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x399cf
callq 0x1b4d0
movups 0x18(%r13), %xmm0
leaq -0x50(%rbp), %r14
movups %xmm0, (%r14)
movq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x38c80
movq %r15, (%r14)
movq 0x40(%r13), %rsi
movq 0x48(%r13), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x4ad3e
movq %rbx, %rdi
movq %r14, %rsi
movl $0x3, %edx
callq 0x326dc
jmp 0x39b4c
leaq -0x40(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x43416(%rip), %rsi     # 0x7ce38
leaq 0x43413(%rip), %rdx     # 0x7ce3c
leaq -0x50(%rbp), %rdi
callq 0x43438
movq -0x58(%rbp), %rax
leaq 0x170(%rax), %rbx
leaq -0xa0(%rbp), %rdi
movq %rbx, %rsi
movl $0x3, %edx
callq 0x32516
leaq -0x50(%rbp), %rsi
movq %rbx, %rdi
movl $0x3, %edx
callq 0x328c0
leaq -0x68(%rbp), %r15
movq %r15, -0x10(%r15)
movq 0x40(%r13), %rsi
movq 0x48(%r13), %rdx
addq %rsi, %rdx
leaq -0x78(%rbp), %rdi
callq 0x4ad3e
movq -0xa0(%rbp), %rdi
leaq -0x78(%rbp), %rsi
movl $0x3, %edx
callq 0x326dc
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0x39aa1
callq 0x1b4d0
leaq -0xa0(%rbp), %rdi
callq 0x3269e
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x39b67
callq 0x1b4d0
jmp 0x39b67
leaq -0x40(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x43399(%rip), %rsi     # 0x7ce6c
leaq 0x433a5(%rip), %rdx     # 0x7ce7f
leaq -0x50(%rbp), %rdi
callq 0x43438
movq -0x58(%rbp), %rax
leaq 0x170(%rax), %rbx
leaq -0x50(%rbp), %rsi
movq %rbx, %rdi
movl $0x3, %edx
callq 0x328c0
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x39b0d
callq 0x1b4d0
movups 0x18(%r13), %xmm0
leaq -0x50(%rbp), %r14
movups %xmm0, (%r14)
movq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x38c80
movq %r15, (%r14)
movq 0x40(%r13), %rsi
movq 0x48(%r13), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x4ad3e
movq %rbx, %rdi
movq %r14, %rsi
movl $0x3, %edx
callq 0x326dc
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x39b5a
callq 0x1b4d0
movq %rbx, %rdi
movl $0x3, %esi
callq 0x3258e
cmpq $0x0, 0x30(%r13)
je 0x39b83
movq -0x58(%rbp), %rdi
addq $0x170, %rdi            # imm = 0x170
movl $0x3, %esi
callq 0x3258e
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 0x39beb
jmp 0x39bf7
jmp 0x39bf4
jmp 0x39bb8
jmp 0x39bf4
jmp 0x39bb8
jmp 0x39bb8
jmp 0x39bb8
jmp 0x39c36
jmp 0x39bb8
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
jne 0x39c73
jmp 0x39c78
jmp 0x39c4e
jmp 0x39c4e
jmp 0x39c4e
jmp 0x39c4e
jmp 0x39bdf
jmp 0x39bf4
jmp 0x39bf4
jmp 0x39c36
jmp 0x39c4e
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r12, %rdi
je 0x39bf7
callq 0x1b4d0
jmp 0x39bf7
jmp 0x39bf4
movq %rax, %rbx
leaq -0xa0(%rbp), %rdi
callq 0x3269e
jmp 0x39c39
jmp 0x39c36
jmp 0x39c4e
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r13, %rdi
je 0x39c24
callq 0x1b4d0
jmp 0x39c24
jmp 0x39c21
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r12, %rdi
je 0x39c39
callq 0x1b4d0
jmp 0x39c39
jmp 0x39c36
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
jne 0x39c73
jmp 0x39c78
jmp 0x39c4e
jmp 0x39c5a
jmp 0x39c5a
jmp 0x39c55
jmp 0x39c4e
movq %rax, %rbx
jmp 0x39c78
jmp 0x39c5a
movq %rax, %rbx
jmp 0x39c66
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x3269e
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x39c78
callq 0x1b4d0
movq %rbx, %rdi
callq 0x1b910