<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/54408>54408</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang crash with -fprofile-instr-generate -fcoverage-mapping: Assertion `AfterLoc.isValid()' failed
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
def-
</td>
</tr>
</table>
<pre>
```
clang++: /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp:901: llvm::Optional<clang::SourceRange> {anonymous}::CounterCoverageMappingBuilder::findGapAreaBetween(clang::SourceLocation, clang::SourceLocation): Assertion `AfterLoc.isValid()' failed.
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: /nfusr/dev-server/dfelsing/code/llvm-build/bin/clang++ -fno-strict-aliasing -Wall -msse4.2 -Winvalid-pch -pthread -march=ivybridge -mcx16 -mno-avx -mno-bmi -mno-bmi2 -mno-fma -Wno-deprecated-declarations -Wnon-virtual-dtor -Werror=enum-compare -Werror=reorder -Werror=switch -Werror=return-type -Werror=non-virtual-dtor -Werror=string-plus-int -Werror=return-stack-address -Werror=implicit-fallthrough -Wthread-safety-analysis -Wshorten-64-to-32 -ggdb -Wno-ambiguous-member-template -Wimplicit-fallthrough -Qunused-arguments -fprofile-instr-generate -fcoverage-mapping -fPIC -Wextra -Wsign-compare -Wshadow -Woverloaded-virtual -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable -std=gnu++14 -Werror -Isrc -I../../ent/src -I../../src -Ipostgres/include -isystem /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20220223071717-16e9b7854d-centos7-x86_64-clang12/installed/uninstrumented/libcxx/include/c++/v1 -isystem /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20220223071717-16e9b7854d-centos7-x86_64-clang12/installed/common/include -isystem /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20220223071717-16e9b7854d-centos7-x86_64-clang12/installed/uninstrumented/include -DBOOST_BIND_NO_PLACEHOLDERS -DBOOST_UUID_RANDOM_PROVIDER_FORCE_POSIX -DROCKSDB_PLATFORM_POSIX -DBOOST_ERROR_CODE_HEADER_ONLY -DYB_COMPILER_TYPE=clang12 -DYB_COMPILER_VERSION=15.0.0 -DROCKSDB_LIB_IO_POSIX -DSNAPPY -DLZ4 -DZLIB -D__STDC_FORMAT_MACROS -DGFLAGS=gflags -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -stdlib=libc++ -D_GLIBCXX_EXTERN_TEMPLATE=0 -nostdinc++ -DTCMALLOC_ENABLED -DROCKSDB_FALLOCATE_PRESENT -c -o src/yb/rocksdb/CMakeFiles/db_sst_test.dir/db/db_sst_test.cc.o src/yb/rocksdb/db/db_sst_test.cc
1. src/yb/rocksdb/db/db_sst_test.cc:927:1: current parser token 'int'
2. src/yb/rocksdb/db/db_sst_test.cc:33:11: LLVM IR generation of declaration 'rocksdb'
3. src/yb/rocksdb/db/db_sst_test.cc:247:1 <Spelling=/opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20220223071717-16e9b7854d-centos7-x86_64-clang12/installed/uninstrumented/include/gtest/internal/gtest-internal.h:1235:57>: Generating code for declaration 'rocksdb::DBTest_DBWithSstFileManager_Test::TestBody'
#0 0x0000000003fe1b8d llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /nfusr/dev-server/dfelsing/code/llvm-project/llvm/lib/Support/Unix/Signals.inc:565:22
#1 0x0000000003fe1c50 PrintStackTraceSignalHandler(void*) /nfusr/dev-server/dfelsing/code/llvm-project/llvm/lib/Support/Unix/Signals.inc:632:1
#2 0x0000000003fdfba1 llvm::sys::RunSignalHandlers() /nfusr/dev-server/dfelsing/code/llvm-project/llvm/lib/Support/Signals.cpp:94:20
#3 0x0000000003fe14c6 llvm::sys::CleanupOnSignal(unsigned long) /nfusr/dev-server/dfelsing/code/llvm-project/llvm/lib/Support/Unix/Signals.inc:361:31
#4 0x0000000003f04d06 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) /nfusr/dev-server/dfelsing/code/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:76:5
#5 0x0000000003f051bb CrashRecoverySignalHandler(int) /nfusr/dev-server/dfelsing/code/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:390:1
#6 0x00007f7fdf19c630 __restore_rt sigaction.c:0:0
#7 0x00007f7fddd89387 raise (/lib64/libc.so.6+0x36387)
#8 0x00007f7fddd8aa78 abort (/lib64/libc.so.6+0x37a78)
#9 0x00007f7fddd821a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
#10 0x00007f7fddd82252 (/lib64/libc.so.6+0x2f252)
#11 0x00000000047e109f (anonymous namespace)::CounterCoverageMappingBuilder::findGapAreaBetween(clang::SourceLocation, clang::SourceLocation) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp:902:41
#12 0x00000000047e1758 (anonymous namespace)::CounterCoverageMappingBuilder::VisitStmt(clang::Stmt const*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp:973:40
#13 0x00000000047ece11 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::VisitValueStmt(clang::ValueStmt const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:647:1
#14 0x00000000047ece37 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::VisitExpr(clang::Expr const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:657:1
#15 0x00000000047eabdd clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::VisitCXXConstructExpr(clang::CXXConstructExpr const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:755:1
#16 0x00000000047e756c clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::Visit(clang::Stmt const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:755:1
#17 0x00000000047e17ed (anonymous namespace)::CounterCoverageMappingBuilder::VisitStmt(clang::Stmt const*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp:981:18
#18 0x00000000047ece11 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::VisitValueStmt(clang::ValueStmt const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:647:1
#19 0x00000000047ece37 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::VisitExpr(clang::Expr const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:657:1
#20 0x00000000047ecef5 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::VisitFullExpr(clang::FullExpr const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:1097:1
#21 0x00000000047eb349 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::VisitExprWithCleanups(clang::ExprWithCleanups const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:1107:1
#22 0x00000000047e7a4c clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::Visit(clang::Stmt const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:1107:1
#23 0x00000000047e17ed (anonymous namespace)::CounterCoverageMappingBuilder::VisitStmt(clang::Stmt const*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp:981:18
#24 0x00000000047e9e0f clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::VisitDeclStmt(clang::DeclStmt const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:97:1
#25 0x00000000047e6c0c clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::Visit(clang::Stmt const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:97:1
#26 0x00000000047e17ed (anonymous namespace)::CounterCoverageMappingBuilder::VisitStmt(clang::Stmt const*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp:981:18
#27 0x00000000047e9de9 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::VisitCompoundStmt(clang::CompoundStmt const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:73:1
#28 0x00000000047e6bac clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CounterCoverageMappingBuilder, void>::Visit(clang::Stmt const*) /nfusr/dev-server/dfelsing/code/llvm-build/tools/clang/include/clang/AST/StmtNodes.inc:73:1
#29 0x00000000047e01ac (anonymous namespace)::CounterCoverageMappingBuilder::propagateCounts(llvm::coverage::Counter, clang::Stmt const*, bool) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp:694:34
#30 0x00000000047e1944 (anonymous namespace)::CounterCoverageMappingBuilder::VisitDecl(clang::Decl const*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp:1005:5
#31 0x00000000047e5d78 clang::CodeGen::CoverageMappingGen::emitCounterMapping(clang::Decl const*, llvm::raw_ostream&) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp:1761:15
#32 0x0000000004759432 clang::CodeGen::CodeGenPGO::emitCounterRegionMapping(clang::Decl const*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp:896:11
#33 0x0000000004758f54 clang::CodeGen::CodeGenPGO::assignRegionCounters(clang::GlobalDecl, llvm::Function*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp:831:3
#34 0x000000000467d2cc clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp:1417:29
#35 0x00000000046a8fd9 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:5073:3
#36 0x00000000046a18da clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3323:28
#37 0x00000000046a094d clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3073:5
#38 0x00000000046ad03a clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:5922:37
#39 0x00000000046acf28 clang::CodeGen::CodeGenModule::EmitDeclContext(clang::DeclContext const*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:5889:28
#40 0x00000000046ad19e clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:5947:5
#41 0x0000000005798ef4 (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/ModuleBuilder.cpp:178:7
#42 0x0000000005790d46 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:232:11
#43 0x00000000071d19a3 clang::ParseAST(clang::Sema&, bool, bool) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/Parse/ParseAST.cpp:166:20
#44 0x0000000004e7337b clang::ASTFrontendAction::ExecuteAction() /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1083:11
#45 0x000000000578e4b9 clang::CodeGenAction::ExecuteAction() /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:1107:5
#46 0x0000000004e72cbd clang::FrontendAction::Execute() /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/Frontend/FrontendAction.cpp:980:38
#47 0x0000000004db6500 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1036:42
#48 0x0000000004ffc416 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:263:38
#49 0x0000000000bf9c26 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /nfusr/dev-server/dfelsing/code/llvm-project/clang/tools/driver/cc1_main.cpp:248:40
#50 0x0000000000bee56d ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) /nfusr/dev-server/dfelsing/code/llvm-project/clang/tools/driver/driver.cpp:317:20
#51 0x0000000004c921e5 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::string*, bool*) const::'lambda'()::operator()() const /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/Driver/Job.cpp:407:32
#52 0x0000000004c9274a void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::string*, bool*) const::'lambda'()>(long) /nfusr/dev-server/dfelsing/code/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:40
#53 0x0000000003efa592 llvm::function_ref<void ()>::operator()() const /nfusr/dev-server/dfelsing/code/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:62
#54 0x0000000003f05383 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) /nfusr/dev-server/dfelsing/code/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:426:10
#55 0x0000000004c923d0 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::string*, bool*) const /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/Driver/Job.cpp:407:7
#56 0x0000000004c41bfc clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/Driver/Compilation.cpp:196:22
#57 0x0000000004c41f21 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/Driver/Compilation.cpp:249:53
#58 0x0000000004c51598 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) /nfusr/dev-server/dfelsing/code/llvm-project/clang/lib/Driver/Driver.cpp:1617:28
#59 0x0000000000bef647 main /nfusr/dev-server/dfelsing/code/llvm-project/clang/tools/driver/driver.cpp:489:39
#60 0x00007f7fddd75555 __libc_start_main (/lib64/libc.so.6+0x22555)
#61 0x0000000000beceb4 _start (/nfusr/dev-server/dfelsing/code/llvm-build/bin/clang+++0xbeceb4)
clang-15: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 15.0.0 (https://github.com/llvm/llvm-project 30a0fbf51f4f826a47766c276bd493f71cfeeacc)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /nfusr/dev-server/dfelsing/code/llvm-build/bin
clang-15: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-15: note: diagnostic msg: /tmp/db_sst_test-38c263.cpp
clang-15: note: diagnostic msg: /tmp/db_sst_test-38c263.sh
clang-15: note: diagnostic msg:
********************
Input files:
src/yb/rocksdb/CMakeFiles/db_sst_test.dir/db/db_sst_test.cc.o
src/yb/rocksdb/db/db_sst_test.cc
Output file (from -o): src/yb/rocksdb/CMakeFiles/db_sst_test.dir/db/db_sst_test.cc.o
```
[db_sst_test-38c263.zip](https://github.com/llvm/llvm-project/files/8275768/db_sst_test-38c263.zip)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztXFt3m0gS_jXySx90uF8e_KCbHe3KllZSMsm8cBpoZDYIOFwce379VjUgAZIdO5Yvs5OMR0J9qa76qqqruqFxYu_-vKeL1Z847okDN6TRpicP8U8ZkJ58EflFlsK3x26FjKW3jP_wWZgF2PLCjT0GX2F4uxWSNP4vc3MsLelchIEDnyNoc8kifgUE6IZd0SSB_lDYd5MEhrJECQdEMvANf_MkD-KIhj1lVBLjpau4SF22hN-sp0xIzxjSKI7ut3GR9Yxx2WYUF1HO0s5QwyIIPWCeN_GDyLukySBldMjyHwx5Mw-GmcUuRSZ68og8Umkh44MMwMHfBLAc-DA-NOgH2RcaBh4Qx2ayQXwahMzrl2AvZpPBakKywtkGOaHEKTYkZUmc5iSPyU2eJxmOKF_A3ybIbwqn78bbCuxDzIMsK1gGF4RGHgkiNyw8RvIbRtyUZjfEoe73PKUuQ3kSGCiNXQZseyTjEmEx9qRZFrsBzaEiLSKSuWmQ5BXLqxyIEK_Yos7KIhGqrEUab1K6JTTdFFsW5dkvWI-DGoIfThDtLQgtkQh-FAtZngZuLgCeFDsT4Q8ahkTYggRqX4afQXSLYAuJe0OEJL8B5XpQT1P3pqeMg9t7Jw28DYMi907S4QuI0tu78gJUsLuQyyt_S4EqXHgAFXMRELgEvlKu-IxXRsJtkOYFDQUvj1MoYmkag5WNWVRsBVBXQlPWKE5ZnIIZNkqyH0GOHDea5EUaCfl90uz4yFCITLQRkrDIhCDKD0llqDWBel4K-m5UB9skDNwgF3yAEgCLiw0yUkInZNRn-b1AwQnvswD7ZTdgmywSdFXIY0EBnDYbzylBolsn2BTgh8KWbR2WCjkD6gAaauboOP8pogKsT9jZDOgZbNIHDwExQChhwyJwYSThu5U3gz65O0PRYjpCWe7AppG3YBM18M5uqBf_gAvsF8bUg4Eq-Ep-t-AuiJofsNCD8YI8AOv5i6WlXoWKOSBHtyznGtuX3tI0oE4IA2W5B0BuoqI0VUmt4SXCNEtd-Oz3wZr5B8gIn93S8ncSZ_km5e5be64QZPcZoIh-FCfY9d7ZOUl-E6QeMJffY3mxoc59zgTPEfYVwq0syviniIYE_wmSzizHMDXVE1zgJc4M4c7UbdAmdzZJ5oODsYQwR8F1EXE1cOXwApjN3bu7PYvoplWwkC9upffnGPS_xSn5A2O442w8nM9Xa3s4vR7b13N7MRuMJp_ms_FkudpVfv48HdvLwfV4fmUvlvMvU6i1L-bL0cRezFfTr9BwOR_9ezUeYv811FztKkoKk-VyvrRH8_HE_jQZYPf59ewbVH8bQunVYjqDovW3xQSsuJKgU_kFGJrOr6Fe0vpiX2yMOZsO7el8N-LqerBYIO3Zn-AG4z-hGr5se7Uej5Drq8HavhqMlnMU8PJiNrhcoe_4Id1k2BDajxYLe3I9GM4m9vrTEhi2V4OLyfqbPbi-nq8Ha2BkxZ0OEwtljAZZx4ixfYkEvn61J1_Xk-W1vZ5cISgoGTAdgYN5AP6u-Xp0NZjN5qNqvHFDrgteAV0B9Mlqcr0mAvhoTMBVuQXBB8TO75nHk5sr-p1dwKSFvus5dpblds6yvO8FPNg5nWLX7T9A6UjTMsRKGGKf3AWSKdmAT55QuUWagukRsGaIv5BXfGeQoshGgHORUZKXn0leUZA6Jz-bfbki0yWpZmrMf2KfNKIkjrWjV42nPHM8WeXiEEgFVwkLQ0wdlPFH82hM0pBnXgIBA3PXqkioC_o3KIisaPClgVATxPCywg6CGqZDxIfg8QCCPP8cD9dA0x4P_4CccJXlaHtXEKU3LLWxpmyFV0PI8HeoAx1FJOKdWP9TfCY5ptfIuWGuLC8WkFDkPNdblwmjuW-U0h82-BKkCJCD6pg0cluyfn2xUKezfK2wKhLMgOHqcxRgrFlBYKdh1kffBdR0xE6W9zJJXZlcTSQdAUoanyC7DZEl8zbGpHzwZlzriswdcse03Gba8x0qHVPEsohavGflUuLkXNfsVosxFTEW9-wqXYxVVz_G7ihkNCqSecU0MFtEmJjBUiKMkas3wlvRcXZSGoCrbQlE1RN1KDd3y0cSQZ6XJdzarUoaXDYtGU8970cx-PBdPoVUtqwtNcLbAB3uAyPy6uIe46nSmqGjf-xF1joia5LjkFb_rlu8kiM_wrNiiW3H0CumDd8Ar5AsV4dJy7YhM4Y1D7NhaQwAUxcnxj5qWuT_77obze6eZ1qKaZCUBhkj3HOQN12tUtl-FvdhAhuKd4oO7VDvO0JmhxClhkmog2vzRwkZ0K5FyOoQkiWqg0CU7xfYuB9gO_Qn7Mk-dNpRxTlP7FKVNfknJKBFi0Rr3lQNJomW_1OPeOutlTfdgcI5WpX2CMldhAzNPAFCX4IsgNi0zTvAQAkkABFmEC-LTM8X3cCMThX3oisd0V0G9tJhlssRp0OwXsjM9tFgC_mwzQWxkzxFDb8IM-jPwzVPlmr4vtCwYIcY7opfAuQumYzjMGvA2Vj0ViWD1RonOhjvGvrvgn2Zru7BVA_AhHnqA4E5uUvSNo5Y8q4Qah0ItQ6E1PG8jwQhLDtHMV8WuEfg7Na-J7SGprWh1TvQGprufiRoTztLnhw-4yBIQPb3fxkkTMypJXMvuvk7SJwuSFi_g8QLg4QsHkDoax8JwosiDA9hrEvfE0rI_TtYdlcHjqJaHwlLRAz3v6odh-zQNJu174qtJHaw7a4rDKr-jrjPwK-7OPnnhFy5u5SwmOh_JNMZMzc8hLAufU8z6k5w3RWF7oq_nfDJ6HUXDf8gF-wm_JbHPlRkHMXbBHp5hzA2a951DaW0jam7jtAd-tsVn4xed-EgSoDey10RfCahG5oz3jZr3QKsH8ZpEetu5bZhGhEH5H1b39X5fSxF3WGldFcIkqWqp5q2MMgdhr13mrYkUeT3mPeidxN6zTNM0pocSqLVjy7dspxtcX7heFRVj0o8atwj7N42flM0DH4_UGrA0cnBNUuFoofh4D8Wl_MDGJZsE8TRU8B4FYFrvipBTUvnGfNezk6urJm-pj5ZTprh3cxSxErezkLrMowdGpam39T2RRG55S2ct5Jc4Xd894K3M2Xd8GTX_ZngO65L2aqnD0ecs2dLPXp4tMu64TTy49pEXssnWpLVDqFKmNA1bge27xarOjV9z_oZXlexV4RVFJiAT5S41GONmc8fq4yjp6FXlvPduVc2m5LvCgtN5BG1YTp6BwrJ9OivQfE3gQCmQ4RA3me5itHBQLRU79cweFjyt5KuVHBj8jc7wnmi8mwFr-Nkxm5ZeDzsv6kBWzLeuVaMvYBWR0DXlx8L9kcFRDGqhzUO5asq3iS8tYU1TattqqrY1aZksb-zNvmdgb21qq3MTTMsk_lPSFo5ZYxfcdp9ZulxYS_TuEiWzH8ViUtRq-R5l52Z8Lm3XlXuCCx6qt5U6JC631nk4S3VYlvn4O8uWnU1aMZZuXzub5-Pqa18zJDAVqnSlG2Bz-nyhV9rzcm2tHrYslxGnXw5xcetv2H8Wjc6JpTy_skQtZ1XMQNChdMUAPpepDg7RN6gkUxN7phb5KwqeuFDjG3W6-Ealy0lSKKpdLSgtS3MZKpzLNl5IwEet6Fq_7sxIegdFciu04rNj-D_tshbJj6epzTm6nZa4Tm6Jopt4LdJELJ0ig9cRy47jv3Dsp40i26I1-VrZ1oK-ocq7yVs5xa-76pSa_KqZNkTvN097dbdq2sBcdIQVEu25pPIxYM81dOYrnT02EowRMe3XBmkdCV7S_H0XmOvaJCm9B7nXGXk3tDGXU5lwtdIrbJ6--1EwtZbbF4alD1rDmu5VIw8jefeNLEtF2Oa7pEanpFU4tWQbrWlYfgFRq2j7BEhT2OSB7KUF3WOW67nGpK093tcS5ZY62Z4Rac0tpEEut9CBO1OFkf1ePSQbgMTfhyRN52QSs38mBxWlmcVW1uCXNclYrxJTzZCunU8ikcXypOzvDxOynSmPk1r7vqdyi3GNbb_ip0KWJVPvsrewTW5C6yhUm61jXWcXy2B7ZQDxmtrUaqdZRcMB0_k2n7UPuL891LMBHk50bPu-x3wqmAw5hvg61m9pUDDCR73zPg5GlXvOG_7lALzKayMnqeU1zCxXxNOx5lJb5hd9wCDpphKQ7hjz9iXNXiEhAKT9y2reRyMtz0EoMp817KhSa3rY4onfvTJ69Unof0KSWtngJBiOL77ID48qtODVLAGrZV2dDpig8b-5OiRMZpNB1XQex1cGgLVaRjf9pYb3mJ0AfJl6bkAAf7Zw-hA7SzI8hY6j-UFOyNKaAAkRtWBoacCWlvjm-Iqqxh6tf3WqNbObl1N0izzIRnGjetWhnkk3X1IH2-L66kRHTdTNEkvc7R9Fq11smjm67BAwvz0tdNFlW-iKfvtf71zoMjQ4B-xbTxEZMMKJM3tiq9HjhjJ0Kd5xEiXOvK5zFFJSa6idJL3g_DRS-q74Xm1IOFNUFK97mJQGgXxq8UPcStjKF_KQn4E-Q1hd0FeHsOVFL7LVmSMCLf4QpaMMRI0lmvNkQhwnuFh3eqMPHR83vtbiCJS0Xd8TfJV35R1qhqGrruyoTueaim-Ibk-Y9R1d-OuabphGONJdVy5iL5H8Y9ICIOouBPwlRRlu_JFKFuQCXcBSRJnwV1ZNa2PNY8Djs8LFHIAehTnuHonXkA3ePY-cMk24x5ZmccL_koKzXfoDNbrwegTWX-akIv5bDb_Y3p9SS6ms8mKrOe8ePj5kiwni_lyveNhcewdOGaGM8GD78HZNUgZCWP-UhhC8x3JJyGAOOfbpNc66i4oJqyhFe6gJyKV3TxfLSdVzjRKipz4_N0I9QjkdG9ReJTggy9TmBd5zRW6KcwGWyLE1WucTsxb5-1aPW14RE1_BUlPGz97xoCffsWTKRuaoZvHrQDJy9aZd654lmLRszzIQ3Y-4rNW-WIoPvE94907vee-7-qsSMPzX3-flaaqonl2c-7jc-m-bpq-aJgqUwxXUS3mmQ4VJc833LOQOjBRnQPMPVmO2A_CScA14HsWnPMXPyiSjmQkqa-YouoZVGGiJamQH_ZUkUGQC_vIRz9ON2fpeTXPbTKoDCHdy_aV5cMRjPHhgD4t8ps4PfeYL5zxcc853_8DQsxyKg">