<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/126453>126453</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Compilation abnormally terminates when entry-name of entry statement is declared as procedure-name of procedure statement with pointer attribute in the function
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ohno-fj
</td>
</tr>
</table>
<pre>
```
Version of flang : 20.0.0(8aebcebd90b79b90eca828762fd3b0637e430e51)/AArch64
```
When `entry-name (p105)` of `entry statement` is declared as `procedure-name` of `procedure` statement with `pointer attribute` in the `function (p104)`, a compilation terminates abnormally.
`Pointer assignment statement` binds the `pointer (entry name = p105)` to the `destination (function = px1)`.
Gfortran and ifx note these as different characteristics in their messages.
flang should do the same.
The following are the test program, Flang, Gfortran and ifx compilation/execution result.
snggp612_.f90:
```fortran
module mod
interface
function px1() result(r)
character(2),pointer::r
end function px1
end interface
contains
function p104()
procedure (px1),pointer :: p104,p105,p106
p104=>px1
return
entry p105(p106)
p106=>px1
if (p106()/='xy')print *,'error-101'
p105=>px1
end function p104
end module mod
program main
use mod
procedure (px1),pointer :: p
p=>p104()
if (p()/='xy')print *,'error-001'
p=>p105(p)
if (p()/='xy')print *,'error-002'
print *,'snggp612 : pass'
end program main
function px1() result(r)
character(2),pointer::r
allocate(r)
r='xy'
end function px1
```
```
$ flang snggp612_.f90
flang: /work/groups/ssoft/compiler/llvm/src/llvm-main/flang/lib/Optimizer/Builder/HLFIRTools.cpp:232: fir::FortranVariableOpInterface hlfir::genDeclare(mlir::Location, fir::FirOpBuilder&, const fir::ExtendedValue&, llvm::StringRef, fir::FortranVariableFlagsAttr, mlir::Value, cuf::DataAttributeAttr): Assertion `fir::
conformsWithPassByRef(base.getType()) && "entity being declared must be in memory"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang -fc1 -triple aarch64-unknown-linux-gnu -emit-obj -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu generic -target-feature +outline-atomics -target-feature +v8a -target-feature +fp-armv8 -target-feature
+neon -resource-dir /work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/lib/clang/21 -mframe-pointer=non-leaf -o /tmp/snggp612_-3286fe.o -x f95-cpp-input snggp612_.f90
#0 0x000040001f002310 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/work/groups/ssoft/compiler/llvm/aarch64/main-latest/lib/libLLVM.so.21.0git+0x5b82310)
#1 0x000040001f000378 llvm::sys::RunSignalHandlers() (/work/groups/ssoft/compiler/llvm/aarch64/main-latest/lib/libLLVM.so.21.0git+0x5b80378)
#2 0x000040001f0004c8 SignalHandler(int) Signals.cpp:0:0
#3 0x000040000f2007a0 (linux-vdso.so.1+0x7a0)
#4 0x0000400024046274 raise (/lib64/libc.so.6+0x36274)
#5 0x0000400024030a2c abort (/lib64/libc.so.6+0x20a2c)
#6 0x000040002403fba0 __assert_fail_base (/lib64/libc.so.6+0x2fba0)
#7 0x000040002403fc18 __assert_perror_fail (/lib64/libc.so.6+0x2fc18)
#8 0x0000000005a22ae0 hlfir::genDeclare(mlir::Location, fir::FirOpBuilder&, fir::ExtendedValue const&, llvm::StringRef, fir::FortranVariableFlagsAttr, mlir::Value, cuf::DataAttributeAttr) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang+0x5a22ae0)
#9 0x0000000005207fdc Fortran::lower::genDeclareSymbol(Fortran::lower::AbstractConverter&, Fortran::lower::SymMap&, Fortran::semantics::Symbol const&, fir::ExtendedValue const&, fir::FortranVariableFlagsEnum, bool) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang+0x5207fdc)
#10 0x0000000005209844 Fortran::lower::mapSymbolAttributes(Fortran::lower::AbstractConverter&, Fortran::lower::pft::Variable const&, Fortran::lower::SymMap&, Fortran::lower::StatementContext&, mlir::Value) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang+0x5209844)
#11 0x000000000520cbac Fortran::lower::instantiateVariable(Fortran::lower::AbstractConverter&, Fortran::lower::pft::Variable const&, Fortran::lower::SymMap&, llvm::DenseMap<std::tuple<Fortran::semantics::Scope const*, unsigned long>, mlir::Value, llvm::DenseMapInfo<std::tuple<Fortran::semantics::Scope const*, unsign
ed long>, void>, llvm::detail::DenseMapPair<std::tuple<Fortran::semantics::Scope const*, unsigned long>, mlir::Value>>&) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang+0x520cbac)
#12 0x0000000004f33db8 (anonymous namespace)::FirConverter::startNewFunction(Fortran::lower::pft::FunctionLikeUnit&) Bridge.cpp:0:0
#13 0x0000000004f4b6f0 (anonymous namespace)::FirConverter::lowerFunc(Fortran::lower::pft::FunctionLikeUnit&) Bridge.cpp:0:0
#14 0x0000000004f4cf2c std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<void (*)(Fortran::common::visitors<(anonymous namespace)::FirConverter::run(Fortran::lower::pft::Program&)::'lambda5'(Fortran::lower::pft::FunctionLikeUnit&), (anonymous namespace)::FirConverter::run(Fortran::lo
wer::pft::Program&)::'lambda6'(Fortran::lower::pft::ModuleLikeUnit&), (anonymous namespace)::FirConverter::run(Fortran::lower::pft::Program&)::'lambda7'(Fortran::lower::pft::BlockDataUnit&), (anonymous namespace)::FirConverter::run(Fortran::lower::pft::Program&)::'lambda8'(Fortran::lower::pft::CompilerDirectiveUnit&
), (anonymous namespace)::FirConverter::run(Fortran::lower::pft::Program&)::'lambda9'(Fortran::lower::pft::OpenACCDirectiveUnit&)>&&, std::variant<Fortran::lower::pft::FunctionLikeUnit, Fortran::lower::pft::ModuleLikeUnit, Fortran::lower::pft::BlockDataUnit, Fortran::lower::pft::CompilerDirectiveUnit, Fortran::lower
::pft::OpenACCDirectiveUnit>&)>, std::tuple<std::variant<Fortran::lower::pft::FunctionLikeUnit, Fortran::lower::pft::ModuleLikeUnit, Fortran::lower::pft::BlockDataUnit, Fortran::lower::pft::CompilerDirectiveUnit, Fortran::lower::pft::OpenACCDirectiveUnit>&>, std::integer_sequence<unsigned long, 1ul>>::__visit_invoke
(Fortran::common::visitors<(anonymous namespace)::FirConverter::run(Fortran::lower::pft::Program&)::'lambda5'(Fortran::lower::pft::FunctionLikeUnit&), (anonymous namespace)::FirConverter::run(Fortran::lower::pft::Program&)::'lambda6'(Fortran::lower::pft::ModuleLikeUnit&), (anonymous namespace)::FirConverter::run(For
tran::lower::pft::Program&)::'lambda7'(Fortran::lower::pft::BlockDataUnit&), (anonymous namespace)::FirConverter::run(Fortran::lower::pft::Program&)::'lambda8'(Fortran::lower::pft::CompilerDirectiveUnit&), (anonymous namespace)::FirConverter::run(Fortran::lower::pft::Program&)::'lambda9'(Fortran::lower::pft::OpenACC
DirectiveUnit&)>&&, std::variant<Fortran::lower::pft::FunctionLikeUnit, Fortran::lower::pft::ModuleLikeUnit, Fortran::lower::pft::BlockDataUnit, Fortran::lower::pft::CompilerDirectiveUnit, Fortran::lower::pft::OpenACCDirectiveUnit>&) Bridge.cpp:0:0
#15 0x0000000004f2f970 Fortran::lower::LoweringBridge::lower(Fortran::parser::Program const&, Fortran::semantics::SemanticsContext const&) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang+0x4f2f970)
#16 0x0000000004ec7f40 Fortran::frontend::CodeGenAction::beginSourceFileAction() (/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang+0x4ec7f40)
#17 0x0000000004dd73b0 Fortran::frontend::FrontendAction::beginSourceFile(Fortran::frontend::CompilerInstance&, Fortran::frontend::FrontendInputFile const&) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang+0x4dd73b0)
#18 0x0000000004dc69fc Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang+0x4dc69fc)
#19 0x0000000004ddbdb4 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang+0x4ddbdb4)
#20 0x0000000004dbf2a8 fc1_main(llvm::ArrayRef<char const*>, char const*) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang+0x4dbf2a8)
#21 0x0000000004dbecf0 main (/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang+0x4dbecf0)
#22 0x0000400024034384 __libc_start_main (/lib64/libc.so.6+0x24384)
#23 0x0000000004dbd1bc _start (/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang+0x4dbd1bc)
flang-20: error: unable to execute command: Aborted (core dumped)
flang-20: error: flang frontend command failed due to signal (use -v to see invocation)
flang version 21.0.0git (https://github.com/llvm/llvm-project.git 8aebcebd90b79b90eca828762fd3b0637e430e51)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin
Build config: +assertions
flang-20: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
flang-20: note: diagnostic msg: /tmp/snggp612_-492dff
flang-20: note: diagnostic msg: /tmp/snggp612_-492dff.sh
flang-20: note: diagnostic msg:
********************
$
```
```
$
$ cat /tmp/snggp612_-492dff
#line "./snggp612_.f90" 1
module mod
interface
function px1() result(r)
character(2),pointer::r
end function px1
end interface
contains
function p104()
procedure(px1),pointer :: p104,p105,p106
p104=>px1
return
entry p105(p106)
p106=>px1
if(p106()/='xy')print *,'error-101'
p105=>px1
end function p104
end module mod
program main
use mod
procedure(px1),pointer :: p
p=>p104()
if(p()/='xy')print *,'error-001'
p=>p105(p)
if(p()/='xy')print *,'error-002'
print *,'snggp612 : pass'
end program main
function px1() result(r)
character(2),pointer::r
allocate(r)
r='xy'
end function px1
$
```
```
$ $ cat /tmp/snggp612_-492dff.sh
# Crash reproducer for clang version 21.0.0git (https://github.com/llvm/llvm-project.git 8aebcebd90b79b90eca828762fd3b0637e430e51)
# Driver args: "snggp612_.f90"
# Original command: "/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang" "-fc1" "-triple" "aarch64-unknown-linux-gnu" "-emit-obj" "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" "-target-cpu" "generic" "-target-feature" "+outline-atomics" "-target-feature" "+v8a" "-target-featur
e" "+fp-armv8" "-target-feature" "+neon" "-resource-dir" "/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/lib/clang/21" "-mframe-pointer=non-leaf" "-o" "/tmp/snggp612_-3286fe.o" "-x" "f95-cpp-input" "snggp612_.f90"
"/work/groups/ssoft/compiler/llvm/aarch64/main-20250203-8aebcebd90b7/bin/flang" "-fc1" "-triple" "aarch64-unknown-linux-gnu" "-emit-obj" "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" "-target-cpu" "generic" "-target-feature" "+outline-atomics" "-target-feature" "+v8a" "-target-feature" "+fp-armv8" "-tar
get-feature" "+neon" "-mframe-pointer=non-leaf" "-x" "f95-cpp-input" "snggp612_-492dff"
$
```
```
$ gfortran snggp612_.f90
snggp612_.f90:12:20:
12 | entry p105(p106)
| 1
Error: Symbol 'p105' at (1) already has an explicit interface
snggp612_.f90:20:7:
20 | use mod
| 1
Fatal Error: Cannot open module file 'mod.mod' for reading at (1): No such file or directory
compilation terminated.
$
```
```
$ ifx snggp612_.f90
snggp612_.f90(12): error #7127: The characteristics of the function named on the ENTRY statement are different from the characteristics of the result of the function named on the FUNCTION statement. [P105]
entry p105(p106)
----------^
snggp612_.f90(15): error #8180: The procedure pointer and the procedure target must have matching result types. [P105]
p105=>px1
----^
snggp612_.f90(15): error #8178: The procedure pointer and the procedure target must have matching arguments.
p105=>px1
----^
snggp612_.f90(20): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [MOD]
use mod
------^
snggp612_.f90(21): error #8169: The specified interface is not declared. [PX1]
procedure (px1),pointer :: p
-------------^
snggp612_.f90(22): error #8191: The procedure target must be a procedure or a procedure pointer. [P104]
p=>p104()
-----^
snggp612_.f90(24): error #8191: The procedure target must be a procedure or a procedure pointer. [P105]
p=>p105(p)
-----^
compilation aborted for snggp612_.f90 (code 1)
$
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsXFtz4yiU_jXKCyUXQr7ID3lQnHgmVelOqjszs_vkQgjZTEugBeRO9tdvAbrbcZy-pHdr25WpsbgcvnM4nAPyR2Ol2JZTeunNrrzZ9QWu9E7IS7Hjws_-vUhE-nzpzWH9B-O_qVRMcCAykOWYb4EXxgDBCZxAD0URpgmhSbqEyWKZLCElOELRYo6yNEzgPFzQaQjpLPDQ0kPrOJZkN596MO6P4MH4nx3lwJtDyrV89jkuKPBQVAZwZjrOoRm9qQZKY00LyrWpYAqklORY0hRgZRqVUhCaVpJaOV3nttwUtTLAV6Z3tlowrqkEWGvJkkrbZowDvaOmOqs40cYODtfU4fLQCmBARFGyHNtqTWXBONZUAZxwIQuc588TAJzOD80gdhLs-ANtEsZT1QzZIPJQ5BR3dgmvQc8wWjTNU6q0GbkG2QE2HZ4C135igPyRCakl5gDzFLDsCXChqRGjqLFhyrKMSoON7LDERFPJlGZE1eZgEhRUKbylyopzbqF2ospTkDo8Chd04ub2cUdBJvJcfGV8C7C0IwFNlQalFFuJC2PFtRFivhyA61nXQ2v6REll9ZJUVbmuB1F8uy3nAdpMsiX0wrjvYrVAD8aFSKucgkKkHowBsObNMKH2CQDQ2szaK_LQsh7FQ5E0Bqzbgc4yHoqQde5VPV1m8DCWTVPK06FYU24K-4MTwTVmXNnKtjUAztGibuTWh60bukltRwZu6LrXyjmJ-d-86W0qwmsvvGmAACCpriSvH5ybuY6R7ehGtl9HHVkG2kaRW96mCVo8PXto4aFlKRnXwEOxh1YeWlAphfQDGJjaFs9sKHZoLQMXxqZsMHEejGvHAQVmDnulumk9z0iuaT380M61am_RC7Z6dSJnTsh3yESNrUb1jbfbWFxipVw7Y6mRZczyPMOpz3NnnOeCYE37q0H2FXEQRu4-CvWDRzStk8pw_dYxxWjnofVXIb94aL2VoiqVh9ZKiUx7aO0Cg8G8zvN9YWokqR98qz9aOzlonbPEQ-v7UrOC_bftclWxPLXf_rxb3356FCJXE1KWXhijEJmhM1Zrv3YB5G8sGU5yel_eNmsX7PK21Zbya5eJPBQVeVN8Z0xmY9eqJ5HJ-7JFMDd1RHCluxY3T5rylKZ_47yidROrpa39rCXj2080G0od4lzneKtiraVp1AGqJa4AqTJXco01jpu05zosjQFipah0OWQO21FcvMqELNQ_TO8esFJXzxZKlGBFJ1uqH59L2nj6Elj0c-AhRLlm-hkk1GSCNm0XldIgoSa7FLQQ8tlDxvFBhllOUxPgH-5u4s83QFVJwTTAIKm2QNJSSG3y307rUhlgaG3chOldlUyIKDq_sB5RSvEvJcZxmFIVNZ7kcgwneZW6rEQkVjuQYPJFS0xsBvusMfkC0qoone5w4jLAQ73QsNxWJn2rN3srxm43hNbGWX0E0QwiGPr9PZWH1knnyMDPSAB8LVmZU1D39yv-hYuv3M8Zr578La-ATwumfZH8C_xC0rz2QL8QKc1ByQjwS0b8nO5pDpB7YMovGQW-xnJLtU_KCmwpp9I0rssyirWLqlei0jnj1MdaFGZjcKTJPsLHirPSx7LYR-M6E0w8dMWp4MCXVIlKEuqnTP4Um7pwQOrggALgF5nEBfXbqHfNBfdzijPgCwNBF6UZuAlTfoiieUYnAvhPIFvOfFKWPuNlpQ9CGfBQCAF8ghDCKYQwyCBEYQB7y1k9K_flwcR563GPxv88FHWNJP66EUpLajZMNh4wrt36ir7HRrnZrOrWKDlL7u7-_jBRYoKCCdwy7aEr-DRLIgO6DvseCoORSjBcRMdU-lTxz2zLcf4n5mlOpapz0HuhNrg61GiMekoiMMDnoai2qytukgK0_zkpYU8KzBCECwyNQm4F7lMlDJDAQljgntGmvY5oCqdztJgCiZmitT1yllgdc5YQI2NuZYSmXSdlNpQSQowIwIkJh6ekINOukzIfSckSDMFmg23Q35jguzHx_LRI06kTuRiLJEHUiSzttsZKfkUoCXpTFtVC7WeGEcIU_sC8ezzjunT8C_Lu966LM7KIWxnOkJ2ZlwMzI7jIUgJqzRzcXHylBzb__FwkIvdQ9FLTOFEml-qV4HsqdWv3l9p_fi4-4PJYI0ULzM05tG2YiHwwUWfM5clJu-GVPYwmwqj0fnPhrO3mwrO5YTgXy2g6fdFgBS6dKVpXUj9wOspMN-7rDDWw5tsnsd-oefOxElzTp0bmwYp5z3kwlu7mIRjNA0nwy2uCcaWNf2JNG1v975qHLoxdU66oqQhXSqeuTFdlTr1wdXLJEVG2A5uzKKi4fZuYglyY89rNCyHvcOhbnokfNbw5dw4Q7AVL66_dyCnVmOVDFA_YQH0PI4Q3tmL-vu5sHLZzZ9R352kWhmkSGTCYC_5ciErZN4yqtDvPZZsxOxd15tBY6o_067o-5p9w8tZpm7Z37Av9izNdG-JKsnRLRxssgzQcIp0m8wy-HalFYob-GRCnI4gkQwS0jrTZ9N1ts9mbVct187ilfLPXZhlvWFHmfRc83fNDlWu2wVLiZy9cGT933hTbs_ZQSyKKQtTf90wxLaTywtWbzSirs-b4oXmZO29leWiR4yJJ8cy-5vrWSTDr6ceg9mD8NuDzM4F_sC8ofxbst2FenIn5Khfki9mD_nrI0ZmQV3VsvGaSEs32rbVh_AvRL89Ef19SHq9WB-CNQJcbbJ5uQ0G79FffsHDO2EqMnfaMLiOfOaPHC1N2tCeMz7FYk0frTHuQvP__2u9s440sx7imWyo3iv5XRTkxRhzuadAKBFVeb2KaxGRSyobxvfhC7fr7nX1-KOpfl3o8GP_OPm_JPv9nUo8H49_Z57uj56ljwWx4LEDZcgFfHOzOfGV866T1q0dTWmKpmk7ND08vnv_H59XmsX7N0uv4bkfR2hDdUXQ-MBMli2w6MlMmDVyeNvOY0j8oj92J0xYldMv4Z_s70ZrlNG4Oo--plgPeqbUYqJWmizA5qda6fjqh19gVxnZxqtzal0-EHvOH40Pe8rLSZoBf4g_ONJ3hoqHhyHyZkdP-MNLbljpyUOcK51v-nbW3-nXaL0duk6TJ9JT2tZ6dEfbtjx1vc5b4fefc6NVqjeBQ6yRDOAIZCTaOu9H76TOWEluKQbgiOyy7l29uHzsse0-NLOZOo2CkESUZtEycd0RkxuwQodEvctMwmoLNJmcJ2dgXeZsevBd-jjN9OonhSMc0SAhwst5RSzOqw2SLfWRyMLA_MJovFbevyLUA9VIB5jiC7UIAcSKkpvbFGRGSWm4HTU9Ic9yLZi01omp-CkgrO5CyvxYboZWiwN_bMkoB6y3OdgSwr1m1KJhA-3O16fg2IsvE9HoL_xbGj5ZyYVR6kTtiCZuSYsu5o7klmAnFnjwY27CR5zS9tq-2fxrZBcb2F1qzojNWk8CucMNFUqNZ4kKb6A9ShrdcKM0IKJTpZf31O_4sW61mHsWPj_HqT_D45w1Y39_d3f9z-_EPsL69u_kMHu9t8dVff4BPNw_3nx7d0A-SWh6iUjQFjs3ioUiZ6GR8ByslCMPGDWXFgSKSlbptIClwTLsUYO3knaXyMaLKdInSLPt-CRO1e4vlv9_46AhPfEQerCmEBOuTmnsozBmnwENo0m9hCToIgaDl9Q4Jwgf84B9NED5KDm5Yw4ejD2jCQzhjonCPBfstTOEjXOEBUfhlqnDT-YAvDADLvpcwfIwyfEiydrThrmZMHm7tM6QQm0-fRny2EYes3_E8OK2_jUvsMBwlFH-LWDQQexalGBznFJ-_Gs4myh9lF1uG-pBhfGzGHc_4jIABXg0XLsx5KAQrywW1YTytCJUgExKQX5i9DahryfZUAiy3Nd8UjaNZ3fBesi0zG5Lexsfyan_y9gyZUfyMBM1XR1atn17edtStG-Jq83xAX60rSkaaJi2VtS5A_QpHa22xtOTWuqSmuI7qG0qqKz2ku77WfB_ho008GPdaNUzY16RxaraOrk2fGNu2-Pn02HY2XiLJNg1EB-olwmzT9Kn-MiDP1mVHfPq38_5i5z3tuR6MX3XeV73nLJdotnV1pDsj5m-bG2VjZvb40liAvDBGsN3BAgBMQlysXt_xmEYmCd00Z8aaneihheuxADbrRIHd4OfmhPUMdlgBzAF9KnNGmB5s-cbgLK5FHxuCNbbxrqVBDCykNdY4By2wFeZcaCBKypudUcZyszleFCKdGDloYXOdwWiv7LXATf-PAqiK7FwnIUFqX5AL-WzvhRy5CGlvcNjc--pMsezplUlCUYBqIHZXY1nHATJ2AY87enBjUWT2Xke7VeC4oCkQ7lrnzcfHT__Zuwpqzl3d5cdMisJdCjku0211To-w_uvj6vH2_mM3yMTMz-zqwTjF7NrtsI76ld9-vNnNMTvMxnaIggg2dujuwLX3WnlqIXU1bnm76zc7vKegwJrszIzXqunnkqpDwOM9-NswLqIfg7G9dzN5GyYED_zH7IzD2C0RwLhdG2YIO_kusaT9tTIBYLWj5Au4_bi6--v6BpRY7xpDfbi_ru3UW5enJhIFh0aaLxsjqZISljHaOw8CpszZu71A1czQfwTNwGffgPT7nxfgHay3KFgGh3PYn6mEAtyrEnLwWOPoHGvaONaRQ9QpZNOfjmx2gKx3ButB6wc-XL9eNCF0ANm9cEwpaPfzR5LXRXoZpstwiS_oZbAIl8F0iYL5xe4ypCgls2mCZlGWRQs4m4YZXiyTBU5QMEWLC3bp9jgBhOZvPlmSbDpfLJI5XMxnKAu8KaQFZvnE7JAmQm4v7EW4ywDNp7PwIscJzZX9ZwEQajZE3uz6Ql7ag0tSbZU3hTlTWnUiNNO5_bcE3AXu2TVYDWzRXIHvX4z_uqMc9K76iwyMbvaPr_UP7_SbDt2kja7yH9zjby7xNxH6opL55bffGayttb9E_xMAAP__SF24qQ">