<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/97483>97483</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang] Crash in clang codegen after CXXDependentScopeMemberExpr change
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mikerice1969
</td>
</tr>
</table>
<pre>
Attached test crashes in clang codegen after fd87d765c0455265aea4595a3741a96b4c078fbc. The test has been creduced from some 600,000+ lines of preprocessed Windows blender code. The crash happens in the same place in the full code (but the expression is used).
```
t.cpp:66:21: warning: expression result unused [-Wunused-value]
66 | void bl() { bf::l &m; }
| ~~~~~ ^~
t.cpp:143:6: note: in instantiation of member function 'bk<3>::bl' requested here
143 | r->bl();
| ^
t.cpp:133:26: note: in instantiation of function template specialization 'ci<int, int, int, int>::decode<f>' requested here
133 | bg->bc(cz.e(), decode(da));
| ^
t.cpp:117:3: note: in instantiation of function template specialization 'ci<int, int, int, int>::cn<g>' requested here
117 | cn(cm);
| ^
t.cpp:157:4: note: in instantiation of member function 'ci<int, int, int, int>::operator()' requested here
157 | s(bq, db, y, dd);
| ^
t.cpp:162:5: note: in instantiation of function template specialization 'de<int, int, int>' requested here
162 | de<int, int, int>(df);
| ^
t.cpp:87:15: note: in instantiation of function template specialization 'v::operator()<h, h, float, 1>' requested here
87 | bt.template operator()<j, j, float, 1>(bq);
| ^
t.cpp:168:3: note: in instantiation of function template specialization 'bs<v>' requested here
168 | bs(bq, bt);
| ^
Unhandled DeclRefExpr
UNREACHABLE executed at /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExpr.cpp:3180!
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: clang-cl -cc1 -triple x86_64-pc-windows-msvc19.29.30154 -emit-obj -mincremental-linker-compatible -disable-free -clear-ast-before-backend -main-file-name image_vdb.cpp -mrelocation-model pic -pic-level 2 -mframe-pointer=none -relaxed-aliasing -menable-no-infs -menable-no-nans -fapprox-func -funsafe-math-optimizations -fno-signed-zeros -mreassociate -freciprocal-math -ffp-contract=fast -fno-rounding-math -ffast-math -ffinite-math-only -complex-range=basic -mconstructor-aliases -fms-volatile -funwind-tables=2 -target-cpu x86-64 -mllvm -x86-asm-syntax=intel -tune-cpu generic -fdeprecated-macro -ferror-limit 19 -fopenmp -fno-signed-char -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.29.30154 -std=c++17 -finline-functions -fskip-odr-check-in-gmf -fdelayed-template-parsing -vectorize-loops -vectorize-slp -faddrsig -x c++ t.cpp
1. <eof> parser at end of file
2. Per-file LLVM IR generation
3. t.cpp:66:8: Generating code for declaration 'bk<3>::bl'
#0 0x00007fc423b55f6a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /export/iusers/mprice1/community1/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:22
#1 0x00007fc423b563b2 PrintStackTraceSignalHandler(void*) /export/iusers/mprice1/community1/llvm-project/llvm/lib/Support/Unix/Signals.inc:798:1
#2 0x00007fc423b53ba7 llvm::sys::RunSignalHandlers() /export/iusers/mprice1/community1/llvm-project/llvm/lib/Support/Signals.cpp:105:20
#3 0x00007fc423b55932 SignalHandler(int) /export/iusers/mprice1/community1/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
#4 0x00007fc4233efdb0 __restore_rt (/lib64/libc.so.6+0x59db0)
#5 0x00007fc42343c42c __pthread_kill_implementation (/lib64/libc.so.6+0xa642c)
#6 0x00007fc4233efd06 gsignal (/lib64/libc.so.6+0x59d06)
#7 0x00007fc4233c27d3 abort (/lib64/libc.so.6+0x2c7d3)
#8 0x00007fc423a3e827 bindingsErrorHandler(void*, char const*, bool) /export/iusers/mprice1/community1/llvm-project/llvm/lib/Support/ErrorHandling.cpp:222:55
#9 0x00007fc42be3808d clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(clang::DeclRefExpr const*) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExpr.cpp:3181:1
#10 0x00007fc42be2e9fb clang::CodeGen::CodeGenFunction::EmitLValueHelper(clang::Expr const*, clang::CodeGen::KnownNonNull_t) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExpr.cpp:1552:50
#11 0x00007fc42be2e641 clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*, clang::CodeGen::KnownNonNull_t) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExpr.cpp:1505:22
#12 0x00007fc42be2e3d9 clang::CodeGen::CodeGenFunction::EmitCheckedLValue(clang::Expr const*, clang::CodeGen::CodeGenFunction::TypeCheckKind) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExpr.cpp:1472:20
#13 0x00007fc42bebdb33 (anonymous namespace)::ScalarExprEmitter::EmitCheckedLValue(clang::Expr const*, clang::CodeGen::CodeGenFunction::TypeCheckKind) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:255:40
#14 0x00007fc42bebddf9 (anonymous namespace)::ScalarExprEmitter::EmitLoadOfLValue(clang::Expr const*) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:303:32
#15 0x00007fc42bebe9ff (anonymous namespace)::ScalarExprEmitter::VisitDeclRefExpr(clang::DeclRefExpr*) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:523:30
#16 0x00007fc42bedbd48 clang::StmtVisitorBase<std::add_pointer, (anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) /export/iusers/mprice1/community1/llvm-project/build/tools/clang/include/clang/AST/StmtNodes.inc:456:1
#17 0x00007fc42bebe10e (anonymous namespace)::ScalarExprEmitter::Visit(clang::Expr*) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:422:57
#18 0x00007fc42bec8530 (anonymous namespace)::ScalarExprEmitter::VisitCastExpr(clang::CastExpr*) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:2479:17
#19 0x00007fc42bedd415 clang::StmtVisitorBase<std::add_pointer, (anonymous namespace)::ScalarExprEmitter, llvm::Value*>::VisitImplicitCastExpr(clang::ImplicitCastExpr*) /export/iusers/mprice1/community1/llvm-project/build/tools/clang/include/clang/AST/StmtNodes.inc:516:1
#20 0x00007fc42bedbe08 clang::StmtVisitorBase<std::add_pointer, (anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) /export/iusers/mprice1/community1/llvm-project/build/tools/clang/include/clang/AST/StmtNodes.inc:516:1
#21 0x00007fc42bebe10e (anonymous namespace)::ScalarExprEmitter::Visit(clang::Expr*) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:422:57
#22 0x00007fc42bed95ab clang::CodeGen::CodeGenFunction::EmitPromotedScalarExpr(clang::Expr const*, clang::QualType) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:5516:64
#23 0x00007fc42bece645 (anonymous namespace)::ScalarExprEmitter::EmitBinOps(clang::BinaryOperator const*, clang::QualType) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:3467:14
#24 0x00007fc42bec0612 (anonymous namespace)::ScalarExprEmitter::VisitBinAnd(clang::BinaryOperator const*) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:871:3
#25 0x00007fc42bedb2fb clang::StmtVisitorBase<std::add_pointer, (anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) /export/iusers/mprice1/community1/llvm-project/clang/include/clang/AST/StmtVisitor.h:68:26
#26 0x00007fc42bebe10e (anonymous namespace)::ScalarExprEmitter::Visit(clang::Expr*) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:422:57
#27 0x00007fc42bed93a5 clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:5485:1
#28 0x00007fc42be279f2 clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr const*, clang::CodeGen::AggValueSlot, bool) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExpr.cpp:229:23
#29 0x00007fc42be278e8 clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGExpr.cpp:204:29
#30 0x00007fc42c077bc4 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGStmt.cpp:130:56
#31 0x00007fc42c078fea clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CGStmt.cpp:514:3
#32 0x00007fc42c140cf6 clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::Stmt const*) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp:1300:33
#33 0x00007fc42c141cdd clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp:1526:21
#34 0x00007fc42c172941 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:5900:3
#35 0x00007fc42c16aec6 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:4100:28
#36 0x00007fc42c166b76 clang::CodeGen::CodeGenModule::EmitDeferred() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3197:31
#37 0x00007fc42c166bc4 clang::CodeGen::CodeGenModule::EmitDeferred() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3199:7
#38 0x00007fc42c166bc4 clang::CodeGen::CodeGenModule::EmitDeferred() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3199:7
#39 0x00007fc42c166bc4 clang::CodeGen::CodeGenModule::EmitDeferred() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3199:7
#40 0x00007fc42c166bc4 clang::CodeGen::CodeGenModule::EmitDeferred() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3199:7
#41 0x00007fc42c166bc4 clang::CodeGen::CodeGenModule::EmitDeferred() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3199:7
#42 0x00007fc42c166bc4 clang::CodeGen::CodeGenModule::EmitDeferred() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3199:7
#43 0x00007fc42c166bc4 clang::CodeGen::CodeGenModule::EmitDeferred() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3199:7
#44 0x00007fc42c166bc4 clang::CodeGen::CodeGenModule::EmitDeferred() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3199:7
#45 0x00007fc42c166bc4 clang::CodeGen::CodeGenModule::EmitDeferred() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3199:7
#46 0x00007fc42c166bc4 clang::CodeGen::CodeGenModule::EmitDeferred() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3199:7
#47 0x00007fc42c15a80b clang::CodeGen::CodeGenModule::Release() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:845:23
#48 0x00007fc42c3240a5 (anonymous namespace)::CodeGeneratorImpl::HandleTranslationUnit(clang::ASTContext&) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/ModuleBuilder.cpp:291:11
#49 0x00007fc42c123928 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:283:9
#50 0x00007fc41d3bdef0 clang::ParseAST(clang::Sema&, bool, bool) /export/iusers/mprice1/community1/llvm-project/clang/lib/Parse/ParseAST.cpp:183:14
#51 0x00007fc4289ec228 clang::ASTFrontendAction::ExecuteAction() /export/iusers/mprice1/community1/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1192:11
#52 0x00007fc42c12801f clang::CodeGenAction::ExecuteAction() /export/iusers/mprice1/community1/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:1147:5
#53 0x00007fc4289ebb41 clang::FrontendAction::Execute() /export/iusers/mprice1/community1/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1082:38
#54 0x00007fc4288ee589 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /export/iusers/mprice1/community1/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1061:42
#55 0x00007fc42e24297b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /export/iusers/mprice1/community1/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:280:38
#56 0x000000000041df72 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /export/iusers/mprice1/community1/llvm-project/clang/tools/driver/cc1_main.cpp:232:40
#57 0x0000000000410391 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) /export/iusers/mprice1/community1/llvm-project/clang/tools/driver/driver.cpp:215:20
#58 0x0000000000410886 clang_main(int, char**, llvm::ToolContext const&) /export/iusers/mprice1/community1/llvm-project/clang/tools/driver/driver.cpp:256:26
#59 0x0000000000446cc5 main /export/iusers/mprice1/community1/llvm-project/build/tools/clang/tools/driver/clang-driver.cpp:17:20
#60 0x00007fc4233dae50 __libc_start_call_main (/lib64/libc.so.6+0x44e50)
#61 0x00007fc4233daefc __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x44efc)
#62 0x000000000040f7d5 _start (/localdisk2/mprice1/community1/llvm-project/build/bin/clang-19+0x40f7d5)
t.sh: line 1: 3845825 Aborted (core dumped) clang-cl "-cc1" "-triple" "x86_64-pc-windows-msvc19.29.30154" "-emit-obj" "-mincremental-linker-compatible" "-disable-free" "-clear-ast-before-backend" "-main-file-name" "image_vdb.cpp" "-mrelocation-model" "pic" "-pic-level" "2" "-mframe-pointer=none" "-relaxed-aliasing" "-menable-no-infs" "-menable-no-nans" "-fapprox-func" "-funsafe-math-optimizations" "-fno-signed-zeros" "-mreassociate" "-freciprocal-math" "-ffp-contract=fast" "-fno-rounding-math" "-ffast-math" "-ffinite-math-only" "-complex-range=basic" "-mconstructor-aliases" "-fms-volatile" "-funwind-tables=2" "-target-cpu" "x86-64" "-mllvm" "-x86-asm-syntax=intel" "-tune-cpu" "generic" "-fdeprecated-macro" "-ferror-limit" "19" "-fopenmp" "-fno-signed-char" "-fno-use-cxa-atexit" "-fms-extensions" "-fms-compatibility" "-fms-compatibility-version=19.29.30154" "-std=c++17" "-finline-functions" "-fskip-odr-check-in-gmf" "-fdelayed-template-parsing" "-vectorize-loops" "-vectorize-slp" "-faddrsig" "-x" "c++" "t.cpp"
```
[testcase.zip](https://github.com/user-attachments/files/16074381/testcase.zip)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsXN1znLiy_2vIiwoXSHw-5GE8trOpk_24cXb3vLmEaGa0AYkjCa-9D-dvvyXxMYDHsR07vrupm0qNQUDTv59a3Y1QQ7XmOwHw1otPvfjsDe3MXqq3Df8MijMI8yR_U8jy9u3GGMr2UCID2iCmqN6DRlwgVlOxQ0yWsAOBaGVAoarM0jJNYhZEcYyTmAKN4jymJI1CmidFxII0qwp2gj7toZe4pxoVAAIxBWXHoESVkg3SsgGUBIGHt4H9PUU1F6CRrFCroFWSgdZQot-5KOWfGhU1iBKU06eX7lRFe9q2IJzCZg9I0wZQW1MGY0vV1bW7Cnk4KzrjGuGmVaA1lwJxjToNpYfzEy8484LN8JsEw3-3a05Y23pkkyQe2eDQIxv0J1WCi53dnIlToLvaoE5YociLT_3f-23_mtYdePFZLxAhlCTIS7cIoWvJS1TUHs48nCMvPUVF5ZGNRzY18nDSeOQUeenhQoTchf-1_5AXn_93qWMYEaupVUxIA_YvF4gLbagwnBqrpqxQA01hu7QTzDV5OC0-e2RLPHLe392qlCIF_-lAGyjRHhSMSoQRGbRXvkfOR-09crpW04vPV_oRqx9-UMFJMwNNW1MDSLfAOK35X3TUmHGPbLkwHt6iu39GICVYA_DItrJN92MiPaZi5yAxD2fsrxMYkOEtGuTgrKSu5XFww9QjG_J6aJnwyHb3ZaRhOvQeExZls8DSH7kLJLZAoq-wq8fpLVtQ1Eg18n2v8vGovLZD-j-uZwr7e-s2yyNgjqBJsEc28Ut0izOto7jux5DgUTP0hcuzsjpuZUchZanrpZeAdH20S8h2b7VzP1UtqdM1_BLQbOyqwpxMt7sj9Q8r548jUl3vPm6UJdlLjbJCe2R7_UD3ZSOugw0W5r6-mrT9VeypKGso0Rmw-iNU5zetGg799PF8s_1hc_rhHMENsM7ekxrk4Qu4aaUyHr7gnQalPXzRtC6Ie_iCyabpBDe3dqeurxu_VfIPYPZ0F8FtMy88fLGVJbwDYbfe2dsOxJEwCzwc9kr88uF8c3mOdFc03CCKim6HFNi7IyPR3phWW8PAFx6-2HGz74oTJpvhzncV4Fp3YPVFVJSIC1Z3JbgA3AfvgrLPRlEGlr5F2NeyU32zvZJqLRmnlhHVCaSZ4q0ZwvWloewzKrvGgumbghMvyH9Rcqdog6jadQ0IYxXvcxqf1chnLES-UbytAd1kyVUS-S3z_-yzDb_R1yzMT3B-QoIwjpAPDTe-LP5AfsMFU2Al0tqvufgMymeyaanhRQ3IL7mmRQ1-pQCQz2qgyqfa-AVUUoFvIYMokd9QLvyK1-ALm7Pwhu7g6rosbLcgv1FQS-ZM0m9kCTVqOUN-y5lfwzXUCCO_qRRtwG8lFwaUR86EFIB8BTW9gdKnNaeaix3yGxBOJSF9Liq9aBBUaORXtG2VvPHt8ED2V9MK_IaavS9bw5thdNgzhfRdZln6f4GS2qk69Q-ysBm3_Uhrdz3yq6r1mRS2n41HziqqTS9GyU6UXOym8yxN4zYX3IwaiPoWOY5ruPEVFTvwyFlBtWWkYVJoozpmpOohg9Wy0f61rKnhtkuqTtiO9Y0FrT1yhpFvqNqB8Vnb2e73kwj5jbVe5Ntdqhtf3wpDbzxyZumtkW86Ae78HQibQyO_KqFVwKxd-g1lSiK_AqWk8mtux0-YI7-SLYimXRDH9lT1DZ0Gn91Qnxq44abXG24MCD2w3ejJuHjNze2RJv8alD3dI2cLk9Wm9MgZ8_Cph0_DFPkVFzbH9kcfaOXrz7z1Zal8tgf22efC3zWVQ1bTWyj90U36LVW9MV2DpZr_BX4tZavnDbq2OGlZKs13yL9Bw81R76Td2Azt2PTIFqTNxZAVC8r6OTsorIPm9eBlsRvFoNwgQR8-_PYjev-xJ98ZY38WsWctsnMbB9C74bThCQZVUtnsraaKfinZHXMGTAIU3ARBEKQVizAp4rhKKHJezp2tb3W_8Yviwjgf9Kl3ZNnhJEX_vJLaKKCNh5MpvOfP8emjo3Uu_bJrBym_Cn5jG_hO0FqfcME8skmxS7TxAVW4QpWQAqMVhF7GDy5O2RBtn048vHlNvXPbh-FBbbxSmxQ0PdYZHzux0F6Pj1Qvrveo8JB8BDbpwsFBY7I2n5xgtGb2da0hCsmS1WihI4GqLAJ0daVAG6ngStncI-ulJ1H_l51oeZJ4-DS4ifOyCGzCM8mLF_IiwiLM0NVVa_YKaHn1mdf1FbdO3AXPYRjefwOaRJgtbpDcUThI0E47lA_pGiQLUelSFMNpSRAt5AOgMUtLshCULQRRAhlOUcFdYNPnNhgcGUlb5EKAC11DQyFl_W2M4aAEF7vBYDF2Dz_xAUc-x1EAyYKs7NOlfmiN2eN852IIJH3jecPNkNV--M3NdeBsJmCW8M6APwvwY_Pb8GD31gcGS6gY8qp4OtQe4w9Qt65vZ9evIG7vlf0vIf8UP0nxU1fXV891BY8iI4xj1_HBgY1wzUYShV_Lxj-Ih95j4wMPeM0DKfOn87C1aRSUz6LjqPBPty044f_ionwViqIUz4KapYgsKSrKghDrLqmQ4raRnUb2UUa3Lg_Ke70vGa2psnItPe455Tviqkc3OtXY2lQ0IyxaE1ZW-TMI-yBp-fNR5_p6XnWBmAQ2pSCzURSvEENeVV-J-Deup4DipknuCyevCjl2OTWZdXKyhFwWZZTN7fXSNMZhkeqUavDI1j2Z2UO0LK_Gx3e8fTpPeDvLggez2ExPNO6mS9asLs-nq-h4XXr4wkhZ6xl9wwTPrGVz-cnmIqYxP8kSpkw0TpYROV1bTRjAc6zm7uB4VRuJ-uwqPQDMlgBZFpPgOQC3VJu7Y-LQ-opgcZRahcMZ2lUuWZZRGP99RsT7pq05u4_Du0f_r0dLHC5HCw7WDgeC_3c4T6Mw_M4dDl5ls2Ue0694xvlFyUYaKA_QH5-m_U9Ha5uIvWJo7rs5iQ40rDJWBkkUPyMBO-Xi51YvOTjlgqrbn4dXWn8fNkiUuNeBMzZW6SgLkhA_x-pPudjYBPtRdLwW7iwN3YvACXW8dpd4-bj__bnLx7jHAfHJ3o6YrF-PMVGWfO_uMV27R0Ljp7vHR7vFF5jce4ofjLJ4Ge5W6SdO8wo_He5G3D4tBCzEbnY7NwIua2lehZNpqtMaKJ45hHzNRgbZ09l4vxNSQfkgI6-AMIjsbz4hXL68YkGaFiz6CvN2zmjtnhadffBuG6Xo7UeoPLKdXbAxZsYFOf9mdFjNpuVlgR0EB3e2fOvlVigC_YqpPdm0shOlvdXv3OxlZy6ZbFczMfOzRuTJwd4fOz6-PU1xGC3i5PIlGwujgFXJ01kaW05leftF4_k2CJdqHSzCmgSZgSUrsCErn_i6Y3jDDNt-ReDs2ne1LGh9BqxeDpHp-gemNN-NJ74XlZzZ0GsyFuNhoevEWLRkLMX5w-8JfpRlV8PBOHpmxnudgVvl4Rh5DH99-5RGfVM-es3HoZL39nMgI16SkVBgD46V42T8Y0iIQkcCzg4sJCsWkiJ9MgtnUIFSUD7_Tf1TwJAwd4tyZ_ad3gHzcMz824CxKc4hvV2-lP6HY8m_HyxR8B1hCb8jLPg7wkK-IyzRd4RlnTL8k7HcDfz_XCyruB_TLHhwpnyO5SPUQDW8LowsipeTGtEy5BMcBfTBme5Bcj9V-75p6765X7D2SVGha7dM71exnsLbXH7aSmHg5hs-mfSATztelzBNdeRuLdchbYtW6QEmOV5M5pz26-23UuiuGScl_yYIh63N_MkLZ8Qjm8NcTjzPGcKSFCVUwRzgL1RpcPO6i4dtaOhq4uHFJ9zcnce_m8tP47OjQzB77xAvUoUsB4aXfbS5_HShLNmi3MynE_oqmKHphcfXeMPZ5qIfwjDHS1OLV1kCzoKwOuIpXg3Clw0pDKPUFbhN-pNVNxTF8gn-C33w6uwHmWWfHB4240UukGUAcbZan9e0vAb13pV8MTjeAffDfeFRPkO41mzCmITu5cQB4yJHABzhPF3EogHNQeD1UCN0dw5yQcULTxSM2D45j3Jxr1aTSwtWfTnmD_2_KCyrFCPGwquGcrEooZhPKy-WTJPzo8uoX6ZYYYQ7rjcoFb8GZQ8MOo7ICF6u-IvTFbKA5CEaCdqGPWMzfJcNrevfXAVNH4CPwEyWM0BWxhCaXnpy8A7efmNEG8bLBaFxtkabZcME0NiTQz2rBeW6ZfN3weKWoM3eecb5EkuUMBYji-JbLFy5a1j2gL9Q0ZWNz9hOliVJpKQQB-jqquYFu9KGKnPFaF1fDTrfX8QQRRAfKjes5PCO5IotJbvujIJ3H96fbq_wCT6JH7pFxRa3wEt6gyotY9QLHyVJRuuS68_4yfQW1tYGDsO818DdYVLBnOi9RzbuIxPIfb6BZFGc4RhtCqkMlGj9z7pUqcBVlrrPQxyKRz2MfcZCD2O32VeRDnsP1pKOV40VpeP-l-tKx7Pm1aVj2301ppPkRaXp0LqoN53OXFedDgdazsZTpgrUoQFP1x6rRh0PrmtSp4uWlalHmgUVU_O8SnVqu7dWdTpjVbE6AzvVrU7nrqpXp_a7Naxz8YtK1sM1Yz3roWVV1Tr14LHa1knPIxWuk8RZneuMkVW162SoU83rwVj9ZLLIpi8g6neOV8FOkoZa2GF_qIidNFjXxU4HZtWxQ5sdrsPBvlL2SLf10ePQvKyanXNxqJ2dty7KZe89cLyOdjx9VU07SVnX1E4HjlbWzhg6Xl87nrCqsr3brOsDU0PF7dR1w8ag7LBnhoF-9PM2XnxqQBtGNZz8xVsvPvNw9oVyfxsFfeq-HNTX1uML62Ds3zAJ0ohk1lsvRE7B4M7vm_ItKXOS0zfwNkzDPI_jhORv9m_zNE8gCgtWhHGQQp6yvKQZjnMS0bDKozf8LQ5wFKQBxiFOw_yEkrwgNEhZyvKApokXBdBQXp9Y0z6RavfGfZLgbZ5GGXlT0wJq7b6QhPEQmrEXn71Rb12gKbqd9qKg5trogwTDTe0-q9RfEZ-hrfuYwT2fTNr--99n0IIoQfTrBX5030fpV4ns7YB_06n67dd_W6HHcv0W_28AAAD__6S5H6Q">