3hIElQAAAAArAAAAHAAAAHQBAAA7AAAAzAIAAAAAAAC4AwAAQgAAALkDAAAhAgAA/AMAAPABAAAeBgAAOQAAAA8IAABNAAAASQgAABsAAACXCAAALAAAALMIAAAdAAAA4AgAACwAAAD+CAAALAAAACsJAAAnAAAAWAkAAC0AAACACQAAIAAAAK4JAAAoAAAAzwkAACgAAAD4CQAAHwAAACEKAAAfAAAAQQoAAAwAAABhCgAA9wAAAG4KAABlAAAAZgsAADoAAADMCwAAGQEAAAcMAADeAQAAIQ0AAJIBAAAADwAAFAAAAJMQAAAQAAAAqBAAACoAAAC5EAAAMQAAAOQQAAAmAAAAFhEAAA4AAAA9EQAAFAAAAEwRAAAiAAAAYREAADkAAACEEQAASQAAAL4RAACdAAAACBIAAA8AAACmEgAAGAAAALYSAAAQAAAAzxIAABEAAADgEgAADgAAAPISAAASAAAAARMAAAsAAAAUEwAAhgEAACATAABCAAAApxQAACECAADqFAAA8AEAAAwXAAA5AAAA/RgAAE0AAAA3GQAAJwAAAIUZAAA4AAAArRkAACkAAADmGQAAOAAAABAaAAA4AAAASRoAADMAAACCGgAAOQAAALYaAAAsAAAA8BoAADQAAAAdGwAANAAAAFIbAAArAAAAhxsAACsAAACzGwAADAAAAN8bAAD3AAAA7BsAAGUAAADkHAAAOgAAAEodAAAZAQAAhR0AAOoBAACfHgAAkgEAAIogAAAUAAAAHSIAABAAAAAyIgAAKgAAAEMiAAAxAAAAbiIAADIAAACgIgAADgAAANMiAAAUAAAA4iIAACIAAAD3IgAAOQAAABojAABJAAAAVCMAAJ0AAACeIwAADwAAADwkAAAkAAAATCQAABAAAABxJAAAEQAAAIIkAAAOAAAAlCQAABIAAACjJAAACwAAALYkAAABAAAAGgAAAAMAAAAjAAAAJAAAAAAAAAAAAAAACQAAACgAAAALAAAAGQAAABAAAAAAAAAAGwAAAAYAAAAHAAAAFAAAAA0AAAAIAAAAAAAAACAAAAAPAAAAAAAAACkAAAAMAAAAIQAAAAAAAAAEAAAAAAAAAA4AAAAXAAAAJwAAABYAAAAAAAAAAAAAABMAAAAqAAAACgAAAAAAAAAiAAAAEgAAACYAAAAAAAAAAAAAACUAAAAAAAAAHQAAABgAAAAAAAAAHAAAAAIAAAAVAAAAHwAAABEAAAAeAAAAAAAAAAAAAAArAAAABQAAAAAgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdAoAICAtZCwgLS1kb21haW49VEVYVERPTUFJTiAgIHJldHJpZXZlIHRyYW5zbGF0ZWQgbWVzc2FnZSBmcm9tIFRFWFRET01BSU4KICAtZSAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSBleHBhbnNpb24gb2Ygc29tZSBlc2NhcGUgc2VxdWVuY2VzCiAgLUUgICAgICAgICAgICAgICAgICAgICAgICAoaWdub3JlZCBmb3IgY29tcGF0aWJpbGl0eSkKICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0CiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQKICBbVEVYVERPTUFJTl0gICAgICAgICAgICAgIHJldHJpZXZlIHRyYW5zbGF0ZWQgbWVzc2FnZSBmcm9tIFRFWFRET01BSU4KICBNU0dJRCBNU0dJRC1QTFVSQUwgICAgICAgIHRyYW5zbGF0ZSBNU0dJRCAoc2luZ3VsYXIpIC8gTVNHSUQtUExVUkFMIChwbHVyYWwpCiAgQ09VTlQgICAgICAgICAgICAgICAgICAgICBjaG9vc2Ugc2luZ3VsYXIvcGx1cmFsIGZvcm0gYmFzZWQgb24gdGhpcyB2YWx1ZQoAICAtZCwgLS1kb21haW49VEVYVERPTUFJTiAgIHJldHJpZXZlIHRyYW5zbGF0ZWQgbWVzc2FnZXMgZnJvbSBURVhURE9NQUlOCiAgLWUgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUgZXhwYW5zaW9uIG9mIHNvbWUgZXNjYXBlIHNlcXVlbmNlcwogIC1FICAgICAgICAgICAgICAgICAgICAgICAgKGlnbm9yZWQgZm9yIGNvbXBhdGliaWxpdHkpCiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdAogIC1uICAgICAgICAgICAgICAgICAgICAgICAgc3VwcHJlc3MgdHJhaWxpbmcgbmV3bGluZQogIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0CiAgW1RFWFRET01BSU5dIE1TR0lEICAgICAgICByZXRyaWV2ZSB0cmFuc2xhdGVkIG1lc3NhZ2UgY29ycmVzcG9uZGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gTVNHSUQgZnJvbSBURVhURE9NQUlOCgAgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdAoAICAtdiwgLS12YXJpYWJsZXMgICAgICAgICAgICAgb3V0cHV0IHRoZSB2YXJpYWJsZXMgb2NjdXJyaW5nIGluIFNIRUxMLUZPUk1BVAoAJXM6IGludmFsaWQgb3B0aW9uIC0tICclYycKACVzOiBvcHRpb24gJyVjJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnQKACVzOiBvcHRpb24gJyVzJyBpcyBhbWJpZ3VvdXMKACVzOiBvcHRpb24gJyVzJyBpcyBhbWJpZ3VvdXM7IHBvc3NpYmlsaXRpZXM6ACVzOiBvcHRpb24gJy0tJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnQKACVzOiBvcHRpb24gJy0tJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50CgAlczogb3B0aW9uICctVyAlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudAoAJXM6IG9wdGlvbiAnLVcgJXMnIGlzIGFtYmlndW91cwoAJXM6IG9wdGlvbiAnLVcgJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50CgAlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICclYycKACVzOiB1bnJlY29nbml6ZWQgb3B0aW9uICclYyVzJwoAJXM6IHVucmVjb2duaXplZCBvcHRpb24gJy0tJXMnCgBCcnVubyBIYWlibGUAQ29weXJpZ2h0IChDKSAlcyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuClRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuCgBEaXNwbGF5IG5hdGl2ZSBsYW5ndWFnZSB0cmFuc2xhdGlvbiBvZiBhIHRleHR1YWwgbWVzc2FnZSB3aG9zZSBncmFtbWF0aWNhbApmb3JtIGRlcGVuZHMgb24gYSBudW1iZXIuCgBEaXNwbGF5IG5hdGl2ZSBsYW5ndWFnZSB0cmFuc2xhdGlvbiBvZiBhIHRleHR1YWwgbWVzc2FnZS4KAElmIHRoZSBURVhURE9NQUlOIHBhcmFtZXRlciBpcyBub3QgZ2l2ZW4sIHRoZSBkb21haW4gaXMgZGV0ZXJtaW5lZCBmcm9tIHRoZQplbnZpcm9ubWVudCB2YXJpYWJsZSBURVhURE9NQUlOLiAgSWYgdGhlIG1lc3NhZ2UgY2F0YWxvZyBpcyBub3QgZm91bmQgaW4gdGhlCnJlZ3VsYXIgZGlyZWN0b3J5LCBhbm90aGVyIGxvY2F0aW9uIGNhbiBiZSBzcGVjaWZpZWQgd2l0aCB0aGUgZW52aXJvbm1lbnQKdmFyaWFibGUgVEVYVERPTUFJTkRJUi4KU3RhbmRhcmQgc2VhcmNoIGRpcmVjdG9yeTogJXMKAElmIHRoZSBURVhURE9NQUlOIHBhcmFtZXRlciBpcyBub3QgZ2l2ZW4sIHRoZSBkb21haW4gaXMgZGV0ZXJtaW5lZCBmcm9tIHRoZQplbnZpcm9ubWVudCB2YXJpYWJsZSBURVhURE9NQUlOLiAgSWYgdGhlIG1lc3NhZ2UgY2F0YWxvZyBpcyBub3QgZm91bmQgaW4gdGhlCnJlZ3VsYXIgZGlyZWN0b3J5LCBhbm90aGVyIGxvY2F0aW9uIGNhbiBiZSBzcGVjaWZpZWQgd2l0aCB0aGUgZW52aXJvbm1lbnQKdmFyaWFibGUgVEVYVERPTUFJTkRJUi4KV2hlbiB1c2VkIHdpdGggdGhlIC1zIG9wdGlvbiB0aGUgcHJvZ3JhbSBiZWhhdmVzIGxpa2UgdGhlICdlY2hvJyBjb21tYW5kLgpCdXQgaXQgZG9lcyBub3Qgc2ltcGx5IGNvcHkgaXRzIGFyZ3VtZW50cyB0byBzdGRvdXQuICBJbnN0ZWFkIHRob3NlIG1lc3NhZ2VzCmZvdW5kIGluIHRoZSBzZWxlY3RlZCBjYXRhbG9nIGFyZSB0cmFuc2xhdGVkLgpTdGFuZGFyZCBzZWFyY2ggZGlyZWN0b3J5OiAlcwoASW4gbm9ybWFsIG9wZXJhdGlvbiBtb2RlLCBzdGFuZGFyZCBpbnB1dCBpcyBjb3BpZWQgdG8gc3RhbmRhcmQgb3V0cHV0LAp3aXRoIHJlZmVyZW5jZXMgdG8gZW52aXJvbm1lbnQgdmFyaWFibGVzIG9mIHRoZSBmb3JtICRWQVJJQUJMRSBvciAke1ZBUklBQkxFfQpiZWluZyByZXBsYWNlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlcy4gIElmIGEgU0hFTEwtRk9STUFUIGlzIGdpdmVuLApvbmx5IHRob3NlIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IGFyZSByZWZlcmVuY2VkIGluIFNIRUxMLUZPUk1BVCBhcmUKc3Vic3RpdHV0ZWQ7IG90aGVyd2lzZSBhbGwgZW52aXJvbm1lbnQgdmFyaWFibGVzIHJlZmVyZW5jZXMgb2NjdXJyaW5nIGluCnN0YW5kYXJkIGlucHV0IGFyZSBzdWJzdGl0dXRlZC4KAEluZm9ybWF0aXZlIG91dHB1dDoKAE9wZXJhdGlvbiBtb2RlOgoAUmVwb3J0IGJ1Z3MgdG8gPGJ1Zy1nbnUtZ2V0dGV4dEBnbnUub3JnPi4KAFN1YnN0aXR1dGVzIHRoZSB2YWx1ZXMgb2YgZW52aXJvbm1lbnQgdmFyaWFibGVzLgoAVHJ5ICclcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLgoAVWxyaWNoIERyZXBwZXIAVW5rbm93biBzeXN0ZW0gZXJyb3IAVXNhZ2U6ICVzIFtPUFRJT05dIFtTSEVMTC1GT1JNQVRdCgBVc2FnZTogJXMgW09QVElPTl0gW1RFWFRET01BSU5dIE1TR0lEIE1TR0lELVBMVVJBTCBDT1VOVAoAVXNhZ2U6ICVzIFtPUFRJT05dIFtbVEVYVERPTUFJTl0gTVNHSURdCm9yOiAgICAlcyBbT1BUSU9OXSAtcyBbTVNHSURdLi4uCgBXaGVuIC0tdmFyaWFibGVzIGlzIHVzZWQsIHN0YW5kYXJkIGlucHV0IGlzIGlnbm9yZWQsIGFuZCB0aGUgb3V0cHV0IGNvbnNpc3RzCm9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVmZXJlbmNlZCBpbiBTSEVMTC1GT1JNQVQsIG9uZSBwZXIgbGluZS4KAFdyaXR0ZW4gYnkgJXMuCgBlcnJvciB3aGlsZSByZWFkaW5nICIlcyIAbWVtb3J5IGV4aGF1c3RlZABtaXNzaW5nIGFyZ3VtZW50cwBzdGFuZGFyZCBpbnB1dAB0b28gbWFueSBhcmd1bWVudHMAd3JpdGUgZXJyb3IAUHJvamVjdC1JZC1WZXJzaW9uOiBHTlUgZ2V0dGV4dC1ydW50aW1lIDAuMTkuNwpSZXBvcnQtTXNnaWQtQnVncy1UbzogYnVnLWdudS1nZXR0ZXh0QGdudS5vcmcKUE9ULUNyZWF0aW9uLURhdGU6IDIwMTUtMTItMjggMDg6MjYrMDkwMApQTy1SZXZpc2lvbi1EYXRlOiAyMDE1LTEyLTI4IDA4OjI2KzA5MDAKTGFzdC1UcmFuc2xhdG9yOiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZApMYW5ndWFnZS1UZWFtOiBub25lCkxhbmd1YWdlOiBlbkBib2xkcXVvdApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdApQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTsKACAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0CgAgIC1kLCAtLWRvbWFpbj1URVhURE9NQUlOICAgcmV0cmlldmUgdHJhbnNsYXRlZCBtZXNzYWdlIGZyb20gVEVYVERPTUFJTgogIC1lICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlIGV4cGFuc2lvbiBvZiBzb21lIGVzY2FwZSBzZXF1ZW5jZXMKICAtRSAgICAgICAgICAgICAgICAgICAgICAgIChpZ25vcmVkIGZvciBjb21wYXRpYmlsaXR5KQogIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXQKICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdAogIFtURVhURE9NQUlOXSAgICAgICAgICAgICAgcmV0cmlldmUgdHJhbnNsYXRlZCBtZXNzYWdlIGZyb20gVEVYVERPTUFJTgogIE1TR0lEIE1TR0lELVBMVVJBTCAgICAgICAgdHJhbnNsYXRlIE1TR0lEIChzaW5ndWxhcikgLyBNU0dJRC1QTFVSQUwgKHBsdXJhbCkKICBDT1VOVCAgICAgICAgICAgICAgICAgICAgIGNob29zZSBzaW5ndWxhci9wbHVyYWwgZm9ybSBiYXNlZCBvbiB0aGlzIHZhbHVlCgAgIC1kLCAtLWRvbWFpbj1URVhURE9NQUlOICAgcmV0cmlldmUgdHJhbnNsYXRlZCBtZXNzYWdlcyBmcm9tIFRFWFRET01BSU4KICAtZSAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSBleHBhbnNpb24gb2Ygc29tZSBlc2NhcGUgc2VxdWVuY2VzCiAgLUUgICAgICAgICAgICAgICAgICAgICAgICAoaWdub3JlZCBmb3IgY29tcGF0aWJpbGl0eSkKICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0CiAgLW4gICAgICAgICAgICAgICAgICAgICAgICBzdXBwcmVzcyB0cmFpbGluZyBuZXdsaW5lCiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQKICBbVEVYVERPTUFJTl0gTVNHSUQgICAgICAgIHJldHJpZXZlIHRyYW5zbGF0ZWQgbWVzc2FnZSBjb3JyZXNwb25kaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBNU0dJRCBmcm9tIFRFWFRET01BSU4KACAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0CgAgIC12LCAtLXZhcmlhYmxlcyAgICAgICAgICAgICBvdXRwdXQgdGhlIHZhcmlhYmxlcyBvY2N1cnJpbmcgaW4gU0hFTEwtRk9STUFUCgAlczogaW52YWxpZCBvcHRpb24gLS0g4oCYG1sxbSVjG1swbeKAmQoAJXM6IG9wdGlvbiDigJgbWzFtJWMlcxtbMG3igJkgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudAoAJXM6IG9wdGlvbiDigJgbWzFtJXMbWzBt4oCZIGlzIGFtYmlndW91cwoAJXM6IG9wdGlvbiDigJgbWzFtJXMbWzBt4oCZIGlzIGFtYmlndW91czsgcG9zc2liaWxpdGllczoAJXM6IG9wdGlvbiDigJgbWzFtLS0lcxtbMG3igJkgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudAoAJXM6IG9wdGlvbiDigJgbWzFtLS0lcxtbMG3igJkgcmVxdWlyZXMgYW4gYXJndW1lbnQKACVzOiBvcHRpb24g4oCYG1sxbS1XICVzG1swbeKAmSBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50CgAlczogb3B0aW9uIOKAmBtbMW0tVyAlcxtbMG3igJkgaXMgYW1iaWd1b3VzCgAlczogb3B0aW9uIOKAmBtbMW0tVyAlcxtbMG3igJkgcmVxdWlyZXMgYW4gYXJndW1lbnQKACVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0g4oCYG1sxbSVjG1swbeKAmQoAJXM6IHVucmVjb2duaXplZCBvcHRpb24g4oCYG1sxbSVjJXMbWzBt4oCZCgAlczogdW5yZWNvZ25pemVkIG9wdGlvbiDigJgbWzFtLS0lcxtbMG3igJkKAEJydW5vIEhhaWJsZQBDb3B5cmlnaHQgKEMpICVzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4KAERpc3BsYXkgbmF0aXZlIGxhbmd1YWdlIHRyYW5zbGF0aW9uIG9mIGEgdGV4dHVhbCBtZXNzYWdlIHdob3NlIGdyYW1tYXRpY2FsCmZvcm0gZGVwZW5kcyBvbiBhIG51bWJlci4KAERpc3BsYXkgbmF0aXZlIGxhbmd1YWdlIHRyYW5zbGF0aW9uIG9mIGEgdGV4dHVhbCBtZXNzYWdlLgoASWYgdGhlIFRFWFRET01BSU4gcGFyYW1ldGVyIGlzIG5vdCBnaXZlbiwgdGhlIGRvbWFpbiBpcyBkZXRlcm1pbmVkIGZyb20gdGhlCmVudmlyb25tZW50IHZhcmlhYmxlIFRFWFRET01BSU4uICBJZiB0aGUgbWVzc2FnZSBjYXRhbG9nIGlzIG5vdCBmb3VuZCBpbiB0aGUKcmVndWxhciBkaXJlY3RvcnksIGFub3RoZXIgbG9jYXRpb24gY2FuIGJlIHNwZWNpZmllZCB3aXRoIHRoZSBlbnZpcm9ubWVudAp2YXJpYWJsZSBURVhURE9NQUlORElSLgpTdGFuZGFyZCBzZWFyY2ggZGlyZWN0b3J5OiAlcwoASWYgdGhlIFRFWFRET01BSU4gcGFyYW1ldGVyIGlzIG5vdCBnaXZlbiwgdGhlIGRvbWFpbiBpcyBkZXRlcm1pbmVkIGZyb20gdGhlCmVudmlyb25tZW50IHZhcmlhYmxlIFRFWFRET01BSU4uICBJZiB0aGUgbWVzc2FnZSBjYXRhbG9nIGlzIG5vdCBmb3VuZCBpbiB0aGUKcmVndWxhciBkaXJlY3RvcnksIGFub3RoZXIgbG9jYXRpb24gY2FuIGJlIHNwZWNpZmllZCB3aXRoIHRoZSBlbnZpcm9ubWVudAp2YXJpYWJsZSBURVhURE9NQUlORElSLgpXaGVuIHVzZWQgd2l0aCB0aGUgLXMgb3B0aW9uIHRoZSBwcm9ncmFtIGJlaGF2ZXMgbGlrZSB0aGUg4oCYG1sxbWVjaG8bWzBt4oCZIGNvbW1hbmQuCkJ1dCBpdCBkb2VzIG5vdCBzaW1wbHkgY29weSBpdHMgYXJndW1lbnRzIHRvIHN0ZG91dC4gIEluc3RlYWQgdGhvc2UgbWVzc2FnZXMKZm91bmQgaW4gdGhlIHNlbGVjdGVkIGNhdGFsb2cgYXJlIHRyYW5zbGF0ZWQuClN0YW5kYXJkIHNlYXJjaCBkaXJlY3Rvcnk6ICVzCgBJbiBub3JtYWwgb3BlcmF0aW9uIG1vZGUsIHN0YW5kYXJkIGlucHV0IGlzIGNvcGllZCB0byBzdGFuZGFyZCBvdXRwdXQsCndpdGggcmVmZXJlbmNlcyB0byBlbnZpcm9ubWVudCB2YXJpYWJsZXMgb2YgdGhlIGZvcm0gJFZBUklBQkxFIG9yICR7VkFSSUFCTEV9CmJlaW5nIHJlcGxhY2VkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWVzLiAgSWYgYSBTSEVMTC1GT1JNQVQgaXMgZ2l2ZW4sCm9ubHkgdGhvc2UgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRoYXQgYXJlIHJlZmVyZW5jZWQgaW4gU0hFTEwtRk9STUFUIGFyZQpzdWJzdGl0dXRlZDsgb3RoZXJ3aXNlIGFsbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgcmVmZXJlbmNlcyBvY2N1cnJpbmcgaW4Kc3RhbmRhcmQgaW5wdXQgYXJlIHN1YnN0aXR1dGVkLgoASW5mb3JtYXRpdmUgb3V0cHV0OgoAT3BlcmF0aW9uIG1vZGU6CgBSZXBvcnQgYnVncyB0byA8YnVnLWdudS1nZXR0ZXh0QGdudS5vcmc+LgoAU3Vic3RpdHV0ZXMgdGhlIHZhbHVlcyBvZiBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCgBUcnkg4oCYG1sxbSVzIC0taGVscBtbMG3igJkgZm9yIG1vcmUgaW5mb3JtYXRpb24uCgBVbHJpY2ggRHJlcHBlcgBVbmtub3duIHN5c3RlbSBlcnJvcgBVc2FnZTogJXMgW09QVElPTl0gW1NIRUxMLUZPUk1BVF0KAFVzYWdlOiAlcyBbT1BUSU9OXSBbVEVYVERPTUFJTl0gTVNHSUQgTVNHSUQtUExVUkFMIENPVU5UCgBVc2FnZTogJXMgW09QVElPTl0gW1tURVhURE9NQUlOXSBNU0dJRF0Kb3I6ICAgICVzIFtPUFRJT05dIC1zIFtNU0dJRF0uLi4KAFdoZW4gLS12YXJpYWJsZXMgaXMgdXNlZCwgc3RhbmRhcmQgaW5wdXQgaXMgaWdub3JlZCwgYW5kIHRoZSBvdXRwdXQgY29uc2lzdHMKb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IGFyZSByZWZlcmVuY2VkIGluIFNIRUxMLUZPUk1BVCwgb25lIHBlciBsaW5lLgoAV3JpdHRlbiBieSAlcy4KAGVycm9yIHdoaWxlIHJlYWRpbmcg4oCcG1sxbSVzG1swbeKAnQBtZW1vcnkgZXhoYXVzdGVkAG1pc3NpbmcgYXJndW1lbnRzAHN0YW5kYXJkIGlucHV0AHRvbyBtYW55IGFyZ3VtZW50cwB3cml0ZSBlcnJvcgA=