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

    <tr>
        <th>Summary</th>
        <td>
            Clang 18.1.8 crashes when using -mno-sse2
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          Calandracas606
      </td>
    </tr>
</table>

<pre>
    I am trying to build some code with the '-mno-sse2' (to benchmark the performance benefits of the sse2 intrinsics used in the project), but clang crashes and then tells me to report a bug.


When I remove '-mno-sse2', compilation suceeds.

After following the instructions here: https://llvm.org/docs/HowToSubmitABug.html#backend-crash I have determined that it is likely a backend code-generator bug. I have attached the relevant `bugpoint-*.bc` files:

[bug_report.tar.gz](https://github.com/user-attachments/files/15989107/bug_report.tar.gz)

This is occuring on multiple source files, but for simplicity, I am only providing the details for one file.

Clang built from source, 18.1.8 tag:

clang version 18.1.8
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

On operating system:
Linux void 6.8.12_1 #1 SMP PREEMPT_DYNAMIC Thu May 30 22:21:45 UTC 2024 x86_64 GNU/Linux

```
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++ -Drtprocess_EXPORTS -I/home/void/git/librtprocess_c_api/build/src -I/home/void/git/librtprocess_c_api/src -I/home/void/git/librtprocess_c_api/src/include -mno-sse2 -Wno-absolute-value -O3 -DNDEBUG -std=c++11 -fPIC -fopenmp=libomp -Wall -Wextra -Wshadow -Wwrite-strings -Werror=write-strings -Wpointer-arith -Werror=pointer-arith -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Wimplicit-fallthrough -Wno-format-zero-length -Wmissing-field-initializers -Wunused-label -Werror=unused-label -ftree-vectorize -Werror=unknown-pragmas -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fstack-clash-protection -DVERBOSE -MD -MT src/CMakeFiles/rtprocess.dir/demosaic/amaze.cc.o -MF src/CMakeFiles/rtprocess.dir/demosaic/amaze.cc.o.d -o src/CMakeFiles/rtprocess.dir/demosaic/amaze.cc.o -c /home/void/git/librtprocess_c_api/src/demosaic/amaze.cc
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/home/void/git/librtprocess_c_api/src/demosaic/amaze.cc'.
4.      Running pass 'X86 FP Stackifier' on function '@_Z14amaze_demosaiciiiiiiPKPKfPPfS4_S4_PA2_KjRKSt8functionIFbdEEdiffmb'
 #0 0x00007fde4a0c3cde llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) ./../lib/Support/Unix/Signals.inc:723:0
 #1 0x00007fde4a08e60c llvm::sys::RunSignalHandlers() ./../lib/Support/Signals.cpp:105:20
 #2 0x00007fde4a08e60c llvm::sys::CleanupOnSignal(unsigned long) ./../lib/Support/Unix/Signals.inc:367:31
 #3 0x00007fde4a0285b8 HandleCrash ./../lib/Support/CrashRecoveryContext.cpp:73:5
 #4 0x00007fde4a0285b8 CrashRecoverySignalHandler ./../lib/Support/CrashRecoveryContext.cpp:390:62
 #5 0x00007fde492638c0 __restore_rt libc_sigaction.c:0:0
 #6 0x00007fde4a55e685 llvm::MachineRegisterInfo::addRegOperandToUseList(llvm::MachineOperand*) ./../lib/CodeGen/MachineRegisterInfo.cpp:268:25
 #7 0x00007fde4a50eb3f llvm::MachineInstr::addOperand(llvm::MachineFunction&, llvm::MachineOperand const&) ./../lib/CodeGen/MachineInstr.cpp:270:34
 #8 0x00007fde4a34a12c llvm::MachineInstrBuilder::addReg(llvm::Register, unsigned int, unsigned int) const ./../include/llvm/CodeGen/MachineInstrBuilder.h:114:0
 #9 0x00007fde4dad14c5 llvm::TrackingMDRef::untrack() ./../include/llvm/IR/TrackingMDRef.h:89:0
#10 0x00007fde4dad14c5 llvm::TrackingMDRef::~TrackingMDRef() ./../include/llvm/IR/TrackingMDRef.h:55:0
#11 0x00007fde4dad14c5 llvm::TypedTrackingMDRef<llvm::MDNode>::~TypedTrackingMDRef() ./../include/llvm/IR/TrackingMDRef.h:106:0
#12 0x00007fde4dad14c5 llvm::DebugLoc::~DebugLoc() ./../include/llvm/IR/DebugLoc.h:33:0
#13 0x00007fde4dad14c5 llvm::MIMetadata::~MIMetadata() ./../include/llvm/CodeGen/MachineInstrBuilder.h:341:0
#14 0x00007fde4dad14c5 handleTwoArgFP ./../lib/Target/X86/X86FloatingPoint.cpp:1425:0
#15 0x00007fde4dad14c5 (anonymous namespace)::FPS::processBasicBlock(llvm::MachineFunction&, llvm::MachineBasicBlock&) (.isra.0) ./../lib/Target/X86/X86FloatingPoint.cpp:456:0
#16 0x00007fde4cf7d6b7 runOnMachineFunction ./../lib/Target/X86/X86FloatingPoint.cpp:374:13
#17 0x00007fde4a515827 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) ./../lib/CodeGen/MachineFunctionPass.cpp:93:33
#18 0x00007fde4a281f66 llvm::FPPassManager::runOnFunction(llvm::Function&) ./../lib/IR/LegacyPassManager.cpp:1443:0
#19 0x00007fde4a283cec llvm::ilist_node_base<false>::getNext() const ./../include/llvm/ADT/ilist_node_base.h:29:0
#20 0x00007fde4a283cec llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::Function, false, false, void, false>>::getNext() ./../include/llvm/ADT/ilist_node.h:94:0
#21 0x00007fde4a283cec llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void, false>, false, false>::operator++() ./../include/llvm/ADT/ilist_iterator.h:157:0
#22 0x00007fde4a283cec llvm::FPPassManager::runOnModule(llvm::Module&) ./../lib/IR/LegacyPassManager.cpp:1488:0
#23 0x00007fde4a2814ab runOnModule ./../lib/IR/LegacyPassManager.cpp:1565:0
#24 0x00007fde4a2814ab llvm::legacy::PassManagerImpl::run(llvm::Module&) ./../lib/IR/LegacyPassManager.cpp:541:0
#25 0x00007fde527b3c3c llvm::TimeTraceScope::~TimeTraceScope() ./../include/llvm/Support/TimeProfiler.h:155:37
#26 0x00007fde527b3c3c RunCodegenPipeline /builddir/llvm18-18.1.8/clang/lib/CodeGen/BackendUtil.cpp:1145:3
#27 0x00007fde527b3c3c EmitAssembly /builddir/llvm18-18.1.8/clang/lib/CodeGen/BackendUtil.cpp:1167:21
#28 0x00007fde527b3c3c 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*) /builddir/llvm18-18.1.8/clang/lib/CodeGen/BackendUtil.cpp:1328:25
#29 0x00007fde52b14b5a llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>::release() ./../include/llvm/ADT/IntrusiveRefCntPtr.h:232:0
#30 0x00007fde52b14b5a llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>::~IntrusiveRefCntPtr() ./../include/llvm/ADT/IntrusiveRefCntPtr.h:196:0
#31 0x00007fde52b14b5a clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /builddir/llvm18-18.1.8/clang/lib/CodeGen/CodeGenAction.cpp:379:0
#32 0x00007fde51889262 __gnu_cxx::__normal_iterator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>*, std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>>>>::__normal_iterator(std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>* const&) /usr/include/c++/13.2/bits/stl_iterator.h:1077:9
#33 0x00007fde51889262 std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>>>::begin() /usr/include/c++/13.2/bits/stl_vector.h:871:16
#34 0x00007fde51889262 void clang::finalize<std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>>>>(std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>>>&, clang::Sema const&) /builddir/llvm18-18.1.8/clang/include/clang/Sema/TemplateInstCallback.h:54:3
#35 0x00007fde51889262 clang::ParseAST(clang::Sema&, bool, bool) /builddir/llvm18-18.1.8/clang/lib/Parse/ParseAST.cpp:183:11
#36 0x00007fde5324c629 clang::FrontendAction::Execute() /builddir/llvm18-18.1.8/clang/lib/Frontend/FrontendAction.cpp:1069:21
#37 0x00007fde531f5677 llvm::Error::getPtr() const ./../include/llvm/Support/Error.h:279:0
#38 0x00007fde531f5677 llvm::Error::operator bool() ./../include/llvm/Support/Error.h:239:0
#39 0x00007fde531f5677 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /builddir/llvm18-18.1.8/clang/lib/Frontend/CompilerInstance.cpp:1057:0
#40 0x00007fde5329eaeb std::__shared_ptr<clang::FrontendOptions, (__gnu_cxx::_Lock_policy)2>::get() const /usr/include/c++/13.2/bits/shared_ptr_base.h:1666:0
#41 0x00007fde5329eaeb std::__shared_ptr_access<clang::FrontendOptions, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get() const /usr/include/c++/13.2/bits/shared_ptr_base.h:1363:0
#42 0x00007fde5329eaeb std::__shared_ptr_access<clang::FrontendOptions, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const /usr/include/c++/13.2/bits/shared_ptr_base.h:1350:0
#43 0x00007fde5329eaeb clang::CompilerInvocation::getFrontendOpts() /builddir/llvm18-18.1.8/clang/include/clang/Frontend/CompilerInvocation.h:254:0
#44 0x00007fde5329eaeb clang::CompilerInstance::getFrontendOpts() /builddir/llvm18-18.1.8/clang/include/clang/Frontend/CompilerInstance.h:291:0
#45 0x00007fde5329eaeb clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /builddir/llvm18-18.1.8/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:273:0
#46 0x00005611e92e083e cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /builddir/llvm18-18.1.8/clang/tools/driver/cc1_main.cpp:294:40
#47 0x00005611e92e512c ExecuteCC1Tool /builddir/llvm18-18.1.8/clang/tools/driver/driver.cpp:365:20
#48 0x00007fde52f07d29 operator() /builddir/llvm18-18.1.8/clang/lib/Driver/Job.cpp:440:32
#49 0x00007fde52f07d29 callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef> >, std::string*, bool*) const::<lambda()> > ./../include/llvm/ADT/STLFunctionalExtras.h:45:52
#50 0x00007fde49ff56e3 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) ./../lib/Support/CrashRecoveryContext.cpp:428:1
#51 0x00007fde52f0e6a1 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const /builddir/llvm18-18.1.8/clang/lib/Driver/Job.cpp:444:10
#52 0x00007fde52f2b72d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const /builddir/llvm18-18.1.8/clang/lib/Driver/Compilation.cpp:200:3
#53 0x00007fde52f2bafd clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const /builddir/llvm18-18.1.8/clang/lib/Driver/Compilation.cpp:253:5
#54 0x00007fde52f2fd3c llvm::SmallVectorBase<unsigned int>::empty() const ./../include/llvm/ADT/SmallVector.h:94:46
#55 0x00007fde52f2fd3c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) /builddir/llvm18-18.1.8/clang/lib/Driver/Driver.cpp:1921:28
#56 0x00005611e92e7616 llvm::SmallVectorBase<unsigned int>::size() const ./../include/llvm/ADT/SmallVector.h:91:32
#57 0x00005611e92e7616 llvm::SmallVectorTemplateCommon<std::pair<int, clang::driver::Command const*>, void>::end() ./../include/llvm/ADT/SmallVector.h:282:41
#58 0x00005611e92e7616 clang_main(int, char**, llvm::ToolContext const&) /builddir/llvm18-18.1.8/clang/tools/driver/driver.cpp:542:26
#59 0x00005611e92da2c6 main ./tools/clang/tools/driver/clang-driver.cpp:18:1
#60 0x00007fde4924dc4c __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#61 0x00007fde4924dd05 call_init ./csu/../csu/libc-start.c:128:20
#62 0x00007fde4924dd05 __libc_start_main@GLIBC_2.2.5 ./csu/../csu/libc-start.c:347:5
#63 0x00005611e92da321 _start /builddir/glibc-2.39/csu/../sysdeps/x86_64/start.S:117:0
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 18.1.8
Target: x86_64-unknown-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/amaze-962484.cpp
clang++: note: diagnostic msg: /tmp/amaze-962484.sh
clang++: note: diagnostic msg: 

********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsXM1zo7i2_2vojQoXiA_jRRaOHfdkJum4YvfteW9DySCwboPkJ4l00ov7t7-SBAYR57Nzp2YxU10JAUnnd47Ol46kQUKQkmJ85kTnTrT8hBq5Z_xsgSpEc44yJGIv_rRj-cPZJUA1kPyB0BJIBnYNqXIgWI1BxnIMfhC5B3KPgQOnbk2ZKwSGDpwCByaqOabZvkb8u25zwLxgvEY0w-oLLogUgBX6m-oHCJWcUEEyARqBc0Co6cfZv3EmHThz4ALsGgmyCtESZByJPRYA0Vy1o0DiqhKgxgopxwfGJUBg15QTx1s63nz485tqfwk4rtndI_SKTMbqA6mQJIwC0WQY58IaZl5IzEHBqor90MLZY0CokLzJVB8B9phjJ5iDvZQH4QRzB64cuKqqu3rCeOnAVc4y4cDVb-zHlm2aXU3k_LwpJ3tZVw4Mdij7jmnuaibBJdijOwxyLDGvCcWKYSQBkYAIUJHvuHpQrJo-emrcElPMkWRcS6AbAUmJsr3ujwHHFb5DVAIn9nZNeWCESteB88kuc2IPFKTCGvlQetH5rilTI92JRHxS_nSipQMTm8-SyH2zm2SsduCqEZi7hnKNqVRcm7Hhyo9mycz3pg5cPR4Xzoakt3siFLssyxquRM4oqJtKkkOFgWANz3ALudWSgnEgSH2oSEbkg3qrtZnR6kHp1B3Ju4nLsUSkEroHo2YYa7YXWuGU9ktQcFa39NSYfjLxJwmQqByJyijpHeZC6ZBp1nKCeImlUo77JE7j0G3od8p-ULcitLl3S9p0HHOMclCzHFeq9YEJcm8-XVIhUVXhfEm4-qSlzJUUCR2CuKGAHZQeKFbFg5C4PsK8UtTAHSM5iCfJxIepDxwY-GBzvQbr24uL6_U2Xf7Pl_n15QJs9w24Rg8g8ACETjCHvhPMwwh83S4A9GDYsgI-f_nqwJUe2tKb2Gv_6T_XVxfzzQUQWu2NkXYWKxl4RpWU_bS_3KNfWBEhGq1O2hcQmlVNjvXMGvNRhiE5MhN24PjAWYaFcjH9PKqeSAiWESRxDnhDgcg4OchWETYSZd9B3tSHowC9iePN1pyVHNUA8bIx2j2eDrjSquDAcweeA3fJZUs_vfhzfXO73QD30oGrPauxA1dqPgzXik-y61tnKToQbSikUk0Ez97Y8109lHxbiR6dJHC_UeainWBVI7F7h6oGA_cmAO7yy_Li_Otn4AqZO8EyM1z7PnCL9eUCuAU7YKpkuKzIjtUH4H5DVQXcb_hecgTcb2KPcvYDuN9-cCKxK1RIKIVqwDnjTrAcv9duSzkYroJR3278nmPZcOrKhwMetLLfNpRQIgmqyE-cD1qN33dexS1QVck9Z025NzLREU66PzFnboVpqUnXRAhCS7cguMrdfiguNE0V7NwK7XBlkRy-LiTH2L3DmWSc_MRWO-M7DhyVNVIDGgjHB1dg5TDlw6DToy-FUOqtTEpqGkq-jJbHD1mFxL77rPyZu_zXxe35zeYCuNdL4F5vgVGVxTX6jletdz_q0yQnyhpyXDOBiGqHavQTT7JswoB7vXp350kOXPYLpDPwdms4MZTxB77yB06wwKxwggtwQFxgDpAEKiizQocV0xKqlguVQbVhmrDWbQfqy21DqXLYBySESk5WDTVSX6sX14iiEnOVZqkQyPKm0inMx3ACp63DC08h-TOJwWoNtDMkBTmiKDqECkfopf_rh3rEtCNB9H_rP9Z_FOt1sQnTTZiu5zD949-3f2xk0vW_XO3yi4ucFEW9U0NpJCoqecC79zzPmxY5DpGXBVmOgY4GwdwJ5uJBmIc1J1RqeFvj8JO-EUc_UiYkx6h2YKycPqEqrQQTB64mEyMrB642zUGFIgeuvlJyr16QkqJKTAjNnGA-hYETzL0em29jS3DsZaew3TbUjPQbonmFuXBg8iz5jm52UEHH9yIVeAeE4SsJLyqMaHO4ack7MGmoXgLkoGIqMr1VBEE8VT_9HkpgQ4FJtEuA4XOhY_CTBPTnW5yxO8wfFoxKfC9bjqdK0FFPJDxFxOpvyfddNIOZ5wTzGPZUoyHVGYyDJPNAmnIsJOM45RJUZJelgpRI6_Ak0-phqUhsIY8iHCfRYKauUbYnFN_ikgiJ-SUtmPmA8vwWlzcqhaP5ln0V-IoIaWl127dt48D5ielUruYzVqnICUot4zBO1M-BuKc2aA_vguIxaJWK8iPaI4zHCDsv1treUxyAjFHFYvwaPjTxjoGpEnoQ9gwkFgNBiHyYPcHAuUqqMB9K3eKhE5hCfjQe7T7Gf88MAz30Nnvqs9fTXLQIJntl6n5o689syEmOcj_MhvqjfN13Qsvr5S0uzKuGqoz3-9jFPAJzeevAldVfI0hmPQDl4rw3A_iP_e6dOKLIxuG_gOPhgPMRmMVgxpdfWI6d4KKD-Lj5O3H6XmwDhc8DXeJdU16xrAVy_PNV5LvWmnIQ2ISD5wlfX15jiXIkUUt68OIl4i8rbhD6NprwFJq99s_bH2zOy9V6bOTt8hiu_kxi83NVMb2CXauUvouGIRypRnSKlAMTRBl9qFkjAEU1FgedFswM96v1xjy0CdI5EiQ7r5g2nDd7sGFv7b4cmEyI4GjinXBmr-MzjEaKZYWSrJjm8W6qlqs3dITyffSCqXI9ftATHIUBP0rg9DHvHVWVorbplsLUi2wgTkuOLzv54dAtyllgNP8I0nb1MPGLOB6AXK1V5y5z_iV42gKvcImyh8GYR60MR-Y4GwELMjyMQaQiQqaU5TjdIYGdYFGgSvQuqsTyC76XrWm-FFnmy616bY-pDRPa_hx6r4al1rqWEzXfTM3MvNHt2EEXPq2mvSQXwPA1fDDLlO6F4vgk069nV3M6C21O_ddwSqQplv5FjD5u1bFuqnWMm7rJmyTQ8WDiUTS1xQCfF8NTBnKtl5e2M2xfvcM4ksQGFYytNkQ7MKD7tuGj2I4IMDw1fM9IpQdq1439cJda4VsJfAzn0SgswmGsiuB0F2TBcDa2pMZ6_brJ2AF3yYr98iXV6Fc7quOas4JUXXqps6pg2uOJT-G5bajyxSWma3LAFaEYdOVHU1RRlPzEbWvbxzrnIz9-bjYmvkpSdXPlhxpCj2B6CsFFTeRcCFzvqocPpK1Xr9DviSeniJsRtewVjnagm0YeGuWaBp-XBJWUCUkycUFLQnGbIAya_IZRjvkGI57tb4wDGSx0rKYt9hdamWj-QqMrRMtTTXpN2-g6qk58rYSm1fT5aMBWCPOjs-u7XFLJG0Hu8C0uFlSupe1M74o2LViRCm_anQjtCXWl2CxZyP81OD2MenL0Iz3oqm_aFW8GnXJcoKZSbrrCEr_Q0cSYkywtGBVNrRZ4c5O5fZCyBXC4rFbKNrOUbeeHuwj9shwNw7jCKol4XdR4TMhkCgG0fJVVevtYvP850feXsPszO1m2SnNH7M9MvrFVszzhiAqzA_yVkpHFzzfbtmx0zPTfoy_t07ytG7UJuJ2qWVW-yE-SGYwhSNOSNml2f2_wpCllvEbVMJE5bVdDF4LrQ4WkXsUhKonmdYGqaqcLB88Z2atHaS1ubg1n9jH-ZhAHY6GqYtnfT4r9v9NTDpO_EVg4twp5xx3R3qCzLsdd-cEE6s1SfTZAyGqUy3pTFbBnvUkEp0ziH_X6EPVSzXe4JLR1xW-cOSN8U0OcqqzXj_t5C0_Nmz6BMMBaEKp3R4fS-WdKf81jDFzDP6L8BVE-yrA3uEZjR_eKRGBgS-0bNZBaqw2gdAhMITy01kvWrtTRlAbA1ogLPN9s7bzFUNFM7Bir-t9vy2D04N3v-WbbJbtJoNdXPUprXRnAMIvhbIhyxVUWdVxQmMXWPc4aiXv382pY3WiDRyu18r14Zq_8rD2uKPCLKJ4Oi5sX5sBEW5Tq89OXCnH94luPYBLrcWKXvJp2VxVqJ-vVK_8B8WBEfHaKuLUKrQ-kwtzYRIatuenWf8nTU_n2tHgwe2Pi_Q64XdUKPVu_ZhjhXW_zaSr2iOP8sd_oaLWLY2UHDkzGSfUVy76nB1aR7MGBMzisT1p68JYQeQTU12b9OLaXLaH_arZSlGVYiI_g7umiZHqdfjTLQWzXyUP492K5r8POP5bvyLP5Dk7xfdIO71RYPHrJEssBz-JN3vJx9Dlpex1B40Aiu64ehq8GPnQgfwHs1mWYXQ-77hpGL4Bu_dsJoVu-7hFvby8addC32qOvniR8PNwwspcuskax7-MZxF4SYJBlflojYlet55yjB7MTnu0R77KVeVcKs94ddyvewJBkrFIKn3Nyh1XDDkaHXW_JhAPw0xH4yIcZ6ESw8JVM3kvbPHS1lHh4ZEpRtiu9hTfN4Qz0xv7mlGPZ0f2d7bod21CfQ4E90dkpolmb3aUFtV1Zy4pRtIW_YHWNaD7OjU7O79Ffmj0qZG_c9bXe4AKM025zoLZVAZNmzI9uzzRRg6F6l7cHBdpRXqzVbbZX3fYYqi7uJUdCG6feAYh6MUXWnuSsKKIYB4N86NShLfPltqEbVODqwZJLd6Yw5Vo2epl5RP7smbdnjoeFupzbJ5CRP5pbHCMf_NWzOZ7MVMU8328X80iQLG3n1_gAq7F6kUqOVNRqPz-zJOu-H6t6Y135dfPRBxB6m42gLWK4m8L8SRH393bGHr0259Ke7ljbp88Wz9AYNp1bC6pfksIAfec7Pc9a90XBWBioeLMwfmc78bQkfme7KyLkUxtGNaqqf-kagtko7dX0gIjSkPZU3GuFN1xY_3dEGA2OkSoRhiMRFrm1-Trg8NwcybAO-HUZIq4P8uFN5zIGA_cnFcK-PBZFp4A9Icfl4NlKHk6kK0_pxF84t--MqsthNPdn-tYRTHqJjbOgaezHb59KQX7iX5tJ34740TjBeRpXV_BRslNm-gEi73K4o6Zqv_eabbUxXzCBSkUH4S45xZjG1iWeHV4dZuZtkBgcbWCsakPqO-pmz6d7Uaivpg0sambDzRHMYqCAalF0oz2dyKoPrkXDt-N_bCctMMyzMANpao6ES8RlqhK99EgzE003CeJB5PigCNKDrIzyP-qk52FqF_9if0w09yKdUKaEEjmmYx7V4K4eXB9Q982-dB9mY3hqUIsTPcOh9_nq8nyRwgmcRK8iFYRTywHHwXhWAugDQ2OkB6UeCk6C2VOiM_cO9eaDorfRBchBlWhw984J5qC9ATVv7xAX7SoMZK0dFYhUODcXm_E9keaesx_os5yNwMC9A5IBgTEgg8Xh7G9x53PEK2VSX0HOj8dTQC1K3bWdil_4N7jc2d7mnG-388VvYPvbBVjdXF3dfLv88hmsLq8uNmB7o1-ff_0Mbi_WN7dbp7tDuT51GzMRyiM8eSPz2IBjoBNTnAMkj0O-XgpwJetDd_nJncUwTEJt5h8xjti_b1I-amq6G7ef8rMgnwUz9Amf-VN_FnpJEnif9md-EUczuAum8Q7P_NiLiqjYTcNw54ezfIbxJ3IGPRh6MYz9IAgib4KLnZ_kIUKh7089mDuhh2tEqkl3rf2Tvol7NouncfhJX10U-n8yAGErBehEy0_8TN_f3TWlcEKvIkKKfgRJZIXPzIXr9m51d9H_xx5T0AhCy_4m6qeGV2fvvzBskN6dwf8PAAD__wk2E3c">