<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/111606>111606</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
A/F: "Trying to access a single scalar per part but has multiple scalars " "per part."' failed after 7f74651
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dyung
</td>
</tr>
</table>
<pre>
Recently one of our internal tests started hitting an assertion failure when compiling which I bisected back to commit 7f74651.
Here is a reduced repro from the crashing code:
```c
typedef float a;
typedef struct {
a b, c;
} d;
typedef struct {
d e;
a f;
} g;
#define h() \
i = j->e.b; \
k = l->e.c; \
l->f = k;
a i, k;
int m;
g *l;
void n() {
g *j = l + 1;
for (; m; ++m, ++l, ++j) {
h()
}
}
```
When compiled with `-O2 -g -ffast-math -march=znver2` using a compiler built from 7f74651 you can see the crash:
```
$ ~/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang -c -O2 -g -ffast-math -march=znver2 repro.c
clang: /home/dyung/src/upstream/llvm_clean_git/llvm/lib/Transforms/Vectorize/VPlan.cpp:258: llvm::Value* llvm::VPTransformState::get(llvm::VPValue*, bool): Assertion `(VF.isScalar() || Def->isLiveIn() || hasVectorValue(Def) || !vputils::onlyFirstLaneUsed(Def) || (hasScalarValue(Def, VPLane(0)) && Data.VPV2Scalars[Def].size() == 1)) && "Trying to access a single scalar per part but has multiple scalars " "per part."' 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: /home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang -c -O2 -g -ffast-math -march=znver2 repro2.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 "repro2.c"
4. Running pass "loop-vectorize<no-interleave-forced-only;no-vectorize-forced-only;>" on function "n"
#0 0x000055d0e9ad0e1f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x235be1f)
#1 0x000055d0e9ace96c llvm::sys::CleanupOnSignal(unsigned long) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x235996c)
#2 0x000055d0e9a20cc8 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007f44c03e9420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#4 0x00007f44bfeb600b raise /build/glibc-LcI20x/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#5 0x00007f44bfe95859 abort /build/glibc-LcI20x/glibc-2.31/stdlib/abort.c:81:7
#6 0x00007f44bfe95729 get_sysdep_segment_value /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:509:8
#7 0x00007f44bfe95729 _nl_load_domain /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:970:34
#8 0x00007f44bfea6fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#9 0x000055d0eb66055a llvm::VPTransformState::get(llvm::VPValue*, bool) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x3eeb55a)
#10 0x000055d0eb6926a9 llvm::VPInstruction::generate(llvm::VPTransformState&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x3f1d6a9)
#11 0x000055d0eb695d01 llvm::VPInstruction::execute(llvm::VPTransformState&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x3f20d01)
#12 0x000055d0eb65fb77 llvm::VPBasicBlock::executeRecipes(llvm::VPTransformState*, llvm::BasicBlock*) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x3eeab77)
#13 0x000055d0eb66283e llvm::VPBasicBlock::execute(llvm::VPTransformState*) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x3eed83e)
#14 0x000055d0eb6645c8 llvm::VPRegionBlock::execute(llvm::VPTransformState*) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x3eef5c8)
#15 0x000055d0eb660b8e llvm::VPlan::execute(llvm::VPTransformState*) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x3eebb8e)
#16 0x000055d0eb5362cb llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool, llvm::DenseMap<llvm::SCEV const*, llvm::Value*, llvm::DenseMapInfo<llvm::SCEV const*, void>, llvm::detail::DenseMapPair<llvm::SCEV const*, llvm::Value*>> const*) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x3dc12cb)
#17 0x000055d0eb54baf4 llvm::LoopVectorizePass::processLoop(llvm::Loop*) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x3dd6af4)
#18 0x000055d0eb54dac1 llvm::LoopVectorizePass::runImpl(llvm::Function&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x3dd8ac1)
#19 0x000055d0eb54e133 llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x3dd9133)
#20 0x000055d0eaf6f396 llvm::detail::PassModel<llvm::Function, llvm::LoopVectorizePass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x37fa396)
#21 0x000055d0e9589031 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x1e14031)
#22 0x000055d0e86a7026 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0xf32026)
#23 0x000055d0e958799d llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x1e1299d)
#24 0x000055d0e86a79e6 llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0xf329e6)
#25 0x000055d0e95873d1 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x1e123d1)
#26 0x000055d0e9d65d23 (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
#27 0x000055d0e9d692f8 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, 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*) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x25f42f8)
#28 0x000055d0ea4492ac clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x2cd42ac)
#29 0x000055d0ec3dbb9c clang::ParseAST(clang::Sema&, bool, bool) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x4c66b9c)
#30 0x000055d0ea4496c8 clang::CodeGenAction::ExecuteAction() (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x2cd46c8)
#31 0x000055d0ea7119a9 clang::FrontendAction::Execute() (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x2f9c9a9)
#32 0x000055d0ea68d99e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x2f1899e)
#33 0x000055d0ea7fe466 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x3089466)
#34 0x000055d0e862a295 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0xeb5295)
#35 0x000055d0e862201a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#36 0x000055d0ea48f17d void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#37 0x000055d0e9a211d0 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x22ac1d0)
#38 0x000055d0ea48f79f clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#39 0x000055d0ea4538f4 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x2cde8f4)
#40 0x000055d0ea454a0d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x2cdfa0d)
#41 0x000055d0ea45cb55 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0x2ce7b55)
#42 0x000055d0e862722b clang_main(int, char**, llvm::ToolContext const&) (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0xeb222b)
#43 0x000055d0e855712b main (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0xde212b)
#44 0x00007f44bfe97083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#45 0x000055d0e8621aae _start (/home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin/clang+0xeacaae)
clang: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 20.0.0 (https://github.com/llvm/llvm-project.git 7f74651837b8f95996ea4c774b2e604020446951)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/dyung/src/upstream/7f74651837b8f95996ea4c774b2e604020446951-linux/bin
Build config: +assertions
```
Here is a link to godbolt also showing the failure: https://godbolt.org/z/bnPM9qqYo
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkW1tz27iS_jXMC4oqEryIfPCDLNs7mUoqrjiTrX1SgWBTwgQEOAAo2_Owv30LICkR8iXOXHTOnplKMiJuja_7a6BxI1qzrQC4CLLLILt6R3qzk-qifuzF9l0l68eLz0BBGP6IpAAkGyR7hZgwoAThyIA2GmlDlIEa7ZgxTGwREYhoDcowKVBDGO8VoPsdCERl2zFuy9zvGN2h96hiGqitXBH6DRlpi7TMoGWzTPMsXqAgugqi1fDvT6AAMY0IUlD3FGqkoFMSNUq2yOwAUUX0zjZPZQ1BMlYL8mj4Q4dv89hBDQ1quCQGkSC59NO1UT01KFiO6QgRVAV4jeihaLC8QvUbKtYIDqVsM43Xwvb4hZMaGiYA7QJcBLhEQbaeqjEUJFfo1zBIrmFRBcnlPPOby-RDJj3JdMmNK_HtIIsgZsEcE5gwqD18bVGAV_zwuZesRmLq1BGZK_brIBwF-BLFM6CNVMhWSS5dwzY_wJetFTv85Mefv540jCYVTAnB8uqgshODzsnx30eCQY3umdmhII_CTxiFWxQ2DdEmbInZobAliu6C5Op3sQeFgzxCvXa8naorVPWMm4FXIxPRo-wRJQJpgCPXnnJssmeK_jfAN1rRAN_0nTYKSBvgm7G1IllWRVNmZZkDSelymVYY8iiNcJSmeZnFIWeifwjwTcVEgG8oJ2KLQoq-j2fwicXIdVcxSFYowDc72UKAb5xzP9c3zvfthnIgYrNlZkyw_2NVgG--KCJ0I1WrA3zzFaiRiv1u2_t6y4lY0K4LkhXOCivMVUxWQbL6SngPAfaSbg9N3RliYEjdgglwMS81VbVUqaTklhLJCq0OQ4vVNi6-3iyYvqOEE3Vg6TpYrtEVNJb-TH9ge3gv_Mwd0QOGUUpxBc0sO8DxvusN43rojRT88YYpbT4QAb9oqJ-pUezI2A-vzTX6emtrBbiILARbBecBztEVMWTx9fYrHmrpILu0NbKrhXaaHfqbXFkfi_2qAcZf1KMlrZGIUArajoqWxRyQds2hDhTqiDKo6o3Fi9qeG9YdCmjbiv07FVwEGAd46YZsqBcDgW4_XK_urpHuKzssE1T1W8swqYwVvTOmcyrCNwG-2TKz66sFle2MPHzfhp2SvwK1lGJa92AZhIioEROU9_XMn9w0YBShYBXXOSpbcFAjLXs1JNuaRGtJGbEzh-oF0lSxzoxdvjN2Lqn7tju4Z7RA7r9bJbeKtIiobd-CMPqNrnEut8WT38Zjh4NkDbIJkmtrIQ0KEYNA1HYmbhiHoTAeC3_qDGvZ76CG5GRM_twLYanSEe1s3vSCWgeybZMtqJCJfZBcB7hwMyJmwgR4zeU9qJBKoQ0RJmTCKCY0o9rlyc56q5RdqOTgxOsdkBpUWPcdZ5QMAi6FDK0ViYKwkSrkRjpJroWwBg6unOX2mMS0UazqjbU0E5Y1oeEsbEnXMbGdhIf7wwCUrIUMXUTCgeydGAp1aD12kH8oepI1dISJBlRIONsKS4ipfS5JHQJnrSuiDZVtxYSV1pKHkBlQDqEOkqt4EqNY8xg27KGTVoOudc3ajrPmkTbbIFlXUvQ6tM2FZqdA7ySvxwYaqe6JqkN9zwzdWbXb8GL8UkRsITQyZNRyeko2MuRSfuu7oQPfAGy_pXXIy51k2oQ2mJLCSdRDoSHdotOhNlKBDu1U6QSGDbEjhJ0vLjUT306r6w5oz4mBsOKSfnNJI76hfqWIsJS2go6Fe9EpqBk1pOKgR73wmQlVgNfDRzip-U8p3RmwF0pyHiTrT3hINdOkE94TZf3BdkNJEiTrToEGtYfQmel5VvzZ_rRaE-syjLZBsiacy_tJRc5TrgcnOIgMbfAREq37thuEjA1Zy4z9mbQf4HXN9qGCNuwIU7aoIYxTwvlI4TfzUMjwh6hoLf2UjR4VD6w7odNbqWhF_Ck2vkrF0k6CUqBW1j0HOzweBmKMh3E0fWEc_UsHIteJaWS2rYuDfBTgJELRQxRFUZbVEZSkjiBuZjGVfhwDlVvFhHET4JdhFp2FVIrcb-Q0peV2JnUjfelC9b93DgzwZfSAk6yCuDmG9gFOYh8XhTKnz-Fa27C07z6JO7YVhAe46IVbutaIS9v-OVGUZU49FNhHgSNKC7S2Ac1noHIP6nHo9k9E1NyOd8Woea_MWgoDD2YMpSP39yAiGUUsmzSlUQJliiO02ShwrrNRZsQ_BOsPRb7J0wFDuBX9kNFZbyf1QstF5LDEaYojD0k6E1M1UOVRVCFFmLaucWOXRbUN9DiraPiBvsfRw-ETL5LYanw00M1iYb8edQ2dDfh6wR6GhL3rzaBd17Rdt66yOEhW8bEnmd-TMiuyEpFKOqRv64mpB224Wk5IYYUsj0LyUyFLXKItmM3Q742GrR2MN3sb0b9VLhPG4rcjW6u3lAyis8guX4qj7OVzsjeCb2zFTS1bwsSfE1kuLYmS9Ciz8GWSvKnzNxCHWsrkjjJJ0tS5R5lyTv4qz6MsI3_Ncu9cLp0AVFlGDqjsuBT5qEqck9JD9V4M2z1u9h4gCRsQwAmuE_R24D0fsCauc1J6wOITYFkdxa8Dgweg_b8ZLhzVUezhwj6urKmWSw_XJdGMXtpYwYP1GSjr7JL0VXSOlscCs7Zs1jmZSqrl0gOenPgfLhJ4C_DvIz4nrLpIwIOVnsBKM1p4sD7Dlknx746ryWjh4cpOh8uq8M3FyQ_53ZnxVFXh2yn38GRJjmk1w_NBym7aLXRLHYtPgPIgOsxzmNcc7Ly7lr1bfKFDsDfsTTzR1xDOHlPfWxFz0TboOilzJVsmiJHqiwJ_4vFKgdDwkXRBsj4m3q2vvyK3NfJkZJhPY09beS8a-XpLe8nqYdk4q16DXc_5Td0Spn64U8l1kFzPCp2POTWNMa085ix95qQVadIXmAO3RI8rgXFH8MO4BeUVPzemOidN6mEqTjDVhMbfx6R68b7tuIfnZtqlO-_MWtcFof7MWp5ggjhJ3oTpZTxzcq4E4Y-a6Y9EkC34nD5Ush5xZj2UcZLM9YC9kJA0eZOU-QtOatXwUdbAn0fj4X-qvz-kHvvnP0Dvy4YkZe7p3d8jyIoySuY-5XT9GoZ_sDpjiNMo8dwZe4FykZNlhP8KGv9tZvgHm69JcIR9Z0hOnGFZlvUMxke3jflFTl22VlnVpDNSPa-QocIPqWOs8i_gMi7L2tNGesrlEn6MyxP89Rt1-AeU9BIV__9ovklwCT4Ns1MaJvVbxuTn1P1P0aLlb1L7Y7G3eCrrPKtxYvtDhBSPrew1EqQF3bmt_HJcG7XMrLSGtuKPPwHvprXU516MB8DDOot1wN1ZWjFdAnEbF_QbiHp1GJK1qYecXrDfeth0xleWIveb7l4xA5tJFbNKNbiDmo07yYXvVByH8_wtYr9IyT_1puvNDRsI8xaZJ7XmAp_qYC2F7lu7MHSLhjH1F8P40x14a6vlia1K3BTzZq1dxkaGPviav2JkK6Q2jOprsXWGOe3YT-4E_Q6IortPw6nftFY7LbqWNfwXiO-U-kLUFsx3Cn0gYvtckdnK0igmtp-H2yxPXW_1vH5Xz0z774VRvWZ7-AzNWpjbE6vvm3HxYM1396gNtGMEcH6avoEy5zpxypoUN94uEvbWmSRNS0zoax0e-OWOn9wG0nDs_ItgJyxd3X0Zj6HOOzhiWqeYUA-jt-6kSV1VpYfxligNq7svPoI7aMnI4Gk358zHCSnN86r0sPjnt9ZeOS2e8efVbNv9etgbm9yoOLM1cn_f0j-pJcs4Lkk5R3CjLG8Obj-HcObONyUt_UMP_4CW5EVdluCrf7j4-d7ddqLwvAVeRnteX2nioiy9Xdgk8a3TQJrn3uQ0QDni3MvxjpYH64kezruhFhVlmnuBZnIS4WOCywxRGm9awvxIcKUUebSTVLKmO6KOu5zjaO6lTTutZ8UHVYbLzIOXncDDUUzQZKx1_MWNXDOQdy3hfNgtcjuGz2E9mb1tG-OYPpvfS1Qrtgf1bKyT5P5wVTTxsnYKm7U7XVbZKKdzlzve3J6CdUo4rwj9tmmE7emRZ4PskXPreC3bloj6dNB41raHSV26mIX467ljqHKYxg8VNhv68BDHw0dFNKN2yneXjJwWvcI2YWMUYUZP2SfNEc6tD9mF9SHfFpkdJDhyDTp3VQK85KStahLg5VFVuJiusPwsq-ftsTy5YBLHdTQzxXPXSA6LgjvSAH_01Pm66c44kmFC4zryPKI4pd6ybNA_mTrWGAt3Pzt6lSOlr7gsKZr0RcW5cZ48maknbXqTwklFW-CltcQrRVdeUDbDdqaABgr_qCY9CcmylET1j-rrZ1npl5X1s6w-MG1eWlU9GcoP_OiGs73xsPOt-p0vd_9VWm5I5O3QpfGJlmmVZS8hupr99gKWZyKVl6xzRi2fMRyHZZV5gUN6souPlxhXA4YpMppwueFp9eRM-KWw4GyxEMbYOw9OvRi2yLJljCs03oI7S59qwPFJn07uQ5bLqEjQZsNZZWcAoszmR67pUd1PFyOHny7TteMu7CUptv8exZ-GhzEhgAbBZzMUoYQcFxuHB2WglDtTGEiHmnFB5B5wWocZXhEND_HggRn3JhPFSWo73mtA4R4Z6Z7TsdlqZC4G7UFpJgXC0SJaRO6N1Q89OFpsj09Jv6uBg-xh18xCG29D9uKbkPdidityKOdu06J2OFRYoU5q9jBkufUT51BfMfV3PjFywi4t86wPN2x86nd5eH-rX3kxeXxOy5lwj2-3sq4kN4hwLZHeyXv3wmwH0yte2_qJBYYaC6ksqN9tt8Ttx_K33_5HvqsvkrpMSvIOLuIlLtIkjsrk3e5iGTcpJQlOlyUty4RWyyIq0mVa4jJp0oS8Yxc4wmkcRYX1wCxZ0CaqaR5FVVzTmKYQpBG0hPGFNbaV_c69K7uI4ziP8necVMC1e9OMsYB75HIDjIPs6p26cAyp-q0O0ogzbfSxGcMMhwuL7WbQ5N_-zA6RxoCaSPquV_zijz-qG_HvL_D_BQAA__9L2LkB">