<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/84122>84122</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Crush] clangd crush If there is an "N" in the code
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Neojan
</td>
</tr>
</table>
<pre>
If there is an "N" in the code, it will cause cland crash
eg: printf("abcdefg \N");
StackTrace:
#0 0x000000000052eb73 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/runner/work/clangd/clangd/llvm-project/llvm/lib/Support/Unix/Signals.inc:569:13
#1 0x000000000052caec llvm::sys::RunSignalHandlers() /home/runner/work/clangd/clangd/llvm-project/llvm/lib/Support/Signals.cpp:104:18
#2 0x000000000052eee6 SignalHandler(int) /home/runner/work/clangd/clangd/llvm-project/llvm/lib/Support/Unix/Signals.inc:407:1
#3 0x00007f5d054f18a0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x128a0)
#4 0x0000000000a4fe8e clang::StringLiteralParser::init(llvm::ArrayRef<clang::Token>) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Lex/LiteralSupport.cpp:2099:24
#5 0x0000000000ed077e clang::Sema::ActOnStringLiteral(llvm::ArrayRef<clang::Token>, clang::Scope*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Sema/SemaExpr.cpp:1861:23
#6 0x0000000001dd9e1f clang::Parser::ParseStringLiteralExpression(bool) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:3218:18
#7 0x0000000001dd2244 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:1291:11
#8 0x0000000001dcf751 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:681:20
#9 0x0000000001dcdf2c clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:176:10
#10 0x0000000001ddd2ba clang::Parser::ParseExpressionList(llvm::SmallVectorImpl<clang::Expr*>&, llvm::SmallVectorImpl<clang::SourceLocation>&, llvm::function_ref<void ()>, bool, bool) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:0:0
#11 0x0000000001dd0656 clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:2058:15
#12 0x0000000001dd1e22 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:1819:9
#13 0x0000000001dcf751 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:681:20
#14 0x0000000001dcdf2c clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:176:10
#15 0x0000000001dcde69 clang::Parser::ParseExpression(clang::Parser::TypeCastState) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:125:10
#16 0x0000000001e30ce5 clang::Parser::ParseExprStatement(clang::Parser::ParsedStmtContext) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:509:19
#17 0x0000000001e2f34f clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:264:12
#18 0x0000000001e2ec66 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:114:20
#19 0x0000000001e37b81 clang::Parser::ParseCompoundStatementBody(bool) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:1157:11
#20 0x0000000001e2f674 ParseCompoundStatement /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:966:10
#21 0x0000000001e2f674 ParseCompoundStatement /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:931:10
#22 0x0000000001e2f674 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:279:12
#23 0x0000000001e2ec66 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:114:20
#24 0x0000000001e324aa ParseStatement /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:41:11
#25 0x0000000001e324aa clang::Parser::ParseIfStatement(clang::SourceLocation*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:1522:16
#26 0x0000000001e2f81e clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:286:12
#27 0x0000000001e2ec66 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:114:20
#28 0x0000000001e37b81 clang::Parser::ParseCompoundStatementBody(bool) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:1157:11
#29 0x0000000001e2f674 ParseCompoundStatement /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:966:10
#30 0x0000000001e2f674 ParseCompoundStatement /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:931:10
#31 0x0000000001e2f674 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:279:12
#32 0x0000000001e2ec66 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:114:20
#33 0x0000000001e37b81 clang::Parser::ParseCompoundStatementBody(bool) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:1157:11
#34 0x0000000001e390ad clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:2428:21
#35 0x0000000001d86569 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/Parser.cpp:0:0
#36 0x0000000001da3980 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseDecl.cpp:2121:18
#37 0x0000000001d853a2 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/Parser.cpp:1179:10
#38 0x0000000001d84de0 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/Parser.cpp:1193:12
#39 0x0000000001d83fd0 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsingDeclSpec*) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/Parser.cpp:1019:12
#40 0x0000000001d81adc clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/Parser.cpp:737:10
#41 0x0000000001d7d58e clang::ParseAST(clang::Sema&, bool, bool) /home/runner/work/clangd/clangd/llvm-project/clang/lib/Parse/ParseAST.cpp:161:5
#42 0x0000000001b9219b clang::FrontendAction::Execute() /home/runner/work/clangd/clangd/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1041:10
#43 0x00000000014cc747 operator bool /home/runner/work/clangd/clangd/llvm-project/llvm/include/llvm/Support/Error.h:235:21
#44 0x00000000014cc747 clang::clangd::BackgroundIndex::index(clang::tooling::CompileCommand) /home/runner/work/clangd/clangd/llvm-project/clang-tools-extra/clangd/index/Background.cpp:322:19
#45 0x00000000014cf447 _M_data /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/basic_string.h:187:28
#46 0x00000000014cf447 _M_is_local /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/basic_string.h:222:16
#47 0x00000000014cf447 _M_dispose /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/basic_string.h:231:7
#48 0x00000000014cf447 ~basic_string /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/basic_string.h:658:9
#49 0x00000000014cf447 ~CompileCommand /home/runner/work/clangd/clangd/llvm-project/clang/include/clang/Tooling/CompilationDatabase.h:44:8
#50 0x00000000014cf447 operator() /home/runner/work/clangd/clangd/llvm-project/clang-tools-extra/clangd/index/Background.cpp:165:22
#51 0x00000000014cf447 __invoke_impl<void, (lambda at /home/runner/work/clangd/clangd/llvm-project/clang-tools-extra/clangd/index/Background.cpp:158:27) &> /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:60:14
#52 0x00000000014cf447 __invoke_r<void, (lambda at /home/runner/work/clangd/clangd/llvm-project/clang-tools-extra/clangd/index/Background.cpp:158:27) &> /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:153:7
#53 0x00000000014cf447 std::_Function_handler<void (), clang::clangd::BackgroundIndex::indexFileTask(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::$_3>::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_function.h:291:9
#54 0x00000000014d30ff clang::clangd::BackgroundQueue::work(std::function<void ()>) /home/runner/work/clangd/clangd/llvm-project/clang-tools-extra/clangd/index/BackgroundQueue.cpp:43:25
#55 0x00000000014cddf2 ~_Function_base /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_function.h:244:11
#56 0x00000000014cddf2 operator() /home/runner/work/clangd/clangd/llvm-project/clang-tools-extra/clangd/index/Background.cpp:111:27
#57 0x00000000014cddf2 void llvm::detail::UniqueFunctionBase<void>::CallImpl<clang::clangd::BackgroundIndex::BackgroundIndex(clang::clangd::ThreadsafeFS const&, clang::clangd::GlobalCompilationDatabase const&, llvm::unique_function<clang::clangd::BackgroundIndexStorage* (llvm::StringRef)>, clang::clangd::BackgroundIndex::Options)::$_1>(void*) /home/runner/work/clangd/clangd/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:222:12
#58 0x0000000001564cb1 PointerIntPair /home/runner/work/clangd/clangd/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:49:12
#59 0x0000000001564cb1 UniqueFunctionBase /home/runner/work/clangd/clangd/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:340:3
#60 0x0000000001564cb1 unique_function /home/runner/work/clangd/clangd/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:369:3
#61 0x0000000001564cb1 operator() /home/runner/work/clangd/clangd/llvm-project/clang-tools-extra/clangd/support/Threading.cpp:102:14
#62 0x0000000001564cb1 Apply<(lambda at /home/runner/work/clangd/clangd/llvm-project/clang-tools-extra/clangd/support/Threading.cpp:97:15)> /home/runner/work/clangd/clangd/llvm-project/llvm/include/llvm/Support/thread.h:42:5
#63 0x0000000001564cb1 GenericThreadProxy<std::tuple<(lambda at /home/runner/work/clangd/clangd/llvm-project/clang-tools-extra/clangd/support/Threading.cpp:97:15)> > /home/runner/work/clangd/clangd/llvm-project/llvm/include/llvm/Support/thread.h:50:5
#64 0x0000000001564cb1 void* llvm::thread::ThreadProxy<std::tuple<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&, llvm::unique_function<void ()>)::$_1> >(void*) /home/runner/work/clangd/clangd/llvm-project/llvm/include/llvm/Support/thread.h:60:5
#65 0x00007f5d054e66db start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76db)
#66 0x00007f5d04a65a3f clone /build/glibc-2ORdQG/glibc-2.27/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:97:0
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsXFtT47jW_TXmxdWULVu-PPCQBtIf9fVMMx3mvKZkWQ6adiSPJHeHl_ntpyQ5sS2cAAcI1BRT08TxRVp7aWvtrYuDpKQrRsiZBz978OIEteqWi7PfCf8LsZOCl3dnV5WvbokgPpU-Yr4HwO8eAD5l-rSPeUk8cO5T5f-ide1j1Eri4xqx0scCyVsvuPCCGVl50cxvBGWq8kDmAYAKXJJq5XvwXJfngdyLPtub7d-FQvjHjUCYeFF3ygNR4AebYPcfBKRII7-uf671TdFM3kl7cK2rGhQBsv4mgX4tuVSCoLUHEoOeKQ_kvgfmt3xNPDAXLWNEeGD-i4sfHphrg1bl8EAX96kR_C-CVfdVf9DCA_NF2zRc6NN_MrrRJ-iKoVqeUoa9aAaT3ItmYWSN8j0QhY5VGBE8ZdX3ltmi_g-xsiZCGi5fA_gWMW4ajTWI9d-sRwzcdiAk8UfYPJAdl9Y4SDXIHmPUYUwrWAYwrsIMBf5yKYhUXJClUL6hryt9kyXLJP5UU9ZuPq1Yay806lYQVJ5Kfhp44HOwCUGGAu2tu2riERUorkhme8DKNtpCCcpWX6kiAtXXSEgi7AXKqBo55kwIdPedVF50Pnj-hv8gzIsun0mlLXFr7VeiCexAdcR2jQ2CXPsniHsT4chEUgZpOjaRrFFnAlbf2MjiJ1l4PioV84Z4YPaihhuo9uNy04itg2dJqG0e9MlkaHNYljkJqyG6YUua45HVumwiJeXMA1nBef2iRpj6tp8DMyIQZk5HTR0zAIjjg2acI6lG6PfcrO8z3_-fslK3nLVy-5k4jTl89OauMdUsFFLk_qMv2-D7uApBrps8HAhGNuYKVykMX5er90xQkpkuEfT85A4_ZQXwQX5mJr1YE_Yolhyrj-EDaWKi2y69CAOnu5SgQAdN7A37SuVYzhdrVNf_IVhxcbVu6rHm6ed0S2rVM33lkc8teCsw-coxUprMicerlmF9bSmMzv7ktLSBLu8kduxMR6A5MP92HIcOx0ECk4McX3OpKrrpqV60VaUzgKEnzYzR34lsazVNNTj3lWjJS4fSfVaDABoxhr3lwLE8JAB8iLGJWKHOOfKequhDi_dqseYn_vdrMXRNJEn-SC1-V4YB6Bg2Ti1JFGACHzTMANbNt982c1wu1Fqdc6bI5rmjrwP26Uo6-2BghrODvjvOOQmoovih1Lmz7Zu4ILhGwgS3WaWImCklaNEqIvfFVic-qrXqxD4CbR8fH0_ZeAwyDre2YLescghysjb3jiM0C0jMmB30zZI5zUJwcjjuTjfLe2mHI3AYhrEju7nTddMieyAs8XXDW1buuPzMy7tXHxOObIDpYJzjgQgEbv9M0tifRvv6-PLE0X0Qvit4UejAA1PwPtTtyOqW5mN1A9GHuj1X3UDsqBuIEfLHZL0-rDh05ApOoTrE9FW1J1l6I54hAPoj6U1KXA3JQvKhIcfWkCxxNMRNXD805Okakv0bMqT8XaUgboYUva8Ezs2QoskE7kPd3jhDitzE9UPdnqxuUfQvULfITfPyAJUHjZh3SwquEYNntIPs6R4jl7JrukfqAjHI9MfAdGdOMUvgA3OKW9MvSEUZVZNzi5Sttv2Di8f4-Q1ZNzVS5IpV3MecSXX4qa9IkV5H7ELTK_aA6XUbd0UcRXkWHLRTk_JF8LbZS9miIfi-6T2Z02LwsOg-SrY7qHMuviO2IldmO8Yr0qrN2npmCMLBQr1m11moz2CEDq8N6eK-iYF_XjFFBDM7Lp4coQ62xwxjIqW-Riuq2XhtxwtDG7wGzueszWdxSR52vi5ijVja24ufSJLrUm9AUh45Ed5ZoM-iqjxM0uXGusw4vD-bmFc3PQid5CZ2Fu6zEJWH18NuePOV_CS1DVxDm7816O-WXCsno9mpmdm_NJHP9LugfuNlW5OrdcPFdqHpFSPelpU0SsedJnZW2tMSZvenGWaLG2eWxGyRSo63VWC2uNk2rNmG1a-Yx-OctchBmBdDC-ZCRwhW2tV_e-5yQ3CrOX_u3sgx5G1Vg0Nba79J0hkIxeNsMcY4jVOfN8TENkPqC2yOpAzXbUn6E_0-yUshuDi9NTvb4DgTiuMpbANmu1rN8WeEf6yETmOvWEk29iQ1hyPPUZzXdPtFZ7601gnwGmnWnt8Un3T58hPZKIGG93ZI5j3M3X44MF6ajKFjdRXHqb_8bVkihTS-VmpUBWUemJ-e7tp-hfH0FtEw2N7o_OlbBXvgs_nf3lxQJfUHkhQvpdkzaFoozFIzJ9VjTfZgpXJZc4zqt8UL3EnNON3HLZUNl-SN4ZpZirRHm02h_Wf43NsCTszuoYHr5pOAx73sJdRugLQ7c9N1azC3tZk84QIpVCBJDNhYj5N714XBFNat8L2QMD9ZDcLEaGCfNMBw0mOXlP3kP8iS2s13Pzk1-4Q8kNVoXZTIR8-fVXs6eOMOILXMJV50eVT3tJRYx9TDwjDuWQQHWRQfFN6jMITRSIygmygYCqXqwu9yO3xZ3nbvVoy3dY7T0McF7jmtyQ2SPzyQ9fUs8WYThvbLUJB0InyLhK5od7M-sVQCaeO6y3Z76e4OVOsw1c0M2uu-3Xxpr3sgXkb6hK38t85jRohm7M7G5n6WJD9qq0lVLrc7am0gMdvGe12GTiJVRkFVPdwef7SkJfak9fre6G11E5t3j6maBuF2TVb7K-jzcujmUWVZAf-f3lF1ZHjjdjIxaTDtCd18ymB-86Bk-hsYaIGbRhmYxhH6afeSKERre_wno3-3u3nKz0iSreJuu9Y5quv7O8kf1An35CjVHz59Y96Rkqgi88W-6czh_V9qXqB6IpcYPdxb2xoLl4N-8TgzFooLtCIemPnjRQsjanoYv9sT_xRevjUahRzpWGjKyWyge-4MyL6B3eziRg8-OxoutY_JYS4-yGzG2S1MYlyE_jWnTBFxxdQ1ouL1EI7rsQmiM18D8ymA9135qDRGsU5toh3IJJgC6XjjcRGaV0cHCMMphEfSNLmbZ7ACoEcu26kQMM4REzCFc9Y09Z0XnR8lLdyPNk_taxpGDF53QqZ7m9T0CDCa6UqiKYa-EEYExRbxteAbTdcuUVBtU5N3x98ROYTBmMN4isNOkwfxxJYwjF17qd0TF2byjmGdPn-39pmTomXm_CjW3Pyi7PFx7V6-N44w_jGizCTTicM0HL9bTZKkLHypkFBL-9T_8m51mpTF7tVqXUsyrCVGCUSRTq05M3GhaGmt7VrVtMCfwLfv5R9f-q-neqA3X1OJtymkvJMlaXSy2Nr3x-Wd_GmgsHazQ2kY44ycLrauHZyUZ1GZRzk6IWdhGuRpECcxPLk9gxjjAgVRmlQVJAkkOYhIANOYgCTCMTqhZyAAcRAFSQBhCuBpAWFeJinOYAWKBOReHJA1ovWpJv-Ui9UJlbIlZ1kcAnBSo4LU0vw4AwCM_PLNRQ8AD16ciDPToEW7kl4c1FQq2ZeiqKrNrzqci1beevDCZjilj_V3_-EfdThpRX12q1RjfnoAzDWxVN22xSnm68Gb-WOfMvg0wwb_fwMAAP__rkSCVg">