RGlzdHJpYnV0ZUV4cCgpDQpGVU5LVElPTjoNCiAgICAgcHJpdmF0ZSB2b2lkIERpc3RyaWJ1dGVFeHAob2JqZWN0IGVuZW15LCBpbnQgZXhwX3RvX2dpdmUpDQoNCkRFRklOSUVSVCBJTjoNCiAgICAgL3N0ZC9saXZpbmcvbGlmZS5jDQoNCkFSR1VNRU5URToNCiAgICAgb2JqZWN0IGVuZW15ICAgICAtIHRvZXRlbmRlciBGZWluZA0KICAgICBpbnQgZXhwX3RvX2dpdmUgIC0genUgdmVydGVpbGVuZGUgWFAgKD09IFBfWFAvMTAwKQ0KDQpCRVNDSFJFSUJVTkc6DQogICAgIERhcyBzdGVyYmVuZGUgV2VzZW4gdmVydGVpbHQgc2VpbmUgWFAgYW4gc2VpbmUgRmVpbmRlLg0KDQogICAgIERhYmVpIGJla29tbXQgamVkZXIgR2VnbmVyIHNlaW5lbiBBbnRlaWwgKGFiaORuZ2lnIHZvbiA1MCUgdm9uIHNlaW5lbQ0KICAgICBnZW1hY2h0ZW4gU2NoYWRlbikgdW5kIGVpbmVuIFRlYW1hbnRlaWwgKGRpZSBhbmRlcmVuIDUwJSD8YmVyIGRhcw0KICAgICBnZXNhbXRlIFRlYW0gYWRkaWVydCB1bmQgZHVyY2ggZGllIFRlYW1hbnphaGwgZ2V0ZWlsdCkuDQoNClNJRUhFIEFVQ0g6DQogICAgIEZ1bmt0aW9uZW46ICBBZGRFeHAoKQ0KICAgICBQcm9wZXJ0aWVzOiAgUF9YUA0KICAgICBTb25zdGlnZXM6ICAgdGVhbWthbXBmDQoNCkxldHp0ZSBBZW5kZXJ1bmc6IDIyLjEyLjIwMTYsIEJ1Z2ZpeA0K