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

    <tr>
        <th>Summary</th>
        <td>
            Cannot emit physreg copy instruction when using ext_vector_type mask
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    So I've played around with ext_vector_type because clang was emitting funny assembly for a single intrinsic (_mm512_mask_add_epi8(v, mask, v, v)). 

    typedef std::uint8_t u8_64 __attribute__((ext_vector_type(64)));
    typedef bool mask64 __attribute__((ext_vector_type(64)));
  
    u8_64 test_wtf(mask64 flag, u8_64 val) {
        return flag ? val : 0;
    }

Results in the following error:

    fatal error: error in backend: Cannot emit physreg copy instruction
    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: /opt/compiler-explorer/clang-16.0.0/bin/clang++ -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -S --gcc-toolchain=/opt/compiler-explorer/gcc-12.2.0 -fcolor-diagnostics -fno-crash-diagnostics -std=c++20 -O1 -march=znver4 -mllvm -x86-use-vzeroupper=0 -masm=intel <source>
    1.  <eof> parser at end of file
    2.  Code generation
    3.  Running pass 'Function Pass Manager' on module '<source>'.
    4.  Running pass 'Post-RA pseudo instruction expansion pass' on function '@_Z8test_wtfDv64_bDv64_h'
     #0 0x0000558b73f348df llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x3ba18df)
     #1 0x0000558b73f3290c llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x3b9f90c)
     #2 0x0000558b73e85a87 llvm::CrashRecoveryContext::HandleExit(int) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x3af2a87)
     #3 0x0000558b73f2a572 llvm::sys::Process::Exit(int, bool) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x3b97572)
     #4 0x0000558b7170bfef (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x1378fef)
     #5 0x0000558b73e8e90a llvm::report_fatal_error(llvm::Twine const&, bool) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x3afb90a)
     #6 0x0000558b73e8ea9e (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x3afba9e)
     #7 0x0000558b72cd6797 llvm::X86InstrInfo::copyPhysReg(llvm::MachineBasicBlock&, llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, llvm::DebugLoc const&, llvm::MCRegister, llvm::MCRegister, bool) const (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x2943797)
     #8 0x0000558b73586c29 (anonymous namespace)::ExpandPostRA::runOnMachineFunction(llvm::MachineFunction&) ExpandPostRAPseudos.cpp:0:0
     #9 0x0000558b73284cf0 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
    #10 0x0000558b7379d800 llvm::FPPassManager::runOnFunction(llvm::Function&) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x340a800)
    #11 0x0000558b7379d979 llvm::FPPassManager::runOnModule(llvm::Module&) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x340a979)
    #12 0x0000558b7379e560 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x340b560)
    #13 0x0000558b7431c1da clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x3f891da)
    #14 0x0000558b75225238 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x4e92238)
    #15 0x0000558b76449d5d clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x60b6d5d)
    #16 0x0000558b75224865 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x4e91865)
    #17 0x0000558b74b00671 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x476d671)
    #18 0x0000558b74a84993 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x46f1993)
    #19 0x0000558b74be4b3b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x4851b3b)
    #20 0x0000558b7170d41c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x137a41c)
    #21 0x0000558b71708bdc ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
    #22 0x0000558b748e5ce9 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
 #23 0x0000558b73e85977 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x3af2977)
    #24 0x0000558b748e5f1c 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
    #25 0x0000558b748ae3fc clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x451b3fc)
    #26 0x0000558b748aeded clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x451bded)
    #27 0x0000558b748b923c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x452623c)
    #28 0x0000558b7170b523 clang_main(int, char**) (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x1378523)
    #29 0x00007f9414887083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
    #30 0x0000558b71704d1e _start (/opt/compiler-explorer/clang-16.0.0/bin/clang+++0x1371d1e)
 clang-16: error: clang frontend command failed with exit code 70 (use -v to see invocation)
    Compiler returned: 70

Full godbolt [link](https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1DIApACYAQuYukl9ZATwDKjdAGFUtAK4sGIM6SuADJ4DJgAcj4ARpjE/hqkAA6oCoRODB7evnrJqY4CIWGRLDFxAGy2mPb5DEIETMQEmT5%2BAXaYDul1DQSFEdGx8bb1jc3ZXMM9fcWlIGUAlLaoXsTI7BzmAMyhyN5YANQmm25iwCSECCxH2CYaAIJbO3uYh8dRhNe3D2bbDLteByObmQCgI%2BEEn3ujz%2Bz1ebjwLBYoQIxFCADoEJCHvcCABPRKYLBUfag9AgEBeZEADgA%2BgR9l5aWVJPsaTSmAQUXgol4CJg2VBMKoCDSAG4dIjEOn4zAQZnzBVHKxQ%2B6MmnM/Z80Hs9DoWlRJjoCBsxFMBQAaw1VAMwFIrJpLAArFwzHh9qKxPNDgB2ZV3fYB/bETAEFYMVmI51mB1m8069A0zCJPBUiAe2h261MW3usR29PzJVfEzegAixdVTJZWpFhr1NIUhpoqmNDpYsatNrtJqjboLPr9gaDIbDEadLvjieTqfT3cjE/bFoAXg7UKKpynqF3c7RFZs/SXyyq7niCUT9lFUJ59ovLSy2RyuTy%2BQKIEKReKHCRpQS5ZIFYW%2B4VncaoajWNIAO4EFQEC3p22Z2qBLL9iWg6BsGobEOGWbAK8ABiO77CA%2BwaEWUJlhwiy0Jwjq8H4HBaKQqCcG41jWCSyyrC8Ww8KQBCaJRizmiAmybGiVLegAnN6XDet6jpmJIVKOmUEzURwkh0QJTGcLwCggAk/EMZRpBwLASBoCwyb0GQFAQJZ1mDLshjAFwZQaAkWCingawAGp4JgEEAPIEvRvE0LQfLEPpEBRNp7zMMQuKcLxCUNLiQVRNoEopbwllsIIQUMLQyXGaQWA8sAJy0LQ%2BncLwWDtkY4hlfgwadOKdWMUKHS8usvHIlU2m0NyxDpR4WDaVyLC5YsOEKP5gUhYwuUyIIIhiOwUhrfIShqNpugBAYRgoGxlj6Ny%2BmQIsqCJDUdUALSkkcpamJY1hmBoAYPZgSIEA9NWiiw%2BwPe2qyYpspZLgw4rECyoOA8DD2qFSZQPV4SgPaKS6xMsiQEsQL1faDZpXJDg20Lwa6xKiWBXRAiztJ0zhvgw7ieC0ejBKE/QlIMEy5GkAhjH4AspELDDTAMcQTEzNTdKMHPjJU1RdCMvQ8zM/OTIrWSizrGtFNLEiM5xawm/oNFaWVzEcPsKNoxqzlGPsbloho7v7BAuCECQhw/Fw8y8EZWgKqQwmbGYaLeqjklKZJUhcFSXAaN6lsadbjG23pBl8QJixmVAMCICgqBWXQsTkJQDkV3Ezuue5nmYN5fkBcFoWrRFUUxXFZVpUlq39xlWU5fVpD5YwBBFSV2kVV4VViLVq2NS5LWMW1Ep4J12k9cgfWrRTw2jeNGDrIx02zXwNoLW3y1hbw/DraI4jbY/u0qOoZW6GpLmne950jSiPTG6d10iPWepDN6VhLCfW%2BkFLgINfqEABrQIGIMwbIAhlDGGsR4YsERiDB26NMbY1xl4fGsQiboNJi9CmVNYa00wMAlWm8WauBFlzNmUs%2BYyySOLGoHCxZ5HSNw2YssqisNqOrQRLDmZSKmJrY2stpFK31qCBRRseEWwUGbLaVErakHolnTg9tUYPSdsdXCbsPZfW9vgSU/tNiB2DvnISIkxKiU8V47x6dNKkBmqJNE3jgmeIqEYqmulbC5xDiZQuEALJl0crZauiTa4oEsW5Dy5Vm4%2BUwItduK0x5d1iD3eKoR0qD3KUlTK2UHCrQnoVYqpV16YEqtVJeY8V7NTPg1PA7VHDbzKrvfeY9D5lUAWNJKE0el8VRDNeqc1r75Lvp3WQG0X7SDfooD%2BB0RL6F/lA6wF0gHwBAfdTgT0wQvUOTAr6IN4HUPBi9aGsM8EEORmYjGmAsY42IHjAmVCSYKDJqWOhTEGF4Dpqc2RNQXBsxkdzTRYi%2BHCOFqonI/CRGKK0eI1WAgFZNHRbiyRBLRHa3UbrTmyiNG8zEabFY5tA7p1ooY7SttTGOxZPXV2ZR3aezsb7YgjjnF52MmHBAmBDSDAZr43gASPEhOCWEtlkT9KGXzqZYu8SQDLAIIkXkVd7KpJsuEVg6wiEWJcjyvl3V7HnDJBMN%2B6ytqbNkNs/aX89kQTGokS%2B6kWXhJ0hwIKvJ9X0lQMSC1XLLHWpsV7Dw5cbKOM2EHUVod9EZ38e4oJiqfGBuzlE9VYq3GBNzT49SmxM4RI4C44t6czBVqDbW9NpBYapGcJIIAA).
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkell3qkrX7q9h3TDMgKK_WBdFp9iDXfTGUUCBKJ0UiPrrzwDNisas_e7vfHnPzdljr4RUTaqe-cy2AERIFKYY_6YElRL0X6gqd1nxGx1QEhXVLzfzL79nGW1RQDphOo_RBfs0KrIq9ek6Knc0PpfbE_bKrNiWlxzTLvZQRTDtxSgN6RoRGidRWUZpSAdVml5oRAhO3PhCB1lBI5pEaRhjOkrLIkpJ5NEUkLdJIrBgmyBy2CLf3-I8kikgnyig0c1g8_t0_6FQQHmjKUanGHj7SdM03UDxcUCT0qc4SHGwitJS3pZ0JW9Fnt5uUVkWkVuVeLulQLP4Fz0oIIv8bfXmf059XdvNsriF879b8HPhG7YSk3JblwEF5PviQYzCRtvb_AnFFFBoSnqA1PxX4LIq0laYpjizkaMpDtLME3hK0h-5cjCp4pLQUUqXO0wHWRxndWMrXBRZ0VD3hdgAlSj-M3u7aO52kXfAaUM2raE0zcrW7HS-u5ACh7SX5Rc6SklZVF4ZZenngtOhAWcGTSq3kUe0W4V0gfOsKOkyo3dlmZMGBjApYIZRuavcNy9LKGDG8enjVycvsj32SgqYESEVJhQwaZT6dJR6ceXjVjevQGTX4iwL5OGG0LzAeZF5mBDs0ySrittwcyciJPMiVGKfLqqUJl4R5eXbJ-xZibwD7VdJ_ockmnmjGGVaZGGBEhoVYZXgtGzQ0xQws7yB52VJHsW46OBzHmcFLpqxJlI6rPjGvDEUMN0o_RikgEoBle6Efo2KoMPTnZDuZM1qKM-bNasyr8o3QneShga60znLYgeRpEMuaYnOFKdHaYljujOjO53Q8zpllsXeDkUpxen_CKoRZsEbeGPoTuBlcVZ0_AiFaUbKyCN0J0izTsvo83Abb7p3Aw4YujNh6U6CCm9Hcfo1PeGC_wO2wVoR3DldcZFVeY4LitOZRpwkf5BTnHY3DGd8ss82TFOchrOA4gw6RwXBBY1KGqc-nQV0EMX4Uxo00lrmYzrEKS7QswNyzaxTpWnj9jkihKaAZFZp66f0tBkYoRSFDS0SnaV0kvlVjBupJ3BAenAP_rtFpxkpOw6kc4IrP3sMBxqfc5SS5qoRvm8UfIBotuKZ7Ub-yA36SeS3bvtz10x-JgIKcAzNnBmGYQRBdiUu4HjZD-g2WtpMSC7kdjEtorRs_Xh-Cwj5U6hA9TYjZYFRQgGxCYooLdu00-S2_4UzU0BlzpyLWNkPmjz4hJz9ghwojPcdci3GKK3ySTqLwrRJh3KVtmXMp-Os2enHcCqBwngvOMETTiwLSJYecGpNXDjYy064uGhZWuJzeZvpodSPsXGOSgrIP8ooCgCSpRek3DOjAAkS-N4X2jR4--MRn9aWuZ9kVBIk8IKTf8TJSowb4OBndmQ5SQ7wq68JX2yIFQY9MHMrQdu23G1v5e4xPuZ1lGLay1JS3uPjZ2lCgasw6AW0-BU0UvDP7YgU_LKj9Lgj8HxRUh5d_V0WrSaNWWmQ3UaaSj_dXYiDwyfGRsjbRSlWEYk8Nc68w523F4l2PbVqAsUqm2zddBra92LNAgGKyS0BPy6mY7cKh5n3ZKOHRTQHhxEpcfFP4x82bdf4GZ6BwnOS8hqo8pNlBVn0br6E0iy9JFlF6BQlmORtolY-4jRHqd9UFQfevbZKJ-mdoI8S9p0VPufERr_HhaZtcSJvXt50Nkz77wmp8oQUyLwXMK9W_NihqZ8P2L4F9QUNBeS3HBVlw6JCf7Pe99ia-vFc-iTFl5lHbOa0uf2jmv-PUf1AlPEMkhnmyfoNbvYrbkVS_gXuUduJPBv4PvSzmBVJecEMvmDGgvjIdYxD5F3u1eUTvZXk8R8N_vvIXUF8ZfupKPIc67E-up1X73GVRKV6O89M2g6bAvLDtP7Z8BppGKX4nl0eRHoY-biY4abxneSNF5GnRPQg2vSlXZz-B6k5KkJc_gehIUrD70Q-OZ41h-zQacrhU9a7Uw-_LHgnAd7jQHs4TqfRscLbvHzOzU3bmNdFVOLtR_P4cJOPA1TF5dbHMS7xf7iRM9qc_lOuEMgK66MXV3jqOwQAhCYTvzKgZSmpko_Yu3Vx8wKlJG4PE4s0-uIjcDb_aPx-0KF5rADAyS9aPPUyIs8rvuA_ajFtzkdwNn_GOMMJempefriJERlX9AX_Ba34hXNeFoVvIuLudfdKh72qxB-OKP8ko6wsCi8Yn9oe3mUYUWIfMZpFY90_ofEI8kfhSaIvSuwLvKdugUcyryjcM4W3DZsmCaXN-fQ7Fv-uz0_6rBiwisK9qKA8M4x5l3OfkvAN7Kcmp8xDr8BfNG2S2E9BlwXW5dyv0AHz5bDi86xHex67TVD0XNNgUaBLk245zduh4iMrw3u7-jwGNPqURf5PasByEuJZ70UD9osGsut79AfjGjtv08CDHrMExfGyfZh5K-DfqNO6jF9EJ1z8tUEDT00DL2PBw0qr9UM1-njssS1a4trZW1C1RaE9ZKA4dpF32AZpg-XTHW77311DY7UsSVDqf43Pbw30p0xlbQlF8VOB-qyc98L0UNe2W-98ZtnbH25zwGmKWNRganl6Em4GtmWBopJ8TH9ZDsVx4-rtsedjvhGBnxka_jmV3G6hgBSjxG0KnPRJFZA_nob0M_cbmzQG4b4-ylCkf_cow6nSGQpwfHni859t95NPOxRJenFr_qt3BU1g_n_sHV_OUt-7wZ084Zk8hLng7-S1lkMvte-D0acU_eXGRuBvHew_iMIvz1l-8EzON2k-eM2S4ldGfOz_TxnpZy75Ox39zB1GpPxbt_6Sdf94QY6ixgHuj-j-LYN3V_lv8ujjl4YPPDdTsqsA7q-epT9cP7UA39T-v_H__5DHn-o0BCAC7tUD5a-PRQVw7_M-eo0P5G0igT_cO8gCeGncwEfjJgUKz_KyLDEyR2-3ceQ2iQ0VZQvtjiGOXAqYZ1ncinwnjtLq3AnT6jbhvZHsTbw9FeMZ-WUn7mufxfsspm97_JiKrM8-PPT8uOvPq83m4vYmO7h3yLR394YARTH-8xI8aoLYx7TENNAqgunOiS4zmmBMRw-964OKH63r_c0tbl-eSszjG1ezimM6zHw3i0uaEtQ4Sg-UoFNA_vJi9CbylhVhO8BdKQ5O1sNwB0316Au2dobrerpWR1qiOr46hCZrax5EU0ODo2utliMoQbs2y5GtXqATKoPSXhvwQiKXsd-hdpZVFQ4yNZ1DuIC9vIajEzTX81nZD1ndgjnU1tCu1tUhVjZwXuuDvQ-75qKEA550rZE4q6De5_V-CL09D518b1DA3B0PEIqZljkTXZXwKS36xzWvWauuM9TNM-xeQDJ1Bd2wjPnINpK5QAEBqPAdrfUqZnV7Zhp-9yy7Lrv3uM37aKQE3iq2ugsYD1H2TuaWpF4TOLrsLmNhDcd2kgAhqrWZoWnnHtDWCFp9d8JV653sO7sx5nTguvqwxOpl4ia2FlrtjoaRctX-2l5fWezu66G6zmzrbGpQz4y-1jt5GlSnzmA9VBcBChUYGireGFAPYXtX6CixgFbL_pSg-SyB9uI9zGJe64dgqY4GmabPYJf3rb0xSfkrtDfpVV32Bme7vVscJemIAuZGZnpE0bNV7PT3maaSszlSbYhqdglHtWkV_XwIYWHW195OOQ7O07EeqmCz5IK12kSBMYeGuR4tE0tgE5VNZEZUIHPV-lN1EUEMdkBkRyuuIg5Qptf-MjCuOITR2V_O-5tVbu4Kdmwtdnl2TMZ6viaoHBdl_7h3s-G0UEKkW65uIH942kd4fgzmnNfa2TUz-B5Ki8Egv6RHk_Mkx9wQCpiz98vlKKWRtpgrsbnoC0p2Gs4uwLlU80uruT2wjIGDBz3Nye2ZsLHM9aqd4JephzK0X40tOOEN0zY0LgdgA47qcKhEq1BUSTdzjUl35cKBDNVoIknazRg1MlaLfryrowvTr_dHucf3VDSwj5rX5dn9SptdLoUmr2p5YKsa6jvRNYlgcnG70XKIQ5iOxXcdl-I-T_rWcjBJFsZ14dSHHWP3511vWGthCA8UMI3RxsnVeghnaqbVF5fp2ia0-xs20Ydkt4dmvbERPKy0KA1RDbs53w8NA04t4-ScDGZoB0NjmhuqM86l62hkVwNveNYW42FkL51xZmS5W8cxsSx7MRral_cusldQJrB_YYY3z0m9Yb3Sy8Oa38VBWCN_MvBXo8WgN5MrcupZ8QIkzPhy1nOHX-loeRlqwppMjMFUCBe7dV0tLpZl7aJJvdgVgTXbHcd5Fapw7YRZ9xzvxfHNToltkaPW1xf-Ag5nh4OXo6S_ZneJmsH1dBPOLAMq41UU1TcLTDE4XtY5yTfDsOYLQ7tkEyjrOjias409XfKzcIoGM_E8IpFtEHvIBkjf5O99PQTMsEbieRCt1HcHRteyz1x3p7CWIqwxeK8OGpezY2tkXITuAe72PR6S3Bjq-hyOPHtuXMdzfzDqTff9Bev42uhky9cmuiZzq1jNomvRLc3x0IhGwhnVSVNmxiZaLa-GNyWDcXY-XuPulLhxtsukk6TCSjM0e1dTwDRr-SIbm1U4ONp14nbXaIiP-0M82PQXO8-cvUM0FmOCfHffBVyuxrLdj87JEo40SwuP6urdJvND39YPS864VhUW0mQ9FoKD6pnZqnDMxeL8bm6W-SI-cso5Xi2EYJnrwrpWVXO2BIflkl8uo-HyCMYzYbgarVgj5_ssOCheGKwKZ16DPR539cI6M-D6Xo-z4Yq7sDu3Qa8XyOL37poCZsUcJ9lmJXbzYZJiRWD2s2g674o-y0TTFc71sbjcDbXgFosHcxha4-BoQLWwra41ql0L7mK92yUOvyaGE-kqEMcjd82eYz7oEjtys3E_UrRkOV4jhqlHMF4l8gpVqhlfx8mCtOuuL5fZZNjNetp5I_Rm4xqsCTlGZHycFLYz1JPNbJD0izUgZW4OOPaoqY5DsLGqF113iJZGgQ69LE7noVIu1tOZT_x3zSXTTbBSTuFsQQGzHEcq0E-pNbMO50G0kJe8dBb98eCgJsf-2OD2YYKto7E-JlXsasJZjzZ2ZcBhP2a8YoOqaI74zCArQb8Iy4RvcS9qq_SrAXMWfDbSOTzIHOaoc4NFPB-ARU8r7DRbro_5khXXxrFc9vFaXkrj-TRkp1Ba9nT3OihOAV4ruhAv4GrcHxgMjuWlo4_x0WMLSRiecm5ld5l3aaYHWaa3-6qMMxSbfiCGYm0yYa9WYeDPwzlT26fFZA4L0RrzvcVUjRTUJSPZMCZOst53E0jWPLB6e5gstdl6oPePq8lubnRNXs-PHnDG9rtKzgf_OnfWUbtXT5uYxyy1KGBqTncwYLDFrmBobsY9x40ujjp0eohbuMU8uUTjrnw1kGuuhRJKOZtla2lWlvPu5LyZvi_BxuEQvhJXWof7fWoKYJT0VJio-kyHm4LnQjibGruJtjLK-DBXBt3363GzruSZrQ-hZR3eD0tfGuR9UhnLUKwjY9X39pdTzC2lXqr31dH4VkUv5dEdH8ZN5UHvsnKw593sMLvNHVbvuz6zq63Bqa-8M7E9mmns-3DYW-VkKem14LmDyQgYvcUy8xVjw8mYz_rRMeiq1TU2lOX6yHXV8XXOK7PkPOIdi9d4vhS9q7o86u5KGefqGuVdr29ZsOnS3375vzlf4RT0C_9mRVmWOMArwq_dbyDLsqIAVsAeYMVAlGVPEaSm-2eBq7jyr-g3YADHSIzEAsAC9o3lAt4VPMAGrO-5LEfxDE5QFL81h6CmK_zVfhf3W-QkTvgVIxfHpP3iE4AU13Q7SQFACfqv4nf7RZ1bhYTimTgiJflcpYzKGP_-Nx_40fUOp3RF2m8Jv3wimiBy-FUV8e__-6_7WkX-TwAAAP__atUQOQ">