LyoKICogQ29weXJpZ2h0IDE5OTggSnVlcmdlbiBTY2htaWVkCiAqIENvcHlyaWdodCAyMDA2LCAyMDA3IFl1blNvbmcgSHdhbmcKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKI2luY2x1ZGUgInNocmVzZGVmLmgiCgpMQU5HVUFHRSBMQU5HX0tPUkVBTiwgU1VCTEFOR19ERUZBVUxUCgpNRU5VXzAwMSBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCk1FTlVJVEVNICLFqyC+xsDMxNwoJkcpIiwJRkNJRE1fU0hWSUVXX0JJR0lDT04KTUVOVUlURU0gIsDbwLogvsbAzMTcKCZNKSIsCUZDSURNX1NIVklFV19TTUFMTElDT04KTUVOVUlURU0gIrjxt88oJkwpIiwJCUZDSURNX1NIVklFV19MSVNUVklFVwpNRU5VSVRFTSAiwNq8vMj3KCZEKSIsCQlGQ0lETV9TSFZJRVdfUkVQT1JUVklFVwpFTkQKCi8qCnNoZWxsdmlldyBiYWNrZ3JvdW5kIG1lbnUKKi8KTUVOVV8wMDIgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgpQT1BVUCAiIgpCRUdJTgpQT1BVUCAiurix4igmVikiCkJFR0lOCk1FTlVJVEVNICLFqyC+xsDMxNwoJkcpIiwJRkNJRE1fU0hWSUVXX0JJR0lDT04KTUVOVUlURU0gIsDbwLogvsbAzMTcKCZNKSIsCUZDSURNX1NIVklFV19TTUFMTElDT04KTUVOVUlURU0gIrjxt88oJkwpIiwJCUZDSURNX1NIVklFV19MSVNUVklFVwpNRU5VSVRFTSAiwNq8vMj3KCZEKSIsCUZDSURNX1NIVklFV19SRVBPUlRWSUVXCkVORApNRU5VSVRFTSBTRVBBUkFUT1IKUE9QVVAgIr7GwMzE3CDBpLfEKCZJKSIKQkVHSU4KTUVOVUlURU0gIsDMuKfAuLfOKCZOKSIsCTB4MzAJLyogY29sdW1uIDAgKi8KTUVOVUlURU0gIsf8vcTAuLfOKCZUKSIsCTB4MzIJLyogY29sdW1uIDIgKi8KTUVOVUlURU0gIsWpseK3zigmUykiLAkweDMxCS8qIC4uLiAqLwpNRU5VSVRFTSAis6/CpbfOKCZEKSIsCTB4MzMKTUVOVUlURU0gU0VQQVJBVE9SCk1FTlVJVEVNICLA2rW/IMGkt8QoJkEpIiwJRkNJRE1fU0hWSUVXX0FVVE9BUlJBTkdFCkVORApNRU5VSVRFTSAivsbAzMTcIMGkt8QiLAlGQ0lETV9TSFZJRVdfU05BUFRPR1JJRApNRU5VSVRFTSBTRVBBUkFUT1IKTUVOVUlURU0gIrv1t84gsO3EpyIsCQlGQ0lETV9TSFZJRVdfUkVGUkVTSApNRU5VSVRFTSBTRVBBUkFUT1IKTUVOVUlURU0gIrrZv6mz1rHiIiwJCUZDSURNX1NIVklFV19JTlNFUlQKTUVOVUlURU0gIri1xam3ziC62b+ps9ax4iIsCUZDSURNX1NIVklFV19JTlNFUlRMSU5LCk1FTlVJVEVNIFNFUEFSQVRPUgpQT1BVUCAiu/UgwNu+9yIKQkVHSU4KTUVOVUlURU0gIrv1IMb6tPUoJkYpIiwJRkNJRE1fU0hWSUVXX05FV0ZPTERFUgpNRU5VSVRFTSAiu/UguLXFqSgmTCkiLAlGQ0lETV9TSFZJRVdfTkVXTElOSwpNRU5VSVRFTSBTRVBBUkFUT1IKRU5ECk1FTlVJVEVNIFNFUEFSQVRPUgpNRU5VSVRFTSAivNO8uiIsCUZDSURNX1NIVklFV19QUk9QRVJUSUVTCkVORApFTkQKCi8qCnNoZWxsdmlldyBpdGVtIG1lbnUKKi8KTUVOVV9TSFZfRklMRSBNRU5VIERJU0NBUkRBQkxFCkJFR0lOClBPUFVQICIiCkJFR0lOCk1FTlVJVEVNICImU2VsZWN0IgkJRkNJRE1fU0hWSUVXX09QRU4KTUVOVUlURU0gIsW9u/YoJlgpIiwJCUZDSURNX1NIVklFV19FWFBMT1JFCk1FTlVJVEVNICK/rbHiKCZPKSIsCQlGQ0lETV9TSFZJRVdfT1BFTgpNRU5VSVRFTSBTRVBBUkFUT1IKTUVOVUlURU0gIsDftvOzu7HiKCZVKSIsCQlGQ0lETV9TSFZJRVdfQ1VUCk1FTlVJVEVNICK6ubvnKCZDKSIsCQlGQ0lETV9TSFZJRVdfQ09QWQpNRU5VSVRFTSBTRVBBUkFUT1IKTUVOVUlURU0gIri1xakguLi16bHiKCZMKSIsCUZDSURNX1NIVklFV19DUkVBVEVMSU5LCk1FTlVJVEVNICLB9r/sseIoJkQpIiwJCUZDSURNX1NIVklFV19ERUxFVEUKTUVOVUlURU0gIsDMuKcgudmy2bHiKCZSKSIsCQlGQ0lETV9TSFZJRVdfUkVOQU1FCk1FTlVJVEVNIFNFUEFSQVRPUgpNRU5VSVRFTSAivNO8uigmUCkiLAlGQ0lETV9TSFZJRVdfUFJPUEVSVElFUwpFTkQKRU5ECgpNRU5VX0NQQU5FTCBNRU5VCkJFR0lOCiAgICBQT1BVUCAixsTAzygmRikiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICKzqrHiseIoJlgpIiwgSURNX0NQQU5FTF9FWElUCiAgICBFTkQKCiAgICBQT1BVUCAiurix4igmVikiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICLFqyC+xsDMxNwoJkcpIiwgRkNJRE1fU0hWSUVXX0JJR0lDT04KICAgICAgICBNRU5VSVRFTSAiwNvAuiC+xsDMxNwoJk0pIiwgRkNJRE1fU0hWSUVXX1NNQUxMSUNPTgogICAgICAgIE1FTlVJVEVNICK48bfPKCZMKSIsIEZDSURNX1NIVklFV19MSVNUVklFVwogICAgICAgIE1FTlVJVEVNICLA2ry8yPcoJkQpIiwgRkNJRE1fU0hWSUVXX1JFUE9SVFZJRVcKICAgIEVORAoKICAgIFBPUFVQICK1tb/yuLsoJkgpIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiwaa+7sbHIMGkurgoJkEpLi4uIiwgSURNX0NQQU5FTF9BQk9VVAogICAgRU5ECkVORAoKClNIQlJTRk9SRk9MREVSX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDE4OCwgMTkyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IERTX01PREFMRlJBTUUgfCBEU19TRVRGT05UIHwgRFNfM0RMT09LCkNBUFRJT04gIsb6tPUgxb279iIKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgp7CkRFRlBVU0hCVVRUT04gIsiuwM4iLCAxLCA4MCwgMTc2LCA1MCwgMTIsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAiw+u80iIsIDIsIDEzNCwgMTc2LCA1MCwgMTIsIFdTX0dST1VQIHwgV1NfVEFCU1RPUApMVEVYVCAiIiwgSUREX1RJVExFLCA0LCA0LCAxODAsIDEyCkxURVhUICIiLCBJRERfU1RBVFVTLCA0LCAyNSwgMTgwLCAxMgpDT05UUk9MICIiLCBJRERfVFJFRVZJRVcsICJTeXNUcmVlVmlldzMyIiwKVFZTX0hBU0JVVFRPTlMgfCBUVlNfSEFTTElORVMgfCBUVlNfTElORVNBVFJPT1QgfApXU19CT1JERVIgfCBXU19UQUJTVE9QLAo0LCA0MCwgMTgwLCAxMjAKfQoKClNITkVXQlJTRk9SRk9MREVSX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDIxOCwgMTk2ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IFdTX1NJWkVCT1ggfCBEU19NT0RBTEZSQU1FIHwgRFNfU0VURk9OVCB8IERTXzNETE9PSwpDQVBUSU9OICLG+rT1IMW9u/YiCkZPTlQgOSwgIk1TIFNoZWxsIERsZyIKewpMVEVYVCAiIiwgSUREX1RJVExFLCAxMCwgOCwgMTk4LCAyNApMVEVYVCAiIiwgSUREX1NUQVRVUywgMTAsIDI1LCAxOTgsIDEyCkxURVhUICLG+rT1OiIsIElERF9GT0xERVIsIDEwLCAxNTYsIDQwLCAxMgpDT05UUk9MICIiLCBJRERfVFJFRVZJRVcsICJTeXNUcmVlVmlldzMyIiwKVFZTX0hBU0JVVFRPTlMgfCBUVlNfSEFTTElORVMgfCBUVlNfTElORVNBVFJPT1QgfApXU19CT1JERVIgfCBXU19UQUJTVE9QLAoxMiwgMzgsIDE5NCwgMTA1CkVESVRURVhUIElERF9GT0xERVJURVhULCA0NiwgMTUwLCAxNjAsIDE0LCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAiu/Ugxvq09SC4uLXpseIoJk0pIiwgSUREX01BS0VORVdGT0xERVIsIDEyLCAxNzQsIDcwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCkRFRlBVU0hCVVRUT04gIsiuwM4iLCBJRE9LLCAxMDIsIDE3NCwgNTAsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QClBVU0hCVVRUT04gIsPrvNIiLCBJRENBTkNFTCwgMTU2LCAxNzQsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KClNIRUxMX1lFU1RPQUxMX01TR0JPWCBESUFMT0cgMjAwLCAxMDAsIDI4MCwgOTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIrjevcPB9iIKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgp7CkRFRlBVU0hCVVRUT04gIr+5KCZZKSIsIElEWUVTLCAzNCwgNjksIDUzLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QClBVU0hCVVRUT04gIrjwtc4gv7koJkEpIiwgSUREX1lFU1RPQUxMLCA5MiwgNjksIDY1LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QClBVU0hCVVRUT04gIiC+xrTPv8AoJk4pIiwgSUROTywgMTYyLCA2OSwgNTMsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAiw+u80igmQykiLCBJRENBTkNFTCwgMjIwLCA2OSwgNTMsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKSUNPTiAiIiwgSUREX0lDT04sIDEwLCAxMCwgMTYsIDE2CkxURVhUICIiLCBJRERfTUVTU0FHRSwgNDAsIDEwLCAyMzgsIDUyLCAwCn0KClNIRUxMX0FCT1VUX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDIyMCwgMTUyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICIgJXMgwaS6uCIKRk9OVCAxMCwgIk1TIFNoZWxsIERsZyIKewogREVGUFVTSEJVVFRPTiAiyK7AziIsIElET0ssIDE1MywgMTMzLCA2MCwgMTIsIFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIldpbmUgtvPAzLy+vbooJmwpLi4uIiwgSURDX0FCT1VUX0xJQ0VOU0UsIDE1MywgMTEzLCA2MCwgMTIsIFdTX1RBQlNUT1AKIExJU1RCT1ggSURDX0FCT1VUX0xJU1RCT1gsIDgsIDY1LCAxMzcsIDgyLCBMQlNfTk9USUZZIHwgV1NfVlNDUk9MTCB8IFdTX0JPUkRFUgogSUNPTiAiIiwgc3RjMSwgMTAsIDEwLCAzMCwgMzAKIExURVhUICIiLCBJRENfQUJPVVRfU1RBVElDX1RFWFQxLCA0MiwgMTAsIDE3MCwgMTAKIExURVhUICIiLCBJRENfQUJPVVRfU1RBVElDX1RFWFQyLCA0MiwgMjIsIDE3MCwgMTAKIExURVhUICIlcyC9x8fgwd8iLCBJRENfQUJPVVRfU1RBVElDX1RFWFQzLCA0MiwgMzQsIDE3MCwgMTAKIExURVhUICJXaW5lIHdhcyBicm91Z2h0IHRvIHlvdSBieToiLCBJRENfQUJPVVRfV0lORV9URVhULCA4LCA1NCwgMjA0LCAxMAp9CgoKU0hFTExfUlVOX0RMRyBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAwLCAwLCAyMjcsIDk1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICIiCkZPTlQgOSwgIk1TIFNoZWxsIERsZyIKewogSUNPTiAiIiwgSURDX1JVTkRMR19JQ09OLCA3LCAxMSwgMTgsIDIwLCBXU19WSVNJQkxFCiBMVEVYVCAix66x17iyLMb6tPUsua68rbOqIMDOxc2z3SDA2r/4LCCx17iusO0gV2luZcDMIL+tICCwzcDHIMDMuKfAuyDA+77uwda8vL/kLiIsIElEQ19SVU5ETEdfREVTQ1JJUFRJT04sIDM2LCAxMSwgMTgyLCAxOAogTFRFWFQgIr+tseIoJk8pOiIsIElEQ19SVU5ETEdfTEFCRUwsIDcsIDM5LCAyNCwgMTAKIENPTlRST0wgIiIsIElEQ19SVU5ETEdfRURJVFBBVEgsICJDT01CT0JPWCIsIFdTX1RBQlNUT1AgfCBXU19HUk9VUCB8IFdTX1ZTQ1JPTEwgfCBXU19WSVNJQkxFIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19EUk9QRE9XTiwgMzYsIDM3LCAxODMsIDEwMAogREVGUFVTSEJVVFRPTiAiyK7AziIsIElET0ssIDYyLCA2MywgNTAsIDE0LCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLD67zSIiwgSURDQU5DRUwsIDExNiwgNjMsIDUwLCAxNCwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiw6Ox4igmQikuLi4iLCBJRENfUlVORExHX0JST1dTRSwgMTcwLCA2MywgNTAsIDE0LCBXU19UQUJTVE9QCn0KCgpTVFJJTkdUQUJMRQp7Ci8qIGNvbHVtbnMgaW4gdGhlIHNoZWxsdmlldyAqLwpJRFNfU0hWX0NPTFVNTjEJCSLGxMDPIgpJRFNfU0hWX0NPTFVNTjIJCSLFqbHiIgpJRFNfU0hWX0NPTFVNTjMJCSLH/L3EIgpJRFNfU0hWX0NPTFVNTjQJCSK89sGks6/CpSIKSURTX1NIVl9DT0xVTU41CQkivNO8uiIKSURTX1NIVl9DT0xVTU42CQkixamx4iIKSURTX1NIVl9DT0xVTU43CQkisKG0ycfRIMWpseIiCklEU19TSFZfQ09MVU1OOAkJIsDMuKciCklEU19TSFZfQ09MVU1OOQkJIsHWvK4iCklEU19TSFZfQ09MVU1OMTAJIrzSwK/A2iIKSURTX1NIVl9DT0xVTU4xMQkisde37CIKSURTX1NIVl9DT0xVTU5fREVMRlJPTQkiv/i3oSDAp8ShIgpJRFNfU0hWX0NPTFVNTl9ERUxEQVRFCSLB9r/2wfggs6/CpSIKCi8qIHNwZWNpYWwgZm9sZGVycyAqLwpJRFNfREVTS1RPUAkJIrWlvbrFqcW+IgpJRFNfTVlDT01QVVRFUgkJIrO7IMTEx7vFzSIKSURTX1JFQ1lDTEVCSU5fRk9MREVSX05BTUUgICAgICAiyN7B9sXrIgpJRFNfQ09OVFJPTFBBTkVMCSLBpr7uxsciCgovKiBjb250ZXh0IG1lbnVzICovCklEU19WSUVXX0xBUkdFCQkixasgvsbAzMTcKCZHKSIKSURTX1ZJRVdfU01BTEwJCSLA28C6IL7GwMzE3CgmTSkiCklEU19WSUVXX0xJU1QJCSK48bfPKCZMKSIKSURTX1ZJRVdfREVUQUlMUwkiwNq8vMj3KCZEKSIKSURTX1NFTEVDVAkJIryxxcMiCklEU19PUEVOCQkiv62x4iIKCklEU19DUkVBVEVGT0xERVJfREVOSUVEICK79SDG+rT1uKYguLi16SC89iC++L3AtM+02ToguLi16SCxx8fRwMwgvvi9wLTPtNkuIgpJRFNfQ1JFQVRFRk9MREVSX0NBUFRJT04gIrv1IMb6tPW4piC4uLXltMIgsPrBpL+hvK0gv6G3r7nfu/0iCklEU19ERUxFVEVJVEVNX0NBUFRJT04gIsbEwM8gwfa/7LHiIMiuwM4iCklEU19ERUxFVEVGT0xERVJfQ0FQVElPTiAixvq09SDB9r/sseIgyK7AziIKSURTX0RFTEVURUlURU1fVEVYVCAitOe9xcC6ICAnJTEnwLsgwfa/7LHiuKYgudm2+LTPse4/IgpJRFNfREVMRVRFTVVMVElQTEVfVEVYVCAitOe9xcC6ICUxIL7GwMzF2yi16SnAuyDB9r/sseK4piC52bb4tM+x7j8iCklEU19ERUxFVEVTRUxFQ1RFRF9URVhUICK0573FwLogvLHFw7XIIL7GwMzF2yi16SnAuyDB9r/sseK4piC52bb4tM+x7j8iCklEU19UUkFTSElURU1fVEVYVCAitOe9xcC6ICclMScgwLsouKYpIMjewfbF68C4t84gurizu7HiuKYgudm2+LTPse4/IgpJRFNfVFJBU0hGT0xERVJfVEVYVCAitOe9xcC6ICclMScgsPogsdcgvsjAxyCzu7/rwLsgyN7B9sXrwLi3ziC6uLO7seK4piC52bb4tM+x7j8iCklEU19UUkFTSE1VTFRJUExFX1RFWFQgIrTnvcXAuiAnJTEnILXpwLsouKYpIMjewfbF68C4t84gurizu7HiuKYgudm2+LTPse4/IgpJRFNfQ0FOVFRSQVNIX1RFWFQgIsDMIL7GwMzF2yclMSfAuyDI3sH2xevAuLfOILq4s74gvPYgvvi9wLTPtNkuILTrvcUgwfa/7LDavcC0z7HuPyIKSURTX09WRVJXUklURUZJTEVfVEVYVCAiwMwgxvq09bTCIMDMucwgJyUxJyDGxMDPwLsgsKHB9rDtIMDWvcC0z7TZLlxuXG652bLZsNq9wLTPse4/IgpJRFNfT1ZFUldSSVRFRklMRV9DQVBUSU9OICLGxMDPILWkvu6+srHiIMiuwM4iCklEU19PVkVSV1JJVEVGT0xERVJfVEVYVCAiICDAzCDG+rT1tMIgwMy5zCAnJTEnwMy29SDAzLinwLsgsKHB+CDG+rT1uKYgxvfH1MfPsO0gwNa9wLTPtNkuXG5cbiJcCiAgICAgIri4vuAgtOe9xcDMILCwwLogwMy4p8C4t84gtOu78yDG+rT1uKYgwfbBpMfRtNm46SC8scXDtcggxvq09bTCILTrw7y1ySCwzcDUtM+02VxuIlwKICAgICAiILTrw7y1ySCwzcDUtM+02S4gtOe9xcC6IMDMIMb6tPW4piDAzLW/vcPFsLDFs6ogurm758fPsNq9wLTPse4/IgoKCi8qIG1lc3NhZ2UgYm94IHN0cmluZ3MgKi8KSURTX1JFU1RBUlRfVElUTEUgICAgICAgIrTZvcMgvcPA2yIgCklEU19SRVNUQVJUX1BST01QVCAgICAgICK0573FwLogwKm1tb/swe4gwOe6zsbDwLsgIMDnx/bHz7DavcC0z7HuPyIKSURTX1NIVVRET1dOX1RJVExFICAgICAgIrL0seIiCklEU19TSFVURE9XTl9QUk9NUFQgICAgICK0573FwLogIFdpbmUgvLy8x8C7ILL0sNq9wLTPse4/IgoKLyogUnVuIEZpbGUgZGlhbG9nICovCklEU19SVU5ETEdfRVJST1IgICAgICAgICAgICLGxMDPIL3Hx+AgtOvIrSC788DauKYguri/qcHZvPYgvvi9wLTPtNkos7u6ziC/obevKSIKSURTX1JVTkRMR19CUk9XU0VfRVJST1IgICAgIsOjseIgtOvIrSC788DauKYguri/qSDB2SC89iC++L3AtM+02Sizu7rOIL+ht68pIgpJRFNfUlVORExHX0JST1dTRV9DQVBUSU9OICAiw6Ox4iIKSURTX1JVTkRMR19CUk9XU0VfRklMVEVSICAgIr3Hx+AgxsTAz1wwKi5leGVcMEG48LXnIMbEwM9cMCouKlwwXDAiCgovKiBzaGVsbCBmb2xkZXIgcGF0aCBkZWZhdWx0IHZhbHVlcyAqLwpJRFNfUFJPR1JBTVMgICAgICAgICAgICAgICAgIr3DwNsguN60ulxcx8G3zrHXt6UiCklEU19QRVJTT05BTCAgICAgICAgICAgICAgICAis7sgua68rSIKSURTX0ZBVk9SSVRFUyAgICAgICAgICAgICAgICLB8bDcw6Ox4iIKSURTX1NUQVJUVVAgICAgICAgICAgICAgICAgICK9w8DbILjetLpcXMfBt86x17elXFy9w8DbIMfBt86x17elIgpJRFNfUkVDRU5UICAgICAgICAgICAgICAgICAgIsPWsdkgxsTAzyIKSURTX1NFTkRUTyAgICAgICAgICAgICAgICAgICK6uLO7seIiCklEU19TVEFSVE1FTlUgICAgICAgICAgICAgICAivcPA2yC43rS6IgpJRFNfTVlNVVNJQyAgICAgICAgICAgICAgICAgIrO7IMC9vsciCklEU19NWVZJREVPICAgICAgICAgICAgICAgICAis7sguvG18L/AIgpJRFNfREVTS1RPUERJUkVDVE9SWSAgICAgICAgIrWlvbrFqcW+IgpJRFNfTkVUSE9PRCAgICAgICAgICAgICAgICAgIrPXxq6/9sWpIMivsOYiCklEU19URU1QTEFURVMgICAgICAgICAgICAgICAiVGVtcGxhdGVzIgpJRFNfQVBQREFUQSAgICAgICAgICAgICAgICAgIkFwcGxpY2F0aW9uIERhdGEiCklEU19QUklOVEhPT0QgICAgICAgICAgICAgICAis9fGrr/2xakgyK+w5iIKSURTX0xPQ0FMX0FQUERBVEEgICAgICAgICAgICJMb2NhbCBTZXR0aW5nc1xcQXBwbGljYXRpb24gRGF0YSIKSURTX0lOVEVSTkVUX0NBQ0hFICAgICAgICAgICJMb2NhbCBTZXR0aW5nc1xcVGVtcG9yYXJ5IEludGVybmV0IEZpbGVzIgpJRFNfQ09PS0lFUyAgICAgICAgICAgICAgICAgIkNvb2tpZXMiCklEU19ISVNUT1JZICAgICAgICAgICAgICAgICAiTG9jYWwgU2V0dGluZ3NcXEhpc3RvcnkiCklEU19QUk9HUkFNX0ZJTEVTICAgICAgICAgICAiUHJvZ3JhbSBGaWxlcyIKSURTX01ZUElDVFVSRVMgICAgICAgICAgICAgICKzuyCx17iyIgpJRFNfUFJPR1JBTV9GSUxFU19DT01NT04gICAgIlByb2dyYW0gRmlsZXNcXENvbW1vbiBGaWxlcyIKSURTX0NPTU1PTl9ET0NVTUVOVFMgICAgICAgICK5rrytIgpJRFNfQURNSU5UT09MUyAgICAgICAgICAgICAgIr3DwNu43rS6XFzHwbfOsde3pVxcsPy4riC1tbG4IgpJRFNfQ09NTU9OX01VU0lDICAgICAgICAgICAgIrmuvK1cXLO7IMC9vsciCklEU19DT01NT05fUElDVFVSRVMgICAgICAgICAiua68rVxcs7sgsde4siIKSURTX0NPTU1PTl9WSURFTyAgICAgICAgICAgICK5rrytXFyzuyC68bXwv8AiCklEU19DREJVUk5fQVJFQSAgICAgICAgICAgICAiTG9jYWwgU2V0dGluZ3NcXEFwcGxpY2F0aW9uIERhdGFcXE1pY3Jvc29mdFxcQ0QgQnVybmluZyIKCklEU19ORVdGT0xERVIJCSK79SDG+rT1IgoKSURTX0NQQU5FTF9USVRMRSAgICAgICAgICAgICJXaW5lIMGmvu7GxyIKSURTX0NQQU5FTF9OQU1FICAgICAgICAgICAgICLAzLinIgpJRFNfQ1BBTkVMX0RFU0NSSVBUSU9OICAgICAgIryzuO0iCklEU19TSExFWEVDX05PQVNTT0MgICAgICAgICAiwMwgx/y9xMDHIMbEwM/AuyC1tbfPILG4vLq1yCDAqbW1v+wgx8G3zrHXt6XAzCC++L3AtM+02S4iCgp9CgpTVFJJTkdUQUJMRQp7CklEU19MSUNFTlNFX0NBUFRJT04sICAgICAgICAgICAgIldpbmUgtvPAzLy+vboiCklEU19MSUNFTlNFLAoiV2luZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgXAptb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIFwKTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIFwKdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG5cblwKV2luZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBcCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIFwKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgXApMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG5cCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgXApMaWNlbnNlIGFsb25nIHdpdGggV2luZTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBcCkZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuIgp9Cg==