// File: ChanTsune[P]py_string/./py_string.hpp
// Function: py::basic_string<char> py::basic_string<char>::_format_automatic<int, char const*, int>(py::basic_string<char>&, int, char const*, int) const
basic_string<_Elme> _format_automatic(basic_string<_Elme> &_Str, Head head,
                                        Tail... tail) const
  {
    basic_string<_Elme> str;
    std::smatch sub;
    static std::regex match("\\{(![^:])?(:(.+?)?)?\\}");
    if (std::regex_search(_Str, sub, match)) {
      format_parser::format(sub.str(3), head, str);
      _Str = _Str.pyreplace(sub.str(0), str, 1);
      return this->_format_automatic(_Str, std::move(tail)...);
    }
    return _Str;
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x160, %rsp            # imm = 0x160
movq %rdi, -0x140(%rbp)
movq %rdi, %rax
movq %rax, -0x138(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq %r8, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x130(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x2bf10
leaq -0x70(%rbp), %rdi
callq 0x2c890
jmp 0x2c112
cmpb $0x0, 0x2d817(%rip)     # 0x59930
jne 0x2c16c
leaq 0x2d80e(%rip), %rdi     # 0x59930
callq 0x6820
cmpl $0x0, %eax
je 0x2c16c
leaq 0x2d7dd(%rip), %rdi     # 0x59910
leaq 0x11a1b(%rip), %rsi     # 0x3db55
movl $0x10, %edx
callq 0x7ba0
jmp 0x2c146
leaq -0x2450d(%rip), %rdi    # 0x7c40
leaq 0x2d7bc(%rip), %rsi     # 0x59910
leaq 0x2d30d(%rip), %rdx     # 0x59468
callq 0x6430
leaq 0x2d7c9(%rip), %rdi     # 0x59930
callq 0x6310
movq -0x18(%rbp), %rdi
leaq 0x2d799(%rip), %rdx     # 0x59910
leaq -0x70(%rbp), %rsi
xorl %ecx, %ecx
callq 0x34250
movb %al, -0x141(%rbp)
jmp 0x2c18a
movb -0x141(%rbp), %al
testb $0x1, %al
jne 0x2c199
jmp 0x2c363
leaq -0xa0(%rbp), %rdi
leaq -0x70(%rbp), %rsi
movl $0x3, %edx
callq 0x35000
jmp 0x2c1b0
movl -0x1c(%rbp), %esi
leaq -0xa0(%rbp), %rdi
leaq -0x50(%rbp), %rdx
callq 0x342b0
jmp 0x2c1c5
leaq -0xa0(%rbp), %rdi
callq 0x62d0
movq -0x18(%rbp), %rax
movq %rax, -0x150(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x100(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x35000
jmp 0x2c1f2
leaq -0xe0(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x35050
jmp 0x2c207
leaq -0x120(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xa560
jmp 0x2c219
movq -0x150(%rbp), %rsi
leaq -0xc0(%rbp), %rdi
leaq -0xe0(%rbp), %rdx
leaq -0x120(%rbp), %rcx
movl $0x1, %r8d
callq 0x8580
jmp 0x2c242
movq -0x18(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
movq %rsi, -0x158(%rbp)
callq 0x35080
movq -0x158(%rbp), %rdi
callq 0x7db0
leaq -0x120(%rbp), %rdi
callq 0x7db0
leaq -0xe0(%rbp), %rdi
callq 0x7db0
leaq -0x100(%rbp), %rdi
callq 0x62d0
movq -0x140(%rbp), %rdi
movq -0x130(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x28(%rbp), %rcx
movl -0x2c(%rbp), %r8d
callq 0x350b0
jmp 0x2c2aa
movl $0x1, -0x124(%rbp)
jmp 0x2c37f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c3aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq 0x2d653(%rip), %rdi     # 0x59930
callq 0x6300
jmp 0x2c3a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c3a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x62d0
jmp 0x2c3a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c355
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c349
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x120(%rbp), %rdi
callq 0x7db0
leaq -0xe0(%rbp), %rdi
callq 0x7db0
leaq -0x100(%rbp), %rdi
callq 0x62d0
jmp 0x2c3a1
movq -0x140(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xa560
jmp 0x2c375
movl $0x1, -0x124(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x2c920
leaq -0x50(%rbp), %rdi
callq 0x7db0
movq -0x138(%rbp), %rax
addq $0x160, %rsp            # imm = 0x160
popq %rbp
retq
leaq -0x70(%rbp), %rdi
callq 0x2c920
leaq -0x50(%rbp), %rdi
callq 0x7db0
movq -0x78(%rbp), %rdi
callq 0x67e0
nopl (%rax)