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

    <tr>
        <th>Summary</th>
        <td>
            [clang][bytecode] Assertion `ByteOffset <= *FullSize' failed.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            crash,
            clang:bytecode
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          k-arrows
      </td>
    </tr>
</table>

<pre>
    The following reproducer is reduced from clang/test/CodeGen/object-size.c:
https://godbolt.org/z/GKaezdadY
```c
#ifndef DYNAMIC
#define OBJECT_SIZE_BUILTIN __builtin_object_size
#else
#define OBJECT_SIZE_BUILTIN __builtin_dynamic_object_size
#endif

#define strcpy(dest, src) \
  ((OBJECT_SIZE_BUILTIN(dest, 0) != -1ULL) \
   ? __builtin___strcpy_chk (dest, src, OBJECT_SIZE_BUILTIN(dest, 1)) \
   : __inline_strcpy_chk(dest, src))

static char *__inline_strcpy_chk (char *dest, const char *src) {
  return __builtin___strcpy_chk(dest, src, OBJECT_SIZE_BUILTIN(dest, 1));
}

char gbuf[63];

void test4(void) {
 strcpy((char*)(void*)&gbuf[-1], "Hi there");
}
```

Backtrace:
```console
clang++: /root/llvm-project/llvm/tools/clang/lib/AST/ByteCode/InterpBuiltin.cpp:2492: bool clang::interp::interp__builtin_object_size(clang::interp::InterpState&, clang::interp::CodePtr, const clang::interp::InterpFrame*, const clang::CallExpr*): Assertion `ByteOffset <= *FullSize' 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: /opt/compiler-explorer/clang-assertions-trunk/bin/clang++ -g -o /app/output.s -mllvm --x86-asm-syntax=intel -fno-verbose-asm -S --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics -x c -fexperimental-new-constant-interpreter <source>
1.      <source>:19:3 <Spelling=<source>:9:69>: current parser token ')'
2.      <source>:18:18: parsing function body 'test4'
3.      <source>:18:18: in compound statement ('{}')
 #0 0x000000000402cd38 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x402cd38)
 #1 0x000000000402a164 llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x402a164)
 #2 0x0000000003f6e618 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007facea642520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007facea6969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x00007facea642476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x00007facea6287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x00007facea62871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x00007facea639e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x0000000007aa1c26 clang::interp::interp__builtin_object_size(clang::interp::InterpState&, clang::interp::CodePtr, clang::interp::InterpFrame const*, clang::CallExpr const*) (.isra.0) InterpBuiltin.cpp:0:0
#10 0x0000000007aa41b3 clang::interp::InterpretBuiltin(clang::interp::InterpState&, clang::interp::CodePtr, clang::CallExpr const*, unsigned int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x7aa41b3)
#11 0x0000000007de4b75 clang::interp::Compiler<clang::interp::EvalEmitter>::VisitBuiltinCallExpr(clang::CallExpr const*, unsigned int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x7de4b75)
#12 0x0000000007de4f2e clang::interp::Compiler<clang::interp::EvalEmitter>::VisitCallExpr(clang::CallExpr const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x7de4f2e)
#13 0x0000000007dea57c clang::interp::Compiler<clang::interp::EvalEmitter>::visit(clang::Expr const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x7dea57c)
#14 0x0000000007ddfe12 clang::interp::Compiler<clang::interp::EvalEmitter>::visitExpr(clang::Expr const*, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x7ddfe12)
#15 0x000000000797ae71 clang::interp::EvalEmitter::interpretExpr(clang::Expr const*, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x797ae71)
#16 0x0000000007954d52 clang::interp::Context::evaluateAsRValue(clang::interp::State&, clang::Expr const*, clang::APValue&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x7954d52)
#17 0x00000000078cc7d3 EvaluateAsRValue((anonymous namespace)::EvalInfo&, clang::Expr const*, clang::APValue&) ExprConstant.cpp:0:0
#18 0x00000000078d3aae EvaluateAsInt(clang::Expr const*, clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::SideEffectsKind, (anonymous namespace)::EvalInfo&) ExprConstant.cpp:0:0
#19 0x00000000078d3e22 clang::Expr::EvaluateAsInt(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::SideEffectsKind, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78d3e22)
#20 0x00000000068ae769 clang::Sema::checkFortifiedBuiltinMemoryFunction(clang::FunctionDecl*, clang::CallExpr*)::'lambda0'(unsigned int)::operator()(unsigned int) const SemaChecking.cpp:0:0
#21 0x00000000068c47f6 clang::Sema::checkFortifiedBuiltinMemoryFunction(clang::FunctionDecl*, clang::CallExpr*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x68c47f6)
#22 0x0000000006bd2701 clang::Sema::BuildResolvedCallExpr(clang::Expr*, clang::NamedDecl*, clang::SourceLocation, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, clang::CallExpr::ADLCallKind) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6bd2701)
#23 0x0000000006bd382a clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6bd382a)
#24 0x0000000006bd54cc clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6bd54cc)
#25 0x00000000067016f7 clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x67016f7)
#26 0x00000000066fa6ca clang::Parser::ParseCastExpression(clang::CastParseKind, bool, bool&, clang::TypoCorrectionTypeBehavior, bool, bool*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66fa6ca)
#27 0x00000000066fc927 clang::Parser::ParseCastExpression(clang::CastParseKind, bool, clang::TypoCorrectionTypeBehavior, bool, bool*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66fc927)
#28 0x00000000066fc9b9 clang::Parser::ParseAssignmentExpression(clang::TypoCorrectionTypeBehavior) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66fc9b9)
#29 0x00000000066fdccc clang::Parser::ParseRHSOfBinaryExpression(clang::ActionResult<clang::Expr*, true>, clang::prec::Level) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66fdccc)
#30 0x0000000006700ee9 clang::Parser::ParseExpression(clang::TypoCorrectionTypeBehavior) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6700ee9)
#31 0x0000000006704c74 clang::Parser::ParseParenExpression(clang::ParenParseOption&, bool, clang::ParenExprKind, clang::TypoCorrectionTypeBehavior, clang::OpaquePtr<clang::QualType>&, clang::SourceLocation&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6704c74)
#32 0x00000000066fb5b8 clang::Parser::ParseCastExpression(clang::CastParseKind, bool, bool&, clang::TypoCorrectionTypeBehavior, bool, bool*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66fb5b8)
#33 0x00000000066fc927 clang::Parser::ParseCastExpression(clang::CastParseKind, bool, clang::TypoCorrectionTypeBehavior, bool, bool*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66fc927)
#34 0x00000000066fc9b9 clang::Parser::ParseAssignmentExpression(clang::TypoCorrectionTypeBehavior) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66fc9b9)
#35 0x0000000006700ee9 clang::Parser::ParseExpression(clang::TypoCorrectionTypeBehavior) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6700ee9)
#36 0x00000000067847d9 clang::Parser::ParseExprStatement(clang::Parser::ParsedStmtContext) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x67847d9)
#37 0x000000000677bf54 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x677bf54)
#38 0x000000000677cd99 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 24u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x677cd99)
#39 0x0000000006784eeb clang::Parser::ParseCompoundStatementBody(bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6784eeb)
#40 0x00000000067856fa clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x67856fa)
#41 0x000000000668d18b clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x668d18b)
#42 0x00000000066c35ed clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66c35ed)
#43 0x000000000667ff5e clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x667ff5e)
#44 0x00000000066806ff clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66806ff)
#45 0x000000000668853a clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x668853a)
#46 0x00000000066894d5 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x66894d5)
#47 0x000000000666943a clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x666943a)
#48 0x0000000004953f98 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4953f98)
#49 0x0000000004c4a4d5 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4c4a4d5)
#50 0x0000000004bc5d4e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4bc5d4e)
#51 0x0000000004d3e441 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4d3e441)
#52 0x0000000000db12ff cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xdb12ff)
#53 0x0000000000da7faa ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#54 0x00000000049baee9 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
#55 0x0000000003f6eab4 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3f6eab4)
#56 0x00000000049bb4ff 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
#57 0x000000000497dced clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x497dced)
#58 0x000000000497ed7e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x497ed7e)
#59 0x0000000004986605 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4986605)
#60 0x0000000000dad7b5 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xdad7b5)
#61 0x0000000000c625f4 main (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc625f4)
#62 0x00007facea629d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#63 0x00007facea629e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#64 0x0000000000da7a55 _start (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xda7a55)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
Compiler returned: 134
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzkXF9z4zaS_zT0C0ouEvyrBz_QspU468RzI2-q9l5UINiUcaYIHgA6dj79FQBSFClKHmetSfaSmiQUCTT69-tGdxMEhkjJNhXAlRNeO-HNBWnUExdXzzMiBP9NXmQ8f7t6fAJU8LLkv7FqgwTUgucNBYGYRAL0ZY4KwbeIlqTaOHipQCoHLxc8hx-gcvCSZ_8DVM0k-x0uqeOnjps-KVVLfYmXDl5ueJ7xUl1yofv_7uDlD_8g8HtO8n85bupErv1D9Q_ss6LKoUA3__ol_fluYe_lULAK0MP1T7eLx_Xq7r9v19f_vLt_vPsFrddZw0rFqrXVY631sL2glPCB_vlbRbaMTsipclboy31ZUglavzk4yQ0fCyQFdfAcOaHWGSEHJw5OJkbc6-KaDthz_Bs08_55f78vADn-ck-79dqOuKZPz2g87GIK2l4jz8HzkewUrdesKlkFe4IP4Og_BrhURDGK6BMRyMHpRF-tVPe4E0J5JdWuU8dQfG2UEKAaUR2B-AcROr6W7cQ3Vmsz8iZrCie8jnwnvGmfu-kLZznSrhw4ONE_9jTbmbZF5ODUSG_b2R9RK3bmabF4gRyMf2RIPYEAB-OxLp2T29GvCX1WglCw06WfArySvNRu1862a_3HT5GDl4JzPe_K8mU7qwXXPtr-1JOS81I6eNlN0pJlDl6mq0cHL6_fFOjZ6uDlXaVA1NeW70ta146f4mCO9RAZ52U7yf3U8VNm2u5fT081nBzpZAdbKaLAwZFxh-mGWrkvSuw5zCmBS0G2YKww0XxByvL2te5M5qcolRKEYrxCTuRqKh6KQoJCjr_Q087B6bIpy5VBEqOCsBLyS8dNv9zfpqtbJJtsyxQiKGtMdORCIcXRKMAx9dRkl5Rve4uM7MSkbEBbCJEqR6yiZZOD9hZEBZFPKNt5BF6g2oRhClJCjiRvhL2texIpOWVEQY5EUyFJBauV1nelCH1GebOtrU-5l447_yL4RpAtImLTbKFSsvUlXmudKN_WrAQxg9e65AJE50Az0pEmZ0o01bODlxmrev_SbolmGzTjWhqpay2zUXWjLiWabTV2NJu9JtGMyO1MvlWKvDr-jTZmiWZFxWcvIDIuQT9HsxWazTaUzrQX0yfCKse_OamlbiwrUssnrtCsoLzkYpYzsqm4VIxKO4Zhdnj7FVE0K-C1BsE0IaScVfDbzPgRqdTMupsABUJ7SMu9f-u4qacJHdzzU0-7mK9brmooS6bd8GbURjeJ5vYa0UYIqBSqiZAgkOLPUCEHxyakxI6b4qlRku4_pp_O00VTUePUOodrAW0o0yL80yJYhTSlvKlypKM6aB5suop1AIxvWn1c7Sq-i9xXt_sncDHN_QQZHzcTTr5Je_FFsEoZJ3y0bpz0jQT5bc2lEkC2bSRglbK5L_kkb3Twtfvaqtcr742UJ14UTCm_KIFUTf1QrdimIqWDk6YytVOOSq6HOIeqWpleVbyvql9EEHkJWmgP_gqUv4B4s7r9SKq81CMmLYeDNgteKXhVbWh3zb9Wvt_KjwtCgUQBDrHbgrLJ4jWJ1lEwK1nVvM42VWMf0EvJLyOrsu7SKxwMBc6jeUFRrZ4EkHz9zMryY9JN_156OFY3iCO0kYaCj6odxFEvOBoKxklc-IhkOq5_SKzp2IuND8R62YcFelkvMBkK9Ocwjz4m0HTpBc73HSwmxKM4-vPz_buZ3ub4Lt8fZvq952aSXjIpyKWprKeqnW5K6ODgjhgJvMw_rZEA1Yo7Gw0TuBZoF43OEzdb7G2xj31vEDfjHIIsDo_DsOM7_uJIi9sXUt5umVK60a299yuTrOOyL9qSP5sIC7UnAo-JKDCcgYhvZuAsiAsMPWJ_hJiEMf1cxC8a8RDpd0CpcfQogyHKvAAPnwHloU0PPFq_dp0FscHUIw4HiOcxgdg7hniAp38o4NsBnQ-YVb0HFg2BhUEenjClKY_sD3ghZUMUpPLrr6RsTmS2I8H8APres_RLKzM6CwcGZc9BPOAgoTTOfXR7iM_BCal49bbljUQV2YKsTa0-7-1-VxX834GqWy7a16mJnJsMNc19QmBP07vqdGQ4UKpX_CvIplSHqqerx9bsnZwpcK2hWQ63RQFUyX-wKrfLOt9O2bvo52P0gPFxRCcoOTvsbvbaFZbP9l-LfOe_eFCJRQmBOJrvq7qCLbFX9Ano85ILxQoGeVtA_AxbLt6W7TvxkK3u7g3Q8ngVuVsvMms6cUm2WU5c8yKcjGoO24jXIIjiwjAzP2zVEqcVX2iVWbU59AfsDXHTIC6iPwH3Z9u3RdLbd1BGRVmOY9ebxqmR5V9B8vIF8umyaKf3ANEvZAv5NNiVWQi555RYmhZ7SwCpEOTtKxTD5N4N4d--K2pasS4JTlFux7251zfsdPt8A1iKewP4IwP4CSYnDDBN_IryGo6E4Q-R_nOjSFbCmbk_UwHSstdzG4y4DQNKp7lNqXo48rbzH8HtObjUbPVcDqrUKHa9qIj3Vfli1k33rr9wqQr2qlUEKRmvVk1RsNchuamJhG2mnCQEL5ASjVksPQNKi6NHOShZo6ggESUnUS6IVD3E8VuiVKbRMHV3_x9n_ce3mi-4EGA4eXyr4RqeyAvj4rDvWUxu4fZkxCMy6ByfNvkfIuOvxYDG2DOQHDCQzU8ykJoP-1uojvJwCuN5AGXzHtB8BCinw4h4AOjrj6uH4ppVRLwdQ_SxOTwweC2A2qt7eIGz5ASLccfA8KtJFLsuwGmT_jUMaRXtYXgjGAGNg9PhmAiojmExD02zh9qmmejIFN2J6abxN0_fvYYPNfnfxqywDtzlvxpS6l7GT8bRcZwHz_H23vLYs4xH0yULs-RvlA403J4M_--eDvzg_1k68MdF3X9oMBxWbXESxPn7MFbdF_aDUDhsm6_UVnXLk-cAY9TtwQyrrjjOivB0ZN8BeRD6LZsIEyHTQoFIlRIsaxTIwVf_1ZaU5a9AFR9FYA21Tdg4aCbj8Dv8nIzZ47cl239fycnRxi3OYAPDcm-DZGQDms9PO9S0Df4qpJ-DME1JT9h8PAMBstO5od3osiPumudvDk7OtTRgVdopHIzKwCSMitMvet2q3VjhvT7Ta1yHvmIXFM7jyAZID3NYJkZJ7iWn7dIvThasYoeLl1_sNqfOyXV8f99ZH2Fbl0TBXVXwY2ve-73uiYJ-5t-zc318bAnp6RrVe9QPIT8JTfPwg-BNfZSlVQ30EG3P3_Qk_sbIeJTl9-vnU2665OIrqTZwV7GzMW-47ZkfFZdxUYTwLvMPYs9dze4Ou0Xs308xBy1OWjOlFKTUz1jB4DyVm2Gk52tUiiZuVBTv8tWmpQFtR2f5p7N28HXyO7BmeOlZC0esJaF_OurfvlqnGib178DUObjQaHsuRkudyTzIw5NcPPLarNLYNJe8_z6_C45mtXvqnX63_v4zz5sS7rY1F6r_pn8OEjTMnoTREmc0DyYcwmzWT8Z6D5dIzlW3WJV6hQeVaTAP_WI-WJFoD__YNbluFQ5ooyDtPkWeY8-sVaRXc1APBjQgI-daCp32qnxCzzNpaHXYaRgOd09nNMwDGBJpx7wzWwbseZBDLo9DOov_tnr2KIbbqHMfgsAbfiAy-vZgXnYFQHIK7FlCUKtfr_2g3HLzzMM6iVFvvSVs-PK0_9HsieztO2mXlAf38AL154E-G4TVssfgDzGQuCAEdbQvvEcTF6ZfA--2dTkJKBp-ONQyDneMzFEu2AuIw80LYTAMEhkBmBtK9oR25xTWwrBqnrZbJrqNcpSUZUbo87qohoHdDty6zsJb8O2WVPl4Fk9aT6q2HTcLzUQTsEeOEqzatOnCmnbXYb2mr6-eZ39kRDK6lqZ5S-Ggsb6xVoIwJbvHI3GkLPVUsC_j7XPdJB2tKVrCTZfd9hO7-6SlCifdQYSfeDZhjHB8fIBk-ycdpg4J2Cdfm2pFCijfBlyettvn-3urce_w0ci5smBYef7tnMPsba-JUHZv-7QXxEPW4pwO3ywHrBmrkYPM2FE5CN2jjrrBsVfsE03TQTlzps1lLezelUbFTAx5DB8l5SeeyeOM_MSzeyaHG-1OxeKdB9SEaeObLWPfTmLrJt-FSk1WT-Ww4JonUeSGx9S-2bseFAgTlcExE3xHKs9QrRp6duRF7iiH53HWktdVIp3y3Znj9Nsy9GfXHkazXu9B9efSCIdFgLTGnz2wFd0PjEdnqub5_INH1kyXXqA_FgiBi9Zr3WctFRFqvQfrm4eAYG-IYFyokTBEVvjn20kLt0PvP_NTBELorJJa90JF-9KAaOv_9pgz-o2pJwSvTLtTDsjzA61jIwHNXpDiSAIgtlfM65G6Ir49vg96-ume-8fYL_IrP5_7c3IBV14cRn4QxIF38XSFs8Sf45gUFEdeSBKfemGE84y6OfWjPLxgV9jFoZvgxPV8jL1L38fhnMZxiDEA-IkTuLAlrLzU0-KSi82FOVl95YVh7IcXJcmglOYvvMDYnP81Z_EX-lcbErI3BdQch8dOeHMhrsxJ7azZSCdwSyaV7GUrpkrz12fYzuGNE17v-oc3f-xw-UUjyqs_foC8Rfpyhf8vAAD__4Ef_qs">