IyBHcmVlayBtZXNzYWdlcyBmb3IgR05VIGdldHRleHQuCiMgQ29weXJpZ2h0IKkgMTk5OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBTaW1vcyBLU2VuaXRlbGxpcyA8c2ltb3NAdGVpYXRoLmdyPiwgMTk5OC4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogR05VIGdldHRleHQgMC4xMC4zNFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1nZXR0ZXh0QGdudS5vcmdcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDIwLTA3LTI2IDIxOjU2KzAyMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDE5OTgtMDUtMTcgMTM6MTIrMDIwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBTaW1vcyBLU2VuaXRlbGxpcyA8c2ltb3NAdGVpYXRoLmdyPlxuIgoiTGFuZ3VhZ2UtVGVhbTogR3JlZWsgPHNpbW9zQHRlaWF0aC5ncj5cbiIKIkxhbmd1YWdlOiBlbFxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS03XG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiJYLUJ1Z3M6IFJlcG9ydCB0cmFuc2xhdGlvbiBlcnJvcnMgdG8gdGhlIExhbmd1YWdlLVRlYW0gYWRkcmVzcy5cbiIKIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgoKIzogZ251bGliLWxpYi9jbG9zZW91dC5jOjY2Cm1zZ2lkICJ3cml0ZSBlcnJvciIKbXNnc3RyICIiCgojCiM6IGdudWxpYi1saWIvZXJyb3IuYzoxOTUKbXNnaWQgIlVua25vd24gc3lzdGVtIGVycm9yIgptc2dzdHIgIrbj7fnz9O8g8/bc6+zhIPP18/Te7OH07/IiCgojCiM6IGdudWxpYi1saWIvZ2V0b3B0LmM6Mjc4CiMsIGZ1enp5LCBjLWZvcm1hdAojfCBtc2dpZCAiJXM6IG9wdGlvbiBgJXMnIGlzIGFtYmlndW91c1xuIgptc2dpZCAiJXM6IG9wdGlvbiAnJXMlcycgaXMgYW1iaWd1b3VzXG4iCm1zZ3N0ciAiJXM6IOcg5fDp6+/j3iBgJXMnIOXf7eHpIOTp9u/x7/3s5e3nXG4iCgojCiM6IGdudWxpYi1saWIvZ2V0b3B0LmM6Mjg0CiMsIGZ1enp5LCBjLWZvcm1hdAojfCBtc2dpZCAiJXM6IG9wdGlvbiBgJXMnIGlzIGFtYmlndW91c1xuIgptc2dpZCAiJXM6IG9wdGlvbiAnJXMlcycgaXMgYW1iaWd1b3VzOyBwb3NzaWJpbGl0aWVzOiIKbXNnc3RyICIlczog5yDl8Onr7+PeIGAlcycg5d/t4ekg5On27/Hv/ezl7edcbiIKCiMKIzogZ251bGliLWxpYi9nZXRvcHQuYzozMTkKIywgZnV6enksIGMtZm9ybWF0CiN8IG1zZ2lkICIlczogdW5yZWNvZ25pemVkIG9wdGlvbiBgJWMlcydcbiIKbXNnaWQgIiVzOiB1bnJlY29nbml6ZWQgb3B0aW9uICclcyVzJ1xuIgptc2dzdHIgIiVzOiDs5yDh7eHj7fnx3/Pp7Ocg5fDp6+/j3iBgJWMlcydcbiIKCiMKIzogZ251bGliLWxpYi9nZXRvcHQuYzozNDUKIywgZnV6enksIGMtZm9ybWF0CiN8IG1zZ2lkICIlczogb3B0aW9uIGAlYyVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50XG4iCm1zZ2lkICIlczogb3B0aW9uICclcyVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50XG4iCm1zZ3N0ciAiJXM6IOcg5fDp6+/j3iBgJWMlcycg5OXtIOXw6fTx3fDl6SDw4fHc7OX08e9cbiIKCiMKIzogZ251bGliLWxpYi9nZXRvcHQuYzozNjAKIywgZnV6enksIGMtZm9ybWF0CiN8IG1zZ2lkICIlczogb3B0aW9uIGAlcycgcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIKbXNnaWQgIiVzOiBvcHRpb24gJyVzJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCm1zZ3N0ciAiJXM6IOcg5fDp6+/j3iBgJXMnIOHw4en05d8g8OHx3Ozl9PHvXG4iCgojCiM6IGdudWxpYi1saWIvZ2V0b3B0LmM6NjIxCiMsIGZ1enp5LCBjLWZvcm1hdAojfCBtc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIC0tICVjXG4iCm1zZ2lkICIlczogaW52YWxpZCBvcHRpb24gLS0gJyVjJ1xuIgptc2dzdHIgIiVzOiDs5yDd4+r18ecg5fDp6+/j3iAtLSAlY1xuIgoKIwojOiBnbnVsaWItbGliL2dldG9wdC5jOjYzNiBnbnVsaWItbGliL2dldG9wdC5jOjY4MgojLCBmdXp6eSwgYy1mb3JtYXQKI3wgbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJWNcbiIKbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJyVjJ1xuIgptc2dzdHIgIiVzOiDnIOXw6evv494g4fDh6fTl3yDw4fHc7OX08e8gLS0gJWNcbiIKCiMKIzogZ251bGliLWxpYi94bWFsbG9jLmM6MzgKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgptc2dzdHIgIkgg7O3e7Ocg5e7h7fTr3ujn6uUiCgojOiBzcmMvZW52c3Vic3QuYzoxMTAgc3JjL2dldHRleHQuYzoxMzUgc3JjL25nZXR0ZXh0LmM6MTI0CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIiCiJDb3B5cmlnaHQgKEMpICVzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgoiTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDwlcz5cbiIKIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgoiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKbXNnc3RyICIiCgojCiM6IHNyYy9lbnZzdWJzdC5jOjExNiBzcmMvZ2V0dGV4dC5jOjE0MSBzcmMvbmdldHRleHQuYzoxMzAKIywgYy1mb3JtYXQKbXNnaWQgIldyaXR0ZW4gYnkgJXMuXG4iCm1zZ3N0ciAiw/Hh7Ozd7e8g4fD8IPTv7S/05+0gJXMuXG4iCgojLiBUaGlzIGlzIGEgcHJvcGVyIG5hbWUuIFNlZSB0aGUgZ2V0dGV4dCBtYW51YWwsIHNlY3Rpb24gTmFtZXMuCiM6IHNyYy9lbnZzdWJzdC5jOjExNgptc2dpZCAiQnJ1bm8gSGFpYmxlIgptc2dzdHIgIiIKCiMKIzogc3JjL2VudnN1YnN0LmM6MTI1IHNyYy9nZXR0ZXh0LmM6MTU5IHNyYy9uZ2V0dGV4dC5jOjE0MgojLCBjLWZvcm1hdAptc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgptc2dzdHIgIvDc8eEg8O/r69wg7/Hf8+zh9OEiCgojCiM6IHNyYy9lbnZzdWJzdC5jOjEzNiBzcmMvZ2V0dGV4dC5jOjE2OSBzcmMvbmdldHRleHQuYzoxNTQKIywgYy1mb3JtYXQKbXNnaWQgIm1pc3NpbmcgYXJndW1lbnRzIgptc2dzdHIgIvXw7+vl3/Dv7fTh6SDv8d/z7OH04SIKCiMKIzogc3JjL2VudnN1YnN0LmM6MTc0IHNyYy9nZXR0ZXh0LmM6MjQ2IHNyYy9uZ2V0dGV4dC5jOjIxMQojLCBmdXp6eSwgYy1mb3JtYXQKI3wgbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKbXNnaWQgIlRyeSAnJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKbXNnc3RyICLE7+rp7Nzz9OUgYCVzIC0taGVscCcg4+nhIPDl8enz8/z05fHl8iDw6+fx7/bv8d/l8i5cbiIKCiM6IHNyYy9lbnZzdWJzdC5jOjE3OQojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiVXNhZ2U6ICVzIFtPUFRJT05dIFtTSEVMTC1GT1JNQVRdXG4iCm1zZ3N0ciAiIgoKIzogc3JjL2VudnN1YnN0LmM6MTg0CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICJTdWJzdGl0dXRlcyB0aGUgdmFsdWVzIG9mIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiIKbXNnc3RyICIiCgojOiBzcmMvZW52c3Vic3QuYzoxODgKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIk9wZXJhdGlvbiBtb2RlOlxuIgptc2dzdHIgIiIKCiM6IHNyYy9lbnZzdWJzdC5jOjE5MQojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiICAtdiwgLS12YXJpYWJsZXMgICAgICAgICAgICAgb3V0cHV0IHRoZSB2YXJpYWJsZXMgb2NjdXJyaW5nIGluIFNIRUxMLUZPUk1BVFxuIgptc2dzdHIgIiIKCiM6IHNyYy9lbnZzdWJzdC5jOjE5NSBzcmMvZ2V0dGV4dC5jOjI3NSBzcmMvbmdldHRleHQuYzoyNDEKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIkluZm9ybWF0aXZlIG91dHB1dDpcbiIKbXNnc3RyICIiCgojOiBzcmMvZW52c3Vic3QuYzoxOTgKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCm1zZ3N0ciAiIgoKIzogc3JjL2VudnN1YnN0LmM6MjAxCiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgptc2dzdHIgIiIKCiM6IHNyYy9lbnZzdWJzdC5jOjIwNQojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiIgoiSW4gbm9ybWFsIG9wZXJhdGlvbiBtb2RlLCBzdGFuZGFyZCBpbnB1dCBpcyBjb3BpZWQgdG8gc3RhbmRhcmQgb3V0cHV0LFxuIgoid2l0aCByZWZlcmVuY2VzIHRvIGVudmlyb25tZW50IHZhcmlhYmxlcyBvZiB0aGUgZm9ybSAkVkFSSUFCTEUgb3IgJHtWQVJJQUJMRX1cbiIKImJlaW5nIHJlcGxhY2VkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWVzLiAgSWYgYSBTSEVMTC1GT1JNQVQgaXMgZ2l2ZW4sXG4iCiJvbmx5IHRob3NlIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IGFyZSByZWZlcmVuY2VkIGluIFNIRUxMLUZPUk1BVCBhcmVcbiIKInN1YnN0aXR1dGVkOyBvdGhlcndpc2UgYWxsIGVudmlyb25tZW50IHZhcmlhYmxlcyByZWZlcmVuY2VzIG9jY3VycmluZyBpblxuIgoic3RhbmRhcmQgaW5wdXQgYXJlIHN1YnN0aXR1dGVkLlxuIgptc2dzdHIgIiIKCiM6IHNyYy9lbnZzdWJzdC5jOjIxNAojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiIgoiV2hlbiAtLXZhcmlhYmxlcyBpcyB1c2VkLCBzdGFuZGFyZCBpbnB1dCBpcyBpZ25vcmVkLCBhbmQgdGhlIG91dHB1dCBjb25zaXN0c1xuIgoib2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IGFyZSByZWZlcmVuY2VkIGluIFNIRUxMLUZPUk1BVCwgb25lIHBlciBsaW5lLlxuIgptc2dzdHIgIiIKCiMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgcGxhY2Vob2xkZXIgaXMgdGhlIHdlYiBhZGRyZXNzIG9mIHRoZSBTYXZhbm5haAojLiBwcm9qZWN0IG9mIHRoaXMgcGFja2FnZS4gIFRoZSBzZWNvbmQgcGxhY2Vob2xkZXIgaXMgdGhlIGJ1Zy1yZXBvcnRpbmcKIy4gZW1haWwgYWRkcmVzcyBmb3IgdGhpcyBwYWNrYWdlLiAgUGxlYXNlIGFkZCBfYW5vdGhlciBsaW5lXyBzYXlpbmcKIy4gIlJlcG9ydCB0cmFuc2xhdGlvbiBidWdzIHRvIDwuLi4+XG4iIHdpdGggdGhlIGFkZHJlc3MgZm9yIHRyYW5zbGF0aW9uCiMuIGJ1Z3MgKHR5cGljYWxseSB5b3VyIHRyYW5zbGF0aW9uIHRlYW0ncyB3ZWIgb3IgZW1haWwgYWRkcmVzcykuCiM6IHNyYy9lbnZzdWJzdC5jOjIyMyBzcmMvZ2V0dGV4dC5jOjI5OSBzcmMvbmdldHRleHQuYzoyNjIKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlJlcG9ydCBidWdzIGluIHRoZSBidWcgdHJhY2tlciBhdCA8JXM+XG4iCiJvciBieSBlbWFpbCB0byA8JXM+LlxuIgptc2dzdHIgIiIKCiMKIzogc3JjL2VudnN1YnN0LmM6NDUxCiMsIGMtZm9ybWF0Cm1zZ2lkICJlcnJvciB3aGlsZSByZWFkaW5nIFwiJXNcIiIKbXNnc3RyICLz9tzr7OEg8/Tn7SDh7dzj7fnz5yD07/UgXCIlc1wiIgoKIwojOiBzcmMvZW52c3Vic3QuYzo0NTEKbXNnaWQgInN0YW5kYXJkIGlucHV0Igptc2dzdHIgIurh7e/t6ereIOXf8+/k7/IiCgojLiBUaGlzIGlzIGEgcHJvcGVyIG5hbWUuIFNlZSB0aGUgZ2V0dGV4dCBtYW51YWwsIHNlY3Rpb24gTmFtZXMuCiM6IHNyYy9nZXR0ZXh0LmM6MTQxIHNyYy9uZ2V0dGV4dC5jOjEzMAptc2dpZCAiVWxyaWNoIERyZXBwZXIiCm1zZ3N0ciAiIgoKIzogc3JjL2dldHRleHQuYzoyNTEKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIiIKIlVzYWdlOiAlcyBbT1BUSU9OXSBbW1RFWFRET01BSU5dIE1TR0lEXVxuIgoib3I6ICAgICVzIFtPUFRJT05dIC1zIFtNU0dJRF0uLi5cbiIKbXNnc3RyICIiCgojOiBzcmMvZ2V0dGV4dC5jOjI1NwojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiRGlzcGxheSBuYXRpdmUgbGFuZ3VhZ2UgdHJhbnNsYXRpb24gb2YgYSB0ZXh0dWFsIG1lc3NhZ2UuXG4iCm1zZ3N0ciAiIgoKIzogc3JjL2dldHRleHQuYzoyNjEKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIiAgLWQsIC0tZG9tYWluPVRFWFRET01BSU4gICByZXRyaWV2ZSB0cmFuc2xhdGVkIG1lc3NhZ2VzIGZyb20gVEVYVERPTUFJTlxuIgptc2dzdHIgIiIKCiM6IHNyYy9nZXR0ZXh0LmM6MjYzIHNyYy9uZ2V0dGV4dC5jOjIyOAojLCBjLWZvcm1hdAptc2dpZCAiICAtYywgLS1jb250ZXh0PUNPTlRFWFQgICAgIHNwZWNpZnkgY29udGV4dCBmb3IgTVNHSURcbiIKbXNnc3RyICIiCgojOiBzcmMvZ2V0dGV4dC5jOjI2NSBzcmMvbmdldHRleHQuYzoyMzAKIywgYy1mb3JtYXQKbXNnaWQgIiAgLWUgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUgZXhwYW5zaW9uIG9mIHNvbWUgZXNjYXBlIHNlcXVlbmNlc1xuIgptc2dzdHIgIiIKCiM6IHNyYy9nZXR0ZXh0LmM6MjY3CiMsIGMtZm9ybWF0Cm1zZ2lkICIgIC1uICAgICAgICAgICAgICAgICAgICAgICAgc3VwcHJlc3MgdHJhaWxpbmcgbmV3bGluZVxuIgptc2dzdHIgIiIKCiM6IHNyYy9nZXR0ZXh0LmM6MjY5IHNyYy9uZ2V0dGV4dC5jOjIzMgojLCBjLWZvcm1hdAptc2dpZCAiICAtRSAgICAgICAgICAgICAgICAgICAgICAgIChpZ25vcmVkIGZvciBjb21wYXRpYmlsaXR5KVxuIgptc2dzdHIgIiIKCiM6IHNyYy9nZXR0ZXh0LmM6MjcxCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIgIFtURVhURE9NQUlOXSBNU0dJRCAgICAgICAgcmV0cmlldmUgdHJhbnNsYXRlZCBtZXNzYWdlIGNvcnJlc3BvbmRpbmdcbiIKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBNU0dJRCBmcm9tIFRFWFRET01BSU5cbiIKbXNnc3RyICIiCgojOiBzcmMvZ2V0dGV4dC5jOjI3NyBzcmMvbmdldHRleHQuYzoyNDMKIywgYy1mb3JtYXQKbXNnaWQgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgptc2dzdHIgIiIKCiM6IHNyYy9nZXR0ZXh0LmM6Mjc5IHNyYy9uZ2V0dGV4dC5jOjI0NQojLCBjLWZvcm1hdAptc2dpZCAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgptc2dzdHIgIiIKCiMKIzogc3JjL2dldHRleHQuYzoyODMKIywgZnV6enksIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIiCiJJZiB0aGUgVEVYVERPTUFJTiBwYXJhbWV0ZXIgaXMgbm90IGdpdmVuLCB0aGUgZG9tYWluIGlzIGRldGVybWluZWQgZnJvbSB0aGVcbiIKImVudmlyb25tZW50IHZhcmlhYmxlIFRFWFRET01BSU4uICBJZiB0aGUgbWVzc2FnZSBjYXRhbG9nIGlzIG5vdCBmb3VuZCBpbiB0aGVcbiIKInJlZ3VsYXIgZGlyZWN0b3J5LCBhbm90aGVyIGxvY2F0aW9uIGNhbiBiZSBzcGVjaWZpZWQgd2l0aCB0aGUgZW52aXJvbm1lbnRcbiIKInZhcmlhYmxlIFRFWFRET01BSU5ESVIuXG4iCiJXaGVuIHVzZWQgd2l0aCB0aGUgLXMgb3B0aW9uIHRoZSBwcm9ncmFtIGJlaGF2ZXMgbGlrZSB0aGUgJ2VjaG8nIGNvbW1hbmQuXG4iCiJCdXQgaXQgZG9lcyBub3Qgc2ltcGx5IGNvcHkgaXRzIGFyZ3VtZW50cyB0byBzdGRvdXQuICBJbnN0ZWFkIHRob3NlIG1lc3NhZ2VzXG4iCiJmb3VuZCBpbiB0aGUgc2VsZWN0ZWQgY2F0YWxvZyBhcmUgdHJhbnNsYXRlZC5cbiIKIlN0YW5kYXJkIHNlYXJjaCBkaXJlY3Rvcnk6ICVzXG4iCm1zZ3N0ciAiIgoiXG4iCiLB7SDnIPDh8dzs5fTx7/IgVEVYVERPTUFJTiDk5SDk3+3l9OHpLCD0/PTlIPDl8env994g4e3h6vTc9OHpIOHw/CD051xuIgoi7OX04eLr5/TeIPDl8eni3Ovr7+307/IgVEVYVERPTUFJTi4gwe0g7yDq4fTc6+/j7/Ig7Oft9ezc9PntIOTlIOLx5ejl3yDz9O9cbiIKIurh6Onl8fns3e3vIOrh9Nzr7+PvLCDl693j9+X04ekg5yD06ezeIPTn8iDs5fTh4uvn9N7yIPDl8eni3Ovr7+307/IgVEVYVERPTUFJTkRJUi5cbiIKIrz04e0g49/t5fTh6SD38d7z5yD05/Ig5fDp6+/j3vIgLXMsIPTvIPDx/OPx4ezs4SDz9ezw5fHp9t3x5fTh6SDz4e1cbiIKIvTn7SDl7fTv694gYGVjaG8nLiDB6+vcIOTl7SDh7fTp4/Hc9uXpIOHw69wg9OEg7/Hf8+zh9OEg8/Tn7SDq4e3v7enq3iDd7u/k7y5cbiIKIsHt9N/o5fThLCD04SDs5+397OH04SDw7/Ug4vHf8+rv7fTh6SDz9O8g5fDp6+Xj7N3t7yDq4fTc6+/j7ywg7OX04fbx3Obv7fTh6S5cbiIKIsrh6Onl8fns3e3v8iDq4fTc6+/j7/Ig4e3h5t705/Pn8jogJXNcbiIKCiM6IHNyYy9uZ2V0dGV4dC5jOjIxNgojLCBjLWZvcm1hdCwgbm8td3JhcAptc2dpZCAiVXNhZ2U6ICVzIFtPUFRJT05dIFtURVhURE9NQUlOXSBNU0dJRCBNU0dJRC1QTFVSQUwgQ09VTlRcbiIKbXNnc3RyICIiCgojOiBzcmMvbmdldHRleHQuYzoyMjEKIywgYy1mb3JtYXQsIG5vLXdyYXAKbXNnaWQgIiIKIkRpc3BsYXkgbmF0aXZlIGxhbmd1YWdlIHRyYW5zbGF0aW9uIG9mIGEgdGV4dHVhbCBtZXNzYWdlIHdob3NlIGdyYW1tYXRpY2FsXG4iCiJmb3JtIGRlcGVuZHMgb24gYSBudW1iZXIuXG4iCm1zZ3N0ciAiIgoKIzogc3JjL25nZXR0ZXh0LmM6MjI2CiMsIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIgIC1kLCAtLWRvbWFpbj1URVhURE9NQUlOICAgcmV0cmlldmUgdHJhbnNsYXRlZCBtZXNzYWdlIGZyb20gVEVYVERPTUFJTlxuIgptc2dzdHIgIiIKCiM6IHNyYy9uZ2V0dGV4dC5jOjIzNAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICBbVEVYVERPTUFJTl0gICAgICAgICAgICAgIHJldHJpZXZlIHRyYW5zbGF0ZWQgbWVzc2FnZSBmcm9tIFRFWFRET01BSU5cbiIKbXNnc3RyICIiCgojOiBzcmMvbmdldHRleHQuYzoyMzYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiAgTVNHSUQgTVNHSUQtUExVUkFMICAgICAgICB0cmFuc2xhdGUgTVNHSUQgKHNpbmd1bGFyKSAvIE1TR0lELVBMVVJBTCAiCiIocGx1cmFsKVxuIgptc2dzdHIgIiIKCiM6IHNyYy9uZ2V0dGV4dC5jOjIzOAojLCBjLWZvcm1hdAptc2dpZCAiIgoiICBDT1VOVCAgICAgICAgICAgICAgICAgICAgIGNob29zZSBzaW5ndWxhci9wbHVyYWwgZm9ybSBiYXNlZCBvbiB0aGlzIHZhbHVlXG4iCm1zZ3N0ciAiIgoKIwojOiBzcmMvbmdldHRleHQuYzoyNDkKIywgZnV6enksIGMtZm9ybWF0LCBuby13cmFwCm1zZ2lkICIiCiJJZiB0aGUgVEVYVERPTUFJTiBwYXJhbWV0ZXIgaXMgbm90IGdpdmVuLCB0aGUgZG9tYWluIGlzIGRldGVybWluZWQgZnJvbSB0aGVcbiIKImVudmlyb25tZW50IHZhcmlhYmxlIFRFWFRET01BSU4uICBJZiB0aGUgbWVzc2FnZSBjYXRhbG9nIGlzIG5vdCBmb3VuZCBpbiB0aGVcbiIKInJlZ3VsYXIgZGlyZWN0b3J5LCBhbm90aGVyIGxvY2F0aW9uIGNhbiBiZSBzcGVjaWZpZWQgd2l0aCB0aGUgZW52aXJvbm1lbnRcbiIKInZhcmlhYmxlIFRFWFRET01BSU5ESVIuXG4iCiJTdGFuZGFyZCBzZWFyY2ggZGlyZWN0b3J5OiAlc1xuIgptc2dzdHIgIiIKIlxuIgoiwe0g5yDw4fHc7OX08e/yIFRFWFRET01BSU4g5OUg5N/t5fTh6Swg9Pz05SDw5fHp7/feIOHt4er03PTh6SDh8Pwg9OdcbiIKIuzl9OHi6+f03iDw5fHp4tzr6+/t9O/yIFRFWFRET01BSU4uIMHtIO8g6uH03Ovv4+/yIOzn7fXs3PT57SDk5SDi8eXo5d8g8/TvXG4iCiLq4ejp5fH57N3t7yDq4fTc6+/j7ywg5evd4/fl9OHpIOcg9Ons3iD05/Ig7OX04eLr5/Te8iDw5fHp4tzr6+/t9O/yIFRFWFRET01BSU5ESVIuXG4iCiK89OHtIOPf7eX04ekg9/He8+cg9OfyIOXw6evv497yIC1zLCD07yDw8fzj8eHs7OEg8/Xs8OXx6fbd8eX04ekg8+HtXG4iCiL05+0g5e307+veIGBlY2hvJy4gwevr3CDk5e0g4e306ePx3Pbl6SDh8OvcIPThIO/x3/Ps4fThIPP05+0g6uHt7+3p6t4g3e7v5O8uXG4iCiLB7fTf6OX04Swg9OEg7Oft/ezh9OEg8O/1IOLx3/Pq7+304ekg8/TvIOXw6evl4+zd7e8g6uH03Ovv4+8sIOzl9OH28dzm7+304ekuXG4iCiLK4ejp5fH57N3t7/Ig6uH03Ovv4+/yIOHt4ebe9Ofz5/I6ICVzXG4iCgojCiMsIGMtZm9ybWF0CiN+IG1zZ2lkICIlczogb3B0aW9uIGAtLSVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50XG4iCiN+IG1zZ3N0ciAiJXM6IOcg5fDp6+/j3iBgLS0lcycg5OXtIOXw6fTx3fDl6SDw4fHc7OX08e9cbiIKCiMKIywgYy1mb3JtYXQKI34gbXNnaWQgIiVzOiB1bnJlY29nbml6ZWQgb3B0aW9uIGAtLSVzJ1xuIgojfiBtc2dzdHIgIiVzOiDs5yDh7eHj7fnx3/Pp7Ocg5fDp6+/j3iBgLS0lcydcbiIKCiMKIywgYy1mb3JtYXQKI34gbXNnaWQgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgojfiBtc2dzdHIgIiVzOiDs5yDh8O/k5er03iDl8Onr7+PeIC0tICVjXG4iCgojCiMsIGMtZm9ybWF0CiN+IG1zZ2lkICIlczogb3B0aW9uIGAtVyAlcycgaXMgYW1iaWd1b3VzXG4iCiN+IG1zZ3N0ciAiJXM6IOcg5fDp6+/j3iBgLVcgJXMnIOXf7eHpIOTp9u/x7/3s5e3nXG4iCgojCiMsIGMtZm9ybWF0CiN+IG1zZ2lkICIlczogb3B0aW9uIGAtVyAlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudFxuIgojfiBtc2dzdHIgIiVzOiDnIOXw6evv494gYC1XICVzJyDk5e0g5fDp9PHd8OXpIPDh8dzs5fTx71xuIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiUmVwb3J0IGJ1Z3MgdG8gPGJ1Zy1nbnUtZ2V0dGV4dEBnbnUub3JnPi5cbiIKI34gbXNnc3RyICLT9OXf6/TlIOHt4fbv8d3yIPP24evs3PT57SDz9O8gPGJ1Zy1nbnUtdXRpbHNAZ251Lm9yZz4uXG4iCgojCiMsIGZ1enp5LCBjLWZvcm1hdCwgbm8td3JhcAojfiBtc2dpZCAiIgojfiAiICAtZCwgLS1kb21haW49VEVYVERPTUFJTiAgIHJldHJpZXZlIHRyYW5zbGF0ZWQgbWVzc2FnZXMgZnJvbSBURVhURE9NQUlOXG4iCiN+ICIgIC1lICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlIGV4cGFuc2lvbiBvZiBzb21lIGVzY2FwZSBzZXF1ZW5jZXNcbiIKI34gIiAgLUUgICAgICAgICAgICAgICAgICAgICAgICAoaWdub3JlZCBmb3IgY29tcGF0aWJpbGl0eSlcbiIKI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgojfiAiICAtbiAgICAgICAgICAgICAgICAgICAgICAgIHN1cHByZXNzIHRyYWlsaW5nIG5ld2xpbmVcbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKI34gIiAgW1RFWFRET01BSU5dIE1TR0lEICAgICAgICByZXRyaWV2ZSB0cmFuc2xhdGVkIG1lc3NhZ2UgY29ycmVzcG9uZGluZ1xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIE1TR0lEIGZyb20gVEVYVERPTUFJTlxuIgojfiBtc2dzdHIgIiIKI34gItfx3vPnOiAlcyBbxdDJy8/Dx10gW1tbVEVYVERPTUFJTl0gTVNHSURdIHwgWy1zIFtNU0dJRF0uLi5dXVxuIgojfiAiICAtZCwgLS1kb21haW49VEVYVERPTUFJTiAgIOHt3Or05/PnIOzl9OH28eHz7N3t+e0g7Oft9ezc9PntIOHw/CD07yBURVhURE9NQUlOXG4iCiN+ICIgIC1lICAgICAgICAgICAgICAgICAgICAgICAg5e3l8ePv8O/f5/PnIPTn8iDh7eHk3/Dr+fPn8iDv8enz7N3t+e0g8+Xp8f7tXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICD34fHh6vTe8fntIOTp4fb1497yXG4iCiN+ICIgIC1FICAgICAgICAgICAgICAgICAgICAgICAgKOHj7e/l3/Th6SDj6eEg6/zj7/XyIPP17OLh9Pz05/Th8ilcbiIKI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICDl7Pbc7enz5yDh9fTe8iD05/Ig4u/e6OXp4fIg6uHpIN3u7+Tv8lxuIgojfiAiICAtbiAgICAgICAgICAgICAgICAgICAgICAgIOHw7+Lv694g9+Hx4er03vHhIOHr6+Hj3vIg4/Hh7Oze8iDz9O8g9N3r7/Ig9OfyIPPl6fHc8lxuIgojfiAiICAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgIOXs9tzt6fPnIPDr5/Hv9u/x6f7tIN3q5O/z5/Ig6uHpIN3u7+Tv8lxuIgojfiAiICBbVEVYVERPTUFJTl0gTVNHSUQgICAgICAgIOHt3Or05/PnIOHt9N/z9O/p9+/1IOzl9OH28eHz7N3t7/Ug7Oft/ezh9O/yIPDv9SDh7fTp8/Tv6ffl31xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIPP07yBNU0dJRCDh8Pwg9O8gVEVYVERPTUFJTlxuIgoKIwojLCBmdXp6eSwgYy1mb3JtYXQsIG5vLXdyYXAKI34gbXNnaWQgIiIKI34gIiAgLWQsIC0tZG9tYWluPVRFWFRET01BSU4gICByZXRyaWV2ZSB0cmFuc2xhdGVkIG1lc3NhZ2UgZnJvbSBURVhURE9NQUlOXG4iCiN+ICIgIC1lICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlIGV4cGFuc2lvbiBvZiBzb21lIGVzY2FwZSBzZXF1ZW5jZXNcbiIKI34gIiAgLUUgICAgICAgICAgICAgICAgICAgICAgICAoaWdub3JlZCBmb3IgY29tcGF0aWJpbGl0eSlcbiIKI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgojfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgojfiAiICBbVEVYVERPTUFJTl0gICAgICAgICAgICAgIHJldHJpZXZlIHRyYW5zbGF0ZWQgbWVzc2FnZSBmcm9tIFRFWFRET01BSU5cbiIKI34gIiAgTVNHSUQgTVNHSUQtUExVUkFMICAgICAgICB0cmFuc2xhdGUgTVNHSUQgKHNpbmd1bGFyKSAvIE1TR0lELVBMVVJBTCAocGx1cmFsKVxuIgojfiAiICBDT1VOVCAgICAgICAgICAgICAgICAgICAgIGNob29zZSBzaW5ndWxhci9wbHVyYWwgZm9ybSBiYXNlZCBvbiB0aGlzIHZhbHVlXG4iCiN+IG1zZ3N0ciAiIgojfiAi1/He8+c6ICVzIFvF0MnLz8PHXSBbW1tURVhURE9NQUlOXSBNU0dJRF0gfCBbLXMgW01TR0lEXS4uLl1dXG4iCiN+ICIgIC1kLCAtLWRvbWFpbj1URVhURE9NQUlOICAg4e3c6vTn8+cg7OX04fbx4fPs3e357SDs5+317Nz0+e0g4fD8IPTvIFRFWFRET01BSU5cbiIKI34gIiAgLWUgICAgICAgICAgICAgICAgICAgICAgICDl7eXx4+/w79/n8+cg9OfyIOHt4eTf8Ov58+fyIO/x6fPs3e357SDz5enx/u1cbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPfh8eHq9N7x+e0g5Onh9vXj3vJcbiIKI34gIiAgLUUgICAgICAgICAgICAgICAgICAgICAgICAo4ePt7+Xf9OHpIOPp4SDr/OPv9fIg8/Xs4uH0/PTn9OHyKVxuIgojfiAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIOXs9tzt6fPnIOH19N7yIPTn8iDi797o5enh8iDq4ekg3e7v5O/yXG4iCiN+ICIgIC1uICAgICAgICAgICAgICAgICAgICAgICAg4fDv4u/r3iD34fHh6vTe8eEg4evr4ePe8iDj8eHs7N7yIPP07yD03evv8iD05/Ig8+Xp8dzyXG4iCiN+ICIgIC12LCAtLXZlcnNpb24gICAgICAgICAgICAg5ez23O3p8+cg8Ovn8e/27/Hp/u0g3erk7/Pn8iDq4ekg3e7v5O/yXG4iCiN+ICIgIFtURVhURE9NQUlOXSBNU0dJRCAgICAgICAg4e3c6vTn8+cg4e303/P07+n37/Ug7OX04fbx4fPs3e3v9SDs5+397OH07/Ig8O/1IOHt9Onz9O/p9+XfXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAg8/TvIE1TR0lEIOHw/CD07yBURVhURE9NQUlOXG4iCgojCiN+IG1zZ2lkICIiCiN+ICJDb3B5cmlnaHQgKEMpICVzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgojfiAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgIgojfiAiTk9cbiIKI34gIndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiAiCiN+ICJQVVJQT1NFLlxuIgojfiBtc2dzdHIgIiIKI34gItDt5fXs4fTp6twgxOnq4en+7OH04SAoQykgJXMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCiN+ICLB9fT8IPTvIPDx/OPx4ezs4SDl3+3h6SDl6+X96OXx7yDr7+Pp8+zp6vy3IOTl3/TlIPTvIPDn4+Hf7yDq/uTp6uEg4+nhICIKI34gIvTv9fJcbiIKI34gIurh7e/t6fPs7/3yIOHt9Onj8eH23vIuIMTl7SD18Nzx9+XpIMrBzMnBIMXDw9XH08e3IO/99OUg4er87OEg4+nhXG4iCiN+ICLLxcnUz9XRw8nKz9TH1MEg3iDKwdTBy8vHy8/Ux9TBIMPJwSDFzcEg09XDysXK0cnMxc3PINPKz9DPLlxuIgoKIwojfiBtc2dpZCAiZXJyb3Igd2hpbGUgb3BlbmluZyBcIiVzXCIgZm9yIHJlYWRpbmciCiN+IG1zZ3N0ciAi8/bc6+zhIPP07yDc7e/p4+zhIPTv9SBcIiVzXCIg4+nhIOHt3OPt+fPnIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiY2Fubm90IG9wZW4gYmFja3VwIGZpbGUgXCIlc1wiIGZvciB3cml0aW5nIgojfiBtc2dzdHIgIvP23Ovs4SDq4fTcIPTvINzt7+nj7OEg9O/1IOHx9+Xf7/UgXCIlc1wiIOPp4SDl4+Px4fbeIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiZXJyb3IgcmVhZGluZyBcIiVzXCIiCiN+IG1zZ3N0ciAi8/bc6+zhIPP05+0g4e3c4+358+cg9O/1IFwiJXNcIiIKCiMKIywgZnV6enkKI34gbXNnaWQgImVycm9yIHdyaXRpbmcgXCIlc1wiIgojfiBtc2dzdHIgIvP23Ovs4SDz9OftIOXj4/Hh9t4g9O/1IOHx9+Xf7/UgXCIlc1wiIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiZXJyb3IgYWZ0ZXIgcmVhZGluZyBcIiVzXCIiCiN+IG1zZ3N0ciAi8/bc6+zhIPP05+0g4e3c4+358+cg9O/1IFwiJXNcIiIKCiMKIywgZnV6enkKI34gbXNnaWQgImNhbm5vdCBjcmVhdGUgcGlwZSIKI34gbXNnc3RyICLh5PXt4ezf4SDk5+zp7/Xx49/h8iDh8ffl3+/1IOXu/OTv9SBcIiVzXCIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJudW1iZXIgb2YgZm9ybWF0IHNwZWNpZmljYXRpb25zIGluICdtc2dpZCcgYW5kICclcycgZG9lcyBub3QgbWF0Y2giCiN+IG1zZ3N0ciAiIgojfiAi7yDh8eno7PzyIPT57SDh7eH27/H+7SDz5SDs7/H27/Dv6d7z5enyIPT57SBgbXNnaWQnIOrh6SBgbXNnc3RyJyDk5SAiCiN+ICLz9ezw3/D05ekiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJmb3JtYXQgc3BlY2lmaWNhdGlvbnMgaW4gJ21zZ2lkJyBhbmQgJyVzJyBmb3IgYXJndW1lbnQgJXUgYXJlIG5vdCB0aGUgc2FtZSIKI34gbXNnc3RyICLv6SDs7/H27/Dv6d7z5enyIOPp4SD05yDw4fHc7OX08e8gJXUg5OXtIOXf7eHpIN/k6eXyIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiYSBmb3JtYXQgc3BlY2lmaWNhdGlvbiBmb3IgYXJndW1lbnQgJXUsIGFzIGluICclcycsIGRvZXNuJ3QgZXhpc3QgaW4gIgojfiAiJ21zZ2lkJyIKI34gbXNnc3RyICLv6SDs7/H27/Dv6d7z5enyIOPp4SD05yDw4fHc7OX08e8gJXUg5OXtIOXf7eHpIN/k6eXyIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiYSBmb3JtYXQgc3BlY2lmaWNhdGlvbiBmb3IgYXJndW1lbnQgJXUgZG9lc24ndCBleGlzdCBpbiAnJXMnIgojfiBtc2dzdHIgIu/pIOzv8fbv8O/p3vPl6fIg4+nhIPTnIPDh8dzs5fTx7yAldSDk5e0g5d/t4ekg3+Tp5fIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJhIGZvcm1hdCBzcGVjaWZpY2F0aW9uIGZvciBhcmd1bWVudCB7JXV9LCBhcyBpbiAnJXMnLCBkb2Vzbid0IGV4aXN0IGluICIKI34gIidtc2dpZCciCiN+IG1zZ3N0ciAi7+kg7O/x9u/w7+ne8+Xp8iDj6eEg9Ocg8OHx3Ozl9PHvICV1IOTl7SDl3+3h6SDf5Onl8iIKCiMKIywgZnV6enkKI34gbXNnaWQgImEgZm9ybWF0IHNwZWNpZmljYXRpb24gZm9yIGFyZ3VtZW50IHsldX0gZG9lc24ndCBleGlzdCBpbiAnJXMnIgojfiBtc2dzdHIgIu/pIOzv8fbv8O/p3vPl6fIg4+nhIPTnIPDh8dzs5fTx7yAldSDk5e0g5d/t4ekg3+Tp5fIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJmb3JtYXQgc3BlY2lmaWNhdGlvbnMgaW4gJ21zZ2lkJyBhbmQgJyVzJyBmb3IgYXJndW1lbnQgeyV1fSBhcmUgbm90IHRoZSAiCiN+ICJzYW1lIgojfiBtc2dzdHIgIu/pIOzv8fbv8O/p3vPl6fIg4+nhIPTnIPDh8dzs5fTx7yAldSDk5e0g5d/t4ekg3+Tp5fIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJmb3JtYXQgc3BlY2lmaWNhdGlvbnMgaW4gJ21zZ2lkJyBhbmQgJyVzJyBhcmUgbm90IGVxdWl2YWxlbnQiCiN+IG1zZ3N0ciAiIgojfiAi7yDh8eno7PzyIPT57SDh7eH27/H+7SDz5SDs7/H27/Dv6d7z5enyIPT57SBgbXNnaWQnIOrh6SBgbXNnc3RyJyDk5SAiCiN+ICLz9ezw3/D05ekiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJmb3JtYXQgc3BlY2lmaWNhdGlvbnMgaW4gJyVzJyBhcmUgbm90IGEgc3Vic2V0IG9mIHRob3NlIGluICdtc2dpZCciCiN+IG1zZ3N0ciAi7+kg7O/x9u/w7+ne8+Xp8iDj6eEg9Ocg8OHx3Ozl9PHvICV1IOTl7SDl3+3h6SDf5Onl8iIKCiMKIywgZnV6enkKI34gbXNnaWQgIiIKI34gImZvcm1hdCBzcGVjaWZpY2F0aW9ucyBpbiAnbXNnaWQnIGV4cGVjdCBhIG1hcHBpbmcsIHRob3NlIGluICclcycgZXhwZWN0IGEgIgojfiAidHVwbGUiCiN+IG1zZ3N0ciAiIgojfiAi7yDh8eno7PzyIPT57SDh7eH27/H+7SDz5SDs7/H27/Dv6d7z5enyIPT57SBgbXNnaWQnIOrh6SBgbXNnc3RyJyDk5SAiCiN+ICLz9ezw3/D05ekiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJmb3JtYXQgc3BlY2lmaWNhdGlvbnMgaW4gJ21zZ2lkJyBleHBlY3QgYSB0dXBsZSwgdGhvc2UgaW4gJyVzJyBleHBlY3QgYSAiCiN+ICJtYXBwaW5nIgojfiBtc2dzdHIgIiIKI34gIu8g4fHp6Oz88iD0+e0g4e3h9u/x/u0g8+Ug7O/x9u/w7+ne8+Xp8iD0+e0gYG1zZ2lkJyDq4ekgYG1zZ3N0cicg5OUgIgojfiAi8/Xs8N/w9OXpIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiYSBmb3JtYXQgc3BlY2lmaWNhdGlvbiBmb3IgYXJndW1lbnQgJyVzJywgYXMgaW4gJyVzJywgZG9lc24ndCBleGlzdCBpbiAiCiN+ICInbXNnaWQnIgojfiBtc2dzdHIgIu/pIOzv8fbv8O/p3vPl6fIg4+nhIPTnIPDh8dzs5fTx7yAldSDk5e0g5d/t4ekg3+Tp5fIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJhIGZvcm1hdCBzcGVjaWZpY2F0aW9uIGZvciBhcmd1bWVudCAnJXMnIGRvZXNuJ3QgZXhpc3QgaW4gJyVzJyIKI34gbXNnc3RyICLv6SDs7/H27/Dv6d7z5enyIOPp4SD05yDw4fHc7OX08e8gJXUg5OXtIOXf7eHpIN/k6eXyIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiZm9ybWF0IHNwZWNpZmljYXRpb25zIGluICdtc2dpZCcgYW5kICclcycgZm9yIGFyZ3VtZW50ICclcycgYXJlIG5vdCB0aGUgIgojfiAic2FtZSIKI34gbXNnc3RyICLv6SDs7/H27/Dv6d7z5enyIOPp4SD05yDw4fHc7OX08e8gJXUg5OXtIOXf7eHpIN/k6eXyIgoKIwojfiBtc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiN+IG1zZ3N0ciAi9OEgJXMg6uHpICVzIOXf7eHpIOHs7+ni4d/hIOHw7+rr5en+7OXt4SIKCiMKIywgZnV6enkKI34gbXNnaWQgIiIKI34gIk91dHB1dCBkZXRhaWxzOlxuIgojfiAiICAtZSwgLS1uby1lc2NhcGUgICAgICAgICAgICAgZG8gbm90IHVzZSBDIGVzY2FwZXMgaW4gb3V0cHV0IChkZWZhdWx0KVxuIgojfiAiICAtRSwgLS1lc2NhcGUgICAgICAgICAgICAgICAgdXNlIEMgZXNjYXBlcyBpbiBvdXRwdXQsIG5vIGV4dGVuZGVkIGNoYXJzXG4iCiN+ICIgICAgICAtLWZvcmNlLXBvICAgICAgICAgICAgICB3cml0ZSBQTyBmaWxlIGV2ZW4gaWYgZW1wdHlcbiIKI34gIiAgLWksIC0taW5kZW50ICAgICAgICAgICAgICAgIHdyaXRlIHRoZSAucG8gZmlsZSB1c2luZyBpbmRlbnRlZCBzdHlsZVxuIgojfiAiICAgICAgLS1uby1sb2NhdGlvbiAgICAgICAgICAgZG8gbm90IHdyaXRlICcjOiBmaWxlbmFtZTpsaW5lJyBsaW5lc1xuIgojfiAiICAtbiwgLS1hZGQtbG9jYXRpb24gICAgICAgICAgZ2VuZXJhdGUgJyM6IGZpbGVuYW1lOmxpbmUnIGxpbmVzICIKI34gIihkZWZhdWx0KVxuIgojfiAiICAgICAgLS1zdHJpY3QgICAgICAgICAgICAgICAgd3JpdGUgb3V0IHN0cmljdCBVbmlmb3J1bSBjb25mb3JtaW5nIC5wbyAiCiN+ICJmaWxlXG4iCiN+ICIgIC13LCAtLXdpZHRoPU5VTUJFUiAgICAgICAgICBzZXQgb3V0cHV0IHBhZ2Ugd2lkdGhcbiIKI34gIiAgICAgIC0tbm8td3JhcCAgICAgICAgICAgICAgIGRvIG5vdCBicmVhayBsb25nIG1lc3NhZ2UgbGluZXMsIGxvbmdlciAiCiN+ICJ0aGFuXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgb3V0cHV0IHBhZ2Ugd2lkdGgsIGludG8gc2V2ZXJhbCBsaW5lc1xuIgojfiAiICAtcywgLS1zb3J0LW91dHB1dCAgICAgICAgICAgZ2VuZXJhdGUgc29ydGVkIG91dHB1dFxuIgojfiAiICAtRiwgLS1zb3J0LWJ5LWZpbGUgICAgICAgICAgc29ydCBvdXRwdXQgYnkgZmlsZSBsb2NhdGlvblxuIgojfiBtc2dzdHIgIiIKI34gItfx3vPnOiAlcyBbxdDJy8/Dx10gZGVmLnBvIHJlZi5wb1xuIgojfiAiz+kg9fDv9/Hl+fTp6u/fIPDh8dzs5fTx7+kg8/ThIPDl8en28eHz9Onq3CDv8d/z7OH04SDl3+3h6SD18O/38eX59Onq799cbiIKI34gIurh6SDj6eEg9OEg8/3t9O/s4SDv8d/z7OH04S5cbiIKI34gIiAgLUQsIC0tZGlyZWN0b3J5PcrB1MHLz8PP0yAgIPDx/PPo5fPlIPTv7SDKwdTBy8/DzyDz9Ocg69/z9OEg4+nhICIKI34gIuHt4ebe9Ofz51xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDh8ffl3/ntIOXp8/zk7/UuXG4iCiN+ICIgIC1lLCAtLW5vLWVzY2FwZSAgICAgICAgICAgICDh8O/29ePeIPfx3vPn8iDq+eTp6v7tIOTp4fb1497yIOHr3CBDIPP05+0gIgojfiAi3e7v5O9cbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKOXuIO/x6fPs7/0pXG4iCiN+ICIgIC1FLCAtLWVzY2FwZSAgICAgICAgICAgICAgICD38d7z5yDq+eTp6v7tIOTp4fb1497yIOHr3CBDIPP05+0g3e7v5O8sXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPz36SD87PnyIOrh6SDl6vTl9OHs3e3v9fIg9+Hx4er03vHl8i5cbiIKI34gIiAgICAgIC0tZm9yY2UtcG8gICAgICAgICAgICAgIOTn7Onv9fHj3+Eg4fH35d/v9SBQTyDh6vzs4SDq4ekg4e0g5d/t4ekgIgojfiAi3OTl6e9cbiIKI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIOXs9tzt6fPnIOH19N7yIPTn8iDi797o5enh8iDq4ekg3e7v5O/yXG4iCiN+ICIgIC1pLCAtLWluZGVudCAgICAgICAgICAgICAgICDs7/H27/Dv6efs3e3nIN3u7+Tv8lxuIgojfiAiICAtbywgLS1vdXRwdXQtZmlsZT3B0dfFyc8gICAg9O8g4fH35d/vIOXu/OTv9SDo4SDl3+3h6SD07yDB0dfFyc9cbiIKI34gIiAgICAgIC0tbm8tbG9jYXRpb24gICAgICAgICAgIOHw7/b1494g5ez23O3p8+fyIOPx4ezs/u0gJyM6IGZpbGVuYW1lOiIKI34gImxpbmUnXG4iCiN+ICIgICAgICAtLWFkZC1sb2NhdGlvbiAgICAgICAgICDk6eH03vHn8+cg4/Hh7Oz+7SAnIzogZmlsZW5hbWU6bGluZScgKOXuICIKI34gIu/x6fPs7/0pXG4iCiN+ICIgICAgICAtLXN0cmljdCAgICAgICAgICAgICAgICDh9fP05/HeIOzv8fbeIOXu/OTv9SBVbmlmb3J1bVxuIgojfiAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAg8OXx6fbx4fP06ereIOXs9tzt6fPnIPDx7+Xp5O/w7+ne8+X57VxuIgojfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAg5ez23O3p8+cg8Ovn8e/27/Hp/u0g3erk7/Pn8iDq4ekg3e7v5O/yXG4iCiN+ICIgIC13LCAtLXdpZHRoPcHRycjMz9MgICAgICAgICDv8enz7PzyIOzl493o7/XyIPDr3PTv9fIg8+Xr3+Th8iDl7vzk7/VcbiIKCiMKI34gbXNnaWQgImltcG9zc2libGUgc2VsZWN0aW9uIGNyaXRlcmlhIHNwZWNpZmllZCAoJWQgPCBuIDwgJWQpIgojfiBtc2dzdHIgIt335ekg5fDp6+X36OXfIOHk/e3h9O8g6vHp9N7x6e8g5fDp6+/j3vIgKCVkIDwgbiA8ICVkKSIKCiMKIywgZnV6enkKI34gbXNnaWQgIiIKI34gIkNvbmNhdGVuYXRlcyBhbmQgbWVyZ2VzIHRoZSBzcGVjaWZpZWQgUE8gZmlsZXMuXG4iCiN+ICJGaW5kIG1lc3NhZ2VzIHdoaWNoIGFyZSBjb21tb24gdG8gdHdvIG9yIG1vcmUgb2YgdGhlIHNwZWNpZmllZCBQTyBmaWxlcy5cbiIKI34gIkJ5IHVzaW5nIHRoZSAtLW1vcmUtdGhhbiBvcHRpb24sIGdyZWF0ZXIgY29tbW9uYWxpdHkgbWF5IGJlIHJlcXVlc3RlZFxuIgojfiAiYmVmb3JlIG1lc3NhZ2VzIGFyZSBwcmludGVkLiAgQ29udmVyc2VseSwgdGhlIC0tbGVzcy10aGFuIG9wdGlvbiBtYXkgYmVcbiIKI34gInVzZWQgdG8gc3BlY2lmeSBsZXNzIGNvbW1vbmFsaXR5IGJlZm9yZSBtZXNzYWdlcyBhcmUgcHJpbnRlZCAoaS5lLlxuIgojfiAiLS1sZXNzLXRoYW49MiB3aWxsIG9ubHkgcHJpbnQgdGhlIHVuaXF1ZSBtZXNzYWdlcykuICBUcmFuc2xhdGlvbnMsXG4iCiN+ICJjb21tZW50cyBhbmQgZXh0cmFjdCBjb21tZW50cyB3aWxsIGJlIGN1bXVsYXRlZCwgZXhjZXB0IHRoYXQgaWYgLS11c2UtIgojfiAiZmlyc3RcbiIKI34gImlzIHNwZWNpZmllZCwgdGhleSB3aWxsIGJlIHRha2VuIGZyb20gdGhlIGZpcnN0IFBPIGZpbGUgdG8gZGVmaW5lIHRoZW0uXG4iCiN+ICJGaWxlIHBvc2l0aW9ucyBmcm9tIGFsbCBQTyBmaWxlcyB3aWxsIGJlIGN1bXVsYXRlZC5cbiIKI34gbXNnc3RyICIiCiN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICDl7Pbc7enz5yDw6+fx7/bv8en+7SDd6uTv8+fyICIKI34gIvDx7+Px3Ozs4fTv8lxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDq4ekg3e7v5O/yXG4iCiN+ICIgIC13LCAtLXdpZHRoPcHRycjMz9MgICAgICAgICAgICDv8enz7PzyIPDr3PTv9fIg8+Xr3+Th8iDl7vzk7/VcbiIKI34gIiAgLTwsIC0tbGVzcy10aGFuPcHRycjMz9MgICAgICAgIOXs9tzt6fPnIOzn7fXs3PT57SDs5SDr6eP89OXx4SDh8PwgIgojfiAiwdHJyMzP01xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDv8enz7O/98iwg5e4g7/Hp8+zv/SDz5SDc8OXp8e8g4e0g5OXtICIKI34gIvTl6OXfXG4iCiN+ICIgIC0+LCAtLW1vcmUtdGhhbj3B0cnIzM/TICAgICAgICDl7Pbc7enz5yDs5+317Nz0+e0g7OUg8OXx6fPz/PTl8eEg4fD8ICIKI34gIsHRycjMz9NcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg7/Hp8+zv/fIsIOXuIO/x6fPs7/0g8+Ug3e3hIOHtIOTl7SAiCiN+ICL05ejl31xuIgojfiAiXG4iCiN+ICLF/fHl8+cg7Oft9ezc9PntIPDv9SDl3+3h6SDq7+nt3CDz5SDk/e8g3iDw5fHp8/P89OXx4SDv8enz7N3t4SDh8ffl3+EgIgojfiAiUE8uXG4iCiN+ICLM5SD05yD38d7z5yD05/Ig5fDp6+/j3vIgLS1tb3JlLXRoYW4gb3B0aW9uLCDs8O/x5d8g7eEg5uf05+jl3yAiCiN+ICLs5ePh6/305fHnXG4iCiN+ICLz9ePj3e3l6eEg8PHp7SDl7Pbh7enz9O/97SD04SDs5+397OH04S4gIMHt9N/o5fThLCDs5SD05+0g5fDp6+/j3iAtLWxlc3MtIgojfiAidGhhblxuIgojfiAi7PDv8eXfIO3hIO/x6fP05d8g7Onq8fz05fHnIPP14+Pd7eXp4SDw8entIOXs9uHt6fP07/3tIPThIOzn7f3s4fThICjwLvcuXG4iCiN+ICL07yAtLWxlc3MtdGhhbj0yIOjhIOXs9uHt3/Pl6SDs/O3vIPThIOzv7eHk6ercIOzn7f3s4fThKS4gIM/pICIKI34gIuzl9OH28dzz5enyLFxuIgojfiAi9OEg8/f86+nhIOrh6SD04SDs5+397OH04SDz5SDs7/H23iDz9+/r3/ntIOjhIOTp4fTn8efo7/3tLCDh6+vcIOz87e8g4fD8ICIKI34gIvTvXG4iCiN+ICLw8f707yDh8ffl3+8gUE8g8O/1IPThIN335ekg7/Hf8+XpLiDP6SDo3fPl6fIg4fH35d/v9SDh8Pwg/OvhIPThIOHx9+Xf4SAiCiN+ICJQT1xuIgojfiAi6OEg5Onh9Ofx5+jv/e0uXG4iCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJNZXNzYWdlIHNlbGVjdGlvbjpcbiIKI34gIiAgLTwsIC0tbGVzcy10aGFuPU5VTUJFUiAgICAgICAgIHByaW50IG1lc3NhZ2VzIHdpdGggbGVzcyB0aGFuIHRoaXMgbWFueVxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbnMsIGRlZmF1bHRzIHRvIGluZmluaXRlIGlmICIKI34gIm5vdFxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0XG4iCiN+ICIgIC0+LCAtLW1vcmUtdGhhbj1OVU1CRVIgICAgICAgICBwcmludCBtZXNzYWdlcyB3aXRoIG1vcmUgdGhhbiB0aGlzIG1hbnlcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb25zLCBkZWZhdWx0cyB0byAwIGlmIG5vdCBzZXRcbiIKI34gIiAgLXUsIC0tdW5pcXVlICAgICAgICAgICAgICAgICAgIHNob3J0aGFuZCBmb3IgLS1sZXNzLXRoYW49MiwgcmVxdWVzdHNcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgb25seSB1bmlxdWUgbWVzc2FnZXMgYmUgcHJpbnRlZFxuIgojfiBtc2dzdHIgIiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgIOXs9tzt6fPnIPDr5/Hv9u/x6f7tIN3q5O/z5/IgIgojfiAi8PHv4/Hc7Ozh9O/yXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOrh6SDd7u/k7/JcbiIKI34gIiAgLXcsIC0td2lkdGg9wdHJyMzP0yAgICAgICAgICAgIO/x6fPs/PIg8Ovc9O/18iDz5evf5OHyIOXu/OTv9VxuIgojfiAiICAtPCwgLS1sZXNzLXRoYW49wdHJyMzP0yAgICAgICAg5ez23O3p8+cg7Oft9ezc9PntIOzlIOvp4/z05fHhIOHw/CAiCiN+ICLB0cnIzM/TXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIO/x6fPs7/3yLCDl7iDv8enz7O/9IPPlINzw5enx7yDh7SDk5e0gIgojfiAi9OXo5d9cbiIKI34gIiAgLT4sIC0tbW9yZS10aGFuPcHRycjMz9MgICAgICAgIOXs9tzt6fPnIOzn7fXs3PT57SDs5SDw5fHp8/P89OXx4SDh8PwgIgojfiAiwdHJyMzP01xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDv8enz7O/98iwg5e4g7/Hp8+zv/SDz5SDd7eEg4e0g5OXtICIKI34gIvTl6OXfXG4iCiN+ICJcbiIKI34gIsX98eXz5yDs5+317Nz0+e0g8O/1IOXf7eHpIOrv6e3cIPPlIOT97yDeIPDl8enz8/z05fHhIO/x6fPs3e3hIOHx9+Xf4SAiCiN+ICJQTy5cbiIKI34gIszlIPTnIPfx3vPnIPTn8iDl8Onr7+Pe8iAtLW1vcmUtdGhhbiBvcHRpb24sIOzw7/Hl3yDt4SDm5/Tn6OXfICIKI34gIuzl4+Hr/fTl8edcbiIKI34gIvP14+Pd7eXp4SDw8entIOXs9uHt6fP07/3tIPThIOzn7f3s4fThLiAgwe303+jl9OEsIOzlIPTn7SDl8Onr7+PeIC0tbGVzcy0iCiN+ICJ0aGFuXG4iCiN+ICLs8O/x5d8g7eEg7/Hp8/Tl3yDs6erx/PTl8ecg8/Xj493t5enhIPDx6e0g5ez24e3p8/Tv/e0g9OEg7Oft/ezh9OEgKPAu9y5cbiIKI34gIvTvIC0tbGVzcy10aGFuPTIg6OEg5ez24e3f8+XpIOz87e8g9OEg7O/t4eTp6twg7Oft/ezh9OEpLiAgz+kgIgojfiAi7OX04fbx3PPl6fIsXG4iCiN+ICL04SDz9/zr6eEg6uHpIPThIOzn7f3s4fThIPPlIOzv8fbeIPP37+vf+e0g6OEg5Onh9Ofx5+jv/e0sIOHr69wg7Pzt7yDh8PwgIgojfiAi9O9cbiIKI34gIvDx/vTvIOHx9+Xf7yBQTyDw7/Ug9OEg3ffl6SDv8d/z5ekuIM/pIOjd8+Xp8iDh8ffl3+/1IOHw/CD86+Eg9OEg4fH35d/hICIKI34gIlBPXG4iCiN+ICLo4SDk6eH05/Hn6O/97S5cbiIKCiMKIywgZnV6enkKI34gbXNnaWQgIiIKI34gIk91dHB1dCBkZXRhaWxzOlxuIgojfiAiICAtdCwgLS10by1jb2RlPU5BTUUgICAgICAgICAgICAgZW5jb2RpbmcgZm9yIG91dHB1dFxuIgojfiAiICAgICAgLS11c2UtZmlyc3QgICAgICAgICAgICAgICAgdXNlIGZpcnN0IGF2YWlsYWJsZSB0cmFuc2xhdGlvbiBmb3IgIgojfiAiZWFjaFxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSwgZG9uJ3QgbWVyZ2Ugc2V2ZXJhbCAiCiN+ICJ0cmFuc2xhdGlvbnNcbiIKI34gIiAgLWUsIC0tbm8tZXNjYXBlICAgICAgICAgICAgICAgIGRvIG5vdCB1c2UgQyBlc2NhcGVzIGluIG91dHB1dCAiCiN+ICIoZGVmYXVsdClcbiIKI34gIiAgLUUsIC0tZXNjYXBlICAgICAgICAgICAgICAgICAgIHVzZSBDIGVzY2FwZXMgaW4gb3V0cHV0LCBubyBleHRlbmRlZCAiCiN+ICJjaGFyc1xuIgojfiAiICAgICAgLS1mb3JjZS1wbyAgICAgICAgICAgICAgICAgd3JpdGUgUE8gZmlsZSBldmVuIGlmIGVtcHR5XG4iCiN+ICIgIC1pLCAtLWluZGVudCAgICAgICAgICAgICAgICAgICB3cml0ZSB0aGUgLnBvIGZpbGUgdXNpbmcgaW5kZW50ZWQgc3R5bGVcbiIKI34gIiAgICAgIC0tbm8tbG9jYXRpb24gICAgICAgICAgICAgIGRvIG5vdCB3cml0ZSAnIzogZmlsZW5hbWU6bGluZScgbGluZXNcbiIKI34gIiAgLW4sIC0tYWRkLWxvY2F0aW9uICAgICAgICAgICAgIGdlbmVyYXRlICcjOiBmaWxlbmFtZTpsaW5lJyBsaW5lcyAiCiN+ICIoZGVmYXVsdClcbiIKI34gIiAgICAgIC0tc3RyaWN0ICAgICAgICAgICAgICAgICAgIHdyaXRlIG91dCBzdHJpY3QgVW5pZm9ydW0gY29uZm9ybWluZyAucG8gIgojfiAiZmlsZVxuIgojfiAiICAtdywgLS13aWR0aD1OVU1CRVIgICAgICAgICAgICAgc2V0IG91dHB1dCBwYWdlIHdpZHRoXG4iCiN+ICIgICAgICAtLW5vLXdyYXAgICAgICAgICAgICAgICAgICBkbyBub3QgYnJlYWsgbG9uZyBtZXNzYWdlIGxpbmVzLCBsb25nZXIgIgojfiAidGhhblxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBwYWdlIHdpZHRoLCBpbnRvIHNldmVyYWwgIgojfiAibGluZXNcbiIKI34gIiAgLXMsIC0tc29ydC1vdXRwdXQgICAgICAgICAgICAgIGdlbmVyYXRlIHNvcnRlZCBvdXRwdXRcbiIKI34gIiAgLUYsIC0tc29ydC1ieS1maWxlICAgICAgICAgICAgIHNvcnQgb3V0cHV0IGJ5IGZpbGUgbG9jYXRpb25cbiIKI34gbXNnc3RyICIiCiN+ICLX8d7z5zogJXMgW8XQycvPw8ddIGRlZi5wbyByZWYucG9cbiIKI34gIs/pIPXw7/fx5fn06erv3yDw4fHc7OX08e/pIPP04SDw5fHp9vHh8/Tp6twg7/Hf8+zh9OEg5d/t4ekg9fDv9/Hl+fTp6u/fXG4iCiN+ICLq4ekg4+nhIPThIPP97fTv7OEg7/Hf8+zh9OEuXG4iCiN+ICIgIC1ELCAtLWRpcmVjdG9yeT3KwdTBy8/Dz9MgICDw8fzz6OXz5SD07+0gysHUwcvPw88g8/TnIOvf8/ThIOPp4SAiCiN+ICLh7eHm3vTn8+dcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4fH35d/57SDl6fP85O/1LlxuIgojfiAiICAtZSwgLS1uby1lc2NhcGUgICAgICAgICAgICAg4fDv9vXj3iD38d7z5/Ig6vnk6er+7SDk6eH29ePe8iDh69wgQyDz9OftICIKI34gIt3u7+TvXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICjl7iDv8enz7O/9KVxuIgojfiAiICAtRSwgLS1lc2NhcGUgICAgICAgICAgICAgICAg9/He8+cg6vnk6er+7SDk6eH29ePe8iDh69wgQyDz9OftIN3u7+TvLFxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICD89+kg/Oz58iDq4ekg5er05fTh7N3t7/XyIPfh8eHq9N7x5fIuXG4iCiN+ICIgICAgICAtLWZvcmNlLXBvICAgICAgICAgICAgICDk5+zp7/Xx49/hIOHx9+Xf7/UgUE8g4er87OEg6uHpIOHtIOXf7eHpICIKI34gItzk5envXG4iCiN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICDl7Pbc7enz5yDh9fTe8iD05/Ig4u/e6OXp4fIg6uHpIN3u7+Tv8lxuIgojfiAiICAtaSwgLS1pbmRlbnQgICAgICAgICAgICAgICAg7O/x9u/w7+nn7N3t5yDd7u/k7/JcbiIKI34gIiAgLW8sIC0tb3V0cHV0LWZpbGU9wdHXxcnPICAgIPTvIOHx9+Xf7yDl7vzk7/Ug6OEg5d/t4ekg9O8gwdHXxcnPXG4iCiN+ICIgICAgICAtLW5vLWxvY2F0aW9uICAgICAgICAgICDh8O/29ePeIOXs9tzt6fPn8iDj8eHs7P7tICcjOiBmaWxlbmFtZToiCiN+ICJsaW5lJ1xuIgojfiAiICAgICAgLS1hZGQtbG9jYXRpb24gICAgICAgICAg5Onh9N7x5/PnIOPx4ezs/u0gJyM6IGZpbGVuYW1lOmxpbmUnICjl7iAiCiN+ICLv8enz7O/9KVxuIgojfiAiICAgICAgLS1zdHJpY3QgICAgICAgICAgICAgICAg4fXz9Ofx3iDs7/H23iDl7vzk7/UgVW5pZm9ydW1cbiIKI34gIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIPDl8en28eHz9Onq3iDl7Pbc7enz5yDw8e/l6eTv8O/p3vPl+e1cbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgIOXs9tzt6fPnIPDr5/Hv9u/x6f7tIN3q5O/z5/Ig6uHpIN3u7+Tv8lxuIgojfiAiICAtdywgLS13aWR0aD3B0cnIzM/TICAgICAgICAg7/Hp8+z88iDs5ePd6O/18iDw69z07/XyIPPl69/k4fIg5e785O/1XG4iCgojCiN+IG1zZ2lkICJubyBpbnB1dCBmaWxlcyBnaXZlbiIKI34gbXNnc3RyICLk5e0g6uHo7/Hf8/Tn6uHtIOHx9+Xf4SDl6fP85O/1IgoKIwojfiBtc2dpZCAiZXhhY3RseSAyIGlucHV0IGZpbGVzIHJlcXVpcmVkIgojfiBtc2dzdHIgIuHw4en07/3t9OHpIOHq8eni/vIg5P3vIOHx9+Xf4SDl6fP85O/1IgoKIwojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiQ29tcGFyZSB0d28gVW5pZm9ydW0gc3R5bGUgLnBvIGZpbGVzIHRvIGNoZWNrIHRoYXQgYm90aCBjb250YWluIHRoZSBzYW1lXG4iCiN+ICJzZXQgb2YgbXNnaWQgc3RyaW5ncy4gIFRoZSBkZWYucG8gZmlsZSBpcyBhbiBleGlzdGluZyBQTyBmaWxlIHdpdGggdGhlXG4iCiN+ICJ0cmFuc2xhdGlvbnMuICBUaGUgcmVmLnBvdCBmaWxlIGlzIHRoZSBsYXN0IGNyZWF0ZWQgUE8gZmlsZSwgb3IgYSBQTyAiCiN+ICJUZW1wbGF0ZVxuIgojfiAiZmlsZSAoZ2VuZXJhbGx5IGNyZWF0ZWQgYnkgeGdldHRleHQpLiAgVGhpcyBpcyB1c2VmdWwgZm9yIGNoZWNraW5nIHRoYXRcbiIKI34gInlvdSBoYXZlIHRyYW5zbGF0ZWQgZWFjaCBhbmQgZXZlcnkgbWVzc2FnZSBpbiB5b3VyIHByb2dyYW0uICBXaGVyZSBhbiAiCiN+ICJleGFjdFxuIgojfiAibWF0Y2ggY2Fubm90IGJlIGZvdW5kLCBmdXp6eSBtYXRjaGluZyBpcyB1c2VkIHRvIHByb2R1Y2UgYmV0dGVyICIKI34gImRpYWdub3N0aWNzLlxuIgojfiBtc2dzdHIgIiIKI34gItfx3vPnOiAlcyBbxdDJy8/Dx10gZGVmLnBvIHJlZi5wb1xuIgojfiAiz+kg9fDv9/Hl+fTp6u/fIPDh8dzs5fTx7+kg8/ThIPDl8en28eHz9Onq3CDv8d/z7OH04SDl3+3h6SD18O/38eX59Onq799cbiIKI34gIurh6SDj6eEg9OEg8/3t9O/s4SDv8d/z7OH04S5cbiIKI34gIiAgLUQsIC0tZGlyZWN0b3J5PcrB1MHLz8PP0yAg8PH88+jl8+Ug9O/tIMrB1MHLz8PPIPP05yDr3/P04VxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAg4+nhIOHt4ebe9Ofz5yDh8ffl3/ntIOXp8/zk7/UuXG4iCiN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICDl7Pbc7enz5yDh9fTe8iD05/Ig4u/e6OXp4fIg6uHpIN3u7+Tv8lxuIgojfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAg5ez23O3p8+cg8Ovn8e/27/Hp/u0g3erk7/Pn8iDw8e/j8dzs7OH07/Ig6uHpICIKI34gIt3u7+Tv8lxuIgojfiAiXG4iCiN+ICLT/ePq8enz5yDk/e8g4fH35d/57SAucG8g9OfyIOzv8fbe8iBVbmlmb3J1bSDj6eEg9O/tIN3r5eP37yDh7SDq4ekg9OEgIgojfiAi5P3vXG4iCiN+ICLw5fHp3ffv9e0g9O8g3+Tp7yDz/e3v6+8g4fD8IG1zZ2lkIOHr9uHx6ejs6fTp6twuINTvIOHx9+Xf7yBkZWYucG8g5d/t4elcbiIKI34gIt3t4SDw8e/78Nzx9+/tIOHx9+Xf7yBQTyDs5SD06fIg8OHr6d3yIOzl9OH28dzz5enyLiDU7yDh8ffl3+8gcmVmLnBvICIKI34gImZpbGVcbiIKI34gIuXf7eHpIPTvIPDp7yDw8fzz9uH07yDh8ffl3+8gUE8gKOPl7enq3CDk5+zp7/Xx4+fs3e3vIOHw/CD07yDw8fzj8eHs7OFcbiIKI34gInhnZXR0ZXh0KS4gxd/t4ekg9/He8+ns7yDj6eEg9O8g3evl4/fvIPz06SD86+Eg9OEg7Oft/ezh9OEg9O/18iAiCiN+ICLw8e/j8dzs7OH07/JcbiIKI34gIt337/XtIOzl9OH28eHz9OXfLiDF6uXfIPDv9SDk5e0g5e307/Df5uX04ekg4erx6eLe8iDh7fTp8/Rv6fff4SxcbiIKI34gIuPf7eX04ekg5evh8/Tp6vwg9OHf8enh8+zhIOPp4SDq4ev99OXx4SDh8O/05evd8+zh9OEuXG4iCgojCiN+IG1zZ2lkICJ0aGlzIG1lc3NhZ2UgaXMgdXNlZCBidXQgbm90IGRlZmluZWQuLi4iCiN+IG1zZ3N0ciAi4fX0/CD07yDs3u317OEg9/Hn8+ns7/Dv5d/04eksIOHr69wg5OXtIO/x3+bl9OHpLi4uIgoKIwojfiBtc2dpZCAiLi4uYnV0IHRoaXMgZGVmaW5pdGlvbiBpcyBzaW1pbGFyIgojfiBtc2dzdHIgIi4uLuHr69wg4fX0/PIg7yDv8enz7PzyIOXf7eHpIPDh8fzs7+nv8iIKCiMKI34gbXNnaWQgInRoaXMgbWVzc2FnZSBpcyB1c2VkIGJ1dCBub3QgZGVmaW5lZCBpbiAlcyIKI34gbXNnc3RyICLh9fT8IPTvIOze7fXs4SD38efz6ezv8O/l3/Th6Swg4evr3CDk5e0g7/Hf5uX04ekg8/TvICVzIgoKIwojfiBtc2dpZCAid2FybmluZzogdGhpcyBtZXNzYWdlIGlzIG5vdCB1c2VkIgojfiBtc2dzdHIgIvDx7+Xp5O/w79/n8+c6IOH19Pwg9O8g7N7t9ezhIOTl7SD38efz6ezv8O/l3/Th6SIKCiMKIywgZnV6enkKI34gbXNnaWQgImZvdW5kICVkIGZhdGFsIGVycm9yIgojfiBtc2dpZF9wbHVyYWwgImZvdW5kICVkIGZhdGFsIGVycm9ycyIKI34gbXNnc3RyWzBdICLi8d3o5+rh7SAlZCDz7+Lh8dwg8/bc6+zh9OEiCgojCiN+IG1zZ2lkICJhdCBsZWFzdCB0d28gZmlsZXMgbXVzdCBiZSBzcGVjaWZpZWQiCiN+IG1zZ3N0ciAi8PHd8OXpIO3hIO/x6fP07/3tIPTv9evc9+nz9O/tIOT97yDh8ffl3+EiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJGaW5kIG1lc3NhZ2VzIHdoaWNoIGFyZSBjb21tb24gdG8gdHdvIG9yIG1vcmUgb2YgdGhlIHNwZWNpZmllZCBQTyBmaWxlcy5cbiIKI34gIkJ5IHVzaW5nIHRoZSAtLW1vcmUtdGhhbiBvcHRpb24sIGdyZWF0ZXIgY29tbW9uYWxpdHkgbWF5IGJlIHJlcXVlc3RlZFxuIgojfiAiYmVmb3JlIG1lc3NhZ2VzIGFyZSBwcmludGVkLiAgQ29udmVyc2VseSwgdGhlIC0tbGVzcy10aGFuIG9wdGlvbiBtYXkgYmVcbiIKI34gInVzZWQgdG8gc3BlY2lmeSBsZXNzIGNvbW1vbmFsaXR5IGJlZm9yZSBtZXNzYWdlcyBhcmUgcHJpbnRlZCAoaS5lLlxuIgojfiAiLS1sZXNzLXRoYW49MiB3aWxsIG9ubHkgcHJpbnQgdGhlIHVuaXF1ZSBtZXNzYWdlcykuICBUcmFuc2xhdGlvbnMsXG4iCiN+ICJjb21tZW50cyBhbmQgZXh0cmFjdCBjb21tZW50cyB3aWxsIGJlIHByZXNlcnZlZCwgYnV0IG9ubHkgZnJvbSB0aGUgZmlyc3RcbiIKI34gIlBPIGZpbGUgdG8gZGVmaW5lIHRoZW0uICBGaWxlIHBvc2l0aW9ucyBmcm9tIGFsbCBQTyBmaWxlcyB3aWxsIGJlXG4iCiN+ICJjdW11bGF0ZWQuXG4iCiN+IG1zZ3N0ciAiIgojfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAg5ez23O3p8+cg8Ovn8e/27/Hp/u0g3erk7/Pn8iAiCiN+ICLw8e/j8dzs7OH07/JcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg6uHpIN3u7+Tv8lxuIgojfiAiICAtdywgLS13aWR0aD3B0cnIzM/TICAgICAgICAgICAg7/Hp8+z88iDw69z07/XyIPPl69/k4fIg5e785O/1XG4iCiN+ICIgIC08LCAtLWxlc3MtdGhhbj3B0cnIzM/TICAgICAgICDl7Pbc7enz5yDs5+317Nz0+e0g7OUg6+nj/PTl8eEg4fD8ICIKI34gIsHRycjMz9NcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg7/Hp8+zv/fIsIOXuIO/x6fPs7/0g8+Ug3PDl6fHvIOHtIOTl7SAiCiN+ICL05ejl31xuIgojfiAiICAtPiwgLS1tb3JlLXRoYW49wdHJyMzP0yAgICAgICAg5ez23O3p8+cg7Oft9ezc9PntIOzlIPDl8enz8/z05fHhIOHw/CAiCiN+ICLB0cnIzM/TXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIO/x6fPs7/3yLCDl7iDv8enz7O/9IPPlIN3t4SDh7SDk5e0gIgojfiAi9OXo5d9cbiIKI34gIlxuIgojfiAixf3x5fPnIOzn7fXs3PT57SDw7/Ug5d/t4ekg6u/p7dwg8+Ug5P3vIN4g8OXx6fPz/PTl8eEg7/Hp8+zd7eEg4fH35d/hICIKI34gIlBPLlxuIgojfiAizOUg9Ocg9/He8+cg9OfyIOXw6evv497yIC0tbW9yZS10aGFuIG9wdGlvbiwg7PDv8eXfIO3hIObn9Ofo5d8gIgojfiAi7OXj4ev99OXx51xuIgojfiAi8/Xj493t5enhIPDx6e0g5ez24e3p8/Tv/e0g9OEg7Oft/ezh9OEuICDB7fTf6OX04Swg7OUg9OftIOXw6evv494gLS1sZXNzLSIKI34gInRoYW5cbiIKI34gIuzw7/Hl3yDt4SDv8enz9OXfIOzp6vH89OXx5yDz9ePj3e3l6eEg8PHp7SDl7Pbh7enz9O/97SD04SDs5+397OH04SAo8C73LlxuIgojfiAi9O8gLS1sZXNzLXRoYW49MiDo4SDl7Pbh7d/z5ekg7Pzt7yD04SDs7+3h5Onq3CDs5+397OH04SkuICDP6SAiCiN+ICLs5fTh9vHc8+Xp8ixcbiIKI34gIvThIPP3/Ovp4SDq4ekg9OEg7Oft/ezh9OEg8+Ug7O/x9t4g8/fv69/57SDo4SDk6eH05/Hn6O/97Swg4evr3CDs/O3vIOHw/CAiCiN+ICL071xuIgojfiAi8PH+9O8g4fH35d/vIFBPIPDv9SD04SDd9+XpIO/x3/Pl6S4gz+kg6N3z5enyIOHx9+Xf7/Ug4fD8IPzr4SD04SDh8ffl3+EgIgojfiAiUE9cbiIKI34gIujhIOTp4fTn8efo7/3tLlxuIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiTWVzc2FnZSBzZWxlY3Rpb246XG4iCiN+ICIgIC08LCAtLWxlc3MtdGhhbj1OVU1CRVIgICAgICAgICBwcmludCBtZXNzYWdlcyB3aXRoIGxlc3MgdGhhbiB0aGlzIG1hbnlcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb25zLCBkZWZhdWx0cyB0byBpbmZpbml0ZSBpZiAiCiN+ICJub3RcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFxuIgojfiAiICAtPiwgLS1tb3JlLXRoYW49TlVNQkVSICAgICAgICAgcHJpbnQgbWVzc2FnZXMgd2l0aCBtb3JlIHRoYW4gdGhpcyBtYW55XG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbml0aW9ucywgZGVmYXVsdHMgdG8gMSBpZiBub3Qgc2V0XG4iCiN+ICIgIC11LCAtLXVuaXF1ZSAgICAgICAgICAgICAgICAgICBzaG9ydGhhbmQgZm9yIC0tbGVzcy10aGFuPTIsIHJlcXVlc3RzXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0IG9ubHkgdW5pcXVlIG1lc3NhZ2VzIGJlIHByaW50ZWRcbiIKI34gbXNnc3RyICIiCiN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICDl7Pbc7enz5yDw6+fx7/bv8en+7SDd6uTv8+fyICIKI34gIvDx7+Px3Ozs4fTv8lxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDq4ekg3e7v5O/yXG4iCiN+ICIgIC13LCAtLXdpZHRoPcHRycjMz9MgICAgICAgICAgICDv8enz7PzyIPDr3PTv9fIg8+Xr3+Th8iDl7vzk7/VcbiIKI34gIiAgLTwsIC0tbGVzcy10aGFuPcHRycjMz9MgICAgICAgIOXs9tzt6fPnIOzn7fXs3PT57SDs5SDr6eP89OXx4SDh8PwgIgojfiAiwdHJyMzP01xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDv8enz7O/98iwg5e4g7/Hp8+zv/SDz5SDc8OXp8e8g4e0g5OXtICIKI34gIvTl6OXfXG4iCiN+ICIgIC0+LCAtLW1vcmUtdGhhbj3B0cnIzM/TICAgICAgICDl7Pbc7enz5yDs5+317Nz0+e0g7OUg8OXx6fPz/PTl8eEg4fD8ICIKI34gIsHRycjMz9NcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg7/Hp8+zv/fIsIOXuIO/x6fPs7/0g8+Ug3e3hIOHtIOTl7SAiCiN+ICL05ejl31xuIgojfiAiXG4iCiN+ICLF/fHl8+cg7Oft9ezc9PntIPDv9SDl3+3h6SDq7+nt3CDz5SDk/e8g3iDw5fHp8/P89OXx4SDv8enz7N3t4SDh8ffl3+EgIgojfiAiUE8uXG4iCiN+ICLM5SD05yD38d7z5yD05/Ig5fDp6+/j3vIgLS1tb3JlLXRoYW4gb3B0aW9uLCDs8O/x5d8g7eEg5uf05+jl3yAiCiN+ICLs5ePh6/305fHnXG4iCiN+ICLz9ePj3e3l6eEg8PHp7SDl7Pbh7enz9O/97SD04SDs5+397OH04S4gIMHt9N/o5fThLCDs5SD05+0g5fDp6+/j3iAtLWxlc3MtIgojfiAidGhhblxuIgojfiAi7PDv8eXfIO3hIO/x6fP05d8g7Onq8fz05fHnIPP14+Pd7eXp4SDw8entIOXs9uHt6fP07/3tIPThIOzn7f3s4fThICjwLvcuXG4iCiN+ICL07yAtLWxlc3MtdGhhbj0yIOjhIOXs9uHt3/Pl6SDs/O3vIPThIOzv7eHk6ercIOzn7f3s4fThKS4gIM/pICIKI34gIuzl9OH28dzz5enyLFxuIgojfiAi9OEg8/f86+nhIOrh6SD04SDs5+397OH04SDz5SDs7/H23iDz9+/r3/ntIOjhIOTp4fTn8efo7/3tLCDh6+vcIOz87e8g4fD8ICIKI34gIvTvXG4iCiN+ICLw8f707yDh8ffl3+8gUE8g8O/1IPThIN335ekg7/Hf8+XpLiDP6SDo3fPl6fIg4fH35d/v9SDh8Pwg/OvhIPThIOHx9+Xf4SAiCiN+ICJQT1xuIgojfiAi6OEg5Onh9Ofx5+jv/e0uXG4iCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJPdXRwdXQgZGV0YWlsczpcbiIKI34gIiAgLWUsIC0tbm8tZXNjYXBlICAgICAgICAgICAgICAgIGRvIG5vdCB1c2UgQyBlc2NhcGVzIGluIG91dHB1dCAiCiN+ICIoZGVmYXVsdClcbiIKI34gIiAgLUUsIC0tZXNjYXBlICAgICAgICAgICAgICAgICAgIHVzZSBDIGVzY2FwZXMgaW4gb3V0cHV0LCBubyBleHRlbmRlZCAiCiN+ICJjaGFyc1xuIgojfiAiICAgICAgLS1mb3JjZS1wbyAgICAgICAgICAgICAgICAgd3JpdGUgUE8gZmlsZSBldmVuIGlmIGVtcHR5XG4iCiN+ICIgIC1pLCAtLWluZGVudCAgICAgICAgICAgICAgICAgICB3cml0ZSB0aGUgLnBvIGZpbGUgdXNpbmcgaW5kZW50ZWQgc3R5bGVcbiIKI34gIiAgICAgIC0tbm8tbG9jYXRpb24gICAgICAgICAgICAgIGRvIG5vdCB3cml0ZSAnIzogZmlsZW5hbWU6bGluZScgbGluZXNcbiIKI34gIiAgLW4sIC0tYWRkLWxvY2F0aW9uICAgICAgICAgICAgIGdlbmVyYXRlICcjOiBmaWxlbmFtZTpsaW5lJyBsaW5lcyAiCiN+ICIoZGVmYXVsdClcbiIKI34gIiAgICAgIC0tc3RyaWN0ICAgICAgICAgICAgICAgICAgIHdyaXRlIG91dCBzdHJpY3QgVW5pZm9ydW0gY29uZm9ybWluZyAucG8gIgojfiAiZmlsZVxuIgojfiAiICAtdywgLS13aWR0aD1OVU1CRVIgICAgICAgICAgICAgc2V0IG91dHB1dCBwYWdlIHdpZHRoXG4iCiN+ICIgICAgICAtLW5vLXdyYXAgICAgICAgICAgICAgICAgICBkbyBub3QgYnJlYWsgbG9uZyBtZXNzYWdlIGxpbmVzLCBsb25nZXIgIgojfiAidGhhblxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBwYWdlIHdpZHRoLCBpbnRvIHNldmVyYWwgIgojfiAibGluZXNcbiIKI34gIiAgLXMsIC0tc29ydC1vdXRwdXQgICAgICAgICAgICAgIGdlbmVyYXRlIHNvcnRlZCBvdXRwdXRcbiIKI34gIiAgLUYsIC0tc29ydC1ieS1maWxlICAgICAgICAgICAgIHNvcnQgb3V0cHV0IGJ5IGZpbGUgbG9jYXRpb25cbiIKI34gIiAgICAgIC0tb21pdC1oZWFkZXIgICAgICAgICAgICAgIGRvbid0IHdyaXRlIGhlYWRlciB3aXRoIGBtc2dpZCBcIlwiJyAiCiN+ICJlbnRyeVxuIgojfiBtc2dzdHIgIiIKI34gItfx3vPnOiAlcyBbxdDJy8/Dx10gZGVmLnBvIHJlZi5wb1xuIgojfiAiz+kg9fDv9/Hl+fTp6u/fIPDh8dzs5fTx7+kg8/ThIPDl8en28eHz9Onq3CDv8d/z7OH04SDl3+3h6SD18O/38eX59Onq799cbiIKI34gIurh6SDj6eEg9OEg8/3t9O/s4SDv8d/z7OH04S5cbiIKI34gIiAgLUQsIC0tZGlyZWN0b3J5PcrB1MHLz8PP0yAgIPDx/PPo5fPlIPTv7SDKwdTBy8/DzyDz9Ocg69/z9OEg4+nhICIKI34gIuHt4ebe9Ofz51xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDh8ffl3/ntIOXp8/zk7/UuXG4iCiN+ICIgIC1lLCAtLW5vLWVzY2FwZSAgICAgICAgICAgICDh8O/29ePeIPfx3vPn8iDq+eTp6v7tIOTp4fb1497yIOHr3CBDIPP05+0gIgojfiAi3e7v5O9cbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKOXuIO/x6fPs7/0pXG4iCiN+ICIgIC1FLCAtLWVzY2FwZSAgICAgICAgICAgICAgICD38d7z5yDq+eTp6v7tIOTp4fb1497yIOHr3CBDIPP05+0g3e7v5O8sXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPz36SD87PnyIOrh6SDl6vTl9OHs3e3v9fIg9+Hx4er03vHl8i5cbiIKI34gIiAgICAgIC0tZm9yY2UtcG8gICAgICAgICAgICAgIOTn7Onv9fHj3+Eg4fH35d/v9SBQTyDh6vzs4SDq4ekg4e0g5d/t4ekgIgojfiAi3OTl6e9cbiIKI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIOXs9tzt6fPnIOH19N7yIPTn8iDi797o5enh8iDq4ekg3e7v5O/yXG4iCiN+ICIgIC1pLCAtLWluZGVudCAgICAgICAgICAgICAgICDs7/H27/Dv6efs3e3nIN3u7+Tv8lxuIgojfiAiICAtbywgLS1vdXRwdXQtZmlsZT3B0dfFyc8gICAg9O8g4fH35d/vIOXu/OTv9SDo4SDl3+3h6SD07yDB0dfFyc9cbiIKI34gIiAgICAgIC0tbm8tbG9jYXRpb24gICAgICAgICAgIOHw7/b1494g5ez23O3p8+fyIOPx4ezs/u0gJyM6IGZpbGVuYW1lOiIKI34gImxpbmUnXG4iCiN+ICIgICAgICAtLWFkZC1sb2NhdGlvbiAgICAgICAgICDk6eH03vHn8+cg4/Hh7Oz+7SAnIzogZmlsZW5hbWU6bGluZScgKOXuICIKI34gIu/x6fPs7/0pXG4iCiN+ICIgICAgICAtLXN0cmljdCAgICAgICAgICAgICAgICDh9fP05/HeIOzv8fbeIOXu/OTv9SBVbmlmb3J1bVxuIgojfiAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAg8OXx6fbx4fP06ereIOXs9tzt6fPnIPDx7+Xp5O/w7+ne8+X57VxuIgojfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAg5ez23O3p8+cg8Ovn8e/27/Hp/u0g3erk7/Pn8iDq4ekg3e7v5O/yXG4iCiN+ICIgIC13LCAtLXdpZHRoPcHRycjMz9MgICAgICAgICDv8enz7PzyIOzl493o7/XyIPDr3PTv9fIg8+Xr3+Th8iDl7vzk7/VcbiIKCiMKIywgZnV6enkKI34gbXNnaWQgIiIKI34gIk91dHB1dCBkZXRhaWxzOlxuIgojfiAiICAtZSwgLS1uby1lc2NhcGUgICAgICAgICAgICAgZG8gbm90IHVzZSBDIGVzY2FwZXMgaW4gb3V0cHV0IChkZWZhdWx0KVxuIgojfiAiICAtRSwgLS1lc2NhcGUgICAgICAgICAgICAgICAgdXNlIEMgZXNjYXBlcyBpbiBvdXRwdXQsIG5vIGV4dGVuZGVkIGNoYXJzXG4iCiN+ICIgICAgICAtLWZvcmNlLXBvICAgICAgICAgICAgICB3cml0ZSBQTyBmaWxlIGV2ZW4gaWYgZW1wdHlcbiIKI34gIiAgLWksIC0taW5kZW50ICAgICAgICAgICAgICAgIGluZGVudGVkIG91dHB1dCBzdHlsZVxuIgojfiAiICAgICAgLS1uby1sb2NhdGlvbiAgICAgICAgICAgc3VwcHJlc3MgJyM6IGZpbGVuYW1lOmxpbmUnIGxpbmVzXG4iCiN+ICIgICAgICAtLWFkZC1sb2NhdGlvbiAgICAgICAgICBwcmVzZXJ2ZSAnIzogZmlsZW5hbWU6bGluZScgbGluZXMgIgojfiAiKGRlZmF1bHQpXG4iCiN+ICIgICAgICAtLXN0cmljdCAgICAgICAgICAgICAgICBzdHJpY3QgVW5pZm9ydW0gb3V0cHV0IHN0eWxlXG4iCiN+ICIgIC13LCAtLXdpZHRoPU5VTUJFUiAgICAgICAgICBzZXQgb3V0cHV0IHBhZ2Ugd2lkdGhcbiIKI34gIiAgICAgIC0tbm8td3JhcCAgICAgICAgICAgICAgIGRvIG5vdCBicmVhayBsb25nIG1lc3NhZ2UgbGluZXMsIGxvbmdlciAiCiN+ICJ0aGFuXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgb3V0cHV0IHBhZ2Ugd2lkdGgsIGludG8gc2V2ZXJhbCBsaW5lc1xuIgojfiAiICAtcywgLS1zb3J0LW91dHB1dCAgICAgICAgICAgZ2VuZXJhdGUgc29ydGVkIG91dHB1dFxuIgojfiAiICAtRiwgLS1zb3J0LWJ5LWZpbGUgICAgICAgICAgc29ydCBvdXRwdXQgYnkgZmlsZSBsb2NhdGlvblxuIgojfiBtc2dzdHIgIiIKI34gItfx3vPnOiAlcyBbxdDJy8/Dx10gZGVmLnBvIHJlZi5wb1xuIgojfiAiz+kg9fDv9/Hl+fTp6u/fIPDh8dzs5fTx7+kg8/ThIPDl8en28eHz9Onq3CDv8d/z7OH04SDl3+3h6SD18O/38eX59Onq799cbiIKI34gIurh6SDj6eEg9OEg8/3t9O/s4SDv8d/z7OH04S5cbiIKI34gIiAgLUQsIC0tZGlyZWN0b3J5PcrB1MHLz8PP0yAgIPDx/PPo5fPlIPTv7SDKwdTBy8/DzyDz9Ocg69/z9OEg4+nhICIKI34gIuHt4ebe9Ofz51xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDh8ffl3/ntIOXp8/zk7/UuXG4iCiN+ICIgIC1lLCAtLW5vLWVzY2FwZSAgICAgICAgICAgICDh8O/29ePeIPfx3vPn8iDq+eTp6v7tIOTp4fb1497yIOHr3CBDIPP05+0gIgojfiAi3e7v5O9cbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKOXuIO/x6fPs7/0pXG4iCiN+ICIgIC1FLCAtLWVzY2FwZSAgICAgICAgICAgICAgICD38d7z5yDq+eTp6v7tIOTp4fb1497yIOHr3CBDIPP05+0g3e7v5O8sXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPz36SD87PnyIOrh6SDl6vTl9OHs3e3v9fIg9+Hx4er03vHl8i5cbiIKI34gIiAgICAgIC0tZm9yY2UtcG8gICAgICAgICAgICAgIOTn7Onv9fHj3+Eg4fH35d/v9SBQTyDh6vzs4SDq4ekg4e0g5d/t4ekgIgojfiAi3OTl6e9cbiIKI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIOXs9tzt6fPnIOH19N7yIPTn8iDi797o5enh8iDq4ekg3e7v5O/yXG4iCiN+ICIgIC1pLCAtLWluZGVudCAgICAgICAgICAgICAgICDs7/H27/Dv6efs3e3nIN3u7+Tv8lxuIgojfiAiICAtbywgLS1vdXRwdXQtZmlsZT3B0dfFyc8gICAg9O8g4fH35d/vIOXu/OTv9SDo4SDl3+3h6SD07yDB0dfFyc9cbiIKI34gIiAgICAgIC0tbm8tbG9jYXRpb24gICAgICAgICAgIOHw7/b1494g5ez23O3p8+fyIOPx4ezs/u0gJyM6IGZpbGVuYW1lOiIKI34gImxpbmUnXG4iCiN+ICIgICAgICAtLWFkZC1sb2NhdGlvbiAgICAgICAgICDk6eH03vHn8+cg4/Hh7Oz+7SAnIzogZmlsZW5hbWU6bGluZScgKOXuICIKI34gIu/x6fPs7/0pXG4iCiN+ICIgICAgICAtLXN0cmljdCAgICAgICAgICAgICAgICDh9fP05/HeIOzv8fbeIOXu/OTv9SBVbmlmb3J1bVxuIgojfiAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAg8OXx6fbx4fP06ereIOXs9tzt6fPnIPDx7+Xp5O/w7+ne8+X57VxuIgojfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAg5ez23O3p8+cg8Ovn8e/27/Hp/u0g3erk7/Pn8iDq4ekg3e7v5O/yXG4iCiN+ICIgIC13LCAtLXdpZHRoPcHRycjMz9MgICAgICAgICDv8enz7PzyIOzl493o7/XyIPDr3PTv9fIg8+Xr3+Th8iDl7vzk7/VcbiIKCiMKI34gbXNnaWQgIm5vIGlucHV0IGZpbGUgZ2l2ZW4iCiN+IG1zZ3N0ciAi5OXtIOT86Ofq5SDh8ffl3+8g5enz/OTv9SIKCiMKIywgZnV6enkKI34gbXNnaWQgImV4YWN0bHkgb25lIGlucHV0IGZpbGUgcmVxdWlyZWQiCiN+IG1zZ3N0ciAi4fDh6fTv/e304ekg4erx6eL+8iDk/e8g4fH35d/hIOXp8/zk7/UiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJtaXNzaW5nIGNvbW1hbmQgbmFtZSIKI34gbXNnc3RyICL18O/r5d/w7+304ekg7/Hf8+zh9OEiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJtaXNzaW5nIGZpbHRlciBuYW1lIgojfiBtc2dzdHIgIvXw7+vl3/Dv7fTh6SDv8d/z7OH04SIKCiMKIywgZnV6enkKI34gbXNnaWQgImF0IGxlYXN0IG9uZSBzZWQgc2NyaXB0IG11c3QgYmUgc3BlY2lmaWVkIgojfiBtc2dzdHIgIvDx3fDl6SDt4SDv8enz9O/97SD07/Xr3Pfp8/Tv7SDk/e8g4fH35d/hIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiT3V0cHV0IGRldGFpbHM6XG4iCiN+ICIgICAgICAtLW5vLWVzY2FwZSAgICAgICAgICAgICBkbyBub3QgdXNlIEMgZXNjYXBlcyBpbiBvdXRwdXQgKGRlZmF1bHQpXG4iCiN+ICIgIC1FLCAtLWVzY2FwZSAgICAgICAgICAgICAgICB1c2UgQyBlc2NhcGVzIGluIG91dHB1dCwgbm8gZXh0ZW5kZWQgY2hhcnNcbiIKI34gIiAgICAgIC0tZm9yY2UtcG8gICAgICAgICAgICAgIHdyaXRlIFBPIGZpbGUgZXZlbiBpZiBlbXB0eVxuIgojfiAiICAgICAgLS1pbmRlbnQgICAgICAgICAgICAgICAgaW5kZW50ZWQgb3V0cHV0IHN0eWxlXG4iCiN+ICIgICAgICAtLWtlZXAtaGVhZGVyICAgICAgICAgICBrZWVwIGhlYWRlciBlbnRyeSB1bm1vZGlmaWVkLCBkb24ndCBmaWx0ZXIgIgojfiAiaXRcbiIKI34gIiAgICAgIC0tbm8tbG9jYXRpb24gICAgICAgICAgIHN1cHByZXNzICcjOiBmaWxlbmFtZTpsaW5lJyBsaW5lc1xuIgojfiAiICAgICAgLS1hZGQtbG9jYXRpb24gICAgICAgICAgcHJlc2VydmUgJyM6IGZpbGVuYW1lOmxpbmUnIGxpbmVzICIKI34gIihkZWZhdWx0KVxuIgojfiAiICAgICAgLS1zdHJpY3QgICAgICAgICAgICAgICAgc3RyaWN0IFVuaWZvcnVtIG91dHB1dCBzdHlsZVxuIgojfiAiICAtdywgLS13aWR0aD1OVU1CRVIgICAgICAgICAgc2V0IG91dHB1dCBwYWdlIHdpZHRoXG4iCiN+ICIgICAgICAtLW5vLXdyYXAgICAgICAgICAgICAgICBkbyBub3QgYnJlYWsgbG9uZyBtZXNzYWdlIGxpbmVzLCBsb25nZXIgIgojfiAidGhhblxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBwYWdlIHdpZHRoLCBpbnRvIHNldmVyYWwgbGluZXNcbiIKI34gIiAgLXMsIC0tc29ydC1vdXRwdXQgICAgICAgICAgIGdlbmVyYXRlIHNvcnRlZCBvdXRwdXRcbiIKI34gIiAgLUYsIC0tc29ydC1ieS1maWxlICAgICAgICAgIHNvcnQgb3V0cHV0IGJ5IGZpbGUgbG9jYXRpb25cbiIKI34gbXNnc3RyICIiCiN+ICLX8d7z5zogJXMgW8XQycvPw8ddIGRlZi5wbyByZWYucG9cbiIKI34gIs/pIPXw7/fx5fn06erv3yDw4fHc7OX08e/pIPP04SDw5fHp9vHh8/Tp6twg7/Hf8+zh9OEg5d/t4ekg9fDv9/Hl+fTp6u/fXG4iCiN+ICLq4ekg4+nhIPThIPP97fTv7OEg7/Hf8+zh9OEuXG4iCiN+ICIgIC1ELCAtLWRpcmVjdG9yeT3KwdTBy8/Dz9MgICDw8fzz6OXz5SD07+0gysHUwcvPw88g8/TnIOvf8/ThIOPp4SAiCiN+ICLh7eHm3vTn8+dcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4fH35d/57SDl6fP85O/1LlxuIgojfiAiICAtZSwgLS1uby1lc2NhcGUgICAgICAgICAgICAg4fDv9vXj3iD38d7z5/Ig6vnk6er+7SDk6eH29ePe8iDh69wgQyDz9OftICIKI34gIt3u7+TvXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICjl7iDv8enz7O/9KVxuIgojfiAiICAtRSwgLS1lc2NhcGUgICAgICAgICAgICAgICAg9/He8+cg6vnk6er+7SDk6eH29ePe8iDh69wgQyDz9OftIN3u7+TvLFxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICD89+kg/Oz58iDq4ekg5er05fTh7N3t7/XyIPfh8eHq9N7x5fIuXG4iCiN+ICIgICAgICAtLWZvcmNlLXBvICAgICAgICAgICAgICDk5+zp7/Xx49/hIOHx9+Xf7/UgUE8g4er87OEg6uHpIOHtIOXf7eHpICIKI34gItzk5envXG4iCiN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICDl7Pbc7enz5yDh9fTe8iD05/Ig4u/e6OXp4fIg6uHpIN3u7+Tv8lxuIgojfiAiICAtaSwgLS1pbmRlbnQgICAgICAgICAgICAgICAg7O/x9u/w7+nn7N3t5yDd7u/k7/JcbiIKI34gIiAgLW8sIC0tb3V0cHV0LWZpbGU9wdHXxcnPICAgIPTvIOHx9+Xf7yDl7vzk7/Ug6OEg5d/t4ekg9O8gwdHXxcnPXG4iCiN+ICIgICAgICAtLW5vLWxvY2F0aW9uICAgICAgICAgICDh8O/29ePeIOXs9tzt6fPn8iDj8eHs7P7tICcjOiBmaWxlbmFtZToiCiN+ICJsaW5lJ1xuIgojfiAiICAgICAgLS1hZGQtbG9jYXRpb24gICAgICAgICAg5Onh9N7x5/PnIOPx4ezs/u0gJyM6IGZpbGVuYW1lOmxpbmUnICjl7iAiCiN+ICLv8enz7O/9KVxuIgojfiAiICAgICAgLS1zdHJpY3QgICAgICAgICAgICAgICAg4fXz9Ofx3iDs7/H23iDl7vzk7/UgVW5pZm9ydW1cbiIKI34gIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIPDl8en28eHz9Onq3iDl7Pbc7enz5yDw8e/l6eTv8O/p3vPl+e1cbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgIOXs9tzt6fPnIPDr5/Hv9u/x6f7tIN3q5O/z5/Ig6uHpIN3u7+Tv8lxuIgojfiAiICAtdywgLS13aWR0aD3B0cnIzM/TICAgICAgICAg7/Hp8+z88iDs5ePd6O/18iDw69z07/XyIPPl69/k4fIg5e785O/1XG4iCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIlZCB0cmFuc2xhdGVkIG1lc3NhZ2UiCiN+IG1zZ2lkX3BsdXJhbCAiJWQgdHJhbnNsYXRlZCBtZXNzYWdlcyIKI34gbXNnc3RyWzBdICIlZCDs5fTh9vHh8+zd7eEg7PXt3uzh9OEiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIsICVkIGZ1enp5IHRyYW5zbGF0aW9uIgojfiBtc2dpZF9wbHVyYWwgIiwgJWQgZnV6enkgdHJhbnNsYXRpb25zIgojfiBtc2dzdHJbMF0gIiwgJWQg8PHv8+Xj4+nz9Onq3fIg7OX04fbx3PPl6fIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIsICVkIHVudHJhbnNsYXRlZCBtZXNzYWdlIgojfiBtc2dpZF9wbHVyYWwgIiwgJWQgdW50cmFuc2xhdGVkIG1lc3NhZ2VzIgojfiBtc2dzdHJbMF0gIiwgJWQg7Ocg7OX04fbx4fPs3e3hIOzn7f3s4fThIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiaW52YWxpZCBucGx1cmFscyB2YWx1ZSIKI34gbXNnc3RyICLs5yDh8O/k5er03iDz5enx3CD34fHh6vTe8fntIOTp4fb1497yIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiLi4uYnV0IHNvbWUgbWVzc2FnZXMgaGF2ZSBvbmx5IG9uZSBwbHVyYWwgZm9ybSIKI34gbXNnaWRfcGx1cmFsICIuLi5idXQgc29tZSBtZXNzYWdlcyBoYXZlIG9ubHkgJWx1IHBsdXJhbCBmb3JtcyIKI34gbXNnc3RyWzBdICLh9fT8IPTvIOze7fXs4SD38efz6ezv8O/l3/Th6Swg4evr3CDk5e0g7/Hf5uX04ekg8/TvICVzIgojfiBtc2dzdHJbMV0gIuH19Pwg9O8g7N7t9ezhIPfx5/Pp7O/w7+Xf9OHpLCDh6+vcIOTl7SDv8d/m5fTh6SDz9O8gJXMiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIuLi5idXQgc29tZSBtZXNzYWdlcyBoYXZlIG9uZSBwbHVyYWwgZm9ybSIKI34gbXNnaWRfcGx1cmFsICIuLi5idXQgc29tZSBtZXNzYWdlcyBoYXZlICVsdSBwbHVyYWwgZm9ybXMiCiN+IG1zZ3N0clswXSAi4fX0/CD07yDs3u317OEg9/Hn8+ns7/Dv5d/04eksIOHr69wg5OXtIO/x3+bl9OHpIPP07yAlcyIKI34gbXNnc3RyWzFdICLh9fT8IPTvIOze7fXs4SD38efz6ezv8O/l3/Th6Swg4evr3CDk5e0g7/Hf5uX04ekg8/TvICVzIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiYG1zZ2lkJyBhbmQgYG1zZ2lkX3BsdXJhbCcgZW50cmllcyBkbyBub3QgYm90aCBiZWdpbiB3aXRoICdcXG4nIgojfiBtc2dzdHIgIs/pIOXj4/Hh9t3yIGBtc2dpZCcg6uHpIGBtc2dzdHInIOTl7SDu5erp7e/97SDq4ekg7+kg5P3vIOzlICdcXG4nIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiYG1zZ2lkJyBhbmQgYG1zZ3N0clsldV0nIGVudHJpZXMgZG8gbm90IGJvdGggYmVnaW4gd2l0aCAnXFxuJyIKI34gbXNnc3RyICLP6SDl4+Px4fbd8iBgbXNnaWQnIOrh6SBgbXNnc3RyJyDk5e0g7uXq6e3v/e0g6uHpIO/pIOT97yDs5SAnXFxuJyIKCiMKI34gbXNnaWQgImBtc2dpZCcgYW5kIGBtc2dzdHInIGVudHJpZXMgZG8gbm90IGJvdGggYmVnaW4gd2l0aCAnXFxuJyIKI34gbXNnc3RyICLP6SDl4+Px4fbd8iBgbXNnaWQnIOrh6SBgbXNnc3RyJyDk5e0g7uXq6e3v/e0g6uHpIO/pIOT97yDs5SAnXFxuJyIKCiMKIywgZnV6enkKI34gbXNnaWQgImBtc2dpZCcgYW5kIGBtc2dpZF9wbHVyYWwnIGVudHJpZXMgZG8gbm90IGJvdGggZW5kIHdpdGggJ1xcbiciCiN+IG1zZ3N0ciAiz+kg5ePj8eH23fIgYG1zZ2lkJyDq4ekgYG1zZ3N0cicg5OXtIPTl6+Xp/u3v9e0g6uHpIO/pIOT97yDs5SAnXFxuJyIKCiMKIywgZnV6enkKI34gbXNnaWQgImBtc2dpZCcgYW5kIGBtc2dzdHJbJXVdJyBlbnRyaWVzIGRvIG5vdCBib3RoIGVuZCB3aXRoICdcXG4nIgojfiBtc2dzdHIgIs/pIOXj4/Hh9t3yIGBtc2dpZCcg6uHpIGBtc2dzdHInIOTl7SD05evl6f7t7/XtIOrh6SDv6SDk/e8g7OUgJ1xcbiciCgojCiN+IG1zZ2lkICJgbXNnaWQnIGFuZCBgbXNnc3RyJyBlbnRyaWVzIGRvIG5vdCBib3RoIGVuZCB3aXRoICdcXG4nIgojfiBtc2dzdHIgIs/pIOXj4/Hh9t3yIGBtc2dpZCcg6uHpIGBtc2dzdHInIOTl7SD05evl6f7t7/XtIOrh6SDv6SDk/e8g7OUgJ1xcbiciCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJoZWFkZXJmaWVsZCBgJXMnIG1pc3NpbmcgaW4gaGVhZGVyXG4iCiN+IG1zZ3N0ciAi9O8g8OXk3+8gYCVzJyDd9+XpIPDh8eHr5/bo5d8g4fD8IPTnIOrl9uHr3+ThIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiaGVhZGVyIGZpZWxkIGAlcycgc2hvdWxkIHN0YXJ0IGF0IGJlZ2lubmluZyBvZiBsaW5lXG4iCiN+IG1zZ3N0ciAi9O8g8OXk3+Eg6uX24evf5OHyIGAlcycg6OEg3fDx5fDlIO3hIO7l6unt3CDz9OftIOHx994g9OfyIOPx4ezs3vIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJzb21lIGhlYWRlciBmaWVsZHMgc3RpbGwgaGF2ZSB0aGUgaW5pdGlhbCBkZWZhdWx0IHZhbHVlXG4iCiN+IG1zZ3N0ciAi7OXx6ercIPDl5N/hIPTn8iDq5fbh69/k4fIg3ffv9e0g4er87OEg9OftIOHx9+nq3iDl7iDv8enz7O/9IPTp7N4iCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJmaWVsZCBgJXMnIHN0aWxsIGhhcyBpbml0aWFsIGRlZmF1bHQgdmFsdWVcbiIKI34gbXNnc3RyICL07yDw5eTf7yBgJXMnIN335ekg4er87OEg9OftIOHx9+nq3iDl7iDv8enz7O/9IPTp7N4iCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJ3YXJuaW5nOiBQTyBmaWxlIGhlYWRlciBtaXNzaW5nIG9yIGludmFsaWRcbiIKI34gbXNnc3RyICIiCiN+ICIlczog8PHv5enk7/Dv3+fz5zog9O8g4fH35d/vIOXp8/zk7/Ug8OXx6d335ekg8PHv8+Xj4+nz9Onq3fIg7OX04fbx3PPl6fIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJ3YXJuaW5nOiBjaGFyc2V0IGNvbnZlcnNpb24gd2lsbCBub3Qgd29ya1xuIgojfiBtc2dzdHIgIiIKI34gIiVzOiDw8e/l6eTv8O/f5/PnOiD07yDh8ffl3+8g5enz/OTv9SDw5fHp3ffl6SDw8e/z5ePj6fP06erd8iDs5fTh9vHc8+Xp8iIKCiMKIywgZnV6enkKI34gbXNnaWQgIndhcm5pbmc6IFBPIGZpbGUgaGVhZGVyIGZ1enp5XG4iCiN+IG1zZ3N0ciAiIgojfiAiJXM6IPDx7+Xp5O/w79/n8+c6IPTvIOHx9+Xf7yDl6fP85O/1IPDl8end9+XpIPDx7/Pl4+Pp8/Tp6t3yIOzl9OH28dzz5enyIgoKIwojfiBtc2dpZCAiZG9tYWluIG5hbWUgXCIlc1wiIG5vdCBzdWl0YWJsZSBhcyBmaWxlIG5hbWUiCiN+IG1zZ3N0ciAiIgojfiAi9O8g/O3v7OEg4+nhIPTnIPDl8env994gXCIlc1wiIOTl7SDl3+3h6SDq4fTc6+vn6+8g4+nhIPzt7+zhIOHx9+Xf7/UiCgojCiN+IG1zZ2lkICJkb21haW4gbmFtZSBcIiVzXCIgbm90IHN1aXRhYmxlIGFzIGZpbGUgbmFtZTogd2lsbCB1c2UgcHJlZml4IgojfiBtc2dzdHIgIiIKI34gIvTvIPzt7+zhIOPp4SD05yDw5fHp7/feIFwiJXNcIiDk5e0g5d/t4ekg6uH03Ovr5+vvIOPp4SD87e/s4SDh8ffl3+/1tyDo4SAiCiN+ICLj3+3l6SD38d7z5yDw8e/o3ezh9O/yIgoKIwojfiBtc2dpZCAiYGRvbWFpbiAlcycgZGlyZWN0aXZlIGlnbm9yZWQiCiN+IG1zZ3N0ciAi5yDv5Ofj3+EgYGRvbWFpbiAlcycg4ePt7+Xf9OHpIgoKIwojfiBtc2dpZCAiZHVwbGljYXRlIG1lc3NhZ2UgZGVmaW5pdGlvbiIKI34gbXNnc3RyICLl8OHt4evh7OLh7fzs5e3v8iDv8enz7PzyIOzn7f3s4fTv8iIKCiMKI34gbXNnaWQgIi4uLnRoaXMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBmaXJzdCBkZWZpbml0aW9uIgojfiBtc2dzdHIgIi4uLuH19N4g5d/t4ekg5yDo3fPnIPTv9SDw8f707/Ug7/Hp8+zv/SIKCiMKI34gbXNnaWQgImVtcHR5IGBtc2dzdHInIGVudHJ5IGlnbm9yZWQiCiN+IG1zZ3N0ciAi5yDq5e3eIOXj4/Hh9t4gYG1zZ3N0cicg4ePt7+Xf9OHpIgoKIwojfiBtc2dpZCAiZnV6enkgYG1zZ3N0cicgZW50cnkgaWdub3JlZCIKI34gbXNnc3RyICLnIPDx7/Pl4+Pp8/Tp6t4g5ePj8eH23iBgbXNnc3RyJyDh4+3v5d/04ekiCgojCiN+IG1zZ2lkICIlczogd2FybmluZzogc291cmNlIGZpbGUgY29udGFpbnMgZnV6enkgdHJhbnNsYXRpb24iCiN+IG1zZ3N0ciAiIgojfiAiJXM6IPDx7+Xp5O/w79/n8+c6IPTvIOHx9+Xf7yDl6fP85O/1IPDl8end9+XpIPDx7/Pl4+Pp8/Tp6t3yIOzl9OH28dzz5enyIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiT3V0cHV0IGRldGFpbHM6XG4iCiN+ICIgICAgICAtLW5vLWVzY2FwZSAgICAgICAgICAgICBkbyBub3QgdXNlIEMgZXNjYXBlcyBpbiBvdXRwdXQgKGRlZmF1bHQpXG4iCiN+ICIgICAgICAtLWVzY2FwZSAgICAgICAgICAgICAgICB1c2UgQyBlc2NhcGVzIGluIG91dHB1dCwgbm8gZXh0ZW5kZWQgY2hhcnNcbiIKI34gIiAgICAgIC0tZm9yY2UtcG8gICAgICAgICAgICAgIHdyaXRlIFBPIGZpbGUgZXZlbiBpZiBlbXB0eVxuIgojfiAiICAgICAgLS1pbmRlbnQgICAgICAgICAgICAgICAgaW5kZW50ZWQgb3V0cHV0IHN0eWxlXG4iCiN+ICIgICAgICAtLW5vLWxvY2F0aW9uICAgICAgICAgICBzdXBwcmVzcyAnIzogZmlsZW5hbWU6bGluZScgbGluZXNcbiIKI34gIiAgICAgIC0tYWRkLWxvY2F0aW9uICAgICAgICAgIHByZXNlcnZlICcjOiBmaWxlbmFtZTpsaW5lJyBsaW5lcyAiCiN+ICIoZGVmYXVsdClcbiIKI34gIiAgICAgIC0tc3RyaWN0ICAgICAgICAgICAgICAgIHN0cmljdCBVbmlmb3J1bSBvdXRwdXQgc3R5bGVcbiIKI34gIiAgLXcsIC0td2lkdGg9TlVNQkVSICAgICAgICAgIHNldCBvdXRwdXQgcGFnZSB3aWR0aFxuIgojfiAiICAgICAgLS1uby13cmFwICAgICAgICAgICAgICAgZG8gbm90IGJyZWFrIGxvbmcgbWVzc2FnZSBsaW5lcywgbG9uZ2VyICIKI34gInRoYW5cbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBvdXRwdXQgcGFnZSB3aWR0aCwgaW50byBzZXZlcmFsIGxpbmVzXG4iCiN+ICIgICAgICAtLXNvcnQtb3V0cHV0ICAgICAgICAgICBnZW5lcmF0ZSBzb3J0ZWQgb3V0cHV0XG4iCiN+ICIgICAgICAtLXNvcnQtYnktZmlsZSAgICAgICAgICBzb3J0IG91dHB1dCBieSBmaWxlIGxvY2F0aW9uXG4iCiN+IG1zZ3N0ciAiIgojfiAi1/He8+c6ICVzIFvF0MnLz8PHXSBkZWYucG8gcmVmLnBvXG4iCiN+ICLP6SD18O/38eX59Onq798g8OHx3Ozl9PHv6SDz9OEg8OXx6fbx4fP06ercIO/x3/Ps4fThIOXf7eHpIPXw7/fx5fn06erv31xuIgojfiAi6uHpIOPp4SD04SDz/e307+zhIO/x3/Ps4fThLlxuIgojfiAiICAtRCwgLS1kaXJlY3Rvcnk9ysHUwcvPw8/TICAg8PH88+jl8+Ug9O/tIMrB1MHLz8PPIPP05yDr3/P04SDj6eEgIgojfiAi4e3h5t705/PnXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOHx9+Xf+e0g5enz/OTv9S5cbiIKI34gIiAgLWUsIC0tbm8tZXNjYXBlICAgICAgICAgICAgIOHw7/b1494g9/He8+fyIOr55Onq/u0g5Onh9vXj3vIg4evcIEMg8/Tn7SAiCiN+ICLd7u/k71xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo5e4g7/Hp8+zv/SlcbiIKI34gIiAgLUUsIC0tZXNjYXBlICAgICAgICAgICAgICAgIPfx3vPnIOr55Onq/u0g5Onh9vXj3vIg4evcIEMg8/Tn7SDd7u/k7yxcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg/PfpIPzs+fIg6uHpIOXq9OX04ezd7e/18iD34fHh6vTe8eXyLlxuIgojfiAiICAgICAgLS1mb3JjZS1wbyAgICAgICAgICAgICAg5Ofs6e/18ePf4SDh8ffl3+/1IFBPIOHq/OzhIOrh6SDh7SDl3+3h6SAiCiN+ICLc5OXp71xuIgojfiAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAg5ez23O3p8+cg4fX03vIg9OfyIOLv3ujl6eHyIOrh6SDd7u/k7/JcbiIKI34gIiAgLWksIC0taW5kZW50ICAgICAgICAgICAgICAgIOzv8fbv8O/p5+zd7ecg3e7v5O/yXG4iCiN+ICIgIC1vLCAtLW91dHB1dC1maWxlPcHR18XJzyAgICD07yDh8ffl3+8g5e785O/1IOjhIOXf7eHpIPTvIMHR18XJz1xuIgojfiAiICAgICAgLS1uby1sb2NhdGlvbiAgICAgICAgICAg4fDv9vXj3iDl7Pbc7enz5/Ig4/Hh7Oz+7SAnIzogZmlsZW5hbWU6IgojfiAibGluZSdcbiIKI34gIiAgICAgIC0tYWRkLWxvY2F0aW9uICAgICAgICAgIOTp4fTe8efz5yDj8eHs7P7tICcjOiBmaWxlbmFtZTpsaW5lJyAo5e4gIgojfiAi7/Hp8+zv/SlcbiIKI34gIiAgICAgIC0tc3RyaWN0ICAgICAgICAgICAgICAgIOH18/Tn8d4g7O/x9t4g5e785O/1IFVuaWZvcnVtXG4iCiN+ICIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICDw5fHp9vHh8/Tp6t4g5ez23O3p8+cg8PHv5enk7/Dv6d7z5fntXG4iCiN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICDl7Pbc7enz5yDw6+fx7/bv8en+7SDd6uTv8+fyIOrh6SDd7u/k7/JcbiIKI34gIiAgLXcsIC0td2lkdGg9wdHJyMzP0yAgICAgICAgIO/x6fPs/PIg7OXj3ejv9fIg8Ovc9O/18iDz5evf5OHyIOXu/OTv9VxuIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiTWVyZ2VzIHR3byBVbmlmb3J1bSBzdHlsZSAucG8gZmlsZXMgdG9nZXRoZXIuICBUaGUgZGVmLnBvIGZpbGUgaXMgYW5cbiIKI34gImV4aXN0aW5nIFBPIGZpbGUgd2l0aCB0cmFuc2xhdGlvbnMgd2hpY2ggd2lsbCBiZSB0YWtlbiBvdmVyIHRvIHRoZSBuZXdseVxuIgojfiAiY3JlYXRlZCBmaWxlIGFzIGxvbmcgYXMgdGhleSBzdGlsbCBtYXRjaDsgY29tbWVudHMgd2lsbCBiZSBwcmVzZXJ2ZWQsXG4iCiN+ICJidXQgZXh0cmFjdGVkIGNvbW1lbnRzIGFuZCBmaWxlIHBvc2l0aW9ucyB3aWxsIGJlIGRpc2NhcmRlZC4gIFRoZSByZWYuIgojfiAicG90XG4iCiN+ICJmaWxlIGlzIHRoZSBsYXN0IGNyZWF0ZWQgUE8gZmlsZSB3aXRoIHVwLXRvLWRhdGUgc291cmNlIHJlZmVyZW5jZXMgYnV0XG4iCiN+ICJvbGQgdHJhbnNsYXRpb25zLCBvciBhIFBPIFRlbXBsYXRlIGZpbGUgKGdlbmVyYWxseSBjcmVhdGVkIGJ5IHhnZXR0ZXh0KTtcbiIKI34gImFueSB0cmFuc2xhdGlvbnMgb3IgY29tbWVudHMgaW4gdGhlIGZpbGUgd2lsbCBiZSBkaXNjYXJkZWQsIGhvd2V2ZXIgZG90XG4iCiN+ICJjb21tZW50cyBhbmQgZmlsZSBwb3NpdGlvbnMgd2lsbCBiZSBwcmVzZXJ2ZWQuICBXaGVyZSBhbiBleGFjdCBtYXRjaFxuIgojfiAiY2Fubm90IGJlIGZvdW5kLCBmdXp6eSBtYXRjaGluZyBpcyB1c2VkIHRvIHByb2R1Y2UgYmV0dGVyIHJlc3VsdHMuXG4iCiN+IG1zZ3N0ciAiIgojfiAiXG4iCiN+ICLT9e3d7fnz5yDk/e8g4fH35d/57SAucG8g7O/x9t7yIFVuaWZvcnVtLiDU7yDh8ffl3+8gZGVmLnBvIOXf7eHpIPTvXG4iCiN+ICLw8e/78Nzx9+/tIOHx9+Xf7yBQTyDs5SD06fIg8OHr6d3yIOzl9OH28dzz5enyIPDv9SDo4SDs5fTh9uXx6O/97SDz9O9cbiIKI34gIu3d7yDh8ffl3+8sIPzz4SD29fPp6twg5OXtIN337/XtIOHr69zu5em3IPThIPP3/Ovp4SDo4SDk6eH05/Hn6O/97VxuIgojfiAi4evr3CD04SDl7uHj/uzl7eEg8/f86+nhIOrh6SDv6SDo3fPl6fIg4fH35d/57SDo4SDh9uHp8eXo7/3tLlxuIgojfiAi1O8g4fH35d/vIHJlZi5wbyDl3+3h6SD07yD05evl9fTh3+Eg5Ofs6e/18ePn7N3t7yDh8ffl3+8gUE8gXG4iCiN+ICIo4+Xt6ercIOrh9OHz6uX13Obl9OHpIOHw/CD07yB4Z2V0dGV4dCkg6uHpIO8s9Okg7OX04fbx3PPl6fIg3iDz9/zr6eEgXG4iCiN+ICL18Nzx9+/17SDz9O8g4fH35d/vIOjhIOHj7e/n6O/97Swg+fP0/PPvIPP3/Ovp4SDw7/Ug7uXq6e3v/e0g7OUg9OXr5d/hIFxuIgojfiAi6uHpIOjd8+Xp8iDh8ffl3/ntIOjhIOTp4fTn8efo7/3tLiDF6uXfIPDv9SDk5e0g5ez24e3f5uX04ekg4fD86/X071xuIgojfiAi9OHf8enh8+zhLCDj3+3l9OHpIPfx3vPnIOXr4fP06erv/SD04enx6dzz7OH07/Ig4+nhIOrh6/305fHhICIKI34gIuHw7/Tl693z7OH04S5cbiIKI34gItThIOHw7/Tl693z7OH04SDj8dz27+304ekg8/Tn7SDq4e3v7enq3iDd7u/k7yDl6vT88iDq4ekg4e0g7/Hf5uX04elcbiIKI34gIurc8O/p7yDh8ffl3+8g5e785O/1LlxuIgoKIwojLCBmdXp6eQojfiBtc2dpZCAidGhpcyBtZXNzYWdlIHNob3VsZCBkZWZpbmUgcGx1cmFsIGZvcm1zIgojfiBtc2dzdHIgIuH19Pwg9O8g7N7t9ezhIPfx5/Pp7O/w7+Xf9OHpLCDh6+vcIOTl7SDv8d/m5fTh6SDz9O8gJXMiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJ0aGlzIG1lc3NhZ2Ugc2hvdWxkIG5vdCBkZWZpbmUgcGx1cmFsIGZvcm1zIgojfiBtc2dzdHIgIuH19Pwg9O8g7N7t9ezhIPfx5/Pp7O/w7+Xf9OHpLCDh6+vcIOTl7SDv8d/m5fTh6SDz9O8gJXMiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICIlc1JlYWQgJWxkIG9sZCArICVsZCByZWZlcmVuY2UsIG1lcmdlZCAlbGQsIGZ1enppZWQgJWxkLCBtaXNzaW5nICVsZCwgIgojfiAib2Jzb2xldGUgJWxkLlxuIgojfiBtc2dzdHIgIiIKI34gIiVzwe3h4+3+8/Tn6uHtICVkIPDh6+Hp3CArICVkIOHt4fbv8d3yLCDz9eP3+e3l9ezd7eEgJWQsIPDx7/Pl4+Pp8/Tp6twgJWQsIgojfiAi3ffv9e0g8OHx4evn9ujl3yAlZCwg4ffx5/Pp7O/w79/n9OEgJWQuXG4iCgojCiN+IG1zZ2lkICIgZG9uZS5cbiIKI34gbXNnc3RyICIg3ePp7eUuXG4iCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIlcyBhbmQgZXhwbGljaXQgZmlsZSBuYW1lcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgojfiBtc2dzdHIgIvThICVzIOrh6SAlcyDl3+3h6SDh7O/p4uHf4SDh8O/q6+Xp/uzl7eEiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJPdXRwdXQgZGV0YWlsczpcbiIKI34gIiAgLWUsIC0tbm8tZXNjYXBlICAgICAgICAgIGRvIG5vdCB1c2UgQyBlc2NhcGVzIGluIG91dHB1dCAoZGVmYXVsdClcbiIKI34gIiAgLUUsIC0tZXNjYXBlICAgICAgICAgICAgIHVzZSBDIGVzY2FwZXMgaW4gb3V0cHV0LCBubyBleHRlbmRlZCBjaGFyc1xuIgojfiAiICAgICAgLS1mb3JjZS1wbyAgICAgICAgICAgd3JpdGUgUE8gZmlsZSBldmVuIGlmIGVtcHR5XG4iCiN+ICIgIC1pLCAtLWluZGVudCAgICAgICAgICAgICB3cml0ZSBpbmRlbnRlZCBvdXRwdXQgc3R5bGVcbiIKI34gIiAgICAgIC0tc3RyaWN0ICAgICAgICAgICAgIHdyaXRlIHN0cmljdCB1bmlmb3J1bSBzdHlsZVxuIgojfiAiICAtdywgLS13aWR0aD1OVU1CRVIgICAgICAgc2V0IG91dHB1dCBwYWdlIHdpZHRoXG4iCiN+ICIgICAgICAtLW5vLXdyYXAgICAgICAgICAgICBkbyBub3QgYnJlYWsgbG9uZyBtZXNzYWdlIGxpbmVzLCBsb25nZXIgdGhhblxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBwYWdlIHdpZHRoLCBpbnRvIHNldmVyYWwgbGluZXNcbiIKI34gIiAgLXMsIC0tc29ydC1vdXRwdXQgICAgICAgIGdlbmVyYXRlIHNvcnRlZCBvdXRwdXRcbiIKI34gbXNnc3RyICIiCiN+ICLX8d7z5zogJXMgW8XQycvPw8ddIGZpbGVuYW1lLm1vIGZpbGVuYW1lLnBvXG4iCiN+ICLP6SD18O/38eX59Onq798g8OHx3Ozl9PHv6SDz9OEg8OXx6fbx4fP06ercIO/x3/Ps4fThIOXf7eHpIPXw7/fx5fn06erv3yAiCiN+ICLq4ekg4+nhIPThIPP97fTv7OEg7/Hf8+zh9OEuXG4iCiN+ICIgIC1lLCAtLW5vLWVzY2FwZSAgICAgICAgICDh8O/29ePeIPfx3vPn8iDq+eTp6v7tIOTp4fb1497yIOHr3CBDIPP05+0gIgojfiAi3e7v5O8gKOXuIO/x6fPs7/0pXG4iCiN+ICIgIC1FLCAtLWVzY2FwZSAgICAgICAgICAgICD38d7z5yDq+eTp6v7tIOTp4fb1497yIOHr3CBDIPP05+0g3e7v5O8sIPz36SAiCiN+ICL87PnyIOrh6SDl6vTl9OHs3e3v9fIg9+Hx4er03vHl8i5cbiIKI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgIOXs9tzt6fPnIOH19N7yIPTn8iDi797o5enh8iDq4ekg3e7v5O/yXG4iCiN+ICIgIC1pLCAtLWluZGVudCAgICAgICAgICAgICDs7/H27/Dv6efs3e3nIN3u7+Tv8lxuIgojfiAiICAtUywgLS1zdHJpY3QgICAgICAgICAgICAg7O/x9t4g5e785O/1IPTvIOH18/Tn8fwgVW5pZm9ydW1cbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIOXs9tzt6fPnIPDr5/Hv9u/x6f7tIN3q5O/z5/Ig6uHpIN3u7+Tv8lxuIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiIgojfiAiQ2hhcnNldCBcIiVzXCIgaXMgbm90IGEgcG9ydGFibGUgZW5jb2RpbmcgbmFtZS5cbiIKI34gIk1lc3NhZ2UgY29udmVyc2lvbiB0byB1c2VyJ3MgY2hhcnNldCBtaWdodCBub3Qgd29yay5cbiIKI34gbXNnc3RyICIiCiN+ICIlczog8PHv5enk7/Dv3+fz5zog9O8g4fH35d/vIOXp8/zk7/Ug8OXx6d335ekg8PHv8+Xj4+nz9Onq3fIg7OX04fbx3PPl6fIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJDaGFyc2V0IG1pc3NpbmcgaW4gaGVhZGVyLlxuIgojfiAiTWVzc2FnZSBjb252ZXJzaW9uIHRvIHVzZXIncyBjaGFyc2V0IHdpbGwgbm90IHdvcmsuXG4iCiN+IG1zZ3N0ciAiIgojfiAiJXM6IPDx7+Xp5O/w79/n8+c6IPTvIOHx9+Xf7yDl6fP85O/1IPDl8end9+XpIPDx7/Pl4+Pp8/Tp6t3yIOzl9OH28dzz5enyIgoKIwojLCBmdXp6eQojfiBtc2dpZCAibWlzc2luZyBgbXNnc3RyW10nIHNlY3Rpb24iCiN+IG1zZ3N0ciAi6+Xf8OXpIOXt/PTn9OEgYG1zZ3N0ciciCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJtaXNzaW5nIGBtc2dpZF9wbHVyYWwnIHNlY3Rpb24iCiN+IG1zZ3N0ciAi6+Xf8OXpIOXt/PTn9OEgYG1zZ3N0ciciCgojCiN+IG1zZ2lkICJtaXNzaW5nIGBtc2dzdHInIHNlY3Rpb24iCiN+IG1zZ3N0ciAi6+Xf8OXpIOXt/PTn9OEgYG1zZ3N0ciciCgojCiN+IG1zZ2lkICJ0b28gbWFueSBlcnJvcnMsIGFib3J0aW5nIgojfiBtc2dzdHIgIvDc8eEg8O/r69wg8/bc6+zh9OEsIOXj6uH04evl3/D5IgoKIwojLCBmdXp6eQojfiBtc2dpZCAiaW52YWxpZCBtdWx0aWJ5dGUgc2VxdWVuY2UiCiN+IG1zZ3N0ciAi7Ocg4fDv5OXq9N4g8+Xp8dwg9+Hx4er03vH57SDk6eH29ePe8iIKCiMKIywgZnV6enkKI34gbXNnaWQgImluY29tcGxldGUgbXVsdGlieXRlIHNlcXVlbmNlIGF0IGVuZCBvZiBmaWxlIgojfiBtc2dzdHIgIuznIOHw7+Tl6vTeIPPl6fHcIPfh8eHq9N7x+e0g5Onh9vXj3vIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJpbmNvbXBsZXRlIG11bHRpYnl0ZSBzZXF1ZW5jZSBhdCBlbmQgb2YgbGluZSIKI34gbXNnc3RyICLs5yDh8O/k5er03iDz5enx3CD34fHh6vTe8fntIOTp4fb1497yIgoKIwojfiBtc2dpZCAia2V5d29yZCBcIiVzXCIgdW5rbm93biIKI34gbXNnc3RyICLc4+358/TnIOXt9O/r3iBcIiVzXCIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJpbnZhbGlkIGNvbnRyb2wgc2VxdWVuY2UiCiN+IG1zZ3N0ciAi7Ocg4fDv5OXq9N4g8+Xp8dwg9+Hx4er03vH57SDk6eH29ePe8iIKCiMKI34gbXNnaWQgImVuZC1vZi1maWxlIHdpdGhpbiBzdHJpbmciCiN+IG1zZ3N0ciAi9N3r7/Ig4fH35d/v9SAoRU9GKSDz9O8g4ev24fHp6Ozn9Onq/CIKCiMKI34gbXNnaWQgImVuZC1vZi1saW5lIHdpdGhpbiBzdHJpbmciCiN+IG1zZ3N0ciAi9N3x7OEt4/Hh7Oze8iAoZW9sKSDz9O8g4ev24fHp6Ozn9Onq/CIKCiMKIywgZnV6enkKI34gbXNnaWQgImZpbGUgXCIlc1wiIGlzIHRydW5jYXRlZCIKI34gbXNnc3RyICL07yDh8ffl3+8gXCIlc1wiIOzn5OXt3/P05+rlIOrh6SDo4SDj8eH27/3tIOTl5O/s3e3hIPPlIOH19PwiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJmaWxlIFwiJXNcIiBjb250YWlucyBhIG5vdCBOVUwgdGVybWluYXRlZCBzdHJpbmciCiN+IG1zZ3N0ciAi9O8g4fH35d/vIFwiJXNcIiDk5e0g5d/t4ekg8/TnIOzv8fbeIEdOVSAubW8iCgojCiN+IG1zZ2lkICJmaWxlIFwiJXNcIiBpcyBub3QgaW4gR05VIC5tbyBmb3JtYXQiCiN+IG1zZ3N0ciAi9O8g4fH35d/vIFwiJXNcIiDk5e0g5d/t4ekg8/TnIOzv8fbeIEdOVSAubW8iCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJmaWxlIFwiJXNcIiBjb250YWlucyBhIG5vdCBOVUwgdGVybWluYXRlZCBzdHJpbmcsIGF0ICVzIgojfiBtc2dzdHIgIvTvIOHx9+Xf7yBcIiVzXCIg5OXtIOXf7eHpIPP05yDs7/H23iBHTlUgLm1vIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiZXhwZWN0ZWQgdHdvIGFyZ3VtZW50cyIKI34gbXNnc3RyICLw3PHhIPDv6+vcIO/x3/Ps4fThIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzdGRvdXQiCiN+IG1zZ3N0ciAi8/bc6+zhIPP05+0g5ePj8eH23iD07/Ug4fH35d/v9SBcIiVzXCIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJjYW5ub3QgY3JlYXRlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB1c2luZyB0ZW1wbGF0ZSBcIiVzXCIiCiN+IG1zZ3N0ciAi4eT17eHs3+Eg5fDp8/Tx7/be8iDz9O8g6uH03Ovv4+8gXCIlc1wiIgoKIwojfiBtc2dpZCAiZXJyb3Igd2hpbGUgd3JpdGluZyBcIiVzXCIgZmlsZSIKI34gbXNnc3RyICLz9tzr7OEg8/Tn7SDl4+Px4fbeIPTv9SDh8ffl3+/1IFwiJXNcIiIKCiMKI34gbXNnaWQgImVycm9yIHdoaWxlIG9wZW5pbmcgXCIlc1wiIGZvciB3cml0aW5nIgojfiBtc2dzdHIgIvP23Ovs4SDq4fTcIPTvINzt7+nj7OEg9O/1IOHx9+Xf7/UgXCIlc1wiIOPp4SDl4+Px4fbeIgoKIwojfiBtc2dpZCAiIgojfiAiaW50ZXJuYXRpb25hbGl6ZWQgbWVzc2FnZXMgc2hvdWxkIG5vdCBjb250YWluIHRoZSBgXFwlYycgZXNjYXBlIHNlcXVlbmNlIgojfiBtc2dzdHIgIiIKI34gIvThIOzn7f3s4fThIPDx7/Ig7OX03Pbx4fPnIOTl7SDw8d3w5ekg7eEg8OXx6d337/XtIPTvIPfh8eHq9N7x4SDk6eH29ePe8iBgIgojfiAiXFwlYyciCgojCiN+IG1zZ2lkICJjYW5ub3QgY3JlYXRlIG91dHB1dCBmaWxlIFwiJXNcIiIKI34gbXNnc3RyICLh5PXt4ezf4SDk5+zp7/Xx49/h8iDh8ffl3+/1IOXu/OTv9SBcIiVzXCIiCgojCiN+IG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQiCiN+IG1zZ3N0ciAi6uHt7+3p6t4g3e7v5O/yIgoKIwojfiBtc2dpZCAiJXM6JWQ6IHdhcm5pbmc6IHVudGVybWluYXRlZCBjaGFyYWN0ZXIgY29uc3RhbnQiCiN+IG1zZ3N0ciAiJXM6JWQ6IPDx7+Xp5O/w79/n8+c6IOznIPTl8ezh9Onz7N3t5yDz9OHo5fHcIPfh8eHq9N7x+e0iCgojCiN+IG1zZ2lkICIlczolZDogd2FybmluZzogdW50ZXJtaW5hdGVkIHN0cmluZyBsaXRlcmFsIgojfiBtc2dzdHIgIiVzOiVkOiDw8e/l6eTv8O/f5/PnOiDs5yD05fHs4fTp8+zd7e8g4ev24fHp6Ozn9Onq/CIKCiMKI34gbXNnaWQgInRoaXMgZmlsZSBtYXkgbm90IGNvbnRhaW4gZG9tYWluIGRpcmVjdGl2ZXMiCiN+IG1zZ3N0ciAi4fX0/CD07yDh8ffl3+8g5OXtIOzw7/Hl3yDt4SDw5fHp3ffl6SDv5Ofj3+XyIOPp4SD05yDw5fHp7/feIgoKIwojfiBtc2dpZCAiLS1qb2luLWV4aXN0aW5nIGNhbm5vdCBiZSB1c2VkIHdoZW4gb3V0cHV0IGlzIHdyaXR0ZW4gdG8gc3Rkb3V0IgojfiBtc2dzdHIgIiIKI34gIvTvIC0tam9pbi1leGlzdGluZyDk5SDs8O/x5d8g7eEg9/Hn8+ns7/Dv6efo5d8g/PTh7SDnIN3u7+Tv8iDj8dz25fTh6SAiCiN+ICLz9OftIOrh7e/t6ereIN3u7+TvIgoKIwojfiBtc2dpZCAid2FybmluZzogZmlsZSBgJXMnIGV4dGVuc2lvbiBgJXMnIGlzIHVua25vd247IHdpbGwgdHJ5IEMiCiN+IG1zZ3N0ciAiIgojfiAi8PHv5enk7/Dv3+fz5zog9O8g4fH35d/vIGAlcycg7OUg6uH03Ovn7ucgYCVzJyDl3+3h6SDc4+358/TvtyDo4SAiCiN+ICLk7+rp7OHz9OXfIEMiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICJPdXRwdXQgZGV0YWlsczpcbiIKI34gIiAgLWUsIC0tbm8tZXNjYXBlICAgICAgICAgICAgICAgIGRvIG5vdCB1c2UgQyBlc2NhcGVzIGluIG91dHB1dCAiCiN+ICIoZGVmYXVsdClcbiIKI34gIiAgLUUsIC0tZXNjYXBlICAgICAgICAgICAgICAgICAgIHVzZSBDIGVzY2FwZXMgaW4gb3V0cHV0LCBubyBleHRlbmRlZCAiCiN+ICJjaGFyc1xuIgojfiAiICAgICAgLS1mb3JjZS1wbyAgICAgICAgICAgICAgICAgd3JpdGUgUE8gZmlsZSBldmVuIGlmIGVtcHR5XG4iCiN+ICIgIC1pLCAtLWluZGVudCAgICAgICAgICAgICAgICAgICB3cml0ZSB0aGUgLnBvIGZpbGUgdXNpbmcgaW5kZW50ZWQgc3R5bGVcbiIKI34gIiAgICAgIC0tbm8tbG9jYXRpb24gICAgICAgICAgICAgIGRvIG5vdCB3cml0ZSAnIzogZmlsZW5hbWU6bGluZScgbGluZXNcbiIKI34gIiAgLW4sIC0tYWRkLWxvY2F0aW9uICAgICAgICAgICAgIGdlbmVyYXRlICcjOiBmaWxlbmFtZTpsaW5lJyBsaW5lcyAiCiN+ICIoZGVmYXVsdClcbiIKI34gIiAgICAgIC0tc3RyaWN0ICAgICAgICAgICAgICAgICAgIHdyaXRlIG91dCBzdHJpY3QgVW5pZm9ydW0gY29uZm9ybWluZyAucG8gIgojfiAiZmlsZVxuIgojfiAiICAtdywgLS13aWR0aD1OVU1CRVIgICAgICAgICAgICAgc2V0IG91dHB1dCBwYWdlIHdpZHRoXG4iCiN+ICIgICAgICAtLW5vLXdyYXAgICAgICAgICAgICAgICAgICBkbyBub3QgYnJlYWsgbG9uZyBtZXNzYWdlIGxpbmVzLCBsb25nZXIgIgojfiAidGhhblxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBwYWdlIHdpZHRoLCBpbnRvIHNldmVyYWwgIgojfiAibGluZXNcbiIKI34gIiAgLXMsIC0tc29ydC1vdXRwdXQgICAgICAgICAgICAgIGdlbmVyYXRlIHNvcnRlZCBvdXRwdXRcbiIKI34gIiAgLUYsIC0tc29ydC1ieS1maWxlICAgICAgICAgICAgIHNvcnQgb3V0cHV0IGJ5IGZpbGUgbG9jYXRpb25cbiIKI34gIiAgICAgIC0tb21pdC1oZWFkZXIgICAgICAgICAgICAgIGRvbid0IHdyaXRlIGhlYWRlciB3aXRoIGBtc2dpZCBcIlwiJyAiCiN+ICJlbnRyeVxuIgojfiAiICAgICAgLS1jb3B5cmlnaHQtaG9sZGVyPVNUUklORyAgc2V0IGNvcHlyaWdodCBob2xkZXIgaW4gb3V0cHV0XG4iCiN+ICIgICAgICAtLWZvcmVpZ24tdXNlciAgICAgICAgICAgICBvbWl0IEZTRiBjb3B5cmlnaHQgaW4gb3V0cHV0IGZvciBmb3JlaWduICIKI34gInVzZXJcbiIKI34gIiAgLW0sIC0tbXNnc3RyLXByZWZpeFs9U1RSSU5HXSAgIHVzZSBTVFJJTkcgb3IgXCJcIiBhcyBwcmVmaXggZm9yIG1zZ3N0ciAiCiN+ICJlbnRyaWVzXG4iCiN+ICIgIC1NLCAtLW1zZ3N0ci1zdWZmaXhbPVNUUklOR10gICB1c2UgU1RSSU5HIG9yIFwiXCIgYXMgc3VmZml4IGZvciBtc2dzdHIgIgojfiAiZW50cmllc1xuIgojfiBtc2dzdHIgIiIKI34gItfx3vPnOiAlcyBbxdDJy8/Dx10gZGVmLnBvIHJlZi5wb1xuIgojfiAiz+kg9fDv9/Hl+fTp6u/fIPDh8dzs5fTx7+kg8/ThIPDl8en28eHz9Onq3CDv8d/z7OH04SDl3+3h6SD18O/38eX59Onq799cbiIKI34gIurh6SDj6eEg9OEg8/3t9O/s4SDv8d/z7OH04S5cbiIKI34gIiAgLUQsIC0tZGlyZWN0b3J5PcrB1MHLz8PP0yAgIPDx/PPo5fPlIPTv7SDKwdTBy8/DzyDz9Ocg69/z9OEg4+nhICIKI34gIuHt4ebe9Ofz51xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDh8ffl3/ntIOXp8/zk7/UuXG4iCiN+ICIgIC1lLCAtLW5vLWVzY2FwZSAgICAgICAgICAgICDh8O/29ePeIPfx3vPn8iDq+eTp6v7tIOTp4fb1497yIOHr3CBDIPP05+0gIgojfiAi3e7v5O9cbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKOXuIO/x6fPs7/0pXG4iCiN+ICIgIC1FLCAtLWVzY2FwZSAgICAgICAgICAgICAgICD38d7z5yDq+eTp6v7tIOTp4fb1497yIOHr3CBDIPP05+0g3e7v5O8sXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPz36SD87PnyIOrh6SDl6vTl9OHs3e3v9fIg9+Hx4er03vHl8i5cbiIKI34gIiAgICAgIC0tZm9yY2UtcG8gICAgICAgICAgICAgIOTn7Onv9fHj3+Eg4fH35d/v9SBQTyDh6vzs4SDq4ekg4e0g5d/t4ekgIgojfiAi3OTl6e9cbiIKI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIOXs9tzt6fPnIOH19N7yIPTn8iDi797o5enh8iDq4ekg3e7v5O/yXG4iCiN+ICIgIC1pLCAtLWluZGVudCAgICAgICAgICAgICAgICDs7/H27/Dv6efs3e3nIN3u7+Tv8lxuIgojfiAiICAtbywgLS1vdXRwdXQtZmlsZT3B0dfFyc8gICAg9O8g4fH35d/vIOXu/OTv9SDo4SDl3+3h6SD07yDB0dfFyc9cbiIKI34gIiAgICAgIC0tbm8tbG9jYXRpb24gICAgICAgICAgIOHw7/b1494g5ez23O3p8+fyIOPx4ezs/u0gJyM6IGZpbGVuYW1lOiIKI34gImxpbmUnXG4iCiN+ICIgICAgICAtLWFkZC1sb2NhdGlvbiAgICAgICAgICDk6eH03vHn8+cg4/Hh7Oz+7SAnIzogZmlsZW5hbWU6bGluZScgKOXuICIKI34gIu/x6fPs7/0pXG4iCiN+ICIgICAgICAtLXN0cmljdCAgICAgICAgICAgICAgICDh9fP05/HeIOzv8fbeIOXu/OTv9SBVbmlmb3J1bVxuIgojfiAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAg8OXx6fbx4fP06ereIOXs9tzt6fPnIPDx7+Xp5O/w7+ne8+X57VxuIgojfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAg5ez23O3p8+cg8Ovn8e/27/Hp/u0g3erk7/Pn8iDq4ekg3e7v5O/yXG4iCiN+ICIgIC13LCAtLXdpZHRoPcHRycjMz9MgICAgICAgICDv8enz7PzyIOzl493o7/XyIPDr3PTv9fIg8+Xr3+Th8iDl7vzk7/VcbiIKCiMKI34gbXNnaWQgImxhbmd1YWdlIGAlcycgdW5rbm93biIKI34gbXNnc3RyICLnIOPr/vPz4SBgJXMnIOXf7eHpINzj7fnz9OciCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJmaWxlIFwiJXNcIiBjb250YWlucyBhIG5vdCBOVUwgdGVybWluYXRlZCBzeXNkZXAgc2VnbWVudCIKI34gbXNnc3RyICL07yDh8ffl3+8gXCIlc1wiIOTl7SDl3+3h6SDz9Ocg7O/x9t4gR05VIC5tbyIKCiMKI34gbXNnaWQgInNlZWsgXCIlc1wiIG9mZnNldCAlbGQgZmFpbGVkIgojfiBtc2dzdHIgIucg8PH88+Lh8+cg8/TvIOHx9+Xf7yBcIiVzXCIsIOjd8+cgJWxkLCDh8N309fflIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiYSBmb3JtYXQgc3BlY2lmaWNhdGlvbiBmb3IgYXJndW1lbnQgeyV1fSBkb2Vzbid0IGV4aXN0IGluICdtc2dzdHInIgojfiBtc2dzdHIgIu/pIOzv8fbv8O/p3vPl6fIg4+nhIPTnIPDh8dzs5fTx7yAldSDk5e0g5d/t4ekg3+Tp5fIiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICJhIGZvcm1hdCBzcGVjaWZpY2F0aW9uIGZvciBhcmd1bWVudCAnJXMnIGRvZXNuJ3QgZXhpc3QgaW4gJ21zZ3N0ciciCiN+IG1zZ3N0ciAi7+kg7O/x9u/w7+ne8+Xp8iDj6eEg9Ocg8OHx3Ozl9PHvICV1IOTl7SDl3+3h6SDf5Onl8iIKCiMKIywgZnV6enkKI34gbXNnaWQgImEgZm9ybWF0IHNwZWNpZmljYXRpb24gZm9yIGFyZ3VtZW50ICV1IGRvZXNuJ3QgZXhpc3QgaW4gJ21zZ3N0ciciCiN+IG1zZ3N0ciAi7+kg7O/x9u/w7+ne8+Xp8iDj6eEg9Ocg8OHx3Ozl9PHvICV1IOTl7SDl3+3h6SDf5Onl8iIKCiMKI34gbXNnaWQgIndoaWxlIGNyZWF0aW5nIGhhc2ggdGFibGUiCiN+IG1zZ3N0ciAi6uH03CD05yDk5+zp7/Xx49/hIPTv9SBoYXNoIHRhYmxlIgoKIwojLCBmdXp6eQojfiBtc2dpZCAiJXM6JWx1OiB3YXJuaW5nOiBrZXl3b3JkIG5lc3RlZCBpbiBrZXl3b3JkIGFyZyIKI34gbXNnc3RyICIlczolZDog8PHv5enk7/Dv3+fz5zog7Ocg9OXx7OH06fPs3e3vIOHr9uHx6ejs5/Tp6vwiCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIlczolbHU6IHdhcm5pbmc6IGtleXdvcmQgYmV0d2VlbiBvdXRlciBrZXl3b3JkIGFuZCBpdHMgYXJnIgojfiBtc2dzdHIgIiVzOiVkOiDw8e/l6eTv8O/f5/PnOiDs5yD05fHs4fTp8+zd7e8g4ev24fHp6Ozn9Onq/CIKCiMKI34gbXNnaWQgIndoaWxlIHByZXBhcmluZyBvdXRwdXQiCiN+IG1zZ3N0ciAi6uHo/vIg8PHv5fTv6ezh5vz04e0g5yDd7u/k7/IiCgojCiN+IG1zZ2lkICJ0aGlzIG1lc3NhZ2UgaGFzIG5vIGRlZmluaXRpb24gaW4gdGhlIFwiJXNcIiBkb21haW4iCiN+IG1zZ3N0ciAi4fX0/CD07yDs3u317OEg5OXtIN335ekg7/Hp8+z8IPP05yDw5fHp7/feIFwiJXNcIiIKCiMKI34gbXNnaWQgIiIKI34gIlVzYWdlOiAlcyBbT1BUSU9OXSBJTlBVVEZJTEUgLi4uXG4iCiN+ICJNYW5kYXRvcnkgYXJndW1lbnRzIHRvIGxvbmcgb3B0aW9ucyBhcmUgbWFuZGF0b3J5IGZvciBzaG9ydCBvcHRpb25zIHRvby5cbiIKI34gIiAgLWQsIC0tZGVmYXVsdC1kb21haW49TkFNRSAgICAgIHVzZSBOQU1FLnBvIGZvciBvdXRwdXQgKGluc3RlYWQgb2YgIgojfiAibWVzc2FnZXMucG8pXG4iCiN+ICIgIC1ELCAtLWRpcmVjdG9yeT1ESVJFQ1RPUlkgICAgICBhZGQgRElSRUNUT1JZIHRvIGxpc3QgZm9yIGlucHV0IGZpbGVzICIKI34gInNlYXJjaFxuIgojfiAiICAtZSwgLS1uby1lc2NhcGUgICAgICAgICAgICAgICAgZG8gbm90IHVzZSBDIGVzY2FwZXMgaW4gb3V0cHV0ICIKI34gIihkZWZhdWx0KVxuIgojfiAiICAtRSwgLS1lc2NhcGUgICAgICAgICAgICAgICAgICAgdXNlIEMgZXNjYXBlcyBpbiBvdXRwdXQsIG5vIGV4dGVuZGVkICIKI34gImNoYXJzXG4iCiN+ICIgIC1mLCAtLWZpbGVzLWZyb209RklMRSAgICAgICAgICBnZXQgbGlzdCBvZiBpbnB1dCBmaWxlcyBmcm9tIEZJTEVcbiIKI34gIiAgICAgIC0tZm9yY2UtcG8gICAgICAgICAgICAgICAgIHdyaXRlIFBPIGZpbGUgZXZlbiBpZiBlbXB0eVxuIgojfiAiICAtRiwgLS1zb3J0LWJ5LWZpbGUgICAgICAgICAgICAgc29ydCBvdXRwdXQgYnkgZmlsZSBsb2NhdGlvblxuIgojfiAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKI34gbXNnc3RyICIiCiN+ICLX8d7z5zogJXMgW8XQycvPw8ddIMHR18XJz8XJ08/Ez9UgLi4uXG4iCiN+ICLP6SD18O/38eX59Onq798g8OHx3Ozl9PHv6SDz9OEg8OXx6fbx4fP06ercIO/x3/Ps4fThIOXf7eHpIPXw7/fx5fn06erv31xuIgojfiAi6uHpIOPp4SD04SDz/e307+zhIO/x3/Ps4fThLlxuIgojfiAiICAtZCwgLS1kZWZhdWx0LWRvbWFpbj3Pzc/MwSAgICAg9/He8+cg9O/1IM/Nz8zBLnBvIOPp4SDd7u/k7yAo4e303yD07/UgIgojfiAibWVzc2FnZXMucG8pXG4iCiN+ICIgIC1ELCAtLWRpcmVjdG9yeT3KwdTBy8/Dz9MgICAgICDw8e/z6N7q5yD07/UgysHUwcvPw8/TIPP05+0g4e3h5t705/PnICIKI34gIuHx9+Xf+e0g5enz/OTv9VxuIgojfiAiICAtZSwgLS1uby1lc2NhcGUgICAgICAgICAgICAgICAg4fDv9vXj3iD38d7z5/Ig6vnk6er+7SDk6eH29ePe8iDh69wgQyAiCiN+ICLz9OftIN3u7+TvXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICjl7iDv8enz7O/9KVxuIgojfiAiICAtRSwgLS1lc2NhcGUgICAgICAgICAgICAgICAgICAg9/He8+cg6vnk6er+7SDk6eH29ePe8iDh69wgQyDz9OftIN3u7+TvLCAiCiN+ICL89+kg/Oz58lxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg6uHpIOXq9OX04ezd7e/18iD34fHh6vTe8eXyLlxuIgojfiAiICAtZiwgLS1maWxlcy1mcm9tPcHR18XJzyAgICAgICAg69745yDr3/P04fIg4fH35d/57SDl6fP85O/1IOHw/CDB0dfFyc9cbiIKI34gIiAgICAgIC0tZm9yY2UtcG8gICAgICAgICAgICAgICAgIOTn7Onv9fHj3+Eg4fH35d/v9SBQTyDh6vzs4SDq4ekg4e0g5d/t4ekgIgojfiAi3OTl6e9cbiIKI34gIiAgLUYsIC0tc29ydC1ieS1maWxlICAgICAgICAgICAgIPTh7unt/Ozn8+cg5e785O/1IOLc8+cg9OfyIOjd8+fyICIKI34gIuHx9+Xf7/VcbiIKI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgIOXs9tzt6fPnIOH19N7yIPTn8iDi797o5enh8iDq4ekg3e7v5O/yXG4iCgojCiN+IG1zZ2lkICIiCiN+ICIgIC1pLCAtLWluZGVudCAgICAgICAgICAgICAgICAgICB3cml0ZSB0aGUgLnBvIGZpbGUgdXNpbmcgaW5kZW50ZWQgc3R5bGVcbiIKI34gIiAgICAgIC0tbm8tbG9jYXRpb24gICAgICAgICAgICAgIGRvIG5vdCB3cml0ZSAnIzogZmlsZW5hbWU6bGluZScgbGluZXNcbiIKI34gIiAgLW4sIC0tYWRkLWxvY2F0aW9uICAgICAgICAgICAgIGdlbmVyYXRlICcjOiBmaWxlbmFtZTpsaW5lJyBsaW5lcyAiCiN+ICIoZGVmYXVsdClcbiIKI34gIiAgICAgIC0tb21pdC1oZWFkZXIgICAgICAgICAgICAgIGRvbid0IHdyaXRlIGhlYWRlciB3aXRoIGBtc2dpZCBcIlwiJyAiCiN+ICJlbnRyeVxuIgojfiAiICAtbywgLS1vdXRwdXQ9RklMRSAgICAgICAgICAgICAgd3JpdGUgb3V0cHV0IHRvIHNwZWNpZmllZCBmaWxlXG4iCiN+ICIgIC1wLCAtLW91dHB1dC1kaXI9RElSICAgICAgICAgICBvdXRwdXQgZmlsZXMgd2lsbCBiZSBwbGFjZWQgaW4gZGlyZWN0b3J5ICIKI34gIkRJUlxuIgojfiAiICAtcywgLS1zb3J0LW91dHB1dCAgICAgICAgICAgICAgZ2VuZXJhdGUgc29ydGVkIG91dHB1dCBhbmQgcmVtb3ZlICIKI34gImR1cGxpY2F0ZXNcbiIKI34gIiAgICAgIC0tc3RyaWN0ICAgICAgICAgICAgICAgICAgIHdyaXRlIG91dCBzdHJpY3QgVW5pZm9ydW0gY29uZm9ybWluZyAucG8gIgojfiAiZmlsZVxuIgojfiAiICAtVCwgLS10cmlncmFwaHMgICAgICAgICAgICAgICAgdW5kZXJzdGFuZCBBTlNJIEMgdHJpZ3JhcGhzIGZvciBpbnB1dFxuIgojfiAiICAtdSwgLS11bmlxdWUgICAgICAgICAgICAgICAgICAgc2hvcnRoYW5kIGZvciAtLWxlc3MtdGhhbj0yLCByZXF1ZXN0c1xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBvbmx5IHVuaXF1ZSBtZXNzYWdlcyBiZSBwcmludGVkXG4iCiN+IG1zZ3N0ciAiIgojfiAiICAtaSwgLS1pbmRlbnQgICAgICAgICAgICAgICAgICAg5Ofs6e/18ePf4SAucG8g4fH35d/v9SDs5SDs7/H27/Dv6efs3e3nICIKI34gIt3u7+TvXG4iCiN+ICIgICAgICAtLW5vLWxvY2F0aW9uICAgICAgICAgICAgICDh8O/29ePeIOXs9tzt6fPn8iDj8eHs7P7tICcjOiBmaWxlbmFtZToiCiN+ICJsaW5lJ1xuIgojfiAiICAtbiwgLS1hZGQtbG9jYXRpb24gICAgICAgICAgICAg5Ofs6e/18ePf4SDj8eHs7P7tICcjOiBmaWxlbmFtZToiCiN+ICJsaW5lJyAo5e4g7/Hp8+zv/SlcbiIKI34gIiAgICAgIC0tb21pdC1oZWFkZXIgICAgICAgICAgICAgIO3hIOznIOPx4fb05d8g6uX24evf5OEg7OUg5ePj8eH23iBgbXNnaWQgIgojfiAiXCJcIidcbiIKI34gIiAgLW8sIC0tb3V0cHV0PcHR18XJzyAgICAgICAgICAgIOXj4/Hh9t4g5e785O/1IPP07yDl8Onr5ePs3e3vIOHx9+Xf71xuIgojfiAiICAtcCwgLS1vdXRwdXQtZGlyPcrB1MHLz8PP0yAgICAg9OEg4fH35d/hIOXu/OTv9SDo4SD07/Dv6OX05+jv/e0gIgojfiAi8/Tv6uH03Ovv4+8gysHUwcvPw8/TXG4iCiN+ICIgIC1zLCAtLXNvcnQtb3V0cHV0ICAgICAgICAgICAgICDk5+zp7/Xx49/hIPTh7unt7+zn7N3t5/Ig5e785O/1IOrh6SAiCiN+ICLh8OHr7+n23iDl8OHt4eve+OX57VxuIgojfiAiICAgICAgLS1zdHJpY3QgICAgICAgICAgICAgICAgICAg5Ofs6e/18ePf4SDh8ffl3+8gLnBvIPDv9SDz9ez2+e3v/e0gIgojfiAi4fD86/X04SDs5SD07yDw8fz09fDvIFVuaWZvcnVtXG4iCiN+ICIgIC1ULCAtLXRyaWdyYXBocyAgICAgICAgICAgICAgICDh8O/k7/feIEFOU0kgQyD08enj8eHs7Nz0+e0g8/Tn7SDl3/Pv5O9cbiIKI34gIiAgLXUsIC0tdW5pcXVlICAgICAgICAgICAgICAgICAgIPP17fTv7O/j8eH23+Eg9O/1IC0tbGVzcy10aGFuPTIsIOHf9Ofz5yAiCiN+ICLj6eFcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOXs9tzt6fPnIOz87e8g9PntIOzv7eHk6er+7SDs5+317Nz0+e1cbiIKCiMKI34gbXNnaWQgIiIKI34gIlVzYWdlOiAlcyBbT1BUSU9OXSBmaWxlbmFtZS5wbyAuLi5cbiIKI34gIkdlbmVyYXRlIGJpbmFyeSBtZXNzYWdlIGNhdGFsb2cgZnJvbSB0ZXh0dWFsIHRyYW5zbGF0aW9uIGRlc2NyaXB0aW9uLlxuIgojfiAiXG4iCiN+ICJNYW5kYXRvcnkgYXJndW1lbnRzIHRvIGxvbmcgb3B0aW9ucyBhcmUgbWFuZGF0b3J5IGZvciBzaG9ydCBvcHRpb25zIHRvby5cbiIKI34gIiAgLWEsIC0tYWxpZ25tZW50PU5VTUJFUiAgICAgIGFsaWduIHN0cmluZ3MgdG8gTlVNQkVSIGJ5dGVzIChkZWZhdWx0OiAiCiN+ICIlZClcbiIKI34gIiAgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICAgIHBlcmZvcm0gbGFuZ3VhZ2UgZGVwZW5kZW50IGNoZWNrcyBvbiAiCiN+ICJzdHJpbmdzXG4iCiN+ICIgIC1ELCAtLWRpcmVjdG9yeT1ESVJFQ1RPUlkgICBhZGQgRElSRUNUT1JZIHRvIGxpc3QgZm9yIGlucHV0IGZpbGVzICIKI34gInNlYXJjaFxuIgojfiAiICAtZiwgLS11c2UtZnV6enkgICAgICAgICAgICAgdXNlIGZ1enp5IGVudHJpZXMgaW4gb3V0cHV0XG4iCiN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgojfiAiICAgICAgLS1uby1oYXNoICAgICAgICAgICAgICAgYmluYXJ5IGZpbGUgd2lsbCBub3QgaW5jbHVkZSB0aGUgaGFzaCAiCiN+ICJ0YWJsZVxuIgojfiAiICAtbywgLS1vdXRwdXQtZmlsZT1GSUxFICAgICAgc3BlY2lmeSBvdXRwdXQgZmlsZSBuYW1lIGFzIEZJTEVcbiIKI34gIiAgICAgIC0tc3RhdGlzdGljcyAgICAgICAgICAgIHByaW50IHN0YXRpc3RpY3MgYWJvdXQgdHJhbnNsYXRpb25zXG4iCiN+ICIgICAgICAtLXN0cmljdCAgICAgICAgICAgICAgICBlbmFibGUgc3RyaWN0IFVuaWZvcnVtIG1vZGVcbiIKI34gIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGxpc3QgaW5wdXQgZmlsZSBhbm9tYWxpZXNcbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCiN+ICJcbiIKI34gIkdpdmluZyB0aGUgLXYgb3B0aW9uIG1vcmUgdGhhbiBvbmNlIGluY3JlYXNlcyB0aGUgdmVyYm9zaXR5IGxldmVsLlxuIgojfiAiXG4iCiN+ICJJZiBpbnB1dCBmaWxlIGlzIC0sIHN0YW5kYXJkIGlucHV0IGlzIHJlYWQuICBJZiBvdXRwdXQgZmlsZSBpcyAtLFxuIgojfiAib3V0cHV0IGlzIHdyaXR0ZW4gdG8gc3RhbmRhcmQgb3V0cHV0LlxuIgojfiBtc2dzdHIgIiIKI34gItfx3vPnOiAlcyBbxdDJy8/Dx10gZmlsZW5hbWUucG8gLi4uXG4iCiN+ICLE5+zp7/Xx49/hIOT14eTp6u/9IOrh9OHr/OPv9SDs5+317Nz0+e0g4fD8IOvl6vTp6t4g7OX03Pbx4fPnICIKI34gIvDl8enj8eH2/u0uXG4iCiN+ICJcbiIKI34gIs/pIPXw7/fx5fn06erv3yDw4fHc7OX08e/pIPP04SDw5fHp9vHh8/Tp6twg7/Hf8+zh9OEg5d/t4ekg9fDv9/Hl+fTp6u/fXG4iCiN+ICLq4ekg4+nhIPThIPP97fTv7OEg7/Hf8+zh9OEuXG4iCiN+ICIgIC1hLCAtLWFsaWdubWVudD3B0cnIzM/TICDz9O/f9+fz5yDh6/bh8eno7Of06er+7SDz5SDB0cnIzM/TIOHw/CBieXRlc1xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgKOXuIO/x6fPs7/0g9Ons3jogJWQpXG4iCiN+ICIgIC1jLCAtLWNoZWNrICAgICAgICAgICAgICDl6vTd6+Xz5yDl693j9/ntIOXu4fH05+zd7fntIOHw/CD05yDj6/7z8+FcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIPP04SDh6/bh8eno7Of06ercXG4iCiN+ICIgIC1ELCAtLWRpcmVjdG9yeT3KwdTBy8/Dz9MgIPDx/PPo5fPlIPTv7SDKwdTBy8/DzyDz9Ocg69/z9OEg4+nhICIKI34gIuHt4ebe9Ofz51xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAg4fH35d/57SDl6fP85O/1LlxuIgojfiAiICAtZiwgLS11c2UtZnV6enkgICAgICAgICAg9/He8+cg8PHv8+Xj4+nz9Onq/u0g5ePj8eH2/u0g8/Tn7SDd7u/k71xuIgojfiAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAg5ez23O3p8+cg4fX03vIg9OfyIOLv3ujl6eHyIOrh6SDd7u/k7/JcbiIKI34gIiAgICAgIC0tbm8taGFzaCAgICAgICAgICAgIOT14eTp6twg4fH35d/hIOTl7SDz9ezw5fHp6+Hs4tzt7+304ekg8/TvXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2ggdGFibGVcbiIKI34gIiAgLW8sIC0tb3V0cHV0LWZpbGU9wdHXxcnPIOrh6O/x6fPs/PIg9O/1IMHR18XJzyDz4e0g4fH35d/vIOXu/OTv9VxuIgojfiAiICAgICAgLS1zdGF0aXN0aWNzICAgICAgICAg5ez23O3p8+cg8/Th9Onz9Onq/u0g4+nhIPTp8iDs5fTh9vHc8+Xp8lxuIgojfiAiICAgICAgLS1zdHJpY3QgICAgICAgICAgICAg5e3l8ePv8O/f5/PnIOrh9Nzz9OHz5/Ig4fXz9Ofx7/0gVW5pZm9ydW1cbiIKI34gIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIOXs9tzt6fPnIPP24evs3PT57SDh8ffl3+/1IOXp8/zk7/VcbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIOXs9tzt6fPnIPDr5/Hv9u/x6f7tIN3q5O/z5/Ig6uHpIN3u7+Tv8lxuIgojfiAiXG4iCiN+ICLE3+3v7fTh8iD05+0g8OHx3Ozl9PHvIC12IPDl8enz8/z05fHl8iDh8Pwg7OnhIPbv8d3yLCDh9e7c7eXpIPTvIOLh6Oz8XG4iCiN+ICLw5fHp9vHh8/Tp6vz05/Th8iD0+e0g7Oft9ezc9PntXG4iCiN+ICJcbiIKI34gIsHtIPTvIOHx9+Xf7yDl6fP85O/1IOXf7eHpIPTvIC0sIOPf7eX04ekg4e3c4+358+cg9OfyIOrh7e/t6ere8iDl6fP85O/1LlxuIgojfiAiwe0g9O8g4fH35d/vIOXu/OTv9SDl3+3h6SAtLCD0/PTlIOcg3e7v5O/yIOPx3Pbl9OHpIPP05+0g6uHt7+3p6t4g3e7v5O8uXG4iCgojCiN+IG1zZ2lkICIiCiN+ICJVc2FnZTogJXMgW09QVElPTl0gW0ZJTEVdLi4uXG4iCiN+ICJNYW5kYXRvcnkgYXJndW1lbnRzIHRvIGxvbmcgb3B0aW9ucyBhcmUgbWFuZGF0b3J5IGZvciBzaG9ydCBvcHRpb25zIHRvby5cbiIKI34gIiAgLWUsIC0tbm8tZXNjYXBlICAgICAgICAgIGRvIG5vdCB1c2UgQyBlc2NhcGVzIGluIG91dHB1dCAoZGVmYXVsdClcbiIKI34gIiAgLUUsIC0tZXNjYXBlICAgICAgICAgICAgIHVzZSBDIGVzY2FwZXMgaW4gb3V0cHV0LCBubyBleHRlbmRlZCBjaGFyc1xuIgojfiAiICAgICAgLS1mb3JjZS1wbyAgICAgICAgICAgd3JpdGUgUE8gZmlsZSBldmVuIGlmIGVtcHR5XG4iCiN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgojfiAiICAtaSwgLS1pbmRlbnQgICAgICAgICAgICAgd3JpdGUgaW5kZW50ZWQgb3V0cHV0IHN0eWxlXG4iCiN+ICIgIC1vLCAtLW91dHB1dC1maWxlPUZJTEUgICB3cml0ZSBvdXRwdXQgaW50byBGSUxFIGluc3RlYWQgb2Ygc3RhbmRhcmQgIgojfiAib3V0cHV0XG4iCiN+ICIgICAgICAtLXN0cmljdCAgICAgICAgICAgICB3cml0ZSBzdHJpY3QgdW5pZm9ydW0gc3R5bGVcbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCiN+ICIgIC13LCAtLXdpZHRoPU5VTUJFUiAgICAgICBzZXQgb3V0cHV0IHBhZ2Ugd2lkdGhcbiIKI34gbXNnc3RyICIiCiN+ICLX8d7z5zogJXMgW8XQycvPw8ddIGRlZi5wbyByZWYucG9cbiIKI34gIs/pIPXw7/fx5fn06erv3yDw4fHc7OX08e/pIPP04SDw5fHp9vHh8/Tp6twg7/Hf8+zh9OEg5d/t4ekg9fDv9/Hl+fTp6u/fXG4iCiN+ICLq4ekg4+nhIPThIPP97fTv7OEg7/Hf8+zh9OEuXG4iCiN+ICIgIC1lLCAtLW5vLWVzY2FwZSAgICAgICAgICDh8O/29ePeIPfx3vPn8iDq+eTp6v7tIOTp4fb1497yIOHr3CBDIPP05+0gIgojfiAi3e7v5O9cbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICjl7iDv8enz7O/9KVxuIgojfiAiICAtRSwgLS1lc2NhcGUgICAgICAgICAgICAg9/He8+cg6vnk6er+7SDk6eH29ePe8iDh69wgQyDz9OftIN3u7+TvLFxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICD89+kg/Oz58iDq4ekg5er05fTh7N3t7/XyIPfh8eHq9N7x5fIuXG4iCiN+ICIgICAgICAtLWZvcmNlLXBvICAgICAgICAgICDk5+zp7/Xx49/hIOHx9+Xf7/UgUE8g4er87OEg6uHpIOHtIOXf7eHpICIKI34gItzk5envXG4iCiN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICDl7Pbc7enz5yDh9fTe8iD05/Ig4u/e6OXp4fIg6uHpIN3u7+Tv8lxuIgojfiAiICAtaSwgLS1pbmRlbnQgICAgICAgICAgICAg7O/x9u/w7+nn7N3t5yDd7u/k7/JcbiIKI34gIiAgLW8sIC0tb3V0cHV0LWZpbGU9wdHXxcnPICD07yDh8ffl3+8g5e785O/1IOjhIOXf7eHpIPTvIMHR18XJz1xuIgojfiAiICAgICAgLS1zdHJpY3QgICAgICAgICAgICAg7O/x9t4g5e785O/1IPTvIOH18/Tn8fwgVW5pZm9ydW1cbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIOXs9tzt6fPnIPDr5/Hv9u/x6f7tIN3q5O/z5/Ig6uHpIN3u7+Tv8lxuIgojfiAiICAtdywgLS13aWR0aD3B0cnIzM/TICAgICAg7/Hp8+z88iDs5ePd6O/18iDw69z07/XyIPPl69/k4fIg5e785O/1XG4iCgojCiN+IG1zZ2lkICIiCiN+ICJcbiIKI34gIkNvbnZlcnQgYmluYXJ5IC5tbyBmaWxlcyB0byBVbmlmb3J1bSBzdHlsZSAucG8gZmlsZXMuXG4iCiN+ICJCb3RoIGxpdHRsZS1lbmRpYW4gYW5kIGJpZy1lbmRpYW4gLm1vIGZpbGVzIGFyZSBoYW5kbGVkLlxuIgojfiAiSWYgbm8gaW5wdXQgZmlsZSBpcyBnaXZlbiBvciBpdCBpcyAtLCBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLlxuIgojfiAiQnkgZGVmYXVsdCB0aGUgb3V0cHV0IGlzIHdyaXR0ZW4gdG8gc3RhbmRhcmQgb3V0cHV0LlxuIgojfiBtc2dzdHIgIiIKI34gIlxuIgojfiAizOX04fTx7/DeIOT14eTp6v7tIOHx9+Xf+e0gLm1vIPPlIFVuaWZvcnVtIC5wbyDh8ffl3+EuXG4iCiN+ICLK4ekg9OEgbGl0dGxlLWVuZGlhbiDq4ekg9OEgYmlnLWVuZGlhbiDh8ffl3+EgLm1vIOzw7/Hv/e1cbiIKI34gIu3hIPfx5/Pp7O/w7+nn6O/97S4gwe0g9O8g4fH35d/vIOXp8/zk7/Ug5N/t5fTh6SDeIOXf7eHpIC0sXG4iCiN+ICL0/PTlIOHt4ePp4+3+8+rl9OHpIOcg6uHt7+3p6t4g5d/z7+Tv8i4gxe4g7/Hp8+zv/Swg5yDd7u/k7/JcbiIKI34gIuPx3Pbl9OHpIPP05+0g6uHt7+3p6t4g3e7v5O8uXG4iCgojCiN+IG1zZ2lkICIiCiN+ICJVc2FnZTogJXMgW09QVElPTl0gSU5QVVRGSUxFIC4uLlxuIgojfiAiRXh0cmFjdCB0cmFuc2xhdGFibGUgc3RyaW5nIGZyb20gZ2l2ZW4gaW5wdXQgZmlsZXMuXG4iCiN+ICJcbiIKI34gIk1hbmRhdG9yeSBhcmd1bWVudHMgdG8gbG9uZyBvcHRpb25zIGFyZSBtYW5kYXRvcnkgZm9yIHNob3J0IG9wdGlvbnMgdG9vLlxuIgojfiAiICAtYSwgLS1leHRyYWN0LWFsbCAgICAgICAgICAgICAgZXh0cmFjdCBhbGwgc3RyaW5nc1xuIgojfiAiICAtYywgLS1hZGQtY29tbWVudHNbPVRBR10gICAgICAgcGxhY2UgY29tbWVudCBibG9jayB3aXRoIFRBRyAob3IgdGhvc2VcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWNlZGluZyBrZXl3b3JkIGxpbmVzKSBpbiBvdXRwdXQgZmlsZVxuIgojfiAiICAtQywgLS1jKysgICAgICAgICAgICAgICAgICAgICAgc2hvcnRoYW5kIGZvciAtLWxhbmd1YWdlPUMrK1xuIgojfiAiICAgICAgLS1kZWJ1ZyAgICAgICAgICAgICAgICAgICAgbW9yZSBkZXRhaWxlZCBmb3JtYXRzdHJpbmcgcmVjb2duaXNpb24gIgojfiAicmVzdWx0XG4iCiN+ICIgIC1kLCAtLWRlZmF1bHQtZG9tYWluPU5BTUUgICAgICB1c2UgTkFNRS5wbyBmb3Igb3V0cHV0IChpbnN0ZWFkIG9mICIKI34gIm1lc3NhZ2VzLnBvKVxuIgojfiAiICAtRCwgLS1kaXJlY3Rvcnk9RElSRUNUT1JZICAgICAgYWRkIERJUkVDVE9SWSB0byBsaXN0IGZvciBpbnB1dCBmaWxlcyAiCiN+ICJzZWFyY2hcbiIKI34gIiAgLWUsIC0tbm8tZXNjYXBlICAgICAgICAgICAgICAgIGRvIG5vdCB1c2UgQyBlc2NhcGVzIGluIG91dHB1dCAiCiN+ICIoZGVmYXVsdClcbiIKI34gIiAgLUUsIC0tZXNjYXBlICAgICAgICAgICAgICAgICAgIHVzZSBDIGVzY2FwZXMgaW4gb3V0cHV0LCBubyBleHRlbmRlZCAiCiN+ICJjaGFyc1xuIgojfiAiICAtZiwgLS1maWxlcy1mcm9tPUZJTEUgICAgICAgICAgZ2V0IGxpc3Qgb2YgaW5wdXQgZmlsZXMgZnJvbSBGSUxFXG4iCiN+ICIgICAgICAtLWZvcmNlLXBvICAgICAgICAgICAgICAgICB3cml0ZSBQTyBmaWxlIGV2ZW4gaWYgZW1wdHlcbiIKI34gIiAgICAgIC0tZm9yZWlnbi11c2VyICAgICAgICAgICAgIG9taXQgRlNGIGNvcHlyaWdodCBpbiBvdXRwdXQgZm9yIGZvcmVpZ24gIgojfiAidXNlclxuIgojfiAiICAtRiwgLS1zb3J0LWJ5LWZpbGUgICAgICAgICAgICAgc29ydCBvdXRwdXQgYnkgZmlsZSBsb2NhdGlvblxuIgojfiBtc2dzdHIgIiIKI34gItfx3vPnOiAlcyBbxdDJy8/Dx10gwdHXxcnPxcnTz8TP1SAuLi5cbiIKI34gIsXu4eP5494g4ev24fHp6Ozn9Onq/u0g8O/1IOzw7/Hv/e0g7eEg7OX04fbx4fP07/3tIOHw/CDk7/Ps3e3hIOHx9+Xf4SAiCiN+ICLl6fP85O/1LlxuIgojfiAiXG4iCiN+ICLP6SD18O/38eX59Onq798g8OHx3Ozl9PHv6SDz9OEg8OXx6fbx4fP06ercIO/x3/Ps4fThIOXf7eHpIPXw7/fx5fn06erv31xuIgojfiAi6uHpIOPp4SD04SDz/e307+zhIO/x3/Ps4fThLlxuIgojfiAiICAtYSwgLS1leHRyYWN0LWFsbCAgICAgICAgICAgICAg5e7h4/nj3iD86/ntIPT57SDh6/bh8eno7Of06er+7VxuIgojfiAiICAtYywgLS1hZGQtY29tbWVudHNbPVRBR10gICAgICAg9O/w7+jd9Ofz5yD07N7s4SDz9+/r3/ntIOzlIFRBRyAo3iDh9fTcICIKI34gIvDv9VxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4erv6+/16O/97SDj8eHs7N3yIOzlIOXt9O/r3fIpIPP07yAiCiN+ICLh8ffl3+8g5e785O/1XG4iCiN+ICIgIC1DLCAtLWMrKyAgICAgICAgICAgICAgICAgICAgICDz9e307+zv4/Hh9t/hIOPp4SAtLWxhbmd1YWdlPUMrK1xuIgojfiAiICAgICAgLS1kZWJ1ZyAgICAgICAgICAgICAgICAgICAg8OXx6fPz/PTl8e8g6+Xw9O/s5fHe8iDl7Pbc7enz5yAiCiN+ICLs5+317Nz0+e1cbiIKI34gIiAgLWQsIC0tZGVmYXVsdC1kb21haW49z83PzMEgICAgIPfx3vPnIPTv9SDPzc/MwS5wbyDj6eEg3e7v5O8gKOHt9N8g9O/1ICIKI34gIm1lc3NhZ2VzLnBvKVxuIgojfiAiICAtRCwgLS1kaXJlY3Rvcnk9ysHUwcvPw8/TICAgICAg4evr4ePeIPP07yDKwdTBy8/Dz9Mg8PHp7SD05+0g3e3h8e7nIPTn8iAiCiN+ICLl8OXu5fHj4fPf4fJcbiIKI34gIiAgLWUsIC0tbm8tZXNjYXBlICAgICAgICAgICAgICAgIOHw7/b1494g9/He8+fyIOr55Onq/u0g5Onh9vXj3vIg4evcIEMgIgojfiAi8/Tn7SDd7u/k71xuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo5e4g7/Hp8+zv/SlcbiIKI34gIiAgLUUsIC0tZXNjYXBlICAgICAgICAgICAgICAgICAgIPfx3vPnIOr55Onq/u0g5Onh9vXj3vIg4evcIEMg8/Tn7SDd7u/k7ywgIgojfiAi/PfpIPzs+fJcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOrh6SDl6vTl9OHs3e3v9fIg9+Hx4er03vHl8i5cbiIKI34gIiAgLWYsIC0tZmlsZXMtZnJvbT3B0dfFyc8gICAgICAgIOve+Ocg69/z9OHyIOHx9+Xf+e0g5enz/OTv9SDh8PwgwdHXxcnPXG4iCiN+ICIgICAgICAtLWZvcmNlLXBvICAgICAgICAgICAgICAgICDk5+zp7/Xx49/hIOHx9+Xf7/UgUE8g4er87OEg6uHpIOHtIOXf7eHpICIKI34gItzk5envXG4iCiN+ICIgICAgICAtLWZvcmVpZ24tdXNlciAgICAgICAgICAgICDw4fHc6+Xp+Ocg5ez23O3p8+fyIPDt5fXs4fTp6v7tICIKI34gIuTp6uHp+ezc9PntIPTn8iBGU0ZcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPP05+0g3e7v5O8g4+nhIO7d7e8g9/He8/TnXG4iCiN+ICIgIC1GLCAtLXNvcnQtYnktZmlsZSAgICAgICAgICAgICD04e7p7fzs5/PnIOXu/OTv9SDi3PPnIPTn8iDo3fPn8iAiCiN+ICLh8ffl3+/1XG4iCgojCiMsIGZ1enp5CiN+IG1zZ2lkICIiCiN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgojfiAiICAtaSwgLS1pbmRlbnQgICAgICAgICAgICAgICAgICAgd3JpdGUgdGhlIC5wbyBmaWxlIHVzaW5nIGluZGVudGVkIHN0eWxlXG4iCiN+ICIgIC1qLCAtLWpvaW4tZXhpc3RpbmcgICAgICAgICAgICBqb2luIG1lc3NhZ2VzIHdpdGggZXhpc3RpbmcgZmlsZVxuIgojfiAiICAtaywgLS1rZXl3b3JkWz1XT1JEXSAgICAgICAgICAgYWRkaXRvbmFsIGtleXdvcmQgdG8gYmUgbG9va2VkIGZvciAiCiN+ICIod2l0aG91dFxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV09SRCBtZWFucyBub3QgdG8gdXNlIGRlZmF1bHQga2V5d29yZHMpXG4iCiN+ICIgIC1MLCAtLWxhbmd1YWdlPU5BTUUgICAgICAgICAgICByZWNvZ25pc2UgdGhlIHNwZWNpZmllZCBsYW5ndWFnZSAoQywgQysiCiN+ICIrLCBQTyksXG4iCiN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcndpc2UgaXMgZ3Vlc3NlZCBmcm9tIGZpbGUgIgojfiAiZXh0ZW5zaW9uXG4iCiN+ICIgIC1tLCAtLW1zZ3N0ci1wcmVmaXhbPVNUUklOR10gICB1c2UgU1RSSU5HIG9yIFwiXCIgYXMgcHJlZml4IGZvciBtc2dzdHIgIgojfiAiZW50cmllc1xuIgojfiAiICAtTSwgLS1tc2dzdHItc3VmZml4Wz1TVFJJTkddICAgdXNlIFNUUklORyBvciBcIlwiIGFzIHN1ZmZpeCBmb3IgbXNnc3RyICIKI34gImVudHJpZXNcbiIKI34gIiAgICAgIC0tbm8tbG9jYXRpb24gICAgICAgICAgICAgIGRvIG5vdCB3cml0ZSAnIzogZmlsZW5hbWU6bGluZScgbGluZXNcbiIKI34gbXNnc3RyICIiCiN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICDl7Pbc7enz5yDh9fTe8iD05/Ig4u/e6OXp4fIg6uHpIN3u7+Tv8lxuIgojfiAiICAtaSwgLS1pbmRlbnQgICAgICAgICAgICAgICAgICAg5Ofs6e/18ePf4SAucG8g4fH35d/v9SDs5SDs7/H27/Dv6efs3e3nICIKI34gIt3u7+TvXG4iCiN+ICIgIC1qLCAtLWpvaW4tZXhpc3RpbmcgICAgICAgICAgICDw8fzz6OXz5yDs5+317Nz0+e0g7OUg9O8g9fDc8ffv7SDh8ffl3+9cbiIKI34gIiAgLWssIC0ta2V5d29yZFs9y8XOx10gICAgICAgICAgIOXw6fDr3e/tIOvl6vTp6vwg4+nhIOHt4ebe9Ofz5yAo9/nx3/IgIgojfiAiy8XOxyDz5+zh3+3l6VxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4e3h5t705/PnIOPp4SDl7iDv8enz7O/9IOvl6vTp6twpLlxuIgojfiAiICAtbCwgLS1zdHJpbmctbGltaXQ9wdHJyMzP0yAgICAg7/Hp8+z88iDs5ePd6O/18iDh6/bh8eno7Of06erv/SDz5SAiCiN+ICLB0cnIzM/TIOHt9N8g9O/1ICV1XG4iCiN+ICIgIC1tLCAtLW1zZ3N0ci1wcmVmaXhbPcHL1sHRycjMx9TJys9dIPfx3vPnIPTv9SDBy9bB0cnIzMfUycrPIN4gXCJcIiDj6eEgIgojfiAi8PH86OXs4VxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg8+Ug5ePj8eH23fIgbXNnc3RyXG4iCiN+ICIgIC1NLCAtLW1zZ3N0ci1zdWZmaXhbPcHL1sHRycjMx9TJys9dIPfx3vPnIPTv9SDBy9bB0cnIzMfUycrPIN4gXCJcIiDj6eEgIgojfiAi6uH03Ovn7udcbiIKI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPPlIOXj4/Hh9t3yIG1zZ3N0clxuIgojfiAiICAgICAgLS1uby1sb2NhdGlvbiAgICAgICAgICAgICAg7eEg7OftIOPx4fbv/e0g4/Hh7Ozd8iAnIzogZmlsZW5hbWU6IgojfiAibGluZSdcbiIKCiMKI34gbXNnaWQgIiIKI34gIiAgLW4sIC0tYWRkLWxvY2F0aW9uICAgICAgICAgICAgIGdlbmVyYXRlICcjOiBmaWxlbmFtZTpsaW5lJyBsaW5lcyAiCiN+ICIoZGVmYXVsdClcbiIKI34gIiAgICAgIC0tb21pdC1oZWFkZXIgICAgICAgICAgICAgIGRvbid0IHdyaXRlIGhlYWRlciB3aXRoIGBtc2dpZCBcIlwiJyAiCiN+ICJlbnRyeVxuIgojfiAiICAtbywgLS1vdXRwdXQ9RklMRSAgICAgICAgICAgICAgd3JpdGUgb3V0cHV0IHRvIHNwZWNpZmllZCBmaWxlXG4iCiN+ICIgIC1wLCAtLW91dHB1dC1kaXI9RElSICAgICAgICAgICBvdXRwdXQgZmlsZXMgd2lsbCBiZSBwbGFjZWQgaW4gZGlyZWN0b3J5ICIKI34gIkRJUlxuIgojfiAiICAtcywgLS1zb3J0LW91dHB1dCAgICAgICAgICAgICAgZ2VuZXJhdGUgc29ydGVkIG91dHB1dCBhbmQgcmVtb3ZlICIKI34gImR1cGxpY2F0ZXNcbiIKI34gIiAgICAgIC0tc3RyaWN0ICAgICAgICAgICAgICAgICAgIHdyaXRlIG91dCBzdHJpY3QgVW5pZm9ydW0gY29uZm9ybWluZyAucG8gIgojfiAiZmlsZVxuIgojfiAiICAtVCwgLS10cmlncmFwaHMgICAgICAgICAgICAgICAgdW5kZXJzdGFuZCBBTlNJIEMgdHJpZ3JhcGhzIGZvciBpbnB1dFxuIgojfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKI34gIiAgLXcsIC0td2lkdGg9TlVNQkVSICAgICAgICAgICAgIHNldCBvdXRwdXQgcGFnZSB3aWR0aFxuIgojfiAiICAteCwgLS1leGNsdWRlLWZpbGU9RklMRSAgICAgICAgZW50cmllcyBmcm9tIEZJTEUgYXJlIG5vdCBleHRyYWN0ZWRcbiIKI34gIlxuIgojfiAiSWYgSU5QVVRGSUxFIGlzIC0sIHN0YW5kYXJkIGlucHV0IGlzIHJlYWQuXG4iCiN+IG1zZ3N0ciAiIgojfiAiICAtbiwgLS1hZGQtbG9jYXRpb24gICAgICAgICAgICAg5Ofs6e/18ePf4SDj8eHs7P7tICcjOiBmaWxlbmFtZToiCiN+ICJsaW5lJyAo5e4g7/Hp8+zv/SlcbiIKI34gIiAgICAgIC0tb21pdC1oZWFkZXIgICAgICAgICAgICAgIO3hIOznIOPx4fbl3yDq5fbh69/k4SDs5SDl4+Px4fbeIGBtc2dpZCAiCiN+ICJcIlwiJ1xuIgojfiAiICAtbywgLS1vdXRwdXQ9wdHXxcnPICAgICAgICAgICAg5ePj8eH23iDl7vzk7/Ug8/TvIOXw6evl4+zd7e8g4fH35d/vXG4iCiN+ICIgIC1wLCAtLW91dHB1dC1kaXI9ysHUwcvPw8/TICAgICD04SDh8ffl3+Eg5e785O/1IOjhIPTv8O/o5fTn6O/97VxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDz9O8g6uH03Ovv4+8gysHUwcvPw8/TXG4iCiN+ICIgIC1zLCAtLXNvcnQtb3V0cHV0ICAgICAgICAgICAgICDk5+zp7/Xx49/hIPTh7unt7+zn7N3t5/Ig5e785O/1IOrh6VxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDh8OHr7+n23iDl8OHt4eve+OX57VxuIgojfiAiICAgICAgLS1zdHJpY3QgICAgICAgICAgICAgICAgICAg5Ofs6e/18ePf4SDh8ffl3+8gLnBvIPDv9SDz9ez2+e3v/e0gIgojfiAi4fD86/X04VxuIgojfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDs5SD07yDw8fz09fDvIFVuaWZvcnVtXG4iCiN+ICIgIC1ULCAtLXRyaWdyYXBocyAgICAgICAgICAgICAgICDh8O/k7/feIEFOU0kgQyD08enj8eHs7Nz0+e0g8/Tn7SDl3/Pv5O9cbiIKI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgIOXs9tzt6fPnIPDr5/Hv9u/x6f7tIN3q5O/z5/Ig6uHpIN3u7+Tv8lxuIgojfiAiICAteCwgLS1leGNsdWRlLWZpbGU9wdHXxcnPICAgICAg5ePj8eH23fIg4fD8IPTvIMHR18XJzyDk5e0g4fbh6fHv/e304elcbiIKI34gIlxuIgojfiAiwe0g9O8gwdHXxcnPxcnTz8TP1SDl3+3h6SAtLCDj3+3l9OHpIOHt3OPt+fPnIPTn8iDq4e3v7enq3vIg5enz/OTv9S5cbiIKCiMKIywgZnV6enkKI34gbXNnaWQgIiIKI34gIiVzOiB3YXJuaW5nOiBjaGFyc2V0IFwiJXNcIiBpcyBub3Qgc3VwcG9ydGVkIGJ5IGljb252JXNcbiIKI34gIiUqcyAgd2FybmluZzogY29uc2lkZXIgaW5zdGFsbGluZyBHTlUgbGliaWNvbnYgYW5kIHRoZW5cbiIKI34gIiUqcyAgICAgICAgICAgcmVpbnN0YWxsaW5nIEdOVSBnZXR0ZXh0IgojfiBtc2dzdHIgIiIKI34gIiVzOiDw8e/l6eTv8O/f5/PnOiD07yDh8ffl3+8g5enz/OTv9SDw5fHp3ffl6SDw8e/z5ePj6fP06erd8iDs5fTh9vHc8+Xp8iIKCiMKIywgZnV6enkKI34gbXNnaWQgIiIKI34gIiVzOiB3YXJuaW5nOiBjaGFyc2V0IFwiJXNcIiBpcyBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgaWNvbnYlc1xuIgojfiAiJSpzICB3YXJuaW5nOiBjb25zaWRlciBpbnN0YWxsaW5nIEdOVSBsaWJpY29udiBhbmQgdGhlblxuIgojfiAiJSpzICAgICAgICAgICByZWluc3RhbGxpbmcgR05VIGdldHRleHQiCiN+IG1zZ3N0ciAiIgojfiAiJXM6IPDx7+Xp5O/w79/n8+c6IPTvIOHx9+Xf7yDl6fP85O/1IPDl8end9+XpIPDx7/Pl4+Pp8/Tp6t3yIOzl9OH28dzz5enyIgoKIwojfiBtc2dpZCAiTWVtb3J5IGV4aGF1c3RlZCIKI34gbXNnc3RyICJIIOzt3uznIOXu4e30697o5+rlIgoKIwojfiBtc2dpZCAiJXM6IHdhcm5pbmc6IG5vIGhlYWRlciBlbnRyeSBmb3VuZCIKI34gbXNnc3RyICIlczog8PHv5enk7/Dv3+fz5zog5OUg4vHd6Ofq5SDh8ffeIOrl9uHr3+Th8iIKCiMKI34gbXNnaWQgInRoaXMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBmaXJzdCBkZWZpbml0aW9uIgojfiBtc2dzdHIgIuH19N4g5d/t4ekg5yDo3fPnIPTv9SDw8f707/Ug7/Hp8+zv/SIKCiMKI34gbXNnaWQgImZvdW5kICVkIGVycm9ycyIKI34gbXNnc3RyICLi8d3o5+rh7SAlZCDz9tzr7OH04SIKCiMKI34gbXNnaWQgImNhbm5vdCBjaGFuZ2UgdG8gZGlyZWN0b3J5IFwiJXNcIiIKI34gbXNnc3RyICLh5PXt4ezf4SDh6+vh497yIPP07yDq4fTc6+/j7yBcIiVzXCIiCg==