gAJjZG9jdXRpbHMubm9kZXMKZG9jdW1lbnQKcQEpgXECfXEDKFUQaW5kaXJlY3RfdGFyZ2V0c3EEXXEFVQt0cmFuc2Zvcm1lcnEGTlUIcmVwb3J0ZXJxB05VCXJhd3NvdXJjZXEIVQBVEWF1dG9mb290bm90ZV9yZWZzcQldcQpVCmF0dHJpYnV0ZXNxC31xDChVA2lkc3ENXVUGc291cmNlWIAAAAAvdXNyL2xvY2FsL2dvb2dsZS9ob21lL2FsdGF5L3dlYnNpdGVfdXBkYXRlX2Rpci9weXRob25fZG9jL2JlYW0vc2Rrcy9weXRob24vdGFyZ2V0L2RvY3Mvc291cmNlL2FwYWNoZV9iZWFtLnV0aWxzLmFubm90YXRpb25zLnJzdHEOVQdjbGFzc2VzcQ9dVQVuYW1lc3EQXVUIYmFja3JlZnNxEV1VCGR1cG5hbWVzcRJddVUJbmFtZXR5cGVzcRN9cRQoWCYAAABhcGFjaGVfYmVhbS51dGlscy5hbm5vdGF0aW9ucy5hbm5vdGF0ZXEViFgkAAAAYXBhY2hlX2JlYW0udXRpbHMuYW5ub3RhdGlvbnMgbW9kdWxlcRZOdVUNY2l0YXRpb25fcmVmc3EXfXEYVQduYW1laWRzcRl9cRooaBVoFWgWVSRhcGFjaGUtYmVhbS11dGlscy1hbm5vdGF0aW9ucy1tb2R1bGVxG3VVEmF1dG9mb290bm90ZV9zdGFydHEcSwFVEnRyYW5zZm9ybV9tZXNzYWdlc3EdXXEeVQhyZWZuYW1lc3EffXEgVQljaXRhdGlvbnNxIV1xIlUSc3Vic3RpdHV0aW9uX25hbWVzcSN9cSRVDWZvb3Rub3RlX3JlZnNxJX1xJlUJZm9vdG5vdGVzcSddcShoDX1xKShoG2Nkb2N1dGlscy5ub2RlcwpzZWN0aW9uCnEqKYFxK31xLChVBGxpbmVxLUsCVQhjaGlsZHJlbnEuXXEvKGNkb2N1dGlscy5ub2Rlcwp0aXRsZQpxMCmBcTF9cTIoaC1LAmguXXEzY2RvY3V0aWxzLm5vZGVzClRleHQKcTRYJAAAAGFwYWNoZV9iZWFtLnV0aWxzLmFubm90YXRpb25zIG1vZHVsZXE1hYFxNn1xNyhoLU5VBnBhcmVudHE4aDFVBnNvdXJjZXE5TlUIZG9jdW1lbnRxOmgCaAhYJwAAAGFwYWNoZVxfYmVhbVwudXRpbHNcLmFubm90YXRpb25zIG1vZHVsZXE7dWJhaDhoK2gIWCcAAABhcGFjaGVcX2JlYW1cLnV0aWxzXC5hbm5vdGF0aW9ucyBtb2R1bGVxPGgLfXE9KGgPXWgNXWgSXWgQXWgRXXVoOmgCaDloDlUHdGFnbmFtZXE+VQV0aXRsZXE/dWJjc3BoaW54LmFkZG5vZGVzCmluZGV4CnFAKYFxQX1xQihoLUsBaC5daDhoK2gIVQBoC31xQyhoDV1oD11oEF1VB2VudHJpZXNdcUQoVQZzaW5nbGVxRVgmAAAAYXBhY2hlX2JlYW0udXRpbHMuYW5ub3RhdGlvbnMgKG1vZHVsZSlYJAAAAG1vZHVsZS1hcGFjaGVfYmVhbS51dGlscy5hbm5vdGF0aW9uc1UATnRxRmFoEV1oEl11aDpoAmg5WJcAAAAvdXNyL2xvY2FsL2dvb2dsZS9ob21lL2FsdGF5L3dlYnNpdGVfdXBkYXRlX2Rpci9weXRob25fZG9jL2JlYW0vc2Rrcy9weXRob24vYXBhY2hlX2JlYW0vdXRpbHMvYW5ub3RhdGlvbnMucHk6ZG9jc3RyaW5nIG9mIGFwYWNoZV9iZWFtLnV0aWxzLmFubm90YXRpb25zcUdoPlUFaW5kZXhxSHViY2RvY3V0aWxzLm5vZGVzCnBhcmFncmFwaApxSSmBcUp9cUsoaDhoK2g5WJcAAAAvdXNyL2xvY2FsL2dvb2dsZS9ob21lL2FsdGF5L3dlYnNpdGVfdXBkYXRlX2Rpci9weXRob25fZG9jL2JlYW0vc2Rrcy9weXRob24vYXBhY2hlX2JlYW0vdXRpbHMvYW5ub3RhdGlvbnMucHk6ZG9jc3RyaW5nIG9mIGFwYWNoZV9iZWFtLnV0aWxzLmFubm90YXRpb25zcUxoLUsBaAhYKAAAAERlcHJlY2F0ZWQgYW5kIGV4cGVyaW1lbnRhbCBhbm5vdGF0aW9ucy5xTWgLfXFOKGgPXWgNXWgSXWgQXWgRXXVoOmgCaC5dcU9oNFgoAAAARGVwcmVjYXRlZCBhbmQgZXhwZXJpbWVudGFsIGFubm90YXRpb25zLnFQhYFxUX1xUihoLU5oOGhKaDlOaDpoAmgIaE11YmFoPlUJcGFyYWdyYXBocVN1YmhJKYFxVH1xVShoOGgraDloTGgtSwNoCFhEAQAARXhwZXJpbWVudGFsOiBTaWduaWZpZXMgdGhhdCBhIHB1YmxpYyBBUEkgKHB1YmxpYyBjbGFzcywgbWV0aG9kIG9yIGZpZWxkKSBpcwpzdWJqZWN0IHRvIGluY29tcGF0aWJsZSBjaGFuZ2VzLCBvciBldmVuIHJlbW92YWwsIGluIGEgZnV0dXJlIHJlbGVhc2UuIE5vdGUgdGhhdAp0aGUgcHJlc2VuY2Ugb2YgdGhpcyBhbm5vdGF0aW9uIGltcGxpZXMgbm90aGluZyBhYm91dCB0aGUgcXVhbGl0eSBvciBwZXJmb3JtYW5jZQpvZiB0aGUgQVBJIGluIHF1ZXN0aW9uLCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIEFQSSBvciBiZWhhdmlvciBtYXkgY2hhbmdlIGluIGFueQp3YXkucVZoC31xVyhoD11oDV1oEl1oEF1oEV11aDpoAmguXXFYaDRYRAEAAEV4cGVyaW1lbnRhbDogU2lnbmlmaWVzIHRoYXQgYSBwdWJsaWMgQVBJIChwdWJsaWMgY2xhc3MsIG1ldGhvZCBvciBmaWVsZCkgaXMKc3ViamVjdCB0byBpbmNvbXBhdGlibGUgY2hhbmdlcywgb3IgZXZlbiByZW1vdmFsLCBpbiBhIGZ1dHVyZSByZWxlYXNlLiBOb3RlIHRoYXQKdGhlIHByZXNlbmNlIG9mIHRoaXMgYW5ub3RhdGlvbiBpbXBsaWVzIG5vdGhpbmcgYWJvdXQgdGhlIHF1YWxpdHkgb3IgcGVyZm9ybWFuY2UKb2YgdGhlIEFQSSBpbiBxdWVzdGlvbiwgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBBUEkgb3IgYmVoYXZpb3IgbWF5IGNoYW5nZSBpbiBhbnkKd2F5LnFZhYFxWn1xWyhoLU5oOGhUaDlOaDpoAmgIaFZ1YmFoPmhTdWJoSSmBcVx9cV0oaDhoK2g5aExoLUsJaAhYsgAAAERlcHJlY2F0ZWQ6IFNpZ25pZmllcyB0aGF0IHVzZXJzIGFyZSBkaXNjb3VyYWdlZCBmcm9tIHVzaW5nIGEgcHVibGljIEFQSQp0eXBpY2FsbHkgYmVjYXVzZSBhIGJldHRlciBhbHRlcm5hdGl2ZSBleGlzdHMsIGFuZCB0aGUgY3VycmVudCBmb3JtIG1pZ2h0IGJlCnJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi5xXmgLfXFfKGgPXWgNXWgSXWgQXWgRXXVoOmgCaC5dcWBoNFiyAAAARGVwcmVjYXRlZDogU2lnbmlmaWVzIHRoYXQgdXNlcnMgYXJlIGRpc2NvdXJhZ2VkIGZyb20gdXNpbmcgYSBwdWJsaWMgQVBJCnR5cGljYWxseSBiZWNhdXNlIGEgYmV0dGVyIGFsdGVybmF0aXZlIGV4aXN0cywgYW5kIHRoZSBjdXJyZW50IGZvcm0gbWlnaHQgYmUKcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLnFhhYFxYn1xYyhoLU5oOGhcaDlOaDpoAmgIaF51YmFoPmhTdWJoSSmBcWR9cWUoaDhoK2g5aExoLUsNaAhYRAAAAFVzYWdlOgpGb3IgaW50ZXJuYWwgdXNlIG9ubHk7IG5vIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IGd1YXJhbnRlZXMucWZoC31xZyhoD11oDV1oEl1oEF1oEV11aDpoAmguXXFoaDRYRAAAAFVzYWdlOgpGb3IgaW50ZXJuYWwgdXNlIG9ubHk7IG5vIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IGd1YXJhbnRlZXMucWmFgXFqfXFrKGgtTmg4aGRoOU5oOmgCaAhoZnViYWg+aFN1YmhJKYFxbH1xbShoOGgraDloTGgtSxBoCFg8AAAAQW5ub3RhdGlvbnMgY29tZSBpbiB0d28gZmxhdm9yczogZGVwcmVjYXRlZCBhbmQgZXhwZXJpbWVudGFscW5oC31xbyhoD11oDV1oEl1oEF1oEV11aDpoAmguXXFwaDRYPAAAAEFubm90YXRpb25zIGNvbWUgaW4gdHdvIGZsYXZvcnM6IGRlcHJlY2F0ZWQgYW5kIGV4cGVyaW1lbnRhbHFxhYFxcn1xcyhoLU5oOGhsaDlOaDpoAmgIaG51YmFoPmhTdWJoSSmBcXR9cXUoaDhoK2g5aExoLUsSaAhY5gAAAFRoZSAnZGVwcmVjYXRlZCcgYW5ub3RhdGlvbiByZXF1aXJlcyBhICdzaW5jZSIgcGFyYW1ldGVyIHRvIHNwZWNpZnkKd2hhdCB2ZXJzaW9uIGRlcHJlY2F0ZWQgaXQuCkJvdGggJ2RlcHJlY2F0ZWQnIGFuZCAnZXhwZXJpbWVudGFsJyBhbm5vdGF0aW9ucyBjYW4gc3BlY2lmeSB0aGUKY3VycmVudCByZWNvbW1lbmRlZCB2ZXJzaW9uIHRvIHVzZSBieSBtZWFucyBvZiBhICdjdXJyZW50JyBwYXJhbWV0ZXIucXZoC31xdyhoD11oDV1oEl1oEF1oEV11aDpoAmguXXF4aDRY+gAAAFRoZSDigJhkZXByZWNhdGVk4oCZIGFubm90YXRpb24gcmVxdWlyZXMgYSDigJhzaW5jZeKAnSBwYXJhbWV0ZXIgdG8gc3BlY2lmeQp3aGF0IHZlcnNpb24gZGVwcmVjYXRlZCBpdC4KQm90aCDigJhkZXByZWNhdGVk4oCZIGFuZCDigJhleHBlcmltZW50YWzigJkgYW5ub3RhdGlvbnMgY2FuIHNwZWNpZnkgdGhlCmN1cnJlbnQgcmVjb21tZW5kZWQgdmVyc2lvbiB0byB1c2UgYnkgbWVhbnMgb2YgYSDigJhjdXJyZW504oCZIHBhcmFtZXRlci5xeYWBcXp9cXsoaC1OaDhodGg5Tmg6aAJoCGh2dWJhaD5oU3ViaEkpgXF8fXF9KGg4aCtoOWhMaC1LF2gIWGgAAABUaGUgZm9sbG93aW5nIGV4YW1wbGUgaWxsdXN0cmF0ZXMgaG93IHRvIGFubm90YXRlIGNvZXhpc3RpbmcgdmVyc2lvbnMgb2YgdGhlCnNhbWUgZnVuY3Rpb24gJ211bHRpcGx5Jy46OmgLfXF+KGgPXWgNXWgSXWgQXWgRXXVoOmgCaC5dcX9oNFhrAAAAVGhlIGZvbGxvd2luZyBleGFtcGxlIGlsbHVzdHJhdGVzIGhvdyB0byBhbm5vdGF0ZSBjb2V4aXN0aW5nIHZlcnNpb25zIG9mIHRoZQpzYW1lIGZ1bmN0aW9uIOKAmG11bHRpcGx54oCZLjpxgIWBcYF9cYIoaC1OaDhofGg5Tmg6aAJoCFhnAAAAVGhlIGZvbGxvd2luZyBleGFtcGxlIGlsbHVzdHJhdGVzIGhvdyB0byBhbm5vdGF0ZSBjb2V4aXN0aW5nIHZlcnNpb25zIG9mIHRoZQpzYW1lIGZ1bmN0aW9uICdtdWx0aXBseScuOnViYWg+aFN1YmNkb2N1dGlscy5ub2RlcwpsaXRlcmFsX2Jsb2NrCnGDKYFxhH1xhShoLUsdaC5dcYZoNFhTAAAAZGVmIG11bHRpcGx5KGFyZzEsIGFyZzIpOgogIHByaW50KGFyZzEsICcqJywgYXJnMiwgJz0nLCBlbmQ9JyAnKQogIHJldHVybiBhcmcxKmFyZzJxh4WBcYh9cYkoaDhohGgIVQB1YmFoOGgraAhYUwAAAGRlZiBtdWx0aXBseShhcmcxLCBhcmcyKToKICBwcmludChhcmcxLCAnKicsIGFyZzIsICc9JywgZW5kPScgJykKICByZXR1cm4gYXJnMSphcmcyaAt9cYooaA1daA9daBBdaBFdaBJdVQl4bWw6c3BhY2Vxi1UIcHJlc2VydmVxjHVoOmgCaDloTGg+VQ1saXRlcmFsX2Jsb2NrcY11YmhJKYFxjn1xjyhoOGgraDloTGgtSx5oCFhrAAAAIyBUaGlzIGFubm90YXRpb24gbWFya3MgJ29sZF9tdWx0aXBseScgYXMgZGVwcmVjYXRlZCBzaW5jZSAndi4xJyBhbmQgc3VnZ2VzdHMKIyB1c2luZyAnbXVsdGlwbHknIGluc3RlYWQuOjpoC31xkChoD11oDV1oEl1oEF1oEV11aDpoAmguXXGRaDRYdgAAACMgVGhpcyBhbm5vdGF0aW9uIG1hcmtzIOKAmG9sZF9tdWx0aXBseeKAmSBhcyBkZXByZWNhdGVkIHNpbmNlIOKAmHYuMeKAmSBhbmQgc3VnZ2VzdHMKIyB1c2luZyDigJhtdWx0aXBseeKAmSBpbnN0ZWFkLjpxkoWBcZN9cZQoaC1OaDhojmg5Tmg6aAJoCFhqAAAAIyBUaGlzIGFubm90YXRpb24gbWFya3MgJ29sZF9tdWx0aXBseScgYXMgZGVwcmVjYXRlZCBzaW5jZSAndi4xJyBhbmQgc3VnZ2VzdHMKIyB1c2luZyAnbXVsdGlwbHknIGluc3RlYWQuOnViYWg+aFN1YmiDKYFxlX1xlihoLUskaC5dcZdoNFjJAAAAQGRlcHJlY2F0ZWQoc2luY2U9J3YuMScsIGN1cnJlbnQ9J211bHRpcGx5JykKZGVmIG9sZF9tdWx0aXBseShhcmcxLCBhcmcyKToKICByZXN1bHQgPSAwCiAgZm9yIGkgaW4geHJhbmdlKGFyZzEpOgogICAgICByZXN1bHQgKz0gYXJnMgogIHByaW50KGFyZzEsICcqJywgYXJnMiwgJyh0aGUgb2xkIHdheSk9JywgZW5kPScgJykKICByZXR1cm4gcmVzdWx0cZiFgXGZfXGaKGg4aJVoCFUAdWJhaDhoK2gIWMkAAABAZGVwcmVjYXRlZChzaW5jZT0ndi4xJywgY3VycmVudD0nbXVsdGlwbHknKQpkZWYgb2xkX211bHRpcGx5KGFyZzEsIGFyZzIpOgogIHJlc3VsdCA9IDAKICBmb3IgaSBpbiB4cmFuZ2UoYXJnMSk6CiAgICAgIHJlc3VsdCArPSBhcmcyCiAgcHJpbnQoYXJnMSwgJyonLCBhcmcyLCAnKHRoZSBvbGQgd2F5KT0nLCBlbmQ9JyAnKQogIHJldHVybiByZXN1bHRoC31xmyhoDV1oD11oEF1oEV1oEl1oi2iMdWg6aAJoOWhMaD5ojXViaEkpgXGcfXGdKGg4aCtoOWhMaC1LKWgIWGEAAAAjIFRoaXMgYW5ub3RhdGlvbiBtYXJrcyAnZXhwX211bHRpcGx5JyBhcyBleHBlcmltZW50YWwgYW5kIHN1Z2dlc3RzCiMgdXNpbmcgJ211bHRpcGx5JyBpbnN0ZWFkLjo6aAt9cZ4oaA9daA1daBJdaBBdaBFddWg6aAJoLl1xn2g0WGgAAAAjIFRoaXMgYW5ub3RhdGlvbiBtYXJrcyDigJhleHBfbXVsdGlwbHnigJkgYXMgZXhwZXJpbWVudGFsIGFuZCBzdWdnZXN0cwojIHVzaW5nIOKAmG11bHRpcGx54oCZIGluc3RlYWQuOnGghYFxoX1xoihoLU5oOGicaDlOaDpoAmgIWGAAAAAjIFRoaXMgYW5ub3RhdGlvbiBtYXJrcyAnZXhwX211bHRpcGx5JyBhcyBleHBlcmltZW50YWwgYW5kIHN1Z2dlc3RzCiMgdXNpbmcgJ211bHRpcGx5JyBpbnN0ZWFkLjp1YmFoPmhTdWJogymBcaN9caQoaC1LL2guXXGlaDRYtgAAAEBleHBlcmltZW50YWwoc2luY2U9J3YuMScsIGN1cnJlbnQ9J211bHRpcGx5JykKZGVmIGV4cF9tdWx0aXBseShhcmcxLCBhcmcyKToKICBwcmludChhcmcxLCAnKicsIGFyZzIsICcodGhlIGV4cGVyaW1lbnRhbCB3YXkpPScsIGVuZD0nICcpCiAgcmV0dXJuIChhcmcxKmFyZzIpKihhcmcxL2FyZzIpKihhcmcyL2FyZzEpcaaFgXGnfXGoKGg4aKNoCFUAdWJhaDhoK2gIWLYAAABAZXhwZXJpbWVudGFsKHNpbmNlPSd2LjEnLCBjdXJyZW50PSdtdWx0aXBseScpCmRlZiBleHBfbXVsdGlwbHkoYXJnMSwgYXJnMik6CiAgcHJpbnQoYXJnMSwgJyonLCBhcmcyLCAnKHRoZSBleHBlcmltZW50YWwgd2F5KT0nLCBlbmQ9JyAnKQogIHJldHVybiAoYXJnMSphcmcyKSooYXJnMS9hcmcyKSooYXJnMi9hcmcxKWgLfXGpKGgNXWgPXWgQXWgRXWgSXWiLaIx1aDpoAmg5aExoPmiNdWJoSSmBcap9casoaDhoK2g5aExoLUsxaAhYRAAAACMgU2V0IGEgd2FybmluZyBmaWx0ZXIgdG8gY29udHJvbCBob3cgb2Z0ZW4gd2FybmluZ3MgYXJlIHByb2R1Y2VkLjo6caxoC31xrShoD11oDV1oEl1oEF1oEV11aDpoAmguXXGuaDRYQwAAACMgU2V0IGEgd2FybmluZyBmaWx0ZXIgdG8gY29udHJvbCBob3cgb2Z0ZW4gd2FybmluZ3MgYXJlIHByb2R1Y2VkLjpxr4WBcbB9cbEoaC1OaDhoqmg5Tmg6aAJoCFhDAAAAIyBTZXQgYSB3YXJuaW5nIGZpbHRlciB0byBjb250cm9sIGhvdyBvZnRlbiB3YXJuaW5ncyBhcmUgcHJvZHVjZWQuOnViYWg+aFN1YmiDKYFxsn1xsyhoLUs2aC5dcbRoNFhnAAAAd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMiKQpwcmludChtdWx0aXBseSg1LCA2KSkKcHJpbnQob2xkX211bHRpcGx5KDUsNikpCnByaW50KGV4cF9tdWx0aXBseSg1LDYpKXG1hYFxtn1xtyhoOGiyaAhVAHViYWg4aCtoCFhnAAAAd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMiKQpwcmludChtdWx0aXBseSg1LCA2KSkKcHJpbnQob2xkX211bHRpcGx5KDUsNikpCnByaW50KGV4cF9tdWx0aXBseSg1LDYpKWgLfXG4KGgNXWgPXWgQXWgRXWgSXWiLaIx1aDpoAmg5WKAAAAAvdXNyL2xvY2FsL2dvb2dsZS9ob21lL2FsdGF5L3dlYnNpdGVfdXBkYXRlX2Rpci9weXRob25fZG9jL2JlYW0vc2Rrcy9weXRob24vYXBhY2hlX2JlYW0vdXRpbHMvYW5ub3RhdGlvbnMucHk6ZG9jc3RyaW5nIG9mIGFwYWNoZV9iZWFtLnV0aWxzLmFubm90YXRpb25zLmFubm90YXRlcbloPmiNdWJoQCmBcbp9cbsoaC1OaC5daDhoK2gIVQBoC31xvChoDV1oD11oEF1VB2VudHJpZXNdcb0oaEVYNAAAAGFubm90YXRlKCkgKGluIG1vZHVsZSBhcGFjaGVfYmVhbS51dGlscy5hbm5vdGF0aW9ucyloFVUATnRxvmFoEV1oEl11aDpoAmg5Tmg+aEh1YmNzcGhpbnguYWRkbm9kZXMKZGVzYwpxvymBccB9ccEoaC1OaC5dccIoY3NwaGlueC5hZGRub2RlcwpkZXNjX3NpZ25hdHVyZQpxwymBccR9ccUoaC1OaC5dccYoY3NwaGlueC5hZGRub2RlcwpkZXNjX2FkZG5hbWUKcccpgXHIfXHJKGgtTmguXXHKaDRYHgAAAGFwYWNoZV9iZWFtLnV0aWxzLmFubm90YXRpb25zLnHLhYFxzH1xzShoLU5oOGjIaDlOaDpoAmgIVQB1YmFoOGjEaAhYHgAAAGFwYWNoZV9iZWFtLnV0aWxzLmFubm90YXRpb25zLmgLfXHOKGgNXWgPXWgQXWgRXWgSXWiLaIx1aDpoAmg5WKAAAAAvdXNyL2xvY2FsL2dvb2dsZS9ob21lL2FsdGF5L3dlYnNpdGVfdXBkYXRlX2Rpci9weXRob25fZG9jL2JlYW0vc2Rrcy9weXRob24vYXBhY2hlX2JlYW0vdXRpbHMvYW5ub3RhdGlvbnMucHk6ZG9jc3RyaW5nIG9mIGFwYWNoZV9iZWFtLnV0aWxzLmFubm90YXRpb25zLmFubm90YXRlcc9oPlUMZGVzY19hZGRuYW1lcdB1YmNzcGhpbnguYWRkbm9kZXMKZGVzY19uYW1lCnHRKYFx0n1x0yhoLU5oLl1x1Gg0WAgAAABhbm5vdGF0ZXHVhYFx1n1x1yhoLU5oOGjSaDlOaDpoAmgIVQB1YmFoOGjEaAhYCAAAAGFubm90YXRlcdhoC31x2ShoDV1oD11oEF1oEV1oEl1oi2iMdWg6aAJoOWjPaD5VCWRlc2NfbmFtZXHadWJjc3BoaW54LmFkZG5vZGVzCmRlc2NfcGFyYW1ldGVybGlzdApx2ymBcdx9cd0oaC1OaC5dcd4oY3NwaGlueC5hZGRub2RlcwpkZXNjX3BhcmFtZXRlcgpx3ymBceB9ceEoaAt9ceIoaA1daA9daBBdaBFdaBJdaItojHVoOGjcaC5dceNoNFgFAAAAbGFiZWxx5IWBceV9ceYoaDho4GgIVQB1YmFoPlUOZGVzY19wYXJhbWV0ZXJx52gIWAUAAABsYWJlbHViaN8pgXHofXHpKGgLfXHqKGgNXWgPXWgQXWgRXWgSXWiLaIx1aDho3GguXXHraDRYBQAAAHNpbmNlceyFgXHtfXHuKGg4aOhoCFUAdWJhaD5o52gIWAUAAABzaW5jZXViaN8pgXHvfXHwKGgLfXHxKGgNXWgPXWgQXWgRXWgSXWiLaIx1aDho3GguXXHyaDRYBwAAAGN1cnJlbnRx84WBcfR9cfUoaDho72gIVQB1YmFoPmjnaAhYBwAAAGN1cnJlbnR1YmjfKYFx9n1x9yhoC31x+ChoDV1oD11oEF1oEV1oEl1oi2iMdWg4aNxoLl1x+Wg0WA0AAABleHRyYV9tZXNzYWdlcfqFgXH7fXH8KGg4aPZoCFUAdWJhaD5o52gIWA0AAABleHRyYV9tZXNzYWdldWJlaDhoxGgIWCQAAABsYWJlbCwgc2luY2UsIGN1cnJlbnQsIGV4dHJhX21lc3NhZ2VoC31x/ShoDV1oD11oEF1oEV1oEl1oi2iMdWg6aAJoOWjPaD5VEmRlc2NfcGFyYW1ldGVybGlzdHH+dWJjc3BoaW54LmFkZG5vZGVzCm9ubHkKcf8pgXIAAQAAfXIBAQAAKGgtTmguXXICAQAAY3NwaGlueC5hZGRub2RlcwpwZW5kaW5nX3hyZWYKcgMBAAApgXIEAQAAfXIFAQAAKGgLfXIGAQAAKFUJcmVmdGFyZ2V0VSZfbW9kdWxlcy9hcGFjaGVfYmVhbS91dGlscy9hbm5vdGF0aW9uc1UHcmVmdHlwZVUIdmlld2NvZGVyBwEAAGgRXVULcmVmZXhwbGljaXSJaA9daBBdaA1dVQZyZWZkb2NYHQAAAGFwYWNoZV9iZWFtLnV0aWxzLmFubm90YXRpb25zcggBAABVCXJlZmRvbWFpblUDc3RkcgkBAABoEl1VBXJlZmlkaNh1aDhqAAEAAGguXXIKAQAAY2RvY3V0aWxzLm5vZGVzCmlubGluZQpyCwEAACmBcgwBAAB9cg0BAAAoaAt9cg4BAAAoaA9dcg8BAABVDXZpZXdjb2RlLWxpbmtyEAEAAGFoDV1oEl1oEF1oEV11aDhqBAEAAGguXXIRAQAAaDRYCAAAAFtzb3VyY2VdchIBAACFgXITAQAAfXIUAQAAKGg4agwBAABoCFUAdWJhaD5VBmlubGluZXIVAQAAaAhVAHViYWg+VQxwZW5kaW5nX3hyZWZyFgEAAGgIVQB1YmFoOGjEaAhVAGgLfXIXAQAAKGgNXVUEZXhwclUEaHRtbHIYAQAAaA9daBBdaBFdaBJddWg6aAJoOU5oPlUEb25seXIZAQAAdWJlaDhowGgIWC4AAABhbm5vdGF0ZShsYWJlbCwgc2luY2UsIGN1cnJlbnQsIGV4dHJhX21lc3NhZ2UpaAt9choBAAAoaA1dchsBAABoFWFoD11oEF1yHAEAAGgVYWgRXVUGbW9kdWxlch0BAABjZG9jdXRpbHMubm9kZXMKcmVwcnVuaWNvZGUKch4BAABYHQAAAGFwYWNoZV9iZWFtLnV0aWxzLmFubm90YXRpb25zch8BAACFgXIgAQAAfXIhAQAAYlUFZmlyc3RyIgEAAIlVCGZ1bGxuYW1lciMBAABo2GgSXVUFY2xhc3NyJAEAAFUAdWg6aAJoOWjPaD5VDmRlc2Nfc2lnbmF0dXJlciUBAAB1YmNzcGhpbnguYWRkbm9kZXMKZGVzY19jb250ZW50CnImAQAAKYFyJwEAAH1yKAEAAChoLU5oLl1yKQEAAChoSSmBcioBAAB9cisBAAAoaDhqJwEAAGg5WKAAAAAvdXNyL2xvY2FsL2dvb2dsZS9ob21lL2FsdGF5L3dlYnNpdGVfdXBkYXRlX2Rpci9weXRob25fZG9jL2JlYW0vc2Rrcy9weXRob24vYXBhY2hlX2JlYW0vdXRpbHMvYW5ub3RhdGlvbnMucHk6ZG9jc3RyaW5nIG9mIGFwYWNoZV9iZWFtLnV0aWxzLmFubm90YXRpb25zLmFubm90YXRlciwBAABo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yQEAAHViZWg4aCtoCFUAaAt9csoBAAAoaA1dVQdvYmp0eXBlcssBAABYCAAAAGZ1bmN0aW9ucswBAABVCGRlc2N0eXBlcs0BAABqzAEAAGgPXWgQXWgRXVUGZG9tYWlucs4BAABYAgAAAHB5VQdub2luZGV4cs8BAACJaBJddWg6aAJoOU5oPlUEZGVzY3LQAQAAdWJlaDhoAmgIVQBoC31y0QEAAChoD11oDV1y0gEAAChYJAAAAG1vZHVsZS1hcGFjaGVfYmVhbS51dGlscy5hbm5vdGF0aW9uc3LTAQAAaBtlaBJdaBBdctQBAABoFmFoEV11aDpoAmg5aA5oPlUHc2VjdGlvbnLVAQAAdWJoFWjEatMBAABjZG9jdXRpbHMubm9kZXMKdGFyZ2V0CnLWAQAAKYFy1wEAAH1y2AEAAChoLUsBaC5daDhoK2gIVQBoC31y2QEAAChoDV1y2gEAAGrTAQAAYVUFaXNtb2SIaA9daBBdaBFdaBJddWg6aAJoOWhHaD5VBnRhcmdldHLbAQAAdWJ1aC5dctwBAABoK2FVCHNldHRpbmdzct0BAAAoY2RvY3V0aWxzLmZyb250ZW5kClZhbHVlcwpy3gEAAG9y3wEAAH1y4AEAAChVDnN0cmlwX2NvbW1lbnRzcuEBAABOVRNzbWFydHF1b3Rlc19sb2NhbGVzcuIBAABOVRxpbnB1dF9lbmNvZGluZ19lcnJvcl9oYW5kbGVycuMBAABVBnN0cmljdHLkAQAAVR10cmltX2Zvb3Rub3RlX3JlZmVyZW5jZV9zcGFjZXLlAQAAiVUSc2VjdHN1YnRpdGxlX3hmb3JtcuYBAACJVQ53YXJuaW5nX3N0cmVhbXLnAQAATlUMcGVwX2Jhc2VfdXJscugBAABVIGh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcukBAABVFXBlcF9maWxlX3VybF90ZW1wbGF0ZXLqAQAAVQhwZXAtJTA0ZHLrAQAAVQxfZGVzdGluYXRpb25y7AEAAE5VG3N0cmlwX2VsZW1lbnRzX3dpdGhfY2xhc3Nlc3LtAQAATlULc291cmNlX2xpbmty7gEAAE5VDWxhbmd1YWdlX2NvZGVy7wEAAFUCZW5y8AEAAFUJZ2VuZXJhdG9ycvEBAABOVQtyYXdfZW5hYmxlZHLyAQAASwFVD2R1bXBfcHNldWRvX3htbHLzAQAATlUMcmVwb3J0X2xldmVscvQBAABLAlUGY29uZmlncvUBAABOVQ1zZWN0bnVtX3hmb3JtcvYBAABLAVUOc3RyaWN0X3Zpc2l0b3Jy9wEAAE5oP05VEWV4aXRfc3RhdHVzX2xldmVscvgBAABLBVUKaGFsdF9sZXZlbHL5AQAASwVVHWNoYXJhY3Rlcl9sZXZlbF9pbmxpbmVfbWFya3VwcvoBAACJVQ5kb2N0aXRsZV94Zm9ybXL7AQAAiVUQc3ludGF4X2hpZ2hsaWdodHL8AQAAVQRsb25ncv0BAABVD2R1bXBfdHJhbnNmb3Jtc3L+AQAATlUNZG9jaW5mb194Zm9ybXL/AQAASwFVFmZpbGVfaW5zZXJ0aW9uX2VuYWJsZWRyAAIAAIhVBWRlYnVncgECAABOVQdfc291cmNlcgICAABoDlUJdGFiX3dpZHRocgMCAABLCFUSZm9vdG5vdGVfYmFja2xpbmtzcgQCAABLAVUPZ2V0dGV4dF9jb21wYWN0cgUCAACIVQ9fZGlzYWJsZV9jb25maWdyBgIAAE5VDnJmY19yZWZlcmVuY2VzcgcCAABOVQlpZF9wcmVmaXhyCAIAAFUAVQxyZmNfYmFzZV91cmxyCQIAAFUcaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3IKAgAAVRBlbWJlZF9zdHlsZXNoZWV0cgsCAACJVQ10b2NfYmFja2xpbmtzcgwCAABVBWVudHJ5cg0CAABVHW91dHB1dF9lbmNvZGluZ19lcnJvcl9oYW5kbGVycg4CAABq5AEAAFUNZHVtcF9zZXR0aW5nc3IPAgAATlUNc3RyaXBfY2xhc3Nlc3IQAgAATlUMc21hcnRfcXVvdGVzchECAACIVRxlcnJvcl9lbmNvZGluZ19lcnJvcl9oYW5kbGVychICAABVEGJhY2tzbGFzaHJlcGxhY2VyEwIAAFUPb3V0cHV0X2VuY29kaW5nchQCAABVBXV0Zi04chUCAABVEGV4cG9zZV9pbnRlcm5hbHNyFgIAAE5VCWRhdGVzdGFtcHIXAgAATlUOZXJyb3JfZW5jb2RpbmdyGAIAAFUFVVRGLThyGQIAAFUOZHVtcF9pbnRlcm5hbHNyGgIAAE5VDmlucHV0X2VuY29kaW5nchsCAABVCXV0Zi04LXNpZ3IcAgAAVQ5hdXRvX2lkX3ByZWZpeHIdAgAAVQJpZHIeAgAAVQpzb3VyY2VfdXJsch8CAABOVQl0cmFjZWJhY2tyIAIAAIhVA2VudnIhAgAATlUVY2xvYWtfZW1haWxfYWRkcmVzc2VzciICAACIVQ5wZXBfcmVmZXJlbmNlc3IjAgAATlUTcmVjb3JkX2RlcGVuZGVuY2llc3IkAgAATlUNX2NvbmZpZ19maWxlc3IlAgAAXXImAgAAdWJoPmg6VRRzeW1ib2xfZm9vdG5vdGVfcmVmc3InAgAAXXIoAgAAaDpoAlUKZGVjb3JhdGlvbnIpAgAATlUIaWRfc3RhcnRyKgIAAEsBVQ1hdXRvZm9vdG5vdGVzcisCAABdciwCAABVFXN5bWJvbF9mb290bm90ZV9zdGFydHItAgAASwBVDGN1cnJlbnRfbGluZXIuAgAATlUOcGFyc2VfbWVzc2FnZXNyLwIAAF1yMAIAAFUGcmVmaWRzcjECAAB9cjICAABVDmN1cnJlbnRfc291cmNlcjMCAABOVRFzdWJzdGl0dXRpb25fZGVmc3I0AgAAfXI1AgAAVRBzeW1ib2xfZm9vdG5vdGVzcjYCAABdcjcCAAB1Yi4=