// File: /workspace/github_cpp_makefile_star2_O3/metopa[P]HTTP_Server/src/config/CConfig.cpp
// Function: CConfig::parseLogger(std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>>>>>&)
void CConfig::parseLogger( map<string, map<string, vector<string>>>::iterator& data ) {
	try {
		vector<string> flags = data->second.at( "flags" );
		for ( int i = 0; i < E_LOG_FLAGS_MAX; i++ )
			logFlags_m[i] = false;

		for ( auto it = flags.begin(); it != flags.end(); it++ ) {
			ELogFlags eLogFlags = logflagsNS::logFlagsFromString( *it );

			switch ( eLogFlags ) {
				case SILENT:
					for ( int i = 0; i < E_LOG_FLAGS_MAX; i++ )
						logFlags_m[i] = false;
					break;

				case DEBUG_ALL:
					for ( int i = SILENT + 1; i < UNDEFINED; i++ )
						logFlags_m[i] = true;
					break;

				case UNDEFINED:
					break;

				default:
					logFlags_m[eLogFlags] = true;
					break;
			}
		}
	}
	catch ( out_of_range& e ) {
		throw ParamUndefinedException( "flags", "default: \"CRITICAL\"" );
	}
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
movq (%rsi), %r14
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x11253(%rip), %rsi     # 0x1811a
leaq 0x11251(%rip), %rdx     # 0x1811f
leaq 0x18(%rsp), %rdi
callq 0x8e2c
addq $0x40, %r14
leaq 0x18(%rsp), %rsi
movq %r14, %rdi
callq 0x7c58
movq %rsp, %rdi
movq %rax, %rsi
callq 0x7f5e
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x6f0b
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x53f0
movl $0x0, 0x8(%rbx)
movq $0x0, (%rbx)
movq (%rsp), %r14
cmpq 0x8(%rsp), %r14
je 0x6f75
leaq 0x1(%rbx), %r15
movabsq $0x101010101010101, %r12 # imm = 0x101010101010101
movq %r14, %rdi
callq 0x1104d
testl %eax, %eax
je 0x6f54
cmpl $0xb, %eax
je 0x6f6a
cmpl $0x3, %eax
jne 0x6f64
movq %r12, (%r15)
movw $0x101, 0x8(%r15)       # imm = 0x101
jmp 0x6f6a
movl $0x0, 0x8(%rbx)
movq $0x0, (%rbx)
jmp 0x6f6a
movl %eax, %eax
movb $0x1, (%rbx,%rax)
addq $0x20, %r14
cmpq 0x8(%rsp), %r14
jne 0x6f32
movq %rsp, %rdi
callq 0x7fe8
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rdx, %r14
movq %rax, %rbx
jmp 0x6fbe
movq %rdx, %r14
movq %rax, %rbx
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x6fbe
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x53f0
jmp 0x6fbe
movq %rdx, %r14
movq %rax, %rbx
movq %rsp, %rdi
callq 0x7fe8
cmpl $0x1, %r14d
jne 0x701a
movq %rbx, %rdi
callq 0x51e0
movl $0x48, %edi
callq 0x5200
movq %rax, %r14
leaq 0x1113a(%rip), %rsi     # 0x1811a
leaq 0x11139(%rip), %rdx     # 0x18120
movq %rax, %rdi
callq 0x7e4e
leaq 0x1a42a(%rip), %rsi     # 0x21420
leaq 0xf1f(%rip), %rdx       # 0x7f1c
movq %r14, %rdi
callq 0x56f0
movq %rax, %rbx
jmp 0x7015
movq %rax, %rbx
movq %r14, %rdi
callq 0x52e0
callq 0x56a0
movq %rbx, %rdi
callq 0x5720
movq %rax, %rdi
callq 0x7cac