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

    <tr>
        <th>Summary</th>
        <td>
            Crash at -O2: Assertion `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            crash-on-valid,
            llvm:transforms
      </td>
    </tr>

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

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

<pre>
    Reproducer: https://godbolt.org/z/68MKbnE4W
```
; bin/opt -O2 reduced.ll -S
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@g_3 = internal unnamed_addr global i64 0
@g_127 = external local_unnamed_addr global [3 x i32]
@g_211 = external local_unnamed_addr global i32

define i8 @func_125() {
entry:
 %call42 = call ptr @func_178()
  ret i8 0
}

define ptr @func_178() {
entry:
  %0 = load i32, ptr @g_211, align 4
  %tobool158.not = icmp eq i32 %0, 0
  br i1 %tobool158.not, label %for.inc434, label %for.cond166.preheader

for.cond166.preheader:                            ; preds = %entry
  br label %for.cond166

for.cond166: ; preds = %for.cond166.preheader, %for.cond166
  %1 = phi i64 [ %2, %for.cond166 ], [ poison, %for.cond166.preheader ]
  %2 = phi i64 [ %inc255, %for.cond166 ], [ 0, %for.cond166.preheader ]
  %cmp167 = icmp samesign ult i64 %2, 61
  %inc255 = add nuw nsw i64 %2, 1
  br i1 %cmp167, label %for.cond166, label %for.inc434.loopexit

for.inc434.loopexit: ; preds = %for.cond166
  %.lcssa = phi i64 [ %1, %for.cond166 ]
  store i64 %.lcssa, ptr @g_3, align 8
  br label %for.inc434

for.inc434:                                       ; preds = %for.inc434.loopexit, %entry
  store i32 1, ptr @g_211, align 4
  %3 = load i64, ptr @g_3, align 8
  %conv.i = trunc nuw nsw i64 %3 to i32
  %4 = load i32, ptr @g_127, align 4
  %and.i = and i32 %4, %conv.i
  %cmp.i = icmp eq i32 %and.i, 0
  %conv8.i = sext i32 %and.i to i64
  %sext = shl i64 %3, 32
  %conv9.i = ashr exact i64 %sext, 32
  %g_211.promoted5 = load i32, ptr @g_211, align 4
  br label %for.body447

for.body447: ; preds = %for.inc434, %cleanup552
  %p_181.addr.08 = phi i64 [ -13, %for.inc434 ], [ %conv564, %cleanup552 ]
  %and14.i1.lcssa67 = phi i32 [ %g_211.promoted5, %for.inc434 ], [ %and14.i.lcssa, %cleanup552 ]
 br label %if.then489

if.then489:                                       ; preds = %for.body447, %safe_div_func_int64_t_s_s.exit
  %l_317.03 = phi i32 [ 2, %for.body447 ], [ %sub, %safe_div_func_int64_t_s_s.exit ]
  %and14.i12 = phi i32 [ %and14.i1.lcssa67, %for.body447 ], [ %and14.i, %safe_div_func_int64_t_s_s.exit ]
  br i1 %cmp.i, label %safe_div_func_int64_t_s_s.exit, label %lor.lhs.false.i

lor.lhs.false.i: ; preds = %if.then489
  %div.i = sdiv i64 %conv8.i, %conv9.i
  %5 = trunc i64 %div.i to i16
  br label %safe_div_func_int64_t_s_s.exit

safe_div_func_int64_t_s_s.exit: ; preds = %lor.lhs.false.i, %if.then489
  %cond.i = phi i16 [ %5, %lor.lhs.false.i ], [ 0, %if.then489 ]
  %call12.i = tail call i16 @llvm.bswap.i16(i16 %cond.i)
  %conv13.i = zext i16 %call12.i to i32
 %and14.i = and i32 %and14.i12, %conv13.i
  %call26.i = load volatile ptr, ptr null, align 8
  %sub = add nsw i32 %l_317.03, -1
  %cmp482 = icmp sgt i32 %l_317.03, 0
  br i1 %cmp482, label %if.then489, label %cleanup552

cleanup552:                                       ; preds = %safe_div_func_int64_t_s_s.exit
  %and14.i.lcssa = phi i32 [ %and14.i, %safe_div_func_int64_t_s_s.exit ]
  %add.i = add nsw i64 %p_181.addr.08, 7
 %conv564 = and i64 %add.i, 255
  %6 = and i64 %p_181.addr.08, 255
 %cmp445.not = icmp eq i64 %6, 22
  br i1 %cmp445.not, label %for.end565, label %for.body447

for.end565:                                       ; preds = %cleanup552
  %and14.i.lcssa.lcssa = phi i32 [ %and14.i.lcssa, %cleanup552 ]
  store i32 %conv.i, ptr getelementptr inbounds nuw (i8, ptr @g_127, i64 8), align 4
  store i32 %and14.i.lcssa.lcssa, ptr @g_211, align 4
  ret ptr null
}

define ptr @func_183(i64 %p_185) {
entry:
  %call = call i64 @builtin_uaddl_overflow(i64 %p_185, i64 0)
 unreachable
}

define i64 @builtin_uaddl_overflow(i64 %x, i64 %y) {
entry:
  %0 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %x, i64 %y)
  %1 = extractvalue { i64, i1 } %0, 1
  %conv = zext i1 %1 to i64
 ret i64 %conv
}
```
```
opt: /root/llvm-project/llvm/include/llvm/Support/Casting.h:578: decltype(auto) llvm::cast(From*) [with To = llvm::Instruction; From = llvm::Value]: Assertion `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /opt/compiler-explorer/clang-assertions-trunk/bin/opt -o /app/output.s -S -O2 <source>
1.      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 "<source>"
2.      Running pass "slp-vectorizer" on function "func_125"
 #0 0x00000000052803a8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x52803a8)
 #1 0x000000000527ddac SignalHandler(int) Signals.cpp:0:0
 #2 0x0000776446c42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #3 0x0000776446c969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #4 0x0000776446c42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #5 0x0000776446c287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #6 0x0000776446c2871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #7 0x0000776446c39e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #8 0x0000000000b6a41a (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0xb6a41a)
 #9 0x0000000004253c98 llvm::slpvectorizer::BoUpSLP::collectValuesToDemote(llvm::slpvectorizer::BoUpSLP::TreeEntry const&, bool, unsigned int&, llvm::SmallVectorImpl<unsigned int>&, llvm::DenseSet<llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::DenseMapInfo<llvm::slpvectorizer::BoUpSLP::TreeEntry const*, void>>&, llvm::SmallDenseSet<unsigned int, 8u, llvm::DenseMapInfo<unsigned int, void>> const&, unsigned int&, bool&, bool) const::'lambda10'(unsigned int, unsigned int)::operator()(unsigned int, unsigned int) const::'lambda'(llvm::Value*)::operator()(llvm::Value*) const SLPVectorizer.cpp:0:0
#10 0x0000000004253f67 bool llvm::function_ref<bool (unsigned int, unsigned int)>::callback_fn<llvm::slpvectorizer::BoUpSLP::collectValuesToDemote(llvm::slpvectorizer::BoUpSLP::TreeEntry const&, bool, unsigned int&, llvm::SmallVectorImpl<unsigned int>&, llvm::DenseSet<llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::DenseMapInfo<llvm::slpvectorizer::BoUpSLP::TreeEntry const*, void>>&, llvm::SmallDenseSet<unsigned int, 8u, llvm::DenseMapInfo<unsigned int, void>> const&, unsigned int&, bool&, bool) const::'lambda10'(unsigned int, unsigned int)>(long, unsigned int, unsigned int) SLPVectorizer.cpp:0:0
#11 0x00000000042e2312 llvm::slpvectorizer::BoUpSLP::collectValuesToDemote(llvm::slpvectorizer::BoUpSLP::TreeEntry const&, bool, unsigned int&, llvm::SmallVectorImpl<unsigned int>&, llvm::DenseSet<llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::DenseMapInfo<llvm::slpvectorizer::BoUpSLP::TreeEntry const*, void>>&, llvm::SmallDenseSet<unsigned int, 8u, llvm::DenseMapInfo<unsigned int, void>> const&, unsigned int&, bool&, bool) const::'lambda6'(unsigned int&, llvm::ArrayRef<llvm::slpvectorizer::BoUpSLP::TreeEntry const*>, llvm::function_ref<bool (unsigned int, unsigned int)>)::operator()(unsigned int&, llvm::ArrayRef<llvm::slpvectorizer::BoUpSLP::TreeEntry const*>, llvm::function_ref<bool (unsigned int, unsigned int)>) const SLPVectorizer.cpp:0:0
#12 0x00000000042deacb llvm::slpvectorizer::BoUpSLP::collectValuesToDemote(llvm::slpvectorizer::BoUpSLP::TreeEntry const&, bool, unsigned int&, llvm::SmallVectorImpl<unsigned int>&, llvm::DenseSet<llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::DenseMapInfo<llvm::slpvectorizer::BoUpSLP::TreeEntry const*, void>>&, llvm::SmallDenseSet<unsigned int, 8u, llvm::DenseMapInfo<unsigned int, void>> const&, unsigned int&, bool&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x42deacb)
#13 0x00000000042df8a0 llvm::slpvectorizer::BoUpSLP::computeMinimumValueSizes()::'lambda0'(llvm::slpvectorizer::BoUpSLP::TreeEntry const&, bool, bool, unsigned int, unsigned int, bool, bool)::operator()(llvm::slpvectorizer::BoUpSLP::TreeEntry const&, bool, bool, unsigned int, unsigned int, bool, bool) const SLPVectorizer.cpp:0:0
#14 0x00000000042e03d0 llvm::slpvectorizer::BoUpSLP::computeMinimumValueSizes() (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x42e03d0)
#15 0x000000000431e02d (anonymous namespace)::HorizontalReduction::tryToReduce(llvm::slpvectorizer::BoUpSLP&, llvm::DataLayout const&, llvm::TargetTransformInfo*, llvm::TargetLibraryInfo const&, llvm::AssumptionCache*) SLPVectorizer.cpp:0:0
#16 0x000000000432015d llvm::SLPVectorizerPass::vectorizeHorReduction(llvm::PHINode*, llvm::Instruction*, llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&, llvm::SmallVectorImpl<llvm::WeakTrackingVH>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x432015d)
#17 0x000000000432494b llvm::SLPVectorizerPass::vectorizeRootInstruction(llvm::PHINode*, llvm::Instruction*, llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&) (.constprop.0) SLPVectorizer.cpp:0:0
#18 0x000000000432904f llvm::SLPVectorizerPass::vectorizeChainsInBlock(llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x432904f)
#19 0x000000000432fa86 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
#20 0x00000000043305bb llvm::SLPVectorizerPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x43305bb)
#21 0x0000000003036f1e llvm::detail::PassModel<llvm::Function, llvm::SLPVectorizerPass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x3036f1e)
#22 0x000000000507d7f0 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x507d7f0)
#23 0x0000000000e7023e llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0xe7023e)
#24 0x000000000507c10b llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x507c10b)
#25 0x0000000000e6f8ce llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0xe6f8ce)
#26 0x000000000507bb10 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x507bb10)
#27 0x000000000094448a llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x94448a)
#28 0x0000000000936a29 optMain (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x936a29)
#29 0x0000776446c29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#30 0x0000776446c29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#31 0x000000000092e305 _start (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x92e305)
Program terminated with signal: SIGSEGV
Compiler returned: 139
```

llvm version: 7e01a322f850e86be9eefde8ae5a30e532d22cfa
I am working to provide a single-pass reproducer.

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsPElz2zqav4a5oKgiwVUHH2jF7pfqZF4q9qSPKpAEJYxBgAOAsp1fPwWAFBfRkRy7p7tfJZVFAr99B4gYSUl2DOMrJ7p2ICxV8fTj-dGB0Ik-fkCt2nNx1S1-yHn5fPUNN4KXbYGFE2Rgr1QjnSBz4K0Db3e8zDlVKy52Drz94cDbOP3y95zdhP9wvMyJve63lznBNcgJc-AtbxRw_4RAYE20XFEK3DvHyxQSO6xAiRSi6Jm3CjjBR-BAiN3aCTLsNjDxnCALoPlLf_WnX_WnODR_ueT4wYepE2Q-TN0q9bpPzCzFPXocuncaDMJBDiVIQ3Evw1Mab-PQbdkD44_MpYS1T-6OtRZF_w693TYw4IQpLBiioGUM1bjcorIUYEd5jiggcQi8Ht6HicHATx0G5QWi2yU8J7oOwBMggfZTjw99_1J8jWgELXFFGAYkBU7oVS0rtj6MHK38GjjJteNlmCnxrF3sZcCBUYEoDaHhoz-CRokBNUktqoYFAitN16iXfJywW0Ra4KcZeoYX5ag0UsNNj20U1t8RJTsGwh5B8Zxz6kfpinEbNaSoG4D_V-MbihrJM-C5AMQ_QdLPKcox1U8qLlaEFWEQniwXnJV-HK8agfcYlVhYJZcfBRn4yS-dEI3ApexCLLJm6GRc4nrCS3M4IbMsC9ycEjO2swHU7ImJTCe61ovwFB7osNOr0TVoOJGcncIM_IANUsMBLnEgrIBR9HM23qUcirrx42RwvEQ11kUOtFRZpp1Ksd-jWP4GBZUlYO0jYPJxAuxP48UyeSkiXgigFeW8wU9EDb6bPzjjw17gFS2kREum9F-wokaUigvca2VJTPIpGLIpXQy9Lg9m0p8J7Z9F-ZIJrPxD_HdSBxD4F2R_MCoXcfhz9bQfOTusiMFRomXF3PcBULyrlgY-fLka-TBZkAexsqOPWNlXoLBT0nIfBW4HOitYhsZQtDrEtAOW-ElNII3I8VEC89wA7ulRLU1t0EqTW_diyr0A-AkVx2TRBKbwxvirRvCaK1xGr6rQ85jSU0UYJkNQ9QsvpcJQjLXkFCPWNlF0lK3Z-qm_0s1u5aUnGeL6wShBLKlxlemMEcWnDMY1BrHSD1fEt0nUVRvDR_vB0pkZ6RzbjuSQlovMx9Yj1UrtMQvTtTXe6PvbMrL3gBVCogpvS3LYmnZNmIrDrdrKrVx1pcxYhG4DP1l5wYklxt2jIzzTXLb5RayWHACXLD_3zlkJOoTXSTHuBRb36JkzJhuDUi5WdC9XFaISm1rgeNl8cSkVJt43NilJX8pkSQ599nalYlRx1kPJiUaVr4O3VHQJ8eOThD0bC46XnYFZ0mWur5X1VEPd0DoVjcv9uPdgn14zSksDxEB2MjUgSn3YtwJEqB1vDYvQo_RQr3L5iJqVNgtMzXovUD_xdvb1g47MD1OZO8ie_tBPhsCb94djdI-8pqmOhYVxh2cK74FTpAg1o3VfgVlL6ULLk20-TDq601mefQJrDNcf9aQwhaNhaqeWELyTjAhTOInzkTPHy5P67XjZ6Puv17DLKtak4P6kjLy-NpXHlt-b2KbWpDVpskm_qbItZwgDC28IaTgd3x3xeA50QrQD7twQRqfbIItoplQITz1nUU5mWMzKKI5Olk_6dwf36-477ekTV5112JkWOhoohxGsS5kdVpjiGjOlvxGW85aV0gyFOunTpYFPm9NsemeDzoTNggbnBiW9fz6m8Zk9dBpo8YaAiF7eT5uydty-G5zQy1tCFWHbFpUl3fIDFhXljyc0N92Bha13LRMYFXuUU7wg34WUn3qqDoyez50CWNmT63601zGbfDwWaM1j9UjUftXzWRnAl3hNd734SQlUqAOiLV5i0h0c-ONSPy7zltIwe5vzj6EHDyYan4ONPvPGNkd4K7hOv1utk9sI_j-46L868JawgrYlHhbu2qbhQkNskFSE7VZ7J8iiJNXUSlxQ9dxgB6aoVVwb2KAFmRNkBZLKgemt4LUDM2P86FrbD9xz21qOoJ-YVKItFOFM56tGmUF813bTKRZkIJMSCw0LnNgjEjnB5p47wY0D0--IGkYwdqBujNAIEWzun-1z_RCJXatzEPAKEFbwukGK5BQDq4nvQOjABFSIUFyuHC_7-vkmu7sBss1rogACebsDAmuraH_MDimJ2rf5qtA69yacWZpI2WLpwFtbZ63BgdpjUAgk9yBHxYOOFax53ylUPICyrRsbrt7K8dZfBd8JVB81kZ1ntY_hrdaIUCxc_NRQLrDQaxSxnYt6w0lXD2UPDrwdHZNyTQI1jf7eqqZVKwncO3N86gQbyVtRYG1FL_O1EN9axgjbgQZJqS2tS4V14AajHRYuYQdr9IpypCBhuuhT_oiFW3AmFWLKJUwJwiQppHnGGwem-h9XcIUUdoKNPYFxy7ahpEBdhDDuNgI3SGC34sKlyrrfUHBLTLGBM0XTLhGpBMlbhR24IUw7wlWUuDVqGsJ2PXP3gAvFBfmhGTPumsNVitHBsClw6XJGny3_I-jskRWEsAoL19Rb7aCevh6mXExJbUCkKnidE6a51ejJJQoLo6F0go9-z0aQ6tmtyFPDtQUNdUnqhpLquah2TrDJOWulq8m5ai-w3HNadgQqLh6RKF35SFSx12YvneC6-yYQ22FXcVd37mFZcZdy_tA2VoAHjLXcXMf49Z4TqdyC1zVnhqO0QHZdaydd05ikqxPdMHQr1OoavdMsCHuYo8sGFy1FCrs55cWDWer0s_i5QKzYW0YDcMt0VyeF0g1CdnahIxfqQdV-cXszv8noxoEtE5xSJ9j8Ce2qEojJiovafURC54MWQ3BdkxqBJRYH7Bo3LUfFW-WpTadPKSlqJ9ggSvljbyKTKTc2CY4s3UrwWteBtm4sk46Q9kwnT299B25KcnAFrt0GEaFB9c5Fd8kuhC-OQ8bdV4Wi9vRpNE5C8Rh1s3C6NBQ1izdF409Dce1ACDgDNS9binV5nJRQMxfDpSo6D2FDpS-tfZm1b1G6XV7gAe_J639FMPUClI46p3yW9sNXQZgy_eRedxcdNkcggR63XCqBUW165waYcq07afrGxuLAa--pE6ubihwY-FOhk7JEBbgjO4boH4iVVBNPOxnsslwVjW6CnvljqcCOSpLEYRgXIYyg14lMSe7A2-5V2ugVmn5QrCRfxUYwgzKIFUwJruN1VYBGhzMqtw9Ez4evoW7wB-rhXNwwicFOGvVeK3aYxAPhaEoYpkkVAJTrCeVVZA3iQDY-Ievnrybo5wPBZEowWON1_DqCBmUgmI7DyMtjFProvWLWUht4rce8QhgFxXqSZ7QZJa5Zuub_3dx9_tqNw5xSXCgzyMp7_hHXXE2T8ByFe4Hxjd65ADM_dYmac27OYVpm3rWXNnPtS6Ij6bsaUfrdEP9UN7qBTcB1SZphfMRM4jush-c3SJgtEP2Cmk-s4u9A-MBJqWVfEN8oPNJhap0NSNufSjYHHzhNbL9gc-uO0cd1h2HYODChqM5L5HuO3t-nc0bT72uLxRs9E3DRvf4-i7XI0fKb76jMxuwFLouwlja4-_z1-9Fhs8qsy7s3T5YqToxBRjbv29pW4MrMD9xUwbMmuen3l5TqvdK2Yq-Kpd-J-DsRfyERb8zW1Az44Fz-ncsOf5odGAY-_N1KfkfwL0VwvBTAMx0yIdDzN1Nm32Qps_N8lxJ-YW_7D9Djwo4IpzlfYlTkv3P-d85flvPvtanpAs_uanRYBrOwrFLkvSos66ZV-AthpG5rE5135AeWXTpPK5U3n0HfFrLLoXv6fQp_ftr9l0h1YRUJZ5ODF5Tv5673CzIj1xBk0UTqwMceLDUzxDh7rnkrAUM1lo05luoc9IdWgjOF6Ddc9u-G9AMlnu-5Wbu4_p1UJ6TQZ3vve-zCAeDe3Mu-7w93TVrPq5GF-UxygcSzhniBVnY8bd2gYt9vo845Op6aDHp-VI4L1Bj9K5LdGd_RAH9wMZhtbKWvf3z6L17iE23Gr-Dmz66RJMU15cXDyaNXGP20iQzP_oGROZV8IGz3_Y--Ir9fQFr7DQGZzKwbrsP8Fdb9xrmaGOxfZmBjopUJvEbwZuVdElvpTPu1F1av0H6zR4TJT6wTOH03Pd7J1VqdwdXrmbIVSuPzyoqWmSAda3fbv-E8iewCUSRuDpy2i-79pWpyApFl37BsqZInTz5z3iyifOQ1YbrL6ZZ1SnChME2HmhqxEpfXZIHnn40iNflh3jN9wzUSDzc1UUq7KuvDskFCXRSRcHpcFARelF-Qj6JllzkoY4g-SyK_IIZ2Ovw2C0jvX3SMGsdIhJNdf-AFceXjkZAlVojQroggKb_wEtNlUafRd2KcX9K9P1b79zZqZ7bBqJNtVeQlZVKNByJjyJ8J-Be2VWeNwVaTWd_DiQeD9wjAf5qN_8K-scYfXBPOwrjwvXEB_GLeI9_zXh5t8qxEjd7ALGprEV6la4fyT4hCrcygajSNwrhKi9dFYa_b5kID_YIFXgqifx-zWrsNVo1nAZTn_iV1cMmWfxUTdVYYbDSZ-r11GIYpGokoWhM2X0mDqbkuNNLqTgnCdt9wtRR2L2wfv6Bib-icG_XspDmH4pz-ae7h3RK6QORNj19QZ_F41diEtjvCTmvyAC9VaddG9wAPnJht_pTWdUuo-W-icf82b0aVN2qrOO9qgNXi74SVP4P6jgWpCBY93Pw05rJ_3y30bGwNkTe9p7AOYgTXgDfqCyLs3XgaqgPP9ez2xrpcv_JyjEE5EjxeNDoSxKEHtluNs5UKCbWtB3UuZoHDEQt_aieIAy8Clvi7mckQtSz7i7QKC7NRwiUwF5TtlRwnyMDdp7_d3fztu-Nlm44lEFi1gmEd7sAP1vM7116mYxQcsJD2yAok2PNRAGGVRh5O4xyvMa5KnCIcocDDUQBLCIsKOV72CaAaPHLxQNgOKA4awQ-kxAABSdiOYtfcExPHn5KwcrzsQ3kVlOtgjT7gKz8J4iROEm_9YX-Vx35S4iRFXoC9IEY4SYsqQYVXpHHsofUHcgU9GHm-H_g-TOF6hcsAe8hf53ES5ekaO6GHa0ToSqu04mL3wVxevvIhjNf-B_M_NWT3wx3M5WWXM_eAKCnNJeqNA2GXsMd7krL76Q_iSj9x83YnndCjRCo5cFFEUXy1MdehkfkJDv_v974_tIJe_frd7s5Chyv4fwEAAP__Y_Juhg">