[SOLVED] Save core dump to flash and read it after reboot as file.
Posted: Fri Aug 26, 2022 6:31 am
Hello,
I am trying to achieve the following goal:
When a crash happens, it should save a core dump to flash. After a reboot, I want this core dump to be sent to my server (there saved as file) to analyze it further.
For now, I only want to print the core dump from flash after a reboot to UART, so that I can copy it into a file and run the command
Is it possible to use the binary output (hex format) in combination with the command above? Is the format raw correct?
I created a simple example for this to try out. https://github.com/ddomnik/coredump_example
This is the output after a core dump:
Without the fff end this are 10112 bytes. However esp_core_dump_image_get() return 5028 bytes?
And what also seems to be strange, the core dumps first 4 bytes are of size a413. However 5028 to hex results in 13A4, so they are rotated?
The other problem problem currently is, that espcoredump.py does not print anything and closes directly.
Even when I try to set the core dump output mode to UART with decoding directly, the python script gives me the following error (with both, binary and elf format):
Without decoding, I receive the following output:
I am trying to achieve the following goal:
When a crash happens, it should save a core dump to flash. After a reboot, I want this core dump to be sent to my server (there saved as file) to analyze it further.
For now, I only want to print the core dump from flash after a reboot to UART, so that I can copy it into a file and run the command
Code: Select all
espcoredump.py --chip esp32 info_corefile -t raw -c C:\core_raw.txt C:\project\project.elf
I created a simple example for this to try out. https://github.com/ddomnik/coredump_example
This is the output after a core dump:
Code: Select all
a413000002000000060000005801000001000000d073fb3fd070fb3fc873fb3f8070fb3f6073fb3fc1c014129c35fb3f9c35fb3fd073fb3f9435fb3f18000000f020fb3ff020fb3fd073fb3f0000000001000000cc63fb3f6d61696e00a7343888627f6fda0a850000000000c873fb3f0100000000000000000000000000000000000000cceffa3f34f0fa3f9cf0fa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fefbeadde311a0840300b06009c5908809071fb3fdb71fb3f020000000a0000000c35403f020000007071fb3f0000000001000000a372fb3fa372fb3f00000000d86f403f78000000000000ff100000001d000000000000008cc2004096c200400000000000000000d86f403fcd22084014f7fa3f000000000000000000000000ffff3fb30000000000000000000000000000000000000000000000000000000001000000010000000a0000007071fb3f0caa0880b071fb3fdb71fb3ff124fb3f01000000230b06007835403f00f000002c630d80d071fb3f00000000a2000000010000000072fb3f29000000000000ff075d0e80f072fb3f00000000ec83fb3f0000000000000000000000617373657274206661696c65643a206170705f6d61696e206d61696e2e633a353220283029008c05803072fb3f3074fb3f34f0fa3f54090e804072fb3fc8f1fa3f0a00000040090e805072fb3f3074fb3f0a00000090860d807072fb3f0a00000089280000c8f1fa3f7072fb3f3074fb3f0a00000034f0fa3fd86f403f78000000000000ffc1620d80a072fb3f0a0000003074fb3fa072fb3f8072fb3f040000000000000034f0fa3f0c35403f020000007071fb3f16630d80c072fb3f0010000000f00000e434403532000000d82dfb3f6c35403fbc2dfb3f6435403fe82dfb3fa372fb3fec2dfb3f1820403ff024fb3f00000000080000000072fb3fdb71fb3f00000000608308801073fb3f000000000000000000000000000000006013fb3f230f0600000000004073fb3fd05c0e40000000008813000003000000000000000000000000000000000000000100000001000000000000006073fb3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c73fb3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000307bfb3fc079fb3f287bfb3fc079fb3fc07afb3fa6f64dc59882fb3f8835fb3f307bfb3f8035fb3f1900000012de7e168eeba1cf307bfb3f00000000000000002c75fb3f49444c4500996a8aca171926aa6b420000000000287bfb3f0000000000000000000000000000000000000000cceffa3f34f0fa3f9cf0fa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002003f2c2308402e6d08403000060060830880807afb3f0000000000000000000000000000000001000000000000002e6d0880607afb3f0000000000000000230006000100000003000000230c060000000000c07afb3f000000000000000000000000000000003025084001000000c859084074fefa3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a07afb3f286d0840000000000000000000000000000000000000000000000000c07afb3f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc7afb3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009082fb3f0081fb3f8882fb3f0081fb3f2082fb3f30cad2288835fb3f387bfb3f9082fb3f8035fb3f190000002f2d3796e52756a09082fb3f00000000000000008c7cfb3f49444c45005fd8c4a125a19735fdda00010000008882fb3f0000000000000000000000000000000000000000cceffa3f34f0fa3f9cf0fa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002003f2c2308403a1a0d4030050600316d0880c081fb3f080000000100000001000000010000009834fb3f9834fb3f2833fb3fec32fb3f00000000100000001186088020fcfa3f0300000023040600000000002c1a0d80a081fb3f0000000000000000000000003025084020fcfa3fc85908400005fb3f000000000000000000000000ffff3fb3000000000000000000000000000000000000000000000000000000001186088020fcfa3f030000002304060060830880e081fb3f000000000000000001000000010000009834fb3f9834fb3f000000000082fb3f286d08400000000001000000000000000100000000000000000000002082fb3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c82fb3f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018f8fa3f50f6fa3f10f8fa3f50f6fa3fb0f7fa3f92c15a477862fb3f0435fb3f18f8fa3ffc34fb3f010000004421fb3f4421fb3f18f8fa3f3c21fb3f1800000014f4fa3f697063300033f2385188e41a7a07ca000000000010f8fa3f1800000000000000000000000000000000000000cceffa3f34f0fa3f9cf0fa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003f2c230840e4480840300c0600c066088010f7fa3f00000000ffffffff6421fb3f103bfe3f9834fb3f58010000e4480880f0f6fa3fdc00f03f010000005813fb3f2300060003000000230f060004000000a5a5a5a5a5a5a5a50000000000000000000000003025084023000600c8590840647bfa3f000000000000000000000000ffff3fb3000000000000000000000000000000000000000000000000000000002c2308405883084030000500000000002749088030f7fa3f1821fb3f6421fb3f00000000f848084000000000000000006083088070f7fa3f000000000000000000000000000000000000000000000000ffffffff000000000000000000000000010000000100000000000000230f06000000000090f7fa3ff8480840000000000000000000000000010000000100000000000000b0f7fa3f000000000000000000000000000000000000000000000000875c0e80b03bfe3ff434fb3f000000000000000000000000bcf7fa3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007062fb3fb060fb3f6862fb3fb060fb3f0062fb3f80feb9be80fdfa3f20f8fa3f7062fb3ffc34fb3f030000007d7124953cdf0a8b7062fb3f00000000160000006c52fb3f6573705f74696d65720050dddf091d00000000006862fb3f1600000000000000000000000000000000000000cceffa3f34f0fa3f9cf0fa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100003f2c230840f0bf004030000600118608807061fb3f00000000230006002000060023000600f848084000000000bd4808804061fb3fa034fb3fa034fb3f90f7fa3f70f7fa3f000000000000000000000000a5a5a5a5a5a5a5a50000000000000000000000003025084070f7fa3fc8590840b4e5fa3f000000000000000000000000ffff3fb3000000000000000000000000000000000000000000000000000000000062fb3f000000000000000000000000957f08808061fb3f9834fb3f00000000cb370d80a061fb3f0000000001000000000000005d0100002001403f903bfe3f60830880c061fb3f0000000000000000980cfb3f0100000003000000230c060000000000e061fb3fbc370d400000000000000000000000000100000001000000000000000062fb3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c62fb3f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000078fdfa3fb0fbfa3f70fdfa3fb0fbfa3f10fdfa3f41906b5c0435fb3f7862fb3f78fdfa3ffc34fb3f010000009821fb3f9821fb3f78fdfa3f9021fb3f1800000074f9fa3f6970633100d69ada8fc8f366f0b200000100000070fdfa3f1800000000000000000000000000000000000000cceffa3f34f0fa3f9cf0fa3f000000000000000001000000000000000000000000000000481d004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003f2c230840e448084030030600c066088070fcfa3f01000000ffffffffb821fb3fd873fb3f010000001c00f43fe448088050fcfa3fe000f03f010000005813fb3f2303060003000000230006000400000000000000302508400000000000000000000000003025084023030600c8590840c480fa3f000000000000000000000000ffff3fb3000000000000000000000000000000000000000000000000000000004a7c088070fcfa3f9834fb3f9834fb3f2749088090fcfa3f6c21fb3fb821fb3f11860880a0fbfa3f030000002300060060830880d0fcfa3f01000000b03308400000000044040000010000001c00f43fffffffffd0fcfa3f01000000b03308400100000001000000000000000100000000000000f0fcfa3ff848084001000000010000000000000001000000010000000000000010fdfa3f0000000000000000000000000000000000000000000000005b150880607dfe3f803e00008bb33a0100000000000000001cfdfa3f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009a22fb3f040000001900727400000000000000003f08994800000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Without the fff end this are 10112 bytes. However esp_core_dump_image_get() return 5028 bytes?
And what also seems to be strange, the core dumps first 4 bytes are of size a413. However 5028 to hex results in 13A4, so they are rotated?
The other problem problem currently is, that espcoredump.py does not print anything and closes directly.
Even when I try to set the core dump output mode to UART with decoding directly, the python script gives me the following error (with both, binary and elf format):
Code: Select all
Initiating core dump!
I (370) esp_core_dump_uart: Press Enter to print core dump to UART...
I (377) esp_core_dump_uart: Print core dump to uart...
I (383) esp_core_dump_binary: Found tasks: good 6, bad 0, mem segs 0
Core dump started (further output muted)
Received 6 kB...
Core dump finished!
espcoredump.py v1.2
Traceback (most recent call last):
File "C:\Espressif\frameworks\esp-idf-master\tools/idf_monitor.py", line 374, in <module>
main()
File "C:\Espressif\frameworks\esp-idf-master\tools/idf_monitor.py", line 365, in main
monitor.main_loop()
File "C:\Espressif\frameworks\esp-idf-master\tools/idf_monitor.py", line 162, in main_loop
self._main_loop()
File "C:\Espressif\frameworks\esp-idf-master\tools/idf_monitor.py", line 267, in _main_loop
super()._main_loop()
File "C:\Espressif\frameworks\esp-idf-master\tools/idf_monitor.py", line 207, in _main_loop
self.serial_handler.handle_serial_input(data, self.console_parser, self.coredump,
File "C:\Espressif\frameworks\esp-idf-master\tools\idf_monitor_base\serial_handler.py", line 102, in handle_serial_input
with coredump.check(line):
File "contextlib.py", line 113, in __enter__
File "C:\Espressif\frameworks\esp-idf-master\tools\idf_monitor_base\coredump.py", line 128, in check
self._check_coredump_trigger_before_print(line)
File "C:\Espressif\frameworks\esp-idf-master\tools\idf_monitor_base\coredump.py", line 106, in _check_coredump_trigger_before_print
self._process_coredump()
File "C:\Espressif\frameworks\esp-idf-master\tools\idf_monitor_base\coredump.py", line 79, in _process_coredump
coredump.info_corefile()
File "C:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\esp_coredump\coredump.py", line 358, in info_corefile
self.print_threads_info(task_info)
File "C:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\esp_coredump\coredump.py", line 208, in print_threads_info
threads, _ = self.gdb_esp.get_thread_info()
File "C:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\esp_coredump\corefile\gdb.py", line 100, in get_thread_info
current_thread_id = result['current-thread-id']
TypeError: 'NoneType' object is not subscriptable
idf_monitor failed with exit code 3221225786
Without decoding, I receive the following output:
Code: Select all
I (370) esp_core_dump_uart: Press Enter to print core dump to UART...
I (377) esp_core_dump_uart: Print core dump to uart...
I (383) esp_core_dump_binary: Found tasks: good 6, bad 0, mem segs 0
================= CORE DUMP START =================
PBMAAAIAAAAGAAAAWAEAAAEAAAA=
cHD7P3Bt+z9ocPs/
gGn7PwBw+z+XAn18jDL7P4wy+z9wcPs/hDL7PxgAAADYHPs/2Bz7P3Bw+z8AAAAA
AQAAAGxg+z9tYWluAI8XJW790NW8sk4AAAAAAGhw+z8BAAAAAAAAAAAAAAAAAAAA
AAAAAMzv+j808Po/nPD6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAD8=
776t3gUaCEAwCAYAoFMIgDBu+z97bvs/AgAAAAoAAABAb/s/IG/7PwwAAAAAAAAA
AQAAAENv+z9Db/s/AAAAAAwAAAAAAAAA7P///xAAAAAdAAAAAAAAAIzCAECWwgBA
AAAAAAAAAAAMAAAAoSIIQHz0+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAEBv+z8gb/s/FAAAAAIAAAAQpAiAUG77P3tu+z/hIfs/
0HD7PwMAAAAAAAAAAwAAAChfDYBwbvs/AAAAAKIAAAABAAAAoG77PykAAAAAAAD/
61kOgJBv+z8AAAAAJP/6PwAAAAAAAAAAAAAAYXNzZXJ0IGZhaWxlZDogYXBwX21h
aW4gbWFpbi5jOjUyICgwKQChCIDgbvs/FO4NQCQ0QD9Ab/s/IG/7PwwAAAADAAAA
IG/7PwwAAAAAAAAA7P////ReDYAQb/s/AgAAACQ0QD9Ab/s/IG/7PwwAAADs////
jDRAP0Bv+z8gb/s/DAAAABJfDYBgb/s/9DRAP/wMQD9Ab/s/IG/7PwwAAAD0NEA/
wDNAP0Bv+z8gb/s/XAEAACQ0QD8AAAAA9DRAP/wMQD+MNEA1MgAAAMgq+z/oNEA/
rCr7P+A0QD/YKvs/Q2/7P9wq+z8YIEA/4CH7PwAAAAAIAAAAoG77P3tu+z8AAAAA
ZH0IgLBv+z8AAAAAAAAAAAAAAAAAAAAAYBP7PyMPBgAAAAAA4G/7P7RZDkAAAAAA
iBMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAHD7PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxw+z8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
0Hf7P6B2+z/Id/s/
oHb7P2B3+z9/EotZOH/7P3gy+z/Qd/s/cDL7PxkAAADx3L8otkci69B3+z8AAAAA
AAAAAMxx+z9JRExFAF9LkdoD14BhjvAAAAAAAMh3+z8AAAAAAAAAAAAAAAAAAAAA
AAAAAMzv+j808Po/nPD6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAACAD8=
ACMIQFx9CEAwAAUAAAAAAGB3+z8AAAAAAAAAAAAAAAAAAAAALGcIQAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAANz7+j8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAABsd/s/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAA=
MH/7P6B9+z8of/s/
oH37P8B++z8tRr+TeDL7P9h3+z8wf/s/cDL7PxkAAACcBNE9rx9Q6zB/+z8AAAAA
AAAAACx5+z9JRExFADMPnhii3/0bUmQAAQAAACh/+z8AAAAAAAAAAAAAAAAAAAAA
AAAAAMzv+j808Po/nPD6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAACAD8=
ACMIQAYaDUAwAwYANWcIgGB++z8IAAAAAQAAAAEAAAABAAAAiDH7P4gx+z8YMPs/
3C/7PwAAAAAIAAAAFYAIgCD8+j8DAAAAIwQGAAAAAAClpaWlpaWlpQAAAAAAAAAA
AAAAAAQlCEAg/Po/zFMIQAAD+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkfQiAgH77PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAACgfvs/LGcIQAAAAAABAAAAAAAAAAEAAAAAAAAA
AAAAAMB++z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAADMfvs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAA=
GPj6P1D2+j8Q+Po/
UPb6P7D3+j+SwVoHGF/7P/Qx+z8Y+Po/7DH7PwEAAAAsHfs/LB37Pxj4+j8kHfs/
GAAAABT0+j9pcGMwADPSOHGA4Rp6B8oAAAAAABD4+j8YAAAAAAAAAAAAAAAAAAAA
AAAAAMzv+j808Po/nPD6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAD8=
ACMIQOhCCEAwDAYAxGAIgBD3+j8AAAAA/////0wd+z8QO/4/iDH7P1gBAADoQgiA
8Pb6P9wA8D8BAAAAWBP7PyMABgADAAAAIw8GAAQAAAClpaWlpaWlpQAAAAAAAAAA
AAAAAAQlCEAjAAYAzFMIQCx8+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAjCEBcfQhAMAAFAAAAAAArQwiAMPf6PwAd+z9MHfs/
AAAAAPxCCEAAAAAAAAAAAGR9CIBw9/o/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
/////wAAAAAAAAAAAAAAAAEAAAABAAAAAAAAACMPBgAAAAAAkPf6P/xCCEAAAAAA
AAAAAAAAAAABAAAAAQAAAAAAAACw9/o/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
a1kOgLA7/j/kMfs/AAAAAAAAAAAAAAAAvPf6PwAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAA==
EF/7P1Bd+z8IX/s/
UF37P6Be+z+sEalXgP36PyD4+j8QX/s/7DH7PwMAAABLeZ9nq+/i0BBf+z8AAAAA
FgAAAAxP+z9lc3BfdGltZXIAgbSgXIoAAAAAAAhf+z8WAAAAAAAAAAAAAAAAAAAA
AAAAAMzv+j808Po/nPD6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAEAAD8=
ACMIQPC/AEAwAAYAFYAIgBBe+z8AAAAAIwAGACAABgAjAAYA/EIIQAAAAADBQgiA
4F37P5Ax+z+QMfs/kPf6P3D3+j8AAAAAAAAAAAAAAAClpaWlpaWlpQAAAAAAAAAA
AAAAAAQlCEBw9/o/zFMIQBzj+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAKBe+z8AAAAAAAAAAAAAAACZeQiAIF77P4gx+z8AAAAA
lzcNgEBe+z8AAAAAAQAAAAAAAAA+AQAAIAFAP5A7/j9kfQiAYF77PwAAAAAAAAAA
mAz7PwEAAAADAAAAIwwGAAAAAACAXvs/iDcNQAAAAAAAAAAAAAAAAAEAAAABAAAA
AAAAAKBe+z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACsXvs/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAA=
eP36P9D7+j9w/fo/
0Pv6PxD9+j8JkGtc9DH7Pxhf+z94/fo/7DH7PwEAAACAHfs/gB37P3j9+j94Hfs/
GAAAAHT5+j9pcGMxAMaa2o3M42b0sgAAAQAAAHD9+j8YAAAAAAAAAAAAAAAAAAAA
AAAAAMzv+j808Po/nPD6PwAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEgdAEAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAD8=
ACMIQMRgCEAwAwYAK0MIgJD8+j9UHfs/oB37PwEAAAABAAAAAAAAAAEAAADEYAiA
cPz6PwEAAAD/////oB37P3hw+z8BAAAAHAD0PwQAAAClpaWlpaWlpQAAAAAAAAAA
AAAAAAQlCEB4cPs/zFMIQIyB+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAD8QghAAQAAAAAAAABkfQiA0Pz6PwEAAACEMwhA
AAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAPD8+j/8QghAAQAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAEP36PwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAC8VCIBgff4/gD4AAG3TBAEAAAAAAAAAABz9+j8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
iB/7PwQAAAA=
GQAAAA==
nHzqKw==
================= CORE DUMP END =================