LlwiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgouXCIKLlwiIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIHdpdGggcG80YS4gVHJhbnNsYXRlIHRoZSBzb3VyY2UgZmlsZS4KLlwiCi5cIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLlRIIGRzZWxlY3QgMSAyMDExXC0wOFwtMTQgIlByb2pldCBEZWJpYW4iIERlYmlhbgouU0ggTk9NCmRzZWxlY3QgXC0gSW50ZXJmYWNlIGRlIGdlc3Rpb24gZGUgcGFxdWV0cyBEZWJpYW4uCi4KLlNIIFNZTk9QU0lTClxmQmRzZWxlY3RcZlAgW1xmSW9wdGlvblxmUC4uLl0gW1xmSWFjdGlvblxmUF0KLgouU0ggREVTQ1JJUFRJT04KXGZCZHNlbGVjdFxmUCBlc3QgdW5lIGRlcyBwcmluY2lwYWxlcyBpbnRlcmZhY2VzIGRlIGdlc3Rpb24gZGVzIHBhcXVldHMgc3VyIHVuIHN5c3TobWUgRGViaWFuLiDAIHBhcnRpciBkdSBtZW51IHByaW5jaXBhbCBkZSBcZkJkc2VsZWN0XGZQLCBsJ2FkbWluaXN0cmF0ZXVyIHN5c3TobWUgcGV1dFwgOgogXC0gTWV0dHJlIOAgam91ciBsYSBsaXN0ZSBkZXMgdmVyc2lvbnMgZGVzIHBhcXVldHMgZGlzcG9uaWJsZXMsCiBcLSBWb2lyIGwn6XRhdCBkZXMgcGFxdWV0cyBpbnN0YWxs6XMgb3UgZGlzcG9uaWJsZXMsCiBcLSBNb2RpZmllciBsZXMgc+lsZWN0aW9ucyBkZSBwYXF1ZXRzIGV0IGfpcmVyIGxlcyBk6XBlbmRhbmNlcywKIFwtIEluc3RhbGxlciBkZSBub3V2ZWF1eCBwYXF1ZXRzIG91IG1ldHRyZSDgIGpvdXIgdmVycyBkZSBub3V2ZWxsZXMgdmVyc2lvbnMuCi5QUApcZkJkc2VsZWN0XGZQIGVzdCB1bmUgaW50ZXJmYWNlIGF1IGRlc3N1cyBkZSBcZkJkcGtnXGZQKDEpLCBsJ291dGlsIGJhcyBuaXZlYXUgZGUKZ2VzdGlvbiBkZXMgcGFxdWV0cyBEZWJpYW4uIElsIHByb3Bvc2Ug4CBsJ+ljcmFuIHVuIGdlc3Rpb25uYWlyZSBkZQpz6WxlY3Rpb25zIGRlIHBhcXVldHMgYXZlYyBsYSBwb3NzaWJpbGl06SBkZSBy6XNvdWRyZSBsZXMgY29uZmxpdHMgZXQKZOlwZW5kYW5jZXMuIEV46WN1dOkgYXZlYyBsZXMgZHJvaXRzIGFkbWluaXN0cmF0ZXVyLCBpbCBwZXJtZXQgZCdpbnN0YWxsZXIKZGVzIHBhcXVldHMsIGxlcyBtZXR0cmUg4CBqb3VyIG91IGxlcyByZXRpcmVyLiBQbHVzaWV1cnMgbel0aG9kZSBkJ2FjY+hzCnBldXZlbnQg6nRyZSBjb25maWd1cullcyBwb3VyIHLpY3Vw6XJlciBsZXMgaW5mb3JtYXRpb25zIHN1ciBsZXMgdmVyc2lvbnMKZGVzIHBhcXVldHMgZGlzcG9uaWJsZXMgZXQgbGVzIHBhcXVldHMgZXV4XC1t6m1lcyBkYW5zIGxlcyBk6XD0dHMgZGUKcGFxdWV0cy4gU3VpdmFudCBsYSBt6XRob2RlIGQnYWNj6HMgdXRpbGlz6WUsIGNlcyBk6XD0dHMgcGV1dmVudCDqdHJlIGRlcwpzZXJ2ZXVycyBkJ2FyY2hpdmVzIHB1YmxpY3Mgc3VyIEludGVybmV0LCBkZXMgc2VydmV1cnMgbG9jYXV4IG91IGRlcwpDRFJPTS4gTGEgbel0aG9kZSBkJ2FjY+hzIHJlY29tbWFuZOllIGVzdCBcZklhcHRcZlAsIHF1aSBlc3QgZm91cm5pZSBwYXIgbGUKcGFxdWV0IFxmQmFwdFxmUC4KLlBQCk5vcm1hbGx5IFxmQmRzZWxlY3RcZlAgaXMgaW52b2tlZCB3aXRob3V0IHBhcmFtZXRlcnMuIEFuIGludGVyYWN0aXZlIG1lbnUgaXMKcHJlc2VudGVkLCBvZmZlcmluZyB0aGUgdXNlciBhIGxpc3Qgb2YgYWN0aW9ucy4gSWYgYW4gYWN0aW9uIGlzIGdpdmVuIGFzCmFyZ3VtZW50LCB0aGVuIHRoYXQgYWN0aW9uIGlzIHN0YXJ0ZWQgaW1tZWRpYXRlbHkuIFNldmVyYWwgY29tbWFuZCBsaW5lCnBhcmFtZXRlcnMgYXJlIHN0aWxsIGF2YWlsYWJsZSB0byBtb2RpZnkgdGhlIHJ1bm5pbmcgYmVoYXZpb3VyIG9mIFxmQmRzZWxlY3RcZlAKb3Igc2hvdyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9ncmFtLgouCi5TSCBPUFRJT05TCkFsbCBvcHRpb25zIGNhbiBiZSBzcGVjaWZpZWQgYm90aCBvbiB0aGUgY29tbWFuZCBsaW5lIGFuZCBpbiB0aGUgXGZCZHNlbGVjdFxmUApjb25maWd1cmF0aW9uIGZpbGUgXGZJL2V0Yy9kcGtnL2RzZWxlY3QuY2ZnXGZQIG9yIHRoZSBmaWxlcyBvbiB0aGUKY29uZmlndXJhdGlvbiBkaXJlY3RvcnkgXGZJL2V0Yy9kcGtnL2RzZWxlY3QuY2ZnLmQvXGZQLiBFYWNoIGxpbmUgaW4gdGhlCmNvbmZpZ3VyYXRpb24gZmlsZSBpcyBlaXRoZXIgYW4gb3B0aW9uIChleGFjdGx5IHRoZSBzYW1lIGFzIHRoZSBjb21tYW5kIGxpbmUKb3B0aW9uIGJ1dCB3aXRob3V0IGxlYWRpbmcgZGFzaGVzKSBvciBhIGNvbW1lbnQgKGlmIGl0IHN0YXJ0cyB3aXRoIGEgXGZCI1xmUCkuCi5icgouVFAgClxmQlwtXC1hZG1pbmRpclxmUFxmSSBy6XBlcnRvaXJlXGZQCkNoYW5nZSBsZSBy6XBlcnRvaXJlIG/5IGxlcyBmaWNoaWVycyCrXCBcZklzdGF0dXNcZlBcILssIKtcIFxmSWF2YWlsYWJsZVxmUFwguyBldAphdXRyZXMgc29udCBzaXR16XMuIExlIHLpcGVydG9pcmUgcGFyIGTpZmF1dCBlc3QgXGZJL3Zhci9saWIvZHBrZ1xmUCBldCBpbCBuZQpkZXZyYWl0IHBhcyBhdm9pciBiZXNvaW4gZGUgbGUgbW9kaWZpZXIuCi5UUCAKXGZCXC1cLWRlYnVnXGZQXGZJIGZpbGUgXGZQfFxmSSBcZlBcZkJcLURcZlBcZklmaWxlXGZQClR1cm4gb24gZGVidWdnaW5nLiBEZWJ1Z2dpbmcgaW5mb3JtYXRpb24gaXMgc2VudCB0byBcZklmaWxlXGZQLgouVFAgClxmQlwtXC1leHBlcnRcZlAKQWN0aXZlciBsZSBtb2RlIGV4cGVydCwgYydlc3RcLeBcLWRpcmUgbmUgcGFzIGFmZmljaGVyIGxlcyBtZXNzYWdlcyBkJ2FpZGUKZW5udXlldXguCi5UUCAKXGZCXC1cLWNvbG91clxmUHxcZkJcLVwtY29sb3JcZlAgXGZJcGFydGllX+ljcmFuOlxmUFtcZklwcmVtaWVyX3BsYW5cZlBdLFtcZklhcnJp6HJlX3BsYW5cZlBdW1xmSTphdHRyXGZQW1xmSSthdHRyKy4uXGZQXV0KQ29uZmlndXJlIGxlcyBjb3VsZXVycyBkZXMg6WNyYW5zLiBDZWNpIG5lIGZvbmN0aW9ubmUgcXVlIHNpIHZvdHJlIHRlcm1pbmFsCmfocmUgbGVzIGNvdWxldXJzLiBDZXR0ZSBvcHRpb24gcGV1dFwt6nRyZSB1dGlsaXPpZSBwbHVzaWV1cnMgZm9pcyAoZXQgaWwgZXN0CnBy6WbpcmFibGUgZGUgbCd1dGlsaXNlciBkYW5zIFxmSWRzZWxlY3QuY2ZnXGZQKS4gQ2hhcXVlIHV0aWxpc2F0aW9uIGNoYW5nZSBsYQpjb3VsZXVyIChldCwgZW4gb3B0aW9uLCBkJ2F1dHJlcyBhdHRyaWJ1dHMpIGQndW5lIHBhcnRpZSBkZSBsJ+ljcmFuLiBMZXMKcGFydGllcyBkZSBsJ+ljcmFuIChkZSBoYXV0IGVuIGJhcykgc29udFwgOgouUlMKLlRQIApcZkJ0aXRsZVxmUApMZSB0aXRyZSBkZSBsJ+ljcmFuLgouVFAgClxmQmxpc3RoZWFkXGZQCkxhIGxpZ25lIGQnZW5cLXTqdGUgYXUgZGVzc3VzIGRlIGxhIGxpc3RlIGRlIHBhcXVldHMuCi5UUCAKXGZCbGlzdFxmUApMYSBsaXN0ZSBk6XJvdWxhbnRlIGRlIHBhcXVldHMgKGV0IGRlIHRleHRlcyBleHBsaWNhdGlmcykuCi5UUCAKXGZCbGlzdHNlbFxmUApMJ+ls6W1lbnQgc+lsZWN0aW9ubukgZGFucyBsYSBsaXN0ZS4KLlRQIApcZkJwa2dzdGF0ZVxmUApEYW5zIGxhIGxpc3RlIGRlcyBwYXF1ZXRzLCBsZSB0ZXh0ZSBxdWkgaW5kaXF1ZSBsJ+l0YXQgYWN0dWVsIGRlIGNoYXF1ZQpwYXF1ZXQuCi5UUCAKXGZCcGtnc3RhdGVzZWxcZlAKRGFucyBsYSBsaXN0ZSBkZXMgcGFxdWV0cywgbGUgdGV4dGUgcXVpIGluZGlxdWUgbCfpdGF0IGFjdHVlbCBkdSBwYXF1ZXQKc+lsZWN0aW9ubukuCi5UUCAKXGZCaW5mb2hlYWRcZlAKTGEgbGlnbmUgZCdlblwtdOp0ZSBxdWkgYWZmaWNoZSBsJ+l0YXQgZHUgcGFxdWV0IHPpbGVjdGlvbm7pLgouVFAgClxmQmluZm9kZXNjXGZQCkxhIGRlc2NyaXB0aW9uIGNvdXJ0ZSBkdSBwYXF1ZXQuCi5UUCAKXGZCaW5mb1xmUApVdGlsaXPpIHBvdXIgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBzdXIgbGUgcGFxdWV0LCBjb21tZSBwYXIgZXhlbXBsZSBsYQpkZXNjcmlwdGlvbiBkdSBwYXF1ZXQuCi5UUCAKXGZCaW5mb2Zvb3RcZlAKTGEgZGVybmnocmUgbGlnbmUgZGUgbCfpY3JhbiBsb3JzIGRlIGxhIHPpbGVjdGlvbiBkZXMgcGFxdWV0cy4KLlRQIApcZkJxdWVyeVxmUApVdGlsaXPpIHBvdXIgbGVzIGxpZ25lcyBkZXMgcmVjaGVyY2hlcy4KLlRQIApcZkJoZWxwc2NyZWVuXGZQCkxhIGNvdWxldXIgZGVzIOljcmFucyBkJ2FpZGUuCi5SRQouUApBcHLocyBsYSBwYXJ0aWUgZGUgbCfpY3JhbiBjb25jZXJu6WUsIHZpZW50IHVuIHNpZ25lIGRldXhcLXBvaW50cyBldCBsYQpzcOljaWZpY2F0aW9uIGRlcyBjb3VsZXVycy4gUG91ciBzdXJjaGFyZ2VyIGxlcyB2YWxldXJzIGRlcyBjb3VsZXVycwpjb21waWzpZXMsIHZvdXMgcG91dmV6IGluZGlxdWVyIGxhIGNvdWxldXIgZHUgcHJlbWllciBwbGFuLCBkZQpsJ2FycmnocmVcLXBsYW4sIG91IGxlcyBkZXV4LiBVdGlsaXNleiBsZXMgbm9tcyBzdGFuZGFyZCBkZSBjb3VsZXVycyBjdXJzZXMuCi5QCkVuIG9wdGlvbiwgbGVzIHNw6WNpZmljYXRpb25zIGRlcyBjb3VsZXVycyBwZXV2ZW50IOp0cmUgc3VpdmllcyBkJ3VuIHNpZ25lCmRldXhcLXBvaW50cyBldCBkZSBsYSBzcOljaWZpY2F0aW9uIGQndW4gYXR0cmlidXQuIElsIHMnYWdpdCBkJ3VuZSBsaXN0ZQpkJ2F0dHJpYnV0cywgc+lwYXLpcyBwYXIgZGVzIGNhcmFjdOhyZXMgcGx1cyAoq1wgK1wguykuIFBhcm1pIGxlcyBhdHRyaWJ1dHMKZGlzcG9uaWJsZXMsIG9uIHRyb3V2ZSAodG91cyBuZSBmb25jdGlvbm5lbnQgcGFzIHN1ciB0b3VzIGxlcyB0ZXJtaW5hdXgpXCA6Cm5vcm1hbCwgc3RhbmRvdXQsIHVuZGVybGluZSwgcmV2ZXJzZSwgYmxpbmssIGJyaWdodCwgZGltIGV0IGJvbGQuCi5UUCAKXGZCXC1cLWhlbHBcZlAKQWZmaWNoZSB1bmUgYWlkZSByYXBpZGUgZXQgc2UgdGVybWluZSBub3JtYWxlbWVudC4KLlRQIApcZkJcLVwtdmVyc2lvblxmUApBZmZpY2hlIGxhIHZlcnNpb24gZXQgc2UgdGVybWluZSBub3JtYWxlbWVudC4KLgouU0ggQUNUSU9OUwpXaGVuIFxmQmRzZWxlY3RcZlAgaXMgc3RhcnRlZCBpdCBjYW4gcGVyZm9ybSB0aGUgZm9sbG93aW5nIGFjdGlvbnMsIGVpdGhlcgpkaXJlY3RseSBpZiBpdCB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUgb3IgYnkgcHJvbXB0aW5nIHRoZSB1c2VyCndpdGggYSBtZW51IG9mIGF2YWlsYWJsZSBhY3Rpb25zIGlmIHJ1bm5pbmcgaW50ZXJhY3RpdmVseToKLlNTICJBY2PpZGVyIChhY2Nlc3MpIgpDaG9pc2lyIGV0IGNvbmZpZ3VyZXIgdW5lIG3pdGhvZGUgZCdhY2PocyBhdXggZOlw9HRzIGRlIHBhcXVldHMuCi5zcApCeSBkZWZhdWx0LCBcZkJkc2VsZWN0XGZQIHByb3ZpZGVzIHNldmVyYWwgbWV0aG9kcyBzdWNoIGFzIFxmSWNkcm9tXGZQLApcZkltdWx0aV9jZFxmUCwgXGZJbmZzXGZQLCBcZkltdWx0aV9uZnNcZlAsIFxmSWhhcmRkaXNrXGZQLCBcZkltb3VudGVkXGZQLCBcZkltdWx0aV9tb3VudFxmUCwKXGZJZmxvcHB5XGZQIG9yIFxmSWZ0cFxmUCwgYnV0IG90aGVyIHBhY2thZ2VzIG1heSBwcm92aWRlIGFkZGl0aW9uYWwgbWV0aG9kcywKZWcuIHRoZSBcZklhcHRcZlAgYWNjZXNzIG1ldGhvZCBwcm92aWRlZCBieSB0aGUgXGZCYXB0XGZQIHBhY2thZ2UuCi5zcApMJ3V0aWxpc2F0aW9uIGRlIGxhIG3pdGhvZGUgZCdhY2PocyBcZklhcHRcZlAgZXN0IGZvcnRlbWVudCBjb25zZWlsbOllLgouc3AKLlNTICJNaXNlIOAgam91ciAodXBkYXRlKSIKUmFmcmHuY2hpciBsYSBsaXN0ZSBkZXMgcGFxdWV0cyBkaXNwb25pYmxlcy4KLnNwClLpY3Vw6HJlIHVuZSBsaXN0ZSBkZSB2ZXJzaW9ucyBkZSBwYXF1ZXRzIGRpc3BvbmlibGVzIGRlcHVpcyB1biBk6XD0dCBkZQpwYXF1ZXRzLCBxdWkgYSDpdOkgY29uZmlndXLpIHBvdXIgbGEgbel0aG9kZSBkJ2FjY+hzIGFjdHVlbGxlLCBwdWlzIG1ldCDgCmpvdXIgbGEgYmFzZSBkZSBkb25u6WVzIGRlIGRwa2cuIExlcyBsaXN0ZXMgZGUgcGFxdWV0cyBzb250IGQnaGFiaXR1ZGUKZm91cm5pcyBwYXIgbGVzIGTpcPR0cyBzb3VzIGxhIGZvcm1lIGRlIGZpY2hpZXJzIFxmSVBhY2thZ2VzXGZQIG91ClxmSVBhY2thZ2VzLmd6XGZQLiBDZXMgZmljaGllcnMgcGV1dmVudCDqdHJlIGfpbuly6XMgcGFyIGxlcyByZXNwb25zYWJsZXMgZGVzCmTpcPR0cyBncuJjZSBhdSBwcm9ncmFtbWUgXGZCZHBrZ1wtc2NhbnBhY2thZ2VzXGZQKDEpLgouc3AKTGUgZm9uY3Rpb25uZW1lbnQgZOl0YWlsbOkgZGVzIG1pc2VzIOAgam91ciBk6XBlbmQgZGUgbCdpbXBs6W1lbnRhdGlvbiBkZSBsYQpt6XRob2RlIGQnYWNj6HMuIE5vcm1hbGVtZW50IGxlIHByb2Nlc3N1cyBzZSBwYXNzZSB0b3V0IHNldWwsIHNhbnMKaW50ZXJ2ZW50aW9uIGRlIGwndXRpbGlzYXRldXIuCi5zcAouU1MgIlPpbGVjdGlvbm5lciAoc2VsZWN0KSIKVm9pciBvdSBn6XJlciBsZXMgcGFxdWV0cyBz6WxlY3Rpb25u6XMgZXQgbGVzIGTpcGVuZGFuY2VzLgouc3AKSWwgcydhZ2l0IGRlIGxhIGZvbmN0aW9uIHByaW5jaXBhbGUgZGUgXGZCZHNlbGVjdFxmUC4gRGFucyBsJ+ljcmFuIGRlCnPpbGVjdGlvbiwgbCd1dGlsaXNhdGV1ciBwZXV0IGNvbnN1bHRlciBsYSBsaXN0ZSBkZSB0b3VzIGxlcyBwYXF1ZXRzCmRpc3BvbmlibGVzIG91IGluc3RhbGzpcy4gRXjpY3V06SBhdmVjIGxlcyBwcml2aWzoZ2VzIGFkbWluaXN0cmF0ZXVyLCBpbApwZXJtZXQg6WdhbGVtZW50IGRlIGNoYW5nZXIgZGUgZmHnb24gaW50ZXJhY3RpdmUgbCfpdGF0IGRlIHBhcXVldHMKc+lsZWN0aW9ubulzLiBcZkJkc2VsZWN0XGZQIHbpcmlmaWUgbGVzIGltcGxpY2F0aW9ucyBkZSBjZXMgY2hhbmdlbWVudHMKdmlzXC3gXC12aXMgZGVzIGTpcGVuZGFuY2VzIGV0IGRlcyBjb25mbGl0cyBlbnRyZSBwYXF1ZXRzLgouc3AKTG9yc3F1J3VuIGNvbmZsaXQgb3UgdW5lIGTpcGVuZGFuY2UgbWFucXVhbnRlIGVzdCBk6XRlY3TpLCB1biBzb3VzXC3pY3JhbiBkZQpy6XNvbHV0aW9uIGRlcyBk6XBlbmRhbmNlcyBlc3QgcHJvcG9z6SDgIGwndXRpbGlzYXRldXIuIERhbnMgY2V0IOljcmFuLCB1bmUKbGlzdGUgZGUgcGFxdWV0cyBhdmVjIGRlcyBjb25mbGl0cyBvdSBhdmVjIGRlcyBk6XBlbmRhbmNlcyBtYW5xdWFudGVzIGVzdAphZmZpY2jpZSBldCBwb3VyIGNoYXF1ZSBwYXF1ZXQgbGlzdOksIGxhIHJhaXNvbiBkZSBzYSBwculzZW5jZSBkYW5zIGNldHRlCmxpc3RlIGVzdCBpbmRpcXXpZS4gTCd1dGlsaXNhdGV1ciBwZXV0IGVuc3VpdGUgYXBwbGlxdWVyIGxlcyBzdWdnZXN0aW9uIGRlClxmQmRzZWxlY3RcZlAsIGxlcyBtb2RpZmllciBvdSBzdXBwcmltZXIgdG91dGVzIGxlcyBtb2RpZmljYXRpb25zLCBkb250IGNlbGxlcwpxdWkgb250IGNy6ekgbGVzIGNvbmZsaXRzIG91IGTpcGVuZGFuY2VzIG5vbiBy6XNvbHVlcy4KLnNwCkwndXRpbGlzYXRpb24gZGUgbCfpY3JhbiBpbnRlcmFjdGlmIGRlcyBz6WxlY3Rpb25zIGRlIHBhcXVldHMgZXN0IGV4cGxpcXXpZQpkZSBmYedvbiBwbHVzIGTpdGFpbGzpZSBjaVwtZGVzc291cy4KLnNwCi5TUyAiSW5zdGFsbGVyIChpbnN0YWxsKSIKSW5zdGFsbGVyIGxlcyBwYXF1ZXRzIHPpbGVjdGlvbm7pcy4KLnNwCkxhIG3pdGhvZGUgZCdhY2PocyBy6WN1cOlyZXJhIGRhbnMgbGVzIGTpcPR0cyBsZXMgcGFxdWV0cyBxdWkgcGV1dmVudCDqdHJlCmluc3RhbGzpcyBvdSBtaXMg4CBqb3VyLCBwdWlzIGxlcyBpbnN0YWxsZSBhdmVjIFxmQmRwa2dcZlAuIEVuIGZvbmN0aW9uIGRlIGxhCm3pdGhvZGUgZCdhY2PocywgbGVzIHBhcXVldHMgcGV1dmVudCDqdHJlIHRvdXMgculjdXDpculzIGF2YW50IGluc3RhbGxhdGlvbiwKb3UgculjdXDpculzIOAgbGEgZGVtYW5kZS4gQ2VydGFpbmVzIG3pdGhvZGVzIGQnYWNj6HMgcmV0aXJlbnQg6WdhbGVtZW50IGxlcwpwYXF1ZXRzIHF1aSBvbnQg6XTpIG1hcnF16XMgcG91ciDqdHJlIHJldGly6XMuCi5zcApTaSB1bmUgZXJyZXVyIGFwcGFyYe50IGxvcnMgZGUgbCdpbnN0YWxsYXRpb24sIGlsIGVzdCByZWNvbW1hbmTpIGRlCnJlZOltYXJyZXIgdW5lIGluc3RhbGxhdGlvbi4gTGEgcGx1cGFydCBkZXMgZm9pcywgbGVzIHByb2Js6G1lcwpkaXNwYXJhaXNzZW50IG91IHNvbnQgculzb2x1cy4gU2kgbGVzIHByb2Js6G1lcyBwZXJzaXN0ZW50IG91IHNpCmwnaW5zdGFsbGF0aW9uIG4nZXN0IHBhcyBjb3JyZWN0ZSwgdmV1aWxsZXogZXhhbWluZXIgbGVzIGNhdXNlcyBldApjaXJjb25zdGFuY2VzIHB1aXMgc291bWV0dGV6IHVuIHJhcHBvcnQgZGUgYm9ndWUgYXUgc3lzdOhtZSBkZSBzdWl2aSBkZXMKYm9ndWVzIERlYmlhbi4gTGVzIGluc3RydWN0aW9ucyBwb3VyIHNvdW1ldHRyZSBjZXMgcmFwcG9ydHMgZGUgYm9ndWVzIHNlCnRyb3V2ZW50IHN1ciBodHRwOi8vYnVncy5kZWJpYW4ub3JnLyBvdSBkYW5zIGxhIHBhZ2UgZGUgbWFudWVsIGRlClxmQnJlcG9ydGJ1Z1xmUCgxKSwgc2kgY2UgcGFxdWV0IGVzdCBpbnN0YWxs6S4KLnNwCkxlcyBk6XRhaWxzIGRlIGwnYWN0aW9uIGQnaW5zdGFsbGF0aW9uIGTpcGVuZGVudCBkZSBsJ2ltcGzpbWVudGF0aW9uIGRlIGxhCm3pdGhvZGUgZCdhY2Pocy4gTCdhdHRlbnRpb24gZXQgbGEgY29udHJpYnV0aW9uIGRlIGwndXRpbGlzYXRldXIgcGV1dmVudArqdHJlIG7pY2Vzc2FpcmUgbG9ycyBkZSBsJ2luc3RhbGxhdGlvbiBvdSBkdSByZXRyYWl0IGRlcyBwYXF1ZXRzLiBDZWNpCmTpcGVuZCBkZXMgc2NyaXB0cyBkZXMgcmVzcG9uc2FibGVzIGRlcyBwYXF1ZXRzLiBDZXJ0YWlucyBwYXF1ZXRzIHV0aWxpc2VudApsYSBiaWJsaW90aOhxdWUgXGZCZGViY29uZlxmUCgxKSwgY2UgcXVpIHBlcm1ldCBsYSBtaXNlIGVuIHBsYWNlCmQnaW5zdGFsbGF0aW9ucyBwbHVzIGZsZXhpYmxlcyBvdSBt6m1lIGF1dG9tYXRpc+llcy4KLnNwCi5TUyAiQ29uZmlndXJlciAoY29uZmlnKSIKQ29uZmlndXJlIGxlcyBwYXF1ZXRzIGTpauAgaW5zdGFsbOlzIG1haXMgbifpdGFudCBwYXMgY29tcGzodGVtZW50Cmluc3RhbGzpcy4KLnNwCi5TUyAiUmV0aXJlciAocmVtb3ZlKSIKUmV0aXJlciBvdSBwdXJnZXIgbGVzIHBhcXVldHMgaW5zdGFsbOlzIHF1aSBzb250IG1hcnF16XMgY29tbWUg6XRhbnQg4ApyZXRpcmVyLgouc3AKLlNTICJRdWl0dGVyIChxdWl0KSIKUXVpdHRlciBcZkJkc2VsZWN0XGZQCi5zcApRdWl0dGUgbGUgcHJvZ3JhbW1lIGF2ZWMgdW4gY29kZSBkJ2VycmV1ciBkZSAwIChzdWNj6HMpLgouc3AKLgouU0ggIkdlc3Rpb24gZGVzIHPpbGVjdGlvbnMgZGUgcGFxdWV0cyIKLnNwCi5TUyBJbnRyb2R1Y3Rpb24KLnNwClxmQmRzZWxlY3RcZlAgZXhwb3NlIGRpcmVjdGVtZW50IGwnYWRtaW5pc3RyYXRldXIg4CB1bmUgcGFydGllIGRlIGxhIGNvbXBsZXhpdOkKbGnpZSDgIGxhIGdlc3Rpb24gZCd1biBncmFuZCBub21icmUgZGUgcGFxdWV0cyBheWFudCBiZWF1Y291cCBkZSBsaWVucyBlbnRyZQpldXguIFBvdXIgdW4gdXRpbGlzYXRldXIgcXVpIG4nZXN0IHBhcyBoYWJpdHXpIGF1eCBjb25jZXB0cyBldCBhdSBzeXN06G1lIGRlCmdlc3Rpb24gZGVzIHBhcXVldHMgRGViaWFuLCBjZWxhIHBldXQg6nRyZSBwZXJ0dXJiYW50LiBNYWlzIFxmQmRzZWxlY3RcZlAgZXN0CmNvbud1IHBvdXIgYWlkZXIgbGEgZ2VzdGlvbiBldCBsJ2FkbWluaXN0cmF0aW9uIGRlcyBwYXF1ZXRzLiBDZSBuJ2VzdCBxdSd1bgpvdXRpbCwgZXQgbmUgZG9pdCBwYXMgcmVtcGxhY2VyIGxhIGNvbXBy6WhlbnNpb24gZXQgbGVzIGFwdGl0dWRlcyBkJ3VuCmFkbWluaXN0cmF0ZXVyLiBMJ3V0aWxpc2F0ZXVyIGRvaXQg6nRyZSBmYW1pbGllciBkZXMgY29uY2VwdHMgc291c1wtamFjZW50cwphdSBzeXN06G1lIGRlIGdlc3Rpb24gZGVzIHBhcXVldHMgRGViaWFuLiBFbiBjYXMgZGUgZG91dGUsIGNvbnN1bHRleiBsYSBwYWdlCmRlIG1hbnVlbCBcZkJkcGtnXGZQKDEpIGV0IGxhIGNoYXJ0ZSBEZWJpYW4gcHLpc2VudGUgZGFucyBsZSBwYXF1ZXQKXGZCZGViaWFuXC1wb2xpY3lcZlAuCi5zcApBIG1vaW5zIHF1ZSBcZkJkc2VsZWN0XGZQIHNvaXQgbGFuY+kgZW4gbW9kZSBleHBlcnQgb3UgaW50ZXJt6WRpYWlyZSwgdW4KbWVzc2FnZSBkJ2FpZGUgZXN0IGQnYWJvcmQgYWZmaWNo6SBsb3JzcXVlIGNldHRlIGFjdGlvbiBlc3QgY2hvaXNpZSBkYW5zIGxlCm1lbnUuIElsIGVzdCBcZkJmb3J0ZW1lbnRcZlAgY29uc2VpbGzpIOAgbCd1dGlsaXNhdGV1ciBkJ+l0dWRpZXIgdG91dGVzIGxlcwppbmZvcm1hdGlvbnMgZGFucyBjZXMg6WNyYW5zIGQnYWlkZSBsb3JzcXUnaWxzIGFwcGFyYWlzc2VudC4gTGVzIOljcmFucwpkJ2FpZGUgcGV1dmVudCDqdHJlIGFmZmljaOlzIOAgdG91dCBtb21lbnQg4CBsJ2FpZGUgZGUgbGEgdG91Y2hlIKtcIFxmQj9cZlBcILsuCi5zcAouU1MgIkRpc3Bvc2l0aW9uIGRlIGwn6WNyYW4iCi5zcApMJ+ljcmFuIGRlIHPpbGVjdGlvbiBlc3QgZOljb3Vw6SBwYXIgZOlmYXV0IGVuIHVuZSBtb2l0aekgc3Vw6XJpZXVyZSBldCB1bmUKbW9pdGnpIGluZulyaWV1cmUuIExhIG1vaXRp6SBzdXDpcmlldXJlIGFmZmljaGUgdW5lIGxpc3RlIGRlIHBhcXVldHMuIFVuCmN1cnNldXIgcGVybWV0IGRlIHPpbGVjdGlvbm5lciB1biBwYXF1ZXQsIG91IHVuIGdyb3VwZSBkZSBwYXF1ZXQgZW4Kc+lsZWN0aW9ubmFudCBsZSB0aXRyZSBkdSBncm91cGUsIHNpIOdhIHMnYXBwbGlxdWUuIExhIG1vaXRp6SBpbmbpcmlldXJlIGRlCmwn6WNyYW4gYWZmaWNoZSBsZXMgZOl0YWlscyBkdSBwYXF1ZXQgc+lsZWN0aW9ubukgZGFucyBsYSBtb2l0aekKc3Vw6XJpZXVyZS4gTGUgdHlwZSBkZSBk6XRhaWwgYWZmaWNo6SBwZXV0IHZhcmllci4KLnNwCkFwcHV5ZXogc3VyIGxhIHRvdWNoZSCrXCBcZkJJXGZQXCC7IHBvdXIgcGFzc2VyIGQndW4gYWZmaWNoYWdlIGRlIGxhIGxpc3RlIGRlcwpwYXF1ZXRzIGVuIG1vZGUgcGxlaW5cLeljcmFuLCDgIHVuIGFmZmljaGFnZSBwbHVzIGltcG9ydGFudCBkZXMgZOl0YWlscyBkZXMKcGFxdWV0cyBvdSDgIHVuIG1vZGUgcGFydGFn6SDpcXVpdGFibGVtZW50Lgouc3AKLlNTICJWdWUgZGVzIGTpdGFpbHMgZCd1biBwYXF1ZXQiCi5zcApMYSB2dWUgZGVzIGTpdGFpbHMgZCd1biBwYXF1ZXQgYWZmaWNoZSBwYXIgZOlmYXV0IGxhIGRlc2NyaXB0aW9uIGxvbmd1ZSBkdSBwYXF1ZXQgc+lsZWN0aW9ubukgZGFucyBsYSBsaXN0ZSBkZXMgcGFxdWV0cy4gTGUgdHlwZSBkZSBk6XRhaWwgcGV1dCDqdHJlIG1vZGlmaekgZW4gcHJlc3NhbnQgbGEgdG91Y2hlIKtcIFxmQmlcZlBcILsuIENlY2kgcGVybWV0IGRlIHBhc3NlciBkZVwgOgogXC0gbGEgZGVzY3JpcHRpb24gbG9uZ3VlCiBcLSBsZXMgaW5mb3JtYXRpb25zIGRlIGNvbnRy9GxlIGRlIGxhIHZlcnNpb24gaW5zdGFsbOllCiBcLSBsZXMgaW5mb3JtYXRpb25zIGRlIGNvbnRy9GxlIGRlIGxhIHZlcnNpb24gZGlzcG9uaWJsZQouc3AKRGFucyB1biDpY3JhbiBkZSBy6XNvbHV0aW9uIGRlcyBk6XBlbmRhbmNlcywgb24gcGV1dCDpZ2FsZW1lbnQgdm9pciBsZXMKZOlwZW5kYW5jZXMgZXQgY29uZmxpdHMgc3DpY2lmaXF1ZXMgYXUgcGFxdWV0IGV0IHF1aSBleHBsaXF1ZW50IGxhIHBy6XNlbmNlCmR1IHBhcXVldCBkYW5zIGxhIGxpc3RlLgouc3AKLlNTICJMaXN0ZSBkZXMg6XRhdHMgZGVzIHBhcXVldHMiCi5zcApMJ+ljcmFuIHByaW5jaXBhbCBkZSBz6WxlY3Rpb24gYWZmaWNoZSB1bmUgbGlzdGUgZGUgdG91cyBsZXMgcGFxdWV0cyBjb25udXMKcGFyIGxlIHN5c3TobWUgZGUgZ2VzdGlvbiBkZXMgcGFxdWV0cyBEZWJpYW4uIENlY2kgaW5jbHVzIGxlcyBwYXF1ZXRzCmluc3RhbGzpcyBzdXIgbGUgc3lzdOhtZSBldCBsZXMgcGFxdWV0cyBjb25udXMgcGFyIGxhIGJhc2UgZGUgZG9ubullcyBkZXMKcGFxdWV0cyBkaXNwb25pYmxlcy4KLnNwClBvdXIgdG91cyBsZXMgcGFxdWV0cywgbGEgbGlzdGUgYWZmaWNoZSBzdXIgdW5lIGxpZ25lIGwn6XRhdCBkdSBwYXF1ZXQsIHNhCnByaW9yaXTpLCBzYSBzZWN0aW9uLCBsZXMgdmVyc2lvbnMgaW5zdGFsbOllcyBldCBkaXNwb25pYmxlcywgbGUgbm9tIGR1CnBhcXVldCBldCBzYSBkZXNjcmlwdGlvbiBjb3VydGUuIEVuIGFwcHV5YW50IHN1ciBsYSB0b3VjaGUgq1wgXGZCVlxmUFwguywgb24gcGV1dAphY3RpdmVyIG91IGTpc2FjdGl2ZXIgbCdhZmZpY2hhZ2UgZGVzIHZlcnNpb25zIGluc3RhbGzpZXMgZXQgZGlzcG9uaWJsZXMuIEVuCmFwcHV5YW50IHN1ciBsYSB0b3VjaGUgq1wgXGZCdlxmUFwguywgbCdhZmZpY2hhZ2UgZGUgbCfpdGF0IHBhc3NlIGQndW4gbW9kZQp2ZXJiZXV4IOAgdW4gbW9kZSByYWNjb3VyY2kuIFBhciBk6WZhdXQsIGwn6XRhdCByYWNjb3VyY2kgZXN0IHV0aWxpc+kuCi5zcApMJ+l0YXQgcmFjY291cmNpIGNvbnNpc3RlIGVuIDQgcGFydGllc1wgOiB1biBkcmFwZWF1IGQnZXJyZXVyLCBxdWkgZXN0CmQnaGFiaXR1ZGUgdmlkZSwgbCfpdGF0IGNvdXJhbnQsIGwn6XRhdCBkZSBz6WxlY3Rpb24gcHLpY+lkZW50IGV0IGwn6XRhdCBkZQpz6WxlY3Rpb24gYWN0dWVsLiBMZXMgZGV1eCBwcmVtaWVycyBkb25uZW50IGRlcyBpbmRpY2F0aW9ucyBzdXIgbCfpdGF0CmNvdXJhbnQgZHUgcGFxdWV0LCBsZXMgZGV1eCBzdWl2YW50cyBjb25jZXJuZW50IGxlcyBz6WxlY3Rpb25zIGTpZmluaWVzIHBhcgpsJ3V0aWxpc2F0ZXVyLgouc3AKVm9pY2kgbGEgc2lnbmlmaWNhdGlvbiBkZXMgY29kZXMgZCdpbmRpY2F0aW9uIGRlcyDpdGF0c1wgOgogRHJhcGVhdSBkJ2VycmV1clwgOgogIFxmSXZpZGVcZlAgICAgYXVjdW5lIGVycmV1clwgOwogIFxmQlJcZlAgICAgICAgZXJyZXVyIHPpcmlldXNlLCBy6Wluc3RhbGxhdGlvbiBu6WNlc3NhaXJlLgogyXRhdCBkJ2luc3RhbGxhdGlvblwgOgogIFxmSXZpZGVcZlAgICAgcGFzIGluc3RhbGzpXCA7CiAgXGZCKlxmUCAgICAgICBjb21wbOh0ZW1lbnQgaW5zdGFsbOkgZXQgY29uZmlndXLpXCA7CiAgXGZCXC1cZlAgICAgICAgcGFzIGluc3RhbGzpLCBtYWlzIGRlcyBmaWNoaWVycyBkZSBjb25maWd1cmF0aW9uIGV4aXN0ZW50IHRvdWpvdXJzXCA7CiAgXGZCVVxmUCAgICAgICBk6XBhcXVldOksIG1haXMgdG91am91cnMgcGFzIGNvbmZpZ3Vy6VwgOwogIFxmQkNcZlAgICAgICAg4CBtb2l0aekgY29uZmlndXLpIChpbCB5IGEgZXUgdW5lIGVycmV1cilcIDsKICBcZkJJXGZQICAgICAgIOAgbW9pdGnpIGluc3RhbGzpIChpbCB5IGEgZXUgdW5lIGVycmV1cikuCiBT6WxlY3Rpb24gYWN0dWVsbGUgZXQgZGVtYW5k6WVcIDoKICBcZkIqXGZQICAgICAgIG1hcnF16SBjb21tZSDpdGFudCDgIGluc3RhbGxlciBvdSDgIG1ldHRyZSDgIGpvdXJcIDsKICBcZkJcLVxmUCAgICAgICBtYXJxdekgY29tbWUg6XRhbnQg4CByZXRpcmVyLCBlbiBjb25zZXJ2YW50IGxhIGNvbmZpZ3VyYXRpb25cIDsKICBcZkI9XGZQICAgICAgIG1hcnF16SBjb21tZSDgIGNvbnNlcnZlclwgOiBsZSBwYXF1ZXQgbmUgc2VyYSBwYXMgdHJhaXTpXCA7CiAgXGZCX1xmUCAgICAgICBtYXJxdekgY29tbWUg6XRhbnQg4CBuZXR0b3npLCBsYSBjb25maWd1cmF0aW9uIHNlcmEgcmV0aXLpZSDpZ2FsZW1lbnRcIDsKICBcZkJuXGZQICAgICAgIG5vdXZlYXUgcGFxdWV0LCBuJ2EgdG91am91cnMgcGFzIOl06SBtYXJxdekuCi5zcAouU1MgIkTpcGxhY2VtZW50IGR1IGN1cnNldXIgZXQgZGUgbCfpY3JhbiIKLnNwClZvdXMgcG91dmV6IG5hdmlndWVyIGRhbnMgbGEgbGlzdGUgZGUgc+lsZWN0aW9uIGRlcyBwYXF1ZXRzIGV0IGRhbnMgbCfpY3JhbgpkZSBy6XNvbHV0aW9uIGRlcyBk6XBlbmRhbmNlcyBldCBkZXMgY29uZmxpdHMg4CBsJ2FpZGUgZGVzIHRvdWNoZXMKc3VpdmFudGVzXCA6Ci5icgogIFxmQnAsIEhhdXQsIGtcZlAgICAgICAgICAgICAgZOlwbGFjZSBsZSBjdXJzZXVyIHZlcnMgbGUgaGF1dAogIFxmQm4sIEJhcywgalxmUCAgICAgICAgICAgICAgZOlwbGFjZSBsZSBjdXJzZXVyIHZlcnMgbGUgYmFzCiAgXGZCUCwgUGFnZVwtcHLpYy4sIEVmZmFjZXJcZlAgZmFpdCBk6WZpbGVyIGxhIGxpc3RlIGQndW5lIHBhZ2UgdmVycyBsZSBoYXV0CiAgXGZCTiwgUGFnZVwtc3Vpdi4sIEVzcGFjZVxmUCAgZmFpdCBk6WZpbGVyIGxhIGxpc3RlIGQndW5lIHBhZ2UgdmVycyBsZSBiYXMKICBcZkJecFxmUCAgICAgICAgICAgICAgICAgICAgIGZhaXQgZOlmaWxlciBsYSBsaXN0ZSBkJ3VuZSBsaWduZSB2ZXJzIGxlIGhhdXQKICBcZkJeblxmUCAgICAgICAgICAgICAgICAgICAgIGZhaXQgZOlmaWxlciBsYSBsaXN0ZSBkJ3VuZSBsaWduZSB2ZXJzIGxlIGJhcwogIFxmQnQsIEhvbWVcZlAgICAgICAgICAgICAgICAgc2F1dGUgYXUgZOlidXQgZGUgbGEgbGlzdGUKICBcZkJlLCBGaW5cZlAgICAgICAgICAgICAgICAgIHNhdXRlIOAgbGEgZmluIGRlIGxhIGxpc3RlCiAgXGZCdVxmUCAgICAgICAgICAgICAgICAgICAgICBmYWl0IGTpZmlsZXIgbGVzIGluZm9ybWF0aW9ucyBkJ3VuZSBwYWdlIHZlcnMgbGUgaGF1dAogIFxmQmRcZlAgICAgICAgICAgICAgICAgICAgICAgZmFpdCBk6WZpbGVyIGxlcyBpbmZvcm1hdGlvbnMgZCd1bmUgcGFnZSB2ZXJzIGxlIGJhcwogIFxmQl51XGZQICAgICAgICAgICAgICAgICAgICAgZmFpdCBk6WZpbGVyIGxlcyBpbmZvcm1hdGlvbnMgZCd1bmUgbGlnbmUgdmVycyBsZSBoYXV0CiAgXGZCXmRcZlAgICAgICAgICAgICAgICAgICAgICBmYWl0IGTpZmlsZXIgbGVzIGluZm9ybWF0aW9ucyBkJ3VuZSBsaWduZSB2ZXJzIGxlIGJhcwogIFxmQkIsIGdhdWNoZVxmUCAgICAgICAgICAgICAgZOlwbGFjZSBsJ2FmZmljaGFnZSBkZSAxLzMgdmVycyBsYSBnYXVjaGUKICBcZkJGLCBkcm9pdGVcZlAgICAgICAgICAgICAgIGTpcGxhY2UgbCdhZmZpY2hhZ2UgZGUgMS8zIHZlcnMgbGEgZHJvaXRlCiAgXGZCXmJcZlAgICAgICAgICAgICAgICAgICAgICBk6XBsYWNlIGwnYWZmaWNoYWdlIGQndW4gY2FyYWN06HJlIHZlcnMgbGEgZ2F1Y2hlCiAgXGZCXmZcZlAgICAgICAgICAgICAgICAgICAgICBk6XBsYWNlIGwnYWZmaWNoYWdlIGQndW4gY2FyYWN06HJlIHZlcnMgbGEgZHJvaXRlCi5zcAouU1MgIlJlY2hlcmNoZXMgZXQgdHJpcyIKLnNwCk9uIHBldXQgcmVjaGVyY2hlciB1biBwYXF1ZXQgcGFyIHNvbiBub20gZGFucyBsYSBsaXN0ZSBkZXMgcGFxdWV0cy4gUG91cgpjZWxhLCBpbCBmYXV0IHByZXNzZXIgbGEgdG91Y2hlIKtcIFxmQi9cZlBcILssIHB1aXMgdGFwZXIgbGUgdGV4dGUg4ApyZWNoZXJjaGVyLiBDZSB0ZXh0ZSBlc3QgaW50ZXJwcul06SBjb21tZSB1bmUgZXhwcmVzc2lvbiByYXRpb25uZWxsZSAodm9pcgpcZkJyZWdleFxmUCg3KSkuIFNpIHZvdXMgYWpvdXRleiCrXCBcZkIvZFxmUFwguyDgIGxhIHJlY2hlcmNoZSwgZHNlbGVjdCByZWNoZXJjaGVyYQrpZ2FsZW1lbnQgZGFucyBsZXMgZGVzY3JpcHRpb25zLiBTaSB2b3VzIGFqb3V0ZXogq1wgXGZCL2lcZlBcILssIGxhIHJlY2hlcmNoZSBuZQpwcmVuZCBwYXMgZW4gY29tcHRlIGxhIGNhc3NlLiBMZXMgZGV1eCBzdWZmaXhlcyBwZXV2ZW50IOp0cmUgY29tYmlu6XMgY29tbWUKY2VjaVwgOiCrXCBcZkIvaWRcZlBcILsuIExhIHJlY2hlcmNoZSBwZXV0IOp0cmUgculw6XTpZSBlbiBhcHB1eWFudCBzdXIgbGEgdG91Y2hlCqtcIFxmQm5cZlBcILsgb3Ugq1wgXGZCXGVcZlBcILssIGp1c3F1J+AgY2UgcXVlIGxlIHBhcXVldCBzb2l0IHRyb3V26S4gTG9yc3F1ZSBsYQpyZWNoZXJjaGUgYXR0ZWludCBsYSBmaW4gZGUgbGEgbGlzdGUsIGVsbGUgcmVjb21tZW5jZSBhdSBk6WJ1dC4KLnNwCk9uIHBldXQgY2hhbmdlciBsJ29yZHJlIGR1IHRyaSBlbiBhcHB1eWFudCBzdXIgbGEgdG91Y2hlIKtcIFxmQm9cZlBcILsgb3Ugq1wgXGZCT1xmUFwguy4gTGVzIG5ldWYgc3lzdOhtZXMgZGUgdHJpcyBzdWl2YW50cyBleGlzdGVudFwgOgogYWxwaGFi6XRpcXVlICAgICAgZGlzcG9uaWJsZSAgICAgICAgICAg6XRhdAogcHJpb3JpdOkrc2VjdGlvbiAgZGlzcG9uaWJsZStwcmlvcml06SAg6XRhdCtwcmlvcml06Qogc2VjdGlvbitwcmlvcml06SAgZGlzcG9uaWJsZStzZWN0aW9uICAg6XRhdCtzZWN0aW9uCi5icgpMb3JzcXUnaWwgbidlc3QgcGFzIGluZGlxdeksIGwnb3JkcmUgYWxwaGFi6XRpcXVlIGVzdCB1dGlsaXPpIGNvbW1lIGRlcm5pZXIKY3JpdOhyZSBkZSB0cmkuCi5zcAouU1MgIk1vZGlmaWVyIGxlcyBz6WxlY3Rpb25zIgouc3AKTGUgdHlwZSBkZSBz6WxlY3Rpb24gZGVtYW5k6SBkJ3VuIHBhcXVldCBwZXV0IOp0cmUgY2hhbmfpIOAgbCdhaWRlIGRlcyBjb21tYW5kZXMgc3VpdmFudGVzXCA6CiAgXGZCKywgSW5zZXJcZlAgICAgIGluc3RhbGxlciBvdSBtZXR0cmUg4CBqb3VyCiAgXGZCPSwgSFxmUCAgICAgICAgIOAgZ2FyZGVyIGRhbnMgbCfpdGF0IGV0IGxhIHZlcnNpb24gYWN0dWVscwogIFxmQjosIEdcZlAgICAgICAgICBuZSBwbHVzIGdhcmRlclwgOiBtZXR0cmUg4CBqb3VyIG91IGxhaXNzZXIgbm9uIGluc3RhbGzpCiAgXGZCXC0sIFN1cHByXGZQICAgICByZXRpcmVyLCBlbiBnYXJkYW50IGxhIGNvbmZpZ3VyYXRpb24KICBcZkJfXGZQICAgICAgICAgICAgcmV0aXJlciBldCBzdXBwcmltZXIgbGEgY29uZmlndXJhdGlvbgouc3AKTG9yc3F1ZSBsYSBkZW1hbmRlIGRlIG1vZGlmaWNhdGlvbiBlbnRyYe5uZSBkZXMgZOlwZW5kYW5jZXMgbm9uIHNhdGlzZmFpdGVzCm91IGRlcyBjb25mbGl0cywgXGZCZHNlbGVjdFxmUCBmb3Vybml0IOAgbCd1dGlsaXNhdGV1ciB1biDpY3JhbiBkZSBy6XNvbHV0aW9uCmRlcyBk6XBlbmRhbmNlcy4gQ2VjaSBzZXJhIGTpY3JpdCBwbHVzIHRhcmQuCi5zcApJbCBlc3Qg6WdhbGVtZW50IHBvc3NpYmxlIGQnYXBwbGlxdWVyIGNlcyBjb21tYW5kZXMg4CBkZXMgZ3JvdXBlcyBkZQpz6WxlY3Rpb25zIGRlIHBhcXVldHMgZW4gcGxh52FudCBsZSBjdXJzZXVyIHN1ciBsZSB0aXRyZSBkJ3VuIGdyb3VwZS4gTGUKcmVncm91cGVtZW50IGRlcyBwYXF1ZXRzIGTpcGVuZCBkZSBsYSBmYedvbiBkb250IGxlcyBwYXF1ZXRzIHNvbnQgdHJp6XMgZGFucwpsYSBsaXN0ZS4KLnNwClVuZSBhdHRlbnRpb24gcGFydGljdWxp6HJlIGRvaXQg6nRyZSBwcmlzZSBsb3JzIGRlIGxhIG1vZGlmaWNhdGlvbiBkZSBncmFuZHMKZ3JvdXBlcyBkZSBz6WxlY3Rpb25zLCBwYXJjZSBxdSdpbHMgcGV1dmVudCBjcullciByYXBpZGVtZW50IHVuIG5vbWJyZQppbXBvcnRhbnQgZGUgZOlwZW5kYW5jZXMgbm9uIHLpc29sdWVzIG91IGRlIGNvbmZsaXRzLCBxdWkgc2VyYWllbnQgdG91cwpsaXN06XMgZGFucyB1biDpY3JhbiBkZSBy6XNvbHV0aW9uIGRlIGTpcGVuZGFuY2VzLCBsZSByZW5kYW50IGRpZmZpY2lsZSDgCnV0aWxpc2VyLiBFbiBwcmF0aXF1ZSwgc2V1bGVzIGxlcyBvcOlyYXRpb25zIKtcIOAgZ2FyZGVyXCC7IGV0IKtcIG5lIHBsdXMKZ2FyZGVyXCC7IHNvbnQgdXRpbGVzIHBvdXIgbGVzIGdyb3VwZXMuCi5zcAouU1MgIlLpc291ZHJlIGxlcyBk6XBlbmRhbmNlcyBldCBsZXMgY29uZmxpdHMiCi5zcApMb3JzcXVlIGxhIGRlbWFuZGUgZGUgbW9kaWZpY2F0aW9uIGVudHJh7m5lIGRlcyBk6XBlbmRhbmNlcyBub24gc2F0aXNmYWl0ZXMKb3UgZGVzIGNvbmZsaXRzLCBcZkJkc2VsZWN0XGZQIGZvdXJuaXQg4CBsJ3V0aWxpc2F0ZXVyIHVuIOljcmFuIGRlIHLpc29sdXRpb24KZGVzIGTpcGVuZGFuY2VzLiBNYWlzIHVuIOljcmFuIGQnaW5mb3JtYXRpb24gZXN0IGFmZmljaOkgZGFucyB1biBwcmVtaWVyCnRlbXBzLgouc3AKTGEgbW9pdGnpIHN1cOlyaWV1cmUgZGUgY2V0IOljcmFuIGxpc3RlIHRvdXMgbGVzIHBhcXVldHMgYXlhbnQgZGVzCmTpcGVuZGFuY2VzIG5vbiBy6XNvbHVlcyBvdSBkZXMgY29uZmxpdHMgZHVzIGF1eCBtb2RpZmljYXRpb25zIGRlbWFuZOllcywKYWluc2kgcXVlIGxlcyBwYXF1ZXRzIGRvbnQgbCdpbnN0YWxsYXRpb24gcGVybWV0dHJhaXQgZGUgculzb3VkcmUgdW5lCmTpcGVuZGFuY2Ugb3UgZG9udCBsZSByZXRyYWl0IHBlcm1ldHRyYWl0IGRlIHLpc291ZHJlIHVuIGNvbmZsaXQuIExhIG1vaXRp6QppbmbpcmlldXJlIGFmZmljaGUgcGFyIGTpZmF1dCBsZXMgZOlwZW5kYW5jZXMgb3UgY29uZmxpdHMgcG91ciBsZXNxdWVscyBsZQpwYXF1ZXQgc+lsZWN0aW9ubukgc2UgdHJvdXZlIHBy6XNlbnQgZGFucyBsYSBsaXN0ZS4KLnNwClF1YW5kIGxhIHNvdXNcLWxpc3RlIGRlIHBhcXVldHMgZXN0IGFmZmljaOllIHBvdXIgbGEgcHJlbWnocmUgZm9pcywKXGZCZHNlbGVjdFxmUCBwZXV0IGF2b2lyIGTpauAgZml46SBsZXMg6XRhdHMgZGVtYW5k6XMgcG91ciBjZXJ0YWlucyBkZXMgcGFxdWV0cwpsaXN06XMsIGNlY2kgYWZpbiBkZSBy6XNvdWRyZSBsZXMgZOlwZW5kYW5jZXMgb3UgbGVzIGNvbmZsaXRzIHF1aSBvbnQgY2F1c+kKbCdhcHBhcml0aW9uIGRlIGwn6WNyYW4gZGUgculzb2x1dGlvbiBkZXMgZOlwZW5kYW5jZXMuIElsIGVzdCBkJ2hhYml0dWRlCnJlY29tbWFuZOkgZGUgc3VpdnJlIGxlcyBzdWdnZXN0aW9ucyBkZSBcZkJkc2VsZWN0XGZQLgouc3AKTGUgdHlwZSBkZSBz6WxlY3Rpb24gZGVzIHBhcXVldHMgbGlzdOlzIHBldXQg6nRyZSByZW1pcyBkYW5zIGxldXJzIOl0YXRzCnBy6WPpZGVudHMsIGF2YW50IHF1ZSBsZSBwcm9ibOhtZSBkZSBk6XBlbmRhbmNlIG91IGxlIGNvbmZsaXQgc29pdCBjcunpLCBlbgphcHB1eWFudCBzdXIgbGEgdG91Y2hlIKtcIFxmQlJcZlBcILsuIExhIHRvdWNoZSCrXCBcZkJEXGZQXCC7IHBlcm1ldCBkZSByZW1ldHRyZSDgCnrpcm8gbGVzIHN1Z2dlc3Rpb25zIGF1dG9tYXRpcXVlcywgdG91dCBlbiBjb25zZXJ2YW50IGxlcyBtb2RpZmljYXRpb25zIHF1aQpvbnQgY2F1c+llcyBsJ2FwcGFyaXRpb24gZGUgbCfpY3JhbiBkZSBy6XNvbHV0aW9uIGRlcyBk6XBlbmRhbmNlcy4gRW5maW4sIGxhCnRvdWNoZSCrXCBcZkJVXGZQXCC7IHBlcm1ldCBkZSBy6XRhYmxpciBsZXMgc3VnZ2VzdGlvbnMgYXV0b21hdGlxdWVzLgouc3AKLlNTICLJdGFibGlyIGxlcyBz6WxlY3Rpb25zIGRlbWFuZOllcyIKLnNwCkVuIGFwcHV5YW50IHN1ciBcZkJFbnRy6WVcZlAsIGxlcyBz6WxlY3Rpb25zIGFmZmljaOllcyBzb250IGFjY2VwdOllcy4gU2kKXGZCZHNlbGVjdFxmUCBuZSBk6XRlY3RlIHBhcyBkZSBk6XBlbmRhbmNlcyBub24gculzb2x1ZXMgZHUgZmFpdCBkZSBjZXMKc+lsZWN0aW9ucywgbGVzIG5vdXZlbGxlcyBz6WxlY3Rpb25zIHNvbnQg6XRhYmxpZXMuIENlcGVuZGFudCwgc2kgZGVzCmTpcGVuZGFuY2VzIG5vbiBy6XNvbHVlcyBzb250IHRyb3V26WVzLCBcZkJkc2VsZWN0XGZQIGFmZmljaGVyYSBkZSBub3V2ZWF1IHVuCuljcmFuIGRlIHLpc29sdXRpb24gZGVzIGTpcGVuZGFuY2VzLgouc3AKUG91ciBtb2RpZmllciB1biBqZXUgZGUgc+lsZWN0aW9ucyBxdWkgY2F1c2VudCBkZXMgZOlwZW5kYW5jZXMgbm9uIHLpc29sdWVzCm91IGRlcyBjb25mbGl0cywgZXQgZm9yY2VyIFxmQmRzZWxlY3RcZlAg4CBsJ2FjY2VwdGVyLCBhcHB1eWV6IHN1ciBsYSB0b3VjaGUKq1wgXGZCUVxmUFwguy4gQ2VjaSBmaXhlIGxlcyBz6WxlY3Rpb25zIHRlbGxlcyBxdSdlbGxlcyBzb250IGTpZmluaWVzIHBhcgpsJ3V0aWxpc2F0ZXVyLCBzYW5zIGNvbmRpdGlvbi4gRW4gZ+lu6XJhbCwgbmUgZmFpdGVzIHBhcyBjZWxhLCBzYXVmIHNpIHZvdXMKYXZleiBiaWVuIGx1IGNlIHF1J2lsIHkgYSBkJ+ljcml0Lgouc3AKTCdlZmZldCBpbnZlcnNlLCBxdWkgY29uc2lzdGUg4CBvdWJsaWVyIGxlcyBkZW1hbmRlcyBkZSBtb2RpZmljYXRpb24gZGVzCnPpbGVjdGlvbnMgZXQgcmV2ZW5pciDgIGxhIGxpc3RlIHBy6WPpZGVudGUgZGUgc+lsZWN0aW9ucywgcGV1dCDqdHJlIG9idGVudQplbiBhcHB1eWFudCBzdXIgbGEgdG91Y2hlIKtcIFxmQlhcZlBcILsgb3Ugq1wgXGZCRWNoYXBcZlBcILsuIEVuIHLpcOl0YW50IGwnb3DpcmF0aW9uLApvbiBwZXV0IGNvbXBs6HRlbWVudCByZXZlbmlyIOAgbGEgZGVybmnocmUgY29uZmlndXJhdGlvbiDpdGFibGllLgouc3AKU2kgcGFyIGVycmV1ciB2b3VzIGF2ZXogZml46SBjZXJ0YWlucyBwYXJhbeh0cmVzIGV0IHF1ZSB2b3VzIHNvdWhhaXRlegpyZXZlbmlyIGVuIGFycmnocmUgc3VyIGNlIHF1aSBlc3QgYWN0dWVsbGVtZW50IGluc3RhbGzpIHN1ciBsZSBzeXN06G1lLAphcHB1eWV6IHN1ciBsYSB0b3VjaGUgXGZCJ0MnXGZQLiBDJ2VzdCB1biBwZXUgY29tbWUgdXRpbGlzZXIgbGEgY29tbWFuZGUgZGUKZOlibG9jYWdlIHN1ciB0b3VzIGxlcyBwYXF1ZXRzLCBtYWlzIGNlbGEgb2ZmcmUgdW4gYm91dG9uIHBhbmlxdWUgcGx1cwrpdmlkZW50IHBvdXIgbGVzIGNhcyBv+SBsJ3V0aWxpc2F0ZXVyIOAgYXBwdXnpIHN1ciBcZkJlbnRyZXJcZlAKYWNjaWRlbnRlbGxlbWVudC4KLnNwCi4KLlNIIEVOVklST05ORU1FTlQKLlRQIApcZkJIT01FXGZQClNpIHBvc2l0aW9ubuksIHNlcmEgdXRpbGlz6SBwYXIgXGZCZHNlbGVjdFxmUCBjb21tZSBsZSBy6XBlcnRvaXJlIGQnb/kgc2VyYSBsdQpsZSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gcHJvcHJlIOAgbCd1dGlsaXNhdGV1ci4KLgouU0ggQk9HVUVTCkwnaW50ZXJmYWNlIFxmQmRzZWxlY3RcZlAgZGUgc+lsZWN0aW9uIGRlIHBhcXVldHMgZXN0IGTpcm91dGFudGUgcG91ciBsZXMKbm91dmVhdXggdXRpbGlzYXRldXJzLiBPbiByYXBwb3J0ZSBt6m1lIHF1J2VsbGUgZmFpdCBwbGV1cmVyIGNlcnRhaW5zCmTpdmVsb3BwZXVycyBjaGV2cm9ubulzIGR1IG5veWF1IChOZFRcIDpcIGR1IG1vaW5zIGxlcyBkZXJuaWVycyBoaXN0b3JpcXVlcwpkaW5vc2F1cmVzIHF1aSBzJ2VuIHNlcnZlbnQgZW5jb3JlKS4KLnNwCkxhIGRvY3VtZW50YXRpb24gbWFucXVlLgouc3AKSWwgbidleGlzdGUgcGFzIGQnb3B0aW9uIGQnYWlkZSBkYW5zIGxlIG1lbnUuCi5zcApMYSBsaXN0ZSB2aXNpYmxlIGRlcyBwYXF1ZXRzIGRpc3BvbmlibGVzIG5lIHBldXQgcGFzIOp0cmUgculkdWl0ZS4KLnNwCkxhIG3pdGhvZGUgZCdhY2PocyBpbnTpZ3LpZSBuZSBzYXRpc2ZhaXQgcGFzIGxlcyBub3JtZXMgZGUgcXVhbGl06QphY3R1ZWxsZXMuIFV0aWxpc2V6IHBsdXT0dCBsYSBt6XRob2RlIGZvdXJuaWUgcGFyIEFQVC4gTm9uIHNldWxlbWVudCBlbGxlCm4nZXN0IHBhcyBjYXNz6WUsIG1haXMgZW4gcGx1cyBlbGxlIGVzdCBwbHVzIHNvdXBsZSBxdWUgbGEgbel0aG9kZSBkJ2FjY+hzCmludOlncullLgouCi5TSCAiVk9JUiBBVVNTSSIKXGZCZHBrZ1xmUCgxKSwgXGZCYXB0XC1nZXRcZlAoOCksIFxmQnNvdXJjZXMubGlzdFxmUCg1KSwgXGZCZGViXGZQKDUpLgouCi5TSCBBVVRFVVJTClxmQmRzZWxlY3RcZlAgYSDpdOkg6WNyaXQgcGFyIElhbiBKYWNrc29uIChpamFja3NvbkBnbnUuYWkubWl0LmVkdSkuIExhIGxpc3RlCmNvbXBs6HRlIGRlcyBjb250cmlidXRldXJzIGVzdCBhZmZpY2jpZSBwYXIgq1wgZHNlbGVjdCBcLVwtdmVyc2lvblwguy4KLmJyCkNldHRlIHBhZ2UgZGUgbWFudWVsIGEg6XTpIOljcml0ZSBwYXIgSnVobyBWdW9yaQo8amF2dW9yaUBjYy5oZWxzaW5raS5maT4sIEpvc2lwIFJvZGluIGV0IEpvb3N0IGtvb2lqLgoKLlNIIFRSQURVQ1RJT04KQXJpZWwgVkFSREkgPGFyaWVsLnZhcmRpQGZyZWVzYmVlLmZyPiwgMjAwMi4KUGhpbGlwcGUgQmF0YWlsbGVyLCAyMDA2LgpOaWNvbGFzIEZyYW7nb2lzLCAyMDA2LgpWZXVpbGxleiBzaWduYWxlciB0b3V0ZSBlcnJldXIg4CA8ZGViaWFuXC1sMTBuXC1mcmVuY2hAbGlzdHMuZGViaWFuLm9yZz4uCg==