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

    <tr>
        <th>Summary</th>
        <td>
            [MLIR] Assertion `dimSize % shardCount == 0' failed.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            mlir
      </td>
    </tr>

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

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

<pre>
    Test on commit: release 19.1.4
steps to reproduce:
`mlir-opt -test-mesh-resharding-spmdization   temp.mlir`

test case:
```mlir
module {
    mesh.mesh @mesh_1d(shape = 4)

    func.func @sharded_tensor_operations(
        %arg0: tensor<4xi32>
    ) -> tensor<4xi32> {
        %0 = mesh.shard %arg0 to <@mesh_1d, [[]]> : tensor<4xi32>
        %1 = mesh.shard %0 to <@mesh_1d, [[0]]> annotate_for_users: tensor<4xi32>
        %2 = tosa.add %1, %1 : (tensor<4xi32>, tensor<4xi32>) -> tensor<4xi32>
        %3 = mesh.shard %2 to <@mesh_1d, [[1]]> : tensor<4xi32>
        %4 = mesh.shard %3 to <@mesh_1d, [[]]> annotate_for_users: tensor<4xi32>
        return %4 : tensor<4xi32>
    }
}
```

crash trace:
```
mlir-opt: /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h:116: int64_t mlir::mesh::shardDimension(int64_t, int64_t): Assertion `dimSize % shardCount == 0' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/fuzzing/llvm-project-llvmorg-19.1.4/build/bin/mlir-opt -split-input-file -allow-unregistered-dialect -test-mesh-resharding-spmdization /home/fuzzing/llvm-project-llvmorg-19.1.4/xmr_fuzzing/test_generate/needed_file/temp.mlir
 #0 0x00000000013906e7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/fuzzing/llvm-project-llvmorg-19.1.4/llvm/lib/Support/Unix/Signals.inc:723:13
 #1 0x000000000138c27a llvm::sys::RunSignalHandlers() /home/fuzzing/llvm-project-llvmorg-19.1.4/llvm/lib/Support/Signals.cpp:0:5
 #2 0x0000000001391c24 SignalHandler(int) /home/fuzzing/llvm-project-llvmorg-19.1.4/llvm/lib/Support/Unix/Signals.inc:413:1
 #3 0x000072fd2fc96520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x000072fd2fcea9fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x000072fd2fc96476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x000072fd2fc7c7f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x000072fd2fc7c71b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x000072fd2fc8de96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x00000000048d8117 (/home/fuzzing/llvm-project-llvmorg-19.1.4/build/bin/mlir-opt+0x48d8117)
#10 0x0000000007951f49 (anonymous namespace)::TestMeshReshardingRewritePattern::matchAndRewrite(mlir::mesh::ShardOp, mlir::PatternRewriter&) const /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp:0:11
#11 0x000000000d79e74a mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>)::$_2::operator()() const /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Rewrite/PatternApplicator.cpp:212:13
#12 0x000000000d79e74a void llvm::function_ref<void ()>::callback_fn<mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>)::$_2>(long) /home/fuzzing/llvm-project-llvmorg-19.1.4/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:12
#13 0x000000000d797912 mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Rewrite/PatternApplicator.cpp:233:9
#14 0x0000000008919a48 (anonymous namespace)::GreedyPatternRewriteDriver::processWorklist() /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:0:17
#15 0x0000000008914773 (anonymous namespace)::RegionPatternRewriteDriver::simplify(bool*) &&::$_8::operator()() const /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:874:11
#16 0x0000000008914773 void llvm::function_ref<void ()>::callback_fn<(anonymous namespace)::RegionPatternRewriteDriver::simplify(bool*) &&::$_8>(long) /home/fuzzing/llvm-project-llvmorg-19.1.4/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:12
#17 0x0000000008914773 llvm::function_ref<void ()>::operator()() const /home/fuzzing/llvm-project-llvmorg-19.1.4/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:12
#18 0x0000000008914773 void mlir::MLIRContext::executeAction<(anonymous namespace)::GreedyPatternRewriteIteration, long&>(llvm::function_ref<void ()>, llvm::ArrayRef<mlir::IRUnit>, long&) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/include/mlir/IR/MLIRContext.h:275:7
#19 0x0000000008914773 (anonymous namespace)::RegionPatternRewriteDriver::simplify(bool*) && /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:872:10
#20 0x0000000008914773 mlir::applyPatternsAndFoldGreedily(mlir::Region&, mlir::FrozenRewritePatternSet const&, mlir::GreedyRewriteConfig, bool*) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:919:47
#21 0x000000000160773d mlir::applyPatternsAndFoldGreedily(mlir::Operation*, mlir::FrozenRewritePatternSet const&, mlir::GreedyRewriteConfig, bool*) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h:0:9
#22 0x0000000007950c03 (anonymous namespace)::TestMeshReshardingPass::runOnOperation() /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp:0:16
#23 0x0000000008792bb3 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int)::$_7::operator()() const /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Pass/Pass.cpp:0:17
#24 0x0000000008792bb3 void llvm::function_ref<void ()>::callback_fn<mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int)::$_7>(long) /home/fuzzing/llvm-project-llvmorg-19.1.4/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:12
#25 0x0000000008792bb3 llvm::function_ref<void ()>::operator()() const /home/fuzzing/llvm-project-llvmorg-19.1.4/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:12
#26 0x0000000008792bb3 void mlir::MLIRContext::executeAction<mlir::PassExecutionAction, mlir::Pass&>(llvm::function_ref<void ()>, llvm::ArrayRef<mlir::IRUnit>, mlir::Pass&) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/include/mlir/IR/MLIRContext.h:275:7
#27 0x0000000008792bb3 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Pass/Pass.cpp:521:21
#28 0x0000000008793940 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Pass/Pass.cpp:0:16
#29 0x0000000008798b92 mlir::PassManager::run(mlir::Operation*) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Pass/Pass.cpp:0:0
#30 0x000000000878224b performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:0:17
#31 0x0000000008781a78 processBuffer(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, mlir::MlirOptMainConfig const&, mlir::DialectRegistry&, llvm::ThreadPoolInterface*) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:473:12
#32 0x0000000008781a78 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_3::operator()(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&) const /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:548:12
#33 0x0000000008781a78 llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_3>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&) /home/fuzzing/llvm-project-llvmorg-19.1.4/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:12
#34 0x00000000089a9a3a llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&)>::operator()(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&) const /home/fuzzing/llvm-project-llvmorg-19.1.4/llvm/include/llvm/ADT/STLFunctionalExtras.h:0:12
#35 0x00000000089a9d6f mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0::operator()(llvm::StringRef) const /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Support/ToolUtilities.cpp:0:16
#36 0x00000000089a9622 void llvm::interleave<llvm::StringRef const*, mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0, void llvm::interleave<llvm::SmallVector<llvm::StringRef, 8u>, mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0, llvm::raw_ostream, llvm::StringRef>(llvm::SmallVector<llvm::StringRef, 8u> const&, llvm::raw_ostream&, mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0, llvm::StringRef const&)::'lambda'(), void>(llvm::SmallVector<llvm::StringRef, 8u>, llvm::SmallVector<llvm::StringRef, 8u>, mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0, llvm::raw_ostream) /home/fuzzing/llvm-project-llvmorg-19.1.4/llvm/include/llvm/ADT/STLExtras.h:2133:16
#37 0x00000000089a9622 void llvm::interleave<llvm::SmallVector<llvm::StringRef, 8u>, mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0, llvm::raw_ostream, llvm::StringRef>(llvm::SmallVector<llvm::StringRef, 8u> const&, llvm::raw_ostream&, mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0, llvm::StringRef const&) /home/fuzzing/llvm-project-llvmorg-19.1.4/llvm/include/llvm/ADT/STLExtras.h:2153:3
#38 0x00000000089a9622 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Support/ToolUtilities.cpp:89:3
#39 0x000000000877832a mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:0:10
#40 0x0000000008778b58 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:0:14
#41 0x00000000087796f3 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:605:10
#42 0x0000000001305e9d main /home/fuzzing/llvm-project-llvmorg-19.1.4/mlir/tools/mlir-opt/mlir-opt.cpp:0:33
#43 0x000072fd2fc7dd90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#44 0x000072fd2fc7de40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#45 0x00000000013057f5 _start (/home/fuzzing/llvm-project-llvmorg-19.1.4/build/bin/mlir-opt+0x13057f5)
Aborted (core dumped)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsXF9T27zS_zTiRpOMLf-_4MIN5H2ZKVMm0HMuM4otJzq1JR9J7gP99GckK8R2EiAhUPo8dJgkteXV7m9_2l1JtrGUdMkIOQfBFxBcnOFGrbg4n9EZdV3_bMHzh_M7IhXkDGa8qqgCXgoFKQmWBLrJ2B37wEmlIrWEikNBasHzJiPAS4GTgtCpSipGvFZwpIhUo4rI1UgQucIip2w5knWV019YUc4ghIpU9VhfAUJHX-6k-iKYYbkR2P6ZRk5a8bwpCQTRF-CkEEKo5Y_1BwS-o7_nbg5QLFe4JhB4F9AHKGlF6-ZFw7Kx_tDNjVIknyvCJBdzXhNhFJMAxba9_gdQgMXS0UC0LYE38e-ph4B3aZsBlMAR8C63G3RUtbIco5bR2yiwlq_hBN6ka8YEGjdpT-k_Le0JJax8d4f8p4Q7G-mYMa6wIvOCi3kjiZAv6A-Z_hSXeIxz05trhLeapBCgeFsCmuwQuxfEfofeDgPREwa6B8Hn75Duvcg3h6MniGoEW_f6BL2iC03h9nM9IlpSZwLLFVQCZ8MRo0eLHYutG6YrXhGApkXz6xdlS4CmZfmzGtWC_4dkaqT_w8VyZAc5mpohh6aUZWWTk82BC4pLkimAptdErgCaXs3s72-1HK-Al7puqLukTIX-XEFznZcCL9Xotb8Mthe0IkxSzgCKbWMN7OPPREtJpSTCxAsQOjmtbukvoiGDRsSEN0xpl2mvOQBFsMC0JPkYOOnN18v09hLKZlFRBTFcNEsdsLhQ2p8rpWrtIYCmAE2XVK2axTjjlcVlAI8GQsqGSICmELMcWligWhHYOmGBsx_GEbrvW4WzHzBvqrp1izMGTnIj-FLgCmKxbCrClDzOMYuGlrn-psx6pQ24si6pGlFWN2pU0JLAES5L_teoYYIsqVREkHyUt957QXg-XLH7Ssw3bXUH8yVhOqpqKYwQHW21ZubsOvQ7GgPPgc69s_7neokTkggaR7R8eZDtjxtBmTLo3hnSo3jTSOC_5lwqQXAFUGippMPK4aasKUAXAE1vm1qzBqDpd0bv9QG6ZLiUY8oy4KUR8jTpPWuJ27ckzlCEd1kya1gr5_8xy0sdLlB8UmXXWma1JqFOYIFVEQ3AdjPkw54y7Yh8e-x812Bn9fKsXhEqclRkSRggBxpYrLT7OJyH_qikrLkfLVnTnsjGko9DgL449z4KkNOmfC3Q7wskOCkyWKuVIDif_6BleZj0JEyKbCM9GKrrRyFcSmPgoWr7UbgRHPYFR1lUeBAvdOQ6SCyKo8LbiI22xLqLgwW6i43AuC8wzkkSHibQS0jSMTzpEtOP89h1IyvwJEGyBbuVawtD5Lm92BMlgVv4mvcxZpw9VLyRkOGKyNrEm6QdvbpK1jlv9hg8Z-QvQRW5wUoRwWzCwypbpSy35wCKdyXDWy3hW60D1ua0lWOvFCagJTDjTKrjk7mOyY_O2Urk2qaNPbebXNAJIa5rQeuFuTxKSOTjbfXTui5phhUXzwPybV2AA5Q-j8WkE1N1Ra8vnAtSAG-y4NyMvy0BLXwtlLYM3SvkJ6f5q4VsTnzlS5rhckZkU6qXybVMA8ifo_ZnO0Xhos0UNl-8khItFx79Md1ynHU-ctE6y2n3o13uN5g9i6i1zzTJcFnqwmleMOBNPunzZvS51JUS17R4RUrfzAXsgfTiTqf0u69TqzguL--VwO08wA80Y5BljDdgTJS46DNgnNTj7xAFPF2vrROn33VpnLgJ9uPnEuf_CULyh76DLgT9SaxxteAZkfLfXPwoqTbvyKK4Z9idwEwWXFR6_vZd0VJ_79ekm-8ia2swsNWPIu85W2dkSTnbb6ukVV3S4gGgWFPQ0FjbGuq_x9Ebv3XwPw6dOPK79UC4C5_XJoT3wvf3R8doF3wHIXdSfhxnUhh3TYr3MmITyq6_Xs0mnClyr9oD5J5kjSKpEf48A3ax9Eo9poUJbL0aWhe_EM9ehE6FwA8z02yj99XsO6Nq3db28Zo4tbXM1q6qbeAxAKNIk2YdkpJ3Dkm_K86YwtNpjUbOLqM3jsF1Xa6lyZTlU17mpgtaPvSSaAuErQw2h6eC_yKsP5e7JaqTa7utW-Vt6wlnBV3qBj3kfgNkiau97VueoP6KVOhEkZcfA9n-euvDoLY1jHoAPgHcyuZ7W9ogNFgTcDLn2bG1vSZwg6Vd7RMN-8Y6AL6uqjnBPD60hvbK8jhK0GLRHU85UZiWa__f8W-1tinNcf1YoouGDcpTKbcYsp87KcPlg6TyGjO81LX6mgkT2DCzXZnbddxNyo7euiRqbTBfO4pB5O8C7XSz3w8L-m-vk1CwC_k_uk5C4V4yHVAn9Zlwac5Szuz5weRYU-VtS6Lt3t65OELRnxPXTh-sAuSaJTuLRTzAwkt852AsbmhNSsqGSzC66aOJ4cnBGVLpikklzO6pHsFbyz7dBm3P7Qmr-w0WhKkrVvB1aXKKIm1Pslhn2GSAfrxI0EDpNQw7eddH8Y20teV1fx82jmKE_AWsidAlVBtM5DN7rlLl4HGPn-TzWonewtYtb0RGrpcCeJd7CsRutBv6-Lqk4lutrjFlbenYXQZ7dbnNuamwN_tF005_OyqB_m5vHMUujmJo17C-NEVhtlJfBFfD6H8bsgXXNam4eFiL6rTPSYGbUs1zUhJF9l9j7nu5fDmI3Xa2tJyZ-wfEw9Y66p3ZSb3hvLxiiojCVMMnmfe8xBF-5HXyaH9Xe-2KnTZ_RJfshvqFvN8Uad6eIucdbdoP7anWK19CjsDvFlmet4sc-1bbj1me_xgAPzu1-MeMgs1U5V1NeYr8v2XG5A02aXCCPfx3YPjfLcQd52un6-pg6Oo8LDqDx9wgmLL8ZlCe_Bbg_kTePdmie-5WCXNHULH3cCdYOXv4vPu606TQzW15Opl-V7SkipJd0xcvHJIqRGi41kV19VcS_LOP8qPendnW5JOQH5-QaPJSD1e4LP9FMrNQsMvzWlTcbOX5T89_XM_vkbv76sEi4sv50JtxPmXKJ2n-LNJsBf1uaR6VuFrkGKBonebaSHM8jwadf8ajvzG1enLfZD7VqayRa-51e6yDolfUQZ-s_Kew8jNLfpLm6Cz55hEt0BHN3sLvxbsC2iePPiSP3na-HycdWgy2K6PYQ_gfso3yftuHdrvVd4ZgL4L9e1Z2Qzxb4XbrOz2URs8B9Y4A-BaAwf5plISFdxIAPoKloRN0nT147NYJSJLDCtNjnrVe3wi4rcb6Zwdtz45tf_CAbZTnyYEP2KIkT5zHRyd9fyiQ-A6cz_U1c6mwUHNr30FdEL_TRTBELSoC2Ao_-aOhVnzbebrgQhFzE1TGBTFP85PcKrZ-zcJZfu7liZfgM3LuRr4TeInrBWer8zDyE5JEIXIXgV_gECcOIigPwpzEyCXhGT1HDgochELHcwIvGOdhmHm-izDBiyTJY-A7pMK0HGsLxlwsz8wrCM5dFMeOd1biBSmleZMLQi0dEAguzsS5MX_RLCXwnZJKJTcSFFWlefvL9derGQgujn29wlkjyvPjX6FgTfh5jv4XAAD__7iS9PU">