<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/129242>129242</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang crashes on valid code at -O{2,3} on x86_64-linux-gnu: Assertion `valid() && "InstructionsState is invalid."' failed
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zhendongsu
</td>
</tr>
</table>
<pre>
It appears to be a recent regression as it doesn't reproduce with 19.1.0 and earlier.
Compiler Explorer: https://godbolt.org/z/8KTq9hGv9
```
[516] % clangtk -v
clang version 21.0.0git (https://github.com/llvm/llvm-project.git d0edd931bcc328b9502289d346f2b2219341f853)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/software/local/clang-trunk/bin
Build config: +assertions
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Candidate multilib: .;@m64
Selected multilib: .;@m64
[517] %
[517] % clangtk -O2 -w small.c
clang-21: /local/suz-local/software/clangbuild/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:821: llvm::Instruction* {anonymous}::InstructionsState::getMainOp() const: Assertion `valid() && "InstructionsState is invalid."' 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: /local/suz-local/software/local/clang-trunk/bin/clang-21 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name small.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/local/suz-local/software/emitesting/bugs/20250227-clangtk-m64-O3-build-235136/delta -fcoverage-compilation-dir=/local/suz-local/software/emitesting/bugs/20250227-clangtk-m64-O3-build-235136/delta -resource-dir /local/suz-local/software/local/clang-trunk/lib/clang/21 -I /usr/local/include -I /local/suz-local/software/local/include -internal-isystem /local/suz-local/software/local/clang-trunk/lib/clang/21/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -w -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcolor-diagnostics -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/small-933a0f.o -x c small.c
1. <eof> parser at end of file
2. Optimizer
3. Running pass "function<eager-inv>(float2int,lower-constant-intrinsics,loop(loop-rotate<header-duplication;no-prepare-for-lto>,loop-deletion),loop-distribute,inject-tli-mappings,loop-vectorize<no-interleave-forced-only;no-vectorize-forced-only;>,infer-alignment,loop-load-elim,instcombine<max-iterations=1;no-verify-fixpoint>,simplifycfg<bonus-inst-threshold=1;forward-switch-cond;switch-range-to-icmp;switch-to-lookup;no-keep-loops;hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,slp-vectorizer,vector-combine,instcombine<max-iterations=1;no-verify-fixpoint>,loop-unroll<O2>,transform-warning,sroa<preserve-cfg>,infer-alignment,instcombine<max-iterations=1;no-verify-fixpoint>,loop-mssa(licm<allowspeculation>),alignment-from-assumptions,loop-sink,instsimplify,div-rem-pairs,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;speculate-unpredictables>)" on module "small.c"
4. Running pass "slp-vectorizer" on function "main"
#0 0x00005597e9b142df llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x455e2df)
#1 0x00005597e9b11ab4 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#2 0x00007fa06c8aa420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#3 0x00007fa06c2e100b raise /build/glibc-LcI20x/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#4 0x00007fa06c2c0859 abort /build/glibc-LcI20x/glibc-2.31/stdlib/abort.c:81:7
#5 0x00007fa06c2c0729 get_sysdep_segment_value /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:509:8
#6 0x00007fa06c2c0729 _nl_load_domain /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:970:34
#7 0x00007fa06c2d1fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#8 0x00005597eb591745 (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x5fdb745)
#9 0x00005597eb62a4e5 llvm::slpvectorizer::BoUpSLP::getEntryCost(llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::ArrayRef<llvm::Value*>, llvm::SmallPtrSetImpl<llvm::Value*>&)::'lambda0'(llvm::function_ref<llvm::InstructionCost (unsigned int)>, llvm::function_ref<llvm::InstructionCost (llvm::InstructionCost)>)::operator()(llvm::function_ref<llvm::InstructionCost (unsigned int)>, llvm::function_ref<llvm::InstructionCost (llvm::InstructionCost)>) const SLPVectorizer.cpp:0:0
#10 0x00005597eb633034 llvm::slpvectorizer::BoUpSLP::getEntryCost(llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::ArrayRef<llvm::Value*>, llvm::SmallPtrSetImpl<llvm::Value*>&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x607d034)
#11 0x00005597eb668741 llvm::slpvectorizer::BoUpSLP::getTreeCost(llvm::ArrayRef<llvm::Value*>) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x60b2741)
#12 0x00005597eb672691 llvm::SLPVectorizerPass::tryToVectorizeList(llvm::ArrayRef<llvm::Value*>, llvm::slpvectorizer::BoUpSLP&, bool) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x60bc691)
#13 0x00005597eb676e5e bool llvm::SLPVectorizerPass::vectorizeCmpInsts<std::reverse_iterator<llvm::CmpInst* const*>>(llvm::iterator_range<std::reverse_iterator<llvm::CmpInst* const*>>, llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x60c0e5e)
#14 0x00005597eb6773db llvm::SLPVectorizerPass::vectorizeChainsInBlock(llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&)::'lambda3'(bool)::operator()(bool) const SLPVectorizer.cpp:0:0
#15 0x00005597eb67ac20 llvm::SLPVectorizerPass::vectorizeChainsInBlock(llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x60c4c20)
#16 0x00005597eb681396 llvm::SLPVectorizerPass::runImpl(llvm::Function&, llvm::ScalarEvolution*, llvm::TargetTransformInfo*, llvm::TargetLibraryInfo*, llvm::AAResults*, llvm::LoopInfo*, llvm::DominatorTree*, llvm::AssumptionCache*, llvm::DemandedBits*, llvm::OptimizationRemarkEmitter*) (.part.0) SLPVectorizer.cpp:0:0
#17 0x00005597eb681ef3 llvm::SLPVectorizerPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x60cbef3)
#18 0x00005597eb104166 llvm::detail::PassModel<llvm::Function, llvm::SLPVectorizerPass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x5b4e166)
#19 0x00005597e948caf9 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x3ed6af9)
#20 0x00005597e6d6c406 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x17b6406)
#21 0x00005597e948b362 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x3ed5362)
#22 0x00005597e6d6a4b6 llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x17b44b6)
#23 0x00005597e948ad81 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x3ed4d81)
#24 0x00005597e9ddb283 (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&, clang::BackendConsumer*) BackendUtil.cpp:0:0
#25 0x00005597e9ddf573 clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x4829573)
#26 0x00005597ea51bba0 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x4f65ba0)
#27 0x00005597ebe39acc clang::ParseAST(clang::Sema&, bool, bool) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x6883acc)
#28 0x00005597ea51bfc8 clang::CodeGenAction::ExecuteAction() (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x4f65fc8)
#29 0x00005597ea7f2779 clang::FrontendAction::Execute() (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x523c779)
#30 0x00005597ea77325e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x51bd25e)
#31 0x00005597ea8e7626 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x5331626)
#32 0x00005597e68fefb7 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x1348fb7)
#33 0x00005597e68f66ea ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#34 0x00005597e68fa97a clang_main(int, char**, llvm::ToolContext const&) (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x134497a)
#35 0x00005597e67edccb main (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x1237ccb)
#36 0x00007fa06c2c2083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#37 0x00005597e68f617e _start (/local/suz-local/software/local/clang-trunk/bin/clang-21+0x134017e)
clangtk: error: unable to execute command: Aborted
clangtk: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 21.0.0git (https://github.com/llvm/llvm-project.git d0edd931bcc328b9502289d346f2b2219341f853)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/software/local/clang-trunk/bin
Build config: +assertions
clangtk: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clangtk: note: diagnostic msg: /tmp/small-fd80bc.c
clangtk: note: diagnostic msg: /tmp/small-fd80bc.sh
clangtk: note: diagnostic msg:
********************
[518] %
[518] % cat small.c
int a[1], g;
char b, c;
volatile int d;
long e, f;
long h(long i) { return i > 1 ? i : i << 1; }
int main() {
if (g)
while (1) {
b = 0;
for (; b < 10; b++) {
e = c & b ? 0 : c - b;
f = h(e);
g = (a != 0) % (unsigned)f;
if (g)
d;
}
}
return 0;
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsW1tz2ziW_jXICwoqEiBF6sEPkmylU5veuGJ3z6MKBA8pjEmAA4Cy3b9-CyB1tZ3YibOz07Upx5ZwO7cP5xzcuLWyVgAXKF2g9PID791Gm4u_NqBKrWrbfyh0-XjxyWHedcCNxU7jAjDHBgQohw3UBqyVWmFusXS41GAVopmv6owuewH4XroNjmeTeBJhrkoM3DQSzARFcxTNl7rtZAMGXz10jTZgEJvjjXOdRWyO6ArRVa3LQjduok2N6OovRFf5f93-a7b5uJ0NY6BpNP5Ec5Qu0niK0kuMaIpFw1Xt7jDZomgevuAtmMAwjSfRJKqlw4jmZwSl2_TFROgW0VXTbHd_SGf0P0G4ie9VRlCWMxYXQjCaF7M0ojSflSyZVrSgNJ6xJK7ylCHqubzlpgbnZXvIp-tpQnp1p_S9Io1U_QOpVe8bbQzwEre6hMY37bSVDyiaf1LW8aaB8lIG9Xh2tOANoivb_0X2n3Xl7rmBo-ogMnGmV3eIrgqpUDRf9LIpsdCqkvUw2oJbC8ZJrSyK5ivdqxILrkpZcgf443KJ5cAB921GDnprPCFZeIUJgehqlOwgEV3F0XsPGL_zgN44N9CAcFD-PGfLPU9t3zjpu7A5niC2QEnUTpNjYi-2CBDOdhB-UrDH9BeKyT22LW-aidjhm9D4dRAJrQuPhTN0H2E-SHxruLKVNq1FdPUnCKeN_MuPcPP5ev_VTETXITbPB_JhADZHLGDX9CJok84xyhZcafXY6t6i7PJJG3vjuIOhuAb3O5fqS4dojujMQ9aGKTTfwRWjabTljSzHFohOEZ1iROmTIbG0WKrQeIIoRTTDFZcNlN4PXX--mt9cYdsXrXSY46KvvQPTxnmP9zbngOhKWtuD11bwd1KJpi8Buw1gYbjd4IKLO2e4AESXuAueUoC1UGKrezMU-57cWi0k92AxvcJWGNk5z--N4-IOl33rVY6ieTRB0eza6NrwFnNT9y0oZ3_WVezKaIyJEDEmzsiugRc9GCbQSkd08U9MPG-lNJgTTEppedEAqQwAJqIBbgi3jhRQaQPEawNUiUnLpSKVbIAo3sIO2Ji0BjyT3pYk-EbcSYFJJwVpYAsNpsMXaUknAZO2MrwF0mmpnI8nl0orwKRqudsQMEZpTKqqI0IrbwWH2KVWmFRKE-M9i1Q18W0xaQPkPI60IbyR3ILFpOrVvVQlcV4qi9glxcQF_05E13v1kGmCiesVhIIaFBjPcQlFX9dgfJVUNWKXdVlgUoVyIkIkHMQsvaO__L7xvMLBOj8YXRV97UFHI-pjUUZGR0HaaUK-MBLmOqEsjdkU0VUJjeOYVEJvwfAa_k30DQyY9yR_GK2DowplnoEYk09HfnvsspuHQ90r6ew7BSwp3hBpH62D9t14_R6RF4T4RtPvxim6mkye_nqm7VNq8OA_iKdUx6bPjPPt3m8nsQt8pAJjtCGN9E47nmFS1aoXZEzwELtMJnQSY1LZO9kRXRoiNiDuiFSkbqsA_UYbUkpeK22dFBaT7S6gkUbr7qTANh0mFS9LY2WNyeV6_XG5XP82__NqffmP-dcVXS9Xn9bzm98Ru4wx0Z5x13YeE96TkRljPKomGpMHLI7CduydN2JL0BViV7jjxoLB3GHvFHWFvUdE0Zz6Zl86J1sfblE0Z77ga6-8K8Edt9bHvapXQ6xlS-De1Ui1RewK0bxqNHdUKofostH3YEhwblw5r3ojlZXChjrtA67_Q4weovFyA7wEQ8q-a6QYU6OF0sQHL26AVN4OTgdKYQRSQgND0J_ti6R1Rha98wFOKh8siWskaXnXSVXviB9UjthS6QEYDfBtICOgJFo1jwP9g3VOqwZGpKog-O1a-YC4G7_RvCTQyDY0sU7otpDKU2v5A5EODB9yYXYZ78gYWT2SSj6EoDKMbmXbNbJ6FFWN2LLQqrfED0fcxoDd6KYcB6i0ueemJPZeOrHxai8RW4zfDFc1EKeJFD6a74qd9gC867uBgTuAbkAkYouNltZ5d91qFSjaodFQ7qWzxDptwBK_9goEScV9uumDzsJKdXfe3XYg-oY7IEWjxV0oGuUb-heGK7EZCB0a96ozUEqxC4VBL82RCQ2iy-EL2an5p5QeDNgro5sGseUXOpS6XYpK7rkJoZUurdEcsWVnwILZAglmeh4VP8tPay33U0aKFrElbxp9v1NRmClXwyTYkySV0S3h1vZtNxAZB_KWGfnZaR_RZSm3xEBLOi6Nb-q4bIRfDw4QfjUOlSZvgqK39FM0nkBxj7ozOL0Wip7ET6Hxm1CcIUqxVn5B3Tfg3ePO61KKonnynAM9R28YYOdVfQOfpQ79MaIswtFDFEVRms4ymBVxQsvqaPVjH-3w4dpI5ULafjsk_vmhkeH3a22dAd6GBYxfg7phOZO_T_6O6CJ6SNIUaFkN-xGe9_iM95gXCb6RteLNb1yVjRc_HwIGtrKWqtJrh-jcf99qv-iaey6HHnZcAEbh_0CAjgSyikdTkXOe0Aiv1wYCJNbG7SQMGcsz-Ucji86FTZGJ1ZMoiBEnCY0OQrATGhTiKCqw4dJ6e69269u6kYUgn8UnGj3sv9IJ87mQDfzvsiD7aEvofB7bK_kwFGwDK6r3X8PQE4HYPPUr3XhkIzllQ0R5OsO80EHG17HhykEPoVegkHsK2UghPaeQ0Rmuwa0HjtcWau9b1lve9K-WXSrXBAzxsrW14APd1Ocj83wkPH2O8Fo1a99rXWo_IX6O3izzqGHJSDA7JVjGVTl9BVKEx8g0YISxqpweMJIfA71IZ3GWpO88udKqLLIkPdCcndCcUp5AeuwYmu7Iy4Sihf6ju_l8vd_7uFLOPC61dSfO4nsdbw1A6DlulwzT9dB_bgx__AoVYstD4Z8eM75piGlHrW-8v7x25gbcp7ZrXu4UtB2KEc0a3hYljxDNTljfedG1OSN_tFnj5fWm6VXYmi5HV_iEsbeM9WLlbuCRc935oK_NsJn0H8L6YGb83F7czhV7Vx-dwpGxiCV_czi-8wyfRlkZsWSY4V6l8alKp3mWxG9TqVfOE41-XyPvL1lBsyQ-SEZPJcvodHYs2QnWrrkdUxxnHm_1vuKzfLNcy9dpb0iRCq2bX6IKMZ0dqYKdqWIKKQTa39fHnv9l230aEtuldeWY88EWjIX1sNDQ5kQrYwdE54dZw66GZfyh1a7rOuTt7zH4sQEW3Eqx8Nn3kzn7Hdu8v01EBCkcbJKc2SRjZfEWc2y4VPaTGoXL30Xms9jHhtg3gvSF8LKD8Os8eHomNRc0-ndL_f6WTsQuufcyT09lzmM2m35fZtOrEB2OhVzt9sUG73E0huANN1db3fTjGdVp_XBwuz8D-6Qq_UKbz7Iw3Dw-22I-_wq2b5x9UvNZ6-7ZLpe6lcrjxUeJpwPuNw-WXGye1l9Cy1UJ5UI-Q3PcRQy7E1-h5ebuqpXO-fXefLTqpOPG-RXX7LvAzM6NBBV7lZFeZ6C54s2jlfZ3rngNp75s3-mXxXxRQMUOgDxdScRREk-PAVmC47IZV_zc2t-Hk_znOD4F4RMd_ZAK_M9_jG7TIoF4Oj3o9mTFNEtywavZEa9Bn9_i8--vMgbllFezvcroSVY_Laciid4Djr9M1X9_E8VZMU2iA6ppfIbqgk3pEa-_h63JW73jy6t-XvIuZG3PST10eJPMY5dfB8qUTelBYnoGSp4UbwPlTsTlK_X0A4p4CVP_57QbZ0WSFEd4Ymd44mUev2LqPqfTv5mqGJRJmR_WbvRknTAry4LmzNPcX0DCirdgu7AfPybpPhGaWwtt0Tz-Bk23S3u_9uo4a7qWHTThMCsfTvLHTDrcZJnvneR-RdYr-a8e1p07VYjh9-vu3kgH693-_1GnEsJJyTocpcJ3Oo4OdvoasrdaN1961_VuJQdQvIbmWa9jgk91sNTK9u0-oxxL_3CyeZpB0vTMUFWaseMxoZVuHGFg4FTtuyuk4ZqkEvCUqaUu4SMEC4bTtvM1gDNS1V-hes7njNnzt8x8vEvnTG_lFr5CtVTu-kzx22rMfr0Gb8L1hjEs_u8j5RVWe-fzp5zO0uyQTNOT1R1P46Lg0beYCoXDyVRYjw3Hq38oeYaH-c3tUisHD-6X-JmkmqYFP6xS6ekCCNiMC3EsxzU3FuY3t6dc3kDLT_ayftmeVp4zLsSB3_xc75XIn5ktI74Ht_gAonewg3z-a7RaifzA5clygGcVzbLZMZcr4228n4bHbP4SBlPKRJYdku_To1-eZYymgL_llp7V5MsS_ZJFV1yU9Ggv7fQMmOeQTen0WIiR3YMs2_Em5vdc8C9wIClj8ZQeciF2mmnmFVRFhoWI18MZ_fObz2LDzcnOp_eEJ2Wnx9vvnM-xJK-K7CADO5NhOgWOd1pfxrfBJeRnRyDDZsF4BPJUoLPw5scYHeKuXYBWaeT2uR0dlpzxxGcZH0Cx0-x4K8CTDmo63xB7geK76zKZZfygy5M8YppBKUSBx-PpdyVMWSZEcSB8fkROo5zh9bqRhVhbx41bv-WQXNh-dxth-BgqwzjhuJwl1P8eaWfnAIozwAPV99d3FGej8xgv9yI2x-Eapv_QK140gJ3GMAAYC922XJXh0n6hjYPyha7D25xq9IC7fuMVfVz2YdThpkY4Y7WAyTaUAWB55JVm___Q57UPfY7soHR4dIEPd2Fxa4dO0Xw3w3_oJzzQGt9XzG9v58vf8O1vV3j15fPnL__49N8f8erT56sbfPslFC_--Ii_Xl1_-XqLwsOG6-ceR-TW-5IXH0jsGxjA4d0AlJi7YbzXiXx6b7cq86gQhxc2P9bdbt6i8Z9XerpI4_z8DdG-QHB3dANZKoc5ShcxSi-9I68RW3hufWApgp8fCrbap9yNn3AOl0NZo1WNwxqyOirYhBvEqsYyuP1sgQ243igsMWJXOMaIrcLnefi9RGyJY8QWGGWXI0NjpBn7o2iOsaz8FK7HSzYY4_uNDPf6wqp_38z_KzBilzgaWBqKKm2CQ2SLULvEcRQ-I7oIP6cDYAxhCIERnYYOKxwFhgUmuDgeGOMqNPVCDzsJx3V1qEM05xjReOAqhML0-LIIorPqtN8TYYd_5XGrQVvHn0Y1j4IPpSfPI6P5h_KClTM24x_gIs6SKEtmWZJ-2FzwRER8NptlOc9YlANks2oKTMRRwbMozT_Ii_FtRx4zlibJJE0ylqe8LJJZxESWoCSClstm4p3oRJv6Q3gKdRHTGU3oh4YX0Njw2pTS8QUERenlB3MRvG54QJJEjbTOHoZw0jVwMfj08H4KLNYKh6dcWOgSMHeYfEHZgiK6ZCi79NVP7oi997uxD71pLn78adioku0F_Z8AAAD__87Arkc">