Ny1aaXAgZm9yIGluc3RhbGxlcnMgOS4zOA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQo3LVppcCBpcyBhIGZpbGUgYXJjaGl2ZXIgZm9yIFdpbmRvd3MgTlQvMjAwMC8yMDAzLzIwMDgvWFAvVmlzdGEvNy84LzEwLiANCg0KNy1aaXAgZm9yIGluc3RhbGxlcnMgaXMgcGFydCBvZiBMWk1BIFNESy4NCkxaTUEgU0RLIGlzIHdyaXR0ZW4gYW5kIHBsYWNlZCBpbiB0aGUgcHVibGljIGRvbWFpbiBieSBJZ29yIFBhdmxvdi4NCg0KSXQncyBhbGxvd2VkIHRvIGpvaW4gNy1aaXAgU0ZYIG1vZHVsZSB3aXRoIGFub3RoZXIgc29mdHdhcmUuDQpJdCdzIGFsbG93ZWQgdG8gY2hhbmdlIHJlc291cmNlcyBvZiA3LVppcCdzIFNGWCBtb2R1bGVzLg0KDQoNCkhPVyB0byB1c2UNCi0tLS0tLS0tLS0tDQoNCjd6ci5leGUgaXMgcmVkdWNlZCB2ZXJzaW9uIG9mIDd6YS5leGUgb2YgNy1aaXAuDQo3enIuZXhlIHN1cHBvcnRzIG9ubHkgZm9ybWF0IHdpdGggdGhlc2UgY29kZWNzOiBMWk1BLCBMWk1BMiwgQkNKLCBCQ0oyLCBBUk0sIENvcHkuDQoNCkV4YW1wbGUgb2YgY29tcHJlc3NpbmcgY29tbWFuZCBmb3IgaW5zdGFsbGF0aW9uIHBhY2thZ2VzOg0KDQo3enIgYSBhcmNoaXZlLjd6IGZpbGVzDQoNCjd6U0Quc2Z4IGlzIFNGWCBtb2R1bGUgZm9yIGluc3RhbGxlcnMuIDd6U0Quc2Z4IHVzZXMgbXN2Y3J0LmRsbC4NCg0KU0ZYIG1vZHVsZXMgZm9yIGluc3RhbGxlcnMgYWxsb3cgdG8gY3JlYXRlIGluc3RhbGxhdGlvbiBwcm9ncmFtLiANClN1Y2ggbW9kdWxlIGV4dHJhY3RzIGFyY2hpdmUgdG8gdGVtcCBmb2xkZXIgYW5kIHRoZW4gcnVucyBzcGVjaWZpZWQgcHJvZ3JhbSBhbmQgcmVtb3ZlcyANCnRlbXAgZmlsZXMgYWZ0ZXIgcHJvZ3JhbSBmaW5pc2hpbmcuIFNlbGYtZXh0cmFjdCBhcmNoaXZlIGZvciBpbnN0YWxsZXJzIG11c3QgYmUgY3JlYXRlZCANCmFzIGpvaW5pbmcgMyBmaWxlczogU0ZYX01vZHVsZSwgSW5zdGFsbGVyX0NvbmZpZywgN3pfQXJjaGl2ZS4gDQpJbnN0YWxsZXJfQ29uZmlnIGlzIG9wdGlvbmFsIGZpbGUuIFlvdSBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgY29tbWFuZCB0byBjcmVhdGUgaW5zdGFsbGVyIA0Kc2VsZi1leHRyYWN0IGFyY2hpdmU6DQoNCmNvcHkgL2IgN3pTRC5zZnggKyBjb25maWcudHh0ICsgYXJjaGl2ZS43eiBhcmNoaXZlLmV4ZQ0KDQpUaGUgc21hbGxlc3QgaW5zdGFsbGF0aW9uIHBhY2thZ2Ugc2l6ZSBjYW4gYmUgYWNoaWV2ZWQsIGlmIGluc3RhbGxhdGlvbiBmaWxlcyB3YXMgDQp1bmNvbXByZXNzZWQgYmVmb3JlIGluY2x1ZGluZyB0byA3eiBhcmNoaXZlLg0KDQoteSBzd2l0Y2ggZm9yIGluc3RhbGxlciBtb2R1bGUgKGF0IHJ1bnRpbWUpIHNwZWNpZmllcyBxdWlldCBtb2RlIGZvciBleHRyYWN0aW5nLg0KDQpJbnN0YWxsZXIgQ29uZmlnIGZpbGUgZm9ybWF0DQp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQpDb25maWcgZmlsZSBjb250YWlucyBjb21tYW5kcyBmb3IgSW5zdGFsbGVyLiBGaWxlIGJlZ2lucyBmcm9tIHN0cmluZyANCjshQEluc3RhbGxAIVVURi04ISBhbmQgZW5kcyB3aXRoIDshQEluc3RhbGxFbmRAIS4gRmlsZSBtdXN0IGJlIHdyaXR0ZW4gDQppbiBVVEYtOCBlbmNvZGluZy4gRmlsZSBjb250YWlucyBzdHJpbmcgcGFpcnM6IA0KDQpJRF9TdHJpbmc9IlZhbHVlIg0KDQpJRF9TdHJpbmcgICAgICAgICAgRGVzY3JpcHRpb24gDQoNClRpdGxlICAgICAgICAgICAgICBUaXRsZSBmb3IgbWVzc2FnZXMgDQpCZWdpblByb21wdCAgICAgICAgQmVnaW4gUHJvbXB0IG1lc3NhZ2UgDQpQcm9ncmVzcyAgICAgICAgICAgVmFsdWUgY2FuIGJlICJ5ZXMiIG9yICJubyIuIERlZmF1bHQgdmFsdWUgaXMgInllcyIuIA0KUnVuUHJvZ3JhbSAgICAgICAgIENvbW1hbmQgZm9yIGV4ZWN1dGluZy4gRGVmYXVsdCB2YWx1ZSBpcyAic2V0dXAuZXhlIi4gDQogICAgICAgICAgICAgICAgICAgU3Vic3RyaW5nICUlVCB3aWxsIGJlIHJlcGxhY2VkIHdpdGggcGF0aCB0byB0ZW1wb3JhcnkgDQogICAgICAgICAgICAgICAgICAgZm9sZGVyLCB3aGVyZSBmaWxlcyB3ZXJlIGV4dHJhY3RlZCANCkRpcmVjdG9yeSAgICAgICAgICBEaXJlY3RvcnkgcHJlZml4IGZvciAiUnVuUHJvZ3JhbSIuIERlZmF1bHQgdmFsdWUgaXMgIi5cXCIgDQpFeGVjdXRlRmlsZSAgICAgICAgTmFtZSBvZiBmaWxlIGZvciBleGVjdXRpbmcgDQpFeGVjdXRlUGFyYW1ldGVycyAgUGFyYW1ldGVycyBmb3IgIkV4ZWN1dGVGaWxlIiANCg0KDQpZb3UgY2FuIG9taXQgYW55IHN0cmluZyBwYWlyLg0KDQpUaGVyZSBhcmUgdHdvIHdheXMgdG8gcnVuIHByb2dyYW06IFJ1blByb2dyYW0gYW5kIEV4ZWN1dGVGaWxlLiANClVzZSBSdW5Qcm9ncmFtLCBpZiB5b3Ugd2FudCB0byBydW4gc29tZSBwcm9ncmFtIGZyb20gLjd6IGFyY2hpdmUuIA0KVXNlIEV4ZWN1dGVGaWxlLCBpZiB5b3Ugd2FudCB0byBvcGVuIHNvbWUgZG9jdW1lbnQgZnJvbSAuN3ogYXJjaGl2ZSBvciANCmlmIHlvdSB3YW50IHRvIGV4ZWN1dGUgc29tZSBjb21tYW5kIGZyb20gV2luZG93cy4NCg0KSWYgeW91IHVzZSBSdW5Qcm9ncmFtIGFuZCBpZiB5b3Ugc3BlY2lmeSBlbXB0eSBkaXJlY3RvcnkgcHJlZml4OiBEaXJlY3Rvcnk9IiIsIA0KdGhlIHN5c3RlbSBzZWFyY2hlcyBmb3IgdGhlIGV4ZWN1dGFibGUgZmlsZSBpbiB0aGUgZm9sbG93aW5nIHNlcXVlbmNlOg0KDQoxLiBUaGUgZGlyZWN0b3J5IGZyb20gd2hpY2ggdGhlIGFwcGxpY2F0aW9uIChpbnN0YWxsZXIpIGxvYWRlZC4gDQoyLiBUaGUgdGVtcG9yYXJ5IGZvbGRlciwgd2hlcmUgZmlsZXMgd2VyZSBleHRyYWN0ZWQuIA0KMy4gVGhlIFdpbmRvd3Mgc3lzdGVtIGRpcmVjdG9yeS4gDQoNCg0KQ29uZmlnIGZpbGUgRXhhbXBsZXMNCn5+fn5+fn5+fn5+fn5+fn5+fn5+DQoNCjshQEluc3RhbGxAIVVURi04IQ0KVGl0bGU9IjctWmlwIDQuMDAiDQpCZWdpblByb21wdD0iRG8geW91IHdhbnQgdG8gaW5zdGFsbCB0aGUgNy1aaXAgNC4wMD8iDQpSdW5Qcm9ncmFtPSJzZXR1cC5leGUiDQo7IUBJbnN0YWxsRW5kQCENCg0KDQoNCjshQEluc3RhbGxAIVVURi04IQ0KVGl0bGU9IjctWmlwIDQuMDAiDQpCZWdpblByb21wdD0iRG8geW91IHdhbnQgdG8gaW5zdGFsbCB0aGUgNy1aaXAgNC4wMD8iDQpFeGVjdXRlRmlsZT0iN3ppcC5tc2kiDQo7IUBJbnN0YWxsRW5kQCENCg0KDQoNCjshQEluc3RhbGxAIVVURi04IQ0KVGl0bGU9IjctWmlwIDQuMDEgVXBkYXRlIg0KQmVnaW5Qcm9tcHQ9IkRvIHlvdSB3YW50IHRvIGluc3RhbGwgdGhlIDctWmlwIDQuMDEgVXBkYXRlPyINCkV4ZWN1dGVGaWxlPSJtc2lleGVjLmV4ZSINCkV4ZWN1dGVQYXJhbWV0ZXJzPSIvaSA3emlwLm1zaSBSRUlOU1RBTEw9QUxMIFJFSU5TVEFMTE1PREU9dm9tdXMiDQo7IUBJbnN0YWxsRW5kQCENCg0KDQoNClNtYWxsIFNGWCBtb2R1bGVzIGZvciBpbnN0YWxsZXJzDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQo3elMyLnNmeCAgICAgLSBzbWFsbCBTRlggbW9kdWxlIChHVUkgdmVyc2lvbikNCjd6UzJjb24uc2Z4ICAtIHNtYWxsIFNGWCBtb2R1bGUgKENvbnNvbGUgdmVyc2lvbikNCg0KU21hbGwgU0ZYIG1vZHVsZXMgc3VwcG9ydCB0aGlzIGNvZGVjczogTFpNQSwgTFpNQTIsIEJDSiwgQkNKMiwgQVJNLCBDT1BZDQoNClNtYWxsIFNGWCBtb2R1bGUgaXMgc2ltaWxhciB0byBjb21tb24gU0ZYIG1vZHVsZSBmb3IgaW5zdGFsbGVycy4NClRoZSBkaWZmZXJlbmNlICh3aGF0J3MgbmV3IGluIHNtYWxsIHZlcnNpb24pOg0KIC0gU21hbGxlciBzaXplICgzMCBLQiB2cyAxMDAgS0IpDQogLSBDIHNvdXJjZSBjb2RlIGluc3RlYWQgb2Yg0SsrDQogLSBObyBpbnN0YWxsZXIgQ29uZmlndXJhdGlvbiBmaWxlDQogLSBObyBleHRyYWN0aW5nIHByb2dyZXNzIHdpbmRvdw0KIC0gSXQgZGVjb21wcmVzc2VzIHNvbGlkIDd6IGJsb2NrcyAoaXQgY2FuIGJlIHdob2xlIDd6IGFyY2hpdmUpIHRvIFJBTS4NCiAgIFNvIHVzZXIgdGhhdCBjYWxscyBTRlggaW5zdGFsbGVyIG11c3QgaGF2ZSBmcmVlIFJBTSBvZiBzaXplIG9mIGxhcmdlc3QgDQogICBzb2xpZCA3eiBibG9jayAoc2l6ZSBvZiA3eiBhcmNoaXZlIGF0IHNpbXBsZXN0IGNhc2UpLg0KDQpIb3cgdG8gdXNlDQotLS0tLS0tLS0tDQoNCmNvcHkgL2IgN3pTMi5zZnggKyBhcmNoaXZlLjd6IHNmeC5leGUNCg0KV2hlbiB5b3UgcnVuIGluc3RhbGxlciBzZnggbW9kdWxlIChzZnguZXhlKQ0KMSkgSXQgY3JlYXRlcyAiN3pOTk5OTk5OTiIgdGVtcCBmb2xkZXIgaW4gc3lzdGVtIHRlbXAgZm9sZGVyLg0KMikgSXQgZXh0cmFjdHMgLjd6IGFyY2hpdmUgdG8gdGhhdCBmb2xkZXINCjMpIEl0IGV4ZWN1dGVzIG9uZSBmaWxlIGZyb20gIjd6Tk5OTk5OTk4iIHRlbXAgZm9sZGVyLiANCjQpIEl0IHJlbW92ZXMgIjd6Tk5OTk5OTk4iIHRlbXAgZm9sZGVyDQoNCllvdSBjYW4gc2VuZCBwYXJhbWV0ZXJzIHRvIGluc3RhbGxlciwgYW5kIGluc3RhbGxlciB3aWxsIHRyYW5zZmVyIHRoZW0gdG8gZXh0cmFjdGVkIC5leGUgZmlsZS4NCg0KU21hbGwgU0ZYIHVzZXMgMyBsZXZlbHMgb2YgcHJpb3JpdGllcyB0byBzZWxlY3QgZmlsZSB0byBleGVjdXRlOg0KDQogIDEpIEZpbGVzIGluIHJvb3QgZm9sZGVyIGhhdmUgaGlnaGVyIHByaW9yaXR5IHRoYW4gZmlsZXMgaW4gc3ViZm9sZGVycy4NCiAgMikgRmlsZSBleHRlbnNpb24gcHJpb3JpdGllcyAoZnJvbSBoaWdoIHRvIGxvdyBwcmlvcml0eSBvcmRlcik6IA0KICAgICAgIGJhdCwgY21kLCBleGUsIGluZiwgbXNpLCBjYWIgKHVuZGVyIFdpbmRvd3MgQ0UpLCBodG1sLCBodG0NCiAgMykgRmlsZSBuYW1lIHByaW9yaXRpZXMgKGZyb20gaGlnaCB0byBsb3cgcHJpb3JpdHkgb3JkZXIpOiANCiAgICAgICBzZXR1cCwgaW5zdGFsbCwgcnVuLCBzdGFydA0KDQpXaW5kb3dzIENFIChBUk0pIHZlcnNpb24gb2YgN3pTMi5zZnggaXMgaW5jbHVkZWQgdG8gNy1aaXAgZm9yIFdpbmRvd3MgTW9iaWxlIHBhY2thZ2UuDQoNCg0KRXhhbXBsZXMNCi0tLS0tLS0tDQoNCjEpIFRvIGNyZWF0ZSBjb21wcmVzc2VkIGNvbnNvbGUgNy1aaXA6DQoNCjd6ciBhIGMuN3ogN3ouZXhlIDd6LmRsbCAtbXgNCmNvcHkgL2IgN3pTMmNvbi5zZnggKyBjLjd6IDd6Q29tcHIuZXhlDQo3ekNvbXByLmV4ZSBiIC1tZDIyDQoNCg0KMikgVG8gY3JlYXRlIGNvbXByZXNzZWQgR1VJIDctWmlwOg0KDQo3enIgYSBnLjd6IDd6Zy5leGUgN3ouZGxsIC1teA0KY29weSAvYiA3elMyLnNmeCArIGcuN3ogN3pnQ29tcHIuZXhlDQo3emdDb21wci5leGUgYiAtbWQyMg0KDQoNCjMpIFRvIG9wZW4gc29tZSBmaWxlOg0KDQo3enIgYSBoLjd6IHJlYWRtZS50eHQgLW14DQpjb3B5IC9iIDd6UzIuc2Z4ICsgaC43eiA3elR4dC5leGUgDQo3elR4dC5leGUNCg==