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OwpQcmVzcyA8ZW50ZXI+IHRvIGNvbmZpcm0gc2VsZWN0aW9uLiAgIF5MIHJlZHJhd3Mgc2NyZWVuLgoKAAoKUmVhZC1vbmx5IGFjY2Vzczogb25seSBwcmV2aWV3IG9mIHNlbGVjdGlvbnMgaXMgYXZhaWxhYmxlIQAKUHJlc3MgPGVudGVyPiB0byBjb250aW51ZS4AIAAgIC0tICVkJSUsIHByZXNzIAAgKGFscGhhYmV0aWNhbGx5KQAgKGF2YWlsLiwgcHJpb3JpdHkpACAoYXZhaWwuLCBzZWN0aW9uKQAgKGJ5IGF2YWlsYWJpbGl0eSkAIChieSBwcmlvcml0eSkAIChieSBzZWN0aW9uKQAgKGJ5IHN0YXR1cykAIChzdGF0dXMsIHByaW9yaXR5KQAgKHN0YXR1cywgc2VjdGlvbikAIGRvZXMgbm90IGFwcGVhciB0byBiZSBhdmFpbGFibGUKACBtYXJrOisvPS8tIHRlcnNlOnYgaGVscDo/ACBtYXJrOisvPS8tIHZlcmJvc2U6diBoZWxwOj8AIG9yIAAgdGVyc2U6diBoZWxwOj8AIHZlcmJvc2U6diBoZWxwOj8AIUJ1ZyEAJS0qcyAlcyVzJXM7ICAlcyAod2FzOiAlcykuICAlcwAlcyAlcyBwYWNrYWdlcwAlcyAlcyBwYWNrYWdlcyBpbiBzZWN0aW9uICVzACVzICVzIHBhY2thZ2VzIHdpdGhvdXQgYSBzZWN0aW9uACVzIGZvciBtb3JlACVzIHBhY2thZ2VzIGluIHNlY3Rpb24gJXMAJXMgcGFja2FnZXMgd2l0aG91dCBhIHNlY3Rpb24AJXMgdG8gZ28gYmFjawAqIEhpZ2hsaWdodDogT25lIGxpbmUgaW4gdGhlIHBhY2thZ2UgbGlzdCB3aWxsIGJlIGhpZ2hsaWdodGVkLiAgSXQgaW5kaWNhdGVzCiAgd2hpY2ggcGFja2FnZShzKSB3aWxsIGJlIGFmZmVjdGVkIGJ5IHByZXNzZXMgb2YgYCsnLCBgLScgYW5kIGBfJy4KCiogVGhlIGRpdmlkaW5nIGxpbmUgaW4gdGhlIG1pZGRsZSBvZiB0aGUgc2NyZWVuIHNob3dzIGEgYnJpZWYgZXhwbGFuYXRpb24gb2YKICB0aGUgc3RhdHVzIG9mIHRoZSBjdXJyZW50bHktaGlnaGxpZ2h0ZWQgcGFja2FnZSwgb3IgYSBkZXNjcmlwdGlvbiBvZiB3aGljaAogIGdyb3VwIGlzIGhpZ2hsaWdodGVkIGlmIGEgZ3JvdXAgbGluZSBpcy4gIElmIHlvdSBkb24ndCB1bmRlcnN0YW5kIHRoZQogIG1lYW5pbmcgb2Ygc29tZSBvZiB0aGUgc3RhdHVzIGNoYXJhY3RlcnMgZGlzcGxheWVkLCBnbyB0byB0aGUgcmVsZXZhbnQKICBwYWNrYWdlIGFuZCBsb29rIGF0IHRoaXMgZGl2aWRlciBsaW5lLCBvciB1c2UgdGhlIGB2JyBrZXkgZm9yIGEgdmVyYm9zZQogIGRpc3BsYXkgKHByZXNzIGB2JyBhZ2FpbiB0byBnbyBiYWNrIHRvIHRoZSB0ZXJzZSBkaXNwbGF5KS4KCiogVGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuIHNob3dzIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlCiAgY3VycmVudGx5LWhpZ2hsaWdodGVkIHBhY2thZ2UgKGlmIHRoZXJlIGlzIG9ubHkgb25lKS4KCiAgSXQgY2FuIHNob3cgYW4gZXh0ZW5kZWQgZGVzY3JpcHRpb24gb2YgdGhlIHBhY2thZ2UsIHRoZSBpbnRlcm5hbCBwYWNrYWdlCiAgY29udHJvbCBkZXRhaWxzIChlaXRoZXIgZm9yIHRoZSBpbnN0YWxsZWQgb3IgYXZhaWxhYmxlIHZlcnNpb24gb2YgdGhlCiAgcGFja2FnZSksIG9yIGluZm9ybWF0aW9uIGFib3V0IGNvbmZsaWN0cyBhbmQgZGVwZW5kZW5jaWVzIGludm9sdmluZyB0aGUKICBjdXJyZW50IHBhY2thZ2UgKGluIGNvbmZsaWN0L2RlcGVuZGVuY3kgcmVzb2x1dGlvbiBzdWJsaXN0cykuCgogIFVzZSB0aGUgYGknIGtleSB0byBjeWNsZSB0aHJvdWdoIHRoZSBkaXNwbGF5cywgYW5kIGBJJyB0byBoaWRlIHRoZQogIGluZm9ybWF0aW9uIGRpc3BsYXkgb3IgZXhwYW5kIGl0IHRvIHVzZSBhbG1vc3QgYWxsIG9mIHRoZSBzY3JlZW4uCgA/AEFiYnJldi4AQWJvcnQgLSBxdWl0IHdpdGhvdXQgbWFraW5nIGNoYW5nZXMAQWNjZXNzIG1ldGhvZCBgJXMnLgBBbGwAQWxsIHBhY2thZ2VzAEF0dHJpYnV0ZXM6CgBBdmFpbC52ZXIAQXZhaWxhYmxlAEF2YWlsYWJsZSBwYWNrYWdlcyAobm90IGN1cnJlbnRseSBpbnN0YWxsZWQpAEJyb2tlbgBCcm9rZW5seSBpbnN0YWxsZWQgcGFja2FnZXMAQ2hvb3NlIHRoZSBhY2Nlc3MgbWV0aG9kIHRvIHVzZS4AQ29sb3VyczoKAENvbmZpZ3VyZSBhbnkgcGFja2FnZXMgdGhhdCBhcmUgdW5jb25maWd1cmVkLgBDeWNsZSB0aHJvdWdoIGluZm9ybWF0aW9uIGRpc3BsYXlzAERlcGVuZGVuY3kvY29uZmxpY3QgcmVzb2x1dGlvbiAtIGludHJvZHVjdGlvbi4KCk9uZSBvciBtb3JlIG9mIHlvdXIgY2hvaWNlcyBoYXZlIHJhaXNlZCBhIGNvbmZsaWN0IG9yIGRlcGVuZGVuY3kgcHJvYmxlbSAtCnNvbWUgcGFja2FnZXMgc2hvdWxkIG9ubHkgYmUgaW5zdGFsbGVkIGluIGNvbmp1bmN0aW9uIHdpdGggY2VydGFpbiBvdGhlcnMsIGFuZApzb21lIGNvbWJpbmF0aW9ucyBvZiBwYWNrYWdlcyBtYXkgbm90IGJlIGluc3RhbGxlZCB0b2dldGhlci4KCllvdSB3aWxsIHNlZSBhIHN1Yi1saXN0IGNvbnRhaW5pbmcgdGhlIHBhY2thZ2VzIGludm9sdmVkLiAgVGhlIGJvdHRvbSBoYWxmIG9mCnRoZSBkaXNwbGF5IHNob3dzIHJlbGV2YW50IGNvbmZsaWN0cyBhbmQgZGVwZW5kZW5jaWVzOyB1c2UgYGknIHRvIGN5Y2xlIGJldHdlZW4KdGhhdCwgdGhlIHBhY2thZ2UgZGVzY3JpcHRpb25zIGFuZCB0aGUgaW50ZXJuYWwgY29udHJvbCBpbmZvcm1hdGlvbi4KCkEgc2V0IG9mIGBzdWdnZXN0ZWQnIHBhY2thZ2VzIGhhcyBiZWVuIGNhbGN1bGF0ZWQsIGFuZCB0aGUgaW5pdGlhbCBtYXJraW5ncyBpbgp0aGlzIHN1Yi1saXN0IGhhdmUgYmVlbiBzZXQgdG8gbWF0Y2ggdGhvc2UsIHNvIHlvdSBjYW4ganVzdCBoaXQgUmV0dXJuIHRvCmFjY2VwdCB0aGUgc3VnZ2VzdGlvbnMgaWYgeW91IHdpc2guICBZb3UgbWF5IGFib3J0IHRoZSBjaGFuZ2Uocykgd2hpY2ggY2F1c2VkCnRoZSBwcm9ibGVtKHMpLCBhbmQgZ28gYmFjayB0byB0aGUgbWFpbiBsaXN0LCBieSBwcmVzc2luZyBjYXBpdGFsIGBYJy4KCllvdSBjYW4gYWxzbyBtb3ZlIGFyb3VuZCB0aGUgbGlzdCBhbmQgY2hhbmdlIHRoZSBtYXJraW5ncyBzbyB0aGF0IHRoZXkgYXJlIG1vcmUKbGlrZSB3aGF0IHlvdSB3YW50LCBhbmQgeW91IGNhbiBgcmVqZWN0JyBteSBzdWdnZXN0aW9ucyBieSB1c2luZyB0aGUgY2FwaXRhbApgRCcgb3IgYFInIGtleXMgKHNlZSB0aGUga2V5YmluZGluZ3MgaGVscCBzY3JlZW4pLiAgWW91IGNhbiB1c2UgY2FwaXRhbCBgUScgdG8KZm9yY2UgbWUgdG8gYWNjZXB0IHRoZSBzaXR1YXRpb24gY3VycmVudGx5IGRpc3BsYXllZCwgaW4gY2FzZSB5b3Ugd2FudCB0bwpvdmVycmlkZSBhIHJlY29tbWVuZGF0aW9uIG9yIHRoaW5rIHRoYXQgdGhlIHByb2dyYW0gaXMgbWlzdGFrZW4uCgpQcmVzcyA8c3BhY2U+IHRvIGxlYXZlIGhlbHAgYW5kIGVudGVyIHRoZSBzdWItbGlzdDsgcmVtZW1iZXI6IHByZXNzIGA/JyBmb3IgaGVscC4KAERlc2NyaXB0aW9uAERpc3BsYXksIHBhcnQgMTogcGFja2FnZSBsaXN0aW5nIGFuZCBzdGF0dXMgY2hhcnMARGlzcGxheSwgcGFydCAyOiBsaXN0IGhpZ2hsaWdodDsgaW5mb3JtYXRpb24gZGlzcGxheQBFSU9NAEVPRiBiZWZvcmUgb3B0aW9uIG5hbWUgc3RhcnQARU9GIGJlZm9yZSBzdW1tYXJ5AEVPRiBpbiBpbmRleCBzdHJpbmcARU9GIGluIG9wdGlvbiBuYW1lAEVPRiBpbiBzdW1tYXJ5IC0gbWlzc2luZyBuZXdsaW5lAEVycm9yAEVycm9yOiAARXh0cmEAR28gdG8gZW5kIG9mIGxpc3QAR28gdG8gdG9wIG9mIGxpc3QASGVscCBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgdW5kZXIgdGhlIGZvbGxvd2luZyB0b3BpY3M6AEhlbHA6IABJbXAASW1wb3J0YW50AEluc3QudmVyAEluc3RhbGwgYW5kIHVwZ3JhZGUgd2FudGVkIHBhY2thZ2VzLgBJbnN0YWxsZWQASW5zdGFsbGVkIHBhY2thZ2VzAEluc3RhbGxlZD8ASW50cm9kdWN0aW9uIHRvIGNvbmZsaWN0L2RlcGVuZGVuY3kgcmVzb2x1dGlvbiBzdWItbGlzdABJbnRyb2R1Y3Rpb24gdG8gbWV0aG9kIHNlbGVjdGlvbiBkaXNwbGF5AEludHJvZHVjdGlvbiB0byBwYWNrYWdlIHNlbGVjdGlvbnMASW50cm9kdWN0aW9uIHRvIHJlYWQtb25seSBwYWNrYWdlIGxpc3QgYnJvd3NlcgBJbnZhbGlkICVzIGAlcycKAEtleXN0cm9rZXMAS2V5c3Ryb2tlcyBmb3IgbWV0aG9kIHNlbGVjdGlvbgBNYWtlIGhpZ2hsaWdodCBsZXNzIHNwZWNpZmljAE1ha2UgaGlnaGxpZ2h0IG1vcmUgc3BlY2lmaWMATWFyayBwYWNrYWdlKHMpIGZvciBkZWluc3RhbGwgYW5kIHB1cmdlAE1hcmsgcGFja2FnZShzKSBmb3IgZGVpbnN0YWxsYXRpb24ATWFyayBwYWNrYWdlKHMpIGZvciBpbnN0YWxsYXRpb24ATWFya2VkIGZvcgBNb3ZlIGRvd24ATW92ZSB1cABOZXcATmV3bHkgYXZhaWxhYmxlIHBhY2thZ2VzAE5vIGV4cGxhbmF0aW9uIGF2YWlsYWJsZS4ATnVsbCBjb2xvdXIgc3BlY2lmaWNhdGlvbgoAT2Jzb2xldGUgYW5kIGxvY2FsIHBhY2thZ2VzIHByZXNlbnQgb24gc3lzdGVtAE9ic29sZXRlL2xvY2FsAE9sZCBtYXJrAE9wdABPcHRpb25hbABQYWNrYWdlAFByZXNzIDxlbnRlcj4gdG8gY29udGludWUuCgBQcmVzcyA/IGZvciBoZWxwIG1lbnUsIC4gZm9yIG5leHQgdG9waWMsIDxzcGFjZT4gdG8gZXhpdCBoZWxwLgBQcmVzcyBhIGtleSBmcm9tIHRoZSBsaXN0IGFib3ZlLCA8c3BhY2U+IG9yIGBxJyB0byBleGl0IGhlbHAsCiAgb3IgYC4nIChmdWxsIHN0b3ApIHRvIHJlYWQgZWFjaCBoZWxwIHBhZ2UgaW4gdHVybi4gAFByaW9yaXR5AFB1cmdlZABQdXJnZWQgcGFja2FnZXMgYW5kIHRob3NlIG5ldmVyIGluc3RhbGxlZABRdWl0IGRzZWxlY3QuAFF1aXQgd2l0aG91dCBjaGFuZ2luZyBzZWxlY3RlZCBhY2Nlc3MgbWV0aG9kAFF1aXQsIGNvbmZpcm1pbmcgd2l0aG91dCBjaGVjawBRdWl0LCBjb25maXJtaW5nLCBhbmQgY2hlY2tpbmcgZGVwZW5kZW5jaWVzAFF1aXQsIHJlamVjdGluZyBjb25mbGljdC9kZXBlbmRlbmN5IHN1Z2dlc3Rpb25zAFJFSU5TVEFMTABSZWRyYXcgZGlzcGxheQBSZW1vdmUgdW53YW50ZWQgc29mdHdhcmUuAFJlbW92ZWQAUmVtb3ZlZCBhbmQgbm8gbG9uZ2VyIGF2YWlsYWJsZSBwYWNrYWdlcwBSZW1vdmVkIHBhY2thZ2VzIChjb25maWd1cmF0aW9uIHN0aWxsIHByZXNlbnQpAFJlcGVhdCBsYXN0IHNlYXJjaC4AUmVxAFJlcXVlc3QgaGVscCAoY3ljbGUgdGhyb3VnaCBoZWxwIHNjcmVlbnMpAFJlcXVlc3Qgd2hpY2ggcGFja2FnZXMgeW91IHdhbnQgb24geW91ciBzeXN0ZW0uAFJlcXVpcmVkAFJldmVydCB0byBkaXJlY3RseSByZXF1ZXN0ZWQgc3RhdGUgZm9yIGFsbCBwYWNrYWdlcwBSZXZlcnQgdG8gb2xkIHN0YXRlIGZvciBhbGwgcGFja2FnZXMAUmV2ZXJ0IHRvIHN1Z2dlc3RlZCBzdGF0ZSBmb3IgYWxsIHBhY2thZ2VzAFNjcmVlbnBhcnRzOgoAU2Nyb2xsIGJhY2t3YXJkcyB0aHJvdWdoIGhlbHAvaW5mb3JtYXRpb24AU2Nyb2xsIGJhY2t3YXJkcyB0aHJvdWdoIGhlbHAvaW5mb3JtYXRpb24gYnkgMSBsaW5lAFNjcm9sbCBiYWNrd2FyZHMgdGhyb3VnaCBsaXN0AFNjcm9sbCBiYWNrd2FyZHMgdGhyb3VnaCBsaXN0IGJ5IDEgbGluZQBTY3JvbGwgb253YXJkcyB0aHJvdWdoIGhlbHAvaW5mb3JtYXRpb24AU2Nyb2xsIG9ud2FyZHMgdGhyb3VnaCBoZWxwL2luZm9ybWF0aW9uIGJ5IDEgbGluZQBTY3JvbGwgb253YXJkcyB0aHJvdWdoIGxpc3QAU2Nyb2xsIG9ud2FyZHMgdGhyb3VnaCBsaXN0IGJ5IDEgbGluZQBTZWFyY2ggZm9yID8gAFNlYXJjaCBmb3IgYSBwYWNrYWdlIHdob3NlIG5hbWUgY29udGFpbnMgYSBzdHJpbmcAU2VjdGlvbgBTZWxlY3QgY3VycmVudGx5LWhpZ2hsaWdodGVkIGFjY2VzcyBtZXRob2QAU3RhbmRhcmQAU3RkAFN3YXAgc29ydCBvcmRlciBwcmlvcml0eS9zZWN0aW9uAFRlcm1pbmFsIGRvZXMgbm90IGFwcGVhciB0byBzdXBwb3J0IGN1cnNvciBhZGRyZXNzaW5nLgoAVGVybWluYWwgZG9lcyBub3QgYXBwZWFyIHRvIHN1cHBvcnQgaGlnaGxpZ2h0aW5nLgoAVGhlIGxpbmUgeW91IGhhdmUgaGlnaGxpZ2h0ZWQgcmVwcmVzZW50cyBtYW55IHBhY2thZ2VzOyBpZiB5b3UgYXNrIHRvIGluc3RhbGwsIHJlbW92ZSwgaG9sZCwgZXRjLiBpdCB5b3Ugd2lsbCBhZmZlY3QgYWxsIHRoZSBwYWNrYWdlcyB3aGljaCBtYXRjaCB0aGUgY3JpdGVyaW9uIHNob3duLgoKSWYgeW91IG1vdmUgdGhlIGhpZ2hsaWdodCB0byBhIGxpbmUgZm9yIGEgcGFydGljdWxhciBwYWNrYWdlIHlvdSB3aWxsIHNlZSBpbmZvcm1hdGlvbiBhYm91dCB0aGF0IHBhY2thZ2UgZGlzcGxheWVkIGhlcmUuCllvdSBjYW4gdXNlIGBvJyBhbmQgYE8nIHRvIGNoYW5nZSB0aGUgc29ydCBvcmRlciBhbmQgZ2l2ZSB5b3Vyc2VsZiB0aGUgb3Bwb3J0dW5pdHkgdG8gbWFyayBwYWNrYWdlcyBpbiBkaWZmZXJlbnQga2luZHMgb2YgZ3JvdXBzLgBUeXBlIGRzZWxlY3QgLS1oZWxwIGZvciBoZWxwLgBVbmNsYXNzaWZpZWQAVXAgdG8gZGF0ZSBpbnN0YWxsZWQgcGFja2FnZXMAVXAtdG8tZGF0ZQBVcGRhdGUgbGlzdCBvZiBhdmFpbGFibGUgcGFja2FnZXMsIGlmIHBvc3NpYmxlLgBVcGRhdGVkAFVwZGF0ZWQgcGFja2FnZXMgKG5ld2VyIHZlcnNpb24gaXMgYXZhaWxhYmxlKQBXZWxjb21lIHRvIGRzZWxlY3QncyBtYWluIHBhY2thZ2UgbGlzdGluZy4KCllvdSB3aWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgbGlzdCBvZiBwYWNrYWdlcyB3aGljaCBhcmUgaW5zdGFsbGVkIG9yIGF2YWlsYWJsZQpmb3IgaW5zdGFsbGF0aW9uLiAgU2luY2UgeW91IGRvIG5vdCBoYXZlIHRoZSBwcml2aWxlZ2UgbmVjZXNzYXJ5IHRvIHVwZGF0ZQpwYWNrYWdlIHN0YXRlcywgeW91IGFyZSBpbiBhIHJlYWQtb25seSBtb2RlLiAgWW91IGNhbiBuYXZpZ2F0ZSBhcm91bmQgdGhlCmxpc3QgdXNpbmcgdGhlIGN1cnNvciBrZXlzIChwbGVhc2Ugc2VlIHRoZSBgS2V5c3Ryb2tlcycgaGVscCBzY3JlZW4pLCBvYnNlcnZlCnRoZSBzdGF0dXMgb2YgdGhlIHBhY2thZ2VzIGFuZCByZWFkIGluZm9ybWF0aW9uIGFib3V0IHRoZW0uCgpZb3Ugc2hvdWxkIHJlYWQgdGhlIGxpc3Qgb2Yga2V5cyBhbmQgdGhlIGV4cGxhbmF0aW9ucyBvZiB0aGUgZGlzcGxheS4KTXVjaCBvbi1saW5lIGhlbHAgaXMgYXZhaWxhYmxlLCBwbGVhc2UgbWFrZSB1c2Ugb2YgaXQgLSBwcmVzcyBgPycgYXQKYW55IHRpbWUgZm9yIGhlbHAuCgpXaGVuIHlvdSBoYXZlIGZpbmlzaGVkIGJyb3dzaW5nLCBwcmVzcyBgUScgb3IgPGVudGVyPiB0byBxdWl0LgoKUHJlc3MgPHNwYWNlPiB0byBsZWF2ZSBoZWxwIGFuZCBlbnRlciB0aGUgbGlzdCBub3cuCgBXZWxjb21lIHRvIGRzZWxlY3QncyBtYWluIHBhY2thZ2UgbGlzdGluZy4KCllvdSB3aWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgbGlzdCBvZiBwYWNrYWdlcyB3aGljaCBhcmUgaW5zdGFsbGVkIG9yIGF2YWlsYWJsZQpmb3IgaW5zdGFsbGF0aW9uLiAgWW91IGNhbiBuYXZpZ2F0ZSBhcm91bmQgdGhlIGxpc3QgdXNpbmcgdGhlIGN1cnNvciBrZXlzLAptYXJrIHBhY2thZ2VzIGZvciBpbnN0YWxsYXRpb24gKHVzaW5nIGArJykgb3IgZGVpbnN0YWxsYXRpb24gKHVzaW5nIGAtJykuClBhY2thZ2VzIGNhbiBiZSBtYXJrZWQgZWl0aGVyIHNpbmdseSBvciBpbiBncm91cHM7IGluaXRpYWxseSB5b3Ugd2lsbCBzZWUgdGhhdAp0aGUgbGluZSBgQWxsIHBhY2thZ2VzJyBpcyBzZWxlY3RlZC4gIGArJywgYC0nIGFuZCBzbyBvbiB3aWxsIGFmZmVjdCBhbGwgdGhlCnBhY2thZ2VzIGRlc2NyaWJlZCBieSB0aGUgaGlnaGxpZ2h0ZWQgbGluZS4KClNvbWUgb2YgeW91ciBjaG9pY2VzIHdpbGwgY2F1c2UgY29uZmxpY3RzIG9yIGRlcGVuZGVuY3kgcHJvYmxlbXM7IHlvdSB3aWxsIGJlCmdpdmVuIGEgc3ViLWxpc3Qgb2YgdGhlIHJlbGV2YW50IHBhY2thZ2VzLCBzbyB0aGF0IHlvdSBjYW4gc29sdmUgdGhlIHByb2JsZW1zLgoKWW91IHNob3VsZCByZWFkIHRoZSBsaXN0IG9mIGtleXMgYW5kIHRoZSBleHBsYW5hdGlvbnMgb2YgdGhlIGRpc3BsYXkuCk11Y2ggb24tbGluZSBoZWxwIGlzIGF2YWlsYWJsZSwgcGxlYXNlIG1ha2UgdXNlIG9mIGl0IC0gcHJlc3MgYD8nIGF0CmFueSB0aW1lIGZvciBoZWxwLgoKV2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCBzZWxlY3RpbmcgcGFja2FnZXMsIHByZXNzIDxlbnRlcj4gdG8gY29uZmlybSBjaGFuZ2VzLApvciBgWCcgdG8gcXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzLiBBIGZpbmFsIGNoZWNrIG9uIGNvbmZsaWN0cyBhbmQKZGVwZW5kZW5jaWVzIHdpbGwgYmUgZG9uZSAtIGhlcmUgdG9vIHlvdSBtYXkgc2VlIGEgc3VibGlzdC4KClByZXNzIDxzcGFjZT4gdG8gbGVhdmUgaGVscCBhbmQgZW50ZXIgdGhlIGxpc3Qgbm93LgoAWHRyAFtBXWNjZXNzAFtDXW9uZmlnAFtJXW5zdGFsbABbUV11aXQAW1JdZW1vdmUAW1NdZWxlY3QAW1VdcGRhdGUAW25vdCBib3VuZF0AW3VuazogJWRdAGEAYlVHAGMAY29sb3VyAGNvbG91ciBhdHRyaWJ1dGUAY29uZmxpY3RzIHdpdGgAY291bGRuJ3Qgb3BlbiBkZWJ1ZyBmaWxlIGAlLjI1NXMnCgBkZXBlbmRzIG9uAGRvdXBkYXRlIGZhaWxlZABkb3VwZGF0ZSBpbiBTSUdXSU5DSCBoYW5kbGVyIGZhaWxlZABkc2VsZWN0IC0gaW5zcGVjdGlvbiBvZiBwYWNrYWdlIHN0YXRlcwBkc2VsZWN0IC0gbGlzdCBvZiBhY2Nlc3MgbWV0aG9kcwBkc2VsZWN0IC0gbWFpbiBwYWNrYWdlIGxpc3RpbmcAZHNlbGVjdCAtIHJlY3Vyc2l2ZSBwYWNrYWdlIGxpc3RpbmcAZHNlbGVjdCBhbmQgZHBrZyBjYW4gZG8gYXV0b21hdGljIGluc3RhbGxhdGlvbiwgbG9hZGluZyB0aGUgcGFja2FnZSBmaWxlcyB0byBiZQppbnN0YWxsZWQgZnJvbSBvbmUgb2YgYSBudW1iZXIgb2YgZGlmZmVyZW50IHBvc3NpYmxlIHBsYWNlcy4KClRoaXMgbGlzdCBhbGxvd3MgeW91IHRvIHNlbGVjdCBvbmUgb2YgdGhlc2UgaW5zdGFsbGF0aW9uIG1ldGhvZHMuCgpNb3ZlIHRoZSBoaWdobGlnaHQgdG8gdGhlIG1ldGhvZCB5b3Ugd2lzaCB0byB1c2UsIGFuZCBoaXQgRW50ZXIuICBZb3Ugd2lsbCB0aGVuCmJlIHByb21wdGVkIGZvciB0aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gZG8gdGhlIGluc3RhbGxhdGlvbi4KCkFzIHlvdSBtb3ZlIHRoZSBoaWdobGlnaHQgYSBkZXNjcmlwdGlvbiBvZiBlYWNoIG1ldGhvZCwgd2hlcmUgYXZhaWxhYmxlLCBpcwpkaXNwbGF5ZWQgaW4gdGhlIGJvdHRvbSBoYWxmIG9mIHRoZSBzY3JlZW4uCgpJZiB5b3Ugd2lzaCB0byBxdWl0IHdpdGhvdXQgY2hhbmdpbmcgYW55dGhpbmcgdXNlIHRoZSBgeCcga2V5IHdoaWxlIGluIHRoZSBsaXN0Cm9mIGluc3RhbGxhdGlvbiBtZXRob2RzLgoKQSBmdWxsIGxpc3Qgb2Yga2V5c3Ryb2tlcyBpcyBhdmFpbGFibGUgYnkgcHJlc3NpbmcgYGsnIG5vdywgb3IgZnJvbSB0aGUgaGVscAptZW51IHJlYWNoYWJsZSBieSBwcmVzc2luZyBgPycuCgBlbmhhbmNlcwBlcnJvciBkdXJpbmcgcmVhZCBvZiBtZXRob2Qgb3B0aW9ucyBmaWxlIGAlLjI1MHMnAGVycm9yIGR1cmluZyByZWFkIG9mIG9wdGlvbiBkZXNjcmlwdGlvbiBmaWxlIGAlLjI1MHMnAGVycm9yIGluIHJlZ3VsYXIgZXhwcmVzc2lvbgBlcnJvciByZWFkaW5nIGFja25vd2xlZGdlbWVudCBvZiBwcm9ncmFtIGZhaWx1cmUgbWVzc2FnZQBlcnJvciByZWFkaW5nIGtleWJvYXJkIGluIGhlbHAAZXJyb3IgcmVhZGluZyBvcHRpb25zIGZpbGUgYCUuMjUwcycAZmFpbGVkIHRvIGFsbG9jYXRlIGNvbG91ciBwYWlyAGZhaWxlZCB0byBibG9jayBTSUdXSU5DSABmYWlsZWQgdG8gY3JlYXRlIGJhc2VsaXN0IHBhZABmYWlsZWQgdG8gY3JlYXRlIGhlYWRpbmcgcGFkAGZhaWxlZCB0byBjcmVhdGUgaW5mbyBwYWQAZmFpbGVkIHRvIGNyZWF0ZSBxdWVyeSB3aW5kb3cAZmFpbGVkIHRvIGNyZWF0ZSB0aGlzc3RhdGUgcGFkAGZhaWxlZCB0byBjcmVhdGUgdGl0bGUgd2luZG93AGZhaWxlZCB0byBjcmVhdGUgd2hhdGluZm8gd2luZG93AGZhaWxlZCB0byBnZXQgb2xkIFNJR1dJTkNIIHNpZ2FjdABmYWlsZWQgdG8gZ2V0IG9sZCBzaWduYWwgbWFzawBmYWlsZWQgdG8gZ2V0Y2ggaW4gbWFpbiBtZW51AGZhaWxlZCB0byByZS1ibG9jayBTSUdXSU5DSABmYWlsZWQgdG8gcmVhZCBvcHRpb24gZGVzY3JpcHRpb24gZmlsZSBgJS4yNTBzJwBmYWlsZWQgdG8gcmVzdG9yZSBvbGQgU0lHV0lOQ0ggc2lnYWN0AGZhaWxlZCB0byByZXN0b3JlIG9sZCBzaWduYWwgbWFzawBmYWlsZWQgdG8gc2V0IG5ldyBTSUdXSU5DSCBzaWdhY3QAZmFpbGVkIHRvIHVuYmxvY2sgU0lHV0lOQ0gAZ2V0Y2ggZmFpbGVkAGhhbGYgaW5zdGFsbGVkAGhvbGQAaQBpbmRleCBzdHJpbmcgdG9vIGxvbmcAaW5zdGFsbABpbnN0YWxsYXRpb24gc2NyaXB0AGluc3RhbGxlZABpbnZhbGlkIHNlYXJjaCBvcHRpb24gZ2l2ZW4AaW9jdGwoVElPQ0dXSU5TWikgZmFpbGVkAG1lbnUAbWV0aG9kIGAlLjI1MHMnIGhhcyBuYW1lIHRoYXQgaXMgdG9vIGxvbmcgKCVkID4gJWQgY2hhcmFjdGVycykAbmV3IHBhY2thZ2UAbmV3bGluZSBiZWZvcmUgb3B0aW9uIG5hbWUgc3RhcnQAbmV3bGluZSBiZWZvcmUgc3VtbWFyeQBub24tYWxwaGFudW0gaW4gb3B0aW9uIG5hbWUAbm9uLWRpZ2l0IHdoZXJlIGRpZ2l0IHdhbnRlZABub25hbHBoYSB3aGVyZSBvcHRpb24gbmFtZSBzdGFydCB3YW50ZWQAbm90IGluc3RhbGxlZABwcmUtZGVwZW5kcyBvbgBwcm92aWRlcwBwdXJnZQBxAHF1ZXJ5L3NldHVwIHNjcmlwdAByAHJlY29tbWVuZHMAcmVtb3ZlAHJlbW92ZWQgKGNvbmZpZ3MgcmVtYWluKQByZXBsYWNlcwBzAHNjcmVlbiBwYXJ0AHN1Z2dlc3RzAHN5bnRheCBlcnJvciBpbiBtZXRob2Qgb3B0aW9ucyBmaWxlIGAlLjI1MHMnIC0tICVzAHRlcm1pbmFsIGxhY2tzIG5lY2Vzc2FyeSBmZWF0dXJlcywgZ2l2aW5nIHVwAHUAdW5hYmxlIHRvIGFjY2VzcyBtZXRob2Qgc2NyaXB0IGAlLjI1MHMnAHVuYWJsZSB0byBjbG9zZSBuZXcgb3B0aW9uIGZpbGUgYCUuMjUwcycAdW5hYmxlIHRvIGluc3RhbGwgbmV3IG9wdGlvbiBhcyBgJS4yNTBzJwB1bmFibGUgdG8gb3BlbiBjdXJyZW50IG9wdGlvbiBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byBvcGVuIG5ldyBvcHRpb24gZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gb3BlbiBvcHRpb24gZGVzY3JpcHRpb24gZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gcmVhZCBgJS4yNTBzJyBkaXJlY3RvcnkgZm9yIHJlYWRpbmcgbWV0aG9kcwB1bmFibGUgdG8gcmVhZCBtZXRob2Qgb3B0aW9ucyBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byBzdGF0IG9wdGlvbiBkZXNjcmlwdGlvbiBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byB3cml0ZSBuZXcgb3B0aW9uIHRvIGAlLjI1MHMnAHVua25vd24gYWN0aW9uIHN0cmluZyBgJS41MHMnAHVucGFja2VkIChub3Qgc2V0IHVwKQB1cGRhdGUgYXZhaWxhYmxlIGxpc3Qgc2NyaXB0AFByb2plY3QtSWQtVmVyc2lvbjogZHBrZyAxLjEzClJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBkZWJpYW4tZHBrZ0BsaXN0cy5kZWJpYW4ub3JnClBPVC1DcmVhdGlvbi1EYXRlOiAyMDExLTEwLTE0IDA3OjExKzAyMDAKUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wMi0xNyAwODo1OCswMjAwCkxhc3QtVHJhbnNsYXRvcjogRXJpYyBQYXJlamEgPHhlbm9zQHVwbS5lZHUucGg+Ckxhbmd1YWdlLVRlYW06IFRhZ2Fsb2cgPGRlYmlhbi10bEBiYW53YS51cG0uZWR1LnBoPgpMYW5ndWFnZTogdGwKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKAAoKJXM6ICVzCgAKCkdhbWl0aW4gYW5nIF5QIGF0IF5OLCBtZ2EgY3Vyc29yIGtleSwgdW5hbmcgbWdhIHRpdGlrLCBvIG51bWVybyB1cGFuZyBndW1hbGF3OgpQaW5kdXRpbiBhbmcgPGVudGVyPiB1cGFuZyB0aXlha2luIGFuZyBwaW5pbGkuIF5MIHVwYW5nIGlndWhpdCBtdWxpIGFuZyB0YWJpbmcuCgoACgpQYWdiYXNhLWxhbWFuZyBuYSBha3NlczogbWF0aXRpZ25hbiBsYW1hbmcgYW5nIG1hZ2FnYW1pdCBuYSBtZ2EgcGFncGlwaWxpYW4hAApQaW5kdXRpbiBhbmcgPGVudGVyPiB1cGFuZyBtYWdwYXR1bG95LgAgACAgLS0gJWQlJSwgcGluZHV0aW4gACAoYXlvbiBzYSBhYmFrYWRhKQAgKG1hZ2FnYW1pdCwgcHJpb3JpZGFkKQAgKG1hZ2FnYW1pdCwgc2Vrc3lvbikAIChheW9uIHNhIG1hZ2FnYW1pdCkAIChheW9uIHNhIHByaW9yaWRhZCkAIChheW9uIHNhIHNla3N5b24pACAoYXlvbiBzYSBrYWxhZ2F5YW4pACAoa2FsYWdheWFuLCBwcmlvcmlkYWQpACAoa2FsYWdheWFuLCBzZWtzeW9uKQAgYXkgbXVraGFuZyBoaW5kaSBtYWdhZ2FtaXQKACBtYXJrYWhhbjorLz0vLSBtYWlrbGk6diB0dWxvbmc6PwAgbWFya2FoYW46Ky89Ly0gbWFsaWdveTp2IHR1bG9uZzo/ACBvIAAgbWFpa2xpOnYgdHVsb25nOj8AIG1hbGlnb3k6diB0dWxvbmc6PwAhQnVnIQAlLSpzICVzJXMlczsgJXMgKGRhdGkgYXk6ICVzKS4gICVzACVzICVzIG5hIHBha2V0ZQAlcyAlcyBuYSBwYWtldGUgc2Egc2Vrc3lvbiAlcwAlcyAlcyBuYSBwYWtldGUgbmEgd2FsYW5nIHNla3N5b24AJXMgdXBhbmcgc3VtdWxvbmcAJXMgbmEgcGFrZXRlIHNhIHNla3N5b24gJXMAJXMgbmEgcGFrZXRlIG5hIHdhbGFuZyBzZWtzeW9uACVzIHVwYW5nIGJ1bWFsaWsAKiBIaWdobGlnaHQ6IElzYW5nIGxpbnlhIHNhIGxpc3RhaGFuIG5nIHBha2V0ZSBheSBtYXkgaGlnaGxpZ2h0LiBQaW5hcGFoaXdhdGlnCiAga3VuZyBhbGluZyAobWdhKSBwYWtldGUgYW5nIGFwZWt0YWRvIG5nIHBhZ3BpbmRvdCBuZyBgKycsIGAtJyBhdCBgXycuCgoqIEFuZyBsaW55YW5nIG5hZ2hhaGF0aSBzYSBnaXRuYSBuZyB0YWJpbmcgYXkgbmFncGFwYWtpdGEgbmcgbWFpa2xpbmcgcGFsaXdhbmFnCiAgdHVuZ2tvbCBzYSBrYWxhZ2F5YW4gbmcgcGFrZXRlbmcgbmFrYS1oaWdobGlnaHQsIG8gcGFnbGFyYXdhbiBuZyBncnVwb25nIG5ha2EtCiAgaGlnaGxpZ2h0LCBrdW5nIGdydXBvIGl0by4gS3VuZyBoaW5kaSBuaXlvIG5haW50aW5kaWhhbiBhbmcgaWJpZyBzYWJpaGluIG5nCiAgaWxhbiBzYSBtZ2EgY2hhcmFjdGVyIG5hIG5hZ3BhcGFraXRhIG5nIGthbGFnYXlhbiwgcHVtdW50YSBzYSBha21hbmcgcGFrZXRlIGF0CiAgdGlnbmFuIGl0b25nIGxpbnlhbmcgbmFnaGFoYXRpLCBvIGdhbWl0aW4gYW5nIHRpa2xhZG9uZyBgdicgcGFyYSBzYSB2ZXJib3NlCiAgbmEgZGlzcGxheSAocGluZHV0aW4gYW5nIGB2JyBtdWxpIHVwYW5nIGJ1bWFsaWsgc2EgbW9kb25nIHRlcnNlKS4KCiogQW5nIGliYWJhIG5nIHRhYmluZyBheSBuYWdwYXBha2l0YSBuZyBrYXJhZ2RhZ2FuZyBpbXBvcm1hc3lvbiB0dW5na29sIHNhCiAga2FzYWx1a3V5YW5nIG5ha2EtaGlnaGxpZ2h0IG5hIHBha2V0ZSAoa3VuZyBpaXNhIGxhbWFuZykuCgogIE1hYWFyaW5nIGlwYWtpdGEgYW5nIHBpbmFsYXdpZyBuYSBwYWdsYWxhcmF3YW4gbmcgcGFrZXRlLCBhbmcgaW50ZXJuYWwgbmEgCiAgZGV0YWx5ZSBuZyBwYWctY29udHJvbCBuZyBwYWtldGUgKG1hZ2luZyBhbmcgbmFrYS1sdWtsb2sgbyBuZyBtYWFhcmluZwogIG1hZ2FtaXQgbmEgYmVyc3lvbiBuZyBwYWtldGUpLCBvIG5nIGltcG9ybWFzeW9uIHR1bmdrb2wgc2EgY29uZmxpY3QgYXQKICBkZXBlbmRlbnNpeWEgbmEga2F1Z25heSBuZyBrYXNhbHVrdXlhbmcgcGFrZXRlIChzYSBzdWJsaXN0IG5nIHBhZy1heW9zIG5nCiAgY29uZmxpY3QvZGVwZW5kZW5zaXlhKS4KCiAgR2FtaXRpbmcgYW5nIHRpa2xhZG9uZyBgaScgdXBhbmcgdW1pa290IHNhIG1nYSBkaXNwbGF5LCBhdCBgSScgdXBhbmcgaXRhZ28KICBhbmcgZGlzcGxheSBuZyBpbXBvcm1hc3lvbiBvIGxha2loYW4gaXRvIG5hIGdhbWl0aW4gYW5nIGhhbG9zIGJ1b25nIHRhYmluZy4KAD8ARGFnbGF0AEh1bWludG8gLSBsdW1hYmFzIG5hIHdhbGFuZyBiaW5hYmFnbwBQYXJhYW4gbmcgYWtzZXMgYCVzJy4ATGFoYXQATGFoYXQgbmcgbWdhIHBha2V0ZQBNZ2EgYXR0cmlidXRlOgoAQXZhaWwuYmVyAE1hZ2FnYW1pdABNYWdhZ2FtaXQgbmEgbWdhIHBha2V0ZSAoaGluZGkgbmFrYWx1a2xvayBzYSBrYXNhbHVrdXlhbikAU2lyYQBTaXJhIGFuZyBwYWdrYWx1a2xvayBuYSBtZ2EgcGFrZXRlAFBpbGlpbiBhbmcgcGFyYWFuIG5nIHBhZy1ha3NlcyBuYSBnYWdhbWl0aW4uAENvbG91cnMvTWdhIGt1bGF5OgoASXNhYXlvcyBhbmcgbWdhIHBha2V0ZW5nIGhpbmRpIHBhIG5ha2FheW9zLgBVbWlrb3Qgc2EgbWdhIHRhYmluZyBuZyBpbXBvcm1hc3lvbgBQYWctYXlvcyBuZyBjb25mbGljdC9kZXBlbmRlbnNpeWEgLSBwYWdwYXBha2lsYWxhLgoKTWF5IGlzYSBvIGlsYW4gc2EgaW55b25nIG1nYSBwaW5pbGkgbmEgbmFnLWFuZ2F0IG5nIHByb2JsZW1hbmcgY29uZmxpY3QgbwpkZXBlbmRlbnNpeWEgLSBtYXkgaWxhbmcgbWdhIHBha2V0ZSBuYSBrYWlsYW5nYW5nIGlsdWx1a2xvayBuYSBtYXkga2FzYW1hbmcKaWJhLCBhdCBtYXkgaWJhIG5hbWFuZyBrdW1iaW5hc3lvbiBuZyBtZ2EgcGFrZXRlIG5hIGhpbmRpIG1hYWFyaW5nIGlsdWx1a2xvawpuZyBzYWJheS4KCk1ha2lraXRhIG5pbnlvIGFuZyBzdWItbGlzdCBuYSBuYWdsYWxhbWFuIG5nIG1nYSBwYWtldGVuZyB0aW51dHVrb3kuICBBbmcKaWJhYmFuZyBrYWxhaGF0aSBuZyB0YWJpbmcgYXkgbmFncGFwYWtpdGEgbmcgbWdhIGNvbmZsaWN0IGF0IGRlcGVuZGVuc2l5YTsKZ2FtaXRpbiBhbmcgYGknIHVwYW5nIHVtaWtvdCBkaXRvLCBzYSBwYWdsYWxhcmF3YW4gbmcgbWdhIHBha2V0ZSBhdCBzYQppbXBvcm1hc3lvbmcgY29udHJvbCBuYSBwYW5sb29iLgoKTWF5IGtvbGVrc3lvbiBuZyBtZ2EgcGFrZXRlIG5hIGBtaW51bXVuZ2thaGknIG5hIHRpbmFudHN5YSwgYXQgbWdhIHBhbmltdWxhbmcKbWdhIG1hcmthIHNhIHN1Yi1saXN0IG5hIGl0byBuYSBuYWthdGFrZGEgdXBhbmcgbWF0YXBhdGFuIGl0bywgdXBhbmcgbWFhcmkKbml5byBsYW1hbmcgcGluZHV0aW4gYW5nIFJldHVybiB1cGFuZyB0YW5nZ2FwaW4gYW5nIG1nYSBtdW5na2FoaSBrdW5nIGlueW9uZwpuYWlzaW4uIE1hYWFyaSBkaW5nIGhpbnR1aW4gYW5nIChtZ2EpIHBhZ2JhYmFnbyBuYSBuYWdzYW5oaSBuZyAobWdhKSBwcm9ibGVtYSwKYXQgYnVtYWxpayBzYSBwYW5ndW5haGluZyBsaXN0YWhhbiBzYSBwYWdwaW5kb3QgbmcgY2FwaXRhbCBgWCcuCgpNYWFhcmkgZGluIGtheW9uZyBndW1hbGF3IHNhIGxpc3RhaGFuIGF0IHBhbGl0YW4gYW5nIG1nYSBtYXJrYSB1cGFuZyB0dW11Z21hCnNhIGlueW9uZyBrYWd1c3R1aGFuLCBhdCBtYWFhcmkgbmlueW9uZyBoaW5kaWFuIGFuZyBha2luZyBtZ2EgbXVuZ2thaGkgc2EKcGFncGluZG90IG5nIGNhcGl0YWwgYEQnIG8gYFInICh0aWduYW4gYW5nIHR1bG9uZyBzYSB0aWtsYWRvKS4gIE1hYWFyaSBuaXlvbmcKZ2FtaXRpbiBhbmcgY2FwaXRhbCBgUScgdXBhbmcgcGlsaXRpbiBha29uZyB0YW5nZ2FwaW4gYW5nIGthc2FsdWt1eWFuZyBheW9zLAprdW5nIHNha2FsaW5nIG5haXMgbml5b25nIGktb3ZlcnJpZGUgYW5nIHJla29tZW5kYXN5b24gbyBrdW5nIHNhIHRpbmdpbiBuaXlvIGF5Cm1hbGkgYW5nIHByb2dyYW1hLgoKUGluZHV0aW4gYW5nIDxwdXdhbmc+IHVwYW5nIGx1bWFiYXMgc2EgdHVsb25nIGF0IHB1bWFzb2sgc2Egc3ViLWxpc3Q7CmFsYWxhaGFuaW46IHBpbmR1dGluIGFuZyBgPycgcGFyYSBzYSB0dWxvbmcuCgBQYWdsYWxhcmF3YW4ARGlzcGxheSwgaWthLTEgYmFoYWdpOiBsaXN0YWhhbiBuZyBtZ2EgcGFrZXRlIGF0IGthbGFnYXlhbmcgdGl0aWsARGlzcGxheSwgaWthLTIgYmFoYWdpOiBsaXN0YWhhbmcgaGlnaGxpZ2h0OyBwYWdwYWtpdGEgbmcgaW1wb3JtYXN5b24ARUlMTQBFT0YgbmF1bmEgc2EgdW1waXNhIGFuZyBwYW5nYWxhbiBuZyBvcHN5b24ARU9GIG5hdW5hIHNhIHBhZ2xhbGFoYXQARU9GIHNhIGluZGV4IHN0cmluZwBFT0Ygc2EgcGFuZ2FsYW4gbmcgb3BzeW9uAEVPRiBzYSBwYWdsYWxhaGF0IC0ga3VsYW5nIG5nIG5ld2xpbmUARXJyb3IARXJyb3I6IABFeHRyYQBQdW11bnRhIHNhIGR1bG8gbmcgbGlzdGFoYW4AUHVtdW50YSBzYSBwdW5vIG5nIGxpc3RhaGFuAEFuZyBtYWdhZ2FtaXQgbml5b25nIGltcG9ybWFzeW9uZyBtYWtha2F0dWxvbmcgYXkgc2EgbWdhIHN1bXVzdW5vZCBuYSBwYWtzYToAVHVsb25nOiAASW1wAEltcG9ydGFudGUASW5zdC5iZXIASWx1a2xvayBhdCBpLWFwZ3JleWQgYW5nIG1nYSBwYWtldGVuZyBuaW5hbmFpcy4ATGludWtsb2sATmFrYWx1a2xvayBuYSBtZ2EgcGFrZXRlAE5ha2EtbHVrbG9rPwBQYWdwYXBha2lsYWxhIHNhIHN1Yi1saXN0IG5nIHBhZy1heW9zIG5nIGNvbmZsaWN0L2RlcGVuZGVuc2l5YQBQYWdwYXBha2lsYWxhIHNhIHBhZ3BpbGkgbmcgcGFyYWFuAFBhZ3BhcGFraWxhbGEgc2EgcGFncGlsaSBuZyBtZ2EgcGFrZXRlAFBhZ3BhcGFraWxhbGEgc2EgYnJvd3NlciBuZyBsaXN0YWhhbiBuZyBtZ2EgcGFrZXRlIG5hIHBhZ2Jhc2EtbGFtYW5nAERpIHRhbmdnYXAgbmEgJXMgYCVzJwoAVGlrbGFkbwBUaWtsYWRvbmcgZ2FtaXQgc2EgcGFncGlsaSBuZyBwYXJhYW4AR2F3aW5nIG1hcy1tYWxhd2FrIGFuZyBoaWdobGlnaHQAR2F3aW5nIG1hcy10aXlhayBhbmcgaGlnaGxpZ2h0AE1hcmthaGFuIGFuZyAobWdhKSBwYWtldGUgbmEgdGF0YW5nZ2FsaW4gYXQgcHVwdXJnYWhpbgBNYXJrYWhhbiBhbmcgKG1nYSkgcGFrZXRlIG5hIHRhdGFuZ2dhbGluAE1hcmthaGFuIGFuZyAobWdhKSBwYWtldGUgbmEgaWx1bHVrbG9rAE1hcmthZG8gcGFyYQBCdW1hYmEAVW1ha3lhdABCYWdvAEJhZ29uZyBtYWdhZ2FtaXQgbmEgbWdhIHBha2V0ZQBXYWxhbmcgcGFsaXdhbmFnIG5hIG1haWJpZ2F5LgBOdWxsIG5hIHNwZXNpcGlrYXN5b25nIHBhbmdrdWxheQoATGFvcyBuYSBhdCBtZ2EgbG9rYWwgbmEgcGFrZXRlIG5hIG5hcml0byBzYSBzaXN0ZW1hAExhb3MvbG9rYWwATHVtYW5nIG1hcmthAE9wdABPcHN5b25hbABQYWtldGUAUGluZHV0aW4gYW5nIDxlbnRlcj4gdXBhbmcgbWFncGF0dWxveS4KAFBpbmR1dGluIGFuZyA/IHBhcmEgc2EgbWVudSBuZyB0dWxvbmcsIC4gcGFyYSBzYSBzdXN1bm9kIG5hIHBha3NhLAo8cHV3YW5nPiB1cGFuZyBsdW1hYmFzIHNhIHR1bG9uZy4AUGluZHV0aW4gYW5nIHRpa2xhZG8gbXVsYSBzYSBsaXN0YWhhbiBzYSBpdGFhcywgPHB1d2FuZz4gbyBgcScgdXBhbmcgbHVtYWJhcwpzYSB0dWxvbmcgbyBgLicgKHR1bGRvaykgdXBhbmcgYmFzYWhpbiBhbmcgYmF3YXQgcGFoaW5hIG5nIHR1bG9uZy4gAFByaW9yaWRhZABQaW51cmdhAFBpbnVyZ2FuZyBtZ2EgcGFrZXRlIGF0IG1nYSBoaW5kaSBrYWlsYW5tYW4gbmFsdWtsb2sATHVtYWJhcyBzYSBkc2VsZWN0LgBMdW1hYmFzIG5hIGhpbmRpIGJpbmFiYWdvIGFuZyBwaW5pbGluZyBwYXJhYW4gbmcgcGFnLWFrc2VzAEx1bWFiYXMsIHRpeWFraW4gbmd1bml0IHdhbGFuZyBwYWdzdXN1cmkATHVtYWJhcywgdGl5YWtpbiBhdCBzdXJpaW4gYW5nIG1nYSBkZXBlbmRlbnNpeWEATHVtYWJhcywgaHV3YWcgdGFuZ2dhcGluIGFuZyBtZ2EgbXVuZ2thaGkgdHVuZ2tvbCBzYSB0dW5nZ2FsaWFuL2RlcGVuZGVuc2l5YQBJTFVLTE9LIE1VTEkASWd1aGl0IG11bGkgYW5nIHRhYmluZwBUYW5nZ2FsaW4gYW5nIGhpbmRpIGd1c3RvbmcgbWdhIHNvZnR3YXJlLgBUaW5hbmdnYWwAVGluYW5nZ2FsIGF0IGhpbmRpIG5hIG1hZ2FnYW1pdCBuYSBtZ2EgcGFrZXRlAFRpbmFuZ2dhbCBuYSBtZ2EgcGFrZXRlIChwYWdrYWF5b3MgYXkgbmFyaXRvIHBhKQBVbGl0aW4gYW5nIGh1bGluZyBwYWdoYWhhbmFwLgBSZXEASHVtaW5naSBuZyB0dWxvbmcgKGlpa290IHNhIG1nYSB0YWJpbmcgbmcgcGF5bykASGlsaW5naW4gYW5nIG1nYSBwYWtldGVuZyBuYWlzIG5peW8gc2EgaW55b25nIHNpc3RlbWEuAEthaWxhbmdhbgBCdW1hbGlrIHNhIGhpbmlsaW5nIG5hIGthbGFnYXlhbiBwYXJhIHNhIGxhaGF0IG5nIG1nYSBwYWtldGUAQnVtYWxpayBzYSBuYWthcmFhbmcga2FsYWdheWFuIHBhcmEgc2EgbGFoYXQgbmcgbWdhIHBha2V0ZQBCdW1hbGlrIHNhIG11bmdrYWhpbmcga2FsYWdheWFuIHBhcmEgc2EgbGFoYXQgbmcgbWdhIHBha2V0ZQBCYWhhZ2luZ3RhYmluZzoKAFVtYXRyYXMgc2EgdHVsb25nL2ltcG9ybWFzeW9uAFVtYXRyYXMgc2EgdHVsb25nL2ltcG9ybWFzeW9uIG5nIGlzYW5nIGxpbnlhAFVtYXRyYXMgc2EgbGlzdGFoYW4AVW1hdHJhcyBzYSBsaXN0YWhhbiBuZyBpc2FuZyBsaW55YQBVbWFiYW50ZSBzYSB0dWxvbmcvaW1wb3JtYXN5b24AVW1hYmFudGUgc2EgdHVsb25nL2ltcG9ybWFzeW9uIG5nIGlzYW5nIGxpbnlhAFVtYWJhbnRlIHNhIGxpc3RhaGFuAFVtYWJhbnRlIHNhIGxpc3RhaGFuIG5nIGlzYW5nIGxpbnlhAE1hZ2hhbmFwIG5nID8gAEhhbmFwaW4gYW5nIHBha2V0ZW5nIG1heSBwYW5nYWxhbmcgbmFnbGFsYW1hbiBuZyBpc2FuZyBzdHJpbmcAU2VjdGlvbgBQaWxpaW4gYW5nIG5ha2EtaGlnaGxpZ2h0IG5hIHBhcmFhbiBuZyBwYWctYWtzZXMAU3RhbmRhcmQAU3RkAElwYWdwYWxpdCBhbmcgcGFna2FzdW5vZC1zdW5vZCBhbnRhcy9zZWtzeW9uAE11a2hhbmcgYW5nIGhpbXBpbGFuIGF5IGhpbmRpIHN1bXVzdXBvcnRhIG5nIGN1cnNvciBhZGRyZXNzaW5nLgoATXVraGFuZyBhbmcgaGltcGlsYW4gYXkgaGluZGkgc3VtdXN1cG9ydGEgbmcgaGlnaGxpZ2h0aW5nLgoAQW5nIGxpbnlhIG5hIGlueW9uZyBuYS1oaWdobGlnaHQgYXkgdHVtdXR1a295IHNhIG1hcmFtaW5nIG1nYSBwYWtldGU7IGt1bmcKaGlsaW5naW4gbmlueW9uZyBpbHVsdWtsb2ssIHRhbmdnYWxpbiwgaGF3YWthbiwgYXRicC4gYXkgaXRvJ3kgYWFwZWt0byBzYQpsYWhhdCBuZyBtZ2EgcGluYXBha2l0YW5nIG1nYSBjcml0ZXJpYS4KCkt1bmcgaW55b25nIGdhbGF3aW4gYW5nIGhpZ2hsaWdodCBzYSBsaW55YSBwYXJhIHNhIGlzYW5nIHBha2V0ZSBheSBtYWtpa2l0YQpuaW55byBhbmcgaW1wb3JtYXN5b24gdHVuZ2tvbCBzYSBwYWtldGVuZyBpeW9uIGRpdG8uCk1hYXJpIG5peW9uZyBnYW1pdGluIGFuZyBgbycgYXQgYE8nIHVwYW5nIHBhbGl0YW4gYW5nIHBhcmFhbiBuZyBwYWdzdW5vZC1zdW5vZAphdCB1cGFuZyBiaWd5YW4gbml5byBhbmcgc2FyaWxpIG5peW8gbmcgcGFna2FrYXRhb24gbmEgbWFya2FoYW4gYW5nIG1nYSBwYWtldGUKc2EgaWJhJ3QgaWJhbmcgdXJpIG5nIHBhZy1ncnVwby4AZHNlbGVjdCAtLWhlbHAgcGFyYSBzYSB0dWxvbmcuAERpIG5ha2EtdXJpAE5ha2FsdWtsb2sgbmEgbWdhIHBha2V0ZSBuYSBoaW5kaSBsYW9zAEthc2FsdWt1eWFuAElzYXJpd2EgYW5nIGxpc3RhaGFuIG5nIG1hZ2FnYW1pdCBuYSBtZ2EgcGFrZXRlLCBrdW5nIGtheWEuAE1heSBNYXMgQmFnbwBNYWthYmFnb25nIG1nYSBwYWtldGUgKG1heSBiYWdvbmcgYmVyc3lvbmcgbWFnYWdhbWl0KQBNYWxpZ2F5YW5nIHBhZ2RhdGluZyBzYSBwYW5ndW5haGluZyBsaXN0YWhhbiBuZyBtZ2EgcGFrZXRlIG5nIGRzZWxlY3QuCgpJcGFwYWtpdGEgc2EgaW55byBhbmcgbGlzdGFoYW4gbmcgbWdhIHBha2V0ZSBuYSBuYWthLWx1a2xvayBvIG1hZ2FnYW1pdCBwYXJhCmlsdWx1a2xvay4gRGFoaWwgd2FsYSBrYXlvbmcgcGFoaW50dWxvdCBuYSBrYWlsYW5nYW4gdXBhbmcgYmFndWhpbiBhbmcga2FsYWdheWFuCm5nIG1nYSBwYWtldGUsIGtheW8gYXkgbmFzYSBtb2RhbmcgcGFnYmFzYS1sYW1hbmcuIE1hYWFyaSBrYXlvbmcgZ3VtYWxhdyBzYQpsb29iIG5nIGxpc3RhaGFuIHNhIHBhbWFtYWdpdGFuIG5nIG1nYSBjdXJzb3Iga2V5cyAobWFuZ3lhcmkgbmEgYmFzYWhpbiBhbmcKdHVsb25nIG5hIHBpbmFtYWdhdGFuZyBgVGlrbGFkbycpLCB0aWduYW4gYW5nIGthbGFnYXlhbiBuZyBtZ2EgcGFrZXRlIGF0IGJhc2FoaW4KYW5nIGltcG9ybWFzeW9uIHR1bmdrb2wgc2Ega2FuaWxhLgoKRGFwYXQgbmlueW9uZyBiYXNhaGluIGFuZyBsaXN0YWhhbiBuZyBtYWFhcmluZyBwaW5kdXRpbiBhdCBhbmcgcGFsaXdhbmFnIG5hCmlwaW5hcGFraXRhLiBNYXJhbWluZyB0dWxvbmcgbmEgbWFnYWdhbWl0LCBrYXlhJ3QgZ2FtaXRpbiBpdG8gLSBwaW5kdXRpbiBhbmcKYD8nIGthaGl0IGthaWxhbiB1cGFuZyBtYWthbWl0IGFuZyB0dWxvbmcuCgpLYXBhZyB0YXBvcyBuYSBrYXlvbmcgbWFnYmFzYS1iYXNhLCBwaW5kdXRpbiBhbmcgYFEnIG8gPGVudGVyPiB1cGFuZyBsdW1hYmFzLgoKUGluZHV0aW4gYW5nIDxwdXdhbmc+IHVwYW5nIGx1bWFiYXMgc2EgdHVsb25nIGF0IGJ1bWFsaWsgc2EgbGlzdGFoYW4gbmdheW9uLgoATWFsaWdheWFuZyBwYWdkYXRpbmcgc2EgcGFuZ3VuYWhpbmcgbGlzdGFoYW4gbmcgbWdhIHBha2V0ZSBzYSBkc2VsZWN0LgoKSXBhcGFraXRhIHNhIGlueW8gYW5nIGxpc3RhaGFuIG5nIG1nYSBwYWtldGUgbmEgbmFrYS1sdWtsb2sgbyBtYWdhZ2FtaXQgbmEKaWx1bHVrbG9rLiBNYWFhcmkga2F5b25nIGd1bWFsYXcgc2EgbGlzdGFoYW4gc2EgcGFtYW1hZ2l0YW4gbmcgbWdhIGN1cnNvciBrZXksCm1hcmthaGFuIGFuZyBtZ2EgcGFrZXRlbmcgaWlsdWx1a2xvayAoZ2FtaXRpbiBhbmcgYCsnKSBvIHRhdGFuZ2dhbGluIChnYW1pdGluCmFuZyBgLScpLiBBbmcgbWdhIHBha2V0ZSBheSBtYWFhcmluZyBtYXJrYWhhbiBuZyBpc2FoYW4gbyBzYSBncnVwbzsgc2EgdW1waXNhCm1ha2lraXRhIG5pbnlvIG5hIGFuZyBsaW55YW5nIGBMYWhhdCBuZyBwYWtldGUnIGF5IG5ha2FwaWxpLiBgKycsIGAtJyBhdCBpYmEgcGEKYXkgbWFrYWthYXBla3RvIHNhIGxhaGF0IG5nIG1nYSBwYWtldGUgbmEgdGludXR1a295IG5nIG5ha2EtaGlnaGxpZ2h0IG5hIGxpbnlhLgoKSWxhbiBzYSBpbnlvbmcgbWdhIHBpcGlsaWluIGF5IG1hZ2tha2Fyb29uIG5nIG1nYSBjb25mbGljdCBvIHByb2JsZW1hIHNhCmRlcGVuZGVuc2l5YTsga2F5byBheSBiaWJpZ3lhbiBuZyBzdWItbGlzdCBuZyBtZ2EgcGFrZXRlbmcgbWF5IGtpbmFsYW1hbiBkaXRvLAp1cGFuZyBpbnlvbmcgbWFsdXRhcyBhbmcgbWdhIHByb2JsZW1hLgoKRGFwYXQgbmlueW9uZyBiYXNhaGluIGFuZyB0YWxhYW4gbmcgdGlrbGFkbyBhdCBtZ2EgcGFsaXdhbmFnIG5hIG5ha2FkaXNwbGF5LgpNYXJhbWluZyB0dWxvbmcgbmEgbWFnYWdhbWl0LCBtYW5neWFyaW5nIGdhbWl0aW4gbml5byBhbmcgbWdhIGl0byAtIHBpbmR1dGluCmFuZyBgPycga2FoaXQga2FpbGFuIHBhcmEgbWFrYW1pdCBhbmcgdHVsb25nLgoKS2FwYWcgbmF0YXBvcyBuYSBrYXlvbmcgbWFrYXBhZ3BpbGkgbmcgbWdhIHBha2V0ZSwgcGluZHV0aW4gYW5nIDxlbnRlcj4gdXBhbmcKdGl5YWtpbiBhbmcgbWdhIHBhZ2JhYmFnbywgbyBgWCcgdXBhbmcgbHVtYWJhcyBuYSBoaW5kaSBpdGF0YWdvIGFuZyBtZ2EgcGFnYmFiYWdvLgpNYXkga2FodWxpaGFuZyBwYWdzdXN1cmkgbmcgbWdhIGNvbmZsaWN0IGF0IGRlcGVuZGVuc2l5YSBuYSBnYWdhd2luIC0gZGl0byByaW4KYXkgbWFhYXJpbmcgbWF5IGlwYWtpdGFuZyBzdWJsaXN0LgoKUGluZHV0aW4gYW5nIDxwdXdhbmc+IHVwYW5nIGx1bWFiYXMgc2EgdHVsb25nIGF0IGJ1bWFsaWsgc2EgbGlzdGFoYW4gbmdheW9uLgoAWHRyAFtBXWtzZXMAW0Ndb25maWcvSXNhYXlvcwBbSV1sdWtsb2sAW1FddWl0L0x1bWFiYXMAW1RdYW5nZ2FsaW4AW1BddW1pbGkAW1VdcGRhdGUvSXNhcml3YQBbaGluZGkgbmFrYXRha2RhXQBbZGkga2lsYWxhOiAlZF0AYQBiVWcAYwBrdWxheQBhdHRyaWJ1dGUgbmcga3VsYXkAa2F0dW5nZ2FsaSBhbmcAaGluZGkgbWFidWtzYW4gYW5nIHRhbGFrc2FuZyBwYW4tZGVidWcgYCUuMjU1cycKAHVtYWFzYSBzYQBiaWdvIGFuZyBkb3VwZGF0ZQBiaWdvIGFuZyBkb3VwZGF0ZSBzYSBoYW5kbGVyIG5nIFNJR1dJTkNIAGRzZWxlY3QgLSBwYWdzdXJpIG5nIGthbGFnYXlhbiBuZyBtZ2EgcGFrZXRlAGRzZWxlY3QgLSBsaXN0YWhhbiBuZyBwYXJhYW4gbmcgYWtzZXMAZHNlbGVjdCAtIHBhbmd1bmFoaW5nIGxpc3RhaGFuIG5nIG1nYSBwYWtldGUAZHNlbGVjdCAtIGxpc3RhaGFuIG5nIG1nYSBwYWtldGUgbmEgcmVjdXJzaXZlAE1hYWFyaW5nIG1hZ2x1a2xvayBuZyBrdXNhIGFuZyBkc2VsZWN0IGF0IGRwa2csIGt1a3VuaW4gYW5nIHRhbGFrc2FuZwpwYWtldGUgbmEgaWlsdWx1a2xvayBtdWxhIHNhIGlzYSBzYSBpYmEndCBpYmFuZyBwYWdtdW11bGFuLiBNYWFhcmkga2F5b25nCnB1bWlsaSBuZyBpc2Egc2EgbWdhIHBhcmFhbiBuZyBwYWctbHVrbG9rIG11bGEgc2EgbGlzdGFoYW5nIGl0by5JbGlwYXQgYW5nCmhpZ2hsaWdodCBzYSBwYXJhYW4gbmEgbmFpcyBuaXlvbmcgZ2FtaXRpbiwgYXQgcGluZHV0aW4gYW5nIEVudGVyLiAgS2F5byBheQp0YXRhbnVuZ2luIG5nIGlsYW5nIG1nYSBiYWdheSBuYSBrYWlsYW5nYW4gdXBhbmcgbWFrYXBhZy1sdWtsb2suCgpTYSBwYWdsaXBhdCBuaXlvIG5nIGhpZ2hsaWdodCBheSBpcGFwYWtpdGEgYW5nIHBhZ2xhcmF3YW4gbmcgYmF3YXQgcGFyYWFuLAprdW5nIG1lcm9uIG5pdG8sIHNhIGliYWJhbmcga2FsYWhhdGkgbmcgdGFiaW5nLgoKS3VuZyBuYWlzIG5peW9uZyBsdW1hYmFzIG5hIHdhbGFuZyBiYWJhZ3VoaW4gYXkgZ2FtaXRpbiBhbmcgYHgnIGhhYmFuZyBuYXNhCmxpc3RhaGFuIG5nIG1nYSBwYXJhYW4gbmcgcGFnLWx1a2xvay4KCk1hYWFyaW5nIG1ha2l0YSBhbmcgYnVvbmcgbGlzdGFoYW4gbmcgbWFnYWdhbWl0IG5hIHRpa2xhZG8gc2EgcGFncGluZG90IG5nCmBrJ2lsYWxhbmluLCBvIG11bGEgc2EgbWVudSBuZyB0dWxvbmcgbmEgbWFraWtpdGEgc2EgcGFncGluZG90IG5nIGA/Jy4KAG5hZ3BhcGFodXNheSBzYQBlcnJvciBoYWJhbmcgYmluYWJhc2EgYW5nIHRhbGFrc2FuZyBvcHN5b24gbmcgcGFtYW1hcmFhbiBgJS4yNTBzJwBlcnJvciBoYWJhbmcgYmluYWJhc2EgYW5nIHRhbGFrc2FuZyBvcHN5b24gbmEgcGFnbGFsYXJhd2FuIGAlLjI1MHMnAGVycm9yIHNhIHJlZ3VsYXIgZXhwcmVzc2lvbgBlcnJvciBzYSBwYWdiYXNhIG5nIHBhZ2tpbGFsYSBuZyBtZW5zYWhlIHR1bmdrb2wgc2EgcGFna2FiaWdvIG5nIHByb2dyYW1hAGVycm9yIHNhIHBhZ2Jhc2EgbmcgdGlrbGFkbyBoYWJhbmcgbmFzYSBtb2RvbmcgcGFndHVsb25nAGVycm9yIHNhIHBhZ2Jhc2EgbmcgdGFsYWtzYW5nIG9wc3lvbiBgJS4yNTBzJwBiaWdvIGFuZyBwYWdsYWFuIG5nIHBhcmVzIG5nIGt1bGF5AGJpZ29uZyBpaGFyYW5nIGFuZyBTSUdXSU5DSABiaWdvIGFuZyBwYWdsaWtoYSBuZyBiYXNlbGlzdCBwYWQAYmlnbyBhbmcgcGFnbGlraGEgbmcgaGVhZGluZyBwYWQAYmlnbyBhbmcgcGFnbGlraGEgbmcgaW5mbyBwYWQAYmlnbyBhbmcgcGFnbGlraGEgbmcgYmludGFuYSBuZyB0YW5vbmcAYmlnbyBhbmcgcGFnbGlraGEgbmcgdGhpc3N0YXRlIHBhZABiaWdvIGFuZyBwYWdsaWtoYSBuZyBiaW50YW5hIG5nIHBhbWFnYXQAYmlnbyBhbmcgcGFnbGlraGEgbmcgYmludGFuYSBuZyB3aGF0aW5mbwBiaWdvbmcgbWFrdWhhIGFuZyBsdW1hbmcgU0lHV0lOQ0ggc2lnYWN0AGJpZ29uZyBtYWt1aGEgYW5nIGx1bWFuZyBtYXNrYXJhbmcgaHVkeWF0AGJpZ28gYW5nIGdldGNoIHNhIHBhbmd1bmFoaW5nIG1lbnUAYmlnbyBzYSBwYWctcmUtYmxvY2sgbmcgU0lHV0lOQ0gAYmlnbyBzYSBwYWdiYXNhIG5nIHRhbGFrc2FuZyBvcHN5b24gbmEgcGFnbGFsYXJhd2FuIGAlLjI1MHMnAGJpZ29uZyBpYmFsaWsgYW5nIGx1bWFuZyBTSUdXSU5DSCBzaWdhY3QAYmlnb25nIGliYWxpayBhbmcgbHVtYW5nIG1hc2thcmFuZyBodWR5YXQAYmlnb25nIGl0YWtkYSBhbmcgYmFnb25nIFNJR1dJTkNIIHNpZ2FjdABiaWdvIHNhIHBhZy11bmJsb2NrIG5nIFNJR1dJTkNIAGJpZ28gYW5nIGdldGNoAGJpdGluIG5hIHBhZ2x1a2xvawBoYXdha2FuAGkAbGFiaXMgYW5nIGhhYmEgbmcgaW5kZXggc3RyaW5nAGlsdWtsb2sAc2NyaXB0b25nIHRhZ2FsdWtsb2sAbmFrYWx1a2xvawBkaSB0YW5nZ2FwIG5hIG9wc3lvbiBzYSBwYWdoYWhhbmFwIGF5IGliaW5pZ2F5AGJpZ28gYW5nIGlvY3RsKFRJT0NHV0lOU1opAG1lbnUAcGFtYW1hcmFhbiBgJS4yNTBzJyBheSBtYXkgcGFuZ2FsYW4gbmEgbGFiaXMgYW5nIGhhYmEgKCVkID4gJWQga2FyYWt0ZXIpAGJhZ29uZyBwYWtldGUAbmV3bGluZSBiYWdvIHNhIHVtcGlzYSBuZyBwYW5nYWxhbiBuZyBvcHN5b24AbmV3bGluZSBiYWdvIHNhIHBhZ2xhbGFoYXQAZGktYWxwaGFudW0gc2EgcGFuZ2FsYW4gbmcgb3BzeW9uAGRpLW51bWVybyBzYWFuIG51bWVybyBkYXBhdABkaS1hbHBoYSBrdW5nIHNhYW4gZGFwYXQgbWFndW1waXNhIGFuZyBwYW5nYWxhbiBuZyBvcHN5b24AaGluZGkgbmFrYWx1a2xvawB1bWFhc2EgbmcgbHVib3Mgc2EAbmFnYmliaWdheSBuZwBwdXJnYQBxAHNjcmlwdG9uZyBwYWd0YW5vbmcvcGFnaGFuZGEAdAByZWtvbWVuZGFkbwB0YW5nZ2FsaW4AdGluYW5nZ2FsIChuYWl3YW4gYW5nIHBhZ2thYXlvcykAa2FwYWxpdCBuZwBwAGJhaGFnaSBuZyB0YWJpbmcAbmFnbXVtdW5na2FoaQBzeW50YXggZXJyb3Igc2EgdGFsYWtzYW5nIG9wc3lvbiBuZyBwYW1hbWFyYWFuIGAlLjI1MHMnIC0tICVzAGt1bGFuZyBuZyBrYWlsYW5nYW4gbmEgbWdhIGZlYXR1cmUgYW5nIHRlcm1pbmFsLCBzdW11c3VrbyBuYQB1AGRpIG1hLWFrc2VzIGFuZyBzY3JpcHQgbmcgcGFtYW1hcmFhbiBgJS4yNTBzJwBkaSBtYXNhcmhhbiBhbmcgYmFnb25nIHRhbGFrc2FuZyBvcHN5b24gYCUuMjUwcycAZGkgbWFsdWtsb2sgYW5nIGJhZ29uZyBvcHN5b24gYmlsYW5nIGAlLjI1MHMnAGRpIG1hYnVrc2FuIGFuZyBrYXNhbHVrdXlhbmcgdGFsYWtzYW5nIG9wc3lvbiBgJS4yNTBzJwBkaSBtYWJ1a3NhbiBhbmcgYmFnb25nIHRhbGFrc2FuZyBvcHN5b24gYCUuMjUwcycAZGkgbWFidWtzYW4gYW5nIHRhbGFrc2FuZyBvcHN5b24gbmEgcGFnbGFsYXJhd2FuIGAlLjI1MHMnAGRpIG1hYmFzYSBhbmcgYCUuMjUwcycgbmEgZGlyZWN0b3J5IHBhcmEgc2EgcGFtYW1hcmFhbiBuZyBwYWdiYXNhAGRpIG1hYmFzYSBhbmcgdGFsYWtzYW5nIG9wc3lvbiBuZyBwYW1hbWFyYWFuIGAlLjI1MHMnAGRpIG1hLXN0YXQgYW5nIHRhbGFrc2FuZyBvcHN5b24gbmEgcGFnbGFsYXJhd2FuIGAlLjI1MHMnAGRpIG1haXN1bGF0IGFuZyBiYWdvbmcgb3BzeW9uIHNhIGAlLjI1MHMnAGRpIGtpbGFsYW5nIGFjdGlvbiBzdHJpbmcgYCUuNTBzJwBuYWthYnVrbGF0IChoaW5kaSBuYWthYXlvcykAc2NyaXB0b25nIHBhbmctYXBkZXl0IGFuZyBtYWdhZ2FtaXQgbmEgbGlzdGFoYW4A