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b3JpdHkpACAoYnkgc2VjdGlvbikAIChieSBzdGF0dXMpACAoc3RhdHVzLCBwcmlvcml0eSkAIChzdGF0dXMsIHNlY3Rpb24pACBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYXZhaWxhYmxlCgAgbWFyazorLz0vLSB0ZXJzZTp2IGhlbHA6PwAgbWFyazorLz0vLSB2ZXJib3NlOnYgaGVscDo/ACBvciAAIHRlcnNlOnYgaGVscDo/ACB2ZXJib3NlOnYgaGVscDo/ACFCdWchACUtKnMgJXMlcyVzOyAgJXMgKHdhczogJXMpLiAgJXMAJXMgJXMgcGFja2FnZXMAJXMgJXMgcGFja2FnZXMgaW4gc2VjdGlvbiAlcwAlcyAlcyBwYWNrYWdlcyB3aXRob3V0IGEgc2VjdGlvbgAlcyBmb3IgbW9yZQAlcyBwYWNrYWdlcyBpbiBzZWN0aW9uICVzACVzIHBhY2thZ2VzIHdpdGhvdXQgYSBzZWN0aW9uACVzIHRvIGdvIGJhY2sAKiBIaWdobGlnaHQ6IE9uZSBsaW5lIGluIHRoZSBwYWNrYWdlIGxpc3Qgd2lsbCBiZSBoaWdobGlnaHRlZC4gIEl0IGluZGljYXRlcwogIHdoaWNoIHBhY2thZ2Uocykgd2lsbCBiZSBhZmZlY3RlZCBieSBwcmVzc2VzIG9mIGArJywgYC0nIGFuZCBgXycuCgoqIFRoZSBkaXZpZGluZyBsaW5lIGluIHRoZSBtaWRkbGUgb2YgdGhlIHNjcmVlbiBzaG93cyBhIGJyaWVmIGV4cGxhbmF0aW9uIG9mCiAgdGhlIHN0YXR1cyBvZiB0aGUgY3VycmVudGx5LWhpZ2hsaWdodGVkIHBhY2thZ2UsIG9yIGEgZGVzY3JpcHRpb24gb2Ygd2hpY2gKICBncm91cCBpcyBoaWdobGlnaHRlZCBpZiBhIGdyb3VwIGxpbmUgaXMuICBJZiB5b3UgZG9uJ3QgdW5kZXJzdGFuZCB0aGUKICBtZWFuaW5nIG9mIHNvbWUgb2YgdGhlIHN0YXR1cyBjaGFyYWN0ZXJzIGRpc3BsYXllZCwgZ28gdG8gdGhlIHJlbGV2YW50CiAgcGFja2FnZSBhbmQgbG9vayBhdCB0aGlzIGRpdmlkZXIgbGluZSwgb3IgdXNlIHRoZSBgdicga2V5IGZvciBhIHZlcmJvc2UKICBkaXNwbGF5IChwcmVzcyBgdicgYWdhaW4gdG8gZ28gYmFjayB0byB0aGUgdGVyc2UgZGlzcGxheSkuCgoqIFRoZSBib3R0b20gb2YgdGhlIHNjcmVlbiBzaG93cyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZQogIGN1cnJlbnRseS1oaWdobGlnaHRlZCBwYWNrYWdlIChpZiB0aGVyZSBpcyBvbmx5IG9uZSkuCgogIEl0IGNhbiBzaG93IGFuIGV4dGVuZGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlLCB0aGUgaW50ZXJuYWwgcGFja2FnZQogIGNvbnRyb2wgZGV0YWlscyAoZWl0aGVyIGZvciB0aGUgaW5zdGFsbGVkIG9yIGF2YWlsYWJsZSB2ZXJzaW9uIG9mIHRoZQogIHBhY2thZ2UpLCBvciBpbmZvcm1hdGlvbiBhYm91dCBjb25mbGljdHMgYW5kIGRlcGVuZGVuY2llcyBpbnZvbHZpbmcgdGhlCiAgY3VycmVudCBwYWNrYWdlIChpbiBjb25mbGljdC9kZXBlbmRlbmN5IHJlc29sdXRpb24gc3VibGlzdHMpLgoKICBVc2UgdGhlIGBpJyBrZXkgdG8gY3ljbGUgdGhyb3VnaCB0aGUgZGlzcGxheXMsIGFuZCBgSScgdG8gaGlkZSB0aGUKICBpbmZvcm1hdGlvbiBkaXNwbGF5IG9yIGV4cGFuZCBpdCB0byB1c2UgYWxtb3N0IGFsbCBvZiB0aGUgc2NyZWVuLgoAPHN0YW5kYXJkIGVycm9yPgA8c3RhbmRhcmQgb3V0cHV0PgA/AEFiYnJldi4AQWJvcnQgLSBxdWl0IHdpdGhvdXQgbWFraW5nIGNoYW5nZXMAQWNjZXNzIG1ldGhvZCBgJXMnLgBBY3Rpb25zOgogIGFjY2VzcyB1cGRhdGUgc2VsZWN0IGluc3RhbGwgY29uZmlnIHJlbW92ZSBxdWl0CgoAQWxsAEFsbCBwYWNrYWdlcwBBdHRyaWJ1dGVzOgoAQXZhaWwudmVyAEF2YWlsYWJsZQBBdmFpbGFibGUgY29udHJvbCBmaWxlIGluZm9ybWF0aW9uAEF2YWlsYWJsZSBwYWNrYWdlcyAobm90IGN1cnJlbnRseSBpbnN0YWxsZWQpAEJyb2tlbgBCcm9rZW5seSBpbnN0YWxsZWQgcGFja2FnZXMAQ2hvb3NlIHRoZSBhY2Nlc3MgbWV0aG9kIHRvIHVzZS4AQ29sb3VyczoKAENvbmZpZ3VyZSBhbnkgcGFja2FnZXMgdGhhdCBhcmUgdW5jb25maWd1cmVkLgBDb3B5cmlnaHQgKEMpIDE5OTQtMTk5NiBJYW4gSmFja3Nvbi4KQ29weXJpZ2h0IChDKSAyMDAwLDIwMDEgV2ljaGVydCBBa2tlcm1hbi4KAEN5Y2xlIHRocm91Z2ggaW5mb3JtYXRpb24gZGlzcGxheXMARGViaWFuIGAlcycgcGFja2FnZSBoYW5kbGluZyBmcm9udGVuZCB2ZXJzaW9uICVzLgoARGVwZW5kZW5jeS9jb25mbGljdCByZXNvbHV0aW9uIC0gaW50cm9kdWN0aW9uLgoKT25lIG9yIG1vcmUgb2YgeW91ciBjaG9pY2VzIGhhdmUgcmFpc2VkIGEgY29uZmxpY3Qgb3IgZGVwZW5kZW5jeSBwcm9ibGVtIC0Kc29tZSBwYWNrYWdlcyBzaG91bGQgb25seSBiZSBpbnN0YWxsZWQgaW4gY29uanVuY3Rpb24gd2l0aCBjZXJ0YWluIG90aGVycywgYW5kCnNvbWUgY29tYmluYXRpb25zIG9mIHBhY2thZ2VzIG1heSBub3QgYmUgaW5zdGFsbGVkIHRvZ2V0aGVyLgoKWW91IHdpbGwgc2VlIGEgc3ViLWxpc3QgY29udGFpbmluZyB0aGUgcGFja2FnZXMgaW52b2x2ZWQuICBUaGUgYm90dG9tIGhhbGYgb2YKdGhlIGRpc3BsYXkgc2hvd3MgcmVsZXZhbnQgY29uZmxpY3RzIGFuZCBkZXBlbmRlbmNpZXM7IHVzZSBgaScgdG8gY3ljbGUgYmV0d2Vlbgp0aGF0LCB0aGUgcGFja2FnZSBkZXNjcmlwdGlvbnMgYW5kIHRoZSBpbnRlcm5hbCBjb250cm9sIGluZm9ybWF0aW9uLgoKQSBzZXQgb2YgYHN1Z2dlc3RlZCcgcGFja2FnZXMgaGFzIGJlZW4gY2FsY3VsYXRlZCwgYW5kIHRoZSBpbml0aWFsIG1hcmtpbmdzIGluCnRoaXMgc3ViLWxpc3QgaGF2ZSBiZWVuIHNldCB0byBtYXRjaCB0aG9zZSwgc28geW91IGNhbiBqdXN0IGhpdCBSZXR1cm4gdG8KYWNjZXB0IHRoZSBzdWdnZXN0aW9ucyBpZiB5b3Ugd2lzaC4gIFlvdSBtYXkgYWJvcnQgdGhlIGNoYW5nZShzKSB3aGljaCBjYXVzZWQKdGhlIHByb2JsZW0ocyksIGFuZCBnbyBiYWNrIHRvIHRoZSBtYWluIGxpc3QsIGJ5IHByZXNzaW5nIGNhcGl0YWwgYFgnLgoKWW91IGNhbiBhbHNvIG1vdmUgYXJvdW5kIHRoZSBsaXN0IGFuZCBjaGFuZ2UgdGhlIG1hcmtpbmdzIHNvIHRoYXQgdGhleSBhcmUgbW9yZQpsaWtlIHdoYXQgeW91IHdhbnQsIGFuZCB5b3UgY2FuIGByZWplY3QnIG15IHN1Z2dlc3Rpb25zIGJ5IHVzaW5nIHRoZSBjYXBpdGFsCmBEJyBvciBgUicga2V5cyAoc2VlIHRoZSBrZXliaW5kaW5ncyBoZWxwIHNjcmVlbikuICBZb3UgY2FuIHVzZSBjYXBpdGFsIGBRJyB0bwpmb3JjZSBtZSB0byBhY2NlcHQgdGhlIHNpdHVhdGlvbiBjdXJyZW50bHkgZGlzcGxheWVkLCBpbiBjYXNlIHlvdSB3YW50IHRvCm92ZXJyaWRlIGEgcmVjb21tZW5kYXRpb24gb3IgdGhpbmsgdGhhdCB0aGUgcHJvZ3JhbSBpcyBtaXN0YWtlbi4KClByZXNzIDxzcGFjZT4gdG8gbGVhdmUgaGVscCBhbmQgZW50ZXIgdGhlIHN1Yi1saXN0OyByZW1lbWJlcjogcHJlc3MgYD8nIGZvciBoZWxwLgoARGVzY3JpcHRpb24ARGlzcGxheSwgcGFydCAxOiBwYWNrYWdlIGxpc3RpbmcgYW5kIHN0YXR1cyBjaGFycwBEaXNwbGF5LCBwYXJ0IDI6IGxpc3QgaGlnaGxpZ2h0OyBpbmZvcm1hdGlvbiBkaXNwbGF5AEVJT00ARU9GIGJlZm9yZSBvcHRpb24gbmFtZSBzdGFydABFT0YgYmVmb3JlIHN1bW1hcnkARU9GIGluIGluZGV4IHN0cmluZwBFT0YgaW4gb3B0aW9uIG5hbWUARU9GIGluIHN1bW1hcnkgLSBtaXNzaW5nIG5ld2xpbmUARXJyb3IARXJyb3I6IABFeHBsYW5hdGlvbgBFeHRyYQBHbyB0byBlbmQgb2YgbGlzdABHbyB0byB0b3Agb2YgbGlzdABIZWxwIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSB1bmRlciB0aGUgZm9sbG93aW5nIHRvcGljczoASGVscDogAEltcABJbXBvcnRhbnQASW5zdC52ZXIASW5zdGFsbCBhbmQgdXBncmFkZSB3YW50ZWQgcGFja2FnZXMuAEluc3RhbGxlZABJbnN0YWxsZWQgY29udHJvbCBmaWxlIGluZm9ybWF0aW9uAEluc3RhbGxlZCBwYWNrYWdlcwBJbnN0YWxsZWQ/AEludGVycmVsYXRpb25zaGlwcwBJbnRyb2R1Y3Rpb24gdG8gY29uZmxpY3QvZGVwZW5kZW5jeSByZXNvbHV0aW9uIHN1Yi1saXN0AEludHJvZHVjdGlvbiB0byBtZXRob2Qgc2VsZWN0aW9uIGRpc3BsYXkASW50cm9kdWN0aW9uIHRvIHBhY2thZ2Ugc2VsZWN0aW9ucwBJbnRyb2R1Y3Rpb24gdG8gcmVhZC1vbmx5IHBhY2thZ2UgbGlzdCBicm93c2VyAEludmFsaWQgJXMgYCVzJwoAS2V5YmluZGluZ3MAS2V5c3Ryb2tlcwBLZXlzdHJva2VzIGZvciBtZXRob2Qgc2VsZWN0aW9uAE1ha2UgaGlnaGxpZ2h0IGxlc3Mgc3BlY2lmaWMATWFrZSBoaWdobGlnaHQgbW9yZSBzcGVjaWZpYwBNYXJrIHBhY2thZ2UocykgZm9yIGRlaW5zdGFsbCBhbmQgcHVyZ2UATWFyayBwYWNrYWdlKHMpIGZvciBkZWluc3RhbGxhdGlvbgBNYXJrIHBhY2thZ2UocykgZm9yIGluc3RhbGxhdGlvbgBNYXJrZWQgZm9yAE1vdGlvbiBrZXlzOiBOZXh0L1ByZXZpb3VzLCBUb3AvRW5kLCBVcC9Eb3duLCBCYWNrd2FyZHMvRm9yd2FyZHM6CiAgaiwgRG93bi1hcnJvdyAgICAgICAgIGssIFVwLWFycm93ICAgICAgICAgICAgIG1vdmUgaGlnaGxpZ2h0CiAgTiwgUGFnZS1kb3duLCBTcGFjZSAgIFAsIFBhZ2UtdXAsIEJhY2tzcGFjZSAgIHNjcm9sbCBsaXN0IGJ5IDEgcGFnZQogIF5uICAgICAgICAgICAgICAgICAgICBecCAgICAgICAgICAgICAgICAgICAgICBzY3JvbGwgbGlzdCBieSAxIGxpbmUKICB0LCBIb21lICAgICAgICAgICAgICAgZSwgRW5kICAgICAgICAgICAgICAgICAganVtcCB0byB0b3AvZW5kIG9mIGxpc3QKICB1ICAgICAgICAgICAgICAgICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsIGluZm8gYnkgMSBwYWdlCiAgXnUgICAgICAgICAgICAgICAgICAgIF5kICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbCBpbmZvIGJ5IDEgbGluZQogIEIsIExlZnQtYXJyb3cgICAgICAgICBGLCBSaWdodC1hcnJvdyAgICAgICAgICBwYW4gZGlzcGxheSBieSAxLzMgc2NyZWVuCiAgXmIgICAgICAgICAgICAgICAgICAgIF5mICAgICAgICAgICAgICAgICAgICAgIHBhbiBkaXNwbGF5IGJ5IDEgY2hhcmFjdGVyCgpNYXJrIHBhY2thZ2VzIGZvciBsYXRlciBwcm9jZXNzaW5nOgogKywgSW5zZXJ0ICBpbnN0YWxsIG9yIHVwZ3JhZGUgICAgICA9LCBIICBob2xkIGluIHByZXNlbnQgc3RhdGUKIC0sIERlbGV0ZSAgcmVtb3ZlICAgICAgICAgICAgICAgICAgOiwgRyAgdW5ob2xkOiB1cGdyYWRlIG9yIGxlYXZlIHVuaW5zdGFsbGVkCiBfICAgICAgICAgIHJlbW92ZSAmIHB1cmdlIGNvbmZpZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaXNjZWxsYW5lb3VzOgpRdWl0LCBleGl0LCBvdmVyd3JpdGUgKG5vdGUgY2FwaXRhbHMhKTogICAgICAgPywgRjEgcmVxdWVzdCBoZWxwIChhbHNvIEhlbHApCiBSZXR1cm4gIENvbmZpcm0sIHF1aXQgKGNoZWNrIGRlcGVuZGVuY2llcykgICBpLCBJICB0b2dnbGUvY3ljbGUgaW5mbyBkaXNwbGF5cwogICBRICAgICBDb25maXJtLCBxdWl0IChvdmVycmlkZSBkZXAucykgICAgICAgbywgTyAgY3ljbGUgdGhyb3VnaCBzb3J0IG9wdGlvbnMKIFgsIEVzYyAgZVhpdCwgYWJhbmRvbmluZyBhbnkgY2hhbmdlcyBtYWRlICAgIHYsIFYgIGNoYW5nZSBzdGF0dXMgZGlzcGxheSBvcHRzCiAgIFIgICAgIFJldmVydCB0byBzdGF0ZSBiZWZvcmUgdGhpcyBsaXN0ICAgICAgXmwgICByZWRyYXcgZGlzcGxheQogICBVICAgICBzZXQgYWxsIHRvIHNVZ2dlc3RlZCBzdGF0ZSAgICAgICAgICAgICAvICAgc2VhcmNoIChSZXR1cm4gdG8gY2FuY2VsKQogICBEICAgICBzZXQgYWxsIHRvIERpcmVjdGx5IHJlcXVlc3RlZCBzdGF0ZSAgbiwgXCAgcmVwZWF0IGxhc3Qgc2VhcmNoCgBNb3Rpb24ga2V5czogTmV4dC9QcmV2aW91cywgVG9wL0VuZCwgVXAvRG93biwgQmFja3dhcmRzL0ZvcndhcmRzOgogIGosIERvd24tYXJyb3cgICAgICAgICBrLCBVcC1hcnJvdyAgICAgICAgICAgICBtb3ZlIGhpZ2hsaWdodAogIE4sIFBhZ2UtZG93biwgU3BhY2UgICBQLCBQYWdlLXVwLCBCYWNrc3BhY2UgICBzY3JvbGwgbGlzdCBieSAxIHBhZ2UKICBebiAgICAgICAgICAgICAgICAgICAgXnAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsIGxpc3QgYnkgMSBsaW5lCiAgdCwgSG9tZSAgICAgICAgICAgICAgIGUsIEVuZCAgICAgICAgICAgICAgICAgIGp1bXAgdG8gdG9wL2VuZCBvZiBsaXN0CiAgdSAgICAgICAgICAgICAgICAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbCBpbmZvIGJ5IDEgcGFnZQogIF51ICAgICAgICAgICAgICAgICAgICBeZCAgICAgICAgICAgICAgICAgICAgICBzY3JvbGwgaW5mbyBieSAxIGxpbmUKICBCLCBMZWZ0LWFycm93ICAgICAgICAgRiwgUmlnaHQtYXJyb3cgICAgICAgICAgcGFuIGRpc3BsYXkgYnkgMS8zIHNjcmVlbgogIF5iICAgICAgICAgICAgICAgICAgICBeZiAgICAgICAgICAgICAgICAgICAgICBwYW4gZGlzcGxheSBieSAxIGNoYXJhY3RlcgooVGhlc2UgYXJlIHRoZSBzYW1lIG1vdGlvbiBrZXlzIGFzIGluIHRoZSBwYWNrYWdlIGxpc3QgZGlzcGxheS4pCgpRdWl0OgogUmV0dXJuLCBFbnRlciAgICBzZWxlY3QgdGhpcyBtZXRob2QgYW5kIGdvIHRvIGl0cyBjb25maWd1cmF0aW9uIGRpYWxvZ3VlCiB4LCBYICAgICAgICAgICAgIGV4aXQgd2l0aG91dCBjaGFuZ2luZyBvciBzZXR0aW5nIHVwIHRoZSBpbnN0YWxsYXRpb24gbWV0aG9kCgpNaXNjZWxsYW5lb3VzOgogID8sIEhlbHAsIEYxICAgICAgcmVxdWVzdCBoZWxwCiBebCAgICAgICAgICAgICAgICByZWRyYXcgZGlzcGxheQogIC8gICAgICAgICAgICAgICAgc2VhcmNoIChqdXN0IHJldHVybiB0byBjYW5jZWwpCiAgXCAgICAgICAgICAgICAgICByZXBlYXQgbGFzdCBzZWFyY2gKAE1vdmUgZG93bgBNb3ZlIHVwAE5ldwBOZXdseSBhdmFpbGFibGUgcGFja2FnZXMATm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlLgBObyBleHBsYW5hdGlvbiBhdmFpbGFibGUuAE51bGwgY29sb3VyIHNwZWNpZmljYXRpb24KAE9ic29sZXRlIGFuZCBsb2NhbCBwYWNrYWdlcyBwcmVzZW50IG9uIHN5c3RlbQBPYnNvbGV0ZS9sb2NhbABPbGQgbWFyawBPcHQAT3B0aW9uYWwAT3B0aW9uczoKICAtLWFkbWluZGlyIDxkaXJlY3Rvcnk+ICAgICBVc2UgPGRpcmVjdG9yeT4gaW5zdGVhZCBvZiAlcy4KICAtLWV4cGVydCAgICAgICAgICAgICAgICAgICBUdXJuIG9uIGV4cGVydCBtb2RlLgogIC0tZGVidWcgPGZpbGU+IHwgLUQ8ZmlsZT4gIFR1cm4gb24gZGVidWdnaW5nLCBzZW5kaW5nIG91dHB1dCB0byA8ZmlsZT4uCiAgLS1jb2xvdXIgfCAtLWNvbG9yIHNjcmVlbnBhcnQ6W2ZvcmVncm91bmRdLFtiYWNrZ3JvdW5kXVs6YXR0clsrYXR0cisuLl1dCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uZmlndXJlIHNjcmVlbiBjb2xvdXJzLgoKAFBhY2thZ2UAUHJlc3MgPGVudGVyPiB0byBjb250aW51ZS4KAFByZXNzID8gZm9yIGhlbHAgbWVudSwgLiBmb3IgbmV4dCB0b3BpYywgPHNwYWNlPiB0byBleGl0IGhlbHAuAFByZXNzIGEga2V5IGZyb20gdGhlIGxpc3QgYWJvdmUsIDxzcGFjZT4gb3IgYHEnIHRvIGV4aXQgaGVscCwKICBvciBgLicgKGZ1bGwgc3RvcCkgdG8gcmVhZCBlYWNoIGhlbHAgcGFnZSBpbiB0dXJuLiAAUHJpb3JpdHkAUHVyZ2VkAFB1cmdlZCBwYWNrYWdlcyBhbmQgdGhvc2UgbmV2ZXIgaW5zdGFsbGVkAFF1aXQgZHNlbGVjdC4AUXVpdCB3aXRob3V0IGNoYW5naW5nIHNlbGVjdGVkIGFjY2VzcyBtZXRob2QAUXVpdCwgY29uZmlybWluZyB3aXRob3V0IGNoZWNrAFF1aXQsIGNvbmZpcm1pbmcsIGFuZCBjaGVja2luZyBkZXBlbmRlbmNpZXMAUXVpdCwgcmVqZWN0aW5nIGNvbmZsaWN0L2RlcGVuZGVuY3kgc3VnZ2VzdGlvbnMAUkVJTlNUQUxMAFJlZHJhdyBkaXNwbGF5AFJlbW92ZSB1bndhbnRlZCBzb2Z0d2FyZS4AUmVtb3ZlZABSZW1vdmVkIGFuZCBubyBsb25nZXIgYXZhaWxhYmxlIHBhY2thZ2VzAFJlbW92ZWQgcGFja2FnZXMgKGNvbmZpZ3VyYXRpb24gc3RpbGwgcHJlc2VudCkAUmVwZWF0IGxhc3Qgc2VhcmNoLgBSZXEAUmVxdWVzdCBoZWxwIChjeWNsZSB0aHJvdWdoIGhlbHAgc2NyZWVucykAUmVxdWVzdCB3aGljaCBwYWNrYWdlcyB5b3Ugd2FudCBvbiB5b3VyIHN5c3RlbS4AUmVxdWlyZWQAUmV2ZXJ0IHRvIGN1cnJlbnRseSBpbnN0YWxsZWQgc3RhdGUgZm9yIGFsbCBwYWNrYWdlcwBSZXZlcnQgdG8gZGlyZWN0bHkgcmVxdWVzdGVkIHN0YXRlIGZvciBhbGwgcGFja2FnZXMAUmV2ZXJ0IHRvIG9sZCBzdGF0ZSBmb3IgYWxsIHBhY2thZ2VzAFJldmVydCB0byBzdWdnZXN0ZWQgc3RhdGUgZm9yIGFsbCBwYWNrYWdlcwBTY3JlZW5wYXJ0czoKAFNjcm9sbCBiYWNrd2FyZHMgdGhyb3VnaCBoZWxwL2luZm9ybWF0aW9uAFNjcm9sbCBiYWNrd2FyZHMgdGhyb3VnaCBoZWxwL2luZm9ybWF0aW9uIGJ5IDEgbGluZQBTY3JvbGwgYmFja3dhcmRzIHRocm91Z2ggbGlzdABTY3JvbGwgYmFja3dhcmRzIHRocm91Z2ggbGlzdCBieSAxIGxpbmUAU2Nyb2xsIG9ud2FyZHMgdGhyb3VnaCBoZWxwL2luZm9ybWF0aW9uAFNjcm9sbCBvbndhcmRzIHRocm91Z2ggaGVscC9pbmZvcm1hdGlvbiBieSAxIGxpbmUAU2Nyb2xsIG9ud2FyZHMgdGhyb3VnaCBsaXN0AFNjcm9sbCBvbndhcmRzIHRocm91Z2ggbGlzdCBieSAxIGxpbmUAU2VhcmNoIGZvciA/IABTZWFyY2ggZm9yIGEgcGFja2FnZSB3aG9zZSBuYW1lIGNvbnRhaW5zIGEgc3RyaW5nAFNlY3Rpb24AU2VsZWN0IGN1cnJlbnRseS1oaWdobGlnaHRlZCBhY2Nlc3MgbWV0aG9kAFNldCB5b3VyIFRFUk0gdmFyaWFibGUgY29ycmVjdGx5LCB1c2UgYSBiZXR0ZXIgdGVybWluYWwsCm9yIG1ha2UgZG8gd2l0aCB0aGUgcGVyLXBhY2thZ2UgbWFuYWdlbWVudCB0b29sICVzLgoAU3RhbmRhcmQAU3RkAFN3YXAgc29ydCBvcmRlciBwcmlvcml0eS9zZWN0aW9uAFRlcm1pbmFsIGRvZXMgbm90IGFwcGVhciB0byBzdXBwb3J0IGN1cnNvciBhZGRyZXNzaW5nLgoAVGVybWluYWwgZG9lcyBub3QgYXBwZWFyIHRvIHN1cHBvcnQgaGlnaGxpZ2h0aW5nLgoAVGhlIGxpbmUgeW91IGhhdmUgaGlnaGxpZ2h0ZWQgcmVwcmVzZW50cyBtYW55IHBhY2thZ2VzOyBpZiB5b3UgYXNrIHRvIGluc3RhbGwsIHJlbW92ZSwgaG9sZCwgZXRjLiBpdCB5b3Ugd2lsbCBhZmZlY3QgYWxsIHRoZSBwYWNrYWdlcyB3aGljaCBtYXRjaCB0aGUgY3JpdGVyaW9uIHNob3duLgoKSWYgeW91IG1vdmUgdGhlIGhpZ2hsaWdodCB0byBhIGxpbmUgZm9yIGEgcGFydGljdWxhciBwYWNrYWdlIHlvdSB3aWxsIHNlZSBpbmZvcm1hdGlvbiBhYm91dCB0aGF0IHBhY2thZ2UgZGlzcGxheWVkIGhlcmUuCllvdSBjYW4gdXNlIGBvJyBhbmQgYE8nIHRvIGNoYW5nZSB0aGUgc29ydCBvcmRlciBhbmQgZ2l2ZSB5b3Vyc2VsZiB0aGUgb3Bwb3J0dW5pdHkgdG8gbWFyayBwYWNrYWdlcyBpbiBkaWZmZXJlbnQga2luZHMgb2YgZ3JvdXBzLgBUaGUgdG9wIGhhbGYgb2YgdGhlIHNjcmVlbiBzaG93cyBhIGxpc3Qgb2YgcGFja2FnZXMuICBGb3IgZWFjaCBwYWNrYWdlIHlvdSBzZWUKZm91ciBjb2x1bW5zIGZvciBpdHMgY3VycmVudCBzdGF0dXMgb24gdGhlIHN5c3RlbSBhbmQgbWFyay4gIEluIHRlcnNlIG1vZGUgKHVzZQpgdicgdG8gdG9nZ2xlIHZlcmJvc2UgZGlzcGxheSkgdGhlc2UgYXJlIHNpbmdsZSBjaGFyYWN0ZXJzLCBmcm9tIGxlZnQgdG8gcmlnaHQ6CgogRXJyb3IgZmxhZzogU3BhY2UgLSBubyBlcnJvciAoYnV0IHBhY2thZ2UgbWF5IGJlIGluIGJyb2tlbiBzdGF0ZSAtIHNlZSBiZWxvdykKICAgICAgICAgICAgICBgUicgIC0gc2VyaW91cyBlcnJvciBkdXJpbmcgaW5zdGFsbGF0aW9uLCBuZWVkcyByZWluc3RhbGxhdGlvbjsKIEluc3RhbGxlZCBzdGF0ZTogICAgIFNwYWNlICAgIC0gbm90IGluc3RhbGxlZDsKICAgICAgICAgICAgICAgICAgICAgICBgKicgICAgIC0gaW5zdGFsbGVkOwogICAgICAgICAgICAgICAgICAgICAgIGAtJyAgICAgLSBub3QgaW5zdGFsbGVkIGJ1dCBjb25maWcgZmlsZXMgcmVtYWluOwogICBwYWNrYWdlcyBpbiB0aGVzZSB7IGBVJyAgICAgLSB1bnBhY2tlZCBidXQgbm90IHlldCBjb25maWd1cmVkOwogICBzdGF0ZXMgYXJlIG5vdCAgICB7IGBDJyAgICAgLSBoYWxmLWNvbmZpZ3VyZWQgKGFuIGVycm9yIGhhcHBlbmVkKTsKICAgKHF1aXRlKSBwcm9wZXJseSAgeyBgSScgICAgIC0gaGFsZi1pbnN0YWxsZWQgKGFuIGVycm9yIGhhcHBlbmVkKTsKICAgaW5zdGFsbGVkICAgICAgICAgeyBgVycsYHQnIC0gdHJpZ2dlcnMgYXJlIGF3YWl0ZWQgcmVzcC4gcGVuZGluZy4KIE9sZCBtYXJrOiB3aGF0IHdhcyByZXF1ZXN0ZWQgZm9yIHRoaXMgcGFja2FnZSBiZWZvcmUgcHJlc2VudGluZyB0aGlzIGxpc3Q7CiBNYXJrOiB3aGF0IGlzIHJlcXVlc3RlZCBmb3IgdGhpcyBwYWNrYWdlOgogIGAqJzogbWFya2VkIGZvciBpbnN0YWxsYXRpb24gb3IgdXBncmFkZTsKICBgLSc6IG1hcmtlZCBmb3IgcmVtb3ZhbCwgYnV0IGFueSBjb25maWd1cmF0aW9uIGZpbGVzIHdpbGwgcmVtYWluOwogIGA9Jzogb24gaG9sZDogcGFja2FnZSB3aWxsIG5vdCBiZSBwcm9jZXNzZWQgYXQgYWxsOwogIGBfJzogbWFya2VkIGZvciBwdXJnZSBjb21wbGV0ZWx5IC0gZXZlbiByZW1vdmUgY29uZmlndXJhdGlvbjsKICBgbic6IHBhY2thZ2UgaXMgbmV3IGFuZCBoYXMgeWV0IHRvIGJlIG1hcmtlZCBmb3IgaW5zdGFsbC9yZW1vdmUvJmMuCgpBbHNvIGRpc3BsYXllZCBhcmUgZWFjaCBwYWNrYWdlJ3MgUHJpb3JpdHksIFNlY3Rpb24sIG5hbWUsIGluc3RhbGxlZCBhbmQKYXZhaWxhYmxlIHZlcnNpb24gbnVtYmVycyAoc2hpZnQtViB0byBkaXNwbGF5L2hpZGUpIGFuZCBzdW1tYXJ5IGRlc2NyaXB0aW9uLgoAVGhlcmUgYXJlIG5vIHBhY2thZ2VzLgBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIG9yCmxhdGVyIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuIFRoZXJlIGlzIE5PIHdhcnJhbnR5LgoAVHlwZSBkc2VsZWN0IC0taGVscCBmb3IgaGVscC4AVW5jbGFzc2lmaWVkAFVwIHRvIGRhdGUgaW5zdGFsbGVkIHBhY2thZ2VzAFVwLXRvLWRhdGUAVXBkYXRlIGxpc3Qgb2YgYXZhaWxhYmxlIHBhY2thZ2VzLCBpZiBwb3NzaWJsZS4AVXBkYXRlZABVcGRhdGVkIHBhY2thZ2VzIChuZXdlciB2ZXJzaW9uIGlzIGF2YWlsYWJsZSkAVXNhZ2U6ICVzIFs8b3B0aW9uPiAuLi5dIFs8YWN0aW9uPiAuLi5dCgoAV2VsY29tZSB0byBkc2VsZWN0J3MgbWFpbiBwYWNrYWdlIGxpc3RpbmcuCgpZb3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhIGxpc3Qgb2YgcGFja2FnZXMgd2hpY2ggYXJlIGluc3RhbGxlZCBvciBhdmFpbGFibGUKZm9yIGluc3RhbGxhdGlvbi4gIFNpbmNlIHlvdSBkbyBub3QgaGF2ZSB0aGUgcHJpdmlsZWdlIG5lY2Vzc2FyeSB0byB1cGRhdGUKcGFja2FnZSBzdGF0ZXMsIHlvdSBhcmUgaW4gYSByZWFkLW9ubHkgbW9kZS4gIFlvdSBjYW4gbmF2aWdhdGUgYXJvdW5kIHRoZQpsaXN0IHVzaW5nIHRoZSBjdXJzb3Iga2V5cyAocGxlYXNlIHNlZSB0aGUgYEtleXN0cm9rZXMnIGhlbHAgc2NyZWVuKSwgb2JzZXJ2ZQp0aGUgc3RhdHVzIG9mIHRoZSBwYWNrYWdlcyBhbmQgcmVhZCBpbmZvcm1hdGlvbiBhYm91dCB0aGVtLgoKWW91IHNob3VsZCByZWFkIHRoZSBsaXN0IG9mIGtleXMgYW5kIHRoZSBleHBsYW5hdGlvbnMgb2YgdGhlIGRpc3BsYXkuCk11Y2ggb24tbGluZSBoZWxwIGlzIGF2YWlsYWJsZSwgcGxlYXNlIG1ha2UgdXNlIG9mIGl0IC0gcHJlc3MgYD8nIGF0CmFueSB0aW1lIGZvciBoZWxwLgoKV2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCBicm93c2luZywgcHJlc3MgYFEnIG9yIDxlbnRlcj4gdG8gcXVpdC4KClByZXNzIDxzcGFjZT4gdG8gbGVhdmUgaGVscCBhbmQgZW50ZXIgdGhlIGxpc3Qgbm93LgoAV2VsY29tZSB0byBkc2VsZWN0J3MgbWFpbiBwYWNrYWdlIGxpc3RpbmcuCgpZb3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhIGxpc3Qgb2YgcGFja2FnZXMgd2hpY2ggYXJlIGluc3RhbGxlZCBvciBhdmFpbGFibGUKZm9yIGluc3RhbGxhdGlvbi4gIFlvdSBjYW4gbmF2aWdhdGUgYXJvdW5kIHRoZSBsaXN0IHVzaW5nIHRoZSBjdXJzb3Iga2V5cywKbWFyayBwYWNrYWdlcyBmb3IgaW5zdGFsbGF0aW9uICh1c2luZyBgKycpIG9yIGRlaW5zdGFsbGF0aW9uICh1c2luZyBgLScpLgpQYWNrYWdlcyBjYW4gYmUgbWFya2VkIGVpdGhlciBzaW5nbHkgb3IgaW4gZ3JvdXBzOyBpbml0aWFsbHkgeW91IHdpbGwgc2VlIHRoYXQKdGhlIGxpbmUgYEFsbCBwYWNrYWdlcycgaXMgc2VsZWN0ZWQuICBgKycsIGAtJyBhbmQgc28gb24gd2lsbCBhZmZlY3QgYWxsIHRoZQpwYWNrYWdlcyBkZXNjcmliZWQgYnkgdGhlIGhpZ2hsaWdodGVkIGxpbmUuCgpTb21lIG9mIHlvdXIgY2hvaWNlcyB3aWxsIGNhdXNlIGNvbmZsaWN0cyBvciBkZXBlbmRlbmN5IHByb2JsZW1zOyB5b3Ugd2lsbCBiZQpnaXZlbiBhIHN1Yi1saXN0IG9mIHRoZSByZWxldmFudCBwYWNrYWdlcywgc28gdGhhdCB5b3UgY2FuIHNvbHZlIHRoZSBwcm9ibGVtcy4KCllvdSBzaG91bGQgcmVhZCB0aGUgbGlzdCBvZiBrZXlzIGFuZCB0aGUgZXhwbGFuYXRpb25zIG9mIHRoZSBkaXNwbGF5LgpNdWNoIG9uLWxpbmUgaGVscCBpcyBhdmFpbGFibGUsIHBsZWFzZSBtYWtlIHVzZSBvZiBpdCAtIHByZXNzIGA/JyBhdAphbnkgdGltZSBmb3IgaGVscC4KCldoZW4geW91IGhhdmUgZmluaXNoZWQgc2VsZWN0aW5nIHBhY2thZ2VzLCBwcmVzcyA8ZW50ZXI+IHRvIGNvbmZpcm0gY2hhbmdlcywKb3IgYFgnIHRvIHF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcy4gQSBmaW5hbCBjaGVjayBvbiBjb25mbGljdHMgYW5kCmRlcGVuZGVuY2llcyB3aWxsIGJlIGRvbmUgLSBoZXJlIHRvbyB5b3UgbWF5IHNlZSBhIHN1Ymxpc3QuCgpQcmVzcyA8c3BhY2U+IHRvIGxlYXZlIGhlbHAgYW5kIGVudGVyIHRoZSBsaXN0IG5vdy4KAFh0cgBbQV1jY2VzcwBbQ11vbmZpZwBbSV1uc3RhbGwAW1FddWl0AFtSXWVtb3ZlAFtTXWVsZWN0AFtVXXBkYXRlAFtub3QgYm91bmRdAFt1bms6ICVkXQBhAGF3YWl0aW5nIHRyaWdnZXIgcHJvY2Vzc2luZwBiVUcAYnJlYWtzAGMAY29sb3VyAGNvbG91ciBhdHRyaWJ1dGUAY29uZmxpY3RzIHdpdGgAY291bGRuJ3Qgb3BlbiBkZWJ1ZyBmaWxlIGAlLjI1NXMnCgBkZXBlbmRzIG9uAGRvdXBkYXRlIGZhaWxlZABkb3VwZGF0ZSBpbiBTSUdXSU5DSCBoYW5kbGVyIGZhaWxlZABkc2VsZWN0IC0gaW5zcGVjdGlvbiBvZiBwYWNrYWdlIHN0YXRlcwBkc2VsZWN0IC0gbGlzdCBvZiBhY2Nlc3MgbWV0aG9kcwBkc2VsZWN0IC0gbWFpbiBwYWNrYWdlIGxpc3RpbmcAZHNlbGVjdCAtIHJlY3Vyc2l2ZSBwYWNrYWdlIGxpc3RpbmcAZHNlbGVjdCBhbmQgZHBrZyBjYW4gZG8gYXV0b21hdGljIGluc3RhbGxhdGlvbiwgbG9hZGluZyB0aGUgcGFja2FnZSBmaWxlcyB0byBiZQppbnN0YWxsZWQgZnJvbSBvbmUgb2YgYSBudW1iZXIgb2YgZGlmZmVyZW50IHBvc3NpYmxlIHBsYWNlcy4KClRoaXMgbGlzdCBhbGxvd3MgeW91IHRvIHNlbGVjdCBvbmUgb2YgdGhlc2UgaW5zdGFsbGF0aW9uIG1ldGhvZHMuCgpNb3ZlIHRoZSBoaWdobGlnaHQgdG8gdGhlIG1ldGhvZCB5b3Ugd2lzaCB0byB1c2UsIGFuZCBoaXQgRW50ZXIuICBZb3Ugd2lsbCB0aGVuCmJlIHByb21wdGVkIGZvciB0aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gZG8gdGhlIGluc3RhbGxhdGlvbi4KCkFzIHlvdSBtb3ZlIHRoZSBoaWdobGlnaHQgYSBkZXNjcmlwdGlvbiBvZiBlYWNoIG1ldGhvZCwgd2hlcmUgYXZhaWxhYmxlLCBpcwpkaXNwbGF5ZWQgaW4gdGhlIGJvdHRvbSBoYWxmIG9mIHRoZSBzY3JlZW4uCgpJZiB5b3Ugd2lzaCB0byBxdWl0IHdpdGhvdXQgY2hhbmdpbmcgYW55dGhpbmcgdXNlIHRoZSBgeCcga2V5IHdoaWxlIGluIHRoZSBsaXN0Cm9mIGluc3RhbGxhdGlvbiBtZXRob2RzLgoKQSBmdWxsIGxpc3Qgb2Yga2V5c3Ryb2tlcyBpcyBhdmFpbGFibGUgYnkgcHJlc3NpbmcgYGsnIG5vdywgb3IgZnJvbSB0aGUgaGVscAptZW51IHJlYWNoYWJsZSBieSBwcmVzc2luZyBgPycuCgBlbmhhbmNlcwBlcnJvciBkdXJpbmcgcmVhZCBvZiBtZXRob2Qgb3B0aW9ucyBmaWxlIGAlLjI1MHMnAGVycm9yIGR1cmluZyByZWFkIG9mIG9wdGlvbiBkZXNjcmlwdGlvbiBmaWxlIGAlLjI1MHMnAGVycm9yIGluIHJlZ3VsYXIgZXhwcmVzc2lvbgBlcnJvciByZWFkaW5nIGFja25vd2xlZGdlbWVudCBvZiBwcm9ncmFtIGZhaWx1cmUgbWVzc2FnZQBlcnJvciByZWFkaW5nIGtleWJvYXJkIGluIGhlbHAAZXJyb3IgcmVhZGluZyBvcHRpb25zIGZpbGUgYCUuMjUwcycAZmFpbGVkIHRvIGFsbG9jYXRlIGNvbG91ciBwYWlyAGZhaWxlZCB0byBibG9jayBTSUdXSU5DSABmYWlsZWQgdG8gY3JlYXRlIGJhc2VsaXN0IHBhZABmYWlsZWQgdG8gY3JlYXRlIGhlYWRpbmcgcGFkAGZhaWxlZCB0byBjcmVhdGUgaW5mbyBwYWQAZmFpbGVkIHRvIGNyZWF0ZSBxdWVyeSB3aW5kb3cAZmFpbGVkIHRvIGNyZWF0ZSB0aGlzc3RhdGUgcGFkAGZhaWxlZCB0byBjcmVhdGUgdGl0bGUgd2luZG93AGZhaWxlZCB0byBjcmVhdGUgd2hhdGluZm8gd2luZG93AGZhaWxlZCB0byBnZXQgb2xkIFNJR1dJTkNIIHNpZ2FjdABmYWlsZWQgdG8gZ2V0IG9sZCBzaWduYWwgbWFzawBmYWlsZWQgdG8gZ2V0Y2ggaW4gbWFpbiBtZW51AGZhaWxlZCB0byByZS1ibG9jayBTSUdXSU5DSABmYWlsZWQgdG8gcmVhZCBvcHRpb24gZGVzY3JpcHRpb24gZmlsZSBgJS4yNTBzJwBmYWlsZWQgdG8gcmVzdG9yZSBvbGQgU0lHV0lOQ0ggc2lnYWN0AGZhaWxlZCB0byByZXN0b3JlIG9sZCBzaWduYWwgbWFzawBmYWlsZWQgdG8gc2V0IG5ldyBTSUdXSU5DSCBzaWdhY3QAZmFpbGVkIHRvIHVuYmxvY2sgU0lHV0lOQ0gAZ2V0Y2ggZmFpbGVkAGhhbGYgY29uZmlndXJlZCAoY29uZmlnIGZhaWxlZCkAaGFsZiBpbnN0YWxsZWQAaG9sZABpAGluZGV4IHN0cmluZyB0b28gbG9uZwBpbnN0YWxsAGluc3RhbGxhdGlvbiBzY3JpcHQAaW5zdGFsbGVkAGludmFsaWQgc2VhcmNoIG9wdGlvbiBnaXZlbgBpb2N0bChUSU9DR1dJTlNaKSBmYWlsZWQAbWVudQBtZXRob2QgYCUuMjUwcycgaGFzIG5hbWUgdGhhdCBpcyB0b28gbG9uZyAoJWQgPiAlZCBjaGFyYWN0ZXJzKQBuZXcgcGFja2FnZQBuZXdsaW5lIGJlZm9yZSBvcHRpb24gbmFtZSBzdGFydABuZXdsaW5lIGJlZm9yZSBzdW1tYXJ5AG5vbi1hbHBoYW51bSBpbiBvcHRpb24gbmFtZQBub24tZGlnaXQgd2hlcmUgZGlnaXQgd2FudGVkAG5vbmFscGhhIHdoZXJlIG9wdGlvbiBuYW1lIHN0YXJ0IHdhbnRlZABub3QgaW5zdGFsbGVkAHByZS1kZXBlbmRzIG9uAHByb3ZpZGVzAHB1cmdlAHEAcXVlcnkvc2V0dXAgc2NyaXB0AHIAcmVjb21tZW5kcwByZW1vdmUAcmVtb3ZlZCAoY29uZmlncyByZW1haW4pAHJlcGxhY2VzAHMAc2NyZWVuIHBhcnQAc3VnZ2VzdHMAc3ludGF4IGVycm9yIGluIG1ldGhvZCBvcHRpb25zIGZpbGUgYCUuMjUwcycgLS0gJXMAdGVybWluYWwgbGFja3MgbmVjZXNzYXJ5IGZlYXR1cmVzLCBnaXZpbmcgdXAAdHJpZ2dlcmVkAHUAdW5hYmxlIHRvIGFjY2VzcyBtZXRob2Qgc2NyaXB0IGAlLjI1MHMnAHVuYWJsZSB0byBjbG9zZSBuZXcgb3B0aW9uIGZpbGUgYCUuMjUwcycAdW5hYmxlIHRvIGluc3RhbGwgbmV3IG9wdGlvbiBhcyBgJS4yNTBzJwB1bmFibGUgdG8gb3BlbiBjdXJyZW50IG9wdGlvbiBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byBvcGVuIG5ldyBvcHRpb24gZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gb3BlbiBvcHRpb24gZGVzY3JpcHRpb24gZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gcmVhZCBgJS4yNTBzJyBkaXJlY3RvcnkgZm9yIHJlYWRpbmcgbWV0aG9kcwB1bmFibGUgdG8gcmVhZCBtZXRob2Qgb3B0aW9ucyBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byBzdGF0IG9wdGlvbiBkZXNjcmlwdGlvbiBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byB3cml0ZSBuZXcgb3B0aW9uIHRvIGAlLjI1MHMnAHVua25vd24gYWN0aW9uIHN0cmluZyBgJS41MHMnAHVucGFja2VkIChub3Qgc2V0IHVwKQB1cGRhdGUgYXZhaWxhYmxlIGxpc3Qgc2NyaXB0AFByb2plY3QtSWQtVmVyc2lvbjogClJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBkZWJpYW4tZHBrZ0BsaXN0cy5kZWJpYW4ub3JnClBPVC1DcmVhdGlvbi1EYXRlOiAyMDExLTEwLTE0IDA3OjExKzAyMDAKUE8tUmV2aXNpb24tRGF0ZTogMjAxMC0wMy0xMiAwNzoxNiswMTAwCkxhc3QtVHJhbnNsYXRvcjogQ2hyaXN0aWFuIFBlcnJpZXIgPGJ1YnVsbGVAZGViaWFuLm9yZz4KTGFuZ3VhZ2UtVGVhbTogZnIgPGRlYmlhbi1sMTBuLWZyZW5jaEBsaXN0cy5kZWJpYW4ub3JnPgpMYW5ndWFnZTogZnIKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKWC1HZW5lcmF0b3I6IExva2FsaXplIDEuMApQbHVyYWwtRm9ybXM6IFBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPW4+MTsKAAoKJXPCoDogJXMKAAoKVXRpbGlzZXogXlAgZXQgXk4sIGxlcyB0b3VjaGVzIGZsw6ljaMOpZXMsIGxlcyBsZXR0cmVzIGluaXRpYWxlcyBvdSBsZXMgY2hpZmZyZXMgcG91ciB2b3VzIGTDqXBsYWNlcsKgOwpBcHB1eWV6IHN1ciA8RW50csOpZT4gcG91ciBjb25maXJtZXIgbGEgc8OpbGVjdGlvbi4gXkwgcG91ciByZWRlc3NpbmVyIGwnw6ljcmFuLgoACgpBY2PDqHMgZW4gbGVjdHVyZSBzZXVsZcKgOiBzZXVsIHVuIGFwZXLDp3UgZGVzIHPDqWxlY3Rpb25zIGVzdCBkaXNwb25pYmxlwqAhAApBcHB1eWV6IHN1ciA8RW50csOpZT4gcG91ciBjb250aW51ZXIuACAAICAtLSAlZCUlLCBhcHB1eWV6IHN1ciAAICAtLWhlbHAgICAgICAgICAgICAgICAgICAgICBBZmZpY2hlciBjZSBtZXNzYWdlIGQnYWlkZSA7CiAgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgQWZmaWNoZXIgbGEgdmVyc2lvbiA7CgoAIChhbHBoYWLDqXRpcXVlbWVudCkAIChkaXNwby4sIHByaW9yaXTDqSkAIChkaXNwby4sIHNlY3Rpb24pACAocGFyIGRpc3BvbmliaWxpdMOpKQAgKHBhciBwcmlvcml0w6kpACAocGFyIHNlY3Rpb24pACAocGFyIMOpdGF0KQAgKMOpdGF0LCBwcmlvcml0w6kpACAow6l0YXQsIHNlY3Rpb24pACBzZW1ibGUgbmUgcGFzIMOqdHJlIGRpc3BvbmlibGUKACBtYXJxOisvPS8tIGNvbmNpczp2IGFpZGU6PwAgbWFycTorLz0vLSB2ZXJiZXV4OnYgYWlkZTo/ACBvdSAAIGNvbmNpczp2IGFpZGU6PwAgdmVyYmV1eDp2IGFpZGU6PwAhQm9ndWUhACUtKnMgJXMlcyVzwqA7ICAlcyAocHLDqWPDqWRlbW1lbnTCoDogJXMpLiAgJXMAUGFxdWV0cyAlcyAlcwBQYXF1ZXRzICVzICVzIGRhbnMgbGEgc2VjdGlvbiAlcwBQYXF1ZXRzICVzICVzIHNhbnMgc2VjdGlvbgAlcyBwb3VyIHBsdXMgZCdpbmZvcm1hdGlvbnMAUGFxdWV0cyAlcyBkYW5zIGxhIHNlY3Rpb24gJXMAUGFxdWV0cyAlcyBzYW5zIHNlY3Rpb24AJXMgcG91ciByZXZlbmlyIGVuIGFycmnDqHJlACogU3VybGlnbmFnZcKgOiB1bmUgbGlnbmUgZGUgbGEgbGlzdGUgZGVzIHBhcXVldHMgc2VyYSBzdXJsaWduw6llLiBFbGxlCiAgaW5kaXF1ZSBxdWVsKHMpIHBhcXVldChzKSBzZXJhIGFmZmVjdMOpIHBhciB1biBhcHB1aSBzdXIgwqvCoCvCoMK7LCDCq8KgLcKgwrsgZXQgwqvCoF/CoMK7LgoKKiBMYSBsaWduZSBkaXZpc2FudCBsJ8OpY3JhbiBlbiBkZXV4IHBhcnRpZXMgYWZmaWNoZSB1bmUgZXhwbGljYXRpb24KICBzdWNjaW5jdGUgc3VyIGwnw6l0YXQgZHUgcGFxdWV0IHByw6lzZW50ZW1lbnQgc3VybGlnbsOpLCBvdSB1bmUgZGVzY3JpcHRpb24KICBkZSBsJ8OpdmVudHVlbCBncm91cGUgc3VybGlnbsOpLiBTaSB2b3VzIG5lIGNvbXByZW5leiBwYXMgbGUgc2VucyBkZQogIGNlcnRhaW5zIGNhcmFjdMOocmVzIGQnw6l0YXQgYWZmaWNow6lzLCBkw6lwbGFjZXotdm91cyBzdXIgbGUgcGFxdWV0IGFkw6lxdWF0CiAgZXQgcmVnYXJkZXogbGEgbGlnbmUgZGUgZGl2aXNpb24sIG91IHV0aWxpc2V6IGxhIHRvdWNoZSDCq8KgdsKgwrsgcG91ciBvYnRlbmlyCiAgdW4gYWZmaWNoYWdlIHZlcmJldXggKGFwcHV5ZXogZW5jb3JlIHN1ciDCq8KgdsKgwrsgcG91ciByZXZlbmlyIMOgIGwnYWZmaWNoYWdlCiAgbGFjb25pcXVlKS4KCiogTGUgYmFzIGRlIGwnw6ljcmFuIGFmZmljaGUgZGUgcGx1cyBhbXBsZXMgaW5mb3JtYXRpb25zIHN1ciBsZSBwYXF1ZXQKICBwcsOpc2VudGVtZW50IHN1cmxpZ27DqSAocydpbCBuJ3kgZW4gYSBxdSd1bikuCgogIElsIHBldXQgbW9udHJlciB1bmUgZGVzY3JpcHRpb24gw6l0ZW5kdWUgZHUgcGFxdWV0LCBsZXMgZMOpdGFpbHMgZGUKICBjb250csO0bGUgaW50ZXJuZXMgYXUgcGFxdWV0IChhdXNzaSBiaWVuIHBvdXIgbGVzIHZlcnNpb25zIGluc3RhbGzDqWVzIHF1ZQogIGxlcyB2ZXJzaW9ucyBkaXNwb25pYmxlcyBkJ3VuIHBhcXVldCksIG91IGxlcyBpbmZvcm1hdGlvbnMgY29uY2VybmFudCBsZXMKICBjb25mbGl0cyBldCBsZXMgZMOpcGVuZGFuY2VzIGltcGxpcXVhbnQgbGUgcHLDqXNlbnQgcGFxdWV0IChkYW5zIHVuZQogIHNvdXMtbGlzdGUgZGUgcsOpc29sdXRpb24gZGUgY29uZmxpdC9kw6lwZW5kYW5jZSkuCgogIFV0aWxpc2V6IGxlcyB0b3VjaGVzIMKrwqBpwqDCuyBwb3VyIGNpcmN1bGVyIMOgIHRyYXZlcnMgbGVzIMOpY3JhbnMsIGV0IMKrwqBJwqDCuyBwb3VyCiAgbWFzcXVlciBsJ2FmZmljaGFnZSBkJ2luZm9ybWF0aW9ucyBvdSBsJ8OpdGVuZHJlIGp1c3F1J8OgIGx1aSBmYWlyZSBwcmVuZHJlCiAgbGEgcXVhc2ktdG90YWxpdMOpIGRlIGwnw6ljcmFuLgoAPHNvcnRpZSBkJ2VycmV1ciBzdGFuZGFyZD4APHNvcnRpZSBzdGFuZGFyZD4APwBBYnLDqXYuAEFubnVsZXIgLSBxdWl0dGVyIHNhbnMgZWZmZWN0dWVyIGRlIGNoYW5nZW1lbnRzAE3DqXRob2RlIGQnYWNjw6hzIMKrwqAlc8KgwrsuAEFjdGlvbnM6CiAgYWNjZXNzIHVwZGF0ZSBzZWxlY3QgaW5zdGFsbCBjb25maWcgcmVtb3ZlIHF1aXQKCgBUb3VzAFRvdXMgbGVzIHBhcXVldHMAQXR0cmlidXRzwqA6CgBWZXJzLiBkaXNwby4AZGlzcG9uaWJsZXMASW5mb3JtYXRpb25zIGRpc3BvbmlibGVzIGR1IGZpY2hpZXIgZGUgY29udHLDtGxlAFBhcXVldHMgZGlzcG9uaWJsZXMgKHBhcyBpbnN0YWxsw6lzIHBvdXIgbCdpbnN0YW50KQBkw6lmZWN0dWV1eABQYXF1ZXRzIGluY29ycmVjdGVtZW50IGluc3RhbGzDqXMAQ2hvaXNpciBsYSBtw6l0aG9kZSBkJ2FjY8OocyDDoCB1dGlsaXNlcgBDb3VsZXVyc8KgOgoAQ29uZmlndXJhdGlvbiBkZSB0b3V0IHBhcXVldCBub24gY29uZmlndXLDqS4AQ29weXJpZ2h0IChDKSAxOTk0LTE5OTYgSWFuIEphY2tzb24uCkNvcHlyaWdodCAoQykgMjAwMCwyMDAxIFdpY2hlcnQgQWtrZXJtYW4uCgBGYWlyZSBkw6lmaWxlciBsZXMgw6ljcmFucyBkJ2luZm9ybWF0aW9uAEludGVyZmFjZSBkZSBnZXN0aW9uIGRlIHBhcXVldHMgRGViaWFuIMKrwqAlc8KgwrsgdmVyc2lvbiAlcy4KAFLDqXNvbHV0aW9uIGRlIGTDqXBlbmRhbmNlL2NvbmZsaXQgLSBpbnRyb2R1Y3Rpb24uCgpVbiBvdSBwbHVzaWV1cnMgZGUgdm9zIGNob2l4IG9udCBhYm91dGkgw6AgdW4gY29uZmxpdCBvdSB1biBwcm9ibMOobWUgZGUKZMOpcGVuZGFuY2UgLSBjZXJ0YWlucyBwYXF1ZXRzIG5lIGRvaXZlbnQgw6p0cmUgaW5zdGFsbMOpcyBxdSdlbiBjb25qb25jdGlvbgphdmVjIGNlcnRhaW5zIGF1dHJlcywgZXQgY2VydGFpbmVzIGNvbWJpbmFpc29ucyBkZSBwYXF1ZXRzIG5lIGRvaXZlbnQgcGFzCsOqdHJlIGluc3RhbGzDqXMgZW5zZW1ibGUuCgpJbCB2b3VzIHNlcmEgcHLDqXNlbnTDqSB1bmUgc291cy1saXN0ZSBwcsOpc2VudGFudCBsZXMgcGFxdWV0cyBpbXBsaXF1w6lzLiBMYQpwYXJ0aWUgaW5mw6lyaWV1cmUgZGUgbCfDqWNyYW4gYWZmaWNoZSBsZXMgY29uZmxpdHMgZXQgZMOpcGVuZGFuY2VzCnBlcnRpbmVudGVzwqA7IHV0aWxpc2V6IGxhIHRvdWNoZSDCq8KgacKgwrsgcG91ciB2b3VzIGTDqXBsYWNlciBlbnRyZSBjZXMgZGVybmnDqHJlcywKbGEgZGVzY3JpcHRpb24gZGVzIHBhcXVldHMgZXQgbGVzIGluZm9ybWF0aW9ucyBpbnRlcm5lcyBkZSBjb250csO0bGUuCgpVbiBlbnNlbWJsZSBkZSBwYXF1ZXRzIMKrwqBzdWdnw6lyw6lzwqDCuyBhIMOpdMOpIGNhbGN1bMOpLCBldCBsZXMgbWFycXVhZ2VzIGluaXRpYXV4CmRlIGNldHRlIHNvdXMtbGlzdGUgb250IMOpdMOpIHBvc2l0aW9ubsOpcyBwb3VyIGNvcnJlc3BvbmRyZSDDoCBjZXMgZGVybmllcnMsCmRvbmMgaWwgbmUgdm91cyByZXN0ZSBwbHVzIHF1J8OgIGFwcHV5ZXIgc3VyIEVudHLDqWUgcG91ciBhY2NlcHRlciBjZXMKc3VnZ2VzdGlvbnMgc2Vsb24gdm90cmUgYm9uIHZvdWxvaXIuIFZvdXMgcG91dmV6IGFubnVsZXIgbGEobGVzKQptb2RpZmljYXRpb24ocykgcXVpIGEob250KSBjYXVzw6llKHMpIGNlcyBwcm9ibMOobWVzLCBldCByZXRvdXJuZXIgw6AgbGEgbGlzdGUKcHJpbmNpcGFsZSwgZW4gYXBwdXlhbnQgc3VyIMKrwqBYwqDCuyBtYWp1c2N1bGUuCgpWb3VzIHBvdXZleiBhdXNzaSB2b3VzIGTDqXBsYWNlciBkYW5zIGxhIGxpc3RlIGV0IGNoYW5nZXIgbGVzIG1hcnF1YWdlcyBkZQptYW5pw6hyZSDDoCBjZSBxdSdpbHMgc29pZW50IHBsdXMgw6Agdm90cmUgY29udmVuYW5jZSwgZXQgdm91cyBwb3V2ZXogcmVqZXRlcgpsZXMgc3VnZ2VzdGlvbnMgZW4gdXRpbGlzYW50IGxlcyB0b3VjaGVzIMKrwqBEwqDCuyBvdSDCq8KgUsKgwrsgbWFqdXNjdWxlcyAodm9pcgpsJ8OpY3JhbiBkJ2FpZGUgc3VyIGxlcyBjb21iaW5haXNvbnMgZGUgdG91Y2hlcykuIFZvdXMgcG91dmV6IHV0aWxpc2VyIGxhCnRvdWNoZSDCq8KgUcKgwrsgbWFqdXNjdWxlIHBvdXIgZm9yY2VyIGRzZWxlY3Qgw6AgYWNjZXB0ZXIgbGEgc2l0dWF0aW9uCnByw6lzZW50ZW1lbnQgYWZmaWNow6llLCBkYW5zIGxlIGNhcyBvw7kgdm91cyB2b3VkcmlleiBvdXRyZXBhc3NlciB1bmUKcmVjb21tYW5kYXRpb24gb3Ugdm91cyBwZW5zZXogcXVlIGxlIHByb2dyYW1tZSBlc3QgZGFucyBsJ2VycmV1ci4KCkFwcHV5ZXogc3VyIDxlc3BhY2U+IHBvdXIgcXVpdHRlciBsJ2FpZGUgZXQgYWNjw6lkZXIgw6AgbGEgc291cy1saXN0ZcKgOwpyYXBwZWzCoDogYXBwdXlleiBzdXIgwqvCoD/CoMK7IHBvdXIgb2J0ZW5pciBkZSBsJ2FpZGUuCgBEZXNjcmlwdGlvbgBBZmZpY2hhZ2UsIDFyZSBwYXJ0aWXCoDogbGlzdGUgZGVzIHBhcXVldHMgZXQgY2FyYWN0w6hyZXMgZCfDqXRhdABBZmZpY2hhZ2UsIDJlIHBhcnRpZcKgOiBzdXJsaWduYWdlIGRlIGxhIGxpc3RlwqA7IGFmZmljaGFnZSBkJ2luZm9ybWF0aW9ucwBFSUFNAEVPRiBwcsOpY8OpZGFudCBsZSBkw6lidXQgZHUgbm9tIGRlIGwnb3B0aW9uAEVPRiBwcsOpY8OpZGFudCBsZSByw6lzdW3DqQBFT0YgZGFucyBsYSBjaGHDrm5lIGQnaW5kZXgARU9GIGRhbnMgbGUgbm9tIGRlIGwnb3B0aW9uAEVPRiBkYW5zIGxlIHLDqXN1bcOpIC0gc2F1dCBkZSBsaWduZSBtYW5xdWFudABFcnJldXIARXJyZXVywqA6IABFeHBsaWNhdGlvbgBzdXBwbMOpbWVudGFpcmVzAEFsbGVyIMOgIGxhIGZpbiBkZSBsYSBsaXN0ZQBBbGxlciBhdSBkw6lidXQgZGUgbGEgbGlzdGUATCdpbmZvcm1hdGlvbiBkJ2FpZGUgZXN0IGFjY2Vzc2libGUgYXUgdHJhdmVycyBkZXMgdGjDqG1lcyBzdWl2YW50c8KgOgBBaWRlwqA6IABJbXAAaW1wb3J0YW50cwBWZXJzLiBpbnN0AEluc3RhbGxhdGlvbiBldCBtaXNlIMOgIG5pdmVhdSBkZXMgcGFxdWV0cyBkw6lzaXLDqXMuAEluc3RhbGzDqQBpbmZvcm1hdGlvbiBkZSBjb250csO0bGUgaW5zdGFsbMOpZQBQYXF1ZXRzIGluc3RhbGzDqXMASW5zdGFsbMOpwqA/AFJlbGF0aW9ucyBkJ2ludGVyLWTDqXBlbmRhbmNlcwBJbnRyb2R1Y3Rpb24gw6AgbGEgc291cy1saXN0ZSBkZSByw6lzb2x1dGlvbiBkZSBjb25mbGl0cy9kw6lwZW5kYW5jZXMASW50cm9kdWN0aW9uIMOgIGxhIHPDqWxlY3Rpb24gZGVzIG3DqXRob2RlcwBJbnRyb2R1Y3Rpb24gw6AgbGEgc8OpbGVjdGlvbiBkZXMgcGFxdWV0cwBJbnRyb2R1Y3Rpb24gw6AgbGEgbmF2aWdhdGlvbiBkYW5zIGxhIGxpc3RlIGRlcyBwYXF1ZXRzIChtb2RlIGxlY3R1cmUgc2V1bGVtZW50KQBJbnZhbGlkZSAlcyDCq8KgJXPCoMK7CgBBZmZlY3RhdGlvbnMgZGUgdG91Y2hlcwBDb21iaW5haXNvbnMgZGUgdG91Y2hlcwBDb21iaW5haXNvbnMgZGUgdG91Y2hlcyBwb3VyIGxhIHPDqWxlY3Rpb24gZGUgbcOpdGhvZGVzAFJlbmRyZSBsZSBzdXJsaWduYWdlIG1vaW5zIGV4cGxpY2l0ZQBSZW5kcmUgbGUgc3VybGlnbmFnZSBwbHVzIGV4cGxpY2l0ZQBTw6lsZWN0aW9ubmVyIGxlKHMpIHBhcXVldChzKSDDoCBkw6lzaW5zdGFsbGVyIGV0IHB1cmdlcgBTw6lsZWN0aW9ubmVyIGxlKHMpIHBhcXVldChzKSDDoCBkw6lzaW5zdGFsbGVyAFPDqWxlY3Rpb25uZXIgbGUocykgcGFxdWV0KHMpIMOgIGluc3RhbGxlcgBNYXJxdcOpIHBvdXIAVG91Y2hlcyBkZSBkw6lwbGFjZW1lbnTCoDogU3VpdmFudC9QcsOpY8OpZGVudCwgRMOpYnV0L0ZpbiwgSGF1dC9CYXMsIEFycmnDqHJlL0F2YW50wqA6CiBGbMOoY2hlIGJhcywgaiAgICAgICAgIEZsw6hjaGUgaGF1dCwgayAgICAgICBkw6lwbGFjZW1lbnQgZHUgc3VybGlnbmFnZQogTiwgUGFnZSBoYXV0LCBFc3BhY2UgIFAsIFBhZ2UgYmFzLCBFZmZhY2UgIGTDqWZpbGVtZW50IGxpc3RlIGQndW5lIHBhZ2UKIF5uICAgICAgICAgICAgICAgICAgICBecCAgICAgICAgICAgICAgICAgICBkw6lmaWxlbWVudCBsaXN0ZSBkJ3VuZSBsaWduZQogdCwgRMOpYnV0ICAgICAgICAgICAgICBlLCBGaW4gICAgICAgICAgICAgICBhbGxlciBhdSBkw6lidXQvZmluIGRlIGxhIGxpc3RlCiB1ICAgICAgICAgICAgICAgICAgICAgZCAgICAgICAgICAgICAgICAgICAgZmFpcmUgZMOpZmlsZXIgaW5mbyBkJ3VuZSBwYWdlCiBedSAgICAgICAgICAgICAgICAgICAgXmQgICAgICAgICAgICAgICAgICAgZmFpcmUgZMOpZmlsZXIgaW5mbyBkJ3VuZSBsaWduZQogQiwgRmzDqGNoZSBnYXVjaGUgICAgICBGLCBGbMOoY2hlIGRyb2l0ZSAgICAgZMOpcGxhY2VyIGhvcml6LiBhZmZpY2hhZ2UgZGUgMS8zIGQnw6ljcmFuCiBeYiAgICAgICAgICAgICAgICAgICAgXmYgICAgICAgICAgICAgICAgICAgZMOpcGxhY2VyIGhvcml6LiBhZmZpY2hhZ2UgZCd1biBjYXJhY3TDqHJlCgpNYXJxdWVyIGxlcyBwYXF1ZXRzIMOgIHRyYWl0ZXIgdWx0w6lyaWV1cmVtZW50wqA6CiArLCBJbnNlciAgaW5zdGFsbGVyIG91IG1ldHRyZSDDoCBuaXZlYXUgID0sIEggIG1hcnF1ZXIgwqvCoMOgIGdhcmRlcsKgwrsgKG9uIGhvbGQpCiAtLCBTdXBwciAgc3VwcHJpbWVyICAgICAgICAgICAgICAgICAgICDCoDosIEcgIG1ldHRyZSDDoCBuaXZlYXUgb3UgbGFpc3NlciBub24gaW5zdGFsbMOpCiBfICAgICAgICAgc3VwcHJpbWVyIGV0IHB1cmdlciBjb25maWcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGl2ZXJzwqA6ClF1aXR0ZXIsIHNvcnRpciwgc3VyY2hhcmdlciAoISBtYWp1c2N1bGVzKTogIMKgPywgRjEgZGVtYW5kZXIgZGUgbCdhaWRlIChBaWRlIGRlIG3Dqm1lKQogUmV0dXJuICBDb25maXJtLiBldCBxdWl0dGUuICh2w6lyaWYgZGVwZW5kLikgICAgaSwgSSAgZmFpcmUgZMOpZmlsZXIgw6ljcmFucyBkJ2luZm8KICAgUSAgICAgQ29uZmlybS4gZXQgcXVpdHRlLiAob3V0cmVwYXNzLiBkZXAucykgbywgTyAgZmFpcmUgZMOpZmlsZXIgbGVzIG9wdGlvbnMgZGUgdHJpCiBYLCBFc2MgIHNvcnRpZSwgYWJhbmRvbiBkZXMgY2hhbmdlbWVudHMgICAgICB2LCBWICBjaGFuZ2UgbGVzIG9wdGlvbnMgZCdhZmZpY2hhZ2UKICAgUiAgICAgUmV0b3VyLiDDoCBsJ8OpdGF0IHByw6ljw6hkIGNldHRlIGxpc3RlICBebCAgIHJlZGVzc2luZXIgbCdhZmZpY2hhZ2UKICAgVSAgICAgdG91dCBwb3NpdGlvbm5lciBhdXggw6l0YXRzIHN1Z2fDqXLDqXMgICAgLyAgIHJlY2hlcmNoZXIgKEVudHLDqWUgcG91ciBhbm51bGVyKQogICBEICAgICB0b3V0IHBvc2l0LiDDoCBsJ8OpdGF0IGRpcmVjdGVtLiByZXF1aXMgIFwgIHLDqXDDqXRlciBsYSBkZXJuacOocmUgcmVjaGVyY2hlCgBUb3VjaGVzIGRlIGTDqXBsYWNlbWVudMKgOiBTdWl2YW50L1Byw6ljw6lkZW50LCBEw6lidXQvRmluLCBIYXV0L0JhcywgQXJyacOocmUvQXZhbnTCoDoKICBuLCBGbMOoY2hlIGJhcywgaiAgICAgIHAsIEZsw6hjaGUgaGF1dCwgayAgICBkw6lwbGFjZW1lbnQgZHUgc3VybGlnbmFnZQogIE4sIFBhZ2UgYmFzLCBFc3BhY2UgICBQLCBQYWdlIGJhcywgRWZmYWNlICBkw6lmaWxlbWVudCBsaXN0ZSBkJ3VuZSBwYWdlCiAgXm4gICAgICAgICAgICAgICAgICAgIF5wICAgICAgICAgICAgICAgICAgIGTDqWZpbGVtZW50IGxpc3RlIGQndW5lIGxpZ25lCiAgdCwgRMOpYnV0ICAgICAgICAgICAgICBlLCBGaW4gICAgICAgICAgICAgICBhbGxlciBhdSBkw6lidXQvZmluIGRlIGxhIGxpc3RlCiAgdSAgICAgICAgICAgICAgICAgICAgIGQgICAgICAgICAgICAgICAgICAgIGZhaXJlIGTDqWZpbGVyIGluZm8gZCd1bmUgcGFnZQogIF51ICAgICAgICAgICAgICAgICAgICBeZCAgICAgICAgICAgICAgICAgICBmYWlyZSBkw6lmaWxlciBpbmZvIGQndW5lIGxpZ25lCiAgQiwgRmzDqGNoZSBnYXVjaGUgICAgICBGLCBGbMOoY2hlIGRyb2l0ZSAgICAgZMOpcGxhY2VyIGhvcml6LiBhZmZpY2hhZ2UgZGUgMS8zIGQnw6ljcmFuCiAgXmIgICAgICAgICAgICAgICAgICAgIF5mICAgICAgICAgICAgICAgICAgIGTDqXBsYWNlciBob3Jpei4gYWZmaWNoYWdlIGQndW4gY2FyYWN0w6hyZQooQ2Ugc29udCBsZXMgbcOqbWVzIHRvdWNoZXMgZGUgZMOpcGxhY2VtZW50IHF1ZSBwb3VyIGwnYWZmaWNoYWdlIGRlIGxhIGxpc3RlIGRlcyBwYXF1ZXRzLikKClF1aXR0ZXLCoDoKIEVudHLDqWUsIEVudHIgIHPDqWxlY3Rpb25uZXIgY2V0dGUgbcOpdGhvZGUgZXQgY29uZmlndXJlciBjZWxsZS1jaSBkZSBtYW5pw6hyZSBpbnRlcmFjdGl2ZQogeCwgWCAgICAgICAgICBzb3J0aXIgc2FucyBjaGFuZ2VyIG91IGNvbmZpZ3VyZXIgbGEgbcOpdGhvZGUgZCdpbnN0YWxsYXRpb24KCkRpdmVyc8KgOgogwqA/LCBIZWxwLCBGMSAgICAgZGVtYW5kZXIgZGUgbCdhaWRlCiBebCAgICAgICAgICAgICAgIHJlZGVzc2luZXIgbCdhZmZpY2hhZ2UKICAvICAgICAgICAgICAgICAgcmVjaGVyY2hlciAoYXBwdXllciBzdXIgZW50csOpZSBwb3VyIGFubnVsZXIpCiAgXCAgICAgICAgICAgICAgIHLDqXDDqXRlciBsYSBkZXJuacOocmUgcmVjaGVyY2hlCgBTZSBkw6lwbGFjZXIgdmVycyBsZSBiYXMAU2UgZMOpcGxhY2VyIHZlcnMgbGUgaGF1dABub3V2ZWF1eABQYXF1ZXRzIG5vdXZlbGxlbWVudCBkaXNwb25pYmxlcwBBdWN1bmUgZGVzY3JpcHRpb24gZGlzcG9uaWJsZS4AQXVjdW5lIGV4cGxpY2F0aW9uIG4nZXN0IGRpc3BvbmlibGUuAFNww6ljaWZpY2F0aW9uIGRlIGNvdWxldXIgbnVsbGUKAFBhcXVldHMgb2Jzb2zDqHRlcyBldCBsb2NhdXggcHLDqXNlbnRzIHN1ciBsZSBzeXN0w6htZQBvYnNvbMOodGVzL2xvY2F1eABBbmNpZW5uZSBtYXJxdWUAT3B0AG9wdGlvbm5lbHMAT3B0aW9uczoKICAtLWFkbWluZGlyIDxyw6lwZXJ0b2lyZT4gICAgVXRpbGlzZXIgPHLDqXBlcnRvaXJlPiBhdSBsaWV1IGRlICVzwqA7CiAgLS1leHBlcnQgICAgICAgICAgICAgICAgICAgQWN0aXZlciBsZSBtb2RlIGV4cGVydMKgOwogIC0tZGVidWcgPGZpY2hpZXI+IHwgLUQ8ZmljaGllcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY3RpdmVyIGxlIG1vZGUgZMOpYm9nYWdlIGV0IHJlZGlyaWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwnYWZmaWNoYWdlIGRhbnMgPGZpY2hpZXI+wqA7CiAgLS1jb2xvdXIgfCAtLWNvbG9yIHNjcmVlbnBhcnQ6W2F2YW50X3BsYW5dLFthcnJpw6hyZV9wbGFuXVs6YXR0clsrYXR0cisuLl1dCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uZmlndXJlciBsZXMgY291bGV1cnMgZCdhZmZpY2hhZ2XCoDsKCgBQYXF1ZXQAQXBwdXlleiBzdXIgPEVudHLDqWU+IHBvdXIgY29udGludWVyLgoAQXBwdXlleiBzdXLCoD8gcG91ciB1biBtZW51IGQnYWlkZSwgLiBwb3VyIGxlIHN1amV0IHN1aXZhbnQsIDxlc3BhY2U+CnBvdXIgcXVpdHRlciBsJ2FpZGUuAEFwcHV5ZXogc3VyIHVuZSBkZXMgdG91Y2hlcyBsaXN0w6llcyBjaS1kZXNzdXMsCiAgPGVzcGFjZT4gb3UgwqvCoHHCoMK7IHBvdXIgc29ydGlyIGRlIGwnYWlkZSwKICBvdSAuIHBvdXIgbGlyZSBjaGFxdWUgcGFnZSB0b3VyIMOgIHRvdXIuIABQcmlvcml0w6kAUHVyZ8OpAFBhcXVldHMgcHVyZ8OpcyBldCBjZXV4IHF1aSBuJ29udCBqYW1haXMgw6l0w6kgaW5zdGFsbMOpcwBRdWl0dGVyIGRzZWxlY3QuAFF1aXR0ZXIgc2FucyBjaGFuZ2VyIGxhIG3DqXRob2RlIGQnYWNjw6hzIHByw6ljw6lkZW1tZW50IHPDqWxlY3Rpb25uw6llAFF1aXR0ZXIgZXQgY29uZmlybWVyIHNhbnMgdsOpcmlmaWNhdGlvbgBRdWl0dGVyLCBjb25maXJtZXIgZXQgdsOpcmlmaWVyIGxlcyBkw6lwZW5kYW5jZXMAUXVpdHRlciBldCByZWZ1c2VyIGxlcyBzdWdnZXN0aW9ucyBkZSBjb25mbGl0L2TDqXBlbmRhbmNlAFLDiUlOU1RBTExFAFJlZGVzc2luZXIgbCfDqWNyYW4AU3VwcHJlc3Npb24gZGVzIGFwcGxpY2F0aW9ucyBub24gZMOpc2lyw6llcy4Ac3VwcHJpbcOpcwBQYXF1ZXRzIHN1cHByaW3DqXMgZXQgZMOpc29ybWFpcyBpbmRpc3BvbmlibGVzAFBhcXVldHMgc3VwcHJpbcOpcyAoY29uZmlndXJhdGlvbiBlbmNvcmUgcHLDqXNlbnRlKQBSw6lww6l0ZXIgbGEgZGVybmnDqHJlIHJlY2hlcmNoZS4ATsOpYwBEZW1hbmRlciBkZSBsJ2FpZGUgKGZhaXJlIGTDqWZpbGVyIGxlcyDDqWNyYW5zIGQnaW5mb3JtYXRpb24pAFPDqWxlY3Rpb24gZGVzIHBhcXVldHMgcXVlIHZvdXMgZMOpc2lyZXogYXZvaXIgc3VyIHZvdHJlIHN5c3TDqG1lLgBuw6ljZXNzYWlyZXMAUmV0b3VyIMOgIGwnw6l0YXQgYWN0dWVsbGVtZW50IGluc3RhbGzDqSBwb3VyIHRvdXMgbGVzIHBhcXVldHMAUmV0b3VyIMOgIGwnw6l0YXQgZGlyZWN0ZW1lbnQgZGVtYW5kw6kgcG91ciB0b3VzIGxlcyBwYXF1ZXRzAFJldG91ciDDoCBsJ2FuY2llbiDDqXRhdCBwb3VyIHRvdXMgbGVzIHBhcXVldHMAUmV0b3VyIMOgIGwnw6l0YXQgc3VnZ8OpcsOpIHBvdXIgdG91cyBsZXMgcGFxdWV0cwBQYXJ0aWVzIGRlIGwnw6ljcmFuwqA6CgBGYWlyZSBkw6lmaWxlciBsJ2FpZGUvaW5mb3JtYXRpb24gZW4gYXJyacOocmUARmFpcmUgZMOpZmlsZXIgbCdhaWRlL2luZm9ybWF0aW9uIGVuIGFycmnDqHJlIGxpZ25lIHBhciBsaWduZQBGYWlyZSBkw6lmaWxlciBsYSBsaXN0ZSBlbiBhcnJpw6hyZQBGYWlyZSBkw6lmaWxlciBsYSBsaXN0ZSBlbiBhcnJpw6hyZSBsaWduZSBwYXIgbGlnbmUARmFpcmUgZMOpZmlsZXIgbCdhaWRlL2luZm9ybWF0aW9uIGVuIGF2YW50AEZhaXJlIGTDqWZpbGVyIGwnYWlkZS9pbmZvcm1hdGlvbiBlbiBhdmFudCBsaWduZSBwYXIgbGlnbmUARmFpcmUgZMOpZmlsZXIgbGEgbGlzdGUgZW4gYXZhbnQARmFpcmUgZMOpZmlsZXIgbGEgbGlzdGUgZW4gYXZhbnQgbGlnbmUgcGFyIGxpZ25lAFJlY2hlcmNoZXLCoD8AUmVjaGVyY2hlciB1biBwYXF1ZXQgZG9udCBsZSBub20gY29udGllbnQgdW5lIGNoYcOubmUgcGFydGljdWxpw6hyZQBTZWN0aW9uAFPDqWxlY3Rpb25uZXIgbGEgbcOpdGhvZGUgZCdhY2PDqHMgYWN0dWVsbGVtZW50IHN1cmxpZ27DqWUAUG9zaXRpb25uZXogY29ycmVjdGVtZW50IHZvdHJlIHZhcmlhYmxlIFRFUk0sIHV0aWxpc2V6CnVuIG1laWxsZXVyIHRlcm1pbmFsIG91IGNvbnRlbnRlei12b3VzIGQndW5lIGluc3RhbGxhdGlvbgpwYXF1ZXQgcGFyIHBhcXVldCBhdmVjIGwnb3V0aWwgZGUgZ2VzdGlvbiBkZSBwYXF1ZXRzICVzLgoAc3RhbmRhcmQAU3RkAMOJY2hhbmdlciBsJ29yZHJlIGR1IHRyaSBwcmlvcml0w6kvc2VjdGlvbgBJbCBzZW1ibGUgcXVlIHZvdHJlIHRlcm1pbmFsIG5lIHN1cHBvcnRlIHBhcyBsYSBnZXN0aW9uIGR1IGN1cnNldXIKAElsIHNlbWJsZSBxdWUgdm90cmUgdGVybWluYWwgbmUgc3VwcG9ydGUgcGFzIGxlIHN1cmxpZ25hZ2UKAExhIGxpZ25lIHF1ZSB2b3VzIGF2ZXogc3VybGlnbsOpZSByZXByw6lzZW50ZSBwbHVzaWV1cnMgcGFxdWV0c8KgOyBzaSB2b3VzIGRlbWFuZGV6IHVuZSBpbnN0YWxsYXRpb24sIHVuZSBzdXBwcmVzc2lvbiBvdSB1bmUgcHLDqXNlcnZhdGlvbiwgY2VsYSBhZmZlY3RlcmEgdG91cyBsZXMgcGFxdWV0cyBxdWkgY29ycmVzcG9uZGVudCBhdSBjcml0w6hyZSBhZmZpY2jDqS4KClNpIHZvdXMgZMOpcGxhY2V6IGxlIHN1cmxpZ25hZ2Ugc3VyIGxhIGxpZ25lIGQndW4gcGFxdWV0IHBhcnRpY3VsaWVyLCB2b3VzIHZlcnJleiBzJ2FmZmljaGVyIGljaSBsZXMgaW5mb3JtYXRpb25zIHF1aSBjb25jZXJuZW50IGNlIHBhcXVldC4KVm91cyBwb3V2ZXogdXRpbGlzZXIgwqvCoG/CoMK7IGV0IMKrwqBPwqDCuyBwb3VyIGNoYW5nZXIgbGUgY3JpdMOocmUgZGUgdHJpIGNlIHF1aSB2b3VzIHBlcm1ldCBkZSBtYXJxdWVyIGRlcyBwYXF1ZXRzIGFwcGFydGVuYW50IMOgIGRlcyBncm91cGVzIGRlIHR5cGVzIGRpZmbDqXJlbnRzLgBMYSBtb2l0acOpIHN1cMOpcmlldXJlIGRlIGwnw6ljcmFuIGFmZmljaGUgbGEgbGlzdGUgZGVzIHBhcXVldHMuIENoYXF1ZSBwYXF1ZXQKZXN0IHByw6lzZW50w6kgc3VpdmFudCA0IGNvbG9ubmVzIHBvdXIgZXhwcmltZXIgc29uIMOpdGF0IGFjdHVlbCBzdXIgbGUKc3lzdMOobWUgZXQgc29uIG1hcnF1YWdlLiBFbiBtb2RlIGNvbmNpcyAodXRpbGlzZXogwqvCoHbCoMK7IHBvdXIgcGFzc2VyIGVuIG1vZGUKZCdhZmZpY2hhZ2UgdmVyYmV1eCkgZGVzIGNhcmFjdMOocmVzIHNpbXBsZXMgc29udCBhZmZpY2jDqXMsIGRlIGdhdWNoZSDDoApkcm9pdGXCoDoKCiBEcmFwZWF1IGQnZXJyZXVywqA6ICAgICBFc3BhY2UgICAtIGF1Y3VuZSBlcnJldXIgKG1haXMgbGUgcGFxdWV0IHBldXQgw6p0cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYW5zIHVuIMOpdGF0IGVuZG9tbWFnw6kgLSB2b2lyIGNpLWRlc3NvdXMpCiAgICAgICAgICAgICAgICAgICAgICAgIMKrwqBSwqDCuyAgICAtIHPDqXJpZXV4IHByb2Jsw6htZXMgbG9ycyBkZSBsJ2luc3RhbGxhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuw6ljZXNzaXRlIHVuZSByw6lpbnN0YWxsYXRpb27CoDsKIMOJdGF0IGQnaW5zdGFsbGF0aW9uwqA6ICBFc3BhY2UgICAtIG5vbiBpbnN0YWxsw6nCoDsKICAgICAgICAgICAgICAgICAgICAgICAgwqvCoCrCoMK7ICAgIC0gaW5zdGFsbMOpwqA7CiAgICAgICAgICAgICAgICAgICAgICAgIMKrwqAtwqDCuyAgICAtIG5vbiBpbnN0YWxsw6kgbWFpcyBsZXMgZmljaGllcnMgZGUgY29uZmlnIHJlc3RlbnTCoDsKICAgICAgbGVzIHBhcXVldHMgZGFucyB7IMKrwqBVwqDCuyAgIC0gZMOpcGFxdWV0w6kgbWFpcyBwYXMgZW5jb3JlIGNvbmZpZ3Vyw6nCoDsKICAgICAgICAgIGNlcyDDqXRhdHMgICAgeyDCq8KgQ8KgwrsgICAtIHBhcnRpZWxsZW1lbnQgY29uZmlndXLDqSAodW5lIGVycmV1ciBlc3Qgc3VydmVudWUpwqA7CiAgICAgIHNvbnQgZW5kb21tYWfDqXMgIHsgwqvCoEnCoMK7ICAgLSBwYXJ0aWVsbGVtZW50IGluc3RhbGzDqSAodW5lIGVycmV1ciBlc3Qgc3VydmVudWUpLgogQW5jaWVuIG1hcnF1YWdlwqA6IGNlIHF1aSDDqXRhaXQgZMOpc2lyw6kgY29uY2VybmFudCBsZSBwYXF1ZXQgYXZhbnQgZGUgcHLDqXNlbnRlciBjZXR0ZSBsaXN0ZcKgOwogTWFycXVhZ2XCoDogY2UgcXVlIGwnb24gZMOpc2lyZSBmYWlyZSBkZSBjZSBwYXF1ZXTCoDoKICDCq8KgKsKgwrvCoDogbWFycXXDqSBwb3VyIHVuZSBpbnN0YWxsYXRpb24gb3UgdW5lIG1pc2Ugw6Agbml2ZWF1wqA7CiAgwqvCoC3CoMK7wqA6IG1hcnF1w6kgcG91ciB1bmUgc3VwcHJlc3Npb24sIG1haXMgdG91cyBsZXMgZmljaGllcnMgZGUgY29uZmlndXJhdGlvbiB2b250IHJlc3RlcsKgOwogIMKrwqA9wqDCu8KgOiDDoCBnYXJkZXIgKG9uIGhvbGQpwqA6IGxlIHBhcXVldCBuZSBzZXJhIHBhcyBkdSB0b3V0IHRyYWl0w6nCoDsKICDCq8KgX8KgwrvCoDogbWFycXXDqSBwb3VyIHVuZSBwdXJnZSB0b3RhbGUgLSBtw6ptZSBsYSBjb25maWd1cmF0aW9uIHNlcmEgc3VwcHJpbcOpZcKgOwogIMKrwqBuwqDCu8KgOiBsZSBwYXF1ZXQgZXN0IG5vdXZlYXUgZXQgbidhIHBhcyBlbmNvcmUgw6l0w6kgbWFycXXDqSBwb3VyIMOqdHJlIGluc3RhbGzDqS9zdXBwcmltw6kvZXRjLgoKU29udCBhdXNzaSBhZmZpY2jDqXMgcG91ciBjaGFxdWUgcGFxdWV0IGxhIFByaW9yaXTDqSwgbGEgU2VjdGlvbiwgbGUgbm9tLCBsZXMKbnVtw6lyb3MgZGUgdmVyc2lvbnMgaW5zdGFsbMOpZSBldCBkaXNwb25pYmxlIChzaGlmdC1WIHBvdXIgYWZmaWNoZXIvY2FjaGVyKQpldCB1bmUgZGVzY3JpcHRpb24gcsOpc3Vtw6llLgoASWwgbidleGlzdGUgcGFzIGRlIHBhcXVldHMuAENlIHByb2dyYW1tZSBlc3QgdW4gbG9naWNpZWwgbGlicmXCoDsgcHJpw6hyZSBkZSBjb25zdWx0ZXIgbGEgwqvCoEdOVSBHZW5lcmFsClB1YmxpYyAgTGljZW5zZcKgwrsgdmVyc2lvbiAyIG91IHN1cMOpcmlldXJlIHBvdXIgcHJlbmRyZSBjb25uYWlzc2FuY2UgZGVzCmNvbmRpdGlvbnMgZGUgcmVwcm9kdWN0aW9uLiBBVUNVTkUgZ2FyYW50aWUgbidlc3Qgb2ZmZXJ0ZS4KAFRhcGVyIGRzZWxlY3QgLS1oZWxwIHBvdXIgb2J0ZW5pciB1bmUgYWlkZS4ATm9uIGNsYXNzw6kAUGFxdWV0cyDDoCBqb3VyIGluc3RhbGzDqXMAw6Agam91cgBNaXNlIMOgIGpvdXIgZGUgbCdpbmZvcm1hdGlvbiBzdXIgbGVzIHBhcXVldHMgZGlzcG9uaWJsZXMsIHNpIHBvc3NpYmxlLgBtaXMgw6Agam91cgBQYXF1ZXRzIG1pcyDDoCBqb3VyICh1bmUgdmVyc2lvbiBwbHVzIHLDqWNlbnRlIGVzdCBkaXNwb25pYmxlKQBTeW50YXhlIDogJXMgWzxvcHRpb24+IC4uLl0gWzxhY3Rpb24+IC4uLl0KCgBCaWVudmVudWUgZGFucyBsYSBsaXN0ZSBwcmluY2lwYWxlIGRlcyBwYXF1ZXRzLgoKSWwgdmEgdm91cyDDqnRyZSBwcsOpc2VudMOpIHVuZSBsaXN0ZSBkZXMgcGFxdWV0cyBxdWkgc29udCBpbnN0YWxsw6lzIG91IHF1aQpwZXV2ZW50IMOqdHJlIGluc3RhbGzDqXMuIMOJdGFudCBkb25uw6kgcXVlIHZvdXMgbmUgZGlzcG9zZXogcGFzIGR1IHByaXZpbMOoZ2UKbsOpY2Vzc2FpcmUgw6AgbGEgbWlzZSDDoCBqb3VyIGRlIGwnw6l0YXQgZGVzIHBhcXVldHMsIGxhIGxpc3RlIGVzdCBlbiBsZWN0dXJlCnNldWxlLiBQb3VyIHBvdXZleiBuYXZpZ3VlciBhdSBzZWluIGRlIGxhIGxpc3RlIGF1IG1veWVuIGRlcyB0b3VjaGVzIGRlCmN1cnNldXIgKHZvaXIgbCfDqWNyYW4gZCdhaWRlIHN1ciBsZXMgY29tYmluYWlzb25zIGRlIHRvdWNoZXMpLCBldCBjb25zdWx0ZXIKbGVzIGluZm9ybWF0aW9ucyBsZXMgY29uY2VybmFudC4KCk5vdXMgdm91cyBjb25zZWlsbG9ucyBkZSBwcmVuZHJlIGNvbm5haXNzYW5jZSBkZSBsYSBsaXN0ZSBkZXMgdG91Y2hlcyBldApkZXMgZXhwbGljYXRpb25zIHF1YW50IMOgIGwnYWZmaWNoYWdlLiBVbmUgZ3JhbmRlIHF1YW50aXTDqSBkJ2FpZGUgZW4gbGlnbmUKZXN0IGRpc3BvbmlibGUsIG4naMOpc2l0ZXogcGFzIMOgIHZvdXMgZW4gc2VydmlywqAhIEFwcHV5ZXogc3VyIMKrwqA/wqDCuyDDoCB0b3V0Cm1vbWVudCBwb3VyIG9idGVuaXIgZGUgbCdhaWRlLgoKUXVhbmQgdm91cyBhdmV6IGZpbmkgZGUgcGFyY291cmlyIGxhIGxpc3RlLCBhcHB1eWV6IHN1ciDCq8KgUcKgwrsgb3UgPGVudHLDqWU+IHBvdXIKcXVpdHRlci4KCkFwcHV5ZXogc3VyIDxlc3BhY2U+IHBvdXIgcXVpdHRlciBsJ2FpZGUgZXQgYWNjw6lkZXIgw6AgbGEgbGlzdGUuCgBCaWVudmVudWUgZGFucyBsYSBsaXN0ZSBwcmluY2lwYWxlIGRlcyBwYXF1ZXRzLgoKSWwgdmEgdm91cyDDqnRyZSBwcsOpc2VudMOpIHVuZSBsaXN0ZSBkZXMgcGFxdWV0cyBxdWkgc29udCBpbnN0YWxsw6lzIG91IHF1aQpwZXV2ZW50IMOqdHJlIGluc3RhbGzDqXMuIFZvdXMgcG91dmV6IG5hdmlndWVyIGF1IHNlaW4gZGUgbGEgbGlzdGUgYXZlYyBsZXMKdG91Y2hlcyBkdSBjdXJzZXVyLCBtYXJxdWVyIGxlcyBwYXF1ZXRzIMOgIGluc3RhbGxlciAoYXZlYyDCq8KgK8KgwrspIG91CmTDqXNpbnN0YWxsZXIgKGF2ZWMgwqvCoC3CoMK7KS4KTGVzIHBhcXVldHMgcGV1dmVudCDDqnRyZSBtYXJxdcOpcyBzb2l0IGluZGl2aWR1ZWxsZW1lbnQgc29pdCBwYXIgZ3JvdXBlwqA7CmluaXRpYWxlbWVudCB2b3VzIG5vdGVyZXogcXVlIGxhIGxpZ25lIMKrwqBUb3VzIGxlcyBwYXF1ZXRzwqDCuyBlc3QKc8OpbGVjdGlvbm7DqWUuICDCq8KgK8KgwrssIMKrwqAtwqDCuyBldCBhdXRyZXMgYWZmZWN0ZXJvbnQgYWxvcnMgdG91cyBsZXMgcGFxdWV0cwpkw6ljcml0cyBwYXIgbGEgbGlnbmUgc3VybGlnbsOpZS4KCkNlcnRhaW5zIGRlIHZvcyBjaG9peCBlbnRyYcOubmVyb250IGRlcyBwcm9ibMOobWVzIGRlIGNvbmZsaXQgb3UgZGUKZMOpcGVuZGFuY2XCoDsgaWwgdm91cyBzZXJhIHByb3Bvc8OpIHVuZSBzb3VzLWxpc3RlIGRlIHBhcXVldHMgcGVydGluZW50cywgZGUKbWFuacOocmUgw6AgY2UgcXVlIHZvdXMgcHVpc3NpZXogcsOpc291ZHJlIGNlcyBwcm9ibMOobWVzLgoKVm91cyBkZXZyaWV6IGxpcmUgbGEgbGlzdGUgZGVzIHRvdWNoZXMgZGlzcG9uaWJsZXMgZXQgbGVzIGV4cGxpY2F0aW9ucyBzdXIKbCdhZmZpY2hhZ2UuIFVuZSBncmFuZGUgcXVhbnRpdMOpIGQnYWlkZSBlbiBsaWduZSBlc3QgZGlzcG9uaWJsZSwgdmV1aWxsZXoKbCd1dGlsaXNlci4gQXBwdXlleiBzdXIgwqvCoD/CoMK7IMOgIG4naW1wb3J0ZSBxdWVsIG1vbWVudCBwb3VyIG9idGVuaXIgZGUKbCdhaWRlLgoKTG9yc3F1ZSB2b3VzIHNlcmV6IHNhdGlzZmFpdHMgZGUgdm9zIGNob2l4IHZvdXMgbidhdXJleiBxdSfDoCBhcHB1eWVyIHN1cgpFbnRyw6llIHBvdXIgY29uZmlybWVyIHZvcyBjaGFuZ2VtZW50cyBldCBxdWl0dGVyIGxhIGxpc3RlIGRlcyBwYXF1ZXRzLCBvdQpzdXIgwqvCoFjCoMK7IHBvdXIgcXVpdHRlciBsYSBsaXN0ZSBzYW5zIGVucmVnaXN0cmVyIHZvcyBjaGFuZ2VtZW50cy4gVW5lCnbDqXJpZmljYXRpb24gZmluYWxlIGRlcyBjb25mbGl0cyBldCBkZXMgZMOpcGVuZGFuY2VzIHNlcmEgZWZmZWN0dcOpZSAtIGljaQphdXNzaSB2b3VzIHZlcnJleiBwZXV0LcOqdHJlIHVuZSBzb3VzLWxpc3RlLgoKQXBwdXlleiBzdXIgPGVzcGFjZT4gcG91ciBxdWl0dGVyIGwnYWlkZSBldCB2b2lyIGxhIGxpc3RlLgoAU3VwAFtBXWNjw6lkZXIAW0Ndb25maWd1cmVyAFtJXW5zdGFsbGVyAFtRXXVpdHRlcgBbUl1ldGlyZXIAW1Ndw6lsZWN0aW9ubmVyAFtNXWlzZSDDoCBqb3VyAFtwYXMgZGUgY29ycmVzcG9uZGFuY2VdAFtpbmNvbm51wqA6ICVkXQBhAGF0dGVudGUgZHUgdHJhaXRlbWVudCBkdSBkw6ljbGVuY2hldXIgKMKrwqB0cmlnZ2VywqDCuykAQm9nAGNhc3NlAGMAY291bGV1cgBhdHRyaWJ1dCBkZSBjb3VsZXVyAGVudHJlIGVuIGNvbmZsaXQgYXZlYwBpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgZGUgZMOpYm9nYWdlIMKrwqAlLjI1NXPCoMK7CgBkw6lwZW5kIGRlAMOpY2hlYyBkZSBkb3VwZGF0ZQDDqWNoZWMgZGUgZG91cGRhdGUgZGFucyBsZSBnZXN0aW9ubmFpcmUgZGUgU0lHV0lOQ0gAZHNlbGVjdCAtIGluc3BlY3Rpb24gZGUgbCfDqXRhdCBkZXMgcGFxdWV0cwBkc2VsZWN0IC0gbGlzdGUgZGVzIG3DqXRob2RlcyBkJ2FjY8OocwBkc2VsZWN0IC0gbGlzdGUgcHJpbmNpcGFsZSBkZXMgcGFxdWV0cwBkc2VsZWN0IC0gbGlzdGUgZGVzIHBhcXVldHMgcsOpY3Vyc2l2ZQBkc2VsZWN0IGV0IGRwa2cgcGV1dmVudCBlZmZlY3R1ZXIgdW5lIGluc3RhbGxhdGlvbiBhdXRvbWF0aXF1ZSwgY2hhcmdlciBsZXMKcGFxdWV0cyDDoCBpbnN0YWxsZXIgZGVwdWlzIGwndW4gZGVzIG5vbWJyZXV4IGVuZHJvaXRzIHBvc3NpYmxlcy4KCkNldHRlIGxpc3RlIHZvdXMgcGVybWV0IGRlIGNob2lzaXIgbCd1bmUgZGUgY2VzIG3DqXRob2RlcyBkJ2luc3RhbGxhdGlvbi4KCkTDqXBsYWNleiBsZSBzdXJsaWduYWdlIHN1ciBsYSBtw6l0aG9kZSBxdWUgdm91cyBzb3VoYWl0ZXogdXRpbGlzZXIsIGV0CmFwcHV5ZXogc3VyIEVudHLDqWUuIElsIHZvdXMgc2VyYSBlbnN1aXRlIGRlbWFuZMOpIGRlcyBpbmZvcm1hdGlvbnMKbsOpY2Vzc2FpcmVzIMOgIGwnaW5zdGFsbGF0aW9uLgoKUXVhbmQgdm91cyBkw6lwbGFjZXogbGUgc3VybGlnbmFnZSwgdW5lIGRlc2NyaXB0aW9uIGRlIGNoYXF1ZSBtw6l0aG9kZSwgc2kKZGlzcG9uaWJsZSwgZXN0IGFmZmljaMOpZSBzdXIgbGEgcGFydGllIGluZsOpcmlldXJlIGRlIGwnw6ljcmFuLgoKU2kgdm91cyBzb3VoYWl0ZXogcXVpdHRlciBzYW5zIHJpZW4gY2hhbmdlciwgdXRpbGlzZXogbGEgdG91Y2hlIMKrwqB4wqDCuyBxdWFuZAp2b3VzIMOqdGVzIHBvc2l0aW9ubsOpIHN1ciBsYSBsaXN0ZSBkZXMgbcOpdGhvZGVzIGQnaW5zdGFsbGF0aW9uLgoKVW5lIGxpc3RlIGNvbXBsw6h0ZSBkZXMgY29tYmluYWlzb25zIGRlIHRvdWNoZXMgZXN0IGRpc3BvbmlibGUgZW4gYXBwdXlhbnQKaWNpIHN1ciDCq8Kga8KgwrssIG91IGRlcHVpcyBsZSBtZW51IGQnYWlkZSBhY2Nlc3NpYmxlIGVuIGFwcHV5YW50IHN1ciDCq8KgP8KgwrsuCgBhbcOpbGlvcmUAZXJyZXVyIHN1cnZlbnVlIHBlbmRhbnQgbCfDqWNyaXR1cmUgZHUgZmljaGllciBkZXMgb3B0aW9ucyBkZSBtw6l0aG9kZSDCq8KgJS4yNTBzwqDCuwBlcnJldXIgc3VydmVudWUgcGVuZGFudCBsYSBsZWN0dXJlIGR1IGZpY2hpZXIgZGUgZGVzY3JpcHRpb24gZCdvcHRpb24gYCUuMjUwc8KgwrsARXJyZXVyIGRhbnMgbCdleHByZXNzaW9uIHJhdGlvbm5lbGxlAGVycmV1ciByZW5jb250csOpZSBsb3JzIGRlIGxhIGxlY3R1cmUgZHUgbWVzc2FnZSBkJ2FjcXVpdHRlbWVudCBwcm9kdWl0IHBhciBsJ8OpY2hlYyBkdSBwcm9ncmFtbWUAZXJyZXVyIGRlIGxlY3R1cmUgZHUgY2xhdmllciBkYW5zIGwnYWlkZQBlcnJldXIgZGUgbGVjdHVyZSBzdXIgbGUgZmljaGllciBkZXMgb3B0aW9ucyDCq8KgJS4yNTBzwqDCuwBpbXBvc3NpYmxlIGQnYWxsb3VlciB1bmUgcGFpcmUgZGUgY291bGV1cnMAaW1wb3NzaWJsZSBkZSBibG9xdWVyIFNJR1dJTkNIAGltcG9zc2libGUgZGUgY3LDqWVyIGxhIHpvbmUgZGUgbGlzdGUgZGUgYmFzZQBpbXBvc3NpYmxlIGRlIGNyw6llciBsYSB6b25lIGQnZW4tdMOqdGUAaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGEgem9uZSBkJ2luZm8AaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGEgZmVuw6p0cmUgZGUgcmVxdcOqdGUAaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGEgem9uZSBkJ8OpdGF0AGltcG9zc2libGUgZGUgY3LDqWVyIGxhIGZlbsOqdHJlIGRlIHRpdHJlAGltcG9zc2libGUgZGUgY3LDqWVyIGxhIGZlbsOqdHJlIGQnw6AgcHJvcG9zAGltcG9zc2libGUgZGUgcsOpY3Vww6lyZXIgbCdhbmNpZW4gc2lnYWN0IGRlIFNJR1dJTkNIAGltcG9zc2libGUgZGUgcsOpY3Vww6lyZXIgbCdhbmNpZW4gbWFzcXVlIGRlIHNpZ25hbADDqWNoZWMgZGUgwqvCoGdldGNowqDCuyBkYW5zIGxlIG1lbnUgcHJpbmNpcGFsAMOpY2hlYyBkdSByZWJsb2NhZ2UgZGUgU0lHV0lOQ0gAw6ljaGVjIGRlIGxhIGxlY3R1cmUgZHUgZmljaGllciBkZSBkZXNjcmlwdGlvbiBkJ29wdGlvbiDCq8KgJS4yNTBzwqDCuwBpbXBvc3NpYmxlIGRlIHLDqWluc3RhbGxlciBsJ2FuY2llbiBzaWdhY3QgZGUgU0lHV0lOQ0gAaW1wb3NzaWJsZSBkZSByw6lpbnN0YWxsZXIgbCdhbmNpZW4gbWFzcXVlIGRlIHNpZ25hbABpbXBvc3NpYmxlIGRlIHBvc2l0aW9ubmVyIGxlIG5vdXZlYXUgc2lnYWN0IGRlIFNJR1dJTkNIAMOpY2hlYyBkdSBkw6libG9jYWdlIGRlIFNJR1dJTkNIAMOpY2hlYyBkZSDCq8KgZ2V0Y2jCoMK7AHNlbWktY29uZmlndXLDqSAow6ljaGVjIGRlIGxhIGNvbmZpZ3VyYXRpb24pAHBhcnRpZWxsZW1lbnQgaW5zdGFsbMOpAGdhcmRlcgBpAGNoYcOubmUgZCdpbmRleCB0cm9wIGxvbmd1ZQBpbnN0YWxsZXIAc2NyaXB0IGQnaW5zdGFsbGF0aW9uAGluc3RhbGzDqQBPcHRpb24gZGUgcmVjaGVyY2hlIGRvbm7DqWUgaW52YWxpZGUAw6ljaGVjIGRlIMKrwqBpb2N0bChUSU9DR1dJTlNaKcKgwrsAbWVudQBsZSBub20gZGUgbGEgbcOpdGhvZGUgwqvCoCUuMjUwc8KgwrsgZXN0IHRyb3AgbG9uZyAoICVkID4gJWQgY2FyYWN0w6hyZXMpAG5vdXZlYXUgcGFxdWV0AHNhdXQgZGUgbGlnbmUgcHLDqWPDqWRlbnQgbGUgZMOpYnV0IGR1IG5vbSBkZSBsJ29wdGlvbgBzYXV0IGRlIGxpZ25lIHByw6ljw6lkYW50IGxlIHLDqXN1bcOpAGNhcmFjdMOocmUgbm9uIGFscGhhbnVtw6lyaXF1ZSBkYW5zIGxlIG5vbSBkJ29wdGlvbgBjYXJhY3TDqHJlIG5vbiBudW3DqXJpcXVlIHJlbmNvbnRyw6kgYWxvcnMgcXUndW4gY2FyYWN0w6hyZSBudW3DqXJpcXVlIGVzdCBhdHRlbmR1AGNhcmFjdMOocmUgbm9uIGFscGhhbnVtw6lyaXF1ZSByZW5jb250csOpIMOgIGwnZW5kcm9pdCBvw7kgbGUgbm9tIGQnb3B0aW9uIGRldnJhaXQgY29tbWVuY2VyAG5vbiBpbnN0YWxsw6kAcHLDqS1kw6lwZW5kIGRlAGZvdXJuaXQAcHVyZ2VyAHEAc2NyaXB0IGRlIHJlcXXDqnRlL2NvbmZpZ3VyYXRpb24AcgByZWNvbW1hbmRlAHN1cHByaW1lcgBzdXBwcmltw6kgKGxhIGNvbmZpZ3VyYXRpb24gcmVzdGUpAHJlbXBsYWNlAHMAUGFydGllIGRlIGwnw6ljcmFuAHN1Z2fDqHJlAGVycmV1ciBkZSBzeW50YXhlIGRhbnMgbGUgZmljaGllciBkZXMgb3B0aW9ucyBkZSBtw6l0aG9kZSDCq8KgJS4yNTBzwqDCuyAtLSAlcwBJbCBtYW5xdWUgZCdpbXBvcnRhbnRlcyBmb25jdGlvbm5hbGl0w6lzIGF1IHRlcm1pbmFsLCBhYmFuZG9uAGTDqWNsZW5jaMOpAG0AaW1wb3NzaWJsZSBkJ2FjY8OpZGVyIGF1IHNjcmlwdCBkZSBtw6l0aG9kZSDCq8KgJS4yNTBzwqDCuwBpbXBvc3NpYmxlIGRlIGZlcm1lciB1biBub3V2ZWF1IGZpY2hpZXIgZCdvcHRpb24gwqvCoCUuMjUwc8KgwrsAaW1wb3NzaWJsZSBkJ2luc3RhbGxlciB1bmUgbm91dmVsbGUgb3B0aW9uIGNvbW1lIMKrwqAlLjI1MHPCoMK7AGltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciBkJ29wdGlvbiBjb3VyYW50IMKrwqAlLjI1MHPCoMK7AGltcG9zc2libGUgZCdvdXZyaXIgdW4gbm91dmVhdSBmaWNoaWVyIGQnb3B0aW9uIMKrwqAlLjI1MHPCoMK7AGltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciBkZSBkZXNjcmlwdGlvbiBkJ29wdGlvbiDCq8KgJS4yNTBzwqDCuwBpbXBvc3NpYmxlIGRlIGxpcmUgbGUgcsOpcGVydG9pcmUgwqvCoCUuMjUwc8KgwrsgcG91ciByw6ljdXDDqXJlciBsZXMgbcOpdGhvZGVzAGltcG9zc2libGUgZGUgbGlyZSBsZSBmaWNoaWVyIGRlcyBvcHRpb25zIGRlIG3DqXRob2RlIMKrwqAlLjI1MHPCoMK7AGltcG9zc2libGUgZCdhbmFseXNlciBsZSBub3V2ZWF1IGZpY2hpZXIgZGUgZGVzY3JpcHRpb24gZCdvcHRpb24gwqvCoCUuMjUwc8KgwrsAaW1wb3NzaWJsZSBkJ8OpY3JpcmUgdW5lIG5vdXZlbGxlIG9wdGlvbiBkYW5zIMKrwqAlLjI1MHPCoMK7AGNoYcOubmUgZCdhY3Rpb24gaW5jb25udWUgwqvCoCUuNTBzwqDCuwBkw6ljb21wYWN0w6kgKG5vbiBjb25maWd1csOpKQBtaXNlIMOgIGpvdXIgZHUgc2NyaXB0IGRlIGxpc3RlIGRpc3BvbmlibGUA