f0VMRgEBAQAAAAAAAAAAAAEACAABAAAAAAAAAAAAAAA0vAAABxAAUDQAAAAAACgABQACAHYxOwpwYWNrYWdlIGVsZjsKcGtncGF0aCBkZWJ1Zy9lbGY7CnByaW9yaXR5IDg7CmltcG9ydCBieXRlcyBieXRlcyAiYnl0ZXMiOwppbXBvcnQgZHdhcmYgZGVidWcvZHdhcmYgImRlYnVnL2R3YXJmIjsKaW1wb3J0IGJpbmFyeSBlbmNvZGluZy9iaW5hcnkgImVuY29kaW5nL2JpbmFyeSI7CmltcG9ydCBlcnJvcnMgZXJyb3JzICJlcnJvcnMiOwppbXBvcnQgZm10IGZtdCAiZm10IjsKaW1wb3J0IGlvIGlvICJpbyI7CmltcG9ydCBvcyBvcyAib3MiOwppbXBvcnQgc3RyY29udiBzdHJjb252ICJzdHJjb252IjsKaW5pdCBlbGYgZGVidWdfZWxmLi5pbXBvcnQgOCBtYXRoIG1hdGguLmltcG9ydCAxIHJ1bnRpbWUgcnVudGltZS4uaW1wb3J0IDEgdW5pY29kZSB1bmljb2RlLi5pbXBvcnQgMSBzdHJjb252IHN0cmNvbnYuLmltcG9ydCAyIHN5bmMgc3luYy4uaW1wb3J0IDIgaW8gaW8uLmltcG9ydCAzIHJlZmxlY3QgcmVmbGVjdC4uaW1wb3J0IDMgc3lzY2FsbCBzeXNjYWxsLi5pbXBvcnQgMyBiaW5hcnkgZW5jb2RpbmdfYmluYXJ5Li5pbXBvcnQgNCBieXRlcyBieXRlcy4uaW1wb3J0IDQgdGltZSB0aW1lLi5pbXBvcnQgNCBvcyBvcy4uaW1wb3J0IDUgZmlsZXBhdGggcGF0aF9maWxlcGF0aC4uaW1wb3J0IDYgZm10IGZtdC4uaW1wb3J0IDYgZHdhcmYgZGVidWdfZHdhcmYuLmltcG9ydCA3Owpjb25zdCBBUk1fTUFHSUNfVFJBTVBfTlVNQkVSID0gMTU0MzUwMzg3NSA7CnR5cGUgPHR5cGUgMSAiQ2xhc3MiIDx0eXBlIC0yMD4KIGZ1bmMgKGkgPHR5cGUgMT4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAoaSA8dHlwZSAxPikgR29TdHJpbmcgKCkgPHR5cGUgLTE2PjsKPjsKY29uc3QgREZfQklORF9OT1cgPHR5cGUgMiAiRHluRmxhZyIgPHR5cGUgLTExPgogZnVuYyAoaSA8dHlwZSAyPikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChpIDx0eXBlIDI+KSBHb1N0cmluZyAoKSA8dHlwZSAtMTY+Owo+ID0gOCA7CmNvbnN0IERGX09SSUdJTiA8dHlwZSAyPiA9IDEgOwpjb25zdCBERl9TVEFUSUNfVExTIDx0eXBlIDI+ID0gMTYgOwpjb25zdCBERl9TWU1CT0xJQyA8dHlwZSAyPiA9IDIgOwpjb25zdCBERl9URVhUUkVMIDx0eXBlIDI+ID0gNCA7CmNvbnN0IERUX0JJTkRfTk9XIDx0eXBlIDMgIkR5blRhZyIgPHR5cGUgLTExPgogZnVuYyAoaSA8dHlwZSAzPikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChpIDx0eXBlIDM+KSBHb1N0cmluZyAoKSA8dHlwZSAtMTY+Owo+ID0gMjQgOwpjb25zdCBEVF9ERUJVRyA8dHlwZSAzPiA9IDIxIDsKY29uc3QgRFRfRU5DT0RJTkcgPHR5cGUgMz4gPSAzMiA7CmNvbnN0IERUX0ZJTkkgPHR5cGUgMz4gPSAxMyA7CmNvbnN0IERUX0ZJTklfQVJSQVkgPHR5cGUgMz4gPSAyNiA7CmNvbnN0IERUX0ZJTklfQVJSQVlTWiA8dHlwZSAzPiA9IDI4IDsKY29uc3QgRFRfRkxBR1MgPHR5cGUgMz4gPSAzMCA7CmNvbnN0IERUX0hBU0ggPHR5cGUgMz4gPSA0IDsKY29uc3QgRFRfSElPUyA8dHlwZSAzPiA9IDE4NzkwNDQwOTYgOwpjb25zdCBEVF9ISVBST0MgPHR5cGUgMz4gPSAyMTQ3NDgzNjQ3IDsKY29uc3QgRFRfSU5JVCA8dHlwZSAzPiA9IDEyIDsKY29uc3QgRFRfSU5JVF9BUlJBWSA8dHlwZSAzPiA9IDI1IDsKY29uc3QgRFRfSU5JVF9BUlJBWVNaIDx0eXBlIDM+ID0gMjcgOwpjb25zdCBEVF9KTVBSRUwgPHR5cGUgMz4gPSAyMyA7CmNvbnN0IERUX0xPT1MgPHR5cGUgMz4gPSAxNjEwNjEyNzQ5IDsKY29uc3QgRFRfTE9QUk9DIDx0eXBlIDM+ID0gMTg3OTA0ODE5MiA7CmNvbnN0IERUX05FRURFRCA8dHlwZSAzPiA9IDEgOwpjb25zdCBEVF9OVUxMIDx0eXBlIDM+ID0gMCA7CmNvbnN0IERUX1BMVEdPVCA8dHlwZSAzPiA9IDMgOwpjb25zdCBEVF9QTFRSRUwgPHR5cGUgMz4gPSAyMCA7CmNvbnN0IERUX1BMVFJFTFNaIDx0eXBlIDM+ID0gMiA7CmNvbnN0IERUX1BSRUlOSVRfQVJSQVkgPHR5cGUgMz4gPSAzMiA7CmNvbnN0IERUX1BSRUlOSVRfQVJSQVlTWiA8dHlwZSAzPiA9IDMzIDsKY29uc3QgRFRfUkVMIDx0eXBlIDM+ID0gMTcgOwpjb25zdCBEVF9SRUxBIDx0eXBlIDM+ID0gNyA7CmNvbnN0IERUX1JFTEFFTlQgPHR5cGUgMz4gPSA5IDsKY29uc3QgRFRfUkVMQVNaIDx0eXBlIDM+ID0gOCA7CmNvbnN0IERUX1JFTEVOVCA8dHlwZSAzPiA9IDE5IDsKY29uc3QgRFRfUkVMU1ogPHR5cGUgMz4gPSAxOCA7CmNvbnN0IERUX1JQQVRIIDx0eXBlIDM+ID0gMTUgOwpjb25zdCBEVF9SVU5QQVRIIDx0eXBlIDM+ID0gMjkgOwpjb25zdCBEVF9TT05BTUUgPHR5cGUgMz4gPSAxNCA7CmNvbnN0IERUX1NUUlNaIDx0eXBlIDM+ID0gMTAgOwpjb25zdCBEVF9TVFJUQUIgPHR5cGUgMz4gPSA1IDsKY29uc3QgRFRfU1lNQk9MSUMgPHR5cGUgMz4gPSAxNiA7CmNvbnN0IERUX1NZTUVOVCA8dHlwZSAzPiA9IDExIDsKY29uc3QgRFRfU1lNVEFCIDx0eXBlIDM+ID0gNiA7CmNvbnN0IERUX1RFWFRSRUwgPHR5cGUgMz4gPSAyMiA7CmNvbnN0IERUX1ZFUk5FRUQgPHR5cGUgMz4gPSAxODc5MDQ4MTkwIDsKY29uc3QgRFRfVkVSTkVFRE5VTSA8dHlwZSAzPiA9IDE4NzkwNDgxOTEgOwpjb25zdCBEVF9WRVJTWU0gPHR5cGUgMz4gPSAxODc5MDQ4MTc2IDsKdHlwZSA8dHlwZSA0ICJEYXRhIiA8dHlwZSAtMjA+CiBmdW5jIChpIDx0eXBlIDQ+KSBTdHJpbmcgKCkgPHR5cGUgLTE2PjsKIGZ1bmMgKGkgPHR5cGUgND4pIEdvU3RyaW5nICgpIDx0eXBlIC0xNj47Cj47CnR5cGUgPHR5cGUgNSAiRHluMzIiIDx0eXBlIDYgc3RydWN0IHsgVGFnIDx0eXBlIC0zPjsgVmFsIDx0eXBlIC03PjsgfT4+Owp0eXBlIDx0eXBlIDcgIkR5bjY0IiA8dHlwZSA4IHN0cnVjdCB7IFRhZyA8dHlwZSAtND47IFZhbCA8dHlwZSAtOD47IH0+PjsKdHlwZSA8dHlwZSAyPjsKdHlwZSA8dHlwZSAzPjsKY29uc3QgRUlfQUJJVkVSU0lPTiA9IDggOwpjb25zdCBFSV9DTEFTUyA9IDQgOwpjb25zdCBFSV9EQVRBID0gNSA7CmNvbnN0IEVJX05JREVOVCA9IDE2IDsKY29uc3QgRUlfT1NBQkkgPSA3IDsKY29uc3QgRUlfUEFEID0gOSA7CmNvbnN0IEVJX1ZFUlNJT04gPSA2IDsKY29uc3QgRUxGQ0xBU1MzMiA8dHlwZSAxPiA9IDEgOwpjb25zdCBFTEZDTEFTUzY0IDx0eXBlIDE+ID0gMiA7CmNvbnN0IEVMRkNMQVNTTk9ORSA8dHlwZSAxPiA9IDAgOwpjb25zdCBFTEZEQVRBMkxTQiA8dHlwZSA0PiA9IDEgOwpjb25zdCBFTEZEQVRBMk1TQiA8dHlwZSA0PiA9IDIgOwpjb25zdCBFTEZEQVRBTk9ORSA8dHlwZSA0PiA9IDAgOwpjb25zdCBFTEZNQUcgPSAiXHg3RkVMRiI7CmNvbnN0IEVMRk9TQUJJXzg2T1BFTiA8dHlwZSA5ICJPU0FCSSIgPHR5cGUgLTIwPgogZnVuYyAoaSA8dHlwZSA5PikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChpIDx0eXBlIDk+KSBHb1N0cmluZyAoKSA8dHlwZSAtMTY+Owo+ID0gNSA7CmNvbnN0IEVMRk9TQUJJX0FJWCA8dHlwZSA5PiA9IDcgOwpjb25zdCBFTEZPU0FCSV9BUk0gPHR5cGUgOT4gPSA5NyA7CmNvbnN0IEVMRk9TQUJJX0ZSRUVCU0QgPHR5cGUgOT4gPSA5IDsKY29uc3QgRUxGT1NBQklfSFBVWCA8dHlwZSA5PiA9IDEgOwpjb25zdCBFTEZPU0FCSV9IVVJEIDx0eXBlIDk+ID0gNCA7CmNvbnN0IEVMRk9TQUJJX0lSSVggPHR5cGUgOT4gPSA4IDsKY29uc3QgRUxGT1NBQklfTElOVVggPHR5cGUgOT4gPSAzIDsKY29uc3QgRUxGT1NBQklfTU9ERVNUTyA8dHlwZSA5PiA9IDExIDsKY29uc3QgRUxGT1NBQklfTkVUQlNEIDx0eXBlIDk+ID0gMiA7CmNvbnN0IEVMRk9TQUJJX05PTkUgPHR5cGUgOT4gPSAwIDsKY29uc3QgRUxGT1NBQklfTlNLIDx0eXBlIDk+ID0gMTQgOwpjb25zdCBFTEZPU0FCSV9PUEVOQlNEIDx0eXBlIDk+ID0gMTIgOwpjb25zdCBFTEZPU0FCSV9PUEVOVk1TIDx0eXBlIDk+ID0gMTMgOwpjb25zdCBFTEZPU0FCSV9TT0xBUklTIDx0eXBlIDk+ID0gNiA7CmNvbnN0IEVMRk9TQUJJX1NUQU5EQUxPTkUgPHR5cGUgOT4gPSAyNTUgOwpjb25zdCBFTEZPU0FCSV9UUlU2NCA8dHlwZSA5PiA9IDEwIDsKY29uc3QgRU1fMzg2IDx0eXBlIDEwICJNYWNoaW5lIiA8dHlwZSAtNj4KIGZ1bmMgKGkgPHR5cGUgMTA+KSBTdHJpbmcgKCkgPHR5cGUgLTE2PjsKIGZ1bmMgKGkgPHR5cGUgMTA+KSBHb1N0cmluZyAoKSA8dHlwZSAtMTY+Owo+ID0gMyA7CmNvbnN0IEVNXzQ4NiA8dHlwZSAxMD4gPSA2IDsKY29uc3QgRU1fNjhIQzEyIDx0eXBlIDEwPiA9IDUzIDsKY29uc3QgRU1fNjhLIDx0eXBlIDEwPiA9IDQgOwpjb25zdCBFTV84NjAgPHR5cGUgMTA+ID0gNyA7CmNvbnN0IEVNXzg4SyA8dHlwZSAxMD4gPSA1IDsKY29uc3QgRU1fOTYwIDx0eXBlIDEwPiA9IDE5IDsKY29uc3QgRU1fQUFSQ0g2NCA8dHlwZSAxMD4gPSAxODMgOwpjb25zdCBFTV9BTFBIQSA8dHlwZSAxMD4gPSAzNjkwMiA7CmNvbnN0IEVNX0FMUEhBX1NURCA8dHlwZSAxMD4gPSA0MSA7CmNvbnN0IEVNX0FSQyA8dHlwZSAxMD4gPSA0NSA7CmNvbnN0IEVNX0FSTSA8dHlwZSAxMD4gPSA0MCA7CmNvbnN0IEVNX0NPTERGSVJFIDx0eXBlIDEwPiA9IDUyIDsKY29uc3QgRU1fRlIyMCA8dHlwZSAxMD4gPSAzNyA7CmNvbnN0IEVNX0g4UyA8dHlwZSAxMD4gPSA0OCA7CmNvbnN0IEVNX0g4XzMwMCA8dHlwZSAxMD4gPSA0NiA7CmNvbnN0IEVNX0g4XzMwMEggPHR5cGUgMTA+ID0gNDcgOwpjb25zdCBFTV9IOF81MDAgPHR5cGUgMTA+ID0gNDkgOwpjb25zdCBFTV9JQV82NCA8dHlwZSAxMD4gPSA1MCA7CmNvbnN0IEVNX00zMiA8dHlwZSAxMD4gPSAxIDsKY29uc3QgRU1fTUUxNiA8dHlwZSAxMD4gPSA1OSA7CmNvbnN0IEVNX01JUFMgPHR5cGUgMTA+ID0gOCA7CmNvbnN0IEVNX01JUFNfUlMzX0xFIDx0eXBlIDEwPiA9IDEwIDsKY29uc3QgRU1fTUlQU19SUzRfQkUgPHR5cGUgMTA+ID0gMTAgOwpjb25zdCBFTV9NSVBTX1ggPHR5cGUgMTA+ID0gNTEgOwpjb25zdCBFTV9NTUEgPHR5cGUgMTA+ID0gNTQgOwpjb25zdCBFTV9OQ1BVIDx0eXBlIDEwPiA9IDU2IDsKY29uc3QgRU1fTkRSMSA8dHlwZSAxMD4gPSA1NyA7CmNvbnN0IEVNX05PTkUgPHR5cGUgMTA+ID0gMCA7CmNvbnN0IEVNX1BBUklTQyA8dHlwZSAxMD4gPSAxNSA7CmNvbnN0IEVNX1BDUCA8dHlwZSAxMD4gPSA1NSA7CmNvbnN0IEVNX1BQQyA8dHlwZSAxMD4gPSAyMCA7CmNvbnN0IEVNX1BQQzY0IDx0eXBlIDEwPiA9IDIxIDsKY29uc3QgRU1fUkNFIDx0eXBlIDEwPiA9IDM5IDsKY29uc3QgRU1fUkgzMiA8dHlwZSAxMD4gPSAzOCA7CmNvbnN0IEVNX1MzNzAgPHR5cGUgMTA+ID0gOSA7CmNvbnN0IEVNX1MzOTAgPHR5cGUgMTA+ID0gMjIgOwpjb25zdCBFTV9TSCA8dHlwZSAxMD4gPSA0MiA7CmNvbnN0IEVNX1NQQVJDIDx0eXBlIDEwPiA9IDIgOwpjb25zdCBFTV9TUEFSQzMyUExVUyA8dHlwZSAxMD4gPSAxOCA7CmNvbnN0IEVNX1NQQVJDVjkgPHR5cGUgMTA+ID0gNDMgOwpjb25zdCBFTV9TVDEwMCA8dHlwZSAxMD4gPSA2MCA7CmNvbnN0IEVNX1NUQVJDT1JFIDx0eXBlIDEwPiA9IDU4IDsKY29uc3QgRU1fVElOWUogPHR5cGUgMTA+ID0gNjEgOwpjb25zdCBFTV9UUklDT1JFIDx0eXBlIDEwPiA9IDQ0IDsKY29uc3QgRU1fVjgwMCA8dHlwZSAxMD4gPSAzNiA7CmNvbnN0IEVNX1ZQUDUwMCA8dHlwZSAxMD4gPSAxNyA7CmNvbnN0IEVNX1g4Nl82NCA8dHlwZSAxMD4gPSA2MiA7CmNvbnN0IEVUX0NPUkUgPHR5cGUgMTEgIlR5cGUiIDx0eXBlIC02PgogZnVuYyAoaSA8dHlwZSAxMT4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAoaSA8dHlwZSAxMT4pIEdvU3RyaW5nICgpIDx0eXBlIC0xNj47Cj4gPSA0IDsKY29uc3QgRVRfRFlOIDx0eXBlIDExPiA9IDMgOwpjb25zdCBFVF9FWEVDIDx0eXBlIDExPiA9IDIgOwpjb25zdCBFVF9ISU9TIDx0eXBlIDExPiA9IDY1Mjc5IDsKY29uc3QgRVRfSElQUk9DIDx0eXBlIDExPiA9IDY1NTM1IDsKY29uc3QgRVRfTE9PUyA8dHlwZSAxMT4gPSA2NTAyNCA7CmNvbnN0IEVUX0xPUFJPQyA8dHlwZSAxMT4gPSA2NTI4MCA7CmNvbnN0IEVUX05PTkUgPHR5cGUgMTE+ID0gMCA7CmNvbnN0IEVUX1JFTCA8dHlwZSAxMT4gPSAxIDsKY29uc3QgRVZfQ1VSUkVOVCA8dHlwZSAxMiAiVmVyc2lvbiIgPHR5cGUgLTIwPgogZnVuYyAoaSA8dHlwZSAxMj4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAoaSA8dHlwZSAxMj4pIEdvU3RyaW5nICgpIDx0eXBlIC0xNj47Cj4gPSAxIDsKY29uc3QgRVZfTk9ORSA8dHlwZSAxMj4gPSAwIDsKdmFyIEVyck5vU3ltYm9scyA8dHlwZSAtMTk+Owp0eXBlIDx0eXBlIDEzICJGaWxlIiA8dHlwZSAxNCBzdHJ1Y3QgeyA/IDx0eXBlIDE1ICJGaWxlSGVhZGVyIiA8dHlwZSAxNiBzdHJ1Y3QgeyBDbGFzcyA8dHlwZSAxPjsgRGF0YSA8dHlwZSA0PjsgVmVyc2lvbiA8dHlwZSAxMj47IE9TQUJJIDx0eXBlIDk+OyBBQklWZXJzaW9uIDx0eXBlIC01PjsgQnl0ZU9yZGVyIDx0eXBlIDE3ICJlbmNvZGluZy9iaW5hcnkuQnl0ZU9yZGVyIiA8dHlwZSAxOCBpbnRlcmZhY2UgeyBVaW50MTYgKD8gPHR5cGUgMTkgW10gPHR5cGUgLTIwPj4pIDx0eXBlIC02PjsgVWludDMyICg/IDx0eXBlIDIwIFtdIDx0eXBlIC0yMD4+KSA8dHlwZSAtNz47IFVpbnQ2NCAoPyA8dHlwZSAyMSBbXSA8dHlwZSAtMjA+PikgPHR5cGUgLTg+OyBQdXRVaW50MTYgKD8gPHR5cGUgMjIgW10gPHR5cGUgLTIwPj4sID8gPHR5cGUgLTY+KTsgUHV0VWludDMyICg/IDx0eXBlIDIzIFtdIDx0eXBlIC0yMD4+LCA/IDx0eXBlIC03Pik7IFB1dFVpbnQ2NCAoPyA8dHlwZSAyNCBbXSA8dHlwZSAtMjA+PiwgPyA8dHlwZSAtOD4pOyBTdHJpbmcgKCkgPHR5cGUgLTE2PjsgfT4+OyBUeXBlIDx0eXBlIDExPjsgTWFjaGluZSA8dHlwZSAxMD47IEVudHJ5IDx0eXBlIC04PjsgfT4+OyBTZWN0aW9ucyA8dHlwZSAyNSBbXSA8dHlwZSAyNiAqPHR5cGUgMjcgIlNlY3Rpb24iIDx0eXBlIDI4IHN0cnVjdCB7ID8gPHR5cGUgMjkgIlNlY3Rpb25IZWFkZXIiIDx0eXBlIDMwIHN0cnVjdCB7IE5hbWUgPHR5cGUgLTE2PjsgVHlwZSA8dHlwZSAzMSAiU2VjdGlvblR5cGUiIDx0eXBlIC03PgogZnVuYyAoaSA8dHlwZSAzMT4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAoaSA8dHlwZSAzMT4pIEdvU3RyaW5nICgpIDx0eXBlIC0xNj47Cj47IEZsYWdzIDx0eXBlIDMyICJTZWN0aW9uRmxhZyIgPHR5cGUgLTc+CiBmdW5jIChpIDx0eXBlIDMyPikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChpIDx0eXBlIDMyPikgR29TdHJpbmcgKCkgPHR5cGUgLTE2PjsKPjsgQWRkciA8dHlwZSAtOD47IE9mZnNldCA8dHlwZSAtOD47IFNpemUgPHR5cGUgLTg+OyBMaW5rIDx0eXBlIC03PjsgSW5mbyA8dHlwZSAtNz47IEFkZHJhbGlnbiA8dHlwZSAtOD47IEVudHNpemUgPHR5cGUgLTg+OyB9Pj47ID8gPHR5cGUgMzMgImlvLlJlYWRlckF0IiA8dHlwZSAzNCBpbnRlcmZhY2UgeyBSZWFkQXQgKHAgPHR5cGUgMzUgW10gPHR5cGUgLTIwPj4sIG9mZiA8dHlwZSAtND4pIChuIDx0eXBlIC0xMT4sIGVyciA8dHlwZSAtMTk+KTsgfT4+OyAuZGVidWcvZWxmLnNyIDx0eXBlIDM2ICo8dHlwZSAzNyAiaW8uU2VjdGlvblJlYWRlciIgPHR5cGUgMzggc3RydWN0IHsgLmlvLnIgPHR5cGUgMzM+OyAuaW8uYmFzZSA8dHlwZSAtND47IC5pby5vZmYgPHR5cGUgLTQ+OyAuaW8ubGltaXQgPHR5cGUgLTQ+OyB9PgogZnVuYyAocyA8dHlwZSAzOSAqPHR5cGUgMzc+PikgU2VlayAob2Zmc2V0IDx0eXBlIC00Piwgd2hlbmNlIDx0eXBlIC0xMT4pICg/IDx0eXBlIC00PiwgPyA8dHlwZSAtMTk+KTsKIGZ1bmMgKHMgPHR5cGUgMzk+KSBSZWFkQXQgKHAgPHR5cGUgNDAgW10gPHR5cGUgLTIwPj4sIG9mZiA8dHlwZSAtND4pIChuIDx0eXBlIC0xMT4sIGVyciA8dHlwZSAtMTk+KTsKIGZ1bmMgKHMgPHR5cGUgMzk+KSBSZWFkIChwIDx0eXBlIDQxIFtdIDx0eXBlIC0yMD4+KSAobiA8dHlwZSAtMTE+LCBlcnIgPHR5cGUgLTE5Pik7CiBmdW5jIChzIDx0eXBlIDM5PikgU2l6ZSAoKSA8dHlwZSAtND47Cj4+OyB9PgogZnVuYyAocyA8dHlwZSA0MiAqPHR5cGUgMjc+PikgRGF0YSAoKSAoPyA8dHlwZSA0MyBbXSA8dHlwZSAtMjA+PiwgPyA8dHlwZSAtMTk+KTsKIGZ1bmMgKHMgPHR5cGUgNDI+KSBPcGVuICgpIDx0eXBlIDQ0ICJpby5SZWFkU2Vla2VyIiA8dHlwZSA0NSBpbnRlcmZhY2UgeyA/IDx0eXBlIDQ2ICJpby5SZWFkZXIiIDx0eXBlIDQ3IGludGVyZmFjZSB7IFJlYWQgKHAgPHR5cGUgNDggW10gPHR5cGUgLTIwPj4pIChuIDx0eXBlIC0xMT4sIGVyciA8dHlwZSAtMTk+KTsgfT4+OyA/IDx0eXBlIDQ5ICJpby5TZWVrZXIiIDx0eXBlIDUwIGludGVyZmFjZSB7IFNlZWsgKG9mZnNldCA8dHlwZSAtND4sIHdoZW5jZSA8dHlwZSAtMTE+KSAoPyA8dHlwZSAtND4sID8gPHR5cGUgLTE5Pik7IH0+PjsgfT4+Owo+Pj47IFByb2dzIDx0eXBlIDUxIFtdIDx0eXBlIDUyICo8dHlwZSA1MyAiUHJvZyIgPHR5cGUgNTQgc3RydWN0IHsgPyA8dHlwZSA1NSAiUHJvZ0hlYWRlciIgPHR5cGUgNTYgc3RydWN0IHsgVHlwZSA8dHlwZSA1NyAiUHJvZ1R5cGUiIDx0eXBlIC0xMT4KIGZ1bmMgKGkgPHR5cGUgNTc+KSBTdHJpbmcgKCkgPHR5cGUgLTE2PjsKIGZ1bmMgKGkgPHR5cGUgNTc+KSBHb1N0cmluZyAoKSA8dHlwZSAtMTY+Owo+OyBGbGFncyA8dHlwZSA1OCAiUHJvZ0ZsYWciIDx0eXBlIC03PgogZnVuYyAoaSA8dHlwZSA1OD4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAoaSA8dHlwZSA1OD4pIEdvU3RyaW5nICgpIDx0eXBlIC0xNj47Cj47IE9mZiA8dHlwZSAtOD47IFZhZGRyIDx0eXBlIC04PjsgUGFkZHIgPHR5cGUgLTg+OyBGaWxlc3ogPHR5cGUgLTg+OyBNZW1zeiA8dHlwZSAtOD47IEFsaWduIDx0eXBlIC04PjsgfT4+OyA/IDx0eXBlIDMzPjsgLmRlYnVnL2VsZi5zciA8dHlwZSAzNj47IH0+CiBmdW5jIChwIDx0eXBlIDU5ICo8dHlwZSA1Mz4+KSBPcGVuICgpIDx0eXBlIDQ0PjsKPj4+OyAuZGVidWcvZWxmLmNsb3NlciA8dHlwZSA2MCAiaW8uQ2xvc2VyIiA8dHlwZSA2MSBpbnRlcmZhY2UgeyBDbG9zZSAoKSA8dHlwZSAtMTk+OyB9Pj47IC5kZWJ1Zy9lbGYuZ251TmVlZCA8dHlwZSA2MiBbXSA8dHlwZSA2MyAiLmRlYnVnL2VsZi52ZXJuZWVkIiA8dHlwZSA2NCBzdHJ1Y3QgeyBGaWxlIDx0eXBlIC0xNj47IE5hbWUgPHR5cGUgLTE2PjsgfT4+PjsgLmRlYnVnL2VsZi5nbnVWZXJzeW0gPHR5cGUgNjUgW10gPHR5cGUgLTIwPj47IH0+CiBmdW5jIChmIDx0eXBlIDY2ICo8dHlwZSAxMz4+KSAuZGVidWcvZWxmLnN0cmluZ1RhYmxlIChsaW5rIDx0eXBlIC03PikgKD8gPHR5cGUgNjcgW10gPHR5cGUgLTIwPj4sID8gPHR5cGUgLTE5Pik7CiBmdW5jIChmIDx0eXBlIDY2PikgQ2xvc2UgKCkgPHR5cGUgLTE5PjsKIGZ1bmMgKGYgPHR5cGUgNjY+KSBTZWN0aW9uQnlUeXBlICh0eXAgPHR5cGUgMzE+KSA8dHlwZSA0Mj47CiBmdW5jIChmIDx0eXBlIDY2PikgLmRlYnVnL2VsZi5nZXRTeW1ib2xzICh0eXAgPHR5cGUgMzE+KSAoPyA8dHlwZSA2OCBbXSA8dHlwZSA2OSAiU3ltYm9sIiA8dHlwZSA3MCBzdHJ1Y3QgeyBOYW1lIDx0eXBlIC0xNj47IEluZm8gPHR5cGUgLTIwPjsgT3RoZXIgPHR5cGUgLTIwPjsgU2VjdGlvbiA8dHlwZSA3MSAiU2VjdGlvbkluZGV4IiA8dHlwZSAtMTE+CiBmdW5jIChpIDx0eXBlIDcxPikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChpIDx0eXBlIDcxPikgR29TdHJpbmcgKCkgPHR5cGUgLTE2PjsKPjsgVmFsdWUgPHR5cGUgLTg+OyBTaXplIDx0eXBlIC04PjsgfT4+PiwgPyA8dHlwZSA3MiBbXSA8dHlwZSAtMjA+PiwgPyA8dHlwZSAtMTk+KTsKIGZ1bmMgKGYgPHR5cGUgNjY+KSAuZGVidWcvZWxmLmdldFN5bWJvbHMzMiAodHlwIDx0eXBlIDMxPikgKD8gPHR5cGUgNzMgW10gPHR5cGUgNjk+PiwgPyA8dHlwZSA3NCBbXSA8dHlwZSAtMjA+PiwgPyA8dHlwZSAtMTk+KTsKIGZ1bmMgKGYgPHR5cGUgNjY+KSAuZGVidWcvZWxmLmdldFN5bWJvbHM2NCAodHlwIDx0eXBlIDMxPikgKD8gPHR5cGUgNzUgW10gPHR5cGUgNjk+PiwgPyA8dHlwZSA3NiBbXSA8dHlwZSAtMjA+PiwgPyA8dHlwZSAtMTk+KTsKIGZ1bmMgKGYgPHR5cGUgNjY+KSBTZWN0aW9uIChuYW1lIDx0eXBlIC0xNj4pIDx0eXBlIDQyPjsKIGZ1bmMgKGYgPHR5cGUgNjY+KSAuZGVidWcvZWxmLmFwcGx5UmVsb2NhdGlvbnMgKGRzdCA8dHlwZSA3NyBbXSA8dHlwZSAtMjA+PiwgcmVscyA8dHlwZSA3OCBbXSA8dHlwZSAtMjA+PikgPHR5cGUgLTE5PjsKIGZ1bmMgKGYgPHR5cGUgNjY+KSAuZGVidWcvZWxmLmFwcGx5UmVsb2NhdGlvbnNBTUQ2NCAoZHN0IDx0eXBlIDc5IFtdIDx0eXBlIC0yMD4+LCByZWxzIDx0eXBlIDgwIFtdIDx0eXBlIC0yMD4+KSA8dHlwZSAtMTk+OwogZnVuYyAoZiA8dHlwZSA2Nj4pIC5kZWJ1Zy9lbGYuYXBwbHlSZWxvY2F0aW9uczM4NiAoZHN0IDx0eXBlIDgxIFtdIDx0eXBlIC0yMD4+LCByZWxzIDx0eXBlIDgyIFtdIDx0eXBlIC0yMD4+KSA8dHlwZSAtMTk+OwogZnVuYyAoZiA8dHlwZSA2Nj4pIC5kZWJ1Zy9lbGYuYXBwbHlSZWxvY2F0aW9uc0FSTTY0IChkc3QgPHR5cGUgODMgW10gPHR5cGUgLTIwPj4sIHJlbHMgPHR5cGUgODQgW10gPHR5cGUgLTIwPj4pIDx0eXBlIC0xOT47CiBmdW5jIChmIDx0eXBlIDY2PikgLmRlYnVnL2VsZi5hcHBseVJlbG9jYXRpb25zUFBDIChkc3QgPHR5cGUgODUgW10gPHR5cGUgLTIwPj4sIHJlbHMgPHR5cGUgODYgW10gPHR5cGUgLTIwPj4pIDx0eXBlIC0xOT47CiBmdW5jIChmIDx0eXBlIDY2PikgLmRlYnVnL2VsZi5hcHBseVJlbG9jYXRpb25zUFBDNjQgKGRzdCA8dHlwZSA4NyBbXSA8dHlwZSAtMjA+PiwgcmVscyA8dHlwZSA4OCBbXSA8dHlwZSAtMjA+PikgPHR5cGUgLTE5PjsKIGZ1bmMgKGYgPHR5cGUgNjY+KSAuZGVidWcvZWxmLmFwcGx5UmVsb2NhdGlvbnNTMzkweCAoZHN0IDx0eXBlIDg5IFtdIDx0eXBlIC0yMD4+LCByZWxzIDx0eXBlIDkwIFtdIDx0eXBlIC0yMD4+KSA8dHlwZSAtMTk+OwogZnVuYyAoZiA8dHlwZSA2Nj4pIERXQVJGICgpICg/IDx0eXBlIDkxICo8dHlwZSA5MiAiZGVidWcvZHdhcmYuRGF0YSIgPHR5cGUgOTMgc3RydWN0IHsgLmRlYnVnL2R3YXJmLmFiYnJldiA8dHlwZSA5NCBbXSA8dHlwZSAtMjA+PjsgLmRlYnVnL2R3YXJmLmFyYW5nZXMgPHR5cGUgOTUgW10gPHR5cGUgLTIwPj47IC5kZWJ1Zy9kd2FyZi5mcmFtZSA8dHlwZSA5NiBbXSA8dHlwZSAtMjA+PjsgLmRlYnVnL2R3YXJmLmluZm8gPHR5cGUgOTcgW10gPHR5cGUgLTIwPj47IC5kZWJ1Zy9kd2FyZi5saW5lIDx0eXBlIDk4IFtdIDx0eXBlIC0yMD4+OyAuZGVidWcvZHdhcmYucHVibmFtZXMgPHR5cGUgOTkgW10gPHR5cGUgLTIwPj47IC5kZWJ1Zy9kd2FyZi5yYW5nZXMgPHR5cGUgMTAwIFtdIDx0eXBlIC0yMD4+OyAuZGVidWcvZHdhcmYuc3RyIDx0eXBlIDEwMSBbXSA8dHlwZSAtMjA+PjsgLmRlYnVnL2R3YXJmLmFiYnJldkNhY2hlIDx0eXBlIDEwMiBtYXAgWzx0eXBlIC03Pl0gPHR5cGUgMTAzICIuZGVidWcvZHdhcmYuYWJicmV2VGFibGUiIDx0eXBlIDEwNCBtYXAgWzx0eXBlIC03Pl0gPHR5cGUgMTA1ICIuZGVidWcvZHdhcmYuYWJicmV2IiA8dHlwZSAxMDYgc3RydWN0IHsgLmRlYnVnL2R3YXJmLnRhZyA8dHlwZSAxMDcgImRlYnVnL2R3YXJmLlRhZyIgPHR5cGUgLTc+CiBmdW5jICh0IDx0eXBlIDEwNz4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAodCA8dHlwZSAxMDc+KSBHb1N0cmluZyAoKSA8dHlwZSAtMTY+Owo+OyAuZGVidWcvZHdhcmYuY2hpbGRyZW4gPHR5cGUgLTE1PjsgLmRlYnVnL2R3YXJmLmZpZWxkIDx0eXBlIDEwOCBbXSA8dHlwZSAxMDkgIi5kZWJ1Zy9kd2FyZi5hZmllbGQiIDx0eXBlIDExMCBzdHJ1Y3QgeyAuZGVidWcvZHdhcmYuYXR0ciA8dHlwZSAxMTEgImRlYnVnL2R3YXJmLkF0dHIiIDx0eXBlIC03PgogZnVuYyAoYSA8dHlwZSAxMTE+KSBTdHJpbmcgKCkgPHR5cGUgLTE2PjsKIGZ1bmMgKGEgPHR5cGUgMTExPikgR29TdHJpbmcgKCkgPHR5cGUgLTE2PjsKPjsgLmRlYnVnL2R3YXJmLmZtdCA8dHlwZSAxMTIgIi5kZWJ1Zy9kd2FyZi5mb3JtYXQiIDx0eXBlIC03Pj47IH0+Pj47IH0+Pj4+PjsgLmRlYnVnL2R3YXJmLm9yZGVyIDx0eXBlIDE3PjsgLmRlYnVnL2R3YXJmLnR5cGVDYWNoZSA8dHlwZSAxMTMgbWFwIFs8dHlwZSAxMTQgImRlYnVnL2R3YXJmLk9mZnNldCIgPHR5cGUgLTc+Pl0gPHR5cGUgMTE1ICJkZWJ1Zy9kd2FyZi5UeXBlIiA8dHlwZSAxMTYgaW50ZXJmYWNlIHsgQ29tbW9uICgpIDx0eXBlIDExNyAqPHR5cGUgMTE4ICJkZWJ1Zy9kd2FyZi5Db21tb25UeXBlIiA8dHlwZSAxMTkgc3RydWN0IHsgQnl0ZVNpemUgPHR5cGUgLTQ+OyBOYW1lIDx0eXBlIC0xNj47IH0+CiBmdW5jIChjIDx0eXBlIDEyMCAqPHR5cGUgMTE4Pj4pIENvbW1vbiAoKSA8dHlwZSAxMjA+OwogZnVuYyAoYyA8dHlwZSAxMjA+KSBTaXplICgpIDx0eXBlIC00PjsKPj47IFN0cmluZyAoKSA8dHlwZSAtMTY+OyBTaXplICgpIDx0eXBlIC00PjsgfT4+PjsgLmRlYnVnL2R3YXJmLnR5cGVTaWdzIDx0eXBlIDEyMSBtYXAgWzx0eXBlIC04Pl0gPHR5cGUgMTIyICo8dHlwZSAxMjMgIi5kZWJ1Zy9kd2FyZi50eXBlVW5pdCIgPHR5cGUgMTI0IHN0cnVjdCB7ID8gPHR5cGUgMTI1ICIuZGVidWcvZHdhcmYudW5pdCIgPHR5cGUgMTI2IHN0cnVjdCB7IC5kZWJ1Zy9kd2FyZi5iYXNlIDx0eXBlIDExND47IC5kZWJ1Zy9kd2FyZi5vZmYgPHR5cGUgMTE0PjsgLmRlYnVnL2R3YXJmLmxpbmVvZmYgPHR5cGUgMTE0PjsgLmRlYnVnL2R3YXJmLmRhdGEgPHR5cGUgMTI3IFtdIDx0eXBlIC0yMD4+OyAuZGVidWcvZHdhcmYuYXRhYmxlIDx0eXBlIDEwMz47IC5kZWJ1Zy9kd2FyZi5hc2l6ZSA8dHlwZSAtMTE+OyAuZGVidWcvZHdhcmYudmVycyA8dHlwZSAtMTE+OyAuZGVidWcvZHdhcmYuaXM2NCA8dHlwZSAtMTU+OyAuZGVidWcvZHdhcmYuZGlyIDx0eXBlIC0xNj47IC5kZWJ1Zy9kd2FyZi5wYyA8dHlwZSAxMjggW10gPHR5cGUgMTI5ICIuZGVidWcvZHdhcmYuYWRkclJhbmdlIiA8dHlwZSAxMzAgc3RydWN0IHsgLmRlYnVnL2R3YXJmLmxvdyA8dHlwZSAtOD47IC5kZWJ1Zy9kd2FyZi5oaWdoIDx0eXBlIC04PjsgfT4+PjsgLmRlYnVnL2R3YXJmLmxpbmVzIDx0eXBlIDEzMSBbXSA8dHlwZSAxMzIgIi5kZWJ1Zy9kd2FyZi5tYXBMaW5lSW5mbyIgPHR5cGUgMTMzIHN0cnVjdCB7IC5kZWJ1Zy9kd2FyZi5saW5lIDx0eXBlIDEzNCAiZGVidWcvZHdhcmYuTGluZSIgPHR5cGUgMTM1IHN0cnVjdCB7IEZpbGVuYW1lIDx0eXBlIC0xNj47IE9wSW5kZXggPHR5cGUgLTExPjsgTGluZSA8dHlwZSAtMTE+OyBDb2x1bW4gPHR5cGUgLTExPjsgSVNBIDx0eXBlIC0xMT47IERpc2NyaW1pbmF0b3IgPHR5cGUgLTExPjsgU3RtdCA8dHlwZSAtMTU+OyBCbG9jayA8dHlwZSAtMTU+OyBFbmRQcm9sb2d1ZSA8dHlwZSAtMTU+OyBCZWdpbkVwaWxvZ3VlIDx0eXBlIC0xNT47IH0+PjsgLmRlYnVnL2R3YXJmLmFkZHJzIDx0eXBlIDEzNiAiLmRlYnVnL2R3YXJmLmxpbmVBZGRycyIgPHR5cGUgMTM3IFtdIDx0eXBlIDEzOCAiLmRlYnVnL2R3YXJmLm9uZUxpbmVJbmZvIiA8dHlwZSAxMzkgc3RydWN0IHsgLmRlYnVnL2R3YXJmLnBjIDx0eXBlIC04PjsgLmRlYnVnL2R3YXJmLmxpbmUgPHR5cGUgLTExPjsgfT4+PgogZnVuYyAocCA8dHlwZSAxMzY+KSBMZXNzIChpIDx0eXBlIC0xMT4sIGogPHR5cGUgLTExPikgPHR5cGUgLTE1PjsKIGZ1bmMgKHAgPHR5cGUgMTM2PikgTGVuICgpIDx0eXBlIC0xMT47CiBmdW5jIChwIDx0eXBlIDEzNj4pIFN3YXAgKGkgPHR5cGUgLTExPiwgaiA8dHlwZSAtMTE+KTsKPjsgfT4+PjsgfT4KIGZ1bmMgKHUgPHR5cGUgMTQwICo8dHlwZSAxMjU+PikgLmRlYnVnL2R3YXJmLmR3YXJmNjQgKCkgKD8gPHR5cGUgLTE1PiwgPyA8dHlwZSAtMTU+KTsKIGZ1bmMgKHUgPHR5cGUgMTQwPikgLmRlYnVnL2R3YXJmLmFkZHJzaXplICgpIDx0eXBlIC0xMT47CiBmdW5jICh1IDx0eXBlIDE0MD4pIC5kZWJ1Zy9kd2FyZi52ZXJzaW9uICgpIDx0eXBlIC0xMT47Cj47IC5kZWJ1Zy9kd2FyZi50b2ZmIDx0eXBlIDExND47IC5kZWJ1Zy9kd2FyZi5uYW1lIDx0eXBlIC0xNj47IC5kZWJ1Zy9kd2FyZi5jYWNoZSA8dHlwZSAxMTU+OyB9Pj4+PjsgLmRlYnVnL2R3YXJmLnVuaXQgPHR5cGUgMTQxIFtdIDx0eXBlIDEyNT4+OyB9PgogZnVuYyAoZCA8dHlwZSAxNDIgKjx0eXBlIDkyPj4pIFJlYWRlciAoKSA8dHlwZSAxNDMgKjx0eXBlIDE0NCAiZGVidWcvZHdhcmYuUmVhZGVyIiA8dHlwZSAxNDUgc3RydWN0IHsgLmRlYnVnL2R3YXJmLmIgPHR5cGUgMTQ2ICIuZGVidWcvZHdhcmYuYnVmIiA8dHlwZSAxNDcgc3RydWN0IHsgLmRlYnVnL2R3YXJmLmR3YXJmIDx0eXBlIDE0Mj47IC5kZWJ1Zy9kd2FyZi5vcmRlciA8dHlwZSAxNz47IC5kZWJ1Zy9kd2FyZi5mb3JtYXQgPHR5cGUgMTQ4ICIuZGVidWcvZHdhcmYuZGF0YUZvcm1hdCIgPHR5cGUgMTQ5IGludGVyZmFjZSB7IC5kZWJ1Zy9kd2FyZi52ZXJzaW9uICgpIDx0eXBlIC0xMT47IC5kZWJ1Zy9kd2FyZi5kd2FyZjY0ICgpIChkd2FyZjY0IDx0eXBlIC0xNT4sIGlzS25vd24gPHR5cGUgLTE1Pik7IC5kZWJ1Zy9kd2FyZi5hZGRyc2l6ZSAoKSA8dHlwZSAtMTE+OyB9Pj47IC5kZWJ1Zy9kd2FyZi5uYW1lIDx0eXBlIC0xNj47IC5kZWJ1Zy9kd2FyZi5vZmYgPHR5cGUgMTE0PjsgLmRlYnVnL2R3YXJmLmRhdGEgPHR5cGUgMTUwIFtdIDx0eXBlIC0yMD4+OyAuZGVidWcvZHdhcmYuZXJyIDx0eXBlIC0xOT47IH0+CiBmdW5jIChiIDx0eXBlIDE1MSAqPHR5cGUgMTQ2Pj4pIC5kZWJ1Zy9kd2FyZi5pbnQgKCkgPHR5cGUgLTQ+OwogZnVuYyAoYiA8dHlwZSAxNTE+KSAuZGVidWcvZHdhcmYudWludDMyICgpIDx0eXBlIC03PjsKIGZ1bmMgKGIgPHR5cGUgMTUxPikgLmRlYnVnL2R3YXJmLmVycm9yIChzIDx0eXBlIC0xNj4pOwogZnVuYyAoYiA8dHlwZSAxNTE+KSAuZGVidWcvZHdhcmYuc3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChiIDx0eXBlIDE1MT4pIC5kZWJ1Zy9kd2FyZi5hZGRyICgpIDx0eXBlIC04PjsKIGZ1bmMgKGIgPHR5cGUgMTUxPikgLmRlYnVnL2R3YXJmLmJ5dGVzIChuIDx0eXBlIC0xMT4pIDx0eXBlIDE1MiBbXSA8dHlwZSAtMjA+PjsKIGZ1bmMgKGIgPHR5cGUgMTUxPikgLmRlYnVnL2R3YXJmLnNraXAgKG4gPHR5cGUgLTExPik7CiBmdW5jIChiIDx0eXBlIDE1MT4pIC5kZWJ1Zy9kd2FyZi51aW50OCAoKSA8dHlwZSAtNT47CiBmdW5jIChiIDx0eXBlIDE1MT4pIC5kZWJ1Zy9kd2FyZi51aW50MTYgKCkgPHR5cGUgLTY+OwogZnVuYyAoYiA8dHlwZSAxNTE+KSAuZGVidWcvZHdhcmYudWludDY0ICgpIDx0eXBlIC04PjsKIGZ1bmMgKGIgPHR5cGUgMTUxPikgLmRlYnVnL2R3YXJmLnZhcmludCAoKSAoYyA8dHlwZSAtOD4sIGJpdHMgPHR5cGUgLTEyPik7CiBmdW5jIChiIDx0eXBlIDE1MT4pIC5kZWJ1Zy9kd2FyZi51aW50ICgpIDx0eXBlIC04PjsKIGZ1bmMgKGIgPHR5cGUgMTUxPikgLmRlYnVnL2R3YXJmLmVudHJ5IChhdGFiIDx0eXBlIDEwMz4sIHViYXNlIDx0eXBlIDExND4pIDx0eXBlIDE1MyAqPHR5cGUgMTU0ICJkZWJ1Zy9kd2FyZi5FbnRyeSIgPHR5cGUgMTU1IHN0cnVjdCB7IE9mZnNldCA8dHlwZSAxMTQ+OyBUYWcgPHR5cGUgMTA3PjsgQ2hpbGRyZW4gPHR5cGUgLTE1PjsgRmllbGQgPHR5cGUgMTU2IFtdIDx0eXBlIDE1NyAiZGVidWcvZHdhcmYuRmllbGQiIDx0eXBlIDE1OCBzdHJ1Y3QgeyBBdHRyIDx0eXBlIDExMT47IFZhbCA8dHlwZSAxNTkgaW50ZXJmYWNlIHsgfT47IH0+Pj47IH0+CiBmdW5jIChlIDx0eXBlIDE2MCAqPHR5cGUgMTU0Pj4pIFZhbCAoYSA8dHlwZSAxMTE+KSA8dHlwZSAxNjEgaW50ZXJmYWNlIHsgfT47Cj4+Owo+OyAuZGVidWcvZHdhcmYuZCA8dHlwZSAxNDI+OyAuZGVidWcvZHdhcmYuZXJyIDx0eXBlIC0xOT47IC5kZWJ1Zy9kd2FyZi51bml0IDx0eXBlIC0xMT47IC5kZWJ1Zy9kd2FyZi5sYXN0Q2hpbGRyZW4gPHR5cGUgLTE1PjsgLmRlYnVnL2R3YXJmLmxhc3RTaWJsaW5nIDx0eXBlIDExND47IH0+CiBmdW5jIChyIDx0eXBlIDE2MiAqPHR5cGUgMTQ0Pj4pIFNlZWsgKG9mZiA8dHlwZSAxMTQ+KTsKIGZ1bmMgKHIgPHR5cGUgMTYyPikgTmV4dCAoKSAoPyA8dHlwZSAxNTM+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAociA8dHlwZSAxNjI+KSBTa2lwQ2hpbGRyZW4gKCk7CiBmdW5jIChyIDx0eXBlIDE2Mj4pIC5kZWJ1Zy9kd2FyZi5tYXliZU5leHRVbml0ICgpOwogZnVuYyAociA8dHlwZSAxNjI+KSAuZGVidWcvZHdhcmYub2Zmc2V0ICgpIDx0eXBlIDExND47CiBmdW5jIChyIDx0eXBlIDE2Mj4pIC5kZWJ1Zy9kd2FyZi5jbG9uZSAoKSA8dHlwZSAxNjMgIi5kZWJ1Zy9kd2FyZi50eXBlUmVhZGVyIiA8dHlwZSAxNjQgaW50ZXJmYWNlIHsgU2VlayAoPyA8dHlwZSAxMTQ+KTsgTmV4dCAoKSAoPyA8dHlwZSAxNTM+LCA/IDx0eXBlIC0xOT4pOyAuZGVidWcvZHdhcmYuY2xvbmUgKCkgPHR5cGUgMTYzPjsgLmRlYnVnL2R3YXJmLm9mZnNldCAoKSA8dHlwZSAxMTQ+OyB9Pj47Cj4+OwogZnVuYyAoZCA8dHlwZSAxNDI+KSAuZGVidWcvZHdhcmYucmVhZFR5cGUgKG5hbWUgPHR5cGUgLTE2PiwgciA8dHlwZSAxNjM+LCBvZmYgPHR5cGUgMTE0PiwgdHlwZUNhY2hlIDx0eXBlIDE2NSBtYXAgWzx0eXBlIDExND5dIDx0eXBlIDExNT4+KSAoPyA8dHlwZSAxMTU+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAoZCA8dHlwZSAxNDI+KSAuZGVidWcvZHdhcmYucGFyc2VUeXBlcyAobmFtZSA8dHlwZSAtMTY+LCB0eXBlcyA8dHlwZSAxNjYgW10gPHR5cGUgLTIwPj4pIDx0eXBlIC0xOT47CiBmdW5jIChkIDx0eXBlIDE0Mj4pIC5kZWJ1Zy9kd2FyZi5hZGRMaW5lIChsaW5lcyA8dHlwZSAxNjcgW10gPHR5cGUgMTMyPj4sIGxpbmVJbmZvIDx0eXBlIDEzND4sIGFkZHJlc3MgPHR5cGUgLTg+LCBsaW5lIDx0eXBlIC0xMT4sIG5ld0xpbmVJbmZvIDx0eXBlIC0xNT4pICg/IDx0eXBlIDE2OCBbXSA8dHlwZSAxMzI+PiwgPyA8dHlwZSAxMzQ+LCA/IDx0eXBlIC0xNT4pOwogZnVuYyAoZCA8dHlwZSAxNDI+KSAuZGVidWcvZHdhcmYucGFyc2VVbml0cyAoKSAoPyA8dHlwZSAxNjkgW10gPHR5cGUgMTI1Pj4sID8gPHR5cGUgLTE5Pik7CiBmdW5jIChkIDx0eXBlIDE0Mj4pIC5kZWJ1Zy9kd2FyZi5maW5kTGluZSAodSA8dHlwZSAxNDA+LCBwYyA8dHlwZSAtOD4pICg/IDx0eXBlIDE3MCBbXSA8dHlwZSAxNzEgKjx0eXBlIDEzND4+PiwgPyA8dHlwZSAtMTk+KTsKIGZ1bmMgKGQgPHR5cGUgMTQyPikgLmRlYnVnL2R3YXJmLnBhcnNlQWJicmV2IChvZmYgPHR5cGUgLTc+KSAoPyA8dHlwZSAxMDM+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAoZCA8dHlwZSAxNDI+KSAuZGVidWcvZHdhcmYucmVhZEFkZHJlc3NSYW5nZXMgKG9mZiA8dHlwZSAxMTQ+LCBiYXNlIDx0eXBlIC04PiwgdSA8dHlwZSAxNDA+KSA8dHlwZSAtMTk+OwogZnVuYyAoZCA8dHlwZSAxNDI+KSAuZGVidWcvZHdhcmYucGFyc2VMaW5lICh1IDx0eXBlIDE0MD4pIDx0eXBlIC0xOT47CiBmdW5jIChkIDx0eXBlIDE0Mj4pIC5kZWJ1Zy9kd2FyZi5zaWdUb1R5cGUgKHNpZyA8dHlwZSAtOD4pICg/IDx0eXBlIDExNT4sID8gPHR5cGUgLTE5Pik7CiBmdW5jIChkIDx0eXBlIDE0Mj4pIC5kZWJ1Zy9kd2FyZi5yZWFkVW5pdExpbmUgKGkgPHR5cGUgLTExPiwgdSA8dHlwZSAxNDA+KSA8dHlwZSAtMTk+OwogZnVuYyAoZCA8dHlwZSAxNDI+KSBMaW5lRm9yUEMgKHBjIDx0eXBlIC04PikgKD8gPHR5cGUgMTcyIFtdIDx0eXBlIDE3MT4+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAoZCA8dHlwZSAxNDI+KSBGaWxlTGluZSAocGMgPHR5cGUgLTg+KSAoPyA8dHlwZSAtMTY+LCA/IDx0eXBlIC0xMT4sID8gPHR5cGUgLTE5Pik7CiBmdW5jIChkIDx0eXBlIDE0Mj4pIFR5cGUgKG9mZiA8dHlwZSAxMTQ+KSAoPyA8dHlwZSAxMTU+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAoZCA8dHlwZSAxNDI+KSAuZGVidWcvZHdhcmYucGFyc2VMaW5lUHJvZ3JhbSAodSA8dHlwZSAxNDA+LCBiIDx0eXBlIDE1MT4sIGhkciA8dHlwZSAxNzMgIi5kZWJ1Zy9kd2FyZi5saW5lSGRyIiA8dHlwZSAxNzQgc3RydWN0IHsgLmRlYnVnL2R3YXJmLnZlcnNpb24gPHR5cGUgLTY+OyAuZGVidWcvZHdhcmYubWluSW5zbkxlbiA8dHlwZSAtNT47IC5kZWJ1Zy9kd2FyZi5tYXhPcHNQZXJJbnNuIDx0eXBlIC01PjsgLmRlYnVnL2R3YXJmLmRlZlN0bXQgPHR5cGUgLTE1PjsgLmRlYnVnL2R3YXJmLmxpbmVCYXNlIDx0eXBlIC0xPjsgLmRlYnVnL2R3YXJmLmxpbmVSYW5nZSA8dHlwZSAtNT47IC5kZWJ1Zy9kd2FyZi5vcEJhc2UgPHR5cGUgLTU+OyAuZGVidWcvZHdhcmYub3BMZW4gPHR5cGUgMTc1IFtdIDx0eXBlIC01Pj47IC5kZWJ1Zy9kd2FyZi5kaXJzIDx0eXBlIDE3NiBbXSA8dHlwZSAtMTY+PjsgLmRlYnVnL2R3YXJmLmZpbGVzIDx0eXBlIDE3NyBbXSA8dHlwZSAtMTY+PjsgfT4+LCBlbmQgPHR5cGUgMTE0Pik7CiBmdW5jIChkIDx0eXBlIDE0Mj4pIEFkZFR5cGVzIChuYW1lIDx0eXBlIC0xNj4sIHR5cGVzIDx0eXBlIDE3OCBbXSA8dHlwZSAtMjA+PikgPHR5cGUgLTE5PjsKIGZ1bmMgKGQgPHR5cGUgMTQyPikgLmRlYnVnL2R3YXJmLnBhcnNlTGluZUhkciAodSA8dHlwZSAxNDA+LCBiIDx0eXBlIDE1MT4sIGR3YXJmNjQgPHR5cGUgLTE1PikgKGhkciA8dHlwZSAxNzM+KTsKIGZ1bmMgKGQgPHR5cGUgMTQyPikgLmRlYnVnL2R3YXJmLnVuaXRSZWFkZXIgKGkgPHR5cGUgLTExPikgPHR5cGUgMTQzPjsKPj4sID8gPHR5cGUgLTE5Pik7CiBmdW5jIChmIDx0eXBlIDY2PikgU3ltYm9scyAoKSAoPyA8dHlwZSAxNzkgW10gPHR5cGUgNjk+PiwgPyA8dHlwZSAtMTk+KTsKIGZ1bmMgKGYgPHR5cGUgNjY+KSBEeW5hbWljU3ltYm9scyAoKSAoPyA8dHlwZSAxODAgW10gPHR5cGUgNjk+PiwgPyA8dHlwZSAtMTk+KTsKIGZ1bmMgKGYgPHR5cGUgNjY+KSBJbXBvcnRlZFN5bWJvbHMgKCkgKD8gPHR5cGUgMTgxIFtdIDx0eXBlIDE4MiAiSW1wb3J0ZWRTeW1ib2wiIDx0eXBlIDE4MyBzdHJ1Y3QgeyBOYW1lIDx0eXBlIC0xNj47IFZlcnNpb24gPHR5cGUgLTE2PjsgTGlicmFyeSA8dHlwZSAtMTY+OyB9Pj4+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAoZiA8dHlwZSA2Nj4pIC5kZWJ1Zy9lbGYuZ251VmVyc2lvbkluaXQgKHN0ciA8dHlwZSAxODQgW10gPHR5cGUgLTIwPj4pOwogZnVuYyAoZiA8dHlwZSA2Nj4pIC5kZWJ1Zy9lbGYuZ251VmVyc2lvbiAoaSA8dHlwZSAtMTE+LCBzeW0gPHR5cGUgMTg1ICo8dHlwZSAxODI+Pik7CiBmdW5jIChmIDx0eXBlIDY2PikgSW1wb3J0ZWRMaWJyYXJpZXMgKCkgKD8gPHR5cGUgMTg2IFtdIDx0eXBlIC0xNj4+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAoZiA8dHlwZSA2Nj4pIER5blN0cmluZyAodGFnIDx0eXBlIDM+KSAoPyA8dHlwZSAxODcgW10gPHR5cGUgLTE2Pj4sID8gPHR5cGUgLTE5Pik7Cj47CnR5cGUgPHR5cGUgMTU+Owp0eXBlIDx0eXBlIDE4OCAiRm9ybWF0RXJyb3IiIDx0eXBlIDE4OSBzdHJ1Y3QgeyAuZGVidWcvZWxmLm9mZiA8dHlwZSAtND47IC5kZWJ1Zy9lbGYubXNnIDx0eXBlIC0xNj47IC5kZWJ1Zy9lbGYudmFsIDx0eXBlIDE5MCBpbnRlcmZhY2UgeyB9PjsgfT4KIGZ1bmMgKGUgPHR5cGUgMTkxICo8dHlwZSAxODg+PikgRXJyb3IgKCkgPHR5cGUgLTE2PjsKPjsKdHlwZSA8dHlwZSAxOTIgIkhlYWRlcjMyIiA8dHlwZSAxOTMgc3RydWN0IHsgSWRlbnQgPHR5cGUgMTk0IFsxNiBdIDx0eXBlIC0yMD4+OyBUeXBlIDx0eXBlIC02PjsgTWFjaGluZSA8dHlwZSAtNj47IFZlcnNpb24gPHR5cGUgLTc+OyBFbnRyeSA8dHlwZSAtNz47IFBob2ZmIDx0eXBlIC03PjsgU2hvZmYgPHR5cGUgLTc+OyBGbGFncyA8dHlwZSAtNz47IEVoc2l6ZSA8dHlwZSAtNj47IFBoZW50c2l6ZSA8dHlwZSAtNj47IFBobnVtIDx0eXBlIC02PjsgU2hlbnRzaXplIDx0eXBlIC02PjsgU2hudW0gPHR5cGUgLTY+OyBTaHN0cm5keCA8dHlwZSAtNj47IH0+PjsKdHlwZSA8dHlwZSAxOTUgIkhlYWRlcjY0IiA8dHlwZSAxOTYgc3RydWN0IHsgSWRlbnQgPHR5cGUgMTk3IFsxNiBdIDx0eXBlIC0yMD4+OyBUeXBlIDx0eXBlIC02PjsgTWFjaGluZSA8dHlwZSAtNj47IFZlcnNpb24gPHR5cGUgLTc+OyBFbnRyeSA8dHlwZSAtOD47IFBob2ZmIDx0eXBlIC04PjsgU2hvZmYgPHR5cGUgLTg+OyBGbGFncyA8dHlwZSAtNz47IEVoc2l6ZSA8dHlwZSAtNj47IFBoZW50c2l6ZSA8dHlwZSAtNj47IFBobnVtIDx0eXBlIC02PjsgU2hlbnRzaXplIDx0eXBlIC02PjsgU2hudW0gPHR5cGUgLTY+OyBTaHN0cm5keCA8dHlwZSAtNj47IH0+PjsKdHlwZSA8dHlwZSAxODI+Owp0eXBlIDx0eXBlIDEwPjsKY29uc3QgTlRfRlBSRUdTRVQgPHR5cGUgMTk4ICJOVHlwZSIgPHR5cGUgLTExPgogZnVuYyAoaSA8dHlwZSAxOTg+KSBTdHJpbmcgKCkgPHR5cGUgLTE2PjsKIGZ1bmMgKGkgPHR5cGUgMTk4PikgR29TdHJpbmcgKCkgPHR5cGUgLTE2PjsKPiA9IDIgOwpjb25zdCBOVF9QUlBTSU5GTyA8dHlwZSAxOTg+ID0gMyA7CmNvbnN0IE5UX1BSU1RBVFVTIDx0eXBlIDE5OD4gPSAxIDsKdHlwZSA8dHlwZSAxOTg+OwpmdW5jIE5ld0ZpbGUgKHIgPHR5cGUgMzM+KSAoPyA8dHlwZSA2Nj4sID8gPHR5cGUgLTE5Pik7CnR5cGUgPHR5cGUgOT47CmZ1bmMgT3BlbiAobmFtZSA8dHlwZSAtMTY+KSAoPyA8dHlwZSA2Nj4sID8gPHR5cGUgLTE5Pik7CmNvbnN0IFBGX01BU0tPUyA8dHlwZSA1OD4gPSAyNjczODY4ODAgOwpjb25zdCBQRl9NQVNLUFJPQyA8dHlwZSA1OD4gPSA0MDI2NTMxODQwIDsKY29uc3QgUEZfUiA8dHlwZSA1OD4gPSA0IDsKY29uc3QgUEZfVyA8dHlwZSA1OD4gPSAyIDsKY29uc3QgUEZfWCA8dHlwZSA1OD4gPSAxIDsKY29uc3QgUFRfRFlOQU1JQyA8dHlwZSA1Nz4gPSAyIDsKY29uc3QgUFRfSElPUyA8dHlwZSA1Nz4gPSAxODc5MDQ4MTkxIDsKY29uc3QgUFRfSElQUk9DIDx0eXBlIDU3PiA9IDIxNDc0ODM2NDcgOwpjb25zdCBQVF9JTlRFUlAgPHR5cGUgNTc+ID0gMyA7CmNvbnN0IFBUX0xPQUQgPHR5cGUgNTc+ID0gMSA7CmNvbnN0IFBUX0xPT1MgPHR5cGUgNTc+ID0gMTYxMDYxMjczNiA7CmNvbnN0IFBUX0xPUFJPQyA8dHlwZSA1Nz4gPSAxODc5MDQ4MTkyIDsKY29uc3QgUFRfTk9URSA8dHlwZSA1Nz4gPSA0IDsKY29uc3QgUFRfTlVMTCA8dHlwZSA1Nz4gPSAwIDsKY29uc3QgUFRfUEhEUiA8dHlwZSA1Nz4gPSA2IDsKY29uc3QgUFRfU0hMSUIgPHR5cGUgNTc+ID0gNSA7CmNvbnN0IFBUX1RMUyA8dHlwZSA1Nz4gPSA3IDsKdHlwZSA8dHlwZSA1Mz47CnR5cGUgPHR5cGUgMTk5ICJQcm9nMzIiIDx0eXBlIDIwMCBzdHJ1Y3QgeyBUeXBlIDx0eXBlIC03PjsgT2ZmIDx0eXBlIC03PjsgVmFkZHIgPHR5cGUgLTc+OyBQYWRkciA8dHlwZSAtNz47IEZpbGVzeiA8dHlwZSAtNz47IE1lbXN6IDx0eXBlIC03PjsgRmxhZ3MgPHR5cGUgLTc+OyBBbGlnbiA8dHlwZSAtNz47IH0+PjsKdHlwZSA8dHlwZSAyMDEgIlByb2c2NCIgPHR5cGUgMjAyIHN0cnVjdCB7IFR5cGUgPHR5cGUgLTc+OyBGbGFncyA8dHlwZSAtNz47IE9mZiA8dHlwZSAtOD47IFZhZGRyIDx0eXBlIC04PjsgUGFkZHIgPHR5cGUgLTg+OyBGaWxlc3ogPHR5cGUgLTg+OyBNZW1zeiA8dHlwZSAtOD47IEFsaWduIDx0eXBlIC04PjsgfT4+Owp0eXBlIDx0eXBlIDU4PjsKdHlwZSA8dHlwZSA1NT47CnR5cGUgPHR5cGUgNTc+Owp0eXBlIDx0eXBlIDIwMyAiUl8zODYiIDx0eXBlIC0xMT4KIGZ1bmMgKGkgPHR5cGUgMjAzPikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChpIDx0eXBlIDIwMz4pIEdvU3RyaW5nICgpIDx0eXBlIC0xNj47Cj47CmNvbnN0IFJfMzg2XzMyIDx0eXBlIDIwMz4gPSAxIDsKY29uc3QgUl8zODZfQ09QWSA8dHlwZSAyMDM+ID0gNSA7CmNvbnN0IFJfMzg2X0dMT0JfREFUIDx0eXBlIDIwMz4gPSA2IDsKY29uc3QgUl8zODZfR09UMzIgPHR5cGUgMjAzPiA9IDMgOwpjb25zdCBSXzM4Nl9HT1RPRkYgPHR5cGUgMjAzPiA9IDkgOwpjb25zdCBSXzM4Nl9HT1RQQyA8dHlwZSAyMDM+ID0gMTAgOwpjb25zdCBSXzM4Nl9KTVBfU0xPVCA8dHlwZSAyMDM+ID0gNyA7CmNvbnN0IFJfMzg2X05PTkUgPHR5cGUgMjAzPiA9IDAgOwpjb25zdCBSXzM4Nl9QQzMyIDx0eXBlIDIwMz4gPSAyIDsKY29uc3QgUl8zODZfUExUMzIgPHR5cGUgMjAzPiA9IDQgOwpjb25zdCBSXzM4Nl9SRUxBVElWRSA8dHlwZSAyMDM+ID0gOCA7CmNvbnN0IFJfMzg2X1RMU19EVFBNT0QzMiA8dHlwZSAyMDM+ID0gMzUgOwpjb25zdCBSXzM4Nl9UTFNfRFRQT0ZGMzIgPHR5cGUgMjAzPiA9IDM2IDsKY29uc3QgUl8zODZfVExTX0dEIDx0eXBlIDIwMz4gPSAxOCA7CmNvbnN0IFJfMzg2X1RMU19HRF8zMiA8dHlwZSAyMDM+ID0gMjQgOwpjb25zdCBSXzM4Nl9UTFNfR0RfQ0FMTCA8dHlwZSAyMDM+ID0gMjYgOwpjb25zdCBSXzM4Nl9UTFNfR0RfUE9QIDx0eXBlIDIwMz4gPSAyNyA7CmNvbnN0IFJfMzg2X1RMU19HRF9QVVNIIDx0eXBlIDIwMz4gPSAyNSA7CmNvbnN0IFJfMzg2X1RMU19HT1RJRSA8dHlwZSAyMDM+ID0gMTYgOwpjb25zdCBSXzM4Nl9UTFNfSUUgPHR5cGUgMjAzPiA9IDE1IDsKY29uc3QgUl8zODZfVExTX0lFXzMyIDx0eXBlIDIwMz4gPSAzMyA7CmNvbnN0IFJfMzg2X1RMU19MRE0gPHR5cGUgMjAzPiA9IDE5IDsKY29uc3QgUl8zODZfVExTX0xETV8zMiA8dHlwZSAyMDM+ID0gMjggOwpjb25zdCBSXzM4Nl9UTFNfTERNX0NBTEwgPHR5cGUgMjAzPiA9IDMwIDsKY29uc3QgUl8zODZfVExTX0xETV9QT1AgPHR5cGUgMjAzPiA9IDMxIDsKY29uc3QgUl8zODZfVExTX0xETV9QVVNIIDx0eXBlIDIwMz4gPSAyOSA7CmNvbnN0IFJfMzg2X1RMU19MRE9fMzIgPHR5cGUgMjAzPiA9IDMyIDsKY29uc3QgUl8zODZfVExTX0xFIDx0eXBlIDIwMz4gPSAxNyA7CmNvbnN0IFJfMzg2X1RMU19MRV8zMiA8dHlwZSAyMDM+ID0gMzQgOwpjb25zdCBSXzM4Nl9UTFNfVFBPRkYgPHR5cGUgMjAzPiA9IDE0IDsKY29uc3QgUl8zODZfVExTX1RQT0ZGMzIgPHR5cGUgMjAzPiA9IDM3IDsKdHlwZSA8dHlwZSAyMDQgIlJfMzkwIiA8dHlwZSAtMTE+CiBmdW5jIChpIDx0eXBlIDIwND4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAoaSA8dHlwZSAyMDQ+KSBHb1N0cmluZyAoKSA8dHlwZSAtMTY+Owo+Owpjb25zdCBSXzM5MF8xMiA8dHlwZSAyMDQ+ID0gMiA7CmNvbnN0IFJfMzkwXzE2IDx0eXBlIDIwND4gPSAzIDsKY29uc3QgUl8zOTBfMzIgPHR5cGUgMjA0PiA9IDQgOwpjb25zdCBSXzM5MF82NCA8dHlwZSAyMDQ+ID0gMjIgOwpjb25zdCBSXzM5MF84IDx0eXBlIDIwND4gPSAxIDsKY29uc3QgUl8zOTBfQ09QWSA8dHlwZSAyMDQ+ID0gOSA7CmNvbnN0IFJfMzkwX0dMT0JfREFUIDx0eXBlIDIwND4gPSAxMCA7CmNvbnN0IFJfMzkwX0dPVDEyIDx0eXBlIDIwND4gPSA2IDsKY29uc3QgUl8zOTBfR09UMTYgPHR5cGUgMjA0PiA9IDE1IDsKY29uc3QgUl8zOTBfR09UMzIgPHR5cGUgMjA0PiA9IDcgOwpjb25zdCBSXzM5MF9HT1Q2NCA8dHlwZSAyMDQ+ID0gMjQgOwpjb25zdCBSXzM5MF9HT1RFTlQgPHR5cGUgMjA0PiA9IDI2IDsKY29uc3QgUl8zOTBfR09UT0ZGIDx0eXBlIDIwND4gPSAxMyA7CmNvbnN0IFJfMzkwX0dPVFBDIDx0eXBlIDIwND4gPSAxNCA7CmNvbnN0IFJfMzkwX0dPVFBDREJMIDx0eXBlIDIwND4gPSAyMSA7CmNvbnN0IFJfMzkwX0pNUF9TTE9UIDx0eXBlIDIwND4gPSAxMSA7CmNvbnN0IFJfMzkwX05PTkUgPHR5cGUgMjA0PiA9IDAgOwpjb25zdCBSXzM5MF9QQzE2IDx0eXBlIDIwND4gPSAxNiA7CmNvbnN0IFJfMzkwX1BDMTZEQkwgPHR5cGUgMjA0PiA9IDE3IDsKY29uc3QgUl8zOTBfUEMzMiA8dHlwZSAyMDQ+ID0gNSA7CmNvbnN0IFJfMzkwX1BDMzJEQkwgPHR5cGUgMjA0PiA9IDE5IDsKY29uc3QgUl8zOTBfUEM2NCA8dHlwZSAyMDQ+ID0gMjMgOwpjb25zdCBSXzM5MF9QTFQxNkRCTCA8dHlwZSAyMDQ+ID0gMTggOwpjb25zdCBSXzM5MF9QTFQzMiA8dHlwZSAyMDQ+ID0gOCA7CmNvbnN0IFJfMzkwX1BMVDMyREJMIDx0eXBlIDIwND4gPSAyMCA7CmNvbnN0IFJfMzkwX1BMVDY0IDx0eXBlIDIwND4gPSAyNSA7CmNvbnN0IFJfMzkwX1JFTEFUSVZFIDx0eXBlIDIwND4gPSAxMiA7CnR5cGUgPHR5cGUgMjA1ICJSX0FBUkNINjQiIDx0eXBlIC0xMT4KIGZ1bmMgKGkgPHR5cGUgMjA1PikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChpIDx0eXBlIDIwNT4pIEdvU3RyaW5nICgpIDx0eXBlIC0xNj47Cj47CmNvbnN0IFJfQUFSQ0g2NF9BQlMxNiA8dHlwZSAyMDU+ID0gMjU5IDsKY29uc3QgUl9BQVJDSDY0X0FCUzMyIDx0eXBlIDIwNT4gPSAyNTggOwpjb25zdCBSX0FBUkNINjRfQUJTNjQgPHR5cGUgMjA1PiA9IDI1NyA7CmNvbnN0IFJfQUFSQ0g2NF9BRERfQUJTX0xPMTJfTkMgPHR5cGUgMjA1PiA9IDI3NyA7CmNvbnN0IFJfQUFSQ0g2NF9BRFJfR09UX1BBR0UgPHR5cGUgMjA1PiA9IDMxMSA7CmNvbnN0IFJfQUFSQ0g2NF9BRFJfUFJFTF9MTzIxIDx0eXBlIDIwNT4gPSAyNzQgOwpjb25zdCBSX0FBUkNINjRfQURSX1BSRUxfUEdfSEkyMSA8dHlwZSAyMDU+ID0gMjc1IDsKY29uc3QgUl9BQVJDSDY0X0FEUl9QUkVMX1BHX0hJMjFfTkMgPHR5cGUgMjA1PiA9IDI3NiA7CmNvbnN0IFJfQUFSQ0g2NF9DQUxMMjYgPHR5cGUgMjA1PiA9IDI4MyA7CmNvbnN0IFJfQUFSQ0g2NF9DT05EQlIxOSA8dHlwZSAyMDU+ID0gMjgwIDsKY29uc3QgUl9BQVJDSDY0X0NPUFkgPHR5cGUgMjA1PiA9IDEwMjQgOwpjb25zdCBSX0FBUkNINjRfR0xPQl9EQVQgPHR5cGUgMjA1PiA9IDEwMjUgOwpjb25zdCBSX0FBUkNINjRfR09UX0xEX1BSRUwxOSA8dHlwZSAyMDU+ID0gMzA5IDsKY29uc3QgUl9BQVJDSDY0X0lSRUxBVElWRSA8dHlwZSAyMDU+ID0gMTAzMiA7CmNvbnN0IFJfQUFSQ0g2NF9KVU1QMjYgPHR5cGUgMjA1PiA9IDI4MiA7CmNvbnN0IFJfQUFSQ0g2NF9KVU1QX1NMT1QgPHR5cGUgMjA1PiA9IDEwMjYgOwpjb25zdCBSX0FBUkNINjRfTEQ2NF9HT1RfTE8xMl9OQyA8dHlwZSAyMDU+ID0gMzEyIDsKY29uc3QgUl9BQVJDSDY0X0xEU1QxMjhfQUJTX0xPMTJfTkMgPHR5cGUgMjA1PiA9IDI5OSA7CmNvbnN0IFJfQUFSQ0g2NF9MRFNUMTZfQUJTX0xPMTJfTkMgPHR5cGUgMjA1PiA9IDI4NCA7CmNvbnN0IFJfQUFSQ0g2NF9MRFNUMzJfQUJTX0xPMTJfTkMgPHR5cGUgMjA1PiA9IDI4NSA7CmNvbnN0IFJfQUFSQ0g2NF9MRFNUNjRfQUJTX0xPMTJfTkMgPHR5cGUgMjA1PiA9IDI4NiA7CmNvbnN0IFJfQUFSQ0g2NF9MRFNUOF9BQlNfTE8xMl9OQyA8dHlwZSAyMDU+ID0gMjc4IDsKY29uc3QgUl9BQVJDSDY0X0xEX1BSRUxfTE8xOSA8dHlwZSAyMDU+ID0gMjczIDsKY29uc3QgUl9BQVJDSDY0X01PVldfU0FCU19HMCA8dHlwZSAyMDU+ID0gMjcwIDsKY29uc3QgUl9BQVJDSDY0X01PVldfU0FCU19HMSA8dHlwZSAyMDU+ID0gMjcxIDsKY29uc3QgUl9BQVJDSDY0X01PVldfU0FCU19HMiA8dHlwZSAyMDU+ID0gMjcyIDsKY29uc3QgUl9BQVJDSDY0X01PVldfVUFCU19HMCA8dHlwZSAyMDU+ID0gMjYzIDsKY29uc3QgUl9BQVJDSDY0X01PVldfVUFCU19HMF9OQyA8dHlwZSAyMDU+ID0gMjY0IDsKY29uc3QgUl9BQVJDSDY0X01PVldfVUFCU19HMSA8dHlwZSAyMDU+ID0gMjY1IDsKY29uc3QgUl9BQVJDSDY0X01PVldfVUFCU19HMV9OQyA8dHlwZSAyMDU+ID0gMjY2IDsKY29uc3QgUl9BQVJDSDY0X01PVldfVUFCU19HMiA8dHlwZSAyMDU+ID0gMjY3IDsKY29uc3QgUl9BQVJDSDY0X01PVldfVUFCU19HMl9OQyA8dHlwZSAyMDU+ID0gMjY4IDsKY29uc3QgUl9BQVJDSDY0X01PVldfVUFCU19HMyA8dHlwZSAyMDU+ID0gMjY5IDsKY29uc3QgUl9BQVJDSDY0X05PTkUgPHR5cGUgMjA1PiA9IDAgOwpjb25zdCBSX0FBUkNINjRfTlVMTCA8dHlwZSAyMDU+ID0gMjU2IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9BQlMxNiA8dHlwZSAyMDU+ID0gMiA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfQUJTMzIgPHR5cGUgMjA1PiA9IDEgOwpjb25zdCBSX0FBUkNINjRfUDMyX0FERF9BQlNfTE8xMl9OQyA8dHlwZSAyMDU+ID0gMTIgOwpjb25zdCBSX0FBUkNINjRfUDMyX0FEUl9HT1RfUEFHRSA8dHlwZSAyMDU+ID0gMjYgOwpjb25zdCBSX0FBUkNINjRfUDMyX0FEUl9QUkVMX0xPMjEgPHR5cGUgMjA1PiA9IDEwIDsKY29uc3QgUl9BQVJDSDY0X1AzMl9BRFJfUFJFTF9QR19ISTIxIDx0eXBlIDIwNT4gPSAxMSA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfQ0FMTDI2IDx0eXBlIDIwNT4gPSAyMSA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfQ09OREJSMTkgPHR5cGUgMjA1PiA9IDE5IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9DT1BZIDx0eXBlIDIwNT4gPSAxODAgOwpjb25zdCBSX0FBUkNINjRfUDMyX0dMT0JfREFUIDx0eXBlIDIwNT4gPSAxODEgOwpjb25zdCBSX0FBUkNINjRfUDMyX0dPVF9MRF9QUkVMMTkgPHR5cGUgMjA1PiA9IDI1IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9JUkVMQVRJVkUgPHR5cGUgMjA1PiA9IDE4OCA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfSlVNUDI2IDx0eXBlIDIwNT4gPSAyMCA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfSlVNUF9TTE9UIDx0eXBlIDIwNT4gPSAxODIgOwpjb25zdCBSX0FBUkNINjRfUDMyX0xEMzJfR09UX0xPMTJfTkMgPHR5cGUgMjA1PiA9IDI3IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9MRFNUMTI4X0FCU19MTzEyX05DIDx0eXBlIDIwNT4gPSAxNyA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfTERTVDE2X0FCU19MTzEyX05DIDx0eXBlIDIwNT4gPSAxNCA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfTERTVDMyX0FCU19MTzEyX05DIDx0eXBlIDIwNT4gPSAxNSA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfTERTVDY0X0FCU19MTzEyX05DIDx0eXBlIDIwNT4gPSAxNiA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfTERTVDhfQUJTX0xPMTJfTkMgPHR5cGUgMjA1PiA9IDEzIDsKY29uc3QgUl9BQVJDSDY0X1AzMl9MRF9QUkVMX0xPMTkgPHR5cGUgMjA1PiA9IDkgOwpjb25zdCBSX0FBUkNINjRfUDMyX01PVldfU0FCU19HMCA8dHlwZSAyMDU+ID0gOCA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfTU9WV19VQUJTX0cwIDx0eXBlIDIwNT4gPSA1IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9NT1ZXX1VBQlNfRzBfTkMgPHR5cGUgMjA1PiA9IDYgOwpjb25zdCBSX0FBUkNINjRfUDMyX01PVldfVUFCU19HMSA8dHlwZSAyMDU+ID0gNyA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfUFJFTDE2IDx0eXBlIDIwNT4gPSA0IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9QUkVMMzIgPHR5cGUgMjA1PiA9IDMgOwpjb25zdCBSX0FBUkNINjRfUDMyX1JFTEFUSVZFIDx0eXBlIDIwNT4gPSAxODMgOwpjb25zdCBSX0FBUkNINjRfUDMyX1RMU0RFU0MgPHR5cGUgMjA1PiA9IDE4NyA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfVExTREVTQ19BRERfTE8xMl9OQyA8dHlwZSAyMDU+ID0gMTI2IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9UTFNERVNDX0FEUl9QQUdFMjEgPHR5cGUgMjA1PiA9IDEyNCA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfVExTREVTQ19BRFJfUFJFTDIxIDx0eXBlIDIwNT4gPSAxMjMgOwpjb25zdCBSX0FBUkNINjRfUDMyX1RMU0RFU0NfQ0FMTCA8dHlwZSAyMDU+ID0gMTI3IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9UTFNERVNDX0xEMzJfTE8xMl9OQyA8dHlwZSAyMDU+ID0gMTI1IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9UTFNERVNDX0xEX1BSRUwxOSA8dHlwZSAyMDU+ID0gMTIyIDsKY29uc3QgUl9BQVJDSDY0X1AzMl9UTFNHRF9BRERfTE8xMl9OQyA8dHlwZSAyMDU+ID0gODIgOwpjb25zdCBSX0FBUkNINjRfUDMyX1RMU0dEX0FEUl9QQUdFMjEgPHR5cGUgMjA1PiA9IDgxIDsKY29uc3QgUl9BQVJDSDY0X1AzMl9UTFNJRV9BRFJfR09UVFBSRUxfUEFHRTIxIDx0eXBlIDIwNT4gPSAxMDMgOwpjb25zdCBSX0FBUkNINjRfUDMyX1RMU0lFX0xEMzJfR09UVFBSRUxfTE8xMl9OQyA8dHlwZSAyMDU+ID0gMTA0IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9UTFNJRV9MRF9HT1RUUFJFTF9QUkVMMTkgPHR5cGUgMjA1PiA9IDEwNSA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfVExTTEVfQUREX1RQUkVMX0hJMTIgPHR5cGUgMjA1PiA9IDEwOSA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfVExTTEVfQUREX1RQUkVMX0xPMTIgPHR5cGUgMjA1PiA9IDExMCA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfVExTTEVfQUREX1RQUkVMX0xPMTJfTkMgPHR5cGUgMjA1PiA9IDExMSA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfVExTTEVfTU9WV19UUFJFTF9HMCA8dHlwZSAyMDU+ID0gMTA3IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9UTFNMRV9NT1ZXX1RQUkVMX0cwX05DIDx0eXBlIDIwNT4gPSAxMDggOwpjb25zdCBSX0FBUkNINjRfUDMyX1RMU0xFX01PVldfVFBSRUxfRzEgPHR5cGUgMjA1PiA9IDEwNiA7CmNvbnN0IFJfQUFSQ0g2NF9QMzJfVExTX0RUUE1PRCA8dHlwZSAyMDU+ID0gMTg0IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9UTFNfRFRQUkVMIDx0eXBlIDIwNT4gPSAxODUgOwpjb25zdCBSX0FBUkNINjRfUDMyX1RMU19UUFJFTCA8dHlwZSAyMDU+ID0gMTg2IDsKY29uc3QgUl9BQVJDSDY0X1AzMl9UU1RCUjE0IDx0eXBlIDIwNT4gPSAxOCA7CmNvbnN0IFJfQUFSQ0g2NF9QUkVMMTYgPHR5cGUgMjA1PiA9IDI2MiA7CmNvbnN0IFJfQUFSQ0g2NF9QUkVMMzIgPHR5cGUgMjA1PiA9IDI2MSA7CmNvbnN0IFJfQUFSQ0g2NF9QUkVMNjQgPHR5cGUgMjA1PiA9IDI2MCA7CmNvbnN0IFJfQUFSQ0g2NF9SRUxBVElWRSA8dHlwZSAyMDU+ID0gMTAyNyA7CmNvbnN0IFJfQUFSQ0g2NF9UTFNERVNDIDx0eXBlIDIwNT4gPSAxMDMxIDsKY29uc3QgUl9BQVJDSDY0X1RMU0RFU0NfQUREIDx0eXBlIDIwNT4gPSA1NjggOwpjb25zdCBSX0FBUkNINjRfVExTREVTQ19BRERfTE8xMl9OQyA8dHlwZSAyMDU+ID0gNTY0IDsKY29uc3QgUl9BQVJDSDY0X1RMU0RFU0NfQURSX1BBR0UyMSA8dHlwZSAyMDU+ID0gNTYyIDsKY29uc3QgUl9BQVJDSDY0X1RMU0RFU0NfQURSX1BSRUwyMSA8dHlwZSAyMDU+ID0gNTYxIDsKY29uc3QgUl9BQVJDSDY0X1RMU0RFU0NfQ0FMTCA8dHlwZSAyMDU+ID0gNTY5IDsKY29uc3QgUl9BQVJDSDY0X1RMU0RFU0NfTEQ2NF9MTzEyX05DIDx0eXBlIDIwNT4gPSA1NjMgOwpjb25zdCBSX0FBUkNINjRfVExTREVTQ19MRFIgPHR5cGUgMjA1PiA9IDU2NyA7CmNvbnN0IFJfQUFSQ0g2NF9UTFNERVNDX0xEX1BSRUwxOSA8dHlwZSAyMDU+ID0gNTYwIDsKY29uc3QgUl9BQVJDSDY0X1RMU0RFU0NfT0ZGX0cwX05DIDx0eXBlIDIwNT4gPSA1NjYgOwpjb25zdCBSX0FBUkNINjRfVExTREVTQ19PRkZfRzEgPHR5cGUgMjA1PiA9IDU2NSA7CmNvbnN0IFJfQUFSQ0g2NF9UTFNHRF9BRERfTE8xMl9OQyA8dHlwZSAyMDU+ID0gNTE0IDsKY29uc3QgUl9BQVJDSDY0X1RMU0dEX0FEUl9QQUdFMjEgPHR5cGUgMjA1PiA9IDUxMyA7CmNvbnN0IFJfQUFSQ0g2NF9UTFNJRV9BRFJfR09UVFBSRUxfUEFHRTIxIDx0eXBlIDIwNT4gPSA1NDEgOwpjb25zdCBSX0FBUkNINjRfVExTSUVfTEQ2NF9HT1RUUFJFTF9MTzEyX05DIDx0eXBlIDIwNT4gPSA1NDIgOwpjb25zdCBSX0FBUkNINjRfVExTSUVfTERfR09UVFBSRUxfUFJFTDE5IDx0eXBlIDIwNT4gPSA1NDMgOwpjb25zdCBSX0FBUkNINjRfVExTSUVfTU9WV19HT1RUUFJFTF9HMF9OQyA8dHlwZSAyMDU+ID0gNTQwIDsKY29uc3QgUl9BQVJDSDY0X1RMU0lFX01PVldfR09UVFBSRUxfRzEgPHR5cGUgMjA1PiA9IDUzOSA7CmNvbnN0IFJfQUFSQ0g2NF9UTFNMRV9BRERfVFBSRUxfSEkxMiA8dHlwZSAyMDU+ID0gNTQ5IDsKY29uc3QgUl9BQVJDSDY0X1RMU0xFX0FERF9UUFJFTF9MTzEyIDx0eXBlIDIwNT4gPSA1NTAgOwpjb25zdCBSX0FBUkNINjRfVExTTEVfQUREX1RQUkVMX0xPMTJfTkMgPHR5cGUgMjA1PiA9IDU1MSA7CmNvbnN0IFJfQUFSQ0g2NF9UTFNMRV9NT1ZXX1RQUkVMX0cwIDx0eXBlIDIwNT4gPSA1NDcgOwpjb25zdCBSX0FBUkNINjRfVExTTEVfTU9WV19UUFJFTF9HMF9OQyA8dHlwZSAyMDU+ID0gNTQ4IDsKY29uc3QgUl9BQVJDSDY0X1RMU0xFX01PVldfVFBSRUxfRzEgPHR5cGUgMjA1PiA9IDU0NSA7CmNvbnN0IFJfQUFSQ0g2NF9UTFNMRV9NT1ZXX1RQUkVMX0cxX05DIDx0eXBlIDIwNT4gPSA1NDYgOwpjb25zdCBSX0FBUkNINjRfVExTTEVfTU9WV19UUFJFTF9HMiA8dHlwZSAyMDU+ID0gNTQ0IDsKY29uc3QgUl9BQVJDSDY0X1RMU19EVFBNT0Q2NCA8dHlwZSAyMDU+ID0gMTAyOCA7CmNvbnN0IFJfQUFSQ0g2NF9UTFNfRFRQUkVMNjQgPHR5cGUgMjA1PiA9IDEwMjkgOwpjb25zdCBSX0FBUkNINjRfVExTX1RQUkVMNjQgPHR5cGUgMjA1PiA9IDEwMzAgOwpjb25zdCBSX0FBUkNINjRfVFNUQlIxNCA8dHlwZSAyMDU+ID0gMjc5IDsKdHlwZSA8dHlwZSAyMDYgIlJfQUxQSEEiIDx0eXBlIC0xMT4KIGZ1bmMgKGkgPHR5cGUgMjA2PikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChpIDx0eXBlIDIwNj4pIEdvU3RyaW5nICgpIDx0eXBlIC0xNj47Cj47CmNvbnN0IFJfQUxQSEFfQlJBRERSIDx0eXBlIDIwNj4gPSA3IDsKY29uc3QgUl9BTFBIQV9DT1BZIDx0eXBlIDIwNj4gPSAyNCA7CmNvbnN0IFJfQUxQSEFfR0xPQl9EQVQgPHR5cGUgMjA2PiA9IDI1IDsKY29uc3QgUl9BTFBIQV9HUERJU1AgPHR5cGUgMjA2PiA9IDYgOwpjb25zdCBSX0FMUEhBX0dQUkVMMzIgPHR5cGUgMjA2PiA9IDMgOwpjb25zdCBSX0FMUEhBX0dQUkVMSElHSCA8dHlwZSAyMDY+ID0gMTcgOwpjb25zdCBSX0FMUEhBX0dQUkVMTE9XIDx0eXBlIDIwNj4gPSAxOCA7CmNvbnN0IFJfQUxQSEFfR1BWQUxVRSA8dHlwZSAyMDY+ID0gMTYgOwpjb25zdCBSX0FMUEhBX0hJTlQgPHR5cGUgMjA2PiA9IDggOwpjb25zdCBSX0FMUEhBX0lNTUVEX0JSX0hJMzIgPHR5cGUgMjA2PiA9IDIyIDsKY29uc3QgUl9BTFBIQV9JTU1FRF9HUF8xNiA8dHlwZSAyMDY+ID0gMTkgOwpjb25zdCBSX0FMUEhBX0lNTUVEX0dQX0hJMzIgPHR5cGUgMjA2PiA9IDIwIDsKY29uc3QgUl9BTFBIQV9JTU1FRF9MTzMyIDx0eXBlIDIwNj4gPSAyMyA7CmNvbnN0IFJfQUxQSEFfSU1NRURfU0NOX0hJMzIgPHR5cGUgMjA2PiA9IDIxIDsKY29uc3QgUl9BTFBIQV9KTVBfU0xPVCA8dHlwZSAyMDY+ID0gMjYgOwpjb25zdCBSX0FMUEhBX0xJVEVSQUwgPHR5cGUgMjA2PiA9IDQgOwpjb25zdCBSX0FMUEhBX0xJVFVTRSA8dHlwZSAyMDY+ID0gNSA7CmNvbnN0IFJfQUxQSEFfTk9ORSA8dHlwZSAyMDY+ID0gMCA7CmNvbnN0IFJfQUxQSEFfT1BfUFJTSElGVCA8dHlwZSAyMDY+ID0gMTUgOwpjb25zdCBSX0FMUEhBX09QX1BTVUIgPHR5cGUgMjA2PiA9IDE0IDsKY29uc3QgUl9BTFBIQV9PUF9QVVNIIDx0eXBlIDIwNj4gPSAxMiA7CmNvbnN0IFJfQUxQSEFfT1BfU1RPUkUgPHR5cGUgMjA2PiA9IDEzIDsKY29uc3QgUl9BTFBIQV9SRUZMT05HIDx0eXBlIDIwNj4gPSAxIDsKY29uc3QgUl9BTFBIQV9SRUZRVUFEIDx0eXBlIDIwNj4gPSAyIDsKY29uc3QgUl9BTFBIQV9SRUxBVElWRSA8dHlwZSAyMDY+ID0gMjcgOwpjb25zdCBSX0FMUEhBX1NSRUwxNiA8dHlwZSAyMDY+ID0gOSA7CmNvbnN0IFJfQUxQSEFfU1JFTDMyIDx0eXBlIDIwNj4gPSAxMCA7CmNvbnN0IFJfQUxQSEFfU1JFTDY0IDx0eXBlIDIwNj4gPSAxMSA7CnR5cGUgPHR5cGUgMjA3ICJSX0FSTSIgPHR5cGUgLTExPgogZnVuYyAoaSA8dHlwZSAyMDc+KSBTdHJpbmcgKCkgPHR5cGUgLTE2PjsKIGZ1bmMgKGkgPHR5cGUgMjA3PikgR29TdHJpbmcgKCkgPHR5cGUgLTE2PjsKPjsKY29uc3QgUl9BUk1fQUJTMTIgPHR5cGUgMjA3PiA9IDYgOwpjb25zdCBSX0FSTV9BQlMxNiA8dHlwZSAyMDc+ID0gNSA7CmNvbnN0IFJfQVJNX0FCUzMyIDx0eXBlIDIwNz4gPSAyIDsKY29uc3QgUl9BUk1fQUJTOCA8dHlwZSAyMDc+ID0gOCA7CmNvbnN0IFJfQVJNX0FNUF9WQ0FMTDkgPHR5cGUgMjA3PiA9IDEyIDsKY29uc3QgUl9BUk1fQ09QWSA8dHlwZSAyMDc+ID0gMjAgOwpjb25zdCBSX0FSTV9HTE9CX0RBVCA8dHlwZSAyMDc+ID0gMjEgOwpjb25zdCBSX0FSTV9HTlVfVlRFTlRSWSA8dHlwZSAyMDc+ID0gMTAwIDsKY29uc3QgUl9BUk1fR05VX1ZUSU5IRVJJVCA8dHlwZSAyMDc+ID0gMTAxIDsKY29uc3QgUl9BUk1fR09UMzIgPHR5cGUgMjA3PiA9IDI2IDsKY29uc3QgUl9BUk1fR09UT0ZGIDx0eXBlIDIwNz4gPSAyNCA7CmNvbnN0IFJfQVJNX0dPVFBDIDx0eXBlIDIwNz4gPSAyNSA7CmNvbnN0IFJfQVJNX0pVTVBfU0xPVCA8dHlwZSAyMDc+ID0gMjIgOwpjb25zdCBSX0FSTV9OT05FIDx0eXBlIDIwNz4gPSAwIDsKY29uc3QgUl9BUk1fUEMxMyA8dHlwZSAyMDc+ID0gNCA7CmNvbnN0IFJfQVJNX1BDMjQgPHR5cGUgMjA3PiA9IDEgOwpjb25zdCBSX0FSTV9QTFQzMiA8dHlwZSAyMDc+ID0gMjcgOwpjb25zdCBSX0FSTV9SQUJTMzIgPHR5cGUgMjA3PiA9IDI1MyA7CmNvbnN0IFJfQVJNX1JCQVNFIDx0eXBlIDIwNz4gPSAyNTUgOwpjb25zdCBSX0FSTV9SRUwzMiA8dHlwZSAyMDc+ID0gMyA7CmNvbnN0IFJfQVJNX1JFTEFUSVZFIDx0eXBlIDIwNz4gPSAyMyA7CmNvbnN0IFJfQVJNX1JQQzI0IDx0eXBlIDIwNz4gPSAyNTQgOwpjb25zdCBSX0FSTV9SUkVMMzIgPHR5cGUgMjA3PiA9IDI1MiA7CmNvbnN0IFJfQVJNX1JTQlJFTDMyIDx0eXBlIDIwNz4gPSAyNTAgOwpjb25zdCBSX0FSTV9TQlJFTDMyIDx0eXBlIDIwNz4gPSA5IDsKY29uc3QgUl9BUk1fU1dJMjQgPHR5cGUgMjA3PiA9IDEzIDsKY29uc3QgUl9BUk1fVEhNX0FCUzUgPHR5cGUgMjA3PiA9IDcgOwpjb25zdCBSX0FSTV9USE1fUEMyMiA8dHlwZSAyMDc+ID0gMTAgOwpjb25zdCBSX0FSTV9USE1fUEM4IDx0eXBlIDIwNz4gPSAxMSA7CmNvbnN0IFJfQVJNX1RITV9SUEMyMiA8dHlwZSAyMDc+ID0gMjUxIDsKY29uc3QgUl9BUk1fVEhNX1NXSTggPHR5cGUgMjA3PiA9IDE0IDsKY29uc3QgUl9BUk1fVEhNX1hQQzIyIDx0eXBlIDIwNz4gPSAxNiA7CmNvbnN0IFJfQVJNX1hQQzI1IDx0eXBlIDIwNz4gPSAxNSA7CmZ1bmMgUl9JTkZPIChzeW0gPHR5cGUgLTc+LCB0eXAgPHR5cGUgLTc+KSA8dHlwZSAtOD47CmZ1bmMgUl9JTkZPMzIgKHN5bSA8dHlwZSAtNz4sIHR5cCA8dHlwZSAtNz4pIDx0eXBlIC03PjsKdHlwZSA8dHlwZSAyMDggIlJfUFBDIiA8dHlwZSAtMTE+CiBmdW5jIChpIDx0eXBlIDIwOD4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAoaSA8dHlwZSAyMDg+KSBHb1N0cmluZyAoKSA8dHlwZSAtMTY+Owo+Owp0eXBlIDx0eXBlIDIwOSAiUl9QUEM2NCIgPHR5cGUgLTExPgogZnVuYyAoaSA8dHlwZSAyMDk+KSBTdHJpbmcgKCkgPHR5cGUgLTE2PjsKIGZ1bmMgKGkgPHR5cGUgMjA5PikgR29TdHJpbmcgKCkgPHR5cGUgLTE2PjsKPjsKY29uc3QgUl9QUEM2NF9BRERSMTQgPHR5cGUgMjA5PiA9IDcgOwpjb25zdCBSX1BQQzY0X0FERFIxNF9CUk5UQUtFTiA8dHlwZSAyMDk+ID0gOSA7CmNvbnN0IFJfUFBDNjRfQUREUjE0X0JSVEFLRU4gPHR5cGUgMjA5PiA9IDggOwpjb25zdCBSX1BQQzY0X0FERFIxNiA8dHlwZSAyMDk+ID0gMyA7CmNvbnN0IFJfUFBDNjRfQUREUjE2X0RTIDx0eXBlIDIwOT4gPSA1NiA7CmNvbnN0IFJfUFBDNjRfQUREUjE2X0hBIDx0eXBlIDIwOT4gPSA2IDsKY29uc3QgUl9QUEM2NF9BRERSMTZfSEkgPHR5cGUgMjA5PiA9IDUgOwpjb25zdCBSX1BQQzY0X0FERFIxNl9ISUdIRVIgPHR5cGUgMjA5PiA9IDM5IDsKY29uc3QgUl9QUEM2NF9BRERSMTZfSElHSEVSQSA8dHlwZSAyMDk+ID0gNDAgOwpjb25zdCBSX1BQQzY0X0FERFIxNl9ISUdIRVNUIDx0eXBlIDIwOT4gPSA0MSA7CmNvbnN0IFJfUFBDNjRfQUREUjE2X0hJR0hFU1RBIDx0eXBlIDIwOT4gPSA0MiA7CmNvbnN0IFJfUFBDNjRfQUREUjE2X0xPIDx0eXBlIDIwOT4gPSA0IDsKY29uc3QgUl9QUEM2NF9BRERSMTZfTE9fRFMgPHR5cGUgMjA5PiA9IDU3IDsKY29uc3QgUl9QUEM2NF9BRERSMjQgPHR5cGUgMjA5PiA9IDIgOwpjb25zdCBSX1BQQzY0X0FERFIzMiA8dHlwZSAyMDk+ID0gMSA7CmNvbnN0IFJfUFBDNjRfQUREUjY0IDx0eXBlIDIwOT4gPSAzOCA7CmNvbnN0IFJfUFBDNjRfRFRQTU9ENjQgPHR5cGUgMjA5PiA9IDY4IDsKY29uc3QgUl9QUEM2NF9EVFBSRUwxNiA8dHlwZSAyMDk+ID0gNzQgOwpjb25zdCBSX1BQQzY0X0RUUFJFTDE2X0RTIDx0eXBlIDIwOT4gPSAxMDEgOwpjb25zdCBSX1BQQzY0X0RUUFJFTDE2X0hBIDx0eXBlIDIwOT4gPSA3NyA7CmNvbnN0IFJfUFBDNjRfRFRQUkVMMTZfSEkgPHR5cGUgMjA5PiA9IDc2IDsKY29uc3QgUl9QUEM2NF9EVFBSRUwxNl9ISUdIRVIgPHR5cGUgMjA5PiA9IDEwMyA7CmNvbnN0IFJfUFBDNjRfRFRQUkVMMTZfSElHSEVSQSA8dHlwZSAyMDk+ID0gMTA0IDsKY29uc3QgUl9QUEM2NF9EVFBSRUwxNl9ISUdIRVNUIDx0eXBlIDIwOT4gPSAxMDUgOwpjb25zdCBSX1BQQzY0X0RUUFJFTDE2X0hJR0hFU1RBIDx0eXBlIDIwOT4gPSAxMDYgOwpjb25zdCBSX1BQQzY0X0RUUFJFTDE2X0xPIDx0eXBlIDIwOT4gPSA3NSA7CmNvbnN0IFJfUFBDNjRfRFRQUkVMMTZfTE9fRFMgPHR5cGUgMjA5PiA9IDEwMiA7CmNvbnN0IFJfUFBDNjRfRFRQUkVMNjQgPHR5cGUgMjA5PiA9IDc4IDsKY29uc3QgUl9QUEM2NF9HT1QxNiA8dHlwZSAyMDk+ID0gMTQgOwpjb25zdCBSX1BQQzY0X0dPVDE2X0RTIDx0eXBlIDIwOT4gPSA1OCA7CmNvbnN0IFJfUFBDNjRfR09UMTZfSEEgPHR5cGUgMjA5PiA9IDE3IDsKY29uc3QgUl9QUEM2NF9HT1QxNl9ISSA8dHlwZSAyMDk+ID0gMTYgOwpjb25zdCBSX1BQQzY0X0dPVDE2X0xPIDx0eXBlIDIwOT4gPSAxNSA7CmNvbnN0IFJfUFBDNjRfR09UMTZfTE9fRFMgPHR5cGUgMjA5PiA9IDU5IDsKY29uc3QgUl9QUEM2NF9HT1RfRFRQUkVMMTZfRFMgPHR5cGUgMjA5PiA9IDkxIDsKY29uc3QgUl9QUEM2NF9HT1RfRFRQUkVMMTZfSEEgPHR5cGUgMjA5PiA9IDk0IDsKY29uc3QgUl9QUEM2NF9HT1RfRFRQUkVMMTZfSEkgPHR5cGUgMjA5PiA9IDkzIDsKY29uc3QgUl9QUEM2NF9HT1RfRFRQUkVMMTZfTE9fRFMgPHR5cGUgMjA5PiA9IDkyIDsKY29uc3QgUl9QUEM2NF9HT1RfVExTR0QxNiA8dHlwZSAyMDk+ID0gNzkgOwpjb25zdCBSX1BQQzY0X0dPVF9UTFNHRDE2X0hBIDx0eXBlIDIwOT4gPSA4MiA7CmNvbnN0IFJfUFBDNjRfR09UX1RMU0dEMTZfSEkgPHR5cGUgMjA5PiA9IDgxIDsKY29uc3QgUl9QUEM2NF9HT1RfVExTR0QxNl9MTyA8dHlwZSAyMDk+ID0gODAgOwpjb25zdCBSX1BQQzY0X0dPVF9UTFNMRDE2IDx0eXBlIDIwOT4gPSA4MyA7CmNvbnN0IFJfUFBDNjRfR09UX1RMU0xEMTZfSEEgPHR5cGUgMjA5PiA9IDg2IDsKY29uc3QgUl9QUEM2NF9HT1RfVExTTEQxNl9ISSA8dHlwZSAyMDk+ID0gODUgOwpjb25zdCBSX1BQQzY0X0dPVF9UTFNMRDE2X0xPIDx0eXBlIDIwOT4gPSA4NCA7CmNvbnN0IFJfUFBDNjRfR09UX1RQUkVMMTZfRFMgPHR5cGUgMjA5PiA9IDg3IDsKY29uc3QgUl9QUEM2NF9HT1RfVFBSRUwxNl9IQSA8dHlwZSAyMDk+ID0gOTAgOwpjb25zdCBSX1BQQzY0X0dPVF9UUFJFTDE2X0hJIDx0eXBlIDIwOT4gPSA4OSA7CmNvbnN0IFJfUFBDNjRfR09UX1RQUkVMMTZfTE9fRFMgPHR5cGUgMjA5PiA9IDg4IDsKY29uc3QgUl9QUEM2NF9KTVBfU0xPVCA8dHlwZSAyMDk+ID0gMjEgOwpjb25zdCBSX1BQQzY0X05PTkUgPHR5cGUgMjA5PiA9IDAgOwpjb25zdCBSX1BQQzY0X1JFTDE0IDx0eXBlIDIwOT4gPSAxMSA7CmNvbnN0IFJfUFBDNjRfUkVMMTRfQlJOVEFLRU4gPHR5cGUgMjA5PiA9IDEzIDsKY29uc3QgUl9QUEM2NF9SRUwxNF9CUlRBS0VOIDx0eXBlIDIwOT4gPSAxMiA7CmNvbnN0IFJfUFBDNjRfUkVMMTYgPHR5cGUgMjA5PiA9IDI0OSA7CmNvbnN0IFJfUFBDNjRfUkVMMTZfSEEgPHR5cGUgMjA5PiA9IDI1MiA7CmNvbnN0IFJfUFBDNjRfUkVMMTZfSEkgPHR5cGUgMjA5PiA9IDI1MSA7CmNvbnN0IFJfUFBDNjRfUkVMMTZfTE8gPHR5cGUgMjA5PiA9IDI1MCA7CmNvbnN0IFJfUFBDNjRfUkVMMjQgPHR5cGUgMjA5PiA9IDEwIDsKY29uc3QgUl9QUEM2NF9SRUwzMiA8dHlwZSAyMDk+ID0gMjYgOwpjb25zdCBSX1BQQzY0X1JFTDY0IDx0eXBlIDIwOT4gPSA0NCA7CmNvbnN0IFJfUFBDNjRfVExTIDx0eXBlIDIwOT4gPSA2NyA7CmNvbnN0IFJfUFBDNjRfVExTR0QgPHR5cGUgMjA5PiA9IDEwNyA7CmNvbnN0IFJfUFBDNjRfVExTTEQgPHR5cGUgMjA5PiA9IDEwOCA7CmNvbnN0IFJfUFBDNjRfVE9DIDx0eXBlIDIwOT4gPSA1MSA7CmNvbnN0IFJfUFBDNjRfVE9DMTYgPHR5cGUgMjA5PiA9IDQ3IDsKY29uc3QgUl9QUEM2NF9UT0MxNl9EUyA8dHlwZSAyMDk+ID0gNjMgOwpjb25zdCBSX1BQQzY0X1RPQzE2X0hBIDx0eXBlIDIwOT4gPSA1MCA7CmNvbnN0IFJfUFBDNjRfVE9DMTZfSEkgPHR5cGUgMjA5PiA9IDQ5IDsKY29uc3QgUl9QUEM2NF9UT0MxNl9MTyA8dHlwZSAyMDk+ID0gNDggOwpjb25zdCBSX1BQQzY0X1RPQzE2X0xPX0RTIDx0eXBlIDIwOT4gPSA2NCA7CmNvbnN0IFJfUFBDNjRfVFBSRUwxNiA8dHlwZSAyMDk+ID0gNjkgOwpjb25zdCBSX1BQQzY0X1RQUkVMMTZfRFMgPHR5cGUgMjA5PiA9IDk1IDsKY29uc3QgUl9QUEM2NF9UUFJFTDE2X0hBIDx0eXBlIDIwOT4gPSA3MiA7CmNvbnN0IFJfUFBDNjRfVFBSRUwxNl9ISSA8dHlwZSAyMDk+ID0gNzEgOwpjb25zdCBSX1BQQzY0X1RQUkVMMTZfSElHSEVSIDx0eXBlIDIwOT4gPSA5NyA7CmNvbnN0IFJfUFBDNjRfVFBSRUwxNl9ISUdIRVJBIDx0eXBlIDIwOT4gPSA5OCA7CmNvbnN0IFJfUFBDNjRfVFBSRUwxNl9ISUdIRVNUIDx0eXBlIDIwOT4gPSA5OSA7CmNvbnN0IFJfUFBDNjRfVFBSRUwxNl9ISUdIRVNUQSA8dHlwZSAyMDk+ID0gMTAwIDsKY29uc3QgUl9QUEM2NF9UUFJFTDE2X0xPIDx0eXBlIDIwOT4gPSA3MCA7CmNvbnN0IFJfUFBDNjRfVFBSRUwxNl9MT19EUyA8dHlwZSAyMDk+ID0gOTYgOwpjb25zdCBSX1BQQzY0X1RQUkVMNjQgPHR5cGUgMjA5PiA9IDczIDsKY29uc3QgUl9QUENfQUREUjE0IDx0eXBlIDIwOD4gPSA3IDsKY29uc3QgUl9QUENfQUREUjE0X0JSTlRBS0VOIDx0eXBlIDIwOD4gPSA5IDsKY29uc3QgUl9QUENfQUREUjE0X0JSVEFLRU4gPHR5cGUgMjA4PiA9IDggOwpjb25zdCBSX1BQQ19BRERSMTYgPHR5cGUgMjA4PiA9IDMgOwpjb25zdCBSX1BQQ19BRERSMTZfSEEgPHR5cGUgMjA4PiA9IDYgOwpjb25zdCBSX1BQQ19BRERSMTZfSEkgPHR5cGUgMjA4PiA9IDUgOwpjb25zdCBSX1BQQ19BRERSMTZfTE8gPHR5cGUgMjA4PiA9IDQgOwpjb25zdCBSX1BQQ19BRERSMjQgPHR5cGUgMjA4PiA9IDIgOwpjb25zdCBSX1BQQ19BRERSMzIgPHR5cGUgMjA4PiA9IDEgOwpjb25zdCBSX1BQQ19DT1BZIDx0eXBlIDIwOD4gPSAxOSA7CmNvbnN0IFJfUFBDX0RUUE1PRDMyIDx0eXBlIDIwOD4gPSA2OCA7CmNvbnN0IFJfUFBDX0RUUFJFTDE2IDx0eXBlIDIwOD4gPSA3NCA7CmNvbnN0IFJfUFBDX0RUUFJFTDE2X0hBIDx0eXBlIDIwOD4gPSA3NyA7CmNvbnN0IFJfUFBDX0RUUFJFTDE2X0hJIDx0eXBlIDIwOD4gPSA3NiA7CmNvbnN0IFJfUFBDX0RUUFJFTDE2X0xPIDx0eXBlIDIwOD4gPSA3NSA7CmNvbnN0IFJfUFBDX0RUUFJFTDMyIDx0eXBlIDIwOD4gPSA3OCA7CmNvbnN0IFJfUFBDX0VNQl9CSVRfRkxEIDx0eXBlIDIwOD4gPSAxMTUgOwpjb25zdCBSX1BQQ19FTUJfTVJLUkVGIDx0eXBlIDIwOD4gPSAxMTAgOwpjb25zdCBSX1BQQ19FTUJfTkFERFIxNiA8dHlwZSAyMDg+ID0gMTAyIDsKY29uc3QgUl9QUENfRU1CX05BRERSMTZfSEEgPHR5cGUgMjA4PiA9IDEwNSA7CmNvbnN0IFJfUFBDX0VNQl9OQUREUjE2X0hJIDx0eXBlIDIwOD4gPSAxMDQgOwpjb25zdCBSX1BQQ19FTUJfTkFERFIxNl9MTyA8dHlwZSAyMDg+ID0gMTAzIDsKY29uc3QgUl9QUENfRU1CX05BRERSMzIgPHR5cGUgMjA4PiA9IDEwMSA7CmNvbnN0IFJfUFBDX0VNQl9SRUxTREEgPHR5cGUgMjA4PiA9IDExNiA7CmNvbnN0IFJfUFBDX0VNQl9SRUxTRUMxNiA8dHlwZSAyMDg+ID0gMTExIDsKY29uc3QgUl9QUENfRU1CX1JFTFNUX0hBIDx0eXBlIDIwOD4gPSAxMTQgOwpjb25zdCBSX1BQQ19FTUJfUkVMU1RfSEkgPHR5cGUgMjA4PiA9IDExMyA7CmNvbnN0IFJfUFBDX0VNQl9SRUxTVF9MTyA8dHlwZSAyMDg+ID0gMTEyIDsKY29uc3QgUl9QUENfRU1CX1NEQTIxIDx0eXBlIDIwOD4gPSAxMDkgOwpjb25zdCBSX1BQQ19FTUJfU0RBMkkxNiA8dHlwZSAyMDg+ID0gMTA3IDsKY29uc3QgUl9QUENfRU1CX1NEQTJSRUwgPHR5cGUgMjA4PiA9IDEwOCA7CmNvbnN0IFJfUFBDX0VNQl9TREFJMTYgPHR5cGUgMjA4PiA9IDEwNiA7CmNvbnN0IFJfUFBDX0dMT0JfREFUIDx0eXBlIDIwOD4gPSAyMCA7CmNvbnN0IFJfUFBDX0dPVDE2IDx0eXBlIDIwOD4gPSAxNCA7CmNvbnN0IFJfUFBDX0dPVDE2X0hBIDx0eXBlIDIwOD4gPSAxNyA7CmNvbnN0IFJfUFBDX0dPVDE2X0hJIDx0eXBlIDIwOD4gPSAxNiA7CmNvbnN0IFJfUFBDX0dPVDE2X0xPIDx0eXBlIDIwOD4gPSAxNSA7CmNvbnN0IFJfUFBDX0dPVF9UTFNHRDE2IDx0eXBlIDIwOD4gPSA3OSA7CmNvbnN0IFJfUFBDX0dPVF9UTFNHRDE2X0hBIDx0eXBlIDIwOD4gPSA4MiA7CmNvbnN0IFJfUFBDX0dPVF9UTFNHRDE2X0hJIDx0eXBlIDIwOD4gPSA4MSA7CmNvbnN0IFJfUFBDX0dPVF9UTFNHRDE2X0xPIDx0eXBlIDIwOD4gPSA4MCA7CmNvbnN0IFJfUFBDX0dPVF9UTFNMRDE2IDx0eXBlIDIwOD4gPSA4MyA7CmNvbnN0IFJfUFBDX0dPVF9UTFNMRDE2X0hBIDx0eXBlIDIwOD4gPSA4NiA7CmNvbnN0IFJfUFBDX0dPVF9UTFNMRDE2X0hJIDx0eXBlIDIwOD4gPSA4NSA7CmNvbnN0IFJfUFBDX0dPVF9UTFNMRDE2X0xPIDx0eXBlIDIwOD4gPSA4NCA7CmNvbnN0IFJfUFBDX0dPVF9UUFJFTDE2IDx0eXBlIDIwOD4gPSA4NyA7CmNvbnN0IFJfUFBDX0dPVF9UUFJFTDE2X0hBIDx0eXBlIDIwOD4gPSA5MCA7CmNvbnN0IFJfUFBDX0dPVF9UUFJFTDE2X0hJIDx0eXBlIDIwOD4gPSA4OSA7CmNvbnN0IFJfUFBDX0dPVF9UUFJFTDE2X0xPIDx0eXBlIDIwOD4gPSA4OCA7CmNvbnN0IFJfUFBDX0pNUF9TTE9UIDx0eXBlIDIwOD4gPSAyMSA7CmNvbnN0IFJfUFBDX0xPQ0FMMjRQQyA8dHlwZSAyMDg+ID0gMjMgOwpjb25zdCBSX1BQQ19OT05FIDx0eXBlIDIwOD4gPSAwIDsKY29uc3QgUl9QUENfUExUMTZfSEEgPHR5cGUgMjA4PiA9IDMxIDsKY29uc3QgUl9QUENfUExUMTZfSEkgPHR5cGUgMjA4PiA9IDMwIDsKY29uc3QgUl9QUENfUExUMTZfTE8gPHR5cGUgMjA4PiA9IDI5IDsKY29uc3QgUl9QUENfUExUMzIgPHR5cGUgMjA4PiA9IDI3IDsKY29uc3QgUl9QUENfUExUUkVMMjQgPHR5cGUgMjA4PiA9IDE4IDsKY29uc3QgUl9QUENfUExUUkVMMzIgPHR5cGUgMjA4PiA9IDI4IDsKY29uc3QgUl9QUENfUkVMMTQgPHR5cGUgMjA4PiA9IDExIDsKY29uc3QgUl9QUENfUkVMMTRfQlJOVEFLRU4gPHR5cGUgMjA4PiA9IDEzIDsKY29uc3QgUl9QUENfUkVMMTRfQlJUQUtFTiA8dHlwZSAyMDg+ID0gMTIgOwpjb25zdCBSX1BQQ19SRUwyNCA8dHlwZSAyMDg+ID0gMTAgOwpjb25zdCBSX1BQQ19SRUwzMiA8dHlwZSAyMDg+ID0gMjYgOwpjb25zdCBSX1BQQ19SRUxBVElWRSA8dHlwZSAyMDg+ID0gMjIgOwpjb25zdCBSX1BQQ19TREFSRUwxNiA8dHlwZSAyMDg+ID0gMzIgOwpjb25zdCBSX1BQQ19TRUNUT0ZGIDx0eXBlIDIwOD4gPSAzMyA7CmNvbnN0IFJfUFBDX1NFQ1RPRkZfSEEgPHR5cGUgMjA4PiA9IDM2IDsKY29uc3QgUl9QUENfU0VDVE9GRl9ISSA8dHlwZSAyMDg+ID0gMzUgOwpjb25zdCBSX1BQQ19TRUNUT0ZGX0xPIDx0eXBlIDIwOD4gPSAzNCA7CmNvbnN0IFJfUFBDX1RMUyA8dHlwZSAyMDg+ID0gNjcgOwpjb25zdCBSX1BQQ19UUFJFTDE2IDx0eXBlIDIwOD4gPSA2OSA7CmNvbnN0IFJfUFBDX1RQUkVMMTZfSEEgPHR5cGUgMjA4PiA9IDcyIDsKY29uc3QgUl9QUENfVFBSRUwxNl9ISSA8dHlwZSAyMDg+ID0gNzEgOwpjb25zdCBSX1BQQ19UUFJFTDE2X0xPIDx0eXBlIDIwOD4gPSA3MCA7CmNvbnN0IFJfUFBDX1RQUkVMMzIgPHR5cGUgMjA4PiA9IDczIDsKY29uc3QgUl9QUENfVUFERFIxNiA8dHlwZSAyMDg+ID0gMjUgOwpjb25zdCBSX1BQQ19VQUREUjMyIDx0eXBlIDIwOD4gPSAyNCA7CnR5cGUgPHR5cGUgMjEwICJSX1NQQVJDIiA8dHlwZSAtMTE+CiBmdW5jIChpIDx0eXBlIDIxMD4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAoaSA8dHlwZSAyMTA+KSBHb1N0cmluZyAoKSA8dHlwZSAtMTY+Owo+Owpjb25zdCBSX1NQQVJDXzEwIDx0eXBlIDIxMD4gPSAzMCA7CmNvbnN0IFJfU1BBUkNfMTEgPHR5cGUgMjEwPiA9IDMxIDsKY29uc3QgUl9TUEFSQ18xMyA8dHlwZSAyMTA+ID0gMTEgOwpjb25zdCBSX1NQQVJDXzE2IDx0eXBlIDIxMD4gPSAyIDsKY29uc3QgUl9TUEFSQ18yMiA8dHlwZSAyMTA+ID0gMTAgOwpjb25zdCBSX1NQQVJDXzMyIDx0eXBlIDIxMD4gPSAzIDsKY29uc3QgUl9TUEFSQ181IDx0eXBlIDIxMD4gPSA0NCA7CmNvbnN0IFJfU1BBUkNfNiA8dHlwZSAyMTA+ID0gNDUgOwpjb25zdCBSX1NQQVJDXzY0IDx0eXBlIDIxMD4gPSAzMiA7CmNvbnN0IFJfU1BBUkNfNyA8dHlwZSAyMTA+ID0gNDMgOwpjb25zdCBSX1NQQVJDXzggPHR5cGUgMjEwPiA9IDEgOwpjb25zdCBSX1NQQVJDX0NPUFkgPHR5cGUgMjEwPiA9IDE5IDsKY29uc3QgUl9TUEFSQ19ESVNQMTYgPHR5cGUgMjEwPiA9IDUgOwpjb25zdCBSX1NQQVJDX0RJU1AzMiA8dHlwZSAyMTA+ID0gNiA7CmNvbnN0IFJfU1BBUkNfRElTUDY0IDx0eXBlIDIxMD4gPSA0NiA7CmNvbnN0IFJfU1BBUkNfRElTUDggPHR5cGUgMjEwPiA9IDQgOwpjb25zdCBSX1NQQVJDX0dMT0JfREFUIDx0eXBlIDIxMD4gPSAyMCA7CmNvbnN0IFJfU1BBUkNfR0xPQl9KTVAgPHR5cGUgMjEwPiA9IDQyIDsKY29uc3QgUl9TUEFSQ19HT1QxMCA8dHlwZSAyMTA+ID0gMTMgOwpjb25zdCBSX1NQQVJDX0dPVDEzIDx0eXBlIDIxMD4gPSAxNCA7CmNvbnN0IFJfU1BBUkNfR09UMjIgPHR5cGUgMjEwPiA9IDE1IDsKY29uc3QgUl9TUEFSQ19INDQgPHR5cGUgMjEwPiA9IDUwIDsKY29uc3QgUl9TUEFSQ19ISDIyIDx0eXBlIDIxMD4gPSAzNCA7CmNvbnN0IFJfU1BBUkNfSEkyMiA8dHlwZSAyMTA+ID0gOSA7CmNvbnN0IFJfU1BBUkNfSElQTFQyMiA8dHlwZSAyMTA+ID0gMjUgOwpjb25zdCBSX1NQQVJDX0hJWDIyIDx0eXBlIDIxMD4gPSA0OCA7CmNvbnN0IFJfU1BBUkNfSE0xMCA8dHlwZSAyMTA+ID0gMzUgOwpjb25zdCBSX1NQQVJDX0pNUF9TTE9UIDx0eXBlIDIxMD4gPSAyMSA7CmNvbnN0IFJfU1BBUkNfTDQ0IDx0eXBlIDIxMD4gPSA1MiA7CmNvbnN0IFJfU1BBUkNfTE0yMiA8dHlwZSAyMTA+ID0gMzYgOwpjb25zdCBSX1NQQVJDX0xPMTAgPHR5cGUgMjEwPiA9IDEyIDsKY29uc3QgUl9TUEFSQ19MT1BMVDEwIDx0eXBlIDIxMD4gPSAyNiA7CmNvbnN0IFJfU1BBUkNfTE9YMTAgPHR5cGUgMjEwPiA9IDQ5IDsKY29uc3QgUl9TUEFSQ19NNDQgPHR5cGUgMjEwPiA9IDUxIDsKY29uc3QgUl9TUEFSQ19OT05FIDx0eXBlIDIxMD4gPSAwIDsKY29uc3QgUl9TUEFSQ19PTE8xMCA8dHlwZSAyMTA+ID0gMzMgOwpjb25zdCBSX1NQQVJDX1BDMTAgPHR5cGUgMjEwPiA9IDE2IDsKY29uc3QgUl9TUEFSQ19QQzIyIDx0eXBlIDIxMD4gPSAxNyA7CmNvbnN0IFJfU1BBUkNfUENQTFQxMCA8dHlwZSAyMTA+ID0gMjkgOwpjb25zdCBSX1NQQVJDX1BDUExUMjIgPHR5cGUgMjEwPiA9IDI4IDsKY29uc3QgUl9TUEFSQ19QQ1BMVDMyIDx0eXBlIDIxMD4gPSAyNyA7CmNvbnN0IFJfU1BBUkNfUENfSEgyMiA8dHlwZSAyMTA+ID0gMzcgOwpjb25zdCBSX1NQQVJDX1BDX0hNMTAgPHR5cGUgMjEwPiA9IDM4IDsKY29uc3QgUl9TUEFSQ19QQ19MTTIyIDx0eXBlIDIxMD4gPSAzOSA7CmNvbnN0IFJfU1BBUkNfUExUMzIgPHR5cGUgMjEwPiA9IDI0IDsKY29uc3QgUl9TUEFSQ19QTFQ2NCA8dHlwZSAyMTA+ID0gNDcgOwpjb25zdCBSX1NQQVJDX1JFR0lTVEVSIDx0eXBlIDIxMD4gPSA1MyA7CmNvbnN0IFJfU1BBUkNfUkVMQVRJVkUgPHR5cGUgMjEwPiA9IDIyIDsKY29uc3QgUl9TUEFSQ19VQTE2IDx0eXBlIDIxMD4gPSA1NSA7CmNvbnN0IFJfU1BBUkNfVUEzMiA8dHlwZSAyMTA+ID0gMjMgOwpjb25zdCBSX1NQQVJDX1VBNjQgPHR5cGUgMjEwPiA9IDU0IDsKY29uc3QgUl9TUEFSQ19XRElTUDE2IDx0eXBlIDIxMD4gPSA0MCA7CmNvbnN0IFJfU1BBUkNfV0RJU1AxOSA8dHlwZSAyMTA+ID0gNDEgOwpjb25zdCBSX1NQQVJDX1dESVNQMjIgPHR5cGUgMjEwPiA9IDggOwpjb25zdCBSX1NQQVJDX1dESVNQMzAgPHR5cGUgMjEwPiA9IDcgOwpjb25zdCBSX1NQQVJDX1dQTFQzMCA8dHlwZSAyMTA+ID0gMTggOwpmdW5jIFJfU1lNMzIgKGluZm8gPHR5cGUgLTc+KSA8dHlwZSAtNz47CmZ1bmMgUl9TWU02NCAoaW5mbyA8dHlwZSAtOD4pIDx0eXBlIC03PjsKZnVuYyBSX1RZUEUzMiAoaW5mbyA8dHlwZSAtNz4pIDx0eXBlIC03PjsKZnVuYyBSX1RZUEU2NCAoaW5mbyA8dHlwZSAtOD4pIDx0eXBlIC03PjsKdHlwZSA8dHlwZSAyMTEgIlJfWDg2XzY0IiA8dHlwZSAtMTE+CiBmdW5jIChpIDx0eXBlIDIxMT4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAoaSA8dHlwZSAyMTE+KSBHb1N0cmluZyAoKSA8dHlwZSAtMTY+Owo+Owpjb25zdCBSX1g4Nl82NF8xNiA8dHlwZSAyMTE+ID0gMTIgOwpjb25zdCBSX1g4Nl82NF8zMiA8dHlwZSAyMTE+ID0gMTAgOwpjb25zdCBSX1g4Nl82NF8zMlMgPHR5cGUgMjExPiA9IDExIDsKY29uc3QgUl9YODZfNjRfNjQgPHR5cGUgMjExPiA9IDEgOwpjb25zdCBSX1g4Nl82NF84IDx0eXBlIDIxMT4gPSAxNCA7CmNvbnN0IFJfWDg2XzY0X0NPUFkgPHR5cGUgMjExPiA9IDUgOwpjb25zdCBSX1g4Nl82NF9EVFBNT0Q2NCA8dHlwZSAyMTE+ID0gMTYgOwpjb25zdCBSX1g4Nl82NF9EVFBPRkYzMiA8dHlwZSAyMTE+ID0gMjEgOwpjb25zdCBSX1g4Nl82NF9EVFBPRkY2NCA8dHlwZSAyMTE+ID0gMTcgOwpjb25zdCBSX1g4Nl82NF9HTE9CX0RBVCA8dHlwZSAyMTE+ID0gNiA7CmNvbnN0IFJfWDg2XzY0X0dPVDMyIDx0eXBlIDIxMT4gPSAzIDsKY29uc3QgUl9YODZfNjRfR09UUENSRUwgPHR5cGUgMjExPiA9IDkgOwpjb25zdCBSX1g4Nl82NF9HT1RUUE9GRiA8dHlwZSAyMTE+ID0gMjIgOwpjb25zdCBSX1g4Nl82NF9KTVBfU0xPVCA8dHlwZSAyMTE+ID0gNyA7CmNvbnN0IFJfWDg2XzY0X05PTkUgPHR5cGUgMjExPiA9IDAgOwpjb25zdCBSX1g4Nl82NF9QQzE2IDx0eXBlIDIxMT4gPSAxMyA7CmNvbnN0IFJfWDg2XzY0X1BDMzIgPHR5cGUgMjExPiA9IDIgOwpjb25zdCBSX1g4Nl82NF9QQzggPHR5cGUgMjExPiA9IDE1IDsKY29uc3QgUl9YODZfNjRfUExUMzIgPHR5cGUgMjExPiA9IDQgOwpjb25zdCBSX1g4Nl82NF9SRUxBVElWRSA8dHlwZSAyMTE+ID0gOCA7CmNvbnN0IFJfWDg2XzY0X1RMU0dEIDx0eXBlIDIxMT4gPSAxOSA7CmNvbnN0IFJfWDg2XzY0X1RMU0xEIDx0eXBlIDIxMT4gPSAyMCA7CmNvbnN0IFJfWDg2XzY0X1RQT0ZGMzIgPHR5cGUgMjExPiA9IDIzIDsKY29uc3QgUl9YODZfNjRfVFBPRkY2NCA8dHlwZSAyMTE+ID0gMTggOwp0eXBlIDx0eXBlIDIxMiAiUmVsMzIiIDx0eXBlIDIxMyBzdHJ1Y3QgeyBPZmYgPHR5cGUgLTc+OyBJbmZvIDx0eXBlIC03PjsgfT4+Owp0eXBlIDx0eXBlIDIxNCAiUmVsNjQiIDx0eXBlIDIxNSBzdHJ1Y3QgeyBPZmYgPHR5cGUgLTg+OyBJbmZvIDx0eXBlIC04PjsgfT4+Owp0eXBlIDx0eXBlIDIxNiAiUmVsYTMyIiA8dHlwZSAyMTcgc3RydWN0IHsgT2ZmIDx0eXBlIC03PjsgSW5mbyA8dHlwZSAtNz47IEFkZGVuZCA8dHlwZSAtMz47IH0+PjsKdHlwZSA8dHlwZSAyMTggIlJlbGE2NCIgPHR5cGUgMjE5IHN0cnVjdCB7IE9mZiA8dHlwZSAtOD47IEluZm8gPHR5cGUgLTg+OyBBZGRlbmQgPHR5cGUgLTQ+OyB9Pj47CmNvbnN0IFNIRl9BTExPQyA8dHlwZSAzMj4gPSAyIDsKY29uc3QgU0hGX0VYRUNJTlNUUiA8dHlwZSAzMj4gPSA0IDsKY29uc3QgU0hGX0dST1VQIDx0eXBlIDMyPiA9IDUxMiA7CmNvbnN0IFNIRl9JTkZPX0xJTksgPHR5cGUgMzI+ID0gNjQgOwpjb25zdCBTSEZfTElOS19PUkRFUiA8dHlwZSAzMj4gPSAxMjggOwpjb25zdCBTSEZfTUFTS09TIDx0eXBlIDMyPiA9IDI2NzM4Njg4MCA7CmNvbnN0IFNIRl9NQVNLUFJPQyA8dHlwZSAzMj4gPSA0MDI2NTMxODQwIDsKY29uc3QgU0hGX01FUkdFIDx0eXBlIDMyPiA9IDE2IDsKY29uc3QgU0hGX09TX05PTkNPTkZPUk1JTkcgPHR5cGUgMzI+ID0gMjU2IDsKY29uc3QgU0hGX1NUUklOR1MgPHR5cGUgMzI+ID0gMzIgOwpjb25zdCBTSEZfVExTIDx0eXBlIDMyPiA9IDEwMjQgOwpjb25zdCBTSEZfV1JJVEUgPHR5cGUgMzI+ID0gMSA7CmNvbnN0IFNITl9BQlMgPHR5cGUgNzE+ID0gNjU1MjEgOwpjb25zdCBTSE5fQ09NTU9OIDx0eXBlIDcxPiA9IDY1NTIyIDsKY29uc3QgU0hOX0hJT1MgPHR5cGUgNzE+ID0gNjUzNDMgOwpjb25zdCBTSE5fSElQUk9DIDx0eXBlIDcxPiA9IDY1MzExIDsKY29uc3QgU0hOX0hJUkVTRVJWRSA8dHlwZSA3MT4gPSA2NTUzNSA7CmNvbnN0IFNITl9MT09TIDx0eXBlIDcxPiA9IDY1MzEyIDsKY29uc3QgU0hOX0xPUFJPQyA8dHlwZSA3MT4gPSA2NTI4MCA7CmNvbnN0IFNITl9MT1JFU0VSVkUgPHR5cGUgNzE+ID0gNjUyODAgOwpjb25zdCBTSE5fVU5ERUYgPHR5cGUgNzE+ID0gMCA7CmNvbnN0IFNITl9YSU5ERVggPHR5cGUgNzE+ID0gNjU1MzUgOwpjb25zdCBTSFRfRFlOQU1JQyA8dHlwZSAzMT4gPSA2IDsKY29uc3QgU0hUX0RZTlNZTSA8dHlwZSAzMT4gPSAxMSA7CmNvbnN0IFNIVF9GSU5JX0FSUkFZIDx0eXBlIDMxPiA9IDE1IDsKY29uc3QgU0hUX0dOVV9BVFRSSUJVVEVTIDx0eXBlIDMxPiA9IDE4NzkwNDgxODEgOwpjb25zdCBTSFRfR05VX0hBU0ggPHR5cGUgMzE+ID0gMTg3OTA0ODE4MiA7CmNvbnN0IFNIVF9HTlVfTElCTElTVCA8dHlwZSAzMT4gPSAxODc5MDQ4MTgzIDsKY29uc3QgU0hUX0dOVV9WRVJERUYgPHR5cGUgMzE+ID0gMTg3OTA0ODE4OSA7CmNvbnN0IFNIVF9HTlVfVkVSTkVFRCA8dHlwZSAzMT4gPSAxODc5MDQ4MTkwIDsKY29uc3QgU0hUX0dOVV9WRVJTWU0gPHR5cGUgMzE+ID0gMTg3OTA0ODE5MSA7CmNvbnN0IFNIVF9HUk9VUCA8dHlwZSAzMT4gPSAxNyA7CmNvbnN0IFNIVF9IQVNIIDx0eXBlIDMxPiA9IDUgOwpjb25zdCBTSFRfSElPUyA8dHlwZSAzMT4gPSAxODc5MDQ4MTkxIDsKY29uc3QgU0hUX0hJUFJPQyA8dHlwZSAzMT4gPSAyMTQ3NDgzNjQ3IDsKY29uc3QgU0hUX0hJVVNFUiA8dHlwZSAzMT4gPSA0Mjk0OTY3Mjk1IDsKY29uc3QgU0hUX0lOSVRfQVJSQVkgPHR5cGUgMzE+ID0gMTQgOwpjb25zdCBTSFRfTE9PUyA8dHlwZSAzMT4gPSAxNjEwNjEyNzM2IDsKY29uc3QgU0hUX0xPUFJPQyA8dHlwZSAzMT4gPSAxODc5MDQ4MTkyIDsKY29uc3QgU0hUX0xPVVNFUiA8dHlwZSAzMT4gPSAyMTQ3NDgzNjQ4IDsKY29uc3QgU0hUX05PQklUUyA8dHlwZSAzMT4gPSA4IDsKY29uc3QgU0hUX05PVEUgPHR5cGUgMzE+ID0gNyA7CmNvbnN0IFNIVF9OVUxMIDx0eXBlIDMxPiA9IDAgOwpjb25zdCBTSFRfUFJFSU5JVF9BUlJBWSA8dHlwZSAzMT4gPSAxNiA7CmNvbnN0IFNIVF9QUk9HQklUUyA8dHlwZSAzMT4gPSAxIDsKY29uc3QgU0hUX1JFTCA8dHlwZSAzMT4gPSA5IDsKY29uc3QgU0hUX1JFTEEgPHR5cGUgMzE+ID0gNCA7CmNvbnN0IFNIVF9TSExJQiA8dHlwZSAzMT4gPSAxMCA7CmNvbnN0IFNIVF9TVFJUQUIgPHR5cGUgMzE+ID0gMyA7CmNvbnN0IFNIVF9TWU1UQUIgPHR5cGUgMzE+ID0gMiA7CmNvbnN0IFNIVF9TWU1UQUJfU0hORFggPHR5cGUgMzE+ID0gMTggOwpjb25zdCBTVEJfR0xPQkFMIDx0eXBlIDIyMCAiU3ltQmluZCIgPHR5cGUgLTExPgogZnVuYyAoaSA8dHlwZSAyMjA+KSBTdHJpbmcgKCkgPHR5cGUgLTE2PjsKIGZ1bmMgKGkgPHR5cGUgMjIwPikgR29TdHJpbmcgKCkgPHR5cGUgLTE2PjsKPiA9IDEgOwpjb25zdCBTVEJfSElPUyA8dHlwZSAyMjA+ID0gMTIgOwpjb25zdCBTVEJfSElQUk9DIDx0eXBlIDIyMD4gPSAxNSA7CmNvbnN0IFNUQl9MT0NBTCA8dHlwZSAyMjA+ID0gMCA7CmNvbnN0IFNUQl9MT09TIDx0eXBlIDIyMD4gPSAxMCA7CmNvbnN0IFNUQl9MT1BST0MgPHR5cGUgMjIwPiA9IDEzIDsKY29uc3QgU1RCX1dFQUsgPHR5cGUgMjIwPiA9IDIgOwpjb25zdCBTVFRfQ09NTU9OIDx0eXBlIDIyMSAiU3ltVHlwZSIgPHR5cGUgLTExPgogZnVuYyAoaSA8dHlwZSAyMjE+KSBTdHJpbmcgKCkgPHR5cGUgLTE2PjsKIGZ1bmMgKGkgPHR5cGUgMjIxPikgR29TdHJpbmcgKCkgPHR5cGUgLTE2PjsKPiA9IDUgOwpjb25zdCBTVFRfRklMRSA8dHlwZSAyMjE+ID0gNCA7CmNvbnN0IFNUVF9GVU5DIDx0eXBlIDIyMT4gPSAyIDsKY29uc3QgU1RUX0hJT1MgPHR5cGUgMjIxPiA9IDEyIDsKY29uc3QgU1RUX0hJUFJPQyA8dHlwZSAyMjE+ID0gMTUgOwpjb25zdCBTVFRfTE9PUyA8dHlwZSAyMjE+ID0gMTAgOwpjb25zdCBTVFRfTE9QUk9DIDx0eXBlIDIyMT4gPSAxMyA7CmNvbnN0IFNUVF9OT1RZUEUgPHR5cGUgMjIxPiA9IDAgOwpjb25zdCBTVFRfT0JKRUNUIDx0eXBlIDIyMT4gPSAxIDsKY29uc3QgU1RUX1NFQ1RJT04gPHR5cGUgMjIxPiA9IDMgOwpjb25zdCBTVFRfVExTIDx0eXBlIDIyMT4gPSA2IDsKY29uc3QgU1RWX0RFRkFVTFQgPHR5cGUgMjIyICJTeW1WaXMiIDx0eXBlIC0xMT4KIGZ1bmMgKGkgPHR5cGUgMjIyPikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChpIDx0eXBlIDIyMj4pIEdvU3RyaW5nICgpIDx0eXBlIC0xNj47Cj4gPSAwIDsKY29uc3QgU1RWX0hJRERFTiA8dHlwZSAyMjI+ID0gMiA7CmNvbnN0IFNUVl9JTlRFUk5BTCA8dHlwZSAyMjI+ID0gMSA7CmNvbnN0IFNUVl9QUk9URUNURUQgPHR5cGUgMjIyPiA9IDMgOwpmdW5jIFNUX0JJTkQgKGluZm8gPHR5cGUgLTU+KSA8dHlwZSAyMjA+OwpmdW5jIFNUX0lORk8gKGJpbmQgPHR5cGUgMjIwPiwgdHlwIDx0eXBlIDIyMT4pIDx0eXBlIC01PjsKZnVuYyBTVF9UWVBFIChpbmZvIDx0eXBlIC01PikgPHR5cGUgMjIxPjsKZnVuYyBTVF9WSVNJQklMSVRZIChvdGhlciA8dHlwZSAtNT4pIDx0eXBlIDIyMj47CnR5cGUgPHR5cGUgMjc+Owp0eXBlIDx0eXBlIDIyMyAiU2VjdGlvbjMyIiA8dHlwZSAyMjQgc3RydWN0IHsgTmFtZSA8dHlwZSAtNz47IFR5cGUgPHR5cGUgLTc+OyBGbGFncyA8dHlwZSAtNz47IEFkZHIgPHR5cGUgLTc+OyBPZmYgPHR5cGUgLTc+OyBTaXplIDx0eXBlIC03PjsgTGluayA8dHlwZSAtNz47IEluZm8gPHR5cGUgLTc+OyBBZGRyYWxpZ24gPHR5cGUgLTc+OyBFbnRzaXplIDx0eXBlIC03PjsgfT4+Owp0eXBlIDx0eXBlIDIyNSAiU2VjdGlvbjY0IiA8dHlwZSAyMjYgc3RydWN0IHsgTmFtZSA8dHlwZSAtNz47IFR5cGUgPHR5cGUgLTc+OyBGbGFncyA8dHlwZSAtOD47IEFkZHIgPHR5cGUgLTg+OyBPZmYgPHR5cGUgLTg+OyBTaXplIDx0eXBlIC04PjsgTGluayA8dHlwZSAtNz47IEluZm8gPHR5cGUgLTc+OyBBZGRyYWxpZ24gPHR5cGUgLTg+OyBFbnRzaXplIDx0eXBlIC04PjsgfT4+Owp0eXBlIDx0eXBlIDMyPjsKdHlwZSA8dHlwZSAyOT47CnR5cGUgPHR5cGUgNzE+Owp0eXBlIDx0eXBlIDMxPjsKdHlwZSA8dHlwZSAyMjcgIlN5bTMyIiA8dHlwZSAyMjggc3RydWN0IHsgTmFtZSA8dHlwZSAtNz47IFZhbHVlIDx0eXBlIC03PjsgU2l6ZSA8dHlwZSAtNz47IEluZm8gPHR5cGUgLTU+OyBPdGhlciA8dHlwZSAtNT47IFNobmR4IDx0eXBlIC02PjsgfT4+Owpjb25zdCBTeW0zMlNpemUgPSAxNiA7CnR5cGUgPHR5cGUgMjI5ICJTeW02NCIgPHR5cGUgMjMwIHN0cnVjdCB7IE5hbWUgPHR5cGUgLTc+OyBJbmZvIDx0eXBlIC01PjsgT3RoZXIgPHR5cGUgLTU+OyBTaG5keCA8dHlwZSAtNj47IFZhbHVlIDx0eXBlIC04PjsgU2l6ZSA8dHlwZSAtOD47IH0+PjsKY29uc3QgU3ltNjRTaXplID0gMjQgOwp0eXBlIDx0eXBlIDIyMD47CnR5cGUgPHR5cGUgMjIxPjsKdHlwZSA8dHlwZSAyMjI+Owp0eXBlIDx0eXBlIDY5PjsKdHlwZSA8dHlwZSAxMT47CnR5cGUgPHR5cGUgMTI+OwpjaGVja3N1bSA4MEFFRUE0RDUyRDA0QzI4ODNBNDBGNzA5NDMyQTk0NzczMTkwMzA1OwoALnN5bXRhYgAuc3RydGFiAC5zaHN0cnRhYgAuZ29fZXhwb3J0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAABAAAAAAAAAAAAAAA0AAAAtLsAAAAAAAAAAAAAAQAAAAAAAAARAAAAAwAAAAAAAAAAAAAA6LsAACYAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAABC8AAAgAAAABAAAAAIAAAAEAAAAEAAAAAkAAAADAAAAAAAAAAAAAAAwvAAAAQAAAAAAAAAAAAAAAQAAAAAAAAA=