3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php class Dencrypt { const METHOD = 'aes-256-ctr'; public static function encrypt($message, $key, $encode = true) { // you may change these values to your own $secret_key = 'my_simple_secret_key'; $secret_iv = 'my_simple_secret_iv'; $output = false; $encrypt_method = "AES-256-CBC"; $key = hash( 'sha256', $secret_key ); $iv = substr( hash( 'sha256', $secret_iv ), 0, 16 ); if( $encode ) { $output = base64_encode( openssl_encrypt( $message, $encrypt_method, $key, 0, $iv ) ); } else{ $output = openssl_decrypt( base64_decode( $message ), $encrypt_method, $key, 0, $iv ); } return $output; } } $message = 'Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.'; $key = hex2bin('000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f'); $encrypted = Dencrypt::encrypt($message, $key); $decrypted = Dencrypt::encrypt($encrypted, $key, false); var_dump($encrypted, $decrypted);
Output for 5.4.15
string(12176) "L2lvR3JPSTg1NEJJQTdWZURhNjMzK0NFOFA3dEUxVHppNjdtWXM5WXgrYzdCdFRXcGF5OTlucythU3ZLWjhVcng4QnNKTEtRMExJdFVPcjlXWkRoV0V0bWlld3NEYTBySGRId3JJRXFEOHNiZUNVZWZnY1U4Y1pBdU5CMnZ3d0xnMS9vN001cDZKMHN6QUM3UWMzZXlDOTMwdDRjdG92NGR0N1VsYTBMbm5ya2RFSzkvSXlYdlR4ZmwraHIyUnlBajEzVWpSVmxGK3BnOUZYZGd5MlkrWFV5V2ZwR1B0RmpHK0xxaDZxRFhzU1MxRmtmaEhHbUhMMWhoVGltUStrRkUwandEa3dxVk9VNEJHUVdmUm8yOXVkK1dTbEd5QkdTckgzV3pvZkdPZFNsL1AvTUszcU04Z1BlcDk2TDJXdWF1b3JYVW8zUzJHVmRCRE04Y1B3MGFYZDQ3ZXZ0VG85ZGIvclRPZU0rT245UlRIWjc5akdtNHNVYzBmTzY5UHhncytFbEUrWXF0K2JPM0lqR1VIUUxyV1h5ZmJ1cytodEFnZFJUcVg3NXFFM2I3ejFJelZqaTR2YWhiWENUSkZBZG8vTGhFc1BWSVRDSHdqWWJTbStHSS8xZzRaZjlwdVZPNm9mZ2hlcW9zaFo5NHZtTVJTaDZtOVl6dDVXTHowMTJ6TCtDeHIvSG1OTTFjY2dVR2Y0eHNTb2Q3NVRjUE4xNkFsTytTVFJrL2FTY2s4SmlnSm45V2tBQWpNbnk2OThNVnZ4MWlQc0ZXZEVzYXhKdjIrZFAvR2NJK3E2VmN3aFpuYUs5YXhtVnFuSEQrZndrVXBRZ0dZZnFvU3QzQ2NvTE52MHJxYnVGdVBJT0NzeGZqR2g3bjJGNHljakF6ei81MGdWOWR5QWxLWUdORjk0RjJrajdTSHR5R1lheHdmOUk1QXh2c3E0em9yNlNyaTAyNTF3ekJGV21ESWg3RWZYN0J5TEwxZGlEWmZBWVdPZlQ2bXQvZWN2V3RZV21iVTRCdDE3VnJNVlJJc2I5cksvU1ZiT05IdzJkQUxnOHJ6Q2N6TGg2d2xrQXlPVWZmL3doTlBqYkdQWlhNQ3FnVGdLZHB2bVlqT08yQVlGTERXejREMnNUNGJ4bE9HK2daaEgwWW9SNUtYNCswSXFVelBCMXJSeVBxd29pYkFYcUxNenFabGVEVlZPMkFRL3lwVEZ2L3djZ1JzOGVOSG1xVTRHR3grdHY0eXZQUzA3QllINnhtNWkwL21ucW5CdWxEeGdhdzBzM011d0FuL3ZjZFgzcmJURlBsdDlJSTFkV0pLQXZ3R0c1TCtKTlNvaDFUN1FZaHE0Skdid3FCanUvSjloWHQvZFJqMWxzcTBnS3pCMDlnaXYzK3ViT09CZlcxRG9PY0VnNW52aG0rclQxdXdxNFBrY3pjN3lqUmoza04wQUFVek5UMysxQXpqdnBUVi9sV2tBcHNHaEJnbmlVeDI0WGVIQ29rVDQ3cjhHUW9vb0NkZlJMWWVLNFpBd0tsRy9HYnpLU0hsTWFWNjN0cmZudjZBMTBCdGNJRStJSDVUMnF4c3Q4WmV3Q2R3ejhOdUVlUUV3ZWcvaS9GMFVlT3JYdG5IL2FQSlRyWE53VHFLMnE3S1FZcFVCMEJjb2d2dzFWcDZNdG1hcGYxS0FPYVordWxtOGtGZEJqOVYwaVk4ZmFpSHNCTkV1ZndWQWpYRFJ6RWFlZDdUc1JzNS9SaThNclVOTG9CS2djMVpMR0xLY3VkV0FWLzA0TUFJbDY0VjlZaHphNEpqMHR4cUlpQm5nYkwzM3RUbTZrUlo2THV1WFg0TFpTTk9WMlZhUnNvTHlmMGZhdEJyc3FhR3RDNEh4TXIxZTJZSERWaDdud3BjU1Q1VW93NmlmSHFMUVdXMnNNcWpzb0FUZGprYkZFOFpNNjFURmE1Y3FEU3Z1b056SzI1d01xSUVQWEptSktOZm5pSUoxYUNsMVc2RDhxSkxHcUFqcTVjVk00QWZWaS9hNmFuMGh1ZnRPeFA5QmtVSGpWeS9abjNQdUYyMkJDcUFFcDdJL0FnUXZoYzlYZ2lYeE1CN0lkZVdNSlppdzlJYnNJQ244dkxObW5IdlVHdWFpNGNaaHQ3dzVpSE9jaDNDN2I2U3o5OGUvNjJJckxWR3FvaHJ3d0lIdTg3UlZDeDBVb3doSWVKQ0ZQTy9UdkF3ZzArRWZzOHVFaEloRmdvYjc5c2NwckRlOVpNK2dMWGFCWEh2SUtrc0ZldmIxYzRzajNlS1JPMFJyYzBJMDZJRGp6TTdHbmdrSGVNSk5wL3NVZ0pLUXZCY3MwaWZ3d3ZnVzFnR0YvbWZnbXBsSFpxdDRCVGk1MXNJc3hBUnpmWEZNTUtvWEpkaFN4ek10bFU4Qm1CeVpiVVZaeVFBRmxpUVNhd2hWOEdMc2lCQ21tSkxoRjR3L05UZ05VUWVoVHYxL0dtY3ErRFNZb1I1cS9Cd0RobXkxSURwTytwNEZXNlJzVEs5SGhHN1FpNjJmUVRDQ3pKTzZrR1BmV0RrRGI4UmFFYkZpcG9TOEF1SzI2WEdRRmdxZncrOGFzWkgzUGxuN1RyVUJ5TFNNNXRmdmNNMDJINThRQUdaaXFRdHRRTXQ2VWdVOCtvS21sblFRaDA2SmxPbCtSQk14ODBxSHd6S2szNHVUMTZZTzJhZ0lqUzBwdGZkTE9rcHRIRkhKVmJ5MElrdExBckZuemdtWU5DVzRhMXpaSkhSS3kzVWxNcGNSck9keEphcHNzOUFEUlVvaUlKazlqcFpOQjBSVE83U0ZiR0g3V2FEcVIzejhISVpKQ21OWHkva3FQTjlXRm5CZWVmU2VUdnROWG9NRTRBUU5EeDc5cTY4S0J1azN1bWFicUNGd05LUFBrRXJ2dHk1aUhvV2JmM0cyY1hGT0RYOEVvQ29kbzluWDdFbjRrSWxoR3JVejhGN3dQMndqbWhIMFJBalJNZkVuTUdMYVZvYXY2b1B5dE5EdTJPeDEvb0tNVjFrS2d4MDcrMEFYVlloTEo5YWoxSHBjNjFnNUdQV05qMzdrYkxaM2tvK2s4eGp1YTN1M1NOcVRZMSt6Z0NrOUZWWGJjZ2duNzRmUnM4clZTVFgwbEowZk1PQ2lhS3JTTEd6ckV2ZXp4SklXQ1RiV1QvYlUxM25XYUp5ZDM1QzdYZnlidEY0bFdUcEs2dDJIMzMxandUVTA5Nk5CdnY4M3RHNDMxTTdtQXNreE5ra29jaVRGZkI2V2tVQjhPUkMzbTdBVkhGTkNoSXdFa1MxTUFHeEhvKzNYekoxWVFGa0llVUgra2tkRnZpdmxCdmFtK2F2NUgzUUkvN3l4OUlLaXZuRDMwcS9aZnVTQkw3eEFLZzJMd3N0bm5oRzh6MllENDdZT0dMVHV5STJkMGlmaWEzeEt2R2x2c28zYVBzWDV5Nlpmd29JbU8zTmpmbnFDUGN6WG45eG1Ec3FMWXNHTUVhTHhwNm56a2d3ZG9YTGQrakdhZXNDSCt6MTZyRFRmR0RVMXZLcFBaN3BsWndxMFo4TFIzTmlyelVUcVNKQmI5ZFZYaDMzZTVEYzNldmhxSTllSFVVS2lvY000NGZqMVNrMmJ4aVZrZTlocHhUUW9PNy9FU05iU2M3U2RGRVBrNHpoL0ZmS2Iyck9BS3Nrbm05U1gvR3cwalYvcGVyUUthb214VjdUaDU5cXBRQzFEOUpZUTB2T2hKdlZVTE5wZTZHVzZkWVE0VEUxL0N6V2tuUUlWT09HR3JsYk9IQk9mY2xjVCtVWVJ6cWNZQXhKeEJvaUZwaG92dVA2ajgxU2pPK2pmUjV4Y0VtTXR2T0VrMnNtQWpFVWFRc09JZjY1Tk5BbVJYTHprQVYybWo2VlVMaE01aFMzc3U0UGpUNmQ1ODh5OXZ0VWhLakozMGYvMlVTSEJyRVlRQXl6UnJib2ZZRWZnNlAzSG1HZitFTFdjYnYwSTQ1TGRGQ1RUY0JRSHF5UmVkZGhGWU1PTENhUC9GOGZjb25DSHRZYi9oK2xra1JWT1hZcVp2VFRSVVhzMFhoWUQzR0VCbE9KR3Y4WTZMM2Q1WnVlc0srZGxKUHpibkpmYTQ3ZTcxMzJkTnpkRWdrU0lPMFlXSHYzeTlRa1FuQmVvaHNOa3hzdFhWOVoyN0xPK0ZnNUlhS1N3bDNXRHNxVmFWd1pBNjFOS2ZDbkl0U1dOb0prL05GZXpKVGZWajN4QkxKMml3dnBWNDFNUmNMOGFVcDE1YkNpTE92bFUxdXRaMjVTT3N6b3ROdlVvRmNIMXo0UkwrSG5mdEd6VXg1eWtRbU9pa1UyZkFjYzVSRCsrSXAyaWF0SHJQVm1yRFlaN2wyalJaNko3aU5vSHV5TUFXdmZvTEJGbERmQzR1YlZVWm5oNkVlTGtxemk1UlNUMVlpVUJZaU4vdjhkb3dSME9tTVVkWitCQmJGMWJvV0FNdjhZZ3c1M0MzWU9YeVNSQVpRYm80elRNVE10cVg0Z0ExZVRhSmlPeHoxbzQ1THBEV3NvalJ0bkdQZ0hIM0ViOHljSDZlODA3eWdrRUNXV0k2b09IUFYwVUlnRG9EcjZldTJ1KzJKeWpZWmlKbVBSMkRZLzhFWmoya0ZMWjZsQjNRYzdpaWxEVER6TXRlbzZ4c3AybExHL25zWmh2cVplTGF2OXJxWmdUbHhHcmtZZGRNbjlRdk5SMjFjR0JBbWRXdkRkWXdESVl6ek00RUJTOGZ0TFhvZHNNVmJNbWVGRUdPYnN1eWJCc3VGZHB0L001NGVvTkw5dlRJelM2Q0pLOVovdUY2ZzJleXFsQWkzbGQ2NUIvbll5NWdwMURKSHJIbVFTL1FNWDFHeDNSd2R1VFlUNFdMclJhMVFyS2RSZW9zb3hRVWtTQWpHd3F6bk8yYW9xQjVFLzVrMUVHVVJ4YmlRYjIwWmR1d29DN2ZpUjZpdXdnU2FSMGJ3QUV6ZEVYbk5kdThIUkRsMUpCS01ieDg4dThNNEVSWktVRVF0WVI3M0poZkpKeTN5R0dOcDAwa3BxRmdvVW9vUnpUODRlNjRHNFNiUWNZNjYzRmRSUjdLZzMxeWY3VkZNWWJETERwWkpzNTcxdlgvYlU0M2RQSUpQZmExWHZUTnpGbVljUWRja3hwOUwycy9pQmxTQmZhVXFZT2pSTTFrNDJoUStCOWc4UGZ6c3pWUkxNc1dGQ1pVaG9PL3BrRi9XMis4RTQrcjZoSkVSNktiR1lmWGZrbnRZejErUUFpNEZyS1M0QTQvNjVpa2gvWERuS1YvNjRqSGNkbFBCQWlvaGFGUHFETVRmTmthU0NNNFN3TXNFUEhvTGVONjZUb0Z1b2lnZGV2d2hyNEdzbUVXN0dGUlV6YkVCR3V2aWsyaGpHakRlSTRoaldtSmxESFRRNnEvUExjdWZ2RFdSaVVlUlE0dlhLdFV4RXcyMGVOdEtjWVN4eDRpUVBYTWZqMDZQRGwzc3JWa2oxZ0pxYTUvdm5wNXVGT2JCVGROUGxqK3JHSDl1VHEvSFplQkhkQXZiY3UrSVJYTU9DKzRGampKY3RSVEdzOTkrR1BCNUdac2NHeU1RTWFpSFdId000TmEvUWMycmxVYW5hYXA4U0VBTjFXeHhjZHFXM1o0SHlwUWxIR2RUU01SWk1KcDBBRWV4VkEyRVBnNDJCSUJhZ1pWd3JMNTNuaUtYQ3R6REpNbmdITEM1ZmJLNHJJWWI4Ti95M1pvSURKbXRkN2RSY2FDZlZoRVhxczJzZW5vcWw0N3hCb055UVRNVUVERVVUUnlPSHhXRkxXM1RKTVhkVEU3azJoQnVZdWw4aHQ0TVFSZVNlQzNrbk1Mb1NXRmFUSS9JaEFGZ3V2MGJ3YVNkbjdoaW8zRjdLalRta05xR1MyYW1ZeXdaaVRTeXV1S1U2akFkWFZZbkRSeUdsb0ZRU2gzenpkT3NRck04a0RNYVp4WTQ4akQ4UjFTYjc5TzJNdzd2YXFaMGJZVzk2MzFncGdtaE1BbUZjM3RxTGZra2pmcStqL2dETHgweTF1T0syVXFIUlpudmlrbTBGNjdITnNFYnZMMHhzMlcwejJ2Y1k4YVVtTUwyREkzK09aREhObVU3NU1oa0ZaSXVKZWJMeFQwanoybTU3N2F3Zy9pdldGMVcrWTZvc0ZlMnlWRk5LRzRrVEhnaG9OVitXdVZmR3doQUtxdDZYdTd4UzY5eTVlSEo1eEpFTkU5Z0MrM00rb293L3VLWk9Zc08yRk1mdmlYeVEyVUJGOXBPb2hyNkhUcTMrY0U3U0JCdzRydjlXeXc4UGhMenZOL1YvNFltdjl0ZDNHSmhjci9ZWHpyaGVmMFdBSThEL1ZjWDRna2laMEJGMHlUSlcxSnF3WUtLcDJ1TnRWdE51VTg0Y0tTeTNRRWdYVzVSUStIVlVCcUZZREtVdjFtZ3Uwb1oxdGV6eUMwN3FmTHdGV00wcTVBK29DRmMzeGh6YlV5bGdHYjV4Q3ZKUS9nTEpPTm5pOW5EMW9GU0hNOXJaTXVhSGd2OVZCRExCOEpCNytxSE1rcjJlZUhQVk9LN081bU5ib1ROaVozL3VaSklab1p0bTdYc3YrVDRVWUx1RFhnV1ZuRlpKemxodXNSc1p4elJzbEMwelJzblNwQ0NZeXdEQWt0dXhXNlhXVFZjUVJCREdqQlplcG1SNkNtRmZtV3FDdm5VNXB4VDliWXczb0NZcXl5alJOeUNPdHdhN2JMN1RFcjNtVVBjdGZWYXhkcDJCUUY2OXFBTTBZQkEyUDg4ZGZaamRGcC9HRFAvUW5zNmdZTEN2S2M1S3JiOXJqeUowdGZYb3IwQmJTOU9PM2RCR1lobloxVmtXQUhBdVRsYmtaaG12Tmw3WEZxc2NRV1J3andhTUpucXNqOHVGL1VIUThBckRCWExWR1JOSnlPc3dXQVVLd1BTZGhDU0pOcmtXdENXSmVSRXNmNFhHZlRYbnJMMUt0OWRHc2s4b05tQXUxUk9XQ0ZOdW9HaWNGd3dpZWFVcDJENlZwdkJTYUdqRENCamN0ZnJ2N3lNMXdLMzdzd0REWlpLQURsd0NmcFB5eDVxaGFtK1NlUlBNOUVTSDNIWm1FU3JDTS8rT1p5dHlkSXJrcGhndkRsVC9nbmZHcFdDa1Z0SFdoazVUaXRTVHV4VVFQUWY0TXBSVDYyNXVsSW1LQndLeHBGMEplSGhkM003UFkvMmFjZ1c5dkR2N0RMNmlVUUVuTk96SnVhL2QyNXJPQ2tsamFLNHdKdHZUbUR6b0hYVDdyZENYam80bm93elRiVGdUWFBTWEFST0RmSTVZYjVVWkhhcUxYa20wSzBzRlhHbHZHc0theXE4S1JaL05hdHZ4OHR1UDZlRGtOWTNKckxHVW5tdkg4SE15NVlaUWJNam11OEJ5NlViWWJJWWtZM3NlRTVmYjZjdm1UOFdEYW1TZE9MS3hGS0NwOEt4M2QwY1B0Uk40WmRQaWp4NUpJTk1RVVVNTHlwVVFGczJlREF5MjFJRFhOb1FBNlFOL1UxQW96SEtOWkhYVkpZay9xeC81NVExaTBCUmdpUzZTWWJ2TlhJQm14YWtidWtzZ3I1TE9TZkNGdGhOajdTZDFObENtRXhVVVdxZUw2bTZRSVBJeEp1MzVocDdNYlZBZ0Y1MXVzRy81RlBoZmRwUEFjTGF2ZHR1T2ZOUjkxVTlvM2xRQXpHcER3RkdSTXhiMEJSOHBEU3RKSysyZUg5MG1aaGFqdGxKZXV2Q2t5ZFJDWFFqcDlwNWhlcWlQaVFncmZ6Y25PdDhjdFdmaWg3c2Vza01aRnFSRDV0WllMWE1wQW5EUEU3dUd1dy9uVi9VKzllZGl5Ky9SZ0tvTkhjcW9SZURNT1BqeGxBS1ZLalQ2cHRXaFZ4bVY1V3FuYnF0RHZWQlc1R3pmTVZKdUdsNDBlY2M4Wjc2eTlHNGdXNEpWdXJ6ZE9IbXBLWWZpU0ZvaDYvMmcrZnRObUl2L2pDTjMxQTJOZW4yY2sxRjVlNGNwNGw3MlZHanNDSklFYXJja1lka3FBWDRUMkg1M2NtRmtMNlFrU1paWFpoUUgyZStqWE5NNEpXTHpRY21Pek9IVHlqRWJTcCt3VHFleHF5OVNTUFZySVQvSDRLUjNaaytCaGEzQ3VZNG9DVGxVMCtqUlNPa2hpWU1TT0tPRm9XNWhaS3l1U0I1eDl3TlZKYkJWUE81MTh0MHlnbmpyRVE1TkptUEx3elVNUlFpY05lUm8rMVdqN0xwQXJCNkUyNG1CV0kvVXZQbjhucTY5YThPNVVkVWd3S0NQbzkwckFlcGp0dkdaV1gwTjNnY3NWYkhKczBvZHM4QS9pMEZWSU1RMlR0UmlIcHVzdGdJUEk1dUZmMVV4RHhOUllDWmZybkNNRURzUDFHbDFWbWlhWUVVb3FJVjRWOS9hTkZOQmtHbnYxVkpEVU4xNWVUbUwvU21sY0Jjek1TS1Y4YTNBK2F4NzhzbnkxRmh2RzAxRTY2aCtoZCtKU2wyTTVtb3pTUTRIekxKNzVYRE1KTVBqN1FteWxZdVB2SXBSd1FVK1ZnczJldXhQN0JvSllrOW5EZWZOcUZDL2Yxakw3dC9qNlA5L0FUUXUxU0xRSzhybnpLN0tuenB2a08vOTRGazZkNEZ2WjJ2WUl6b3pxcVhNMitPeEU2czdjd1M1R1hqS0FMYXNtMHRTRHhEazdQOE5uOHgvc0E3eTRyNU94WENBQVIyUXU0bjNMOTUwYk8zaFNZbGxmb0VtZTQwdjJnVUZDZTlJTGU0empZMWpwcVZZd29DbGVyZjNwMkY1eEpsakpPNEloaE5zR1NvWjF5eHVRSWVqTHNwZW84ZzdFWGxveTNxNTI0MW00akdtVHBLOUp6TEFiT05yL1gxUkcrdXMvWkNlRUlpS2hBbHJzaktjZkZUMlNXMkxORVJybWFsTjJPZWNoR2Q1Ny9lMnduQWgyNEkwb3hVOEtGVzU0T3M4cVFvWG9yU3hNNkRoSEh3MEl1aytXY1gzaHdVN05Dek1sZk5teGVOaHhDNG9GMllTc2o5YzNIUU1zVElIRkpHYWVuMjBqWTI4ZStSUkhEV1Q3dkFTTU1EZURGZTVvN3A0anNnNHRwbFFaVjhqNnRHTlVuREhCcVdoKzBMR1AvRFg1TWY5eWFyNE40SXBORW1nV1FxMkxzb1NnQWFHajhOMnVQYUViZFYreStFako4ejY1SDExQ0hUazE2a3RsQ2hDUHAweWE0QkVVM0xQeUpva1JSVEl1eWZVU0xDUHJmeTh6V3JTeHUra0xsdXg4NjMxbXdKZGRoS3o1K25lTTlURFRaMWYwaWhrdUljY2lVQzFEeDdRRlFwRUd5ai9yRnZwMnYxSTN3US92WWFqcmMxMFVuc0dRdzd6WGFiYkdKc29PNEtBa1huVTZoMyszQ1A1RDlzaVFlR0MxYjJZTm0wMjI3V1phMXVqMVlxb0pUTi83WEZjL0d1L0RyRlVyZ3NDRlZuOTYxUDFvVWdGQTNjTUwyaXZGNlhVQW5pK3NHUDIvV2JRdVA1SVZWQjIyanNwVXp1Z0lINy95NnRORURaeTYyUEowMDlCYnl0WTA0TWl1a3UxcFN4VktPenRCdFlLNFN5T2kxWWpYSW1QQXdicDlLTTcrQm1KaGRBMEVQc0pEcFNFdUV5TGtVZmtrSml6eFRVaXJLKzE5RE9TNmVrMTFlLzNqdkp6UEJiL1lrYkdNTVlybzZZcDhrYkYwc1hKQWtqMGllYjhXRGZjdTdSYlBQcDhNZit6cWE4cFZOOUFrYldXNVNRMEZLZHJsNXRnbkRtS3d4aHR0bTJORkhEVnJ4M0lKQjBNdnNoNEFHUysxRS9ZWTluWXk1WkY2ZnFTMFZabjFTQlliV2c0VDJGMTBCL2lYVmxzZ0lSUjFGZDJYUmNydVZPOGRwWFQ3RE9CR2JzU1Z1cVZWM0ptOFNkSW9DanR1WkxncGo2Y3dlMjYzK2xyNDBxdFlFNHZHZDBjbzRsRlZ0WHNlNTQwQ2t1dlZhZFQyT0UrYUt5LzN5Tk9BSHZKcXRCc1Z2Z1FKcHVCV3BWUkZheldSdGxVRXFzaFBiZmZsOElmOVBLQTUzVUttcHh1YksyYWIwMUhRcmthc0d0UWphMk4vVERJTGUxN3Q2c1ZHRVZWQzNGejRvaGI4NUI5NlJwYSthWjFTRjZ4WlVWc0dDa2dYWVVGd2FZOUVRWlRrQUoyTUFyN203NzlyZ000KzlkQUJBOWhsQ0NpaGpZQWlHUmNuZU1ib3c3YXIzN2ZnK0YxOXNHcHBuby9XZmpiU3Z4aFJiek9HaDRtU2lFYmFYZkc4SDgzSEU1WksxS2k3ZHl0RHpQT0x1REs3SDByZnV1R1JRelIxOVl6ZlZoMkVsNlNKYUJwU0EwM2pjM3lEdkloNXc0VHY2cExWTGg3NmdxYkM0dEVxQ2YzNGk0TXVCMm11N0drZm00WlZ2d2o4cGJUVWx5ejE5a0twN2tIS1Z4K3FQYVBINjhsb2FBanhoZTNCaUxWQXJ2MkNwMVhpYkpyR1hudjMrZUtpNzRoY290aVpTUjNzNE5SdUU2VnFMWENrbnB6cEI0KytSR1RUQmhaLzhDSE5IS3NNSW9wMEZsUFBxcHJnYlEybGFrVXZwanltcE1iVFJIZkNvcStrcEZqaEhkbHN0ZTN5QmhKR2QwdUNsaFg3RzhaVVhqY1U3OWhkS1hqMnhmNXU5Tlg4R1U0WEhIR1dQVDhyN2VGTVhoQmpqNEpuMXZ5U2czSEJwRHpDWVdWd3ZFVjVOemNQcThwRU8zVnBxWC9pYVVYQzZES0I3dW5qanZGdHAyc0o0VTkvb0RFeFNuU2JjRW03ZTMvZ0kzNGJUSW1RbnM0OG91RjVTVzBwSHdCQjdJYVZRd1FHbjZFN0xvMkNxWnpUeC96VmQ0YnlUTTh4VFoxNXp1NkNWYzBZelQwNzJIbWs2bE9oSTRlRC9qeWp4VFN2MVFMc2k5dG4zeFU2N0MyaTRMN2pEMUw3aG11R3dzSDcyQzVJWGJObkpuSWxxYXdqRnpqRmVVRUNtTGFyeFlCQStwVzJXRjAxR3dZUUJzT0RJaWliY2hxTXBLN0xVK09vSVRkWmkyQ2dwaml5N20vRkIzb1pkNSs3NVVGczk3YVM4bXh6RURON0pDRnBBbDR3VFhoZXBYRy9BZlhkOHlkQVV1Uk4yYkVkZ3J3Sk1BL1ZUUUlqeVorN3FmOFAyU2IzSXZ5b1paL2tDSmV1ZEthRjE2RXgyRTBOWUtJMHRmeGNVVC9wOHkzSVpaYXJBWm1vYmc0enl0WDlCQXR0ZEdqellUTjB1Q3JlODFBcUJVc2RnUEZkeGdOaHFWaE5CSkZZT0ZEQnZFOFdLQ3pnOE5ZT1RLdmNMYm9DMXFGL2hxRzd4VmJMeVN4SWVEaFljQnNvMUFETDYxVlBSZnN4ZFJuZndQYWxNMHlHV2EvQ3lNcytNL200dkhXbllnS3M5WXRJS1JXUFlMa1hvcFhlaWQ4ME5jSS9QTWhlSC8rbWVxVnI0RnlRbUd3dVZpR1B5NnFUeVpGam9iZ0NIaDlTQ2dQTS9teFNDV0YrRW5DUmZhVnF2Z1d5THVYdW5SUzl4c0lsWEtoclRhNHpiVDgrMDI3VERoeFNJdmlhdktwbldxekpEY2trZnpSTnNNdHIvZHJraTZqRHdzQUVwTG9SYS81N2FqaTUyaStiWDZUNDJXTjdtenNtSmovbkgzQS9MMHBTVGkzOGN4a1h4VkEwNXBqcXZEU1BJQ3QrYzVsbFlYNkdtYm1DVGlqR2lxdGxwd1NERm50bThEUEhRMnRuZG1UZmVZVU0zQ2VjM3RVdDIyM1VyU0J1Q002Mm5SVU0wYUhnVUVUVEU4QjM3cDZobEgyU3gyaEFhR0FGbk94NlVoS2syRGwxRno0bzkybDdES2cvdmtDZnBrMklvRUd1NkRMczJoR1JwU1BUWGNqSDNQL3huRkFYam0vajVGRThjN2FJd00wTFRvODBxTDljQUJUUWtwQmZ3YnJwdVg4TmZuTHZSWkpjbUcvTndlY0poYVhENUxLUG9RZlF5aVNrWXF4RHBHNkd5NW40bU9RWkF5cWM9" string(6847) "Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn.Ready your ammunition; we attack at dawn."