<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/99809>99809</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Clang++ segfault on instantiating function definition
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          the-moisrex
      </td>
    </tr>
</table>

<pre>
    
GCC compiles this just fine. I'm not sure about previous versions of Clang, but I don't think previous versions had this crash. I believe I haven't touched anything in the `function_ref` utility recently.

Clang version:
```
clang version 18.1.8
Target: x86_64-pc-linux-gnu
Thread model: posix
```

The segfault:
```
FAILED: tests/CMakeFiles/test-functional.dir/functional_test.cpp.o 
ccache /usr/bin/clang++ -DFMT_SHARED -DWEBPP_PROJECT_ROOT=/webpp -I/webpp/webpp -I/webpp/webpp/.. -I/include -I/webpp/build-dev-clang/_deps/fmt-src/include -I/webpp/build-dev-clang/_deps/liburing-src -isystem /webpp/build-dev-clang/_deps/rapidjson-src/include -isystem /webpp/build-dev-clang/_deps/googletest-src/googletest/include -isystem /webpp/build-dev-clang/_deps/googletest-src/googletest -g -g3 -Wall -Wpedantic -Wextra -Wconversion -Wshadow -O0 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=gnu++20 -fcolor-diagnostics -fcolor-diagnostics -Winvalid-pch -Xclang -include-pch -Xclang /webpp/build-dev-clang/tests/CMakeFiles/test-functional.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /webpp/build-dev-clang/tests/CMakeFiles/test-functional.dir/cmake_pch.hxx -MD -MT tests/CMakeFiles/test-functional.dir/functional_test.cpp.o -MF tests/CMakeFiles/test-functional.dir/functional_test.cpp.o.d @tests/CMakeFiles/test-functional.dir/functional_test.cpp.o.modmap -o tests/CMakeFiles/test-functional.dir/functional_test.cpp.o -c /webpp/tests/functional_test.cpp
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: /usr/bin/clang++ -DFMT_SHARED -DWEBPP_PROJECT_ROOT=/webpp -I/webpp/webpp -I/webpp/webpp/.. -I/include -I/webpp/build-dev-clang/_deps/fmt-src/include -I/webpp/build-dev-clang/_deps/liburing-src -isystem /webpp/build-dev-clang/_deps/rapidjson-src/include -isystem /webpp/build-dev-clang/_deps/googletest-src/googletest/include -isystem /webpp/build-dev-clang/_deps/googletest-src/googletest -g -g3 -Wall -Wpedantic -Wextra -Wconversion -Wshadow -O0 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=gnu++20 -fcolor-diagnostics -fcolor-diagnostics -Winvalid-pch -Xclang -include-pch -Xclang /webpp/build-dev-clang/tests/CMakeFiles/test-functional.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /webpp/build-dev-clang/tests/CMakeFiles/test-functional.dir/cmake_pch.hxx -MD -MT tests/CMakeFiles/test-functional.dir/functional_test.cpp.o -MF tests/CMakeFiles/test-functional.dir/functional_test.cpp.o.d @tests/CMakeFiles/test-functional.dir/functional_test.cpp.o.modmap -o tests/CMakeFiles/test-functional.dir/functional_test.cpp.o -c /webpp/tests/functional_test.cpp
1.      /webpp/tests/functional_test.cpp:276:37: current parser token ';'
2.      /webpp/tests/functional_test.cpp:272:41: parsing function body 'FunctionalTests_FunctionRefTests_Test::TestBody'
3.      /webpp/tests/functional_test.cpp:272:41: in compound statement ('{}')
4.      /webpp/tests/../webpp/std/function_ref.hpp:328:35: instantiating function definition 'webpp::istl::function_ref<int ()>::function_ref<(lambda at /webpp/tests/functional_test.cpp:273:18)>'
 #0 0x00007c1aeafc4d90 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/libLLVM.so.18.1+0x7c4d90)
 #1 0x00007c1aeafc226d llvm::sys::CleanupOnSignal(unsigned long) (/usr/lib/libLLVM.so.18.1+0x7c226d)
 #2 0x00007c1aeaea88e9 (/usr/lib/libLLVM.so.18.1+0x6a88e9)
 #3 0x00007c1aea250ae0 (/usr/lib/libc.so.6+0x3cae0)
 #4 0x00007c1af3ec8867 clang::Sema::CheckParameterPacksForExpansion(clang::SourceLocation, clang::SourceRange, llvm::ArrayRef<std::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation>>, clang::MultiLevelTemplateArgumentList const&, bool&, bool&, std::optional<unsigned int>&) (/usr/lib/libclang-cpp.so.18.1+0x14c8867)
 #5 0x00007c1af3e8ae91 (/usr/lib/libclang-cpp.so.18.1+0x148ae91)
 #6 0x00007c1af3e8e4ef (/usr/lib/libclang-cpp.so.18.1+0x148e4ef)
 #7 0x00007c1af3e8ef51 (/usr/lib/libclang-cpp.so.18.1+0x148ef51)
 #8 0x00007c1af3e941f4 (/usr/lib/libclang-cpp.so.18.1+0x14941f4)
 #9 0x00007c1af3e9473f clang::Sema::SubstExceptionSpec(clang::SourceLocation, clang::FunctionProtoType::ExceptionSpecInfo&, llvm::SmallVectorImpl<clang::QualType>&, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/libclang-cpp.so.18.1+0x149473f)
#10 0x00007c1af3e339aa clang::Sema::SubstituteExplicitTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, llvm::SmallVectorImpl<clang::QualType>&, clang::QualType*, clang::sema::TemplateDeductionInfo&) (/usr/lib/libclang-cpp.so.18.1+0x14339aa)
#11 0x00007c1af3e33ac9 (/usr/lib/libclang-cpp.so.18.1+0x1433ac9)
#12 0x00007c1af38063ad clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/libclang-cpp.so.18.1+0xe063ad)
#13 0x00007c1af3e70c73 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool) (/usr/lib/libclang-cpp.so.18.1+0x1470c73)
#14 0x00007c1af3d37496 clang::Sema::ResolveAddressOfOverloadedFunction(clang::Expr*, clang::QualType, bool, clang::DeclAccessPair&, bool*) (/usr/lib/libclang-cpp.so.18.1+0x1337496)
#15 0x00007c1af3d38dfa (/usr/lib/libclang-cpp.so.18.1+0x1338dfa)
#16 0x00007c1af3d39e14 (/usr/lib/libclang-cpp.so.18.1+0x1339e14)
#17 0x00007c1af3d3a197 clang::Sema::TryImplicitConversion(clang::Expr*, clang::QualType, bool, clang::Sema::AllowedExplicit, bool, bool, bool) (/usr/lib/libclang-cpp.so.18.1+0x133a197)
#18 0x00007c1af3c194c6 clang::InitializationSequence::InitializeFrom(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, bool, bool) (/usr/lib/libclang-cpp.so.18.1+0x12194c6)
#19 0x00007c1af3c252cd clang::Sema::CanPerformCopyInitialization(clang::InitializedEntity const&, clang::ActionResult<clang::Expr*, true>) (/usr/lib/libclang-cpp.so.18.1+0x12252cd)
#20 0x00007c1af3c25b51 (/usr/lib/libclang-cpp.so.18.1+0x1225b51)
#21 0x00007c1af51c8e76 (/usr/lib/libclang-cpp.so.18.1+0x27c8e76)
#22 0x00007c1af3c232fe (/usr/lib/libclang-cpp.so.18.1+0x12232fe)
#23 0x00007c1af3c239e2 (/usr/lib/libclang-cpp.so.18.1+0x12239e2)
#24 0x00007c1af3c18c73 clang::InitializationSequence::InitializeFrom(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, bool, bool) (/usr/lib/libclang-cpp.so.18.1+0x1218c73)
#25 0x00007c1af3a0df82 clang::Sema::BuildMemberInitializer(clang::ValueDecl*, clang::Expr*, clang::SourceLocation) (/usr/lib/libclang-cpp.so.18.1+0x100df82)
#26 0x00007c1af3ecea2a clang::Sema::InstantiateMemInitializers(clang::CXXConstructorDecl*, clang::CXXConstructorDecl const*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/libclang-cpp.so.18.1+0x14cea2a)
#27 0x00007c1af3edc010 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/libclang-cpp.so.18.1+0x14dc010)
#28 0x00007c1af38063ad clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/libclang-cpp.so.18.1+0xe063ad)
#29 0x00007c1af3ae762f clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) (/usr/lib/libclang-cpp.so.18.1+0x10e762f)
#30 0x00007c1af3a39d73 clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType, clang::CXXConstructorDecl*, bool, llvm::MutableArrayRef<clang::Expr*>, bool, bool, bool, bool, clang::CXXConstructionKind, clang::SourceRange) (/usr/lib/libclang-cpp.so.18.1+0x1039d73)
#31 0x00007c1af3a40299 clang::Sema::BuildCXXConstructExpr(clang::SourceLocation, clang::QualType, clang::NamedDecl*, clang::CXXConstructorDecl*, llvm::MutableArrayRef<clang::Expr*>, bool, bool, bool, bool, clang::CXXConstructionKind, clang::SourceRange) (/usr/lib/libclang-cpp.so.18.1+0x1040299)
#32 0x00007c1af3c1f39f clang::InitializationSequence::Perform(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, clang::QualType*) (/usr/lib/libclang-cpp.so.18.1+0x121f39f)
#33 0x00007c1af398fb51 clang::Sema::AddInitializerToDecl(clang::Decl*, clang::Expr*, bool) (/usr/lib/libclang-cpp.so.18.1+0xf8fb51)
#34 0x00007c1af2f9bb12 clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) (/usr/lib/libclang-cpp.so.18.1+0x59bb12)
#35 0x00007c1af2fc1249 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/lib/libclang-cpp.so.18.1+0x5c1249)
#36 0x00007c1af2fd93e4 clang::Parser::ParseSimpleDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, bool, clang::Parser::ForRangeInit*, clang::SourceLocation*) (/usr/lib/libclang-cpp.so.18.1+0x5d93e4)
#37 0x00007c1af2fd982a clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/usr/lib/libclang-cpp.so.18.1+0x5d982a)
#38 0x00007c1af305964c clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/usr/lib/libclang-cpp.so.18.1+0x65964c)
#39 0x00007c1af305a1e8 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/usr/lib/libclang-cpp.so.18.1+0x65a1e8)
#40 0x00007c1af305fa6a clang::Parser::ParseCompoundStatementBody(bool) (/usr/lib/libclang-cpp.so.18.1+0x65fa6a)
#41 0x00007c1af3061a24 clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/usr/lib/libclang-cpp.so.18.1+0x661a24)
#42 0x00007c1af3062b5f clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/usr/lib/libclang-cpp.so.18.1+0x662b5f)
#43 0x00007c1af2fc1590 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/lib/libclang-cpp.so.18.1+0x5c1590)
#44 0x00007c1af304c7cb clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/usr/lib/libclang-cpp.so.18.1+0x64c7cb)
#45 0x00007c1af30653d2 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/usr/lib/libclang-cpp.so.18.1+0x6653d2)
#46 0x00007c1af3065fdb clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/usr/lib/libclang-cpp.so.18.1+0x665fdb)
#47 0x00007c1af2f89ec0 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/libclang-cpp.so.18.1+0x589ec0)
#48 0x00007c1af4a1a7c1 clang::FrontendAction::Execute() (/usr/lib/libclang-cpp.so.18.1+0x201a7c1)
#49 0x00007c1af49bbad7 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/libclang-cpp.so.18.1+0x1fbbad7)
#50 0x00007c1af4a6e11d clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/libclang-cpp.so.18.1+0x206e11d)
#51 0x00006421ef985284 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang+++0x13284)
#52 0x00006421ef9895ba (/usr/bin/clang+++0x175ba)
#53 0x00007c1af46f7175 (/usr/lib/libclang-cpp.so.18.1+0x1cf7175)
#54 0x00007c1aeaea8d3a llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/libLLVM.so.18.1+0x6a8d3a)
#55 0x00007c1af46f9aa6 (/usr/lib/libclang-cpp.so.18.1+0x1cf9aa6)
#56 0x00007c1af46b5529 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/libclang-cpp.so.18.1+0x1cb5529)
#57 0x00007c1af46b591c clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib/libclang-cpp.so.18.1+0x1cb591c)
#58 0x00007c1af46d38c4 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/lib/libclang-cpp.so.18.1+0x1cd38c4)
#59 0x00006421ef98bebd clang_main(int, char**, llvm::ToolContext const&) (/usr/bin/clang+++0x19ebd)
#60 0x00006421ef97cfb5 main (/usr/bin/clang+++0xafb5)
#61 0x00007c1aea239c88 (/usr/lib/libc.so.6+0x25c88)
#62 0x00007c1aea239d4c __libc_start_main (/usr/lib/libc.so.6+0x25d4c)
#63 0x00006421ef97d015 _start (/usr/bin/clang+++0xb015)
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 18.1.8
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang++: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: /tmp/functional_test-e6adfa.cpp
clang++: note: diagnostic msg: /tmp/functional_test-e6adfa.sh
clang++: note: diagnostic msg: 

********************
ninja: build stopped: subcommand failed.
```
[functional_test-e6adfa.cpp.log](https://github.com/user-attachments/files/16324040/functional_test-e6adfa.cpp.log)
[functional_test-e6adfa.sh.log](https://github.com/user-attachments/files/16324041/functional_test-e6adfa.sh.log)


[The linked source code on Github](https://github.com/the-moisrex/webpp/blob/f9d3d83908a2bc01b6c6cf82e13a160be2cdc9f9/webpp/std/function_ref.hpp#L328)


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsXFtzo7qy_jXkRYULxMXwkAfHiWdlnWQnJ_Fes95SQmpsrQBiC5FJzq8_JeGb8GVCJrNr7V1TNeV4QGr193WruyWQSdPwRQVw7kQXTnR5Rlq1FPJcLcEtBW8kvJ5lgr2dO96l402-TKeIirLmBTRILXmD_mobhXJewQhdO3hcokoo1LQSEMlEq1At4YWLtkEvIBsuqgaJHE0LUi0cPEVZq9A1YqJy8FhpgdXzgR5LwrrBqCTNcoSuUQYFhxdA12hJXmDVW7R0CQyR6k0LWiBeIbUE5MRe3lZUcVE9Scid2EOt4gVXb0gChUoVb6MOXfdplFsP7gSrq07srf6Z_9LdRshPRv4o6e7MiVyAcoIJek3ipzh0a-oWvGpf3UXVrposJRCGSsGg0A1r0fDXg8Os2wNqYJGTtlDHFJpNrm-uLrU0BY1qHDyb3pJnmGlLOXimL7prGkgxYlw6eLa98KQbjGhdjwRaIaSEavbwrG1024xXDp7RznIXDr5A7uXsdv70-Nvk4eoSuZdfry7u75_uH-5-v5rOnx7u7uZOcOng2TfI6hq51-uvJy45eDYaddd5RYuWgd0oa3nBXAYv7kqP2RODWuPLS-U2kg7vWPCslbxa6N7I5c1bo6BE7-oqSc3ZX42o-iMPkrIQYlGAsU8nZnvhZ8hE7gK5iwC5X0lRIPdrDYxUilPkfoVXJQlyv1JRrR3b_dosCRPfkHvnITevhCtKrtxckhLcWvBKgURuub5eAMn7NxvFnOBS-77xGqzlUFEI6TJOFpVoFKfN4WtfefVCCs7cmi6R-2c359wVJdbFk6wMmBC0JM_wVNPlaPn6Ojo07M8dErm3l8i9nf_4JHZvZz8sZMSQE3o_LKUUrCQ1csUnoKK7vK_FHWjbxbD7m6vJ4xVq2qzkChGUtQskoRZSZwu0VKpudDzFMz1FuFq22YiKUkeF4mX9x62l-AuomYxN0xqVEakYWjuEzjEmMaGM0GclCQWd2moJtRQUmgYYakQru8u6J2kaQTlRwJBsK9RQyWu1ykGPitBnxNqy3kR6b-R46b0UC0lKROSiLaFSWvFfwflXcP4VnH8F5__M4OzrsPbODsEEj2MnmARjHfZoKyVUCtVENiCREs9QIQePneBCfxrpeKB07AST0DfVOJGNXj6sWyK9_tHiZ5uucy3saf3_B8i7C_pTR-1gor9dCPa2USf4sDq8Misu0VYMNYoo0NEfOTjRsscXzvhSf8FpN054ZJzRaOeinvXbofWiaLQ04wY40Z9RN26jdPAhyiKDQc4rbr46eNxJNJB5o4rum7XaCqZ8rW7qBFcHWzg4KUiZMYKIeq8LaZICJ5j4a8FrppGDAw95r57neWPqEyA5DVnqIZPTzfDNW9N9uZe8Uibjzru0nWwbSfLtSTRKAikdHOvUzSvl4LTDssq7Bc-6z5ubP25HjRjplaCDL7zXsRl0Yxetld_TCuOYHdJqWgCp2vqueuSLihQOTtrKLNIZKoSOYO_XQQ9h6YAtHYAkCbxXWmwaW9ICSxqOPALeYWlUi4qNnIASsIkJd8TkAdAkiceoi9aGkEcoyYqaJdDne6KTmAJ5T-hzMxPy6rUmlVmt42S3mym6bgQlytybor2bD6RamLJsa4aJlOTtwfilyY76Wk24dILpttF9l0D_WZktgumO3DmUdUEUzN9quCey1H8RFZUuGCY9Hf5BSmCXQAt9S7vwAQ036uu5029y2xaK38ALFOthJ6vy8IY3aj2scd5MiGL_6wahqLsJ5gTTjbNpf9dDxkc9zqji6ui_6yh-aCxomTiyTZwQSP1hMk0XS2bckwkh5ANl6i6WzHFfZh4N1VN3sWQmtsw09PNwmEzTxZKZ9mWOg_zwlHlss0ZdvVIwFn6sgQ6YJesUdy-FEtqVu8uWuOsqFyt32k6Qx5IUxR9AlZDXZV3Yc-R_W1J0wq5WHT_i0wN90lC04VCHY8_mMAhSQk5wyFWr4Oq1Ljjlqq9bY5O65m3dbD3JbaiHAA5n8xJYS4H1hW3J_QyrbG7ugWg2LG3Bstag32AZaCpjCctUft9UhA6WSWhqycSWzMSLA8IOm1-21Veulo9tnnPKYVUyPNZdyXByLm2579U8L4KznbJoGEVglLXQBDZDY4-Og8NoOn_5yQ7cb7n1n4PxZSO-73fv8a51RhvoEYYii0O7DmHBOEzjwxw-QCOKF5gwJqFp7vK7F5CFIAzYGpFN59VrLU-T0kGwbmtSJpRC09zr-mMX6mQo2sCAsdBGPbQJy8lAmbqLJTPuyUzBH5bqAtPFkjnuySR-eqQ6nMs3HdZ0fJ5utkk-wRDbESZFIb4BW2eB3fb236HW0aAs1HbRQP00pJYvXutFGCn4_5lQ8wj_aqGi0LsHMynKXojSWPam2bYHu6oUV29W7Xh02P_hFbNabsPdbatIVsBONX3ACl1B-yPMYUOMxZxdGlEcYXokrk9JdQ8yF7KcivrNhmaz9m5-JqsdgcY8qjuEGU-Rki0MD_o-NlB2sWKvjzUbWK5i08WSaeXayKcJjOMhMvHYdLFk4p6eAc5hoJ66iyUz6MtMAQ-VmQK2ZIa9WZf0suivWbeadUkvd2I7mxCP5Qk-POsuWl6wWygzkFsCpM3XH6Roj9QchyN4v_Iahscz6lp4eotLCgQfWRxcbzbK4BbKHUi9kmr6559TbTTZ6vr7MLj9Nsf2Dn7WMskAtZjoLYkZ9Xzvu0xsC7v1duEHVp07HH1Glg2N6ha25L9pDYDtzEdgHOMjmwK3RD7vbF-D1GGMfYaJBk48o-MuiMBOaSRI2bGFjAkkuzOmCw3vxnBkTXJ0nq597xPC7f7fIwqswv2pzcuBjBtCLcbtxTUJPZym_1bGrX3QdxrjP9sIhmPLCL0Kyc-DNH9v5bEqYv_2Jcex_aShxYfmxiLPLgXTJNdl8OEFHGM7GXouOo9Keqvuk1XHB-JcbjSyVLYqTZynWeZb9dK9eba5813rRaSxxiRXINf_F3JSsYlSkmetgmYfTNdo38J7I2y2EK-rXBzzi91eMyGN-2tGhxsyMpgtUiKbFOrjMP0uKV-kaGsb9n33CFff7Ta8-yi2vExFpeBVHUJpsdqX0I9zfYf5RJ4MDRZPsc0TSwMIT_L0yMu62HWhY25ymI4-2INOcZKuIy0OBN6TxH3PBMOINbxZxI77xCZ21X9qVv5NKP1cghJ7MdB7luVFaRzS0563fmXhTvYjmBW0Dj6ksJPJoyrXXhDg9uBjiv2Ypju9zwIHZ_BwCwxiODYEWgynPYaJD8kHGP67UDqQDo12l47Q69GRk_j0jJyuXpbZ0NK9h5N8IG3HZjRLHbtW9mKf4NORd71Q6qvz3Ypj385U6HppsIsZHS0QuAcCZ1H-LhDHVvM7-fbnVRs3RMF2xt3w5gO5NDZYLTKCfs0Rpd6vmsPQYPFkb416IR3T7L2p8U6-x4N-NN3tWaDPT_cwTd_jOQc51HcMZIuTqDeRooCdLuKvXhXIihRHy4afxcPAWaKBWEjjPtKcnbb-XNRmd3J_gXVXk3-1cK9k_zWG1bQyi8gDiWhn90qwtoDrshZSmbj6kaioEVgQe7VfkgLdDwSTx_nRZfYP7E1GZjRLHavSColPxtRa086kjiIV6544rVepQFtNRzJwfOwZ-ZYCViESpllGmPXcddqdA5Tdri8FS4XJgYfgPY2Hb07nRoddJSPPZikG32f2ut2os9X1ZRM9k1NYBs8Z7JmxLeXWxUIcYh_yNIlwEiJK_aeScLtA2909WRK53fRfbZxY1_AUvQjODui4dwxk9XgZJ1YBEOGeYmmUkfcIGkeZVQ5FVvIM43zsj6NBJqWmiyUz7L-iygKys980laRZPgAVLyDf1pnU3Hloq0eSQ_FmUfuxPfdDb7-ywAYf9cCnhAx6UOpT08WSGdsysyjC1g4Ik_xlHWc7pyV7038qypJUvd38Xkfd4FjRdaLppPfCjbk8DLOBZGEe9zGnPh2K-XeRNccB_y6yvRdiT70V13_x17z5_X6OVq_q_jhTqW-tDSM7J8QsSGh4TKvLne9WFDwQ_o4x_G9kalgmoAa6xU3ai2kZZKtMsA63a92WpNvK7T1HmAtRrOLJ0cenR-JiCpkV-WPPVmZM8yxCWo13SCN5ZgXE2D43gIOUJsl337LHEU2slXSM-2JYSNHTk-721Cgi1dOegocFM3vHIg56YJnnR6gT-Q64medv4e7eDCYIpBTSnPjR11G-KiAQXflRTngBDH3jaonglWu7MUB-YIzWNoDcF6QEagAQ38n86c89w2-KiKIAdsnl3inNQzAroXT1hLbn61DZLEzXFck_8G_ndwRWx2En8_lk-hua_3aFZnc3N3dfr__xBc2ub64e0fzOXL745xf0cHV_9zB31odQ7w8dZ00aPUGOHmndNJCACs0-MES2v2DwfhbwTJX1_kEgF2LCcrI9UvZpEpvlxwz1SeaqePWXXusgc3gRNUrUNehAi5o2s51_dPh3I6KL41yNCrFwoksHJydOQLcNSJcoRehy9XrwLF-dCfTjAIde6J00iBlkEyWOqtMsP0kb_5QxbWV2P6OL-RJQwavnjVt3QURU6IvR4Lu67fxUyu6x00Lo2JmnLGBJkHoJwRn1_CymMc0TDH5A_NjLAFNG0zz9_uk8HNwEOOmhOGPnAUuDlJzBuT_GfhT74zg8W5574zCjUe4lYT7G4yj0onFOcJzRJKNRGoVn_Bx7OPTG2Pf9IPbCURznXj4O_Tgfg-dTzwk9KAkvRjpDjoRcnJnj7-dpmnjpWUEyKBrzozEYr2YJdqLLM3luDs1n7aJxQq_gjWq2EhRXBZxPt5Nq87Mmmu_vnjg8a2Vx_vFT-53mL-f4_wMAAP__ZuPg3A">