aW1wb3J0IHNxbGl0ZTMNCmZyb20gcGF0aGxpYiBpbXBvcnQgUGF0aA0KDQpEQl9QQVRIID0gJ2RhdGFiYXNlLmRiJw0KDQpkZWYgaW5pdF9kYigpOg0KICAgICIiIkRCIOy0vOunvCDIOyXkO2BrCIiIg0KICAgIGNvbm4gPSBzcWxpdGUzLmNvbm5lY3QoREJfUEFUSCkNCiAgICBjdXIgPSBjb25uLmN1cnNvcigpDQogICAgDQogICAgIyDshLjsiZgg7YWM7J2067iUDQogICAgY3VyLmV4ZWN1dGUoJycnDQogICAgICAgIENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIHNlc3Npb25zICgNCiAgICAgICAgICAgIGlkIFRFWFQgUFJJTUFSWSBLRVksDQogICAgICAgICAgICBzdGF0dXMgVEVYVCwNCiAgICAgICAgICAgIGRvY190eXBlIFRFWFQsDQogICAgICAgICAgICBjcmVhdGVkX2F0IFRFWFQsDQogICAgICAgICAgICB1cGRhdGVkX2F0IFRFWFQNCiAgICAgICAgKQ0KICAgICcnJykNCiAgICANCiAgICAjIOusuOyEnCDrqZXthrDsnqDtg4Ag7YWM7J2067iUDQogICAgY3VyLmV4ZWN1dGUoJycnDQogICAgICAgIENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGRvY3VtZW50cyAoDQogICAgICAgICAgICBzZXNzaW9uX2lkIFRFWFQsDQogICAgICAgICAgICBmaWxlbmFtZSBUFWFQNCiAgICAgICAgICAgIGZpbGVfcGF0aCBURVhULA0KICAgICAgICAgICAgZG9jX3R5cGUgVEVYVCwNCiAgICAgICAgICAgIG1ldGFkYXRhIFRFWFQsDQogICAgICAgICAgICBGT1JFSUdOIEtFWSBzZXNzaW9uX2lkIFJFRkVSRU5DRVMgc2Vzc2lvbnMoaWQpDQogICAgICAgICkNCiAgICAnJycpDQogICAgDQogICAgIyDshKDtg50g7YWM7J2067iUDQogICAgY3VyLmV4ZWN1dGUoJycnDQogICAgICAgIENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIHNldHRpbmdzICgNCiAgICAgICAgICAgIGtleSBURVhUIFBSSU1BUlkgS0VZLA0KICAgICAgICAgICAgdmFsdWUgVEVYVA0KICAgICAgICApDQogICAgJycnKQ0KICAgIA0KICAgIGNvbm4uY29tbWl0KCkNCiAgICBjb25uLmNsb3NlKCkNCg0KZGVmIGdldF9kYl9jb25uKCk6DQogICAgcmV0dXJuIHNxbGl0ZTMuY29ubmVjdChEQl9QQVRIKQ0K