// File: /workspace/github_cpp_makefile_star2_O3/thierry7100[P]CutOptim/src/SvgDoc.cpp
// Function: SvgDoc::WritePath(std::ostream&, NSVGpath*, NSVGshape*)
void SvgDoc::WritePath(ostream &Out, NSVGpath *path, NSVGshape *shape)
{
    Out << "    <path" << endl;
    //  Line style from SVG file
    Out << std::hex;
    Out << "       style=\"fill:none;stroke:#" << setw(6) << setfill('0') << std::hex << (shape->stroke.color&0xFFFFFF);
    Out << std::dec;
    Out << ";stroke-width:" << shape->strokeWidth << "\"" << endl;
    // Then path itself
    Out << "       d=\"M " << path->StartX << "," << path->StartY;
    NSVGPathElt *Elt = path->PathElts;
    for (int i = 0; i < path->nElts; i++)
    {
        if ( Elt->Type == NSVG_PATH_BEZIER_C )
            Out << " C " << Elt->BzCtrl1X << "," << Elt->BzCtrl1Y << "," << Elt->BzCtrl2X << "," << Elt->BzCtrl2Y << "," << Elt->EndX << "," << Elt->EndY;
        else
            Out << " L " << Elt->EndX << "," << Elt->EndY;
        Elt = Elt->next;
    }
    if ( path->closed == 1 )
    {
        Out << " z";
    }
    Out << "\"" << endl;
    Out << "       id=\"" << path->id << "\"" << endl;
    Out << "       inkscape:connector-curvature=\"0\" />" << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r15
movq %rdx, %r14
movq %rsi, %rbx
leaq 0x104af(%rip), %rsi     # 0x3e9b4
movl $0x9, %edx
movq %rbx, %rdi
callq 0x74e0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7400
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7310
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x10469(%rip), %rsi     # 0x3e9be
movl $0x20, %edx
movq %rbx, %rdi
callq 0x74e0
movq (%rbx), %rax
movq -0x18(%rax), %rcx
movq $0x6, 0x10(%rbx,%rcx)
movq -0x18(%rax), %rcx
leaq (%rbx,%rcx), %r12
cmpb $0x0, 0xe1(%rbx,%rcx)
jne 0x2e59d
movq %r12, %rdi
movl $0x20, %esi
callq 0x7400
movb $0x1, 0xe1(%r12)
movq (%rbx), %rax
movb $0x30, 0xe0(%r12)
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movl 0x58(%r15), %esi
andl $0xffffff, %esi         # imm = 0xFFFFFF
movq %rbx, %rdi
callq 0x7300
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x10644(%rip), %rsi     # 0x3ec2a
movl $0xe, %edx
movq %rbx, %rdi
callq 0x74e0
movsd 0x68(%r15), %xmm0
movq %rbx, %rdi
callq 0x7690
movq %rax, %r15
leaq 0x103f6(%rip), %rsi     # 0x3ea01
movl $0x1, %edx
movq %rax, %rdi
callq 0x74e0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x7400
movsbl %al, %esi
movq %r15, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7310
leaq 0x10399(%rip), %rsi     # 0x3e9df
movl $0xc, %edx
movq %rbx, %rdi
callq 0x74e0
movsd (%r14), %xmm0
movq %rbx, %rdi
callq 0x7690
movq %rax, %r15
leaq 0xe24e(%rip), %rsi      # 0x3c8b8
movl $0x1, %edx
movq %rax, %rdi
callq 0x74e0
movsd 0x8(%r14), %xmm0
movq %r15, %rdi
callq 0x7690
cmpl $0x0, 0x18(%r14)
jle 0x2e79c
leaq 0x10(%r14), %r15
xorl %r13d, %r13d
leaq 0xe21a(%rip), %r12      # 0x3c8b8
movq (%r15), %r15
cmpl $0x1, (%r15)
jne 0x2e745
movl $0x3, %edx
movq %rbx, %rdi
leaq 0x10332(%rip), %rsi     # 0x3e9ec
callq 0x74e0
movsd 0x18(%r15), %xmm0
movq %rbx, %rdi
callq 0x7690
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x74e0
movsd 0x20(%r15), %xmm0
movq %rbp, %rdi
callq 0x7690
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x74e0
movsd 0x28(%r15), %xmm0
movq %rbp, %rdi
callq 0x7690
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x74e0
movsd 0x30(%r15), %xmm0
movq %rbp, %rdi
callq 0x7690
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x74e0
jmp 0x2e75c
movl $0x3, %edx
movq %rbx, %rdi
leaq 0x1029c(%rip), %rsi     # 0x3e9f0
callq 0x74e0
movq %rbx, %rbp
movsd 0x8(%r15), %xmm0
movq %rbp, %rdi
callq 0x7690
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x74e0
movsd 0x10(%r15), %xmm0
movq %rbp, %rdi
callq 0x7690
addq $0x38, %r15
incl %r13d
cmpl 0x18(%r14), %r13d
jl 0x2e69e
cmpl $0x1, 0x1c(%r14)
jne 0x2e7b7
leaq 0x1024a(%rip), %rsi     # 0x3e9f4
movl $0x2, %edx
movq %rbx, %rdi
callq 0x74e0
leaq 0x10243(%rip), %r15     # 0x3ea01
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x74e0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7400
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7310
leaq 0x101fb(%rip), %rsi     # 0x3e9f7
movl $0xb, %edx
movq %rbx, %rdi
callq 0x74e0
addq $0x90, %r14
movq %r14, %rdi
callq 0x71d0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x74e0
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x74e0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7400
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7310
leaq 0x1019f(%rip), %rsi     # 0x3ea03
movl $0x2a, %edx
movq %rbx, %rdi
callq 0x74e0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7400
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7050
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x7310