@mochabug/adapt-sdk 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/api.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{create as G,enumFromJson as Ct,fromJson as x,toJson as f}from"@bufbuild/protobuf";import{FieldMaskSchema as _,timestampDate as K,timestampFromDate as j,ValueSchema as oe}from"@bufbuild/protobuf/wkt";import{Code as l,ConnectError as y,createClient as q}from"@connectrpc/connect";import{fileDesc as Zn,messageDesc as In}from"@bufbuild/protobuf/codegenv2";import{enumDesc as xt,extDesc as Mt,fileDesc as pn,messageDesc as Et}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_descriptor as un,file_google_protobuf_duration as bn,file_google_protobuf_field_mask as Gn,file_google_protobuf_timestamp as hn}from"@bufbuild/protobuf/wkt";var d=pn("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI3CgRSdWxlEgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSKGAQoMTWVzc2FnZVJ1bGVzEhYKDmNlbF9leHByZXNzaW9uGAUgAygJEh8KA2NlbBgDIAMoCzISLmJ1Zi52YWxpZGF0ZS5SdWxlEi0KBW9uZW9mGAQgAygLMh4uYnVmLnZhbGlkYXRlLk1lc3NhZ2VPbmVvZlJ1bGVKBAgBEAJSCGRpc2FibGVkIjQKEE1lc3NhZ2VPbmVvZlJ1bGUSDgoGZmllbGRzGAEgAygJEhAKCHJlcXVpcmVkGAIgASgIIh4KCk9uZW9mUnVsZXMSEAoIcmVxdWlyZWQYASABKAgiiwkKCkZpZWxkUnVsZXMSFgoOY2VsX2V4cHJlc3Npb24YHSADKAkSHwoDY2VsGBcgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGUSEAoIcmVxdWlyZWQYGSABKAgSJAoGaWdub3JlGBsgASgOMhQuYnVmLnZhbGlkYXRlLklnbm9yZRIpCgVmbG9hdBgBIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GbG9hdFJ1bGVzSAASKwoGZG91YmxlGAIgASgLMhkuYnVmLnZhbGlkYXRlLkRvdWJsZVJ1bGVzSAASKQoFaW50MzIYAyABKAsyGC5idWYudmFsaWRhdGUuSW50MzJSdWxlc0gAEikKBWludDY0GAQgASgLMhguYnVmLnZhbGlkYXRlLkludDY0UnVsZXNIABIrCgZ1aW50MzIYBSABKAsyGS5idWYudmFsaWRhdGUuVUludDMyUnVsZXNIABIrCgZ1aW50NjQYBiABKAsyGS5idWYudmFsaWRhdGUuVUludDY0UnVsZXNIABIrCgZzaW50MzIYByABKAsyGS5idWYudmFsaWRhdGUuU0ludDMyUnVsZXNIABIrCgZzaW50NjQYCCABKAsyGS5idWYudmFsaWRhdGUuU0ludDY0UnVsZXNIABItCgdmaXhlZDMyGAkgASgLMhouYnVmLnZhbGlkYXRlLkZpeGVkMzJSdWxlc0gAEi0KB2ZpeGVkNjQYCiABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQ2NFJ1bGVzSAASLwoIc2ZpeGVkMzIYCyABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkMzJSdWxlc0gAEi8KCHNmaXhlZDY0GAwgASgLMhsuYnVmLnZhbGlkYXRlLlNGaXhlZDY0UnVsZXNIABInCgRib29sGA0gASgLMhcuYnVmLnZhbGlkYXRlLkJvb2xSdWxlc0gAEisKBnN0cmluZxgOIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlc0gAEikKBWJ5dGVzGA8gASgLMhguYnVmLnZhbGlkYXRlLkJ5dGVzUnVsZXNIABInCgRlbnVtGBAgASgLMhcuYnVmLnZhbGlkYXRlLkVudW1SdWxlc0gAEi8KCHJlcGVhdGVkGBIgASgLMhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXNIABIlCgNtYXAYEyABKAsyFi5idWYudmFsaWRhdGUuTWFwUnVsZXNIABIlCgNhbnkYFCABKAsyFi5idWYudmFsaWRhdGUuQW55UnVsZXNIABIvCghkdXJhdGlvbhgVIAEoCzIbLmJ1Zi52YWxpZGF0ZS5EdXJhdGlvblJ1bGVzSAASMgoKZmllbGRfbWFzaxgcIAEoCzIcLmJ1Zi52YWxpZGF0ZS5GaWVsZE1hc2tSdWxlc0gAEjEKCXRpbWVzdGFtcBgWIAEoCzIcLmJ1Zi52YWxpZGF0ZS5UaW1lc3RhbXBSdWxlc0gAQgYKBHR5cGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSJVCg9QcmVkZWZpbmVkUnVsZXMSHwoDY2VsGAEgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSLaFwoKRmxvYXRSdWxlcxKDAQoFY29uc3QYASABKAJCdMJIcQpvCgtmbG9hdC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEp8BCgJsdBgCIAEoAkKQAcJIjAEKiQEKCGZsb2F0Lmx0Gn0haGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0KT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEq8BCgNsdGUYAyABKAJCnwHCSJsBCpgBCglmbG9hdC5sdGUaigEhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlKT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABLvBwoCZ3QYBCABKAJC4AfCSNwHCo0BCghmbG9hdC5ndBqAASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCsMBCgtmbG9hdC5ndF9sdBqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCs0BChVmbG9hdC5ndF9sdF9leGNsdXNpdmUaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrTAQoMZmxvYXQuZ3RfbHRlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycK3QEKFmZsb2F0Lmd0X2x0ZV9leGNsdXNpdmUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEroICgNndGUYBSABKAJCqgjCSKYICpsBCglmbG9hdC5ndGUajQEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycK0gEKDGZsb2F0Lmd0ZV9sdBrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK3AEKFmZsb2F0Lmd0ZV9sdF9leGNsdXNpdmUawQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCuIBCg1mbG9hdC5ndGVfbHRlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrsAQoXZmxvYXQuZ3RlX2x0ZV9leGNsdXNpdmUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESfwoCaW4YBiADKAJCc8JIcApuCghmbG9hdC5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSdgoGbm90X2luGAcgAygCQmbCSGMKYQoMZmxvYXQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSdQoGZmluaXRlGAggASgIQmXCSGIKYAoMZmxvYXQuZmluaXRlGlBydWxlcy5maW5pdGUgPyAodGhpcy5pc05hbigpIHx8IHRoaXMuaXNJbmYoKSA/ICd2YWx1ZSBtdXN0IGJlIGZpbml0ZScgOiAnJykgOiAnJxIrCgdleGFtcGxlGAkgAygCQhrCSBcKFQoNZmxvYXQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i7RcKC0RvdWJsZVJ1bGVzEoQBCgVjb25zdBgBIAEoAUJ1wkhyCnAKDGRvdWJsZS5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEqABCgJsdBgCIAEoAUKRAcJIjQEKigEKCWRvdWJsZS5sdBp9IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCk/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKwAQoDbHRlGAMgASgBQqABwkicAQqZAQoKZG91YmxlLmx0ZRqKASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEvQHCgJndBgEIAEoAULlB8JI4QcKjgEKCWRvdWJsZS5ndBqAASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCsQBCgxkb3VibGUuZ3RfbHQaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrOAQoWZG91YmxlLmd0X2x0X2V4Y2x1c2l2ZRqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCtQBCg1kb3VibGUuZ3RfbHRlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycK3gEKF2RvdWJsZS5ndF9sdGVfZXhjbHVzaXZlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARK/CAoDZ3RlGAUgASgBQq8IwkirCAqcAQoKZG91YmxlLmd0ZRqNASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrTAQoNZG91YmxlLmd0ZV9sdBrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK3QEKF2RvdWJsZS5ndGVfbHRfZXhjbHVzaXZlGsEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrjAQoOZG91YmxlLmd0ZV9sdGUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCu0BChhkb3VibGUuZ3RlX2x0ZV9leGNsdXNpdmUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygBQnTCSHEKbwoJZG91YmxlLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKAFCZ8JIZApiCg1kb3VibGUubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSdgoGZmluaXRlGAggASgIQmbCSGMKYQoNZG91YmxlLmZpbml0ZRpQcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAndmFsdWUgbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSLAoHZXhhbXBsZRgJIAMoAUIbwkgYChYKDmRvdWJsZS5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKMFQoKSW50MzJSdWxlcxKDAQoFY29uc3QYASABKAVCdMJIcQpvCgtpbnQzMi5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEooBCgJsdBgCIAEoBUJ8wkh5CncKCGludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpwBCgNsdGUYAyABKAVCjAHCSIgBCoUBCglpbnQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpcHCgJndBgEIAEoBUKIB8JIhAcKegoIaW50MzIuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQzMi5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLjBwoDZ3RlGAUgASgFQtMHwkjPBwqIAQoJaW50MzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwgEKDGludDMyLmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrKAQoWaW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0gEKDWludDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2gEKF2ludDMyLmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEn8KAmluGAYgAygFQnPCSHAKbgoIaW50MzIuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnYKBm5vdF9pbhgHIAMoBUJmwkhjCmEKDGludDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCCADKAVCGsJIFwoVCg1pbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKMFQoKSW50NjRSdWxlcxKDAQoFY29uc3QYASABKANCdMJIcQpvCgtpbnQ2NC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEooBCgJsdBgCIAEoA0J8wkh5CncKCGludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpwBCgNsdGUYAyABKANCjAHCSIgBCoUBCglpbnQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpcHCgJndBgEIAEoA0KIB8JIhAcKegoIaW50NjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLjBwoDZ3RlGAUgASgDQtMHwkjPBwqIAQoJaW50NjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwgEKDGludDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrKAQoWaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0gEKDWludDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2gEKF2ludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEn8KAmluGAYgAygDQnPCSHAKbgoIaW50NjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnYKBm5vdF9pbhgHIAMoA0JmwkhjCmEKDGludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLVUludDMyUnVsZXMShAEKBWNvbnN0GAEgASgNQnXCSHIKcAoMdWludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgNQn3CSHoKeAoJdWludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKA1CjQHCSIkBCoYBCgp1aW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKA1CjQfCSIkHCnsKCXVpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgNQtgHwkjUBwqJAQoKdWludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygNQnTCSHEKbwoJdWludDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKA1CZ8JIZApiCg11aW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoDUIbwkgYChYKDnVpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLVUludDY0UnVsZXMShAEKBWNvbnN0GAEgASgEQnXCSHIKcAoMdWludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgEQn3CSHoKeAoJdWludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKARCjQHCSIkBCoYBCgp1aW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKARCjQfCSIkHCnsKCXVpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgEQtgHwkjUBwqJAQoKdWludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygEQnTCSHEKbwoJdWludDY0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKARCZ8JIZApiCg11aW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoBEIbwkgYChYKDnVpbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLU0ludDMyUnVsZXMShAEKBWNvbnN0GAEgASgRQnXCSHIKcAoMc2ludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgRQn3CSHoKeAoJc2ludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBFCjQHCSIkBCoYBCgpzaW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBFCjQfCSIkHCnsKCXNpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgRQtgHwkjUBwqJAQoKc2ludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygRQnTCSHEKbwoJc2ludDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKBFCZ8JIZApiCg1zaW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLU0ludDY0UnVsZXMShAEKBWNvbnN0GAEgASgSQnXCSHIKcAoMc2ludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgSQn3CSHoKeAoJc2ludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBJCjQHCSIkBCoYBCgpzaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBJCjQfCSIkHCnsKCXNpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgSQtgHwkjUBwqJAQoKc2ludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygSQnTCSHEKbwoJc2ludDY0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKBJCZ8JIZApiCg1zaW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEkIbwkgYChYKDnNpbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKvFQoMRml4ZWQzMlJ1bGVzEoUBCgVjb25zdBgBIAEoB0J2wkhzCnEKDWZpeGVkMzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKMAQoCbHQYAiABKAdCfsJIewp5CgpmaXhlZDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp4BCgNsdGUYAyABKAdCjgHCSIoBCocBCgtmaXhlZDMyLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASoQcKAmd0GAQgASgHQpIHwkiOBwp8CgpmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq1AQoNZml4ZWQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvQEKF2ZpeGVkMzIuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxQEKDmZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrNAQoYZml4ZWQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLtBwoDZ3RlGAUgASgHQt0HwkjZBwqKAQoLZml4ZWQzMi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrEAQoOZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzAEKGGZpeGVkMzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1AEKD2ZpeGVkMzIuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrcAQoZZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKBAQoCaW4YBiADKAdCdcJIcgpwCgpmaXhlZDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ4CgZub3RfaW4YByADKAdCaMJIZQpjCg5maXhlZDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi0KB2V4YW1wbGUYCCADKAdCHMJIGQoXCg9maXhlZDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIq8VCgxGaXhlZDY0UnVsZXMShQEKBWNvbnN0GAEgASgGQnbCSHMKcQoNZml4ZWQ2NC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEowBCgJsdBgCIAEoBkJ+wkh7CnkKCmZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASngEKA2x0ZRgDIAEoBkKOAcJIigEKhwEKC2ZpeGVkNjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKhBwoCZ3QYBCABKAZCkgfCSI4HCnwKCmZpeGVkNjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrUBCg1maXhlZDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq9AQoXZml4ZWQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrFAQoOZml4ZWQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs0BChhmaXhlZDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEu0HCgNndGUYBSABKAZC3QfCSNkHCooBCgtmaXhlZDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsQBCg5maXhlZDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrMAQoYZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrUAQoPZml4ZWQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtwBChlmaXhlZDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEoEBCgJpbhgGIAMoBkJ1wkhyCnAKCmZpeGVkNjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEngKBm5vdF9pbhgHIAMoBkJowkhlCmMKDmZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwBUKDVNGaXhlZDMyUnVsZXMShgEKBWNvbnN0GAEgASgPQnfCSHQKcgoOc2ZpeGVkMzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKNAQoCbHQYAiABKA9Cf8JIfAp6CgtzZml4ZWQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKfAQoDbHRlGAMgASgPQo8BwkiLAQqIAQoMc2ZpeGVkMzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKmBwoCZ3QYBCABKA9ClwfCSJMHCn0KC3NmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOc2ZpeGVkMzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPc2ZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES8gcKA2d0ZRgFIAEoD0LiB8JI3gcKiwEKDHNmaXhlZDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9zZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBzZml4ZWQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKCAQoCaW4YBiADKA9CdsJIcwpxCgtzZml4ZWQzMi5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSeQoGbm90X2luGAcgAygPQmnCSGYKZAoPc2ZpeGVkMzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLgoHZXhhbXBsZRgIIAMoD0IdwkgaChgKEHNmaXhlZDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIsAVCg1TRml4ZWQ2NFJ1bGVzEoYBCgVjb25zdBgBIAEoEEJ3wkh0CnIKDnNmaXhlZDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSjQEKAmx0GAIgASgQQn/CSHwKegoLc2ZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnwEKA2x0ZRgDIAEoEEKPAcJIiwEKiAEKDHNmaXhlZDY0Lmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASpgcKAmd0GAQgASgQQpcHwkiTBwp9CgtzZml4ZWQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDnNmaXhlZDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYc2ZpeGVkNjQuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD3NmaXhlZDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGXNmaXhlZDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEvIHCgNndGUYBSABKBBC4gfCSN4HCosBCgxzZml4ZWQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPc2ZpeGVkNjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlzZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQc2ZpeGVkNjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoac2ZpeGVkNjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESggEKAmluGAYgAygQQnbCSHMKcQoLc2ZpeGVkNjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnkKBm5vdF9pbhgHIAMoEEJpwkhmCmQKD3NmaXhlZDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi4KB2V4YW1wbGUYCCADKBBCHcJIGgoYChBzZml4ZWQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLHAQoJQm9vbFJ1bGVzEoIBCgVjb25zdBgBIAEoCEJzwkhwCm4KCmJvb2wuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIqCgdleGFtcGxlGAIgAygIQhnCSBYKFAoMYm9vbC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIiiDkKC1N0cmluZ1J1bGVzEoYBCgVjb25zdBgBIAEoCUJ3wkh0CnIKDHN0cmluZy5jb25zdBpidGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSfgoDbGVuGBMgASgEQnHCSG4KbAoKc3RyaW5nLmxlbhpedWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubGVuXSkgOiAnJxKZAQoHbWluX2xlbhgCIAEoBEKHAcJIgwEKgAEKDnN0cmluZy5taW5fbGVuGm51aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5taW5fbGVuXSkgOiAnJxKXAQoHbWF4X2xlbhgDIAEoBEKFAcJIgQEKfwoOc3RyaW5nLm1heF9sZW4abXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2xlbiA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBtb3N0ICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubWF4X2xlbl0pIDogJycSmwEKCWxlbl9ieXRlcxgUIAEoBEKHAcJIgwEKgAEKEHN0cmluZy5sZW5fYnl0ZXMabHVpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSAhPSBydWxlcy5sZW5fYnl0ZXMgPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubGVuX2J5dGVzXSkgOiAnJxKjAQoJbWluX2J5dGVzGAQgASgEQo8BwkiLAQqIAQoQc3RyaW5nLm1pbl9ieXRlcxp0dWludChieXRlcyh0aGlzKS5zaXplKCkpIDwgcnVsZXMubWluX2J5dGVzID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IGxlYXN0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1pbl9ieXRlc10pIDogJycSogEKCW1heF9ieXRlcxgFIAEoBEKOAcJIigEKhwEKEHN0cmluZy5tYXhfYnl0ZXMac3VpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA+IHJ1bGVzLm1heF9ieXRlcyA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9ieXRlc10pIDogJycSjQEKB3BhdHRlcm4YBiABKAlCfMJIeQp3Cg5zdHJpbmcucGF0dGVybhplIXRoaXMubWF0Y2hlcyhydWxlcy5wYXR0ZXJuKSA/ICd2YWx1ZSBkb2VzIG5vdCBtYXRjaCByZWdleCBwYXR0ZXJuIGAlc2AnLmZvcm1hdChbcnVsZXMucGF0dGVybl0pIDogJycShAEKBnByZWZpeBgHIAEoCUJ0wkhxCm8KDXN0cmluZy5wcmVmaXgaXiF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCBgJXNgJy5mb3JtYXQoW3J1bGVzLnByZWZpeF0pIDogJycSggEKBnN1ZmZpeBgIIAEoCUJywkhvCm0KDXN0cmluZy5zdWZmaXgaXCF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAndmFsdWUgZG9lcyBub3QgaGF2ZSBzdWZmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEpABCghjb250YWlucxgJIAEoCUJ+wkh7CnkKD3N0cmluZy5jb250YWlucxpmIXRoaXMuY29udGFpbnMocnVsZXMuY29udGFpbnMpID8gJ3ZhbHVlIGRvZXMgbm90IGNvbnRhaW4gc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMuY29udGFpbnNdKSA6ICcnEpgBCgxub3RfY29udGFpbnMYFyABKAlCgQHCSH4KfAoTc3RyaW5nLm5vdF9jb250YWlucxpldGhpcy5jb250YWlucyhydWxlcy5ub3RfY29udGFpbnMpID8gJ3ZhbHVlIGNvbnRhaW5zIHN1YnN0cmluZyBgJXNgJy5mb3JtYXQoW3J1bGVzLm5vdF9jb250YWluc10pIDogJycSgAEKAmluGAogAygJQnTCSHEKbwoJc3RyaW5nLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YCyADKAlCZ8JIZApiCg1zdHJpbmcubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycS3wEKBWVtYWlsGAwgASgIQs0BwkjJAQphCgxzdHJpbmcuZW1haWwSI3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGiwhcnVsZXMuZW1haWwgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzRW1haWwoKQpkChJzdHJpbmcuZW1haWxfZW1wdHkSMnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGhohcnVsZXMuZW1haWwgfHwgdGhpcyAhPSAnJ0gAEucBCghob3N0bmFtZRgNIAEoCELSAcJIzgEKZQoPc3RyaW5nLmhvc3RuYW1lEh52YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUaMiFydWxlcy5ob3N0bmFtZSB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpCmUKFXN0cmluZy5ob3N0bmFtZV9lbXB0eRItdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3RuYW1lGh0hcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyAhPSAnJ0gAEscBCgJpcBgOIAEoCEK4AcJItAEKVQoJc3RyaW5nLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxomIXJ1bGVzLmlwIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKCkKWwoPc3RyaW5nLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxoXIXJ1bGVzLmlwIHx8IHRoaXMgIT0gJydIABLWAQoEaXB2NBgPIAEoCELFAcJIwQEKXAoLc3RyaW5nLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaKSFydWxlcy5pcHY0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKDQpCmEKEXN0cmluZy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGhkhcnVsZXMuaXB2NCB8fCB0aGlzICE9ICcnSAAS1gEKBGlwdjYYECABKAhCxQHCSMEBClwKC3N0cmluZy5pcHY2EiJ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NiBhZGRyZXNzGikhcnVsZXMuaXB2NiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg2KQphChFzdHJpbmcuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxoZIXJ1bGVzLmlwdjYgfHwgdGhpcyAhPSAnJ0gAEr8BCgN1cmkYESABKAhCrwHCSKsBClEKCnN0cmluZy51cmkSGXZhbHVlIG11c3QgYmUgYSB2YWxpZCBVUkkaKCFydWxlcy51cmkgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzVXJpKCkKVgoQc3RyaW5nLnVyaV9lbXB0eRIodmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVSSRoYIXJ1bGVzLnVyaSB8fCB0aGlzICE9ICcnSAAScAoHdXJpX3JlZhgSIAEoCEJdwkhaClgKDnN0cmluZy51cmlfcmVmEiN2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVJJIFJlZmVyZW5jZRohIXJ1bGVzLnVyaV9yZWYgfHwgdGhpcy5pc1VyaVJlZigpSAASkAIKB2FkZHJlc3MYFSABKAhC/AHCSPgBCoEBCg5zdHJpbmcuYWRkcmVzcxItdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lLCBvciBpcCBhZGRyZXNzGkAhcnVsZXMuYWRkcmVzcyB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpIHx8IHRoaXMuaXNJcCgpCnIKFHN0cmluZy5hZGRyZXNzX2VtcHR5Ejx2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaHCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgIT0gJydIABKYAgoEdXVpZBgWIAEoCEKHAsJIgwIKpQEKC3N0cmluZy51dWlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBp6IXJ1bGVzLnV1aWQgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykKWQoRc3RyaW5nLnV1aWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVVUlEGhkhcnVsZXMudXVpZCB8fCB0aGlzICE9ICcnSAAS8AEKBXR1dWlkGCEgASgIQt4BwkjaAQpzCgxzdHJpbmcudHV1aWQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCB0cmltbWVkIFVVSUQaPyFydWxlcy50dXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezMyfSQnKQpjChJzdHJpbmcudHV1aWRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCB0cmltbWVkIFVVSUQaGiFydWxlcy50dXVpZCB8fCB0aGlzICE9ICcnSAASlgIKEWlwX3dpdGhfcHJlZml4bGVuGBogASgIQvgBwkj0AQp4ChhzdHJpbmcuaXBfd2l0aF9wcmVmaXhsZW4SH3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUCBwcmVmaXgaOyFydWxlcy5pcF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCgpCngKHnN0cmluZy5pcF93aXRoX3ByZWZpeGxlbl9lbXB0eRIudmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIHByZWZpeBomIXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLPAgoTaXB2NF93aXRoX3ByZWZpeGxlbhgbIAEoCEKvAsJIqwIKkwEKGnN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuEjV2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBo+IXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCkKkgEKIHN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuX2VtcHR5EkR2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBooIXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEs8CChNpcHY2X3dpdGhfcHJlZml4bGVuGBwgASgIQq8CwkirAgqTAQoac3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW4SNXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg2KQqSAQogc3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAAS8gEKCWlwX3ByZWZpeBgdIAEoCELcAcJI2AEKbAoQc3RyaW5nLmlwX3ByZWZpeBIfdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo3IXJ1bGVzLmlwX3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCh0cnVlKQpoChZzdHJpbmcuaXBfcHJlZml4X2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4Gh4hcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgIT0gJydIABKDAgoLaXB2NF9wcmVmaXgYHiABKAhC6wHCSOcBCnUKEnN0cmluZy5pcHY0X3ByZWZpeBIhdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjQgcHJlZml4GjwhcnVsZXMuaXB2NF9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjRfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBwcmVmaXgaICFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzICE9ICcnSAASgwIKC2lwdjZfcHJlZml4GB8gASgIQusBwkjnAQp1ChJzdHJpbmcuaXB2Nl9wcmVmaXgSIXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IHByZWZpeBo8IXJ1bGVzLmlwdjZfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYsIHRydWUpCm4KGHN0cmluZy5pcHY2X3ByZWZpeF9lbXB0eRIwdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgcHJlZml4GiAhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAErUCCg1ob3N0X2FuZF9wb3J0GCAgASgIQpsCwkiXAgqZAQoUc3RyaW5nLmhvc3RfYW5kX3BvcnQSQXZhbHVlIG11c3QgYmUgYSB2YWxpZCBob3N0IChob3N0bmFtZSBvciBJUCBhZGRyZXNzKSBhbmQgcG9ydCBwYWlyGj4hcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0QW5kUG9ydCh0cnVlKQp5ChpzdHJpbmcuaG9zdF9hbmRfcG9ydF9lbXB0eRI3dmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3QgYW5kIHBvcnQgcGFpchoiIXJ1bGVzLmhvc3RfYW5kX3BvcnQgfHwgdGhpcyAhPSAnJ0gAEvUBCgR1bGlkGCMgASgIQuQBwkjgAQqCAQoLc3RyaW5nLnVsaWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVTElEGlchcnVsZXMudWxpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTddWzAtOUEtSEpLTU5QLVRWLVphLWhqa21ucC10di16XXsyNX0kJykKWQoRc3RyaW5nLnVsaWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVTElEGhkhcnVsZXMudWxpZCB8fCB0aGlzICE9ICcnSAASqAUKEHdlbGxfa25vd25fcmVnZXgYGCABKA4yGC5idWYudmFsaWRhdGUuS25vd25SZWdleELxBMJI7QQK8AEKI3N0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lEiZ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRqgAXJ1bGVzLndlbGxfa25vd25fcmVnZXggIT0gMSB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXjo/WzAtOWEtekEtWiEjJCUmXCcqKy0uXl98flx4NjBdKyQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSskJykKjQEKKXN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lX2VtcHR5EjV2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRopcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgIT0gJycK5wEKJHN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl92YWx1ZRIndmFsdWUgbXVzdCBiZSBhIHZhbGlkIEhUVFAgaGVhZGVyIHZhbHVlGpUBcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAyIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXlteXHUwMDAwLVx1MDAwOFx1MDAwQS1cdTAwMUZcdTAwN0ZdKiQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSokJylIABIOCgZzdHJpY3QYGSABKAgSLAoHZXhhbXBsZRgiIAMoCUIbwkgYChYKDnN0cmluZy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLCEgoKQnl0ZXNSdWxlcxKAAQoFY29uc3QYASABKAxCccJIbgpsCgtieXRlcy5jb25zdBpddGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBiZSAleCcuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEngKA2xlbhgNIAEoBEJrwkhoCmYKCWJ5dGVzLmxlbhpZdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSkAEKB21pbl9sZW4YAiABKARCf8JIfAp6Cg1ieXRlcy5taW5fbGVuGml1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg1ieXRlcy5tYXhfbGVuGmF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9sZW4gPyAndmFsdWUgbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEpABCgdwYXR0ZXJuGAQgASgJQn/CSHwKegoNYnl0ZXMucGF0dGVybhppIXN0cmluZyh0aGlzKS5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIG11c3QgbWF0Y2ggcmVnZXggcGF0dGVybiBgJXNgJy5mb3JtYXQoW3J1bGVzLnBhdHRlcm5dKSA6ICcnEoEBCgZwcmVmaXgYBSABKAxCccJIbgpsCgxieXRlcy5wcmVmaXgaXCF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCAleCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEn8KBnN1ZmZpeBgGIAEoDEJvwkhsCmoKDGJ5dGVzLnN1ZmZpeBpaIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCAleCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEoMBCghjb250YWlucxgHIAEoDEJxwkhuCmwKDmJ5dGVzLmNvbnRhaW5zGlohdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSpwEKAmluGAggAygMQpoBwkiWAQqTAQoIYnl0ZXMuaW4ahgFnZXRGaWVsZChydWxlcywgJ2luJykuc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ2CgZub3RfaW4YCSADKAxCZsJIYwphCgxieXRlcy5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxLrAQoCaXAYCiABKAhC3AHCSNgBCnQKCGJ5dGVzLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxpGIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNCB8fCB0aGlzLnNpemUoKSA9PSAxNgpgCg5ieXRlcy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaHSFydWxlcy5pcCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5AEKBGlwdjQYCyABKAhC0wHCSM8BCmUKCmJ5dGVzLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaMyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNApmChBieXRlcy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGh8hcnVsZXMuaXB2NCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5QEKBGlwdjYYDCABKAhC1AHCSNABCmYKCmJ5dGVzLmlwdjYSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaNCFydWxlcy5pcHY2IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gMTYKZgoQYnl0ZXMuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxofIXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgIT0gMEgAEtUBCgR1dWlkGA8gASgIQsQBwkjAAQpeCgpieXRlcy51dWlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBo0IXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpeChBieXRlcy51dWlkX2VtcHR5Eil2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgVVVJRBofIXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgIT0gMEgAEisKB2V4YW1wbGUYDiADKAxCGsJIFwoVCg1ieXRlcy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLUAwoJRW51bVJ1bGVzEoIBCgVjb25zdBgBIAEoBUJzwkhwCm4KCmVudW0uY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIUCgxkZWZpbmVkX29ubHkYAiABKAgSfgoCaW4YAyADKAVCcsJIbwptCgdlbnVtLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ1CgZub3RfaW4YBCADKAVCZcJIYgpgCgtlbnVtLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEioKB2V4YW1wbGUYBSADKAVCGcJIFgoUCgxlbnVtLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAiL7AwoNUmVwZWF0ZWRSdWxlcxKeAQoJbWluX2l0ZW1zGAEgASgEQooBwkiGAQqDAQoScmVwZWF0ZWQubWluX2l0ZW1zGm11aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9pdGVtcyA/ICd2YWx1ZSBtdXN0IGNvbnRhaW4gYXQgbGVhc3QgJWQgaXRlbShzKScuZm9ybWF0KFtydWxlcy5taW5faXRlbXNdKSA6ICcnEqIBCgltYXhfaXRlbXMYAiABKARCjgHCSIoBCocBChJyZXBlYXRlZC5tYXhfaXRlbXMacXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2l0ZW1zID8gJ3ZhbHVlIG11c3QgY29udGFpbiBubyBtb3JlIHRoYW4gJXMgaXRlbShzKScuZm9ybWF0KFtydWxlcy5tYXhfaXRlbXNdKSA6ICcnEnAKBnVuaXF1ZRgDIAEoCEJgwkhdClsKD3JlcGVhdGVkLnVuaXF1ZRIocmVwZWF0ZWQgdmFsdWUgbXVzdCBjb250YWluIHVuaXF1ZSBpdGVtcxoeIXJ1bGVzLnVuaXF1ZSB8fCB0aGlzLnVuaXF1ZSgpEicKBWl0ZW1zGAQgASgLMhguYnVmLnZhbGlkYXRlLkZpZWxkUnVsZXMqCQjoBxCAgICAAiKKAwoITWFwUnVsZXMSjwEKCW1pbl9wYWlycxgBIAEoBEJ8wkh5CncKDW1hcC5taW5fcGFpcnMaZnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IGxlYXN0ICVkIGVudHJpZXMnLmZvcm1hdChbcnVsZXMubWluX3BhaXJzXSkgOiAnJxKOAQoJbWF4X3BhaXJzGAIgASgEQnvCSHgKdgoNbWFwLm1heF9wYWlycxpldWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfcGFpcnMgPyAnbWFwIG11c3QgYmUgYXQgbW9zdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1heF9wYWlyc10pIDogJycSJgoEa2V5cxgEIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzEigKBnZhbHVlcxgFIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzKgkI6AcQgICAgAIiJgoIQW55UnVsZXMSCgoCaW4YAiADKAkSDgoGbm90X2luGAMgAygJIpkXCg1EdXJhdGlvblJ1bGVzEqEBCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJ3wkh0CnIKDmR1cmF0aW9uLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSqAEKAmx0GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQn/CSHwKegoLZHVyYXRpb24ubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASugEKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKPAcJIiwEKiAEKDGR1cmF0aW9uLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASwQcKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQpcHwkiTBwp9CgtkdXJhdGlvbi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDmR1cmF0aW9uLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYZHVyYXRpb24uZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD2R1cmF0aW9uLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGWR1cmF0aW9uLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEo0ICgNndGUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25C4gfCSN4HCosBCgxkdXJhdGlvbi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPZHVyYXRpb24uZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlkdXJhdGlvbi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQZHVyYXRpb24uZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoaZHVyYXRpb24uZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESnQEKAmluGAcgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnbCSHMKcQoLZHVyYXRpb24uaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEpQBCgZub3RfaW4YCCADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CacJIZgpkCg9kdXJhdGlvbi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJJCgdleGFtcGxlGAkgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQh3CSBoKGAoQZHVyYXRpb24uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i/QUKDkZpZWxkTWFza1J1bGVzEr8BCgVjb25zdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCkwHCSI8BCowBChBmaWVsZF9tYXNrLmNvbnN0Gnh0aGlzLnBhdGhzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRocyA/ICd2YWx1ZSBtdXN0IGVxdWFsIHBhdGhzICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRoc10pIDogJycS2QEKAmluGAIgAygJQswBwkjIAQrFAQoNZmllbGRfbWFzay5pbhqzASF0aGlzLnBhdGhzLmFsbChwLCBwIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ2luJykuZXhpc3RzKGYsIHAuc3RhcnRzV2l0aChmKycuJykpKSA/ICd2YWx1ZSBtdXN0IG9ubHkgY29udGFpbiBwYXRocyBpbiAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEvMBCgZub3RfaW4YAyADKAlC4gHCSN4BCtsBChFmaWVsZF9tYXNrLm5vdF9pbhrFASF0aGlzLnBhdGhzLmFsbChwLCAhKHAgaW4gZ2V0RmllbGQocnVsZXMsICdub3RfaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ25vdF9pbicpLmV4aXN0cyhmLCBwLnN0YXJ0c1dpdGgoZisnLicpKSkpID8gJ3ZhbHVlIG11c3Qgbm90IGNvbnRhaW4gYW55IHBhdGhzIGluICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnbm90X2luJyldKSA6ICcnEkwKB2V4YW1wbGUYBCADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQh/CSBwKGgoSZmllbGRfbWFzay5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIikhgKDlRpbWVzdGFtcFJ1bGVzEqMBCgVjb25zdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCeMJIdQpzCg90aW1lc3RhbXAuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKrAQoCbHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQoABwkh9CnsKDHRpbWVzdGFtcC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABK8AQoDbHRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKQAcJIjAEKiQEKDXRpbWVzdGFtcC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEmwKBmx0X25vdxgHIAEoCEJawkhXClUKEHRpbWVzdGFtcC5sdF9ub3caQShydWxlcy5sdF9ub3cgJiYgdGhpcyA+IG5vdykgPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gbm93JyA6ICcnSAASxwcKAmd0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKcB8JImAcKfgoMdGltZXN0YW1wLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq3AQoPdGltZXN0YW1wLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq/AQoZdGltZXN0YW1wLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCscBChB0aW1lc3RhbXAuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrPAQoadGltZXN0YW1wLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEpMICgNndGUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQucHwkjjBwqMAQoNdGltZXN0YW1wLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsYBChB0aW1lc3RhbXAuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs4BChp0aW1lc3RhbXAuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1gEKEXRpbWVzdGFtcC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt4BCht0aW1lc3RhbXAuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESbwoGZ3Rfbm93GAggASgIQl3CSFoKWAoQdGltZXN0YW1wLmd0X25vdxpEKHJ1bGVzLmd0X25vdyAmJiB0aGlzIDwgbm93KSA/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBub3cnIDogJydIARK4AQoGd2l0aGluGAkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQowBwkiIAQqFAQoQdGltZXN0YW1wLndpdGhpbhpxdGhpcyA8IG5vdy1ydWxlcy53aXRoaW4gfHwgdGhpcyA+IG5vdytydWxlcy53aXRoaW4gPyAndmFsdWUgbXVzdCBiZSB3aXRoaW4gJXMgb2Ygbm93Jy5mb3JtYXQoW3J1bGVzLndpdGhpbl0pIDogJycSSwoHZXhhbXBsZRgKIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCHsJIGwoZChF0aW1lc3RhbXAuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iOQoKVmlvbGF0aW9ucxIrCgp2aW9sYXRpb25zGAEgAygLMhcuYnVmLnZhbGlkYXRlLlZpb2xhdGlvbiKfAQoJVmlvbGF0aW9uEiYKBWZpZWxkGAUgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIlCgRydWxlGAYgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIPCgdydWxlX2lkGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSDwoHZm9yX2tleRgEIAEoCEoECAEQAlIKZmllbGRfcGF0aCI9CglGaWVsZFBhdGgSMAoIZWxlbWVudHMYASADKAsyHi5idWYudmFsaWRhdGUuRmllbGRQYXRoRWxlbWVudCLpAgoQRmllbGRQYXRoRWxlbWVudBIUCgxmaWVsZF9udW1iZXIYASABKAUSEgoKZmllbGRfbmFtZRgCIAEoCRI+CgpmaWVsZF90eXBlGAMgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSPAoIa2V5X3R5cGUYBCABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRI+Cgp2YWx1ZV90eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSDwoFaW5kZXgYBiABKARIABISCghib29sX2tleRgHIAEoCEgAEhEKB2ludF9rZXkYCCABKANIABISCgh1aW50X2tleRgJIAEoBEgAEhQKCnN0cmluZ19rZXkYCiABKAlIAEILCglzdWJzY3JpcHQqoQEKBklnbm9yZRIWChJJR05PUkVfVU5TUEVDSUZJRUQQABIYChRJR05PUkVfSUZfWkVST19WQUxVRRABEhEKDUlHTk9SRV9BTFdBWVMQAyIECAIQAioMSUdOT1JFX0VNUFRZKg5JR05PUkVfREVGQVVMVCoXSUdOT1JFX0lGX0RFRkFVTFRfVkFMVUUqFUlHTk9SRV9JRl9VTlBPUFVMQVRFRCpuCgpLbm93blJlZ2V4EhsKF0tOT1dOX1JFR0VYX1VOU1BFQ0lGSUVEEAASIAocS05PV05fUkVHRVhfSFRUUF9IRUFERVJfTkFNRRABEiEKHUtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX1ZBTFVFEAI6VgoHbWVzc2FnZRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiHCSABKAsyGi5idWYudmFsaWRhdGUuTWVzc2FnZVJ1bGVzUgdtZXNzYWdlOk4KBW9uZW9mEh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9ucxiHCSABKAsyGC5idWYudmFsaWRhdGUuT25lb2ZSdWxlc1IFb25lb2Y6TgoFZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGIcJIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzUgVmaWVsZDpdCgpwcmVkZWZpbmVkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiICSABKAsyHS5idWYudmFsaWRhdGUuUHJlZGVmaW5lZFJ1bGVzUgpwcmVkZWZpbmVkQm4KEmJ1aWxkLmJ1Zi52YWxpZGF0ZUINVmFsaWRhdGVQcm90b1ABWkdidWYuYnVpbGQvZ2VuL2dvL2J1ZmJ1aWxkL3Byb3RvdmFsaWRhdGUvcHJvdG9jb2xidWZmZXJzL2dvL2J1Zi92YWxpZGF0ZQ",[un,bn,Gn,hn]);var F=Zn("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2RhdGEucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKmCgoKU2lnbmFsRGF0YRL3BQoIZmlsZW5hbWUYASABKAlC3wW6SNsFugGvAQobZmlsZW5hbWUubm9fcGF0aF9zZXBhcmF0b3JzEmNGaWxlbmFtZSBjYW5ub3QgY29udGFpbiBwYXRoIHNlcGFyYXRvcnMgKCcvJyBvciAnXCcpLiBVc2Ugb25seSB0aGUgZmlsZW5hbWUgd2l0aG91dCBkaXJlY3RvcnkgcGF0aC4aKyF0aGlzLmNvbnRhaW5zKCcvJykgJiYgIXRoaXMuY29udGFpbnMoJ1xcJym6AbsBCh5maWxlbmFtZS5ub19jb250cm9sX2NoYXJhY3RlcnMSOUZpbGVuYW1lIGNhbm5vdCBjb250YWluIGNvbnRyb2wgY2hhcmFjdGVycyBvciBudWxsIGJ5dGVzLhpeIXRoaXMuY29udGFpbnMoJ1x4MDAnKSAmJiAhdGhpcy5jb250YWlucygnXG4nKSAmJiAhdGhpcy5jb250YWlucygnXHInKSAmJiAhdGhpcy5jb250YWlucygnXHQnKboBbQonZmlsZW5hbWUubm9fbGVhZGluZ190cmFpbGluZ193aGl0ZXNwYWNlEi1GaWxlbmFtZSBjYW5ub3Qgc3RhcnQgb3IgZW5kIHdpdGggd2hpdGVzcGFjZS4aE3RoaXMgPT0gdGhpcy50cmltKCm6AdMBChxmaWxlbmFtZS5ub193aW5kb3dzX3Jlc2VydmVkEmpGaWxlbmFtZSBjYW5ub3QgYmUgYSBXaW5kb3dzIHJlc2VydmVkIG5hbWUgKENPTiwgUFJOLCBBVVgsIE5VTCwgQ09NMS05LCBMUFQxLTkpIHdpdGggb3Igd2l0aG91dCBleHRlbnNpb24uGkchdGhpcy5tYXRjaGVzKCdeKD9pKShDT058UFJOfEFVWHxOVUx8Q09NWzEtOV18TFBUWzEtOV0pKD86XFwuW14uXSopPyQnKXIgEAEY/wEyGV5bXi88PjoifD8qXHgwMC1ceDFGXFxdKyRIAIgBARKCBAoJbWltZV90eXBlGAIgASgJQu4DukjqA7oByQEKFm1pbWVfdHlwZS5ub193aWxkY2FyZHMSmQFNSU1FIHR5cGUgd2lsZGNhcmRzIGFyZSBub3QgYWxsb3dlZCBpbiBTaWduYWxEYXRhLiBVc2UgYSBjb25jcmV0ZSBNSU1FIHR5cGUgbGlrZSAnaW1hZ2UvcG5nJyBvciAnYXBwbGljYXRpb24vcGRmJywgbm90IHdpbGRjYXJkcyBsaWtlICdpbWFnZS8qJyBvciAnKi8qJy4aEyF0aGlzLmNvbnRhaW5zKCcqJym6Ab8BChdtaW1lX3R5cGUubm9fcGFyYW1ldGVycxKOAU1JTUUgdHlwZSBwYXJhbWV0ZXJzIGFyZSBub3QgYWxsb3dlZC4gVXNlICd0ZXh0L3BsYWluJyBpbnN0ZWFkIG9mICd0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04Jy4gVVRGLTggZW5jb2RpbmcgaXMgYXNzdW1lZCBmb3IgYWxsIHRleHQgZm9ybWF0cy4aEyF0aGlzLmNvbnRhaW5zKCc7JylyWBADGP8BMlFeW2EtekEtWjAtOV1bYS16QS1aMC05ISMkJlwtXl8uK117MCwxMjZ9L1thLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fSQSDAoEZGF0YRgDIAEoDEILCglfZmlsZW5hbWViBnByb3RvMw",[d]),w=In(F,0);import{fileDesc as Vn,messageDesc as Rn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as yn,messageDesc as An}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_struct as Sn}from"@bufbuild/protobuf/wkt";var le=yn("Ciltb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvanRkX3NjaGVtYS5wcm90bxIYbW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoIpMWCglKVERTY2hlbWESegoLZGVmaW5pdGlvbnMYASADKAsyNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hLkRlZmluaXRpb25zRW50cnlCL7pILJoBKQgAEOgHIiJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEi4KCG1ldGFkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhUKCG51bGxhYmxlGAMgASgISAGIAQESNwoDcmVmGAQgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSAKIAQEScQoEdHlwZRgFIAEoCUJeukhbcllSB2Jvb2xlYW5SB2Zsb2F0MzJSB2Zsb2F0NjRSBGludDhSBXVpbnQ4UgVpbnQxNlIGdWludDE2UgVpbnQzMlIGdWludDMyUgZzdHJpbmdSCXRpbWVzdGFtcEgDiAEBEiQKBGVudW0YBiADKAlCFrpIE5IBEAgAEOgHGAEiB3IFEAEY6AcSOgoIZWxlbWVudHMYByABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hSASIAQESXAoKcHJvcGVydGllcxgIIAMoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWEuUHJvcGVydGllc0VudHJ5QhO6SBCaAQ0IABDoByIGcgQQARhkEm0KE29wdGlvbmFsX3Byb3BlcnRpZXMYCSADKAsyOy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hLk9wdGlvbmFsUHJvcGVydGllc0VudHJ5QhO6SBCaAQ0IABDoByIGcgQQARhkEiIKFWFkZGl0aW9uYWxfcHJvcGVydGllcxgKIAEoCEgFiAEBEjgKBnZhbHVlcxgLIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFIBogBARIlCg1kaXNjcmltaW5hdG9yGAwgASgJQgm6SAZyBBABGGRIB4gBARJWCgdtYXBwaW5nGA0gAygLMjAubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYS5NYXBwaW5nRW50cnlCE7pIEJoBDQgAEOgHIgZyBBABGGQaVwoQRGVmaW5pdGlvbnNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hOgI4ARpWCg9Qcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYToCOAEaXgoXT3B0aW9uYWxQcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYToCOAEaUwoMTWFwcGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWE6AjgBOrULukixCxqTAwocanRkLm11dHVhbGx5X2V4Y2x1c2l2ZV9mb3JtcxKIAVNjaGVtYSBtdXN0IHVzZSBleGFjdGx5IG9uZSBmb3JtIChlbXB0eSwgcmVmLCB0eXBlLCBlbnVtLCBlbGVtZW50cywgcHJvcGVydGllcywgdmFsdWVzLCBvciBkaXNjcmltaW5hdG9yKS4gTXVsdGlwbGUgZm9ybSBrZXl3b3JkcyBmb3VuZC4a5wFbaGFzKHRoaXMucmVmKSwgaGFzKHRoaXMudHlwZSksIHNpemUodGhpcy5lbnVtKSA+IDAsIGhhcyh0aGlzLmVsZW1lbnRzKSwgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPiAwLCBoYXModGhpcy52YWx1ZXMpLCBoYXModGhpcy5kaXNjcmltaW5hdG9yKSAmJiBzaXplKHRoaXMubWFwcGluZykgPiAwXS5maWx0ZXIoeCwgeCkuc2l6ZSgpIDw9IDEa+AEKGWp0ZC5wcm9wZXJ0aWVzX25vX292ZXJsYXASWFByb3BlcnRpZXMgYW5kIG9wdGlvbmFsX3Byb3BlcnRpZXMgY2Fubm90IGhhdmUgb3ZlcmxhcHBpbmcga2V5cyAoUkZDIDg5MjcgU2VjdGlvbiAyLjIuNikagAEhKHNpemUodGhpcy5wcm9wZXJ0aWVzKSA+IDAgJiYgc2l6ZSh0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpID4gMCkgfHwgdGhpcy5wcm9wZXJ0aWVzLmFsbChwaywgIShwayBpbiB0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpKRqQAgoxanRkLmFkZGl0aW9uYWxfcHJvcGVydGllc19vbmx5X29uX3Byb3BlcnRpZXNfZm9ybRJ2YWRkaXRpb25hbF9wcm9wZXJ0aWVzIGNhbiBvbmx5IGJlIHNldCB3aGVuIHVzaW5nIHRoZSBwcm9wZXJ0aWVzIGZvcm0gKGhhcyBub24tZW1wdHkgcHJvcGVydGllcyBvciBvcHRpb25hbF9wcm9wZXJ0aWVzKRpjIWhhcyh0aGlzLmFkZGl0aW9uYWxfcHJvcGVydGllcykgfHwgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPiAwGsIBCiJqdGQuZGlzY3JpbWluYXRvcl9yZXF1aXJlc19tYXBwaW5nEmdkaXNjcmltaW5hdG9yIGFuZCBtYXBwaW5nIG11c3QgYXBwZWFyIHRvZ2V0aGVyIHdpdGggYXQgbGVhc3Qgb25lIG1hcHBpbmcgZW50cnkgKFJGQyA4OTI3IFNlY3Rpb24gMi4yLjgpGjNoYXModGhpcy5kaXNjcmltaW5hdG9yKSA9PSAoc2l6ZSh0aGlzLm1hcHBpbmcpID4gMCkaxQIKEmp0ZC5lbnVtX25vbl9lbXB0eRJKZW51bSBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eSB3aGVuIHVzaW5nIGVudW0gZm9ybSAoUkZDIDg5MjcgU2VjdGlvbiAyLjIuNCka4gFzaXplKHRoaXMuZW51bSkgPiAwICYmICFoYXModGhpcy50eXBlKSAmJiAhaGFzKHRoaXMucmVmKSAmJiAhaGFzKHRoaXMuZWxlbWVudHMpICYmICFoYXModGhpcy52YWx1ZXMpICYmICFoYXModGhpcy5kaXNjcmltaW5hdG9yKSAmJiBzaXplKHRoaXMucHJvcGVydGllcykgPT0gMCAmJiBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPT0gMCA/IHNpemUodGhpcy5lbnVtKSA+IDAgOiB0cnVlQgsKCV9tZXRhZGF0YUILCglfbnVsbGFibGVCBgoEX3JlZkIHCgVfdHlwZUILCglfZWxlbWVudHNCGAoWX2FkZGl0aW9uYWxfcHJvcGVydGllc0IJCgdfdmFsdWVzQhAKDl9kaXNjcmltaW5hdG9yYgZwcm90bzM",[d,Sn]),kt=An(le,0);var L=Vn("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2Zvcm1hdC5wcm90bxIYbW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoIo8FCgxTaWduYWxGb3JtYXQSOQoKanRkX3NjaGVtYRgBIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFIABKyBAoJbWltZV90eXBlGAIgASgJQpwEukiYBLoBmwIKMG1pbWVfdHlwZS5ub190eXBlX3dpbGRjYXJkX3dpdGhfY29uY3JldGVfc3VidHlwZRK7AVR5cGUgd2lsZGNhcmQgd2l0aCBjb25jcmV0ZSBzdWJ0eXBlIChlLmcuLCAnKi9wbmcnLCAnKi9qc29uJykgaXMgbm90IGFsbG93ZWQuIFVzZSBjb25jcmV0ZSB0eXBlIChlLmcuLCAnaW1hZ2UvcG5nJyksIHR5cGUtZmFtaWx5IHdpbGRjYXJkIChlLmcuLCAnaW1hZ2UvKicpLCBvciB1bml2ZXJzYWwgd2lsZGNhcmQgKCcqLyonKS4aKSEodGhpcy5zdGFydHNXaXRoKCcqLycpICYmIHRoaXMgIT0gJyovKicpugGRAQodbWltZV90eXBlLm5vX2FwcGxpY2F0aW9uX2pzb24SR2dlbmVyaWMganNvbiBpcyBqdGQtc2NoZW1hIHdpdGggZW1wdHkgc2NoZW1hLCB0aGlzIHdpbGwgYWNjZXB0IGFueSBKU09OGid0aGlzLmxvd2VyQXNjaWkoKSAhPSAnYXBwbGljYXRpb24vanNvbidyYhADGP8BMlteKFthLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fXxcKikvKFthLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fXxcKikkSABCDwoGZm9ybWF0EgW6SAIIAWIGcHJvdG8z",[d,le]),Je=Rn(L,0);import{fileDesc as Ln,messageDesc as kn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as Bn,messageDesc as Yn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as Wn,messageDesc as Cn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as Xn,messageDesc as Jn}from"@bufbuild/protobuf/codegenv2";var k=Xn("CjBtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2Rlc2NyaXB0b3IucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKMAgoQU2lnbmFsRGVzY3JpcHRvchIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhwKBWxhYmVsGAIgASgJQgi6SAVyAxj6AUgAiAEBEiIKC2Rlc2NyaXB0aW9uGAMgASgJQgi6SAVyAxjoB0gBiAEBEhUKCG9wdGlvbmFsGAQgASgISAKIAQESQwoHZm9ybWF0cxgFIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRCCrpIB5IBBAgBEDJCCAoGX2xhYmVsQg4KDF9kZXNjcmlwdGlvbkILCglfb3B0aW9uYWxiBnByb3RvMw",[d,L]),qt=Jn(k,0);var de=Wn("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLMAgoLVHJhbnNjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEhYKCXN0cmVhbWluZxgEIAEoCEgBiAEBQg4KDF9kZXNjcmlwdGlvbkIMCgpfc3RyZWFtaW5nYgZwcm90bzM",[d,k]),ss=Cn(de,0);var me=Bn("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvZXhjaGFuZ2UucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLuAwoIRXhjaGFuZ2USMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARLCAQoMdHJhbnNtaXR0ZXJzGAMgAygLMiUubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlRyYW5zY2VpdmVyQoQBukiAAboBeAoZdHJhbnNtaXR0ZXJzX3VuaXF1ZV9uYW1lcxIpRWFjaCB0cmFuc21pdHRlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aMHRoaXMubWFwKHRyYW5zbWl0dGVyLCB0cmFuc21pdHRlci5uYW1lKS51bmlxdWUoKZIBAhAKErMBCglyZWNlaXZlcnMYBCADKAsyJS5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEApCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM",[d,de]),is=Yn(me,0);import{fileDesc as fn,messageDesc as Hn}from"@bufbuild/protobuf/codegenv2";import{enumDesc as Fn,fileDesc as xn,messageDesc as Mn}from"@bufbuild/protobuf/codegenv2";var te=xn("Ci1tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2JpbmRpbmcucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCK9BgoNU2lnbmFsQmluZGluZxIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhwKBWxhYmVsGAIgASgJQgi6SAVyAxj6AUgBiAEBEiIKC2Rlc2NyaXB0aW9uGAMgASgJQgi6SAVyAxjoB0gCiAEBEhUKCG9wdGlvbmFsGAQgASgISAOIAQESQwoHYWNjZXB0cxgFIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRCCrpIB5IBBAgBEDISggEKCXJlZmVyZW5jZRgGIAEoCUJtukhqcmgY+gEyY14oWzAtOWEtel17NH0vW18kYS16QS1aXVtfJGEtekEtWjAtOV0qL1tfJGEtekEtWl1bXyRhLXpBLVowLTldKnxjb25zdGFudC9bXyRhLXpBLVpdW18kYS16QS1aMC05XSopJEgAEuIBCghjb25zdGFudBgHIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQqcBGAG6SKEBugGdAQoZY29uc3RhbnQubWF4X3BheWxvYWRfc2l6ZRJmQ29uc3RhbnQgc2lnbmFsIGRhdGEgY2Fubm90IGV4Y2VlZCA1MEtCICg1MTIwMCBieXRlcykuIEZvciBsYXJnZXIgZGF0YSwgdXNlIHNpZ25hbCByZWZlcmVuY2VzIGluc3RlYWQuGhhzaXplKHRoaXMuZGF0YSkgPD0gNTEyMDBIABJLCgVlcnJvchgIIAEoDjItLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxCaW5kaW5nLkVycm9yQgi6SAWCAQIgAEgEiAEBImYKBUVycm9yEhUKEUVSUk9SX1VOU1BFQ0lGSUVEEAASEQoNRVJST1JfVU5CT1VORBABEhgKFEVSUk9SX0lOVkFMSURfU09VUkNFEAISGQoVRVJST1JfU0NIRU1BX01JU01BVENIEANCCQoHYmluZGluZ0IICgZfbGFiZWxCDgoMX2Rlc2NyaXB0aW9uQgsKCV9vcHRpb25hbEIICgZfZXJyb3JiBnByb3RvMw",[d,F,L]),us=Mn(te,0),En=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.UNBOUND=1]="UNBOUND",s[s.INVALID_SOURCE=2]="INVALID_SOURCE",s[s.SCHEMA_MISMATCH=3]="SCHEMA_MISMATCH",s))(En||{}),bs=Fn(te,0,0);var re=fn("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvcmVjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKlAgoIUmVjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKvAQoIYmluZGluZ3MYAyADKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsQmluZGluZ0J0ukhxugFoChViaW5kaW5nc191bmlxdWVfbmFtZXMSJUVhY2ggYmluZGluZyBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKHRoaXMubWFwKGJpbmRpbmcsIGJpbmRpbmcubmFtZSkudW5pcXVlKCmSAQMQgARCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM",[d,te]),ys=Hn(re,0);import{enumDesc as vn,fileDesc as zn,messageDesc as Kn}from"@bufbuild/protobuf/codegenv2";var D=zn("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNtaXR0ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLCAwoLVHJhbnNtaXR0ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEj0KBG1vZGUYBCABKA4yKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNtaXR0ZXIuTW9kZUgBiAEBIlIKBE1vZGUSFAoQTU9ERV9VTlNQRUNJRklFRBAAEhEKDU1PREVfU1RBTkRBUkQQARIPCgtNT0RFX1NUUkVBTRACEhAKDE1PREVfRkFJTFVSRRADQg4KDF9kZXNjcmlwdGlvbkIHCgVfbW9kZWIGcHJvdG8z",[d,k]),Xs=Kn(D,0),Nn=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.STANDARD=1]="STANDARD",s[s.STREAM=2]="STREAM",s[s.FAILURE=3]="FAILURE",s))(Nn||{}),Js=vn(D,0,0);import{fileDesc as Qn,messageDesc as Bs}from"@bufbuild/protobuf/codegenv2";var We=Qn("Cjxtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdXNlcl9kZWZpbmVkX2V4Y2hhbmdlX29wdGlvbnMucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKNBQoaVXNlckRlZmluZWRFeGNoYW5nZU9wdGlvbnMSaQoTdHJhbnNtaXR0ZXJfb3B0aW9ucxgBIAEoCzJHLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5Vc2VyRGVmaW5lZEV4Y2hhbmdlT3B0aW9ucy5UcmFuc2NlaXZlck9wdGlvbnNIAIgBARJmChByZWNlaXZlcl9vcHRpb25zGAIgASgLMkcubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLlRyYW5zY2VpdmVyT3B0aW9uc0gBiAEBEiMKDW1heF9leGNoYW5nZXMYAyABKAVCB7pIBBoCKABIAogBARIjCg1taW5fZXhjaGFuZ2VzGAQgASgFQge6SAQaAigASAOIAQEaRgoSVHJhbnNjZWl2ZXJPcHRpb25zEhwKD2FsbG93X3N0cmVhbWluZxgBIAEoCEgAiAEBQhIKEF9hbGxvd19zdHJlYW1pbmc6uAG6SLQBGrEBChFtaW5fbWF4X2V4Y2hhbmdlcxI6bWluX2V4Y2hhbmdlcyBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byBtYXhfZXhjaGFuZ2VzLhpgIWhhcyh0aGlzLm1pbl9leGNoYW5nZXMpIHx8ICFoYXModGhpcy5tYXhfZXhjaGFuZ2VzKSB8fCB0aGlzLm1pbl9leGNoYW5nZXMgPD0gdGhpcy5tYXhfZXhjaGFuZ2VzQhYKFF90cmFuc21pdHRlcl9vcHRpb25zQhMKEV9yZWNlaXZlcl9vcHRpb25zQhAKDl9tYXhfZXhjaGFuZ2VzQhAKDl9taW5fZXhjaGFuZ2VzYgZwcm90bzM",[d]);var O=Ln("Ci5tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdmVydGV4X21ldGFkYXRhLnByb3RvEhhtb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGgi5AUKDlZlcnRleE1ldGFkYXRhEhAKCGNvbXBsZXRlGAEgASgIErABCglyZWNlaXZlcnMYAiADKAsyIi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguUmVjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEDISwgEKDHRyYW5zbWl0dGVycxgDIAMoCzIlLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5UcmFuc21pdHRlckKEAbpIgAG6AXgKGXRyYW5zbWl0dGVyc191bmlxdWVfbmFtZXMSKUVhY2ggdHJhbnNtaXR0ZXIgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGjB0aGlzLm1hcCh0cmFuc21pdHRlciwgdHJhbnNtaXR0ZXIubmFtZSkudW5pcXVlKCmSAQIQMhKuAQoJZXhjaGFuZ2VzGAQgAygLMiIubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkV4Y2hhbmdlQne6SHS6AWwKFmV4Y2hhbmdlc191bmlxdWVfbmFtZXMSJkVhY2ggZXhjaGFuZ2UgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGip0aGlzLm1hcChleGNoYW5nZSwgZXhjaGFuZ2UubmFtZSkudW5pcXVlKCmSAQIQZBJOCgt1ZGVfb3B0aW9ucxgFIAEoCzI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5Vc2VyRGVmaW5lZEV4Y2hhbmdlT3B0aW9uc0gAiAEBEiUKDWNyb25fc2NoZWR1bGUYBiABKAlCCbpIBnIEEAEYZEgBiAEBQg4KDF91ZGVfb3B0aW9uc0IQCg5fY3Jvbl9zY2hlZHVsZWIGcHJvdG8z",[d,me,re,D,We]),U=kn(O,0);import{enumDesc as Pn,fileDesc as jn,messageDesc as V,serviceDesc as On}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_field_mask as _n}from"@bufbuild/protobuf/wkt";import{enumDesc as Un,fileDesc as wn,messageDesc as R}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_timestamp as Dn}from"@bufbuild/protobuf/wkt";var I=wn("Ciltb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9zdG9yZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiJgoIUHV0VmFsdWUSDQoFdmFsdWUYASABKAwSCwoDdHRsGAIgASgFIlkKCEdldFZhbHVlEg0KBXZhbHVlGAEgASgMEj4KCG1ldGFkYXRhGAIgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YSJdCg1WYWx1ZU1ldGFkYXRhEgsKA3R0bBgBIAEoBRIxCg1sYXN0X21vZGlmaWVkGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRldGFnGAMgASgJIuwBCg5UaW1lc3RhbXBSYW5nZRIxCgVzdGFydBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCBrpIA8gBARIvCgNlbmQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQga6SAPIAQESFwoPc3RhcnRfaW5jbHVzaXZlGAMgASgIEhUKDWVuZF9pbmNsdXNpdmUYBCABKAg6RrpIQxpBCgt2YWxpZF9yYW5nZRIbc3RhcnQgbXVzdCBiZSBsZXNzIHRoYW4gZW5kGhV0aGlzLnN0YXJ0IDwgdGhpcy5lbmQinwMKCFNlbGVjdE9wEhwKBXN0YXJ0GAEgASgJQgi6SAVyAxiAIEgAiAEBEhoKA2VuZBgCIAEoCUIIukgFcgMYgCBIAYgBARIcCg9zdGFydF9pbmNsdXNpdmUYAyABKAhIAogBARIaCg1lbmRfaW5jbHVzaXZlGAQgASgISAOIAQESHgoFbGltaXQYBSABKAVCCrpIBxoFGOgHKABIBIgBARIXCgpwYWdlX3Rva2VuGAYgASgJSAWIAQE6lAG6SJABGo0BCgt2YWxpZF9yYW5nZRJBd2hlbiBib3RoIHN0YXJ0IGFuZCBlbmQgYXJlIHByb3ZpZGVkLCBzdGFydCBtdXN0IGJlIGxlc3MgdGhhbiBlbmQaOyFoYXModGhpcy5zdGFydCkgfHwgIWhhcyh0aGlzLmVuZCkgfHwgdGhpcy5zdGFydCA8IHRoaXMuZW5kQggKBl9zdGFydEIGCgRfZW5kQhIKEF9zdGFydF9pbmNsdXNpdmVCEAoOX2VuZF9pbmNsdXNpdmVCCAoGX2xpbWl0Qg0KC19wYWdlX3Rva2VuIuABCg5Xcml0ZU9wZXJhdGlvbhI5CgZpbnNlcnQYASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbnNlcnRPcEgAEjkKBmRlbGV0ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkRlbGV0ZU9wSAASRAoMcmFuZ2VfZGVsZXRlGAMgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUmFuZ2VEZWxldGVPcEgAQhIKCW9wZXJhdGlvbhIFukgCCAEiuwEKGUNvbmRpdGlvbmFsV3JpdGVPcGVyYXRpb24SRAoGaW5zZXJ0GAEgASgLMjIubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZGl0aW9uYWxJbnNlcnRPcEgAEkQKBmRlbGV0ZRgCIAEoCzIyLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmRpdGlvbmFsRGVsZXRlT3BIAEISCglvcGVyYXRpb24SBbpIAggBItICCg1SYW5nZURlbGV0ZU9wEhwKBXN0YXJ0GAEgASgJQgi6SAVyAxiAIEgAiAEBEhoKA2VuZBgCIAEoCUIIukgFcgMYgCBIAYgBARIcCg9zdGFydF9pbmNsdXNpdmUYAyABKAhIAogBARIaCg1lbmRfaW5jbHVzaXZlGAQgASgISAOIAQE6lAG6SJABGo0BCgt2YWxpZF9yYW5nZRJBd2hlbiBib3RoIHN0YXJ0IGFuZCBlbmQgYXJlIHByb3ZpZGVkLCBzdGFydCBtdXN0IGJlIGxlc3MgdGhhbiBlbmQaOyFoYXModGhpcy5zdGFydCkgfHwgIWhhcyh0aGlzLmVuZCkgfHwgdGhpcy5zdGFydCA8IHRoaXMuZW5kQggKBl9zdGFydEIGCgRfZW5kQhIKEF9zdGFydF9pbmNsdXNpdmVCEAoOX2VuZF9pbmNsdXNpdmUiYQoISW5zZXJ0T3ASFQoDa2V5GAEgASgJQgi6SAVyAxiAIBI+CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlB1dFZhbHVlQga6SAPIAQEiIQoIRGVsZXRlT3ASFQoDa2V5GAEgASgJQgi6SAVyAxiAICK2BgoTQ29uZGl0aW9uYWxJbnNlcnRPcBIVCgNrZXkYASABKAlCCLpIBXIDGIAgEj4KBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUHV0VmFsdWVCBrpIA8gBARJaCgxwcmVjb25kaXRpb24YAyABKAsyPy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbEluc2VydE9wLlByZWNvbmRpdGlvbkgAiAEBGtoECgxQcmVjb25kaXRpb24SOgoUbGFzdF9tb2RpZmllZF9lcXVhbHMYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAASTAoTbGFzdF9tb2RpZmllZF9yYW5nZRgCIAEoCzItLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRpbWVzdGFtcFJhbmdlSAASEQoEZXRhZxgEIAEoCUgBiAEBEhsKDmZhaWxfaWZfZXhpc3RzGAUgASgISAKIAQE63AK6SNgCGscBCiBub190aW1lc3RhbXBfd2l0aF9mYWlsX2lmX2V4aXN0cxI7ZmFpbF9pZl9leGlzdHMgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggdGltZXN0YW1wIGNvbmRpdGlvbnMaZnRoaXMuZmFpbF9pZl9leGlzdHMgPT0gdHJ1ZSA/ICFoYXModGhpcy5sYXN0X21vZGlmaWVkX2VxdWFscykgJiYgIWhhcyh0aGlzLmxhc3RfbW9kaWZpZWRfcmFuZ2UpIDogdHJ1ZRqLAQobbm9fZXRhZ193aXRoX2ZhaWxfaWZfZXhpc3RzEjZmYWlsX2lmX2V4aXN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBldGFnIGNvbmRpdGlvbnMaNHRoaXMuZmFpbF9pZl9leGlzdHMgPT0gdHJ1ZSA/ICFoYXModGhpcy5ldGFnKSA6IHRydWVCFQoTdGltZXN0YW1wX2NvbmRpdGlvbkIHCgVfZXRhZ0IRCg9fZmFpbF9pZl9leGlzdHNCDwoNX3ByZWNvbmRpdGlvbiLeBQoTQ29uZGl0aW9uYWxEZWxldGVPcBIVCgNrZXkYASABKAlCCLpIBXIDGIAgEloKDHByZWNvbmRpdGlvbhgCIAEoCzI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmRpdGlvbmFsRGVsZXRlT3AuUHJlY29uZGl0aW9uSACIAQEawgQKDFByZWNvbmRpdGlvbhIYCgttdXN0X2V4aXN0cxgBIAEoCEgBiAEBEjoKFGxhc3RfbW9kaWZpZWRfZXF1YWxzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAEkwKE2xhc3RfbW9kaWZpZWRfcmFuZ2UYAyABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UaW1lc3RhbXBSYW5nZUgAEhEKBGV0YWcYBCABKAlIAogBATrKArpIxgIavgEKHW5vX3RpbWVzdGFtcF93aXRoX211c3RfZXhpc3RzEjhtdXN0X2V4aXN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCB0aW1lc3RhbXAgY29uZGl0aW9ucxpjdGhpcy5tdXN0X2V4aXN0cyA9PSB0cnVlID8gIWhhcyh0aGlzLmxhc3RfbW9kaWZpZWRfZXF1YWxzKSAmJiAhaGFzKHRoaXMubGFzdF9tb2RpZmllZF9yYW5nZSkgOiB0cnVlGoIBChhub19ldGFnX3dpdGhfbXVzdF9leGlzdHMSM211c3RfZXhpc3RzIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGV0YWcgY29uZGl0aW9ucxoxdGhpcy5tdXN0X2V4aXN0cyA9PSB0cnVlID8gIWhhcyh0aGlzLmV0YWcpIDogdHJ1ZUIVChN0aW1lc3RhbXBfY29uZGl0aW9uQg4KDF9tdXN0X2V4aXN0c0IHCgVfZXRhZ0IPCg1fcHJlY29uZGl0aW9uKpABCglOYW1lc3BhY2USGQoVTkFNRVNQQUNFX1VOU1BFQ0lGSUVEEAASHQoZTkFNRVNQQUNFX1ZFUlRFWF9JTlNUQU5DRRABEh0KGU5BTUVTUEFDRV9QTFVHSU5fSU5TVEFOQ0UQAhIUChBOQU1FU1BBQ0VfVkVSVEVYEAMSFAoQTkFNRVNQQUNFX1BMVUdJThAEYgZwcm90bzM",[d,Dn]),Ls=R(I,0),ks=R(I,1),Us=R(I,2),pe=R(I,3),ws=R(I,4),se=R(I,5),Ds=R(I,6),Ts=R(I,7),Ps=R(I,8),js=R(I,9),Os=R(I,10),ue=R(I,10,0),_s=R(I,11),Ce=R(I,11,0),Tn=(g=>(g[g.UNSPECIFIED=0]="UNSPECIFIED",g[g.VERTEX_INSTANCE=1]="VERTEX_INSTANCE",g[g.PLUGIN_INSTANCE=2]="PLUGIN_INSTANCE",g[g.VERTEX=3]="VERTEX",g[g.PLUGIN=4]="PLUGIN",g))(Tn||{}),Be=Un(I,0);var S=jn("Cjhtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9jb25maWd1cmF0b3Jfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEi5AEKGkxpc3RJbmNvbWluZ1NpZ25hbHNSZXF1ZXN0EjwKCHJlY2VpdmVyGAEgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSACIAQESNwoHZm9ybWF0cxgCIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXQSMwoKZmllbGRfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAYgBAUILCglfcmVjZWl2ZXJCDQoLX2ZpZWxkX21hc2si9gEKEEluY29taW5nVmVydGljZXMSCgoCaWQYASABKAkSDQoFbGFiZWwYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARI7Cgx0cmFuc21pdHRlcnMYBCADKAsyJS5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNtaXR0ZXISPgoLdmVydGV4X3R5cGUYBSABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5WZXJ0ZXhUeXBlEhQKB2xvZ29faWQYBiABKAlIAYgBAUIOCgxfZGVzY3JpcHRpb25CCgoIX2xvZ29faWQiyAIKG0xpc3RJbmNvbWluZ1NpZ25hbHNSZXNwb25zZRJBCgh2ZXJ0aWNlcxgBIAMoCzIvLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkluY29taW5nVmVydGljZXMSYQoMdmVydGV4X2xvZ29zGAIgAygLMksubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEluY29taW5nU2lnbmFsc1Jlc3BvbnNlLlZlcnRleExvZ29zRW50cnkSEAoIcmVjZWl2ZXIYAyABKAkSPQoJY29uc3RhbnRzGAQgAygLMioubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERlc2NyaXB0b3IaMgoQVmVydGV4TG9nb3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIsYBCilDb25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBJOCgpvcGVyYXRpb25zGAEgAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuV3JpdGVPcGVyYXRpb25CC7pICJIBBQgBEPQDEkkKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIMukgJggEGIAAgASACIvYBCipDb25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2USaQoIbWV0YWRhdGEYASADKAsyVy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2UuTWV0YWRhdGFFbnRyeRpdCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI7CgV2YWx1ZRgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlZhbHVlTWV0YWRhdGE6AjgBIr4BCiRDb25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlcXVlc3QSSwoJb3BlcmF0aW9uGAEgASgLMjgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZGl0aW9uYWxXcml0ZU9wZXJhdGlvbhJJCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCDLpICYIBBiAAIAEgAiJ5CiVDb25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEkMKCG1ldGFkYXRhGAEgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YUgAiAEBQgsKCV9tZXRhZGF0YSKXAQooQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVxdWVzdBIgCgRrZXlzGAEgAygJQhK6SA+SAQwIARCQTiIFcgMYgCASSQoJbmFtZXNwYWNlGAIgASgOMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTmFtZXNwYWNlQgy6SAmCAQYgACABIAIi5gEKKUNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFJlYWRTdG9yZVJlc3BvbnNlEmIKBWl0ZW1zGAEgAygLMlMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVzcG9uc2UuSXRlbXNFbnRyeRpVCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFZhbHVlOgI4ASK2AQolQ29uZmlndXJhdG9yU2VydmljZVNlbGVjdFN0b3JlUmVxdWVzdBJCCglvcGVyYXRpb24YASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZWxlY3RPcEIGukgDyAEBEkkKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIMukgJggEGIAAgASACIogCCiZDb25maWd1cmF0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXNwb25zZRJfCgVpdGVtcxgBIAMoCzJQLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlLkl0ZW1zRW50cnkSFwoKbmV4dF90b2tlbhgCIAEoCUgAiAEBGlUKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0VmFsdWU6AjgBQg0KC19uZXh0X3Rva2VuIm8KKUNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0EjMKCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrSACIAQFCDQoLX2ZpZWxkX21hc2siswIKKkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZRIOCgZjb25maWcYASABKAwSOgoIbWV0YWRhdGEYAiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVmVydGV4TWV0YWRhdGESfgoTY29uZmlndXJlZF9zZXJ2aWNlcxgDIAMoCzJhLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZS5Db25maWd1cmVkU2VydmljZXNFbnRyeRo5ChdDb25maWd1cmVkU2VydmljZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBIrUCChdQb3N0VmVydGV4Q29uZmlnUmVxdWVzdBITCgZjb25maWcYASABKAxIAIgBARI/CghtZXRhZGF0YRgCIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5WZXJ0ZXhNZXRhZGF0YUgBiAEBEh4KEW92ZXJyaWRlX2JpbmRpbmdzGAMgASgISAKIAQE6drpIcxpxChtjb25maWdfb3JfbWV0YWRhdGFfcmVxdWlyZWQSKkVpdGhlciBjb25maWcgb3IgbWV0YWRhdGEgbXVzdCBiZSBwcm92aWRlZBomaGFzKHRoaXMuY29uZmlnKSB8fCBoYXModGhpcy5tZXRhZGF0YSlCCQoHX2NvbmZpZ0ILCglfbWV0YWRhdGFCFAoSX292ZXJyaWRlX2JpbmRpbmdzIlYKGFBvc3RWZXJ0ZXhDb25maWdSZXNwb25zZRI6CghtZXRhZGF0YRgBIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5WZXJ0ZXhNZXRhZGF0YSrBAQoKVmVydGV4VHlwZRIbChdWRVJURVhfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVZFUlRFWF9UWVBFX1NUQVJUEAESFgoSVkVSVEVYX1RZUEVfUExVR0lOEAISFgoSVkVSVEVYX1RZUEVfT1VUUFVUEAMSGAoUVkVSVEVYX1RZUEVfREVMRUdBVEUQBBIXChNWRVJURVhfVFlQRV9CQVJSSUVSEAUSHAoYVkVSVEVYX1RZUEVfRVhDSEFOR0VfT1VUEAYy2QgKE0NvbmZpZ3VyYXRvclNlcnZpY2USpgEKD0dldFZlcnRleENvbmZpZxJILm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0GkkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUdldFZlcnRleENvbmZpZ1Jlc3BvbnNlEoMBChBQb3N0VmVydGV4Q29uZmlnEjYubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUG9zdFZlcnRleENvbmZpZ1JlcXVlc3QaNy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Qb3N0VmVydGV4Q29uZmlnUmVzcG9uc2USlwEKCldyaXRlU3RvcmUSQy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlcXVlc3QaRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEqYBCg9CYXRjaFdyaXRlU3RvcmUSSC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBpJLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXNwb25zZRKjAQoOQmF0Y2hSZWFkU3RvcmUSRy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0GkgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVzcG9uc2USmgEKC1NlbGVjdFN0b3JlEkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZVNlbGVjdFN0b3JlUmVxdWVzdBpFLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlEowBChNMaXN0SW5jb21pbmdTaWduYWxzEjkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEluY29taW5nU2lnbmFsc1JlcXVlc3QaOi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5MaXN0SW5jb21pbmdTaWduYWxzUmVzcG9uc2ViBnByb3RvMw",[d,_n,k,L,D,O,I]),ca=V(S,0),ia=V(S,1),Ye=V(S,2),la=V(S,3),da=V(S,4),ma=V(S,5),ra=V(S,6),pa=V(S,7),ua=V(S,8),ba=V(S,9),Ga=V(S,10),ha=V(S,11),Za=V(S,12),Ia=V(S,13),ya=V(S,14),qn=(p=>(p[p.UNSPECIFIED=0]="UNSPECIFIED",p[p.START=1]="START",p[p.PLUGIN=2]="PLUGIN",p[p.OUTPUT=3]="OUTPUT",p[p.DELEGATE=4]="DELEGATE",p[p.BARRIER=5]="BARRIER",p[p.EXCHANGE_OUT=6]="EXCHANGE_OUT",p))(qn||{}),Aa=Pn(S,0),Fe=On(S,0);import{fileDesc as mt,messageDesc as Z,serviceDesc as rt}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_field_mask as pt}from"@bufbuild/protobuf/wkt";import{enumDesc as gt,fileDesc as ct,messageDesc as u,serviceDesc as it}from"@bufbuild/protobuf/codegenv2";import{extDesc as Wa,fileDesc as et}from"@bufbuild/protobuf/codegenv2";import{fileDesc as $n,messageDesc as Ra}from"@bufbuild/protobuf/codegenv2";var xe=$n("ChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkiVAoESHR0cBIjCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGUSJwofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCCKBAgoISHR0cFJ1bGUSEAoIc2VsZWN0b3IYASABKAkSDQoDZ2V0GAIgASgJSAASDQoDcHV0GAMgASgJSAASDgoEcG9zdBgEIAEoCUgAEhAKBmRlbGV0ZRgFIAEoCUgAEg8KBXBhdGNoGAYgASgJSAASLwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAEgwKBGJvZHkYByABKAkSFQoNcmVzcG9uc2VfYm9keRgMIAEoCRIxChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZUIJCgdwYXR0ZXJuIi8KEUN1c3RvbUh0dHBQYXR0ZXJuEgwKBGtpbmQYASABKAkSDAoEcGF0aBgCIAEoCUJnCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8z");import{file_google_protobuf_descriptor as nt}from"@bufbuild/protobuf/wkt";var Me=et("Chxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzM",[xe,nt]);import{enumDesc as fa,extDesc as Ha,fileDesc as st,messageDesc as va}from"@bufbuild/protobuf/codegenv2";import{enumDesc as xa,fileDesc as tt}from"@bufbuild/protobuf/codegenv2";var Ee=tt("Ch1nb29nbGUvYXBpL2xhdW5jaF9zdGFnZS5wcm90bxIKZ29vZ2xlLmFwaSqMAQoLTGF1bmNoU3RhZ2USHAoYTEFVTkNIX1NUQUdFX1VOU1BFQ0lGSUVEEAASEQoNVU5JTVBMRU1FTlRFRBAGEg0KCVBSRUxBVU5DSBAHEhAKDEVBUkxZX0FDQ0VTUxABEgkKBUFMUEhBEAISCAoEQkVUQRADEgYKAkdBEAQSDgoKREVQUkVDQVRFRBAFQloKDmNvbS5nb29nbGUuYXBpQhBMYXVuY2hTdGFnZVByb3RvUAFaLWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpO2FwaaICBEdBUEliBnByb3RvMw");import{file_google_protobuf_descriptor as at,file_google_protobuf_duration as ot}from"@bufbuild/protobuf/wkt";var fe=st("Chdnb29nbGUvYXBpL2NsaWVudC5wcm90bxIKZ29vZ2xlLmFwaSK+AQoWQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxIeChJyZWZlcmVuY2VfZG9jc191cmkYASABKAlCAhgBEjoKDGRlc3RpbmF0aW9ucxgCIAMoDjIkLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeURlc3RpbmF0aW9uEkgKGnNlbGVjdGl2ZV9nYXBpY19nZW5lcmF0aW9uGAMgASgLMiQuZ29vZ2xlLmFwaS5TZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24i+wMKFUNsaWVudExpYnJhcnlTZXR0aW5ncxIPCgd2ZXJzaW9uGAEgASgJEi0KDGxhdW5jaF9zdGFnZRgCIAEoDjIXLmdvb2dsZS5hcGkuTGF1bmNoU3RhZ2USGgoScmVzdF9udW1lcmljX2VudW1zGAMgASgIEi8KDWphdmFfc2V0dGluZ3MYFSABKAsyGC5nb29nbGUuYXBpLkphdmFTZXR0aW5ncxItCgxjcHBfc2V0dGluZ3MYFiABKAsyFy5nb29nbGUuYXBpLkNwcFNldHRpbmdzEi0KDHBocF9zZXR0aW5ncxgXIAEoCzIXLmdvb2dsZS5hcGkuUGhwU2V0dGluZ3MSMwoPcHl0aG9uX3NldHRpbmdzGBggASgLMhouZ29vZ2xlLmFwaS5QeXRob25TZXR0aW5ncxIvCg1ub2RlX3NldHRpbmdzGBkgASgLMhguZ29vZ2xlLmFwaS5Ob2RlU2V0dGluZ3MSMwoPZG90bmV0X3NldHRpbmdzGBogASgLMhouZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncxIvCg1ydWJ5X3NldHRpbmdzGBsgASgLMhguZ29vZ2xlLmFwaS5SdWJ5U2V0dGluZ3MSKwoLZ29fc2V0dGluZ3MYHCABKAsyFi5nb29nbGUuYXBpLkdvU2V0dGluZ3MiqAMKClB1Ymxpc2hpbmcSMwoPbWV0aG9kX3NldHRpbmdzGAIgAygLMhouZ29vZ2xlLmFwaS5NZXRob2RTZXR0aW5ncxIVCg1uZXdfaXNzdWVfdXJpGGUgASgJEhkKEWRvY3VtZW50YXRpb25fdXJpGGYgASgJEhYKDmFwaV9zaG9ydF9uYW1lGGcgASgJEhQKDGdpdGh1Yl9sYWJlbBhoIAEoCRIeChZjb2Rlb3duZXJfZ2l0aHViX3RlYW1zGGkgAygJEhYKDmRvY190YWdfcHJlZml4GGogASgJEjsKDG9yZ2FuaXphdGlvbhhrIAEoDjIlLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeU9yZ2FuaXphdGlvbhI7ChBsaWJyYXJ5X3NldHRpbmdzGG0gAygLMiEuZ29vZ2xlLmFwaS5DbGllbnRMaWJyYXJ5U2V0dGluZ3MSKQohcHJvdG9fcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG4gASgJEigKIHJlc3RfcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG8gASgJIuMBCgxKYXZhU2V0dGluZ3MSFwoPbGlicmFyeV9wYWNrYWdlGAEgASgJEkwKE3NlcnZpY2VfY2xhc3NfbmFtZXMYAiADKAsyLy5nb29nbGUuYXBpLkphdmFTZXR0aW5ncy5TZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EjIKBmNvbW1vbhgDIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxo4ChZTZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiQQoLQ3BwU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIkEKC1BocFNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKbAgoOUHl0aG9uU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEk4KFWV4cGVyaW1lbnRhbF9mZWF0dXJlcxgCIAEoCzIvLmdvb2dsZS5hcGkuUHl0aG9uU2V0dGluZ3MuRXhwZXJpbWVudGFsRmVhdHVyZXMahAEKFEV4cGVyaW1lbnRhbEZlYXR1cmVzEh0KFXJlc3RfYXN5bmNfaW9fZW5hYmxlZBgBIAEoCBInCh9wcm90b2J1Zl9weXRob25pY190eXBlc19lbmFibGVkGAIgASgIEiQKHHVudmVyc2lvbmVkX3BhY2thZ2VfZGlzYWJsZWQYAyABKAgiQgoMTm9kZVNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKqAwoORG90bmV0U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEkkKEHJlbmFtZWRfc2VydmljZXMYAiADKAsyLy5nb29nbGUuYXBpLkRvdG5ldFNldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5EksKEXJlbmFtZWRfcmVzb3VyY2VzGAMgAygLMjAuZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncy5SZW5hbWVkUmVzb3VyY2VzRW50cnkSGQoRaWdub3JlZF9yZXNvdXJjZXMYBCADKAkSIAoYZm9yY2VkX25hbWVzcGFjZV9hbGlhc2VzGAUgAygJEh4KFmhhbmR3cml0dGVuX3NpZ25hdHVyZXMYBiADKAkaNgoUUmVuYW1lZFNlcnZpY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARo3ChVSZW5hbWVkUmVzb3VyY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJCCgxSdWJ5U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIr8BCgpHb1NldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxJFChByZW5hbWVkX3NlcnZpY2VzGAIgAygLMisuZ29vZ2xlLmFwaS5Hb1NldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5GjYKFFJlbmFtZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEizwIKDk1ldGhvZFNldHRpbmdzEhAKCHNlbGVjdG9yGAEgASgJEjwKDGxvbmdfcnVubmluZxgCIAEoCzImLmdvb2dsZS5hcGkuTWV0aG9kU2V0dGluZ3MuTG9uZ1J1bm5pbmcSHQoVYXV0b19wb3B1bGF0ZWRfZmllbGRzGAMgAygJGs0BCgtMb25nUnVubmluZxI1ChJpbml0aWFsX3BvbGxfZGVsYXkYASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SHQoVcG9sbF9kZWxheV9tdWx0aXBsaWVyGAIgASgCEjEKDm1heF9wb2xsX2RlbGF5GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjUKEnRvdGFsX3BvbGxfdGltZW91dBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbiJRChhTZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24SDwoHbWV0aG9kcxgBIAMoCRIkChxnZW5lcmF0ZV9vbWl0dGVkX2FzX2ludGVybmFsGAIgASgIKqMBChlDbGllbnRMaWJyYXJ5T3JnYW5pemF0aW9uEisKJ0NMSUVOVF9MSUJSQVJZX09SR0FOSVpBVElPTl9VTlNQRUNJRklFRBAAEgkKBUNMT1VEEAESBwoDQURTEAISCgoGUEhPVE9TEAMSDwoLU1RSRUVUX1ZJRVcQBBIMCghTSE9QUElORxAFEgcKA0dFTxAGEhEKDUdFTkVSQVRJVkVfQUkQBypnChhDbGllbnRMaWJyYXJ5RGVzdGluYXRpb24SKgomQ0xJRU5UX0xJQlJBUllfREVTVElOQVRJT05fVU5TUEVDSUZJRUQQABIKCgZHSVRIVUIQChITCg9QQUNLQUdFX01BTkFHRVIQFDpKChBtZXRob2Rfc2lnbmF0dXJlEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYmwggAygJUg9tZXRob2RTaWduYXR1cmU6QwoMZGVmYXVsdF9ob3N0Eh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJkIIAEoCVILZGVmYXVsdEhvc3Q6QwoMb2F1dGhfc2NvcGVzEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJoIIAEoCVILb2F1dGhTY29wZXM6RAoLYXBpX3ZlcnNpb24SHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYwbqr+gEgASgJUgphcGlWZXJzaW9uQmkKDmNvbS5nb29nbGUuYXBpQgtDbGllbnRQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMw",[Ee,at,ot]);import{file_google_protobuf_timestamp as lt}from"@bufbuild/protobuf/wkt";var m=ct("CjNtb2NoYWJ1Z2FwaXMvYWRhcHQvYXV0b21hdGlvbnMvdjEvYXV0b21hdGlvbnMucHJvdG8SIW1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MSIwChZDcmVhdGVDaGFsbGVuZ2VSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIqIBChdDcmVhdGVDaGFsbGVuZ2VSZXNwb25zZRINCgVjb3VudBgBIAEoDRIMCgRzaXplGAIgASgNEhIKCmRpZmZpY3VsdHkYAyABKA0SKwoHZXhwaXJlcxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdG9rZW4YBSABKAkSGgoSdmVyaWZpY2F0aW9uX3Rva2VuGAYgASgJIngKFlJlZGVlbUNoYWxsZW5nZVJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSJgoSdmVyaWZpY2F0aW9uX3Rva2VuGAIgASgJQgq6SAdyBRABGNAPEh4KCXNvbHV0aW9ucxgDIAMoA0ILukgIkgEFCAEQ6AciVQoXUmVkZWVtQ2hhbGxlbmdlUmVzcG9uc2USDQoFdG9rZW4YASABKAkSKwoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiLwoVSW5oZXJpdFNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDImUKFkluaGVyaXRTZXNzaW9uUmVzcG9uc2USDQoFdG9rZW4YASABKAkSMAoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIKCghfZXhwaXJlcyKvAQoRUmVhZE91dHB1dFJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSGgoJcGFnZV9zaXplGAIgASgNQge6SAQqAhhkEikKBnZlcnRleBgDIAEoCUIUukgRcg8yDV5bMC05YS16XXs0fSRIAIgBARIhCgpuZXdlcl90aGFuGAQgASgJQgi6SAVyA7ABAUgBiAEBQgkKB192ZXJ0ZXhCDQoLX25ld2VyX3RoYW4iywEKElJlYWRPdXRwdXRSZXNwb25zZRI7CgdzZXNzaW9uGAEgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlNlc3Npb24SOgoHb3V0cHV0cxgCIAMoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXQSJwoQbmV4dF9wYWdlX2N1cnNvchgDIAEoCUIIukgFcgOwAQFIAIgBAUITChFfbmV4dF9wYWdlX2N1cnNvciJ3Cg9SZWFkVXJsc1JlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSGgoJcGFnZV9zaXplGAIgASgNQge6SAQqAhhkEiEKCm5ld2VyX3RoYW4YAyABKAlCCLpIBXIDsAEBSACIAQFCDQoLX25ld2VyX3RoYW4iwwEKEFJlYWRVcmxzUmVzcG9uc2USOwoHc2Vzc2lvbhgBIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TZXNzaW9uEjQKBHVybHMYAiADKAsyJi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuVXJsEicKEG5leHRfcGFnZV9jdXJzb3IYAyABKAlCCLpIBXIDsAEBSACIAQFCEwoRX25leHRfcGFnZV9jdXJzb3IikQMKE1N0YXJ0U2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSOwoLdHJhbnNtaXR0ZXIYAiABKAlCIbpIHnIcEAEYZDIWXlthLXpBLVowLTlfLV17MSwxMDB9JEgAiAEBEoABCgdzaWduYWxzGAMgAygLMkMubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXJ0U2Vzc2lvblJlcXVlc3QuU2lnbmFsc0VudHJ5Qiq6SCeaASQiInIgEAEYZDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiQSKAoPY2hhbGxlbmdlX3Rva2VuGAQgASgJQgq6SAdyBRABGPQDSAGIAQEaVAoMU2lnbmFsc0VudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhOgI4AUIOCgxfdHJhbnNtaXR0ZXJCEgoQX2NoYWxsZW5nZV90b2tlbiJjChRTdGFydFNlc3Npb25SZXNwb25zZRINCgV0b2tlbhgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzIlIKElN0b3BTZXNzaW9uUmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AxIbCgRmb3JrGAIgASgJQgi6SAVyAxjoB0gAiAEBQgcKBV9mb3JrIhUKE1N0b3BTZXNzaW9uUmVzcG9uc2UiKwoRR2V0U2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMiWQoSR2V0U2Vzc2lvblJlc3BvbnNlEkMKB3Nlc3Npb24YASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkIGukgDyAEBIukBCgZPdXRwdXQSDgoGdmVydGV4GAEgASgJEgwKBGZvcmsYAiABKAkSQQoEZGF0YRgDIAMoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXQuRGF0YUVudHJ5EisKB2NyZWF0ZWQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGlEKCURhdGFFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAEiiwEKA1VybBILCgN1cmwYASABKAkSDAoEZm9yaxgCIAEoCRIOCgZ2ZXJ0ZXgYAyABKAkSDAoEZG9uZRgEIAEoCBIrCgdjcmVhdGVkGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgV0b2tlbhgGIAEoCRIPCgdzdG9wcGVkGAcgASgIIlIKB1Nlc3Npb24SDAoEZm9yaxgBIAEoCRI5CgZzdGF0dXMYAiABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RhdHVzIi4KFFN0cmVhbVNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIkkKEUFja01lc3NhZ2VSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDEhwKCm1lc3NhZ2VfaWQYAiABKAlCCLpIBXIDsAEBIhQKEkFja01lc3NhZ2VSZXNwb25zZSLrAQoVU3RyZWFtU2Vzc2lvblJlc3BvbnNlEhQKAmlkGAEgASgJQgi6SAVyA7ABARI7CgZvdXRwdXQYAiABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAMgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBCABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAQgkKB21lc3NhZ2UijAMKEVJ1blNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDEjsKC3RyYW5zbWl0dGVyGAIgASgJQiG6SB5yHBABGGQyFl5bYS16QS1aMC05Xy1dezEsMTAwfSRIAIgBARJ+CgdzaWduYWxzGAMgAygLMkEubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJ1blNlc3Npb25SZXF1ZXN0LlNpZ25hbHNFbnRyeUIqukgnmgEkIiJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEigKD2NoYWxsZW5nZV90b2tlbhgEIAEoCUIKukgHcgUQARj0A0gBiAEBGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX3RyYW5zbWl0dGVyQhIKEF9jaGFsbGVuZ2VfdG9rZW4isQIKElJ1blNlc3Npb25SZXNwb25zZRIUCgJpZBgBIAEoCUIIukgFcgOwAQESRwoHc3RhcnRlZBgCIAEoCzI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5TZXNzaW9uU3RhcnRlZEgAEjsKBm91dHB1dBgDIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXRIABI1CgN1cmwYBCABKAsyJi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuVXJsSAASPQoHc2Vzc2lvbhgFIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TZXNzaW9uSABCCQoHbWVzc2FnZSJgChFSdW5TZXNzaW9uU3RhcnRlZBINCgV0b2tlbhgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzIisKEVJ1bkluaGVyaXRSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIrMCChJSdW5Jbmhlcml0UmVzcG9uc2USFAoCaWQYASABKAlCCLpIBXIDsAEBEkkKCWluaGVyaXRlZBgCIAEoCzI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5Jbmhlcml0U3RhcnRlZEgAEjsKBm91dHB1dBgDIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXRIABI1CgN1cmwYBCABKAsyJi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuVXJsSAASPQoHc2Vzc2lvbhgFIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TZXNzaW9uSABCCQoHbWVzc2FnZSJgChFSdW5Jbmhlcml0U3RhcnRlZBINCgV0b2tlbhgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzKsgBCgZTdGF0dXMSFgoSU1RBVFVTX1VOU1BFQ0lGSUVEEAASEgoOU1RBVFVTX1JVTk5JTkcQARISCg5TVEFUVVNfU1RPUFBFRBACEhMKD1NUQVRVU19TVE9QUElORxADEhQKEFNUQVRVU19DT01QTEVURUQQBBISCg5TVEFUVVNfRVhQSVJFRBAFEhIKDlNUQVRVU19FUlJPUkVEEAYSFQoRU1RBVFVTX0RFTEVHQVRJTkcQBxIUChBTVEFUVVNfREVMRUdBVEVEEAgyyBEKEUF1dG9tYXRpb25TZXJ2aWNlErMBCg9DcmVhdGVDaGFsbGVuZ2USOS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuQ3JlYXRlQ2hhbGxlbmdlUmVxdWVzdBo6Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5DcmVhdGVDaGFsbGVuZ2VSZXNwb25zZSIpgtPkkwIjOgEqIh4vdjEvYXV0b21hdGlvbnMve2lkfS9jaGFsbGVuZ2USugEKD1JlZGVlbUNoYWxsZW5nZRI5Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWRlZW1DaGFsbGVuZ2VSZXF1ZXN0GjoubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlZGVlbUNoYWxsZW5nZVJlc3BvbnNlIjCC0+STAio6ASoiJS92MS9hdXRvbWF0aW9ucy97aWR9L2NoYWxsZW5nZS9yZWRlZW0SrgEKDFN0YXJ0U2Vzc2lvbhI2Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdGFydFNlc3Npb25SZXF1ZXN0GjcubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXJ0U2Vzc2lvblJlc3BvbnNlIi2C0+STAic6ASoiIi92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vc3RhcnQSogEKC1N0b3BTZXNzaW9uEjUubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0b3BTZXNzaW9uUmVxdWVzdBo2Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdG9wU2Vzc2lvblJlc3BvbnNlIiSC0+STAh4qHC92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24StgEKDkluaGVyaXRTZXNzaW9uEjgubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkluaGVyaXRTZXNzaW9uUmVxdWVzdBo5Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5Jbmhlcml0U2Vzc2lvblJlc3BvbnNlIi+C0+STAik6ASoiJC92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vaW5oZXJpdBKfAQoKR2V0U2Vzc2lvbhI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5HZXRTZXNzaW9uUmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5HZXRTZXNzaW9uUmVzcG9uc2UiJILT5JMCHhIcL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbhKmAQoKUmVhZE91dHB1dBI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWFkT3V0cHV0UmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWFkT3V0cHV0UmVzcG9uc2UiK4LT5JMCJRIjL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9vdXRwdXQSngEKCFJlYWRVcmxzEjIubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlYWRVcmxzUmVxdWVzdBozLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWFkVXJsc1Jlc3BvbnNlIimC0+STAiMSIS92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vdXJscxKxAQoNU3RyZWFtU2Vzc2lvbhI3Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdHJlYW1TZXNzaW9uUmVxdWVzdBo4Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdHJlYW1TZXNzaW9uUmVzcG9uc2UiK4LT5JMCJRIjL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9zdHJlYW0wARKmAQoKQWNrTWVzc2FnZRI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5BY2tNZXNzYWdlUmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5BY2tNZXNzYWdlUmVzcG9uc2UiK4LT5JMCJToBKiIgL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9hY2sSqAEKClJ1blNlc3Npb24SNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuU2Vzc2lvblJlcXVlc3QaNS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuU2Vzc2lvblJlc3BvbnNlIiuC0+STAiU6ASoiIC92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vcnVuMAESsAEKClJ1bkluaGVyaXQSNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuSW5oZXJpdFJlcXVlc3QaNS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuSW5oZXJpdFJlc3BvbnNlIjOC0+STAi06ASoiKC92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vcnVuLWluaGVyaXQwARqJAcpBFmFkYXB0Lm1vY2hhYnVnYXBpcy5jb23SQW1odHRwczovL3d3dy5tb2NoYWJ1Z2FwaXMuY29tL2F1dGgvYWRhcHQuYXV0b21hdGlvbnMsaHR0cHM6Ly93d3cubW9jaGFidWdhcGlzLmNvbS9hdXRoL2FkYXB0LmF1dG9tYXRpb25zLnN0YXJ0YgZwcm90bzM",[d,Me,fe,lt,F]),Ta=u(m,0),Pa=u(m,1),ja=u(m,2),Oa=u(m,3),_a=u(m,4),qa=u(m,5),$a=u(m,6),eo=u(m,7),no=u(m,8),to=u(m,9),so=u(m,10),ao=u(m,11),oo=u(m,12),go=u(m,13),co=u(m,14),io=u(m,15),lo=u(m,16),mo=u(m,17),ro=u(m,18),po=u(m,19),uo=u(m,20),bo=u(m,21),Go=u(m,22),ho=u(m,23),Zo=u(m,24),Io=u(m,25),yo=u(m,26),Ao=u(m,27),So=u(m,28),dt=(a=>(a[a.UNSPECIFIED=0]="UNSPECIFIED",a[a.RUNNING=1]="RUNNING",a[a.STOPPED=2]="STOPPED",a[a.STOPPING=3]="STOPPING",a[a.COMPLETED=4]="COMPLETED",a[a.EXPIRED=5]="EXPIRED",a[a.ERRORED=6]="ERRORED",a[a.DELEGATING=7]="DELEGATING",a[a.DELEGATED=8]="DELEGATED",a))(dt||{}),Vo=gt(m,0),Ro=it(m,0);var b=mt("CjRtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9leGVjdXRvcl9zZXJ2aWNlLnByb3RvEh1tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MSK+AQolRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBJOCgpvcGVyYXRpb25zGAEgAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuV3JpdGVPcGVyYXRpb25CC7pICJIBBQgBEPQDEkUKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIIukgFggECIAAi7gEKJkV4ZWN1dG9yU2VydmljZUJhdGNoV3JpdGVTdG9yZVJlc3BvbnNlEmUKCG1ldGFkYXRhGAEgAygLMlMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2UuTWV0YWRhdGFFbnRyeRpdCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI7CgV2YWx1ZRgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlZhbHVlTWV0YWRhdGE6AjgBIrYBCiBFeGVjdXRvclNlcnZpY2VXcml0ZVN0b3JlUmVxdWVzdBJLCglvcGVyYXRpb24YASABKAsyOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbFdyaXRlT3BlcmF0aW9uEkUKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIIukgFggECIAAidQohRXhlY3V0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEkMKCG1ldGFkYXRhGAEgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YUgAiAEBQgsKCV9tZXRhZGF0YSKPAQokRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0EiAKBGtleXMYASADKAlCErpID5IBDAgBEJBOIgVyAxiAIBJFCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCCLpIBYIBAiAAIt4BCiVFeGVjdXRvclNlcnZpY2VCYXRjaFJlYWRTdG9yZVJlc3BvbnNlEl4KBWl0ZW1zGAEgAygLMk8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5GlUKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0VmFsdWU6AjgBIq4BCiFFeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QSQgoJb3BlcmF0aW9uGAEgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuU2VsZWN0T3BCBrpIA8gBARJFCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCCLpIBYIBAiAAIoACCiJFeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlElsKBWl0ZW1zGAEgAygLMkwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5EhcKCm5leHRfdG9rZW4YAiABKAlIAIgBARpVCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFZhbHVlOgI4AUINCgtfbmV4dF90b2tlbiI2Ch5DYW5jZWxFeGNoYW5nZU9wZXJhdGlvblJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDGOgHIiEKH0NhbmNlbEV4Y2hhbmdlT3BlcmF0aW9uUmVzcG9uc2UiMwobR2V0RXhjaGFuZ2VPcGVyYXRpb25SZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyAxjoByJeChxHZXRFeGNoYW5nZU9wZXJhdGlvblJlc3BvbnNlEj4KBGl0ZW0YASABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZU9wZXJhdGlvbiL3AgoXRGlzcGF0Y2hFeGNoYW5nZVJlcXVlc3QSMwoEbmFtZRgBIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBI8CghyZWNlaXZlchgCIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJEgAiAEBEoUBCgdzaWduYWxzGAMgAygLMkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRGlzcGF0Y2hFeGNoYW5nZVJlcXVlc3QuU2lnbmFsc0VudHJ5Qi+6SCyaASkIABAyIiNyIRABGIAEMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBpUCgxTaWduYWxzRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBQgsKCV9yZWNlaXZlciJfChhEaXNwYXRjaEV4Y2hhbmdlUmVzcG9uc2USQwoJb3BlcmF0aW9uGAEgASgLMjAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhjaGFuZ2VPcGVyYXRpb24irQIKC1NlbmRSZXF1ZXN0Ej0KC3RyYW5zbWl0dGVyGAEgASgJQiO6SCByHhhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJEgAiAEBEnkKB3NpZ25hbHMYAiADKAsyNy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZW5kUmVxdWVzdC5TaWduYWxzRW50cnlCL7pILJoBKQgAEDIiI3IhEAEYgAQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX3RyYW5zbWl0dGVyIg4KDFNlbmRSZXNwb25zZSJhChxCYXRjaEdldEFjdGl2ZVNpZ25hbHNSZXF1ZXN0EkEKBW5hbWVzGAEgAygJQjK6SC+SASwIARD0AxgBIiNyIRABGIAEMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJCLdAQodQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVzcG9uc2USVgoFaXRlbXMYASADKAsyRy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldEFjdGl2ZVNpZ25hbHNSZXNwb25zZS5JdGVtc0VudHJ5EhAKCHJlY2VpdmVyGAIgASgJGlIKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBIqgBChhMaXN0QWN0aXZlU2lnbmFsc1JlcXVlc3QSIAoJcGFnZV9zaXplGAEgASgFQgi6SAUaAxj0A0gAiAEBEh0KBmN1cnNvchgCIAEoCUIIukgFcgMY9ANIAYgBARIdChBvcmRlcl9kZXNjZW5kaW5nGAMgASgISAKIAQFCDAoKX3BhZ2Vfc2l6ZUIJCgdfY3Vyc29yQhMKEV9vcmRlcl9kZXNjZW5kaW5nIoUCChlMaXN0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlElYKB3NpZ25hbHMYASADKAsyRS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5MaXN0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlLlNpZ25hbHNFbnRyeRIQCghyZWNlaXZlchgCIAEoCRIYCgtuZXh0X2N1cnNvchgDIAEoCUgAiAEBGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX25leHRfY3Vyc29yImsKJUV4ZWN1dG9yU2VydmljZUdldFZlcnRleENvbmZpZ1JlcXVlc3QSMwoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAIgBAUINCgtfZmllbGRfbWFzayKrAgomRXhlY3V0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVzcG9uc2USDgoGY29uZmlnGAEgASgMEjoKCG1ldGFkYXRhGAIgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlZlcnRleE1ldGFkYXRhEnoKE2NvbmZpZ3VyZWRfc2VydmljZXMYAyADKAsyXS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZS5Db25maWd1cmVkU2VydmljZXNFbnRyeRo5ChdDb25maWd1cmVkU2VydmljZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBImgKEUV4Y2hhbmdlT3BlcmF0aW9uEgwKBG5hbWUYASABKAkSCgoCaWQYAiABKAkSOQoGc3RhdHVzGAMgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXR1czLKDAoPRXhlY3V0b3JTZXJ2aWNlEp4BCg9HZXRWZXJ0ZXhDb25maWcSRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0GkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVzcG9uc2UShgEKEUxpc3RBY3RpdmVTaWduYWxzEjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXF1ZXN0GjgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXNwb25zZRKSAQoVQmF0Y2hHZXRBY3RpdmVTaWduYWxzEjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVxdWVzdBo8Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlEl8KBFNlbmQSKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZW5kUmVxdWVzdBorLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlNlbmRSZXNwb25zZRKDAQoQRGlzcGF0Y2hFeGNoYW5nZRI2Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkRpc3BhdGNoRXhjaGFuZ2VSZXF1ZXN0GjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRGlzcGF0Y2hFeGNoYW5nZVJlc3BvbnNlEo8BChRHZXRFeGNoYW5nZU9wZXJhdGlvbhI6Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldEV4Y2hhbmdlT3BlcmF0aW9uUmVxdWVzdBo7Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldEV4Y2hhbmdlT3BlcmF0aW9uUmVzcG9uc2USmAEKF0NhbmNlbEV4Y2hhbmdlT3BlcmF0aW9uEj0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ2FuY2VsRXhjaGFuZ2VPcGVyYXRpb25SZXF1ZXN0Gj4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ2FuY2VsRXhjaGFuZ2VPcGVyYXRpb25SZXNwb25zZRKPAQoKV3JpdGVTdG9yZRI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkV4ZWN1dG9yU2VydmljZVdyaXRlU3RvcmVSZXF1ZXN0GkAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEp4BCg9CYXRjaFdyaXRlU3RvcmUSRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXF1ZXN0GkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2USmwEKDkJhdGNoUmVhZFN0b3JlEkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0GkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZRKSAQoLU2VsZWN0U3RvcmUSQC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QaQS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlYgZwcm90bzM",[d,pt,m,F,O,I]),Mo=Z(b,0),Eo=Z(b,1),fo=Z(b,2),Ho=Z(b,3),vo=Z(b,4),zo=Z(b,5),Ko=Z(b,6),No=Z(b,7),Qo=Z(b,8),Lo=Z(b,9),ko=Z(b,10),Uo=Z(b,11),wo=Z(b,12),Do=Z(b,13),To=Z(b,14),Po=Z(b,15),jo=Z(b,16),Oo=Z(b,17),_o=Z(b,18),qo=Z(b,19),$o=Z(b,20),eg=Z(b,21),ng=Z(b,22),be=rt(b,0);import{enumDesc as T,fileDesc as ut,messageDesc as i,serviceDesc as bt}from"@bufbuild/protobuf/codegenv2";var o=ut("CjVtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9maWxlZm9yZ2Vfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEi+wEKFVJlbmRlckRvY3VtZW50UmVxdWVzdBI/CgtodG1sX3RvX3BkZhgBIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkh0bWxUb1BkZkgAEkcKD21hcmtkb3duX3RvX3BkZhgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk1hcmtkb3duVG9QZGZIABJDCg1vZmZpY2VfdG9fcGRmGAMgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuT2ZmaWNlVG9QZGZIAEITCgpjb252ZXJzaW9uEgW6SAIIASJOChZSZW5kZXJEb2N1bWVudFJlc3BvbnNlEjQKBm91dHB1dBgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhIvoCCglIdG1sVG9QZGYSIAoKaW5kZXhfaHRtbBgBIAEoCUIMukgJcgcQARiAgIAFEiMKC2hlYWRlcl9odG1sGAIgASgJQgm6SAZyBBiAgEBIAIgBARIjCgtmb290ZXJfaHRtbBgDIAEoCUIJukgGcgQYgIBASAGIAQESPgoGYXNzZXRzGAQgAygLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCCLpIBZIBAhBkEkUKBnJlbmRlchgKIAEoCzIwLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkh0bWxSZW5kZXJPcHRpb25zSAKIAQESRAoGb3V0cHV0GAsgASgLMi8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmT3V0cHV0T3B0aW9uc0gDiAEBQg4KDF9oZWFkZXJfaHRtbEIOCgxfZm9vdGVyX2h0bWxCCQoHX3JlbmRlckIJCgdfb3V0cHV0IskDCg1NYXJrZG93blRvUGRmEiEKDHdyYXBwZXJfaHRtbBgBIAEoCUILukgIcgYQARiAgEASSAoObWFya2Rvd25fZmlsZXMYAiADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIKukgHkgEECAEQMhIjCgtoZWFkZXJfaHRtbBgDIAEoCUIJukgGcgQYgIBASACIAQESIwoLZm9vdGVyX2h0bWwYBCABKAlCCbpIBnIEGICAQEgBiAEBEj4KBmFzc2V0cxgFIAMoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQgi6SAWSAQIQZBJFCgZyZW5kZXIYCiABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5IdG1sUmVuZGVyT3B0aW9uc0gCiAEBEkQKBm91dHB1dBgLIAEoCzIvLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZk91dHB1dE9wdGlvbnNIA4gBAUIOCgxfaGVhZGVyX2h0bWxCDgoMX2Zvb3Rlcl9odG1sQgkKB19yZW5kZXJCCQoHX291dHB1dCKPBwoLT2ZmaWNlVG9QZGYS2gUKCGRvY3VtZW50GAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCoQW6SJ0FugGWBQoYdmFsaWRfZG9jdW1lbnRfZXh0ZW5zaW9uEi1kb2N1bWVudCBtdXN0IGhhdmUgYSBzdXBwb3J0ZWQgZmlsZSBleHRlbnNpb24aygR0aGlzLmZpbGVuYW1lLm1hdGNoZXMoJyg/aSlcXC4oMTIzfDYwMnxhYnd8YmlifGJtcHxjZHJ8Y2dtfGNteHxjc3Z8Y3drfGRiZnxkaWZ8ZG9jfGRvY218ZG9jeHxkb3R8ZG90bXxkb3R4fGR4ZnxlbWZ8ZXBzfGVwdWJ8Zm9kZ3xmb2RwfGZvZHN8Zm9kdHxmb3BkfGdpZnxodG18aHRtbHxod3B8anBlZ3xqcGd8a2V5fGx0eHxsd3B8bWN3fG1ldHxtbWx8bXd8bnVtYmVyc3xvZGR8b2RnfG9kbXxvZHB8b2RzfG9kdHxvdGd8b3RofG90cHxvdHN8b3R0fHBhZ2VzfHBibXxwY2R8cGN0fHBjeHxwZGJ8cGRmfHBnbXxwbmd8cG90fHBvdG18cG90eHxwcG18cHBzfHBwdHxwcHRtfHBwdHh8cHNkfHBzd3xwdWJ8cHdwfHB4bHxyYXN8cnRmfHNkYXxzZGN8c2RkfHNkcHxzZHd8c2dsfHNsa3xzbWZ8c3RjfHN0ZHxzdGl8c3R3fHN2Z3xzdm18c3dmfHN4Y3xzeGR8c3hnfHN4aXxzeG18c3h3fHRnYXx0aWZ8dGlmZnx0eHR8dW9mfHVvcHx1b3N8dW90fHZkeHx2b3J8dnNkfHZzZG18dnNkeHx3YjJ8d2sxfHdrc3x3bWZ8d3BkfHdwZ3x3cHN8eGJtfHhodG1sfHhsc3x4bHNifHhsc218eGxzeHx4bHR8eGx0bXx4bHR4fHhsd3x4bWx8eHBtfHphYncpJCcpyAEBEkcKBnJlbmRlchgKIAEoCzIyLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk9mZmljZVJlbmRlck9wdGlvbnNIAIgBARJECgZvdXRwdXQYCyABKAsyLy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZPdXRwdXRPcHRpb25zSAGIAQFCCQoHX3JlbmRlckIJCgdfb3V0cHV0IqQMChFIdG1sUmVuZGVyT3B0aW9ucxIdChBwcmludF9iYWNrZ3JvdW5kGAEgASgISACIAQESHAoPb21pdF9iYWNrZ3JvdW5kGAIgASgISAGIAQESIQoUcHJlZmVyX2Nzc19wYWdlX3NpemUYAyABKAhIAogBARJSChNlbXVsYXRlZF9tZWRpYV90eXBlGAQgASgOMjAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRW11bGF0ZWRNZWRpYVR5cGVIA4gBARIkCgtwYXBlcl93aWR0aBgFIAEoAkIKukgHCgUlAAAAAEgEiAEBEiUKDHBhcGVyX2hlaWdodBgGIAEoAkIKukgHCgUlAAAAAEgFiAEBEiMKCm1hcmdpbl90b3AYByABKAJCCrpIBwoFLQAAAABIBogBARIlCgxtYXJnaW5fcmlnaHQYCCABKAJCCrpIBwoFLQAAAABIB4gBARImCg1tYXJnaW5fYm90dG9tGAkgASgCQgq6SAcKBS0AAAAASAiIAQESJAoLbWFyZ2luX2xlZnQYCiABKAJCCrpIBwoFLQAAAABICYgBARIWCglsYW5kc2NhcGUYCyABKAhICogBARIjCgVzY2FsZRgMIAEoAkIPukgMCgodAAAAQC3NzMw9SAuIAQESRwoLcGFnZV9yYW5nZXMYDSABKAlCLbpIKnIoMiZeWzAtOV0rKC1bMC05XSspPygsWzAtOV0rKC1bMC05XSspPykqJEgMiAEBEhgKC3NpbmdsZV9wYWdlGA4gASgISA2IAQESIAoTZ2VuZXJhdGVfdGFnZ2VkX3BkZhgPIAEoCEgOiAEBOqQFukigBRraAQoXbWFyZ2luc19maXRfcGFwZXJfd2lkdGgSMmxlZnQgKyByaWdodCBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIHBhcGVyIHdpZHRoGooBKCFoYXModGhpcy5wYXBlcl93aWR0aCkgfHwgIWhhcyh0aGlzLm1hcmdpbl9sZWZ0KSB8fCAhaGFzKHRoaXMubWFyZ2luX3JpZ2h0KSkgfHwgKHRoaXMubWFyZ2luX2xlZnQgKyB0aGlzLm1hcmdpbl9yaWdodCA8IHRoaXMucGFwZXJfd2lkdGgpGt4BChhtYXJnaW5zX2ZpdF9wYXBlcl9oZWlnaHQSM3RvcCArIGJvdHRvbSBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIHBhcGVyIGhlaWdodBqMASghaGFzKHRoaXMucGFwZXJfaGVpZ2h0KSB8fCAhaGFzKHRoaXMubWFyZ2luX3RvcCkgfHwgIWhhcyh0aGlzLm1hcmdpbl9ib3R0b20pKSB8fCAodGhpcy5tYXJnaW5fdG9wICsgdGhpcy5tYXJnaW5fYm90dG9tIDwgdGhpcy5wYXBlcl9oZWlnaHQpGt8BCilvbWl0X2JhY2tncm91bmRfcmVxdWlyZXNfcHJpbnRfYmFja2dyb3VuZBI0b21pdF9iYWNrZ3JvdW5kIHJlcXVpcmVzIHByaW50X2JhY2tncm91bmQgdG8gYmUgdHJ1ZRp8IWhhcyh0aGlzLm9taXRfYmFja2dyb3VuZCkgfHwgdGhpcy5vbWl0X2JhY2tncm91bmQgPT0gZmFsc2UgfHwgKGhhcyh0aGlzLnByaW50X2JhY2tncm91bmQpICYmIHRoaXMucHJpbnRfYmFja2dyb3VuZCA9PSB0cnVlKUITChFfcHJpbnRfYmFja2dyb3VuZEISChBfb21pdF9iYWNrZ3JvdW5kQhcKFV9wcmVmZXJfY3NzX3BhZ2Vfc2l6ZUIWChRfZW11bGF0ZWRfbWVkaWFfdHlwZUIOCgxfcGFwZXJfd2lkdGhCDwoNX3BhcGVyX2hlaWdodEINCgtfbWFyZ2luX3RvcEIPCg1fbWFyZ2luX3JpZ2h0QhAKDl9tYXJnaW5fYm90dG9tQg4KDF9tYXJnaW5fbGVmdEIMCgpfbGFuZHNjYXBlQggKBl9zY2FsZUIOCgxfcGFnZV9yYW5nZXNCDgoMX3NpbmdsZV9wYWdlQhYKFF9nZW5lcmF0ZV90YWdnZWRfcGRmItINChNPZmZpY2VSZW5kZXJPcHRpb25zEh8KCHBhc3N3b3JkGAEgASgJQgi6SAVyAxiAAkgAiAEBEhYKCWxhbmRzY2FwZRgCIAEoCEgBiAEBEkcKC3BhZ2VfcmFuZ2VzGAMgASgJQi26SCpyKDImXlswLTldKygtWzAtOV0rKT8oLFswLTldKygtWzAtOV0rKT8pKiRIAogBARIbCg51cGRhdGVfaW5kZXhlcxgEIAEoCEgDiAEBEh8KEmV4cG9ydF9mb3JtX2ZpZWxkcxgFIAEoCEgEiAEBEigKG2FsbG93X2R1cGxpY2F0ZV9maWVsZF9uYW1lcxgGIAEoCEgFiAEBEh0KEGV4cG9ydF9ib29rbWFya3MYByABKAhIBogBARIwCiNleHBvcnRfYm9va21hcmtzX3RvX3BkZl9kZXN0aW5hdGlvbhgIIAEoCEgHiAEBEiAKE2V4cG9ydF9wbGFjZWhvbGRlcnMYCSABKAhICIgBARIZCgxleHBvcnRfbm90ZXMYCiABKAhICYgBARIfChJleHBvcnRfbm90ZXNfcGFnZXMYCyABKAhICogBARIkChdleHBvcnRfb25seV9ub3Rlc19wYWdlcxgMIAEoCEgLiAEBEiMKFmV4cG9ydF9ub3Rlc19pbl9tYXJnaW4YDSABKAhIDIgBARItCiBjb252ZXJ0X29vb190YXJnZXRfdG9fcGRmX3RhcmdldBgOIAEoCEgNiAEBEicKGmV4cG9ydF9saW5rc19yZWxhdGl2ZV9mc3lzGA8gASgISA6IAQESIQoUZXhwb3J0X2hpZGRlbl9zbGlkZXMYECABKAhID4gBARIdChBza2lwX2VtcHR5X3BhZ2VzGBEgASgISBCIAQESHwoSc2luZ2xlX3BhZ2Vfc2hlZXRzGBIgASgISBGIAQESLAofYWRkX29yaWdpbmFsX2RvY3VtZW50X2FzX3N0cmVhbRgTIAEoCEgSiAEBEicKGmxvc3NsZXNzX2ltYWdlX2NvbXByZXNzaW9uGBQgASgISBOIAQESHwoHcXVhbGl0eRgVIAEoBUIJukgGGgQYZCgBSBSIAQESJAoXcmVkdWNlX2ltYWdlX3Jlc29sdXRpb24YFiABKAhIFYgBARI2ChRtYXhfaW1hZ2VfcmVzb2x1dGlvbhgXIAEoBUITukgQGg4wSzCWATCsAjDYBDCwCUgWiAEBOo8CukiLAhqIAgozZXhwb3J0X29ubHlfbm90ZXNfcGFnZXNfcmVxdWlyZXNfZXhwb3J0X25vdGVzX3BhZ2VzEj5leHBvcnRfb25seV9ub3Rlc19wYWdlcyByZXF1aXJlcyBleHBvcnRfbm90ZXNfcGFnZXMgdG8gYmUgdHJ1ZRqQASFoYXModGhpcy5leHBvcnRfb25seV9ub3Rlc19wYWdlcykgfHwgdGhpcy5leHBvcnRfb25seV9ub3Rlc19wYWdlcyA9PSBmYWxzZSB8fCAoaGFzKHRoaXMuZXhwb3J0X25vdGVzX3BhZ2VzKSAmJiB0aGlzLmV4cG9ydF9ub3Rlc19wYWdlcyA9PSB0cnVlKUILCglfcGFzc3dvcmRCDAoKX2xhbmRzY2FwZUIOCgxfcGFnZV9yYW5nZXNCEQoPX3VwZGF0ZV9pbmRleGVzQhUKE19leHBvcnRfZm9ybV9maWVsZHNCHgocX2FsbG93X2R1cGxpY2F0ZV9maWVsZF9uYW1lc0ITChFfZXhwb3J0X2Jvb2ttYXJrc0ImCiRfZXhwb3J0X2Jvb2ttYXJrc190b19wZGZfZGVzdGluYXRpb25CFgoUX2V4cG9ydF9wbGFjZWhvbGRlcnNCDwoNX2V4cG9ydF9ub3Rlc0IVChNfZXhwb3J0X25vdGVzX3BhZ2VzQhoKGF9leHBvcnRfb25seV9ub3Rlc19wYWdlc0IZChdfZXhwb3J0X25vdGVzX2luX21hcmdpbkIjCiFfY29udmVydF9vb29fdGFyZ2V0X3RvX3BkZl90YXJnZXRCHQobX2V4cG9ydF9saW5rc19yZWxhdGl2ZV9mc3lzQhcKFV9leHBvcnRfaGlkZGVuX3NsaWRlc0ITChFfc2tpcF9lbXB0eV9wYWdlc0IVChNfc2luZ2xlX3BhZ2Vfc2hlZXRzQiIKIF9hZGRfb3JpZ2luYWxfZG9jdW1lbnRfYXNfc3RyZWFtQh0KG19sb3NzbGVzc19pbWFnZV9jb21wcmVzc2lvbkIKCghfcXVhbGl0eUIaChhfcmVkdWNlX2ltYWdlX3Jlc29sdXRpb25CFwoVX21heF9pbWFnZV9yZXNvbHV0aW9uIosCChBQZGZPdXRwdXRPcHRpb25zEjwKBHBkZmEYASABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZBRm9ybWF0SACIAQESEgoFcGRmdWEYAiABKAhIAYgBARIUCgdmbGF0dGVuGAMgASgISAKIAQESJAoNdXNlcl9wYXNzd29yZBgEIAEoCUIIukgFcgMYgAFIA4gBARIlCg5vd25lcl9wYXNzd29yZBgFIAEoCUIIukgFcgMYgAFIBIgBAUIHCgVfcGRmYUIICgZfcGRmdWFCCgoIX2ZsYXR0ZW5CEAoOX3VzZXJfcGFzc3dvcmRCEQoPX293bmVyX3Bhc3N3b3JkIrAJCg5JbWFnZU9wZXJhdGlvbhI8CgZyZXNpemUYASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVJlc2l6ZUgAEjgKBGNyb3AYAiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUNyb3BIABI8CgZyb3RhdGUYAyABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVJvdGF0ZUgAEjgKBGZsaXAYBCABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUZsaXBIABI2CgNwYWQYBSABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVBhZEgAEjgKBHRyaW0YBiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVRyaW1IABJECgpwcm9wb3J0aW9uGAcgASgLMi4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VQcm9wb3J0aW9uSAASOgoFZm9jYWwYCCABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUZvY2FsSAASPAoGYWRqdXN0GAkgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VBZGp1c3RIABI2CgNodWUYCiABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUh1ZUgAEjYKA3JnYhgLIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlUmdiSAASOAoEYmx1chgMIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlQmx1ckgAEj4KB3NoYXJwZW4YDSABKAsyKy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVNoYXJwZW5IABJHCgxyb3VuZF9jb3JuZXIYDiABKAsyLy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVJvdW5kQ29ybmVySAASQgoJd2F0ZXJtYXJrGA8gASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VXYXRlcm1hcmtIABI6CgVsYWJlbBgQIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlTGFiZWxIABJDCgptYXhfZnJhbWVzGBEgASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VNYXhGcmFtZXNIABI4CgRwYWdlGBIgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VQYWdlSAASNgoDZHBpGBMgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VEcGlIAEISCglvcGVyYXRpb24SBbpIAggBIu0BChVUcmFuc2Zvcm1JbWFnZVJlcXVlc3QSOwoFaW5wdXQYASABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIGukgDyAEBEksKCm9wZXJhdGlvbnMYAiADKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZU9wZXJhdGlvbkIIukgFkgECEDISPwoGb3V0cHV0GB4gASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VPdXRwdXRIAIgBAUIJCgdfb3V0cHV0Ik4KFlRyYW5zZm9ybUltYWdlUmVzcG9uc2USNAoGb3V0cHV0GAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGEinQMKC0ltYWdlUmVzaXplEh4KBXdpZHRoGAEgASgFQgq6SAcaBRiIJygASACIAQESHwoGaGVpZ2h0GAIgASgFQgq6SAcaBRiIJygASAGIAQESPAoEdHlwZRgDIAEoDjIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlJlc2l6ZVR5cGVIAogBARIUCgdlbmxhcmdlGAQgASgISAOIAQESEwoGZXh0ZW5kGAUgASgISASIAQE6rgG6SKoBGqcBChFyZXF1aXJlX2RpbWVuc2lvbhJEYXQgbGVhc3Qgb25lIG9mIHdpZHRoIG9yIGhlaWdodCBtdXN0IGJlIHNwZWNpZmllZCBhbmQgZ3JlYXRlciB0aGFuIDAaTChoYXModGhpcy53aWR0aCkgJiYgdGhpcy53aWR0aCA+IDApIHx8IChoYXModGhpcy5oZWlnaHQpICYmIHRoaXMuaGVpZ2h0ID4gMClCCAoGX3dpZHRoQgkKB19oZWlnaHRCBwoFX3R5cGVCCgoIX2VubGFyZ2VCCQoHX2V4dGVuZCKdAgoJSW1hZ2VDcm9wEh4KBXdpZHRoGAEgASgFQgq6SAcaBRiIJygASACIAQESHwoGaGVpZ2h0GAIgASgFQgq6SAcaBRiIJygASAGIAQESPAoHZ3Jhdml0eRgDIAEoDjImLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdyYXZpdHlIAogBARIqCghvZmZzZXRfeBgEIAEoBUITukgQGg4YkE4o8LH/////////AUgDiAEBEioKCG9mZnNldF95GAUgASgFQhO6SBAaDhiQTijwsf////////8BSASIAQFCCAoGX3dpZHRoQgkKB19oZWlnaHRCCgoIX2dyYXZpdHlCCwoJX29mZnNldF94QgsKCV9vZmZzZXRfeSJmCgtJbWFnZVJvdGF0ZRIjCgVhbmdsZRgBIAEoBUIPukgMGgowADBaMLQBMI4CSACIAQESGAoLYXV0b19yb3RhdGUYAiABKAhIAYgBAUIICgZfYW5nbGVCDgoMX2F1dG9fcm90YXRlIpICCglJbWFnZUZsaXASFwoKaG9yaXpvbnRhbBgBIAEoCEgAiAEBEhUKCHZlcnRpY2FsGAIgASgISAGIAQE6uAG6SLQBGrEBChZyZXF1aXJlX2ZsaXBfZGlyZWN0aW9uEjNhdCBsZWFzdCBvbmUgb2YgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBtdXN0IGJlIHRydWUaYihoYXModGhpcy5ob3Jpem9udGFsKSAmJiB0aGlzLmhvcml6b250YWwgPT0gdHJ1ZSkgfHwgKGhhcyh0aGlzLnZlcnRpY2FsKSAmJiB0aGlzLnZlcnRpY2FsID09IHRydWUpQg0KC19ob3Jpem9udGFsQgsKCV92ZXJ0aWNhbCKVAwoISW1hZ2VQYWQSGQoDdG9wGAEgASgFQge6SAQaAigASACIAQESGwoFcmlnaHQYAiABKAVCB7pIBBoCKABIAYgBARIcCgZib3R0b20YAyABKAVCB7pIBBoCKABIAogBARIaCgRsZWZ0GAQgASgFQge6SAQaAigASAOIAQE68AG6SOwBGukBCg9yZXF1aXJlX3BhZGRpbmcSP2F0IGxlYXN0IG9uZSBwYWRkaW5nIHZhbHVlIG11c3QgYmUgc3BlY2lmaWVkIGFuZCBncmVhdGVyIHRoYW4gMBqUAShoYXModGhpcy50b3ApICYmIHRoaXMudG9wID4gMCkgfHwgKGhhcyh0aGlzLnJpZ2h0KSAmJiB0aGlzLnJpZ2h0ID4gMCkgfHwgKGhhcyh0aGlzLmJvdHRvbSkgJiYgdGhpcy5ib3R0b20gPiAwKSB8fCAoaGFzKHRoaXMubGVmdCkgJiYgdGhpcy5sZWZ0ID4gMClCBgoEX3RvcEIICgZfcmlnaHRCCQoHX2JvdHRvbUIHCgVfbGVmdCLFAQoJSW1hZ2VUcmltEicKCXRocmVzaG9sZBgBIAEoAkIPukgMCgodAACAPy0AAAAASACIAQESKwoFY29sb3IYAiABKAlCF7pIFHISMhBeWzAtOWEtZkEtRl17Nn0kSAGIAQESFgoJZXF1YWxfaG9yGAMgASgISAKIAQESFgoJZXF1YWxfdmVyGAQgASgISAOIAQFCDAoKX3RocmVzaG9sZEIICgZfY29sb3JCDAoKX2VxdWFsX2hvckIMCgpfZXF1YWxfdmVyIs8DCgtJbWFnZUFkanVzdBIsCgpicmlnaHRuZXNzGAEgASgFQhO6SBAaDhj/ASiB/v////////8BSACIAQESJgoIY29udHJhc3QYAiABKAJCD7pIDAoKHQAAIEEtAAAAAEgBiAEBEigKCnNhdHVyYXRpb24YAyABKAJCD7pIDAoKHQAAIEEtAAAAAEgCiAEBEhYKCWdyYXlzY2FsZRgEIAEoCEgDiAEBOu4BukjqARrnAQoScmVxdWlyZV9hZGp1c3RtZW50ElphdCBsZWFzdCBvbmUgYWRqdXN0bWVudCAoYnJpZ2h0bmVzcywgY29udHJhc3QsIHNhdHVyYXRpb24sIG9yIGdyYXlzY2FsZSkgbXVzdCBiZSBzcGVjaWZpZWQadWhhcyh0aGlzLmJyaWdodG5lc3MpIHx8IGhhcyh0aGlzLmNvbnRyYXN0KSB8fCBoYXModGhpcy5zYXR1cmF0aW9uKSB8fCAoaGFzKHRoaXMuZ3JheXNjYWxlKSAmJiB0aGlzLmdyYXlzY2FsZSA9PSB0cnVlKUINCgtfYnJpZ2h0bmVzc0ILCglfY29udHJhc3RCDQoLX3NhdHVyYXRpb25CDAoKX2dyYXlzY2FsZSIrCglJbWFnZUJsdXISHgoFc2lnbWEYASABKAJCD7pIDAoKHQAAyEIlAAAAACIuCgxJbWFnZVNoYXJwZW4SHgoFc2lnbWEYASABKAJCD7pIDAoKHQAAyEIlAAAAACIuCghJbWFnZUh1ZRIiCgVhbmdsZRgBIAEoBUITukgQGg4YtAEozP7/////////ASJnCghJbWFnZVJnYhIdCgFyGAEgASgFQhK6SA8aDRhkKJz//////////wESHQoBZxgCIAEoBUISukgPGg0YZCic//////////8BEh0KAWIYAyABKAVCErpIDxoNGGQonP//////////ASKbAQoKSW1hZ2VGb2NhbBI8CgZyZWdpb24YASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Gb2NhbFJlZ2lvbkgAEjoKBXBvaW50GAIgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRm9jYWxQb2ludEgAQhMKCmZvY2FsX3R5cGUSBbpIAggBIkcKC0ZvY2FsUmVnaW9uEgwKBGxlZnQYASABKAUSCwoDdG9wGAIgASgFEg0KBXJpZ2h0GAMgASgFEg4KBmJvdHRvbRgEIAEoBSIiCgpGb2NhbFBvaW50EgkKAXgYASABKAUSCQoBeRgCIAEoBSJ/ChBJbWFnZVJvdW5kQ29ybmVyEhMKAnJ4GAEgASgFQge6SAQaAiAAEhgKAnJ5GAIgASgFQge6SAQaAiAASACIAQESKwoFY29sb3IYAyABKAlCF7pIFHISMhBeWzAtOWEtZkEtRl17Nn0kSAGIAQFCBQoDX3J5QggKBl9jb2xvciIxCg9JbWFnZVByb3BvcnRpb24SHgoKcGVyY2VudGFnZRgBIAEoBUIKukgHGgUY9AMoASLJAQoKSW1hZ2VMYWJlbBIYCgR0ZXh0GAEgASgJQgq6SAdyBRABGOgHEgkKAXgYAiABKAUSCQoBeRgDIAEoBRIYCgRzaXplGAQgASgFQgq6SAcaBRjoBygBEiYKBWNvbG9yGAUgASgJQhe6SBRyEjIQXlswLTlhLWZBLUZdezZ9JBIjCgVhbHBoYRgGIAEoAkIPukgMCgodAACAPy0AAAAASACIAQESEQoEZm9udBgHIAEoCUgBiAEBQggKBl9hbHBoYUIHCgVfZm9udCInCg5JbWFnZU1heEZyYW1lcxIVCgFuGAEgASgFQgq6SAcaBRjoBygBIiEKCUltYWdlUGFnZRIUCgNudW0YASABKAVCB7pIBBoCKAEiIwoISW1hZ2VEcGkSFwoDbnVtGAEgASgFQgq6SAcaBRjgEigBIugCCg5JbWFnZVdhdGVybWFyaxI7CgVpbWFnZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQESPQoIcG9zaXRpb24YAiABKA4yJi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HcmF2aXR5SACIAQESKgoIb2Zmc2V0X3gYAyABKAVCE7pIEBoOGJBOKPCx/////////wFIAYgBARIqCghvZmZzZXRfeRgEIAEoBUITukgQGg4YkE4o8LH/////////AUgCiAEBEiUKB29wYWNpdHkYBSABKAJCD7pIDAoKHQAAgD8tAAAAAEgDiAEBEh4KBXNjYWxlGAYgASgCQgq6SAcKBSUAAAAASASIAQFCCwoJX3Bvc2l0aW9uQgsKCV9vZmZzZXRfeEILCglfb2Zmc2V0X3lCCgoIX29wYWNpdHlCCAoGX3NjYWxlIroECgtJbWFnZU91dHB1dBI/CgZmb3JtYXQYASABKA4yKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUZvcm1hdEgAiAEBEh8KB3F1YWxpdHkYAiABKAVCCbpIBhoEGGQoAUgBiAEBEhsKDnN0cmlwX21ldGFkYXRhGAMgASgISAKIAQESMAoKYmFja2dyb3VuZBgEIAEoCUIXukgUchIyEF5bMC05YS1mQS1GXXs2fSRIA4gBARIuChBiYWNrZ3JvdW5kX2FscGhhGAUgASgCQg+6SAwKCh0AAIA/LQAAAABIBIgBARInCg9wbmdfY29tcHJlc3Npb24YBiABKAVCCbpIBhoEGAkoAEgFiAEBEhsKDnBuZ19pbnRlcmxhY2VkGAcgASgISAaIAQESHQoQanBlZ19wcm9ncmVzc2l2ZRgIIAEoCEgHiAEBEhoKDXdlYnBfbG9zc2xlc3MYCSABKAhICIgBARIfCgltYXhfYnl0ZXMYCiABKAVCB7pIBBoCIABICYgBAUIJCgdfZm9ybWF0QgoKCF9xdWFsaXR5QhEKD19zdHJpcF9tZXRhZGF0YUINCgtfYmFja2dyb3VuZEITChFfYmFja2dyb3VuZF9hbHBoYUISChBfcG5nX2NvbXByZXNzaW9uQhEKD19wbmdfaW50ZXJsYWNlZEITChFfanBlZ19wcm9ncmVzc2l2ZUIQCg5fd2VicF9sb3NzbGVzc0IMCgpfbWF4X2J5dGVzItgCChRNYW5pcHVsYXRlUGRmUmVxdWVzdBI4CgVtZXJnZRgBIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZk1lcmdlSAASOAoFc3BsaXQYAiABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZTcGxpdEgAEjwKB2VuY3J5cHQYAyABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZFbmNyeXB0SAASPAoHY29udmVydBgEIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZkNvbnZlcnRIABI8CgdmbGF0dGVuGAUgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmRmxhdHRlbkgAQhIKCW9wZXJhdGlvbhIFukgCCAEiTgoVTWFuaXB1bGF0ZVBkZlJlc3BvbnNlEjUKB291dHB1dHMYASADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YSLEAgoIUGRmTWVyZ2USPwoFZmlsZXMYASADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIKukgHkgEECAIQZBI8CgRwZGZhGAIgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmQUZvcm1hdEgAiAEBEhIKBXBkZnVhGAMgASgISAGIAQESFAoHZmxhdHRlbhgEIAEoCEgCiAEBEiQKDXVzZXJfcGFzc3dvcmQYBSABKAlCCLpIBXIDGIABSAOIAQESJQoOb3duZXJfcGFzc3dvcmQYBiABKAlCCLpIBXIDGIABSASIAQFCBwoFX3BkZmFCCAoGX3BkZnVhQgoKCF9mbGF0dGVuQhAKDl91c2VyX3Bhc3N3b3JkQhEKD19vd25lcl9wYXNzd29yZCK5AwoIUGRmU3BsaXQSOgoEZmlsZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQESQAoEbW9kZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlNwbGl0TW9kZUIIukgFggECIAASGAoEc3BhbhgDIAEoCUIKukgHcgUQARjoBxISCgV1bmlmeRgEIAEoCEgAiAEBEjwKBHBkZmEYBSABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZBRm9ybWF0SAGIAQESEgoFcGRmdWEYBiABKAhIAogBARIUCgdmbGF0dGVuGAcgASgISAOIAQESJAoNdXNlcl9wYXNzd29yZBgIIAEoCUIIukgFcgMYgAFIBIgBARIlCg5vd25lcl9wYXNzd29yZBgJIAEoCUIIukgFcgMYgAFIBYgBAUIICgZfdW5pZnlCBwoFX3BkZmFCCAoGX3BkZnVhQgoKCF9mbGF0dGVuQhAKDl91c2VyX3Bhc3N3b3JkQhEKD19vd25lcl9wYXNzd29yZCKlAQoKUGRmRW5jcnlwdBI6CgRmaWxlGAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCBrpIA8gBARIhCg11c2VyX3Bhc3N3b3JkGAIgASgJQgq6SAdyBRABGIABEiUKDm93bmVyX3Bhc3N3b3JkGAMgASgJQgi6SAVyAxiAAUgAiAEBQhEKD19vd25lcl9wYXNzd29yZCLOAgoKUGRmQ29udmVydBI6CgRmaWxlGAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCBrpIA8gBARI8CgRwZGZhGAIgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmQUZvcm1hdEgAiAEBEhIKBXBkZnVhGAMgASgISAGIAQE6ngG6SJoBGpcBChlyZXF1aXJlX2NvbnZlcnNpb25fb3B0aW9uEi9hdCBsZWFzdCBvbmUgb2YgcGRmYSBvciBwZGZ1YSBtdXN0IGJlIHNwZWNpZmllZBpJaGFzKHRoaXMucGRmYSkgJiYgdGhpcy5wZGZhICE9IDAgfHwgaGFzKHRoaXMucGRmdWEpICYmIHRoaXMucGRmdWEgPT0gdHJ1ZUIHCgVfcGRmYUIICgZfcGRmdWEiSAoKUGRmRmxhdHRlbhI6CgRmaWxlGAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCBrpIA8gBASp3ChFFbXVsYXRlZE1lZGlhVHlwZRIjCh9FTVVMQVRFRF9NRURJQV9UWVBFX1VOU1BFQ0lGSUVEEAASHgoaRU1VTEFURURfTUVESUFfVFlQRV9TQ1JFRU4QARIdChlFTVVMQVRFRF9NRURJQV9UWVBFX1BSSU5UEAIqaQoKUGRmQUZvcm1hdBIcChhQREZfQV9GT1JNQVRfVU5TUEVDSUZJRUQQABITCg9QREZfQV9GT1JNQVRfMUIQARITCg9QREZfQV9GT1JNQVRfMkIQAhITCg9QREZfQV9GT1JNQVRfM0IQAyqcAQoKUmVzaXplVHlwZRIbChdSRVNJWkVfVFlQRV9VTlNQRUNJRklFRBAAEhMKD1JFU0laRV9UWVBFX0ZJVBABEhQKEFJFU0laRV9UWVBFX0ZJTEwQAhIZChVSRVNJWkVfVFlQRV9GSUxMX0RPV04QAxIVChFSRVNJWkVfVFlQRV9GT1JDRRAEEhQKEFJFU0laRV9UWVBFX0FVVE8QBSrzAQoHR3Jhdml0eRIXChNHUkFWSVRZX1VOU1BFQ0lGSUVEEAASEgoOR1JBVklUWV9DRU5URVIQARIRCg1HUkFWSVRZX05PUlRIEAISEQoNR1JBVklUWV9TT1VUSBADEhAKDEdSQVZJVFlfRUFTVBAEEhAKDEdSQVZJVFlfV0VTVBAFEhYKEkdSQVZJVFlfTk9SVEhfRUFTVBAGEhYKEkdSQVZJVFlfTk9SVEhfV0VTVBAHEhYKEkdSQVZJVFlfU09VVEhfRUFTVBAIEhYKEkdSQVZJVFlfU09VVEhfV0VTVBAJEhEKDUdSQVZJVFlfU01BUlQQCirfAQoLSW1hZ2VGb3JtYXQSHAoYSU1BR0VfRk9STUFUX1VOU1BFQ0lGSUVEEAASFQoRSU1BR0VfRk9STUFUX0pQRUcQARIUChBJTUFHRV9GT1JNQVRfUE5HEAISFQoRSU1BR0VfRk9STUFUX1dFQlAQAxIVChFJTUFHRV9GT1JNQVRfQVZJRhAEEhQKEElNQUdFX0ZPUk1BVF9HSUYQBRIVChFJTUFHRV9GT1JNQVRfVElGRhAGEhQKEElNQUdFX0ZPUk1BVF9CTVAQBxIUChBJTUFHRV9GT1JNQVRfSUNPEAgqVwoJU3BsaXRNb2RlEhoKFlNQTElUX01PREVfVU5TUEVDSUZJRUQQABIYChRTUExJVF9NT0RFX0lOVEVSVkFMUxABEhQKEFNQTElUX01PREVfUEFHRVMQAjKMAwoQRmlsZUZvcmdlU2VydmljZRJ9Cg5SZW5kZXJEb2N1bWVudBI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlJlbmRlckRvY3VtZW50UmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlJlbmRlckRvY3VtZW50UmVzcG9uc2USfQoOVHJhbnNmb3JtSW1hZ2USNC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UcmFuc2Zvcm1JbWFnZVJlcXVlc3QaNS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UcmFuc2Zvcm1JbWFnZVJlc3BvbnNlEnoKDU1hbmlwdWxhdGVQZGYSMy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5NYW5pcHVsYXRlUGRmUmVxdWVzdBo0Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk1hbmlwdWxhdGVQZGZSZXNwb25zZWIGcHJvdG8z",[d,F]),gg=i(o,0),cg=i(o,1),He=i(o,2),ve=i(o,3),ze=i(o,4),Ge=i(o,5),Ke=i(o,6),ae=i(o,7),Ne=i(o,8),Qe=i(o,9),ig=i(o,10),lg=i(o,11),dg=i(o,12),mg=i(o,13),rg=i(o,14),pg=i(o,15),ug=i(o,16),bg=i(o,17),Gg=i(o,18),hg=i(o,19),Zg=i(o,20),Ig=i(o,21),yg=i(o,22),Ag=i(o,23),Sg=i(o,24),Vg=i(o,25),Rg=i(o,26),Xg=i(o,27),Jg=i(o,28),Wg=i(o,29),Cg=i(o,30),Bg=i(o,31),Le=i(o,32),Yg=i(o,33),Fg=i(o,34),ke=i(o,35),Ue=i(o,36),we=i(o,37),De=i(o,38),Te=i(o,39),Gt=(t=>(t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SCREEN=1]="SCREEN",t[t.PRINT=2]="PRINT",t))(Gt||{}),xg=T(o,0),ht=(s=>(s[s.PDF_A_FORMAT_UNSPECIFIED=0]="PDF_A_FORMAT_UNSPECIFIED",s[s.PDF_A_FORMAT_1B=1]="PDF_A_FORMAT_1B",s[s.PDF_A_FORMAT_2B=2]="PDF_A_FORMAT_2B",s[s.PDF_A_FORMAT_3B=3]="PDF_A_FORMAT_3B",s))(ht||{}),Mg=T(o,1),Zt=(h=>(h[h.UNSPECIFIED=0]="UNSPECIFIED",h[h.FIT=1]="FIT",h[h.FILL=2]="FILL",h[h.FILL_DOWN=3]="FILL_DOWN",h[h.FORCE=4]="FORCE",h[h.AUTO=5]="AUTO",h))(Zt||{}),Eg=T(o,2),It=(c=>(c[c.UNSPECIFIED=0]="UNSPECIFIED",c[c.CENTER=1]="CENTER",c[c.NORTH=2]="NORTH",c[c.SOUTH=3]="SOUTH",c[c.EAST=4]="EAST",c[c.WEST=5]="WEST",c[c.NORTH_EAST=6]="NORTH_EAST",c[c.NORTH_WEST=7]="NORTH_WEST",c[c.SOUTH_EAST=8]="SOUTH_EAST",c[c.SOUTH_WEST=9]="SOUTH_WEST",c[c.SMART=10]="SMART",c))(It||{}),fg=T(o,3),yt=(a=>(a[a.UNSPECIFIED=0]="UNSPECIFIED",a[a.JPEG=1]="JPEG",a[a.PNG=2]="PNG",a[a.WEBP=3]="WEBP",a[a.AVIF=4]="AVIF",a[a.GIF=5]="GIF",a[a.TIFF=6]="TIFF",a[a.BMP=7]="BMP",a[a.ICO=8]="ICO",a))(yt||{}),Hg=T(o,4),Pe=(t=>(t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.INTERVALS=1]="INTERVALS",t[t.PAGES=2]="PAGES",t))(Pe||{}),vg=T(o,5),je=bt(o,0);import{fileDesc as At,messageDesc as W,serviceDesc as St}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_struct as Vt,file_google_protobuf_timestamp as Rt}from"@bufbuild/protobuf/wkt";var X=At("CjJtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9wbHVnaW5fc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiGgoYR2V0U3lzdGVtU2VydmljZXNSZXF1ZXN0IsUBChlHZXRTeXN0ZW1TZXJ2aWNlc1Jlc3BvbnNlEm0KE2NvbmZpZ3VyZWRfc2VydmljZXMYASADKAsyUC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HZXRTeXN0ZW1TZXJ2aWNlc1Jlc3BvbnNlLkNvbmZpZ3VyZWRTZXJ2aWNlc0VudHJ5GjkKF0NvbmZpZ3VyZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAEiMgoQQXV0aG9yaXplUmVxdWVzdBIeCgxhY2Nlc3NfdG9rZW4YASABKAlCCLpIBXIDGJBOIhMKEUF1dGhvcml6ZVJlc3BvbnNlIoABCh5CYXRjaEdldFN5c3RlbVZhcmlhYmxlc1JlcXVlc3QSXgoFbmFtZXMYASADKAlCT7pITJIBSQgBEGQYASJBcj8QARhkMjleW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKD86XC5bXyRhLXpBLVpdW18kYS16QS1aMC05XSopKiQiwQEKH0JhdGNoR2V0U3lzdGVtVmFyaWFibGVzUmVzcG9uc2USWAoFaXRlbXMYASADKAsySS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFN5c3RlbVZhcmlhYmxlc1Jlc3BvbnNlLkl0ZW1zRW50cnkaRAoKSXRlbXNFbnRyeRILCgNrZXkYASABKAkSJQoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWU6AjgBIn4KHEJhdGNoR2V0VXNlclZhcmlhYmxlc1JlcXVlc3QSXgoFbmFtZXMYASADKAlCT7pITJIBSQgBEGQYASJBcj8QARhkMjleW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKD86XC5bXyRhLXpBLVpdW18kYS16QS1aMC05XSopKiQivQEKHUJhdGNoR2V0VXNlclZhcmlhYmxlc1Jlc3BvbnNlElYKBWl0ZW1zGAEgAygLMkcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVmFyaWFibGVzUmVzcG9uc2UuSXRlbXNFbnRyeRpECgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEiewoZQmF0Y2hHZXRVc2VyVG9rZW5zUmVxdWVzdBJeCgVuYW1lcxgBIAMoCUJPukhMkgFJCAEQZBgBIkFyPxABGGQyOV5bXyRhLXpBLVpdW18kYS16QS1aMC05XSooPzpcLltfJGEtekEtWl1bXyRhLXpBLVowLTldKikqJCLFAQoaQmF0Y2hHZXRVc2VyVG9rZW5zUmVzcG9uc2USUwoFaXRlbXMYASADKAsyRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFVzZXJUb2tlbnNSZXNwb25zZS5JdGVtc0VudHJ5GlIKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVG9rZW46AjgBIn0KG0JhdGNoR2V0U3lzdGVtVG9rZW5zUmVxdWVzdBJeCgVuYW1lcxgBIAMoCUJPukhMkgFJCAEQZBgBIkFyPxABGGQyOV5bXyRhLXpBLVpdW18kYS16QS1aMC05XSooPzpcLltfJGEtekEtWl1bXyRhLXpBLVowLTldKikqJCLJAQocQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXNwb25zZRJVCgVpdGVtcxgBIAMoCzJGLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0U3lzdGVtVG9rZW5zUmVzcG9uc2UuSXRlbXNFbnRyeRpSCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRva2VuOgI4ASJfCgVUb2tlbhIMCgRuYW1lGAEgASgJEg0KBXRva2VuGAIgASgJEgwKBHR5cGUYAyABKAkSKwoHZXhwaXJlcxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAy1gYKDVBsdWdpblNlcnZpY2USbgoJQXV0aG9yaXplEi8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQXV0aG9yaXplUmVxdWVzdBowLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkF1dGhvcml6ZVJlc3BvbnNlEoYBChFHZXRTeXN0ZW1TZXJ2aWNlcxI3Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFN5c3RlbVNlcnZpY2VzUmVxdWVzdBo4Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFN5c3RlbVNlcnZpY2VzUmVzcG9uc2USmAEKF0JhdGNoR2V0U3lzdGVtVmFyaWFibGVzEj0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1WYXJpYWJsZXNSZXF1ZXN0Gj4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1WYXJpYWJsZXNSZXNwb25zZRKSAQoVQmF0Y2hHZXRVc2VyVmFyaWFibGVzEjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVmFyaWFibGVzUmVxdWVzdBo8Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0VXNlclZhcmlhYmxlc1Jlc3BvbnNlEokBChJCYXRjaEdldFVzZXJUb2tlbnMSOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFVzZXJUb2tlbnNSZXF1ZXN0GjkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVG9rZW5zUmVzcG9uc2USjwEKFEJhdGNoR2V0U3lzdGVtVG9rZW5zEjoubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXF1ZXN0GjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXNwb25zZWIGcHJvdG8z",[d,Vt,Rt]),Lg=W(X,0),kg=W(X,1),Ug=W(X,2),wg=W(X,3),Dg=W(X,4),Tg=W(X,5),Pg=W(X,6),jg=W(X,7),Og=W(X,8),_g=W(X,9),qg=W(X,10),$g=W(X,11),ec=W(X,12),Oe=St(X,0);import{Code as J,ConnectError as B,createContextValues as _e}from"@connectrpc/connect";import{compressedFlag as qe,createClientMethodSerializers as $e,createEnvelopeReadableStream as he,createMethodUrl as en,encodeEnvelope as nn,runStreamingCall as Xt,runUnaryCall as Jt}from"@connectrpc/connect/protocol";import{headerGrpcStatus as tn,requestHeader as sn,trailerFlag as Ze,trailerParse as an,validateResponse as on,validateTrailer as gn}from"@connectrpc/connect/protocol-grpc-web";function P(r){return{async unary(e,n,t,s,g,h){let{serialize:p,parse:ne}=$e(e,!0);return Jt({interceptors:r.interceptors,signal:n,timeoutMs:t,req:{stream:!1,service:e.parent,method:e,requestMethod:"POST",url:en("https://runtimeapi/",e),header:sn(!0,t,s,!1),contextValues:h??_e(),message:g},next:async a=>{let Y=await r.fetcher.fetch(a.url,{method:a.requestMethod,headers:a.header,signal:a.signal,body:nn(0,p(a.message))}),{headerError:c}=on(Y.status,Y.headers);if(!Y.body)throw c!==void 0?c:new B("missing response body",J.Internal);let N=he(Y.body).getReader(),A,H;for(;;){let v=await N.read();if(v.done)break;let{flags:Q,data:z}=v.value;if((Q&qe)===qe)throw new B("received compressed data, which is unsupported",J.Internal);if(Q===Ze){if(A!==void 0)throw new B("extra trailer",J.Internal);A=an(z);continue}if(H!==void 0)throw new B("extra message",J.Unimplemented);H=ne(z)}if(A===void 0)throw c!==void 0?c:new B("missing trailer",Y.headers.has(tn)?J.Unimplemented:J.Unknown);if(gn(A,Y.headers),H===void 0)throw new B("missing message",A.has(tn)?J.Unimplemented:J.Unknown);return{stream:!1,service:e.parent,method:e,header:Y.headers,message:H,trailer:A}}})},async stream(e,n,t,s,g,h){let{serialize:p,parse:ne}=$e(e,!0);async function a(c){let{value:N,done:A}=await c[Symbol.asyncIterator]().next();if(A)throw new B("missing request message",J.InvalidArgument);return nn(0,p(N))}async function*Y(c,N,A,H,v){if(N){if(!(await he(c).getReader().read()).done)throw new B("extra data for trailers-only",J.Internal);return}let Q=he(c).getReader(),z=!1;for(;;){let ie=await Q.read();if(ie.done)break;let{flags:dn,data:Re}=ie.value;if((dn&Ze)===Ze){if(z)throw new B("extra trailer",J.Internal);z=!0;let Xe=an(Re);gn(Xe,H),Xe.forEach((mn,rn)=>A.set(rn,mn));continue}if(z)throw new B("extra message after trailer",J.Internal);yield ne(Re)}if("throwIfAborted"in v&&v.throwIfAborted?.(),!z)throw new B("missing trailer",J.Internal)}return Xt({interceptors:r.interceptors,signal:n,timeoutMs:t,req:{stream:!0,service:e.parent,method:e,requestMethod:"POST",url:en("https://runtimeapi/",e),header:sn(!0,t,s,!1),contextValues:h??_e(),message:g},next:async c=>{let N=await a(c.message),A=await r.fetcher.fetch(c.url,{method:c.requestMethod,headers:c.header,signal:c.signal,body:N}),{foundStatus:H,headerError:v}=on(A.status,A.headers);if(v)throw v;if(!A.body)throw new B("missing response body",J.Internal);let Q=new Headers;return{...c,header:A.headers,trailer:Q,message:Y(A.body,H,Q,A.headers,c.signal)}}})}}}import{fileDesc as Wt,messageDesc as M}from"@bufbuild/protobuf/codegenv2";var E=Wt("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9pbmNvbWluZy5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiOgoOSG9zdGluZ0RldGFpbHMSGAoLcHVibGljX2hvc3QYASABKAlIAIgBAUIOCgxfcHVibGljX2hvc3QiZgoVU3RhcnRFeGVjdXRpb25SZXF1ZXN0EhAKCHJlY2VpdmVyGAEgASgJEjsKBGhvc3QYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIYChZTdGFydEV4ZWN1dGlvblJlc3BvbnNlIlMKFFN0b3BFeGVjdXRpb25SZXF1ZXN0EjsKBGhvc3QYASABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIXChVTdG9wRXhlY3V0aW9uUmVzcG9uc2UiUQoSQ3JvblRyaWdnZXJSZXF1ZXN0EjsKBGhvc3QYASABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIVChNDcm9uVHJpZ2dlclJlc3BvbnNlIsgBCg5FeGNoYW5nZVJlc3VsdBITCgt0cmFuc21pdHRlchgBIAEoCRJLCgdzaWduYWxzGAIgAygLMjoubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhjaGFuZ2VSZXN1bHQuU2lnbmFsc0VudHJ5GlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAEi2AEKFUV4Y2hhbmdlUmVzdWx0UmVxdWVzdBJDCglvcGVyYXRpb24YASABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZU9wZXJhdGlvbhI9CgZyZXN1bHQYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZVJlc3VsdBI7CgRob3N0GAMgASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSG9zdGluZ0RldGFpbHMiGAoWRXhjaGFuZ2VSZXN1bHRSZXNwb25zZWIGcHJvdG8z",[F,b]),lc=M(E,0),dc=M(E,1),mc=M(E,2),rc=M(E,3),pc=M(E,4),uc=M(E,5),bc=M(E,6),Gc=M(E,7),hc=M(E,8),Zc=M(E,9);var Bt={config:"config",metadata:"metadata",configuredServices:"configured_services"};function ge(r){return Bt[r]??r}function C(r){if(r==null)return r;if(Array.isArray(r))return r.map(C);if(typeof r!="object")return r;let e={};for(let[n,t]of Object.entries(r))t!==void 0&&(e[n]=C(t));return e}var Yt=[l.Unavailable,l.Internal,l.Aborted,l.ResourceExhausted],$=r=>async e=>{for(let n=0;;n++)try{return await r(e)}catch(t){if(n>=3||t instanceof y&&!Yt.includes(t.code))throw t;let s=Math.min(500*(1<<n),5e3);await new Promise(g=>setTimeout(g,Math.random()*s))}},ce=class{env;pluginService;pluginToken;fileforge;constructor(e,n){this.env=e,this.pluginToken=n,this.pluginService=q(Oe,P({fetcher:this.env.plugin,interceptors:[$,t=>async s=>(s.header.set("Authorization",`Bearer ${this.pluginToken}`),await t(s))]})),this.fileforge=q(je,P({fetcher:this.env.fileforge,interceptors:[$,t=>async s=>(s.header.set("Authorization",`Bearer ${this.pluginToken}`),await t(s))]}))}async getSystemVariable(e){let t=(await this.pluginService.batchGetSystemVariables({names:[e]})).items[e];return t?f(oe,t):void 0}async getSystemVariables(...e){let n=await this.pluginService.batchGetSystemVariables({names:e}),t={};for(let[s,g]of Object.entries(n.items))t[s]=f(oe,g);return t}async getUserVariable(e){let t=(await this.pluginService.batchGetUserVariables({names:[e]})).items[e];return t?f(oe,t):void 0}async getUserVariables(...e){let n=await this.pluginService.batchGetUserVariables({names:e}),t={};for(let[s,g]of Object.entries(n.items))t[s]=f(oe,g);return t}async getUserToken(e){return(await this.pluginService.batchGetUserTokens({names:[e]})).items[e]}async getUserTokens(...e){return(await this.pluginService.batchGetUserTokens({names:e})).items}async getSystemToken(e){return(await this.pluginService.batchGetSystemTokens({names:[e]})).items[e]}async getSystemTokens(...e){return(await this.pluginService.batchGetSystemTokens({names:e})).items}userHttpProxy(e){return(n,t)=>{let s=new Request(n,t);return s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Token",`Bearer ${this.pluginToken}`),s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Path",`user:${e}`),s.headers.set("Host",new URL(s.url).host),this.env.httpproxy.fetch(s)}}systemHttpProxy(e){return(n,t)=>{let s=new Request(n,t);return s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Token",`Bearer ${this.pluginToken}`),s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Path",`system:${e}`),s.headers.set("Host",new URL(s.url).host),this.env.httpproxy.fetch(s)}}async authorize(e){await this.pluginService.authorize({accessToken:e})}async getSystemServices(){return(await this.pluginService.getSystemServices({})).configuredServices}async readFile(e){let n=new URL("https://runtimeapi");n.pathname=e;let t=await this.env.assets.fetch(n,{method:"GET"});if(!t.ok)throw ln(t.status);let s=t.headers.get("content-type");if(!s||!s.toLowerCase().includes("application/octet-stream"))throw new y("Invalid file. Are you reading a directory?",l.InvalidArgument);return{content:t.body,mime:s}}async readDirectory(e){let n=new URL("https://runtimeapi");n.pathname=e;let t=await this.env.assets.fetch(n,{method:"GET"});if(!t.ok)throw ln(t.status);let s=t.headers.get("content-type");if(!s||!s.toLowerCase().includes("application/json"))throw new y("Invalid directory. Are you reading a file?",l.InvalidArgument);return await t.json()}createSignalData(e){return G(w,{filename:e.filename,mimeType:"application/octet-stream",data:e.data})}extractBinaryFile(e){return{filename:e.filename??"output",data:e.data}}async htmlToPdf(e){let n=await this.fileforge.renderDocument({conversion:{case:"htmlToPdf",value:G(He,{indexHtml:e.indexHtml,headerHtml:e.headerHtml,footerHtml:e.footerHtml,assets:e.assets?.map(t=>this.createSignalData(t))??[],render:e.render?x(Ge,C(e.render)):void 0,output:e.output?x(ae,C(e.output)):void 0})}});return this.extractBinaryFile(n.output)}async markdownToPdf(e){let n=await this.fileforge.renderDocument({conversion:{case:"markdownToPdf",value:G(ve,{wrapperHtml:e.wrapperHtml,markdownFiles:e.markdownFiles.map(t=>this.createSignalData(t)),headerHtml:e.headerHtml,footerHtml:e.footerHtml,assets:e.assets?.map(t=>this.createSignalData(t))??[],render:e.render?x(Ge,C(e.render)):void 0,output:e.output?x(ae,C(e.output)):void 0})}});return this.extractBinaryFile(n.output)}async officeToPdf(e){let n=await this.fileforge.renderDocument({conversion:{case:"officeToPdf",value:G(ze,{document:this.createSignalData(e.document),render:e.render?x(Ke,C(e.render)):void 0,output:e.output?x(ae,C(e.output)):void 0})}});return this.extractBinaryFile(n.output)}async transformImage(e){let n=await this.fileforge.transformImage(G(Qe,{input:this.createSignalData(e.input),operations:e.operations?.map(t=>x(Ne,C(t)))??[],output:e.output?x(Le,C(e.output)):void 0}));return this.extractBinaryFile(n.output)}async mergePdfs(e){let n=await this.fileforge.manipulatePdf({operation:{case:"merge",value:G(ke,{files:e.files.map(t=>this.createSignalData(t)),pdfa:e.pdfa,pdfua:e.pdfua,flatten:e.flatten,userPassword:e.userPassword,ownerPassword:e.ownerPassword})}});return this.extractBinaryFile(n.outputs[0])}async splitPdf(e){return(await this.fileforge.manipulatePdf({operation:{case:"split",value:G(Ue,{file:this.createSignalData(e.file),mode:e.mode==="intervals"?1:2,span:e.span,unify:e.unify,pdfa:e.pdfa,pdfua:e.pdfua,flatten:e.flatten,userPassword:e.userPassword,ownerPassword:e.ownerPassword})}})).outputs.map(t=>this.extractBinaryFile(t))}async encryptPdf(e){let n=await this.fileforge.manipulatePdf({operation:{case:"encrypt",value:G(we,{file:this.createSignalData(e.file),userPassword:e.userPassword,ownerPassword:e.ownerPassword})}});return this.extractBinaryFile(n.outputs[0])}async convertPdf(e){let n=await this.fileforge.manipulatePdf({operation:{case:"convert",value:G(De,{file:this.createSignalData(e.file),pdfa:e.pdfa,pdfua:e.pdfua})}});return this.extractBinaryFile(n.outputs[0])}async flattenPdf(e){let n=await this.fileforge.manipulatePdf({operation:{case:"flatten",value:G(Te,{file:this.createSignalData(e.file)})}});return this.extractBinaryFile(n.outputs[0])}},Ie=class{result;constructor(e){this.result=e}get(e){let n=this.result[e];if(n)return{value:JSON.parse(new TextDecoder().decode(n.value)),ttl:n.metadata.ttl,lastModified:K(n.metadata.lastModified),etag:n.metadata.etag}}getBinary(e){let n=this.result[e];if(n)return{ttl:n.metadata.ttl,value:n.value,lastModified:K(n.metadata.lastModified),etag:n.metadata.etag}}},ye=class{ops=[];insert(e,n,t){return this.ops.push(G(se,{operation:{case:"insert",value:{key:e,value:{value:n instanceof Uint8Array?n:new TextEncoder().encode(JSON.stringify(n)),ttl:t}}}})),this}delete(e){return this.ops.push(G(se,{operation:{case:"delete",value:{key:e}}})),this}rangeDelete(e,n,t,s){return this.ops.push(G(se,{operation:{case:"rangeDelete",value:{start:e,end:n,startInclusive:t,endInclusive:s}}})),this}build(){return this.ops}},ee=class{service;namespace;constructor(e,n){this.service=e,this.namespace=Ct(Be,n)}async insert(e,n,t,s){let g;s&&(g=G(ue,{}),s.failIfExists?g.failIfExists=!0:(s.etagEquals&&(g.etag=s.etagEquals),s.timestampEquals?g.timestampCondition={case:"lastModifiedEquals",value:j(s.timestampEquals)}:s.timestampRange&&(g.timestampCondition={case:"lastModifiedRange",value:G(pe,{start:s.timestampRange.start?j(s.timestampRange.start):void 0,end:s.timestampRange.end?j(s.timestampRange.end):void 0,startInclusive:s.timestampRange.startInclusive,endInclusive:s.timestampRange.endInclusive})})));let h=await this.service.writeStore({operation:{operation:{case:"insert",value:{key:e,value:{value:n instanceof Uint8Array?n:new TextEncoder().encode(JSON.stringify(n)),ttl:t},precondition:g}}},namespace:this.namespace});return{ttl:h.metadata.ttl,lastModified:K(h.metadata.lastModified),etag:h.metadata.etag}}async delete(e,n){let t;n&&(t=G(Ce,{}),n.mustExists?t.mustExists=!0:(n.etagEquals&&(t.etag=n.etagEquals),n.timestampEquals?t.timestampCondition={case:"lastModifiedEquals",value:j(n.timestampEquals)}:n.timestampRange&&(t.timestampCondition={case:"lastModifiedRange",value:G(pe,{start:n.timestampRange.start?j(n.timestampRange.start):void 0,end:n.timestampRange.end?j(n.timestampRange.end):void 0,startInclusive:n.timestampRange.startInclusive,endInclusive:n.timestampRange.endInclusive})}))),await this.service.writeStore({operation:{operation:{case:"delete",value:{key:e,precondition:t}}},namespace:this.namespace})}async rangeDelete(e,n,t,s){await this.service.batchWriteStore({namespace:this.namespace,operations:[{operation:{case:"rangeDelete",value:{start:e,end:n,startInclusive:t,endInclusive:s}}}]})}async get(e){let t=(await this.service.batchReadStore({keys:[e],namespace:this.namespace})).items[e];if(t)return{data:JSON.parse(new TextDecoder().decode(t.value)),ttl:t.metadata.ttl,etag:t.metadata.etag,lastModified:K(t.metadata.lastModified)}}async getBinary(e){let t=(await this.service.batchReadStore({keys:[e],namespace:this.namespace})).items[e];if(t)return{data:t.value,ttl:t.metadata.ttl,etag:t.metadata.etag,lastModified:K(t.metadata.lastModified)}}async selectRange(e){let n=await this.service.selectStore({namespace:this.namespace,operation:e});return{nextToken:n.nextToken,items:Object.entries(n.items).sort(([t],[s])=>t.localeCompare(s)).map(([t,s])=>({key:t,value:JSON.parse(new TextDecoder().decode(s.value)),ttl:s.metadata.ttl,etag:s.metadata.etag,lastModified:K(s.metadata.lastModified)}))}}async selectRangeBinary(e){let n=await this.service.selectStore({namespace:this.namespace,operation:e});return{nextToken:n.nextToken,items:Object.values(n.items).map(t=>({value:t.value,ttl:t.metadata.ttl,etag:t.metadata.etag,lastModified:K(t.metadata.lastModified)}))}}async writeBatch(e){let n=await this.service.batchWriteStore({namespace:this.namespace,operations:e}),t={};for(let[s,g]of Object.entries(n.metadata))t[s]={ttl:g.ttl,lastModified:K(g.lastModified),etag:g.etag};return t}async readBatch(e){let n=await this.service.batchReadStore({namespace:this.namespace,keys:e});return new Ie(n.items)}async acquire(e,n){try{await this.service.writeStore({namespace:this.namespace,operation:{operation:{case:"insert",value:{key:e,value:{value:new Uint8Array([1]),ttl:n??5},precondition:G(ue,{failIfExists:!0})}}}})}catch(t){if(t instanceof y&&t.code===l.FailedPrecondition)return!1;throw t}return!0}async release(e){await this.writeBatch(new ye().delete(e).build())}async lock(e,n,t){let s=t?.maxRetries??5,g=t?.initialDelay??50,h=t?.maxDelay??2e3;for(let p=0;p<s;p++)if(await this.acquire(e))try{return await n()}finally{await this.release(e)}else if(p<s-1){let a=Math.min(g*2**p,h);console.log(`Acquisition failed for key: ${e}. Delaying for ${a}ms`),await new Promise(Y=>setTimeout(Y,a))}throw new Error("Failed to acquire lock after maximum retries")}},Ae=class extends ce{executor;constructor(e,n){super(e,n),this.executor=q(be,P({fetcher:e.executor,interceptors:[$,t=>async s=>(s.header.set("Authorization",`Bearer ${n}`),await t(s))]}))}async getConfig(...e){let n=await this.executor.getVertexConfig({fieldMask:e.length>0?G(_,{paths:e.map(ge)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];if(s.includes("metadata")&&(t.metadata=n.metadata?f(U,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config"))if(n.config&&n.config.length>0)try{t.config=JSON.parse(new TextDecoder().decode(n.config))}catch{t.config=void 0}else t.config=void 0;return t}async getConfigBinary(...e){let n=await this.executor.getVertexConfig({fieldMask:e.length>0?G(_,{paths:e.map(ge)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];return s.includes("metadata")&&(t.metadata=n.metadata?f(U,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config")&&(t.config=n.config),t}getLocalStore(e){return new ee(this.executor,e==="vertex"?"NAMESPACE_VERTEX":"NAMESPACE_PLUGIN")}getSessionApi(e){return new Ve(this.env,this.pluginToken,e)}},Se=class extends Ae{sessionAuthHeader;constructor(e,n,t){super(e,n),this.sessionAuthHeader=t,this.executor=q(be,P({fetcher:e.executor,interceptors:[$,s=>async g=>(g.header.set("Authorization",t),await s(g))]}))}getAuthHeader(){return this.sessionAuthHeader}getSessionStore(e){return new ee(this.executor,e==="vertex"?"NAMESPACE_VERTEX_INSTANCE":"NAMESPACE_PLUGIN_INSTANCE")}},Ve=class extends Se{constructor(e,n,t){super(e,n,t)}async listSignals(e){let n=await this.executor.listActiveSignals({pageSize:e?.pageSize,orderDescending:e?.orderDescending});return{signals:Object.fromEntries(Object.entries(n.signals).map(([t,s])=>[t,JSON.parse(new TextDecoder().decode(s.data))])),receiver:n.receiver,cursor:n.nextCursor}}async listSignalsBinary(e){let n=await this.executor.listActiveSignals({pageSize:e?.pageSize,orderDescending:e?.orderDescending});return{signals:n.signals,receiver:n.receiver,cursor:n.nextCursor}}async continueListSignals(e){let n=await this.executor.listActiveSignals({cursor:e});return{signals:Object.fromEntries(Object.entries(n.signals).map(([t,s])=>[t,JSON.parse(new TextDecoder().decode(s.data))])),receiver:n.receiver,cursor:n.nextCursor}}async continueListSignalsBinary(e){let n=await this.executor.listActiveSignals({cursor:e});return{signals:n.signals,receiver:n.receiver,cursor:n.nextCursor}}async getSignal(e){let t=(await this.executor.batchGetActiveSignals({names:[e]})).items[e];return t?JSON.parse(new TextDecoder().decode(t.data)):void 0}async getSignalBinary(e){return(await this.executor.batchGetActiveSignals({names:[e]})).items[e]}async getSignals(...e){if(e.length===0)return{};let n=await this.executor.batchGetActiveSignals({names:e});if(Object.keys(n.items).length===0)return{};let t={};for(let[s,g]of Object.entries(n.items))t[s]=JSON.parse(new TextDecoder().decode(g.data));return t}async getSignalsBinary(...e){return e.length===0?{}:(await this.executor.batchGetActiveSignals({names:e})).items}async send(e,n){await this.executor.send({transmitter:e,signals:n?Object.fromEntries(Object.entries(n).map(([t,s])=>s?.data instanceof Uint8Array&&typeof s?.mimeType=="string"&&s.mimeType?[t,G(w,{data:s.data,mimeType:s.mimeType,filename:s.filename})]:[t,G(w,{data:new TextEncoder().encode(JSON.stringify(s)),mimeType:"application/json"})])):{}})}async dispatchExchange(e,n,t){let s={name:e,receiver:n,signals:t?Object.fromEntries(Object.entries(t).map(([h,p])=>p?.data instanceof Uint8Array&&typeof p?.mimeType=="string"&&p.mimeType?[h,G(w,{data:p.data,mimeType:p.mimeType,filename:p.filename})]:[h,G(w,{data:new TextEncoder().encode(JSON.stringify(p)),mimeType:"application/json"})])):{}};return(await this.executor.dispatchExchange(s,{headers:{"x-idempotency-key":crypto.randomUUID()}})).operation}async getExchange(e){let n=await this.executor.getExchangeOperation({id:e});if(!n.item)throw new y("Exchange operation not found",l.NotFound);return n.item}async cancelExchange(e){await this.executor.cancelExchangeOperation({id:e})}},cn=class extends ce{configurator;constructor(e,n){super(e,n),this.configurator=q(Fe,P({fetcher:e.configurator,interceptors:[$,t=>async s=>(s.header.set("Authorization",`Bearer ${n}`),await t(s))]}))}async getConfig(...e){let n=await this.configurator.getVertexConfig({fieldMask:e.length>0?G(_,{paths:e.map(ge)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];if(s.includes("metadata")&&(t.metadata=n.metadata?f(U,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config"))if(n.config&&n.config.length>0)try{t.config=JSON.parse(new TextDecoder().decode(n.config))}catch{t.config=void 0}else t.config=void 0;return t}async getConfigBinary(...e){let n=await this.configurator.getVertexConfig({fieldMask:e.length>0?G(_,{paths:e.map(ge)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];return s.includes("metadata")&&(t.metadata=n.metadata?f(U,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config")&&(t.config=n.config),t}async postConfig(e){if(!e.config&&!e.metadata)throw new y("Either config or metadata must be provided",l.InvalidArgument);let n;e.config!==void 0&&(n=e.config instanceof Uint8Array?e.config:new TextEncoder().encode(JSON.stringify(e.config)));let t=await this.configurator.postVertexConfig({config:n,metadata:e.metadata?x(U,C(e.metadata)):void 0,overrideBindings:e?.overrideBindings});return f(U,t.metadata)}async listIncomingSignals(e,n,t){let s=await this.configurator.listIncomingSignals({receiver:e,formats:n?.map(g=>x(Je,C(g)))??[],fieldMask:t?x(_,C(t)):void 0});return f(Ye,s)}getLocalStore(e){return new ee(this.configurator,e==="vertex"?"NAMESPACE_VERTEX":"NAMESPACE_PLUGIN")}};function ln(r){switch(r){case 400:return new y("Bad Request",l.InvalidArgument);case 401:return new y("Unauthorized",l.Unauthenticated);case 403:return new y("Forbidden",l.PermissionDenied);case 404:return new y("Not Found",l.NotFound);case 409:return new y("Conflict",l.AlreadyExists);case 429:return new y("Too Many Requests",l.ResourceExhausted);case 499:return new y("Client Closed Request",l.Canceled);case 500:return new y("Internal Server Error",l.Internal);case 501:return new y("Not Implemented",l.Unimplemented);case 503:return new y("Service Unavailable",l.Unavailable);case 504:return new y("Gateway Timeout",l.DeadlineExceeded);default:return new y(`Unknown HTTP error: ${r}`,l.Unknown)}}function Zi(r){switch(r.code){case l.Canceled:return 499;case l.Unknown:return 500;case l.InvalidArgument:return 400;case l.DeadlineExceeded:return 504;case l.NotFound:return 404;case l.AlreadyExists:return 409;case l.PermissionDenied:return 403;case l.ResourceExhausted:return 429;case l.FailedPrecondition:return 400;case l.Aborted:return 409;case l.OutOfRange:return 400;case l.Unimplemented:return 501;case l.Internal:return 500;case l.Unavailable:return 503;case l.DataLoss:return 500;case l.Unauthenticated:return 401;default:return 500}}export{uo as AckMessageRequestSchema,bo as AckMessageResponseSchema,ce as ApiBase,Ug as AuthorizeRequestSchema,wg as AuthorizeResponseSchema,Ro as AutomationService,jo as BatchGetActiveSignalsRequestSchema,Oo as BatchGetActiveSignalsResponseSchema,qg as BatchGetSystemTokensRequestSchema,$g as BatchGetSystemTokensResponseSchema,Dg as BatchGetSystemVariablesRequestSchema,Tg as BatchGetSystemVariablesResponseSchema,Og as BatchGetUserTokensRequestSchema,_g as BatchGetUserTokensResponseSchema,Pg as BatchGetUserVariablesRequestSchema,jg as BatchGetUserVariablesResponseSchema,Ie as BatchReadResult,Qo as CancelExchangeOperationRequestSchema,Lo as CancelExchangeOperationResponseSchema,l as Code,_s as ConditionalDeleteOpSchema,Ce as ConditionalDeleteOp_PreconditionSchema,Os as ConditionalInsertOpSchema,ue as ConditionalInsertOp_PreconditionSchema,Ds as ConditionalWriteOperationSchema,cn as ConfiguratorApi,Fe as ConfiguratorService,pa as ConfiguratorServiceBatchReadStoreRequestSchema,ua as ConfiguratorServiceBatchReadStoreResponseSchema,la as ConfiguratorServiceBatchWriteStoreRequestSchema,da as ConfiguratorServiceBatchWriteStoreResponseSchema,ha as ConfiguratorServiceGetVertexConfigRequestSchema,Za as ConfiguratorServiceGetVertexConfigResponseSchema,ba as ConfiguratorServiceSelectStoreRequestSchema,Ga as ConfiguratorServiceSelectStoreResponseSchema,ma as ConfiguratorServiceWriteStoreRequestSchema,ra as ConfiguratorServiceWriteStoreResponseSchema,y as ConnectError,Ta as CreateChallengeRequestSchema,Pa as CreateChallengeResponseSchema,uc as CronTriggerRequestSchema,bc as CronTriggerResponseSchema,js as DeleteOpSchema,wo as DispatchExchangeRequestSchema,Do as DispatchExchangeResponseSchema,Gt as EmulatedMediaType,xg as EmulatedMediaTypeSchema,ng as ExchangeOperationSchema,hc as ExchangeResultRequestSchema,Zc as ExchangeResultResponseSchema,Gc as ExchangeResultSchema,is as ExchangeSchema,Ae as ExecutorApi,be as ExecutorService,vo as ExecutorServiceBatchReadStoreRequestSchema,zo as ExecutorServiceBatchReadStoreResponseSchema,Mo as ExecutorServiceBatchWriteStoreRequestSchema,Eo as ExecutorServiceBatchWriteStoreResponseSchema,$o as ExecutorServiceGetVertexConfigRequestSchema,eg as ExecutorServiceGetVertexConfigResponseSchema,Ko as ExecutorServiceSelectStoreRequestSchema,No as ExecutorServiceSelectStoreResponseSchema,fo as ExecutorServiceWriteStoreRequestSchema,Ho as ExecutorServiceWriteStoreResponseSchema,je as FileForgeService,Sg as FocalPointSchema,Ag as FocalRegionSchema,ko as GetExchangeOperationRequestSchema,Uo as GetExchangeOperationResponseSchema,co as GetSessionRequestSchema,io as GetSessionResponseSchema,Lg as GetSystemServicesRequestSchema,kg as GetSystemServicesResponseSchema,ks as GetValueSchema,It as Gravity,fg as GravitySchema,lc as HostingDetailsSchema,Ge as HtmlRenderOptionsSchema,He as HtmlToPdfSchema,bg as ImageAdjustSchema,Gg as ImageBlurSchema,dg as ImageCropSchema,Cg as ImageDpiSchema,rg as ImageFlipSchema,yg as ImageFocalSchema,yt as ImageFormat,Hg as ImageFormatSchema,Zg as ImageHueSchema,Xg as ImageLabelSchema,Jg as ImageMaxFramesSchema,Ne as ImageOperationSchema,Le as ImageOutputSchema,pg as ImagePadSchema,Wg as ImagePageSchema,Rg as ImageProportionSchema,lg as ImageResizeSchema,Ig as ImageRgbSchema,mg as ImageRotateSchema,Vg as ImageRoundCornerSchema,hg as ImageSharpenSchema,ug as ImageTrimSchema,Bg as ImageWatermarkSchema,ia as IncomingVerticesSchema,_a as InheritSessionRequestSchema,qa as InheritSessionResponseSchema,Ps as InsertOpSchema,kt as JTDSchemaSchema,_o as ListActiveSignalsRequestSchema,qo as ListActiveSignalsResponseSchema,ca as ListIncomingSignalsRequestSchema,Ye as ListIncomingSignalsResponseSchema,Yg as ManipulatePdfRequestSchema,Fg as ManipulatePdfResponseSchema,ve as MarkdownToPdfSchema,Tn as Namespace,Be as NamespaceSchema,Ke as OfficeRenderOptionsSchema,ze as OfficeToPdfSchema,lo as OutputSchema,ht as PdfAFormat,Mg as PdfAFormatSchema,De as PdfConvertSchema,we as PdfEncryptSchema,Te as PdfFlattenSchema,ke as PdfMergeSchema,ae as PdfOutputOptionsSchema,Ue as PdfSplitSchema,Oe as PluginService,Ia as PostVertexConfigRequestSchema,ya as PostVertexConfigResponseSchema,Ls as PutValueSchema,Ts as RangeDeleteOpSchema,$a as ReadOutputRequestSchema,eo as ReadOutputResponseSchema,no as ReadUrlsRequestSchema,to as ReadUrlsResponseSchema,ys as ReceiverSchema,ja as RedeemChallengeRequestSchema,Oa as RedeemChallengeResponseSchema,gg as RenderDocumentRequestSchema,cg as RenderDocumentResponseSchema,Zt as ResizeType,Eg as ResizeTypeSchema,yo as RunInheritRequestSchema,Ao as RunInheritResponseSchema,So as RunInheritStartedSchema,ho as RunSessionRequestSchema,Zo as RunSessionResponseSchema,Io as RunSessionStartedSchema,ws as SelectOpSchema,To as SendRequestSchema,Po as SendResponseSchema,Ve as SessionExecutorApi,ro as SessionSchema,us as SignalBindingSchema,En as SignalBinding_Error,bs as SignalBinding_ErrorSchema,w as SignalDataSchema,qt as SignalDescriptorSchema,Je as SignalFormatSchema,Pe as SplitMode,vg as SplitModeSchema,dc as StartExecutionRequestSchema,mc as StartExecutionResponseSchema,so as StartSessionRequestSchema,ao as StartSessionResponseSchema,dt as Status,Vo as StatusSchema,rc as StopExecutionRequestSchema,pc as StopExecutionResponseSchema,Se as StopExecutorApi,oo as StopSessionRequestSchema,go as StopSessionResponseSchema,ee as Store,po as StreamSessionRequestSchema,Go as StreamSessionResponseSchema,pe as TimestampRangeSchema,ec as TokenSchema,ss as TransceiverSchema,Qe as TransformImageRequestSchema,ig as TransformImageResponseSchema,Xs as TransmitterSchema,Nn as Transmitter_Mode,Js as Transmitter_ModeSchema,mo as UrlSchema,Us as ValueMetadataSchema,U as VertexMetadataSchema,qn as VertexType,Aa as VertexTypeSchema,ye as WriteBatchBuilder,se as WriteOperationSchema,m as file_mochabugapis_adapt_automations_v1_automations,me as file_mochabugapis_adapt_graph_exchange,le as file_mochabugapis_adapt_graph_jtd_schema,re as file_mochabugapis_adapt_graph_receiver,te as file_mochabugapis_adapt_graph_signal_binding,F as file_mochabugapis_adapt_graph_signal_data,k as file_mochabugapis_adapt_graph_signal_descriptor,L as file_mochabugapis_adapt_graph_signal_format,de as file_mochabugapis_adapt_graph_transceiver,D as file_mochabugapis_adapt_graph_transmitter,O as file_mochabugapis_adapt_graph_vertex_metadata,S as file_mochabugapis_adapt_runtime_v1_configurator_service,b as file_mochabugapis_adapt_runtime_v1_executor_service,o as file_mochabugapis_adapt_runtime_v1_fileforge_service,E as file_mochabugapis_adapt_runtime_v1_incoming,X as file_mochabugapis_adapt_runtime_v1_plugin_service,I as file_mochabugapis_adapt_runtime_v1_store,Zi as mapConnectErrorToHttpStatus,ln as mapHttpError};
1
+ import{create as G,enumFromJson as Bt,fromJson as F,toJson as E}from"@bufbuild/protobuf";import{FieldMaskSchema as _,timestampDate as N,timestampFromDate as P,ValueSchema as oe}from"@bufbuild/protobuf/wkt";import{Code as l,ConnectError as y,createClient as q}from"@connectrpc/connect";import{fileDesc as Zn,messageDesc as In}from"@bufbuild/protobuf/codegenv2";import{enumDesc as xt,extDesc as Mt,fileDesc as pn,messageDesc as Et}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_descriptor as un,file_google_protobuf_duration as bn,file_google_protobuf_field_mask as Gn,file_google_protobuf_timestamp as hn}from"@bufbuild/protobuf/wkt";var d=pn("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI3CgRSdWxlEgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSKGAQoMTWVzc2FnZVJ1bGVzEhYKDmNlbF9leHByZXNzaW9uGAUgAygJEh8KA2NlbBgDIAMoCzISLmJ1Zi52YWxpZGF0ZS5SdWxlEi0KBW9uZW9mGAQgAygLMh4uYnVmLnZhbGlkYXRlLk1lc3NhZ2VPbmVvZlJ1bGVKBAgBEAJSCGRpc2FibGVkIjQKEE1lc3NhZ2VPbmVvZlJ1bGUSDgoGZmllbGRzGAEgAygJEhAKCHJlcXVpcmVkGAIgASgIIh4KCk9uZW9mUnVsZXMSEAoIcmVxdWlyZWQYASABKAgiiwkKCkZpZWxkUnVsZXMSFgoOY2VsX2V4cHJlc3Npb24YHSADKAkSHwoDY2VsGBcgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGUSEAoIcmVxdWlyZWQYGSABKAgSJAoGaWdub3JlGBsgASgOMhQuYnVmLnZhbGlkYXRlLklnbm9yZRIpCgVmbG9hdBgBIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GbG9hdFJ1bGVzSAASKwoGZG91YmxlGAIgASgLMhkuYnVmLnZhbGlkYXRlLkRvdWJsZVJ1bGVzSAASKQoFaW50MzIYAyABKAsyGC5idWYudmFsaWRhdGUuSW50MzJSdWxlc0gAEikKBWludDY0GAQgASgLMhguYnVmLnZhbGlkYXRlLkludDY0UnVsZXNIABIrCgZ1aW50MzIYBSABKAsyGS5idWYudmFsaWRhdGUuVUludDMyUnVsZXNIABIrCgZ1aW50NjQYBiABKAsyGS5idWYudmFsaWRhdGUuVUludDY0UnVsZXNIABIrCgZzaW50MzIYByABKAsyGS5idWYudmFsaWRhdGUuU0ludDMyUnVsZXNIABIrCgZzaW50NjQYCCABKAsyGS5idWYudmFsaWRhdGUuU0ludDY0UnVsZXNIABItCgdmaXhlZDMyGAkgASgLMhouYnVmLnZhbGlkYXRlLkZpeGVkMzJSdWxlc0gAEi0KB2ZpeGVkNjQYCiABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQ2NFJ1bGVzSAASLwoIc2ZpeGVkMzIYCyABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkMzJSdWxlc0gAEi8KCHNmaXhlZDY0GAwgASgLMhsuYnVmLnZhbGlkYXRlLlNGaXhlZDY0UnVsZXNIABInCgRib29sGA0gASgLMhcuYnVmLnZhbGlkYXRlLkJvb2xSdWxlc0gAEisKBnN0cmluZxgOIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlc0gAEikKBWJ5dGVzGA8gASgLMhguYnVmLnZhbGlkYXRlLkJ5dGVzUnVsZXNIABInCgRlbnVtGBAgASgLMhcuYnVmLnZhbGlkYXRlLkVudW1SdWxlc0gAEi8KCHJlcGVhdGVkGBIgASgLMhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXNIABIlCgNtYXAYEyABKAsyFi5idWYudmFsaWRhdGUuTWFwUnVsZXNIABIlCgNhbnkYFCABKAsyFi5idWYudmFsaWRhdGUuQW55UnVsZXNIABIvCghkdXJhdGlvbhgVIAEoCzIbLmJ1Zi52YWxpZGF0ZS5EdXJhdGlvblJ1bGVzSAASMgoKZmllbGRfbWFzaxgcIAEoCzIcLmJ1Zi52YWxpZGF0ZS5GaWVsZE1hc2tSdWxlc0gAEjEKCXRpbWVzdGFtcBgWIAEoCzIcLmJ1Zi52YWxpZGF0ZS5UaW1lc3RhbXBSdWxlc0gAQgYKBHR5cGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSJVCg9QcmVkZWZpbmVkUnVsZXMSHwoDY2VsGAEgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSLaFwoKRmxvYXRSdWxlcxKDAQoFY29uc3QYASABKAJCdMJIcQpvCgtmbG9hdC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEp8BCgJsdBgCIAEoAkKQAcJIjAEKiQEKCGZsb2F0Lmx0Gn0haGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0KT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEq8BCgNsdGUYAyABKAJCnwHCSJsBCpgBCglmbG9hdC5sdGUaigEhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlKT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABLvBwoCZ3QYBCABKAJC4AfCSNwHCo0BCghmbG9hdC5ndBqAASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCsMBCgtmbG9hdC5ndF9sdBqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCs0BChVmbG9hdC5ndF9sdF9leGNsdXNpdmUaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrTAQoMZmxvYXQuZ3RfbHRlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycK3QEKFmZsb2F0Lmd0X2x0ZV9leGNsdXNpdmUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEroICgNndGUYBSABKAJCqgjCSKYICpsBCglmbG9hdC5ndGUajQEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycK0gEKDGZsb2F0Lmd0ZV9sdBrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK3AEKFmZsb2F0Lmd0ZV9sdF9leGNsdXNpdmUawQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCuIBCg1mbG9hdC5ndGVfbHRlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrsAQoXZmxvYXQuZ3RlX2x0ZV9leGNsdXNpdmUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESfwoCaW4YBiADKAJCc8JIcApuCghmbG9hdC5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSdgoGbm90X2luGAcgAygCQmbCSGMKYQoMZmxvYXQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSdQoGZmluaXRlGAggASgIQmXCSGIKYAoMZmxvYXQuZmluaXRlGlBydWxlcy5maW5pdGUgPyAodGhpcy5pc05hbigpIHx8IHRoaXMuaXNJbmYoKSA/ICd2YWx1ZSBtdXN0IGJlIGZpbml0ZScgOiAnJykgOiAnJxIrCgdleGFtcGxlGAkgAygCQhrCSBcKFQoNZmxvYXQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i7RcKC0RvdWJsZVJ1bGVzEoQBCgVjb25zdBgBIAEoAUJ1wkhyCnAKDGRvdWJsZS5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEqABCgJsdBgCIAEoAUKRAcJIjQEKigEKCWRvdWJsZS5sdBp9IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCk/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKwAQoDbHRlGAMgASgBQqABwkicAQqZAQoKZG91YmxlLmx0ZRqKASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEvQHCgJndBgEIAEoAULlB8JI4QcKjgEKCWRvdWJsZS5ndBqAASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCsQBCgxkb3VibGUuZ3RfbHQaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrOAQoWZG91YmxlLmd0X2x0X2V4Y2x1c2l2ZRqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCtQBCg1kb3VibGUuZ3RfbHRlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycK3gEKF2RvdWJsZS5ndF9sdGVfZXhjbHVzaXZlGsIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARK/CAoDZ3RlGAUgASgBQq8IwkirCAqcAQoKZG91YmxlLmd0ZRqNASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrTAQoNZG91YmxlLmd0ZV9sdBrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK3QEKF2RvdWJsZS5ndGVfbHRfZXhjbHVzaXZlGsEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrjAQoOZG91YmxlLmd0ZV9sdGUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCu0BChhkb3VibGUuZ3RlX2x0ZV9leGNsdXNpdmUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygBQnTCSHEKbwoJZG91YmxlLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKAFCZ8JIZApiCg1kb3VibGUubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSdgoGZmluaXRlGAggASgIQmbCSGMKYQoNZG91YmxlLmZpbml0ZRpQcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAndmFsdWUgbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSLAoHZXhhbXBsZRgJIAMoAUIbwkgYChYKDmRvdWJsZS5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKMFQoKSW50MzJSdWxlcxKDAQoFY29uc3QYASABKAVCdMJIcQpvCgtpbnQzMi5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEooBCgJsdBgCIAEoBUJ8wkh5CncKCGludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpwBCgNsdGUYAyABKAVCjAHCSIgBCoUBCglpbnQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpcHCgJndBgEIAEoBUKIB8JIhAcKegoIaW50MzIuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQzMi5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLjBwoDZ3RlGAUgASgFQtMHwkjPBwqIAQoJaW50MzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwgEKDGludDMyLmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrKAQoWaW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0gEKDWludDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2gEKF2ludDMyLmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEn8KAmluGAYgAygFQnPCSHAKbgoIaW50MzIuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnYKBm5vdF9pbhgHIAMoBUJmwkhjCmEKDGludDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCCADKAVCGsJIFwoVCg1pbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKMFQoKSW50NjRSdWxlcxKDAQoFY29uc3QYASABKANCdMJIcQpvCgtpbnQ2NC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEooBCgJsdBgCIAEoA0J8wkh5CncKCGludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpwBCgNsdGUYAyABKANCjAHCSIgBCoUBCglpbnQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpcHCgJndBgEIAEoA0KIB8JIhAcKegoIaW50NjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrMBCgtpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKuwEKFWludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsMBCgxpbnQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCssBChZpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLjBwoDZ3RlGAUgASgDQtMHwkjPBwqIAQoJaW50NjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwgEKDGludDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrKAQoWaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0gEKDWludDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2gEKF2ludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEn8KAmluGAYgAygDQnPCSHAKbgoIaW50NjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnYKBm5vdF9pbhgHIAMoA0JmwkhjCmEKDGludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLVUludDMyUnVsZXMShAEKBWNvbnN0GAEgASgNQnXCSHIKcAoMdWludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgNQn3CSHoKeAoJdWludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKA1CjQHCSIkBCoYBCgp1aW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKA1CjQfCSIkHCnsKCXVpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgNQtgHwkjUBwqJAQoKdWludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygNQnTCSHEKbwoJdWludDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKA1CZ8JIZApiCg11aW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoDUIbwkgYChYKDnVpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLVUludDY0UnVsZXMShAEKBWNvbnN0GAEgASgEQnXCSHIKcAoMdWludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgEQn3CSHoKeAoJdWludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKARCjQHCSIkBCoYBCgp1aW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKARCjQfCSIkHCnsKCXVpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgEQtgHwkjUBwqJAQoKdWludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygEQnTCSHEKbwoJdWludDY0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKARCZ8JIZApiCg11aW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoBEIbwkgYChYKDnVpbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLU0ludDMyUnVsZXMShAEKBWNvbnN0GAEgASgRQnXCSHIKcAoMc2ludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgRQn3CSHoKeAoJc2ludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBFCjQHCSIkBCoYBCgpzaW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBFCjQfCSIkHCnsKCXNpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgRQtgHwkjUBwqJAQoKc2ludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygRQnTCSHEKbwoJc2ludDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKBFCZ8JIZApiCg1zaW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKeFQoLU0ludDY0UnVsZXMShAEKBWNvbnN0GAEgASgSQnXCSHIKcAoMc2ludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSiwEKAmx0GAIgASgSQn3CSHoKeAoJc2ludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBJCjQHCSIkBCoYBCgpzaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBJCjQfCSIkHCnsKCXNpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgSQtgHwkjUBwqJAQoKc2ludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgAEKAmluGAYgAygSQnTCSHEKbwoJc2ludDY0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YByADKBJCZ8JIZApiCg1zaW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEkIbwkgYChYKDnNpbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKvFQoMRml4ZWQzMlJ1bGVzEoUBCgVjb25zdBgBIAEoB0J2wkhzCnEKDWZpeGVkMzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKMAQoCbHQYAiABKAdCfsJIewp5CgpmaXhlZDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp4BCgNsdGUYAyABKAdCjgHCSIoBCocBCgtmaXhlZDMyLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASoQcKAmd0GAQgASgHQpIHwkiOBwp8CgpmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq1AQoNZml4ZWQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvQEKF2ZpeGVkMzIuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxQEKDmZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrNAQoYZml4ZWQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLtBwoDZ3RlGAUgASgHQt0HwkjZBwqKAQoLZml4ZWQzMi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrEAQoOZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzAEKGGZpeGVkMzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1AEKD2ZpeGVkMzIuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrcAQoZZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKBAQoCaW4YBiADKAdCdcJIcgpwCgpmaXhlZDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ4CgZub3RfaW4YByADKAdCaMJIZQpjCg5maXhlZDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi0KB2V4YW1wbGUYCCADKAdCHMJIGQoXCg9maXhlZDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIq8VCgxGaXhlZDY0UnVsZXMShQEKBWNvbnN0GAEgASgGQnbCSHMKcQoNZml4ZWQ2NC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEowBCgJsdBgCIAEoBkJ+wkh7CnkKCmZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASngEKA2x0ZRgDIAEoBkKOAcJIigEKhwEKC2ZpeGVkNjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKhBwoCZ3QYBCABKAZCkgfCSI4HCnwKCmZpeGVkNjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrUBCg1maXhlZDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq9AQoXZml4ZWQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrFAQoOZml4ZWQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs0BChhmaXhlZDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEu0HCgNndGUYBSABKAZC3QfCSNkHCooBCgtmaXhlZDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsQBCg5maXhlZDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrMAQoYZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrUAQoPZml4ZWQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtwBChlmaXhlZDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEoEBCgJpbhgGIAMoBkJ1wkhyCnAKCmZpeGVkNjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEngKBm5vdF9pbhgHIAMoBkJowkhlCmMKDmZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwBUKDVNGaXhlZDMyUnVsZXMShgEKBWNvbnN0GAEgASgPQnfCSHQKcgoOc2ZpeGVkMzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKNAQoCbHQYAiABKA9Cf8JIfAp6CgtzZml4ZWQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKfAQoDbHRlGAMgASgPQo8BwkiLAQqIAQoMc2ZpeGVkMzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKmBwoCZ3QYBCABKA9ClwfCSJMHCn0KC3NmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOc2ZpeGVkMzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPc2ZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES8gcKA2d0ZRgFIAEoD0LiB8JI3gcKiwEKDHNmaXhlZDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9zZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBzZml4ZWQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKCAQoCaW4YBiADKA9CdsJIcwpxCgtzZml4ZWQzMi5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSeQoGbm90X2luGAcgAygPQmnCSGYKZAoPc2ZpeGVkMzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLgoHZXhhbXBsZRgIIAMoD0IdwkgaChgKEHNmaXhlZDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIsAVCg1TRml4ZWQ2NFJ1bGVzEoYBCgVjb25zdBgBIAEoEEJ3wkh0CnIKDnNmaXhlZDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSjQEKAmx0GAIgASgQQn/CSHwKegoLc2ZpeGVkNjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnwEKA2x0ZRgDIAEoEEKPAcJIiwEKiAEKDHNmaXhlZDY0Lmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASpgcKAmd0GAQgASgQQpcHwkiTBwp9CgtzZml4ZWQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDnNmaXhlZDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYc2ZpeGVkNjQuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD3NmaXhlZDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGXNmaXhlZDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEvIHCgNndGUYBSABKBBC4gfCSN4HCosBCgxzZml4ZWQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPc2ZpeGVkNjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlzZml4ZWQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQc2ZpeGVkNjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoac2ZpeGVkNjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESggEKAmluGAYgAygQQnbCSHMKcQoLc2ZpeGVkNjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnkKBm5vdF9pbhgHIAMoEEJpwkhmCmQKD3NmaXhlZDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi4KB2V4YW1wbGUYCCADKBBCHcJIGgoYChBzZml4ZWQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLHAQoJQm9vbFJ1bGVzEoIBCgVjb25zdBgBIAEoCEJzwkhwCm4KCmJvb2wuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIqCgdleGFtcGxlGAIgAygIQhnCSBYKFAoMYm9vbC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIiiDkKC1N0cmluZ1J1bGVzEoYBCgVjb25zdBgBIAEoCUJ3wkh0CnIKDHN0cmluZy5jb25zdBpidGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSfgoDbGVuGBMgASgEQnHCSG4KbAoKc3RyaW5nLmxlbhpedWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubGVuXSkgOiAnJxKZAQoHbWluX2xlbhgCIAEoBEKHAcJIgwEKgAEKDnN0cmluZy5taW5fbGVuGm51aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5taW5fbGVuXSkgOiAnJxKXAQoHbWF4X2xlbhgDIAEoBEKFAcJIgQEKfwoOc3RyaW5nLm1heF9sZW4abXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2xlbiA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBtb3N0ICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubWF4X2xlbl0pIDogJycSmwEKCWxlbl9ieXRlcxgUIAEoBEKHAcJIgwEKgAEKEHN0cmluZy5sZW5fYnl0ZXMabHVpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSAhPSBydWxlcy5sZW5fYnl0ZXMgPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubGVuX2J5dGVzXSkgOiAnJxKjAQoJbWluX2J5dGVzGAQgASgEQo8BwkiLAQqIAQoQc3RyaW5nLm1pbl9ieXRlcxp0dWludChieXRlcyh0aGlzKS5zaXplKCkpIDwgcnVsZXMubWluX2J5dGVzID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IGxlYXN0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1pbl9ieXRlc10pIDogJycSogEKCW1heF9ieXRlcxgFIAEoBEKOAcJIigEKhwEKEHN0cmluZy5tYXhfYnl0ZXMac3VpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA+IHJ1bGVzLm1heF9ieXRlcyA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9ieXRlc10pIDogJycSjQEKB3BhdHRlcm4YBiABKAlCfMJIeQp3Cg5zdHJpbmcucGF0dGVybhplIXRoaXMubWF0Y2hlcyhydWxlcy5wYXR0ZXJuKSA/ICd2YWx1ZSBkb2VzIG5vdCBtYXRjaCByZWdleCBwYXR0ZXJuIGAlc2AnLmZvcm1hdChbcnVsZXMucGF0dGVybl0pIDogJycShAEKBnByZWZpeBgHIAEoCUJ0wkhxCm8KDXN0cmluZy5wcmVmaXgaXiF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCBgJXNgJy5mb3JtYXQoW3J1bGVzLnByZWZpeF0pIDogJycSggEKBnN1ZmZpeBgIIAEoCUJywkhvCm0KDXN0cmluZy5zdWZmaXgaXCF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAndmFsdWUgZG9lcyBub3QgaGF2ZSBzdWZmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEpABCghjb250YWlucxgJIAEoCUJ+wkh7CnkKD3N0cmluZy5jb250YWlucxpmIXRoaXMuY29udGFpbnMocnVsZXMuY29udGFpbnMpID8gJ3ZhbHVlIGRvZXMgbm90IGNvbnRhaW4gc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMuY29udGFpbnNdKSA6ICcnEpgBCgxub3RfY29udGFpbnMYFyABKAlCgQHCSH4KfAoTc3RyaW5nLm5vdF9jb250YWlucxpldGhpcy5jb250YWlucyhydWxlcy5ub3RfY29udGFpbnMpID8gJ3ZhbHVlIGNvbnRhaW5zIHN1YnN0cmluZyBgJXNgJy5mb3JtYXQoW3J1bGVzLm5vdF9jb250YWluc10pIDogJycSgAEKAmluGAogAygJQnTCSHEKbwoJc3RyaW5nLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ3CgZub3RfaW4YCyADKAlCZ8JIZApiCg1zdHJpbmcubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycS3wEKBWVtYWlsGAwgASgIQs0BwkjJAQphCgxzdHJpbmcuZW1haWwSI3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGiwhcnVsZXMuZW1haWwgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzRW1haWwoKQpkChJzdHJpbmcuZW1haWxfZW1wdHkSMnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGhohcnVsZXMuZW1haWwgfHwgdGhpcyAhPSAnJ0gAEucBCghob3N0bmFtZRgNIAEoCELSAcJIzgEKZQoPc3RyaW5nLmhvc3RuYW1lEh52YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUaMiFydWxlcy5ob3N0bmFtZSB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpCmUKFXN0cmluZy5ob3N0bmFtZV9lbXB0eRItdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3RuYW1lGh0hcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyAhPSAnJ0gAEscBCgJpcBgOIAEoCEK4AcJItAEKVQoJc3RyaW5nLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxomIXJ1bGVzLmlwIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKCkKWwoPc3RyaW5nLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxoXIXJ1bGVzLmlwIHx8IHRoaXMgIT0gJydIABLWAQoEaXB2NBgPIAEoCELFAcJIwQEKXAoLc3RyaW5nLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaKSFydWxlcy5pcHY0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKDQpCmEKEXN0cmluZy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGhkhcnVsZXMuaXB2NCB8fCB0aGlzICE9ICcnSAAS1gEKBGlwdjYYECABKAhCxQHCSMEBClwKC3N0cmluZy5pcHY2EiJ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NiBhZGRyZXNzGikhcnVsZXMuaXB2NiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg2KQphChFzdHJpbmcuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxoZIXJ1bGVzLmlwdjYgfHwgdGhpcyAhPSAnJ0gAEr8BCgN1cmkYESABKAhCrwHCSKsBClEKCnN0cmluZy51cmkSGXZhbHVlIG11c3QgYmUgYSB2YWxpZCBVUkkaKCFydWxlcy51cmkgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzVXJpKCkKVgoQc3RyaW5nLnVyaV9lbXB0eRIodmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVSSRoYIXJ1bGVzLnVyaSB8fCB0aGlzICE9ICcnSAAScAoHdXJpX3JlZhgSIAEoCEJdwkhaClgKDnN0cmluZy51cmlfcmVmEiN2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVJJIFJlZmVyZW5jZRohIXJ1bGVzLnVyaV9yZWYgfHwgdGhpcy5pc1VyaVJlZigpSAASkAIKB2FkZHJlc3MYFSABKAhC/AHCSPgBCoEBCg5zdHJpbmcuYWRkcmVzcxItdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lLCBvciBpcCBhZGRyZXNzGkAhcnVsZXMuYWRkcmVzcyB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpIHx8IHRoaXMuaXNJcCgpCnIKFHN0cmluZy5hZGRyZXNzX2VtcHR5Ejx2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaHCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgIT0gJydIABKYAgoEdXVpZBgWIAEoCEKHAsJIgwIKpQEKC3N0cmluZy51dWlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBp6IXJ1bGVzLnV1aWQgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykKWQoRc3RyaW5nLnV1aWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVVUlEGhkhcnVsZXMudXVpZCB8fCB0aGlzICE9ICcnSAAS8AEKBXR1dWlkGCEgASgIQt4BwkjaAQpzCgxzdHJpbmcudHV1aWQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCB0cmltbWVkIFVVSUQaPyFydWxlcy50dXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezMyfSQnKQpjChJzdHJpbmcudHV1aWRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCB0cmltbWVkIFVVSUQaGiFydWxlcy50dXVpZCB8fCB0aGlzICE9ICcnSAASlgIKEWlwX3dpdGhfcHJlZml4bGVuGBogASgIQvgBwkj0AQp4ChhzdHJpbmcuaXBfd2l0aF9wcmVmaXhsZW4SH3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUCBwcmVmaXgaOyFydWxlcy5pcF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCgpCngKHnN0cmluZy5pcF93aXRoX3ByZWZpeGxlbl9lbXB0eRIudmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIHByZWZpeBomIXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLPAgoTaXB2NF93aXRoX3ByZWZpeGxlbhgbIAEoCEKvAsJIqwIKkwEKGnN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuEjV2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBo+IXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCkKkgEKIHN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuX2VtcHR5EkR2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBooIXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEs8CChNpcHY2X3dpdGhfcHJlZml4bGVuGBwgASgIQq8CwkirAgqTAQoac3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW4SNXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg2KQqSAQogc3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAAS8gEKCWlwX3ByZWZpeBgdIAEoCELcAcJI2AEKbAoQc3RyaW5nLmlwX3ByZWZpeBIfdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo3IXJ1bGVzLmlwX3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCh0cnVlKQpoChZzdHJpbmcuaXBfcHJlZml4X2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4Gh4hcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgIT0gJydIABKDAgoLaXB2NF9wcmVmaXgYHiABKAhC6wHCSOcBCnUKEnN0cmluZy5pcHY0X3ByZWZpeBIhdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjQgcHJlZml4GjwhcnVsZXMuaXB2NF9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjRfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBwcmVmaXgaICFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzICE9ICcnSAASgwIKC2lwdjZfcHJlZml4GB8gASgIQusBwkjnAQp1ChJzdHJpbmcuaXB2Nl9wcmVmaXgSIXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IHByZWZpeBo8IXJ1bGVzLmlwdjZfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYsIHRydWUpCm4KGHN0cmluZy5pcHY2X3ByZWZpeF9lbXB0eRIwdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgcHJlZml4GiAhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAErUCCg1ob3N0X2FuZF9wb3J0GCAgASgIQpsCwkiXAgqZAQoUc3RyaW5nLmhvc3RfYW5kX3BvcnQSQXZhbHVlIG11c3QgYmUgYSB2YWxpZCBob3N0IChob3N0bmFtZSBvciBJUCBhZGRyZXNzKSBhbmQgcG9ydCBwYWlyGj4hcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0QW5kUG9ydCh0cnVlKQp5ChpzdHJpbmcuaG9zdF9hbmRfcG9ydF9lbXB0eRI3dmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3QgYW5kIHBvcnQgcGFpchoiIXJ1bGVzLmhvc3RfYW5kX3BvcnQgfHwgdGhpcyAhPSAnJ0gAEvUBCgR1bGlkGCMgASgIQuQBwkjgAQqCAQoLc3RyaW5nLnVsaWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVTElEGlchcnVsZXMudWxpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTddWzAtOUEtSEpLTU5QLVRWLVphLWhqa21ucC10di16XXsyNX0kJykKWQoRc3RyaW5nLnVsaWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVTElEGhkhcnVsZXMudWxpZCB8fCB0aGlzICE9ICcnSAASqAUKEHdlbGxfa25vd25fcmVnZXgYGCABKA4yGC5idWYudmFsaWRhdGUuS25vd25SZWdleELxBMJI7QQK8AEKI3N0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lEiZ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRqgAXJ1bGVzLndlbGxfa25vd25fcmVnZXggIT0gMSB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXjo/WzAtOWEtekEtWiEjJCUmXCcqKy0uXl98flx4NjBdKyQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSskJykKjQEKKXN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lX2VtcHR5EjV2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRopcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgIT0gJycK5wEKJHN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl92YWx1ZRIndmFsdWUgbXVzdCBiZSBhIHZhbGlkIEhUVFAgaGVhZGVyIHZhbHVlGpUBcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAyIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXlteXHUwMDAwLVx1MDAwOFx1MDAwQS1cdTAwMUZcdTAwN0ZdKiQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSokJylIABIOCgZzdHJpY3QYGSABKAgSLAoHZXhhbXBsZRgiIAMoCUIbwkgYChYKDnN0cmluZy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLCEgoKQnl0ZXNSdWxlcxKAAQoFY29uc3QYASABKAxCccJIbgpsCgtieXRlcy5jb25zdBpddGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBiZSAleCcuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEngKA2xlbhgNIAEoBEJrwkhoCmYKCWJ5dGVzLmxlbhpZdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSkAEKB21pbl9sZW4YAiABKARCf8JIfAp6Cg1ieXRlcy5taW5fbGVuGml1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg1ieXRlcy5tYXhfbGVuGmF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9sZW4gPyAndmFsdWUgbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEpABCgdwYXR0ZXJuGAQgASgJQn/CSHwKegoNYnl0ZXMucGF0dGVybhppIXN0cmluZyh0aGlzKS5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIG11c3QgbWF0Y2ggcmVnZXggcGF0dGVybiBgJXNgJy5mb3JtYXQoW3J1bGVzLnBhdHRlcm5dKSA6ICcnEoEBCgZwcmVmaXgYBSABKAxCccJIbgpsCgxieXRlcy5wcmVmaXgaXCF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCAleCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEn8KBnN1ZmZpeBgGIAEoDEJvwkhsCmoKDGJ5dGVzLnN1ZmZpeBpaIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCAleCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEoMBCghjb250YWlucxgHIAEoDEJxwkhuCmwKDmJ5dGVzLmNvbnRhaW5zGlohdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSpwEKAmluGAggAygMQpoBwkiWAQqTAQoIYnl0ZXMuaW4ahgFnZXRGaWVsZChydWxlcywgJ2luJykuc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ2CgZub3RfaW4YCSADKAxCZsJIYwphCgxieXRlcy5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxLrAQoCaXAYCiABKAhC3AHCSNgBCnQKCGJ5dGVzLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxpGIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNCB8fCB0aGlzLnNpemUoKSA9PSAxNgpgCg5ieXRlcy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaHSFydWxlcy5pcCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5AEKBGlwdjQYCyABKAhC0wHCSM8BCmUKCmJ5dGVzLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaMyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNApmChBieXRlcy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGh8hcnVsZXMuaXB2NCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5QEKBGlwdjYYDCABKAhC1AHCSNABCmYKCmJ5dGVzLmlwdjYSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaNCFydWxlcy5pcHY2IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gMTYKZgoQYnl0ZXMuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxofIXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgIT0gMEgAEtUBCgR1dWlkGA8gASgIQsQBwkjAAQpeCgpieXRlcy51dWlkEhp2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVVJRBo0IXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpeChBieXRlcy51dWlkX2VtcHR5Eil2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgVVVJRBofIXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgIT0gMEgAEisKB2V4YW1wbGUYDiADKAxCGsJIFwoVCg1ieXRlcy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLUAwoJRW51bVJ1bGVzEoIBCgVjb25zdBgBIAEoBUJzwkhwCm4KCmVudW0uY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIUCgxkZWZpbmVkX29ubHkYAiABKAgSfgoCaW4YAyADKAVCcsJIbwptCgdlbnVtLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ1CgZub3RfaW4YBCADKAVCZcJIYgpgCgtlbnVtLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEioKB2V4YW1wbGUYBSADKAVCGcJIFgoUCgxlbnVtLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAiL7AwoNUmVwZWF0ZWRSdWxlcxKeAQoJbWluX2l0ZW1zGAEgASgEQooBwkiGAQqDAQoScmVwZWF0ZWQubWluX2l0ZW1zGm11aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9pdGVtcyA/ICd2YWx1ZSBtdXN0IGNvbnRhaW4gYXQgbGVhc3QgJWQgaXRlbShzKScuZm9ybWF0KFtydWxlcy5taW5faXRlbXNdKSA6ICcnEqIBCgltYXhfaXRlbXMYAiABKARCjgHCSIoBCocBChJyZXBlYXRlZC5tYXhfaXRlbXMacXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2l0ZW1zID8gJ3ZhbHVlIG11c3QgY29udGFpbiBubyBtb3JlIHRoYW4gJXMgaXRlbShzKScuZm9ybWF0KFtydWxlcy5tYXhfaXRlbXNdKSA6ICcnEnAKBnVuaXF1ZRgDIAEoCEJgwkhdClsKD3JlcGVhdGVkLnVuaXF1ZRIocmVwZWF0ZWQgdmFsdWUgbXVzdCBjb250YWluIHVuaXF1ZSBpdGVtcxoeIXJ1bGVzLnVuaXF1ZSB8fCB0aGlzLnVuaXF1ZSgpEicKBWl0ZW1zGAQgASgLMhguYnVmLnZhbGlkYXRlLkZpZWxkUnVsZXMqCQjoBxCAgICAAiKKAwoITWFwUnVsZXMSjwEKCW1pbl9wYWlycxgBIAEoBEJ8wkh5CncKDW1hcC5taW5fcGFpcnMaZnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IGxlYXN0ICVkIGVudHJpZXMnLmZvcm1hdChbcnVsZXMubWluX3BhaXJzXSkgOiAnJxKOAQoJbWF4X3BhaXJzGAIgASgEQnvCSHgKdgoNbWFwLm1heF9wYWlycxpldWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfcGFpcnMgPyAnbWFwIG11c3QgYmUgYXQgbW9zdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1heF9wYWlyc10pIDogJycSJgoEa2V5cxgEIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzEigKBnZhbHVlcxgFIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzKgkI6AcQgICAgAIiJgoIQW55UnVsZXMSCgoCaW4YAiADKAkSDgoGbm90X2luGAMgAygJIpkXCg1EdXJhdGlvblJ1bGVzEqEBCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJ3wkh0CnIKDmR1cmF0aW9uLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSqAEKAmx0GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQn/CSHwKegoLZHVyYXRpb24ubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASugEKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKPAcJIiwEKiAEKDGR1cmF0aW9uLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASwQcKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQpcHwkiTBwp9CgtkdXJhdGlvbi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDmR1cmF0aW9uLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYZHVyYXRpb24uZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD2R1cmF0aW9uLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGWR1cmF0aW9uLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEo0ICgNndGUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25C4gfCSN4HCosBCgxkdXJhdGlvbi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPZHVyYXRpb24uZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlkdXJhdGlvbi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQZHVyYXRpb24uZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoaZHVyYXRpb24uZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESnQEKAmluGAcgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnbCSHMKcQoLZHVyYXRpb24uaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEpQBCgZub3RfaW4YCCADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CacJIZgpkCg9kdXJhdGlvbi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJJCgdleGFtcGxlGAkgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQh3CSBoKGAoQZHVyYXRpb24uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i/QUKDkZpZWxkTWFza1J1bGVzEr8BCgVjb25zdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCkwHCSI8BCowBChBmaWVsZF9tYXNrLmNvbnN0Gnh0aGlzLnBhdGhzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRocyA/ICd2YWx1ZSBtdXN0IGVxdWFsIHBhdGhzICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRoc10pIDogJycS2QEKAmluGAIgAygJQswBwkjIAQrFAQoNZmllbGRfbWFzay5pbhqzASF0aGlzLnBhdGhzLmFsbChwLCBwIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ2luJykuZXhpc3RzKGYsIHAuc3RhcnRzV2l0aChmKycuJykpKSA/ICd2YWx1ZSBtdXN0IG9ubHkgY29udGFpbiBwYXRocyBpbiAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEvMBCgZub3RfaW4YAyADKAlC4gHCSN4BCtsBChFmaWVsZF9tYXNrLm5vdF9pbhrFASF0aGlzLnBhdGhzLmFsbChwLCAhKHAgaW4gZ2V0RmllbGQocnVsZXMsICdub3RfaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ25vdF9pbicpLmV4aXN0cyhmLCBwLnN0YXJ0c1dpdGgoZisnLicpKSkpID8gJ3ZhbHVlIG11c3Qgbm90IGNvbnRhaW4gYW55IHBhdGhzIGluICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnbm90X2luJyldKSA6ICcnEkwKB2V4YW1wbGUYBCADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQh/CSBwKGgoSZmllbGRfbWFzay5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIikhgKDlRpbWVzdGFtcFJ1bGVzEqMBCgVjb25zdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCeMJIdQpzCg90aW1lc3RhbXAuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKrAQoCbHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQoABwkh9CnsKDHRpbWVzdGFtcC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABK8AQoDbHRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKQAcJIjAEKiQEKDXRpbWVzdGFtcC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEmwKBmx0X25vdxgHIAEoCEJawkhXClUKEHRpbWVzdGFtcC5sdF9ub3caQShydWxlcy5sdF9ub3cgJiYgdGhpcyA+IG5vdykgPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gbm93JyA6ICcnSAASxwcKAmd0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKcB8JImAcKfgoMdGltZXN0YW1wLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq3AQoPdGltZXN0YW1wLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq/AQoZdGltZXN0YW1wLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCscBChB0aW1lc3RhbXAuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrPAQoadGltZXN0YW1wLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEpMICgNndGUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQucHwkjjBwqMAQoNdGltZXN0YW1wLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsYBChB0aW1lc3RhbXAuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs4BChp0aW1lc3RhbXAuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1gEKEXRpbWVzdGFtcC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt4BCht0aW1lc3RhbXAuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESbwoGZ3Rfbm93GAggASgIQl3CSFoKWAoQdGltZXN0YW1wLmd0X25vdxpEKHJ1bGVzLmd0X25vdyAmJiB0aGlzIDwgbm93KSA/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBub3cnIDogJydIARK4AQoGd2l0aGluGAkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQowBwkiIAQqFAQoQdGltZXN0YW1wLndpdGhpbhpxdGhpcyA8IG5vdy1ydWxlcy53aXRoaW4gfHwgdGhpcyA+IG5vdytydWxlcy53aXRoaW4gPyAndmFsdWUgbXVzdCBiZSB3aXRoaW4gJXMgb2Ygbm93Jy5mb3JtYXQoW3J1bGVzLndpdGhpbl0pIDogJycSSwoHZXhhbXBsZRgKIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCHsJIGwoZChF0aW1lc3RhbXAuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iOQoKVmlvbGF0aW9ucxIrCgp2aW9sYXRpb25zGAEgAygLMhcuYnVmLnZhbGlkYXRlLlZpb2xhdGlvbiKfAQoJVmlvbGF0aW9uEiYKBWZpZWxkGAUgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIlCgRydWxlGAYgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIPCgdydWxlX2lkGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSDwoHZm9yX2tleRgEIAEoCEoECAEQAlIKZmllbGRfcGF0aCI9CglGaWVsZFBhdGgSMAoIZWxlbWVudHMYASADKAsyHi5idWYudmFsaWRhdGUuRmllbGRQYXRoRWxlbWVudCLpAgoQRmllbGRQYXRoRWxlbWVudBIUCgxmaWVsZF9udW1iZXIYASABKAUSEgoKZmllbGRfbmFtZRgCIAEoCRI+CgpmaWVsZF90eXBlGAMgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSPAoIa2V5X3R5cGUYBCABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRI+Cgp2YWx1ZV90eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSDwoFaW5kZXgYBiABKARIABISCghib29sX2tleRgHIAEoCEgAEhEKB2ludF9rZXkYCCABKANIABISCgh1aW50X2tleRgJIAEoBEgAEhQKCnN0cmluZ19rZXkYCiABKAlIAEILCglzdWJzY3JpcHQqoQEKBklnbm9yZRIWChJJR05PUkVfVU5TUEVDSUZJRUQQABIYChRJR05PUkVfSUZfWkVST19WQUxVRRABEhEKDUlHTk9SRV9BTFdBWVMQAyIECAIQAioMSUdOT1JFX0VNUFRZKg5JR05PUkVfREVGQVVMVCoXSUdOT1JFX0lGX0RFRkFVTFRfVkFMVUUqFUlHTk9SRV9JRl9VTlBPUFVMQVRFRCpuCgpLbm93blJlZ2V4EhsKF0tOT1dOX1JFR0VYX1VOU1BFQ0lGSUVEEAASIAocS05PV05fUkVHRVhfSFRUUF9IRUFERVJfTkFNRRABEiEKHUtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX1ZBTFVFEAI6VgoHbWVzc2FnZRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiHCSABKAsyGi5idWYudmFsaWRhdGUuTWVzc2FnZVJ1bGVzUgdtZXNzYWdlOk4KBW9uZW9mEh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9ucxiHCSABKAsyGC5idWYudmFsaWRhdGUuT25lb2ZSdWxlc1IFb25lb2Y6TgoFZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGIcJIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzUgVmaWVsZDpdCgpwcmVkZWZpbmVkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiICSABKAsyHS5idWYudmFsaWRhdGUuUHJlZGVmaW5lZFJ1bGVzUgpwcmVkZWZpbmVkQm4KEmJ1aWxkLmJ1Zi52YWxpZGF0ZUINVmFsaWRhdGVQcm90b1ABWkdidWYuYnVpbGQvZ2VuL2dvL2J1ZmJ1aWxkL3Byb3RvdmFsaWRhdGUvcHJvdG9jb2xidWZmZXJzL2dvL2J1Zi92YWxpZGF0ZQ",[un,bn,Gn,hn]);var f=Zn("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2RhdGEucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKmCgoKU2lnbmFsRGF0YRL3BQoIZmlsZW5hbWUYASABKAlC3wW6SNsFugGvAQobZmlsZW5hbWUubm9fcGF0aF9zZXBhcmF0b3JzEmNGaWxlbmFtZSBjYW5ub3QgY29udGFpbiBwYXRoIHNlcGFyYXRvcnMgKCcvJyBvciAnXCcpLiBVc2Ugb25seSB0aGUgZmlsZW5hbWUgd2l0aG91dCBkaXJlY3RvcnkgcGF0aC4aKyF0aGlzLmNvbnRhaW5zKCcvJykgJiYgIXRoaXMuY29udGFpbnMoJ1xcJym6AbsBCh5maWxlbmFtZS5ub19jb250cm9sX2NoYXJhY3RlcnMSOUZpbGVuYW1lIGNhbm5vdCBjb250YWluIGNvbnRyb2wgY2hhcmFjdGVycyBvciBudWxsIGJ5dGVzLhpeIXRoaXMuY29udGFpbnMoJ1x4MDAnKSAmJiAhdGhpcy5jb250YWlucygnXG4nKSAmJiAhdGhpcy5jb250YWlucygnXHInKSAmJiAhdGhpcy5jb250YWlucygnXHQnKboBbQonZmlsZW5hbWUubm9fbGVhZGluZ190cmFpbGluZ193aGl0ZXNwYWNlEi1GaWxlbmFtZSBjYW5ub3Qgc3RhcnQgb3IgZW5kIHdpdGggd2hpdGVzcGFjZS4aE3RoaXMgPT0gdGhpcy50cmltKCm6AdMBChxmaWxlbmFtZS5ub193aW5kb3dzX3Jlc2VydmVkEmpGaWxlbmFtZSBjYW5ub3QgYmUgYSBXaW5kb3dzIHJlc2VydmVkIG5hbWUgKENPTiwgUFJOLCBBVVgsIE5VTCwgQ09NMS05LCBMUFQxLTkpIHdpdGggb3Igd2l0aG91dCBleHRlbnNpb24uGkchdGhpcy5tYXRjaGVzKCdeKD9pKShDT058UFJOfEFVWHxOVUx8Q09NWzEtOV18TFBUWzEtOV0pKD86XFwuW14uXSopPyQnKXIgEAEY/wEyGV5bXi88PjoifD8qXHgwMC1ceDFGXFxdKyRIAIgBARKCBAoJbWltZV90eXBlGAIgASgJQu4DukjqA7oByQEKFm1pbWVfdHlwZS5ub193aWxkY2FyZHMSmQFNSU1FIHR5cGUgd2lsZGNhcmRzIGFyZSBub3QgYWxsb3dlZCBpbiBTaWduYWxEYXRhLiBVc2UgYSBjb25jcmV0ZSBNSU1FIHR5cGUgbGlrZSAnaW1hZ2UvcG5nJyBvciAnYXBwbGljYXRpb24vcGRmJywgbm90IHdpbGRjYXJkcyBsaWtlICdpbWFnZS8qJyBvciAnKi8qJy4aEyF0aGlzLmNvbnRhaW5zKCcqJym6Ab8BChdtaW1lX3R5cGUubm9fcGFyYW1ldGVycxKOAU1JTUUgdHlwZSBwYXJhbWV0ZXJzIGFyZSBub3QgYWxsb3dlZC4gVXNlICd0ZXh0L3BsYWluJyBpbnN0ZWFkIG9mICd0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04Jy4gVVRGLTggZW5jb2RpbmcgaXMgYXNzdW1lZCBmb3IgYWxsIHRleHQgZm9ybWF0cy4aEyF0aGlzLmNvbnRhaW5zKCc7JylyWBADGP8BMlFeW2EtekEtWjAtOV1bYS16QS1aMC05ISMkJlwtXl8uK117MCwxMjZ9L1thLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fSQSDAoEZGF0YRgDIAEoDEILCglfZmlsZW5hbWViBnByb3RvMw",[d]),w=In(f,0);import{fileDesc as Vn,messageDesc as Rn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as yn,messageDesc as An}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_struct as Sn}from"@bufbuild/protobuf/wkt";var le=yn("Ciltb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvanRkX3NjaGVtYS5wcm90bxIYbW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoIpMWCglKVERTY2hlbWESegoLZGVmaW5pdGlvbnMYASADKAsyNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hLkRlZmluaXRpb25zRW50cnlCL7pILJoBKQgAEOgHIiJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEi4KCG1ldGFkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhUKCG51bGxhYmxlGAMgASgISAGIAQESNwoDcmVmGAQgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSAKIAQEScQoEdHlwZRgFIAEoCUJeukhbcllSB2Jvb2xlYW5SB2Zsb2F0MzJSB2Zsb2F0NjRSBGludDhSBXVpbnQ4UgVpbnQxNlIGdWludDE2UgVpbnQzMlIGdWludDMyUgZzdHJpbmdSCXRpbWVzdGFtcEgDiAEBEiQKBGVudW0YBiADKAlCFrpIE5IBEAgAEOgHGAEiB3IFEAEY6AcSOgoIZWxlbWVudHMYByABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hSASIAQESXAoKcHJvcGVydGllcxgIIAMoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWEuUHJvcGVydGllc0VudHJ5QhO6SBCaAQ0IABDoByIGcgQQARhkEm0KE29wdGlvbmFsX3Byb3BlcnRpZXMYCSADKAsyOy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hLk9wdGlvbmFsUHJvcGVydGllc0VudHJ5QhO6SBCaAQ0IABDoByIGcgQQARhkEiIKFWFkZGl0aW9uYWxfcHJvcGVydGllcxgKIAEoCEgFiAEBEjgKBnZhbHVlcxgLIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFIBogBARIlCg1kaXNjcmltaW5hdG9yGAwgASgJQgm6SAZyBBABGGRIB4gBARJWCgdtYXBwaW5nGA0gAygLMjAubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYS5NYXBwaW5nRW50cnlCE7pIEJoBDQgAEOgHIgZyBBABGGQaVwoQRGVmaW5pdGlvbnNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguSlREU2NoZW1hOgI4ARpWCg9Qcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYToCOAEaXgoXT3B0aW9uYWxQcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkpURFNjaGVtYToCOAEaUwoMTWFwcGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWE6AjgBOrULukixCxqTAwocanRkLm11dHVhbGx5X2V4Y2x1c2l2ZV9mb3JtcxKIAVNjaGVtYSBtdXN0IHVzZSBleGFjdGx5IG9uZSBmb3JtIChlbXB0eSwgcmVmLCB0eXBlLCBlbnVtLCBlbGVtZW50cywgcHJvcGVydGllcywgdmFsdWVzLCBvciBkaXNjcmltaW5hdG9yKS4gTXVsdGlwbGUgZm9ybSBrZXl3b3JkcyBmb3VuZC4a5wFbaGFzKHRoaXMucmVmKSwgaGFzKHRoaXMudHlwZSksIHNpemUodGhpcy5lbnVtKSA+IDAsIGhhcyh0aGlzLmVsZW1lbnRzKSwgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPiAwLCBoYXModGhpcy52YWx1ZXMpLCBoYXModGhpcy5kaXNjcmltaW5hdG9yKSAmJiBzaXplKHRoaXMubWFwcGluZykgPiAwXS5maWx0ZXIoeCwgeCkuc2l6ZSgpIDw9IDEa+AEKGWp0ZC5wcm9wZXJ0aWVzX25vX292ZXJsYXASWFByb3BlcnRpZXMgYW5kIG9wdGlvbmFsX3Byb3BlcnRpZXMgY2Fubm90IGhhdmUgb3ZlcmxhcHBpbmcga2V5cyAoUkZDIDg5MjcgU2VjdGlvbiAyLjIuNikagAEhKHNpemUodGhpcy5wcm9wZXJ0aWVzKSA+IDAgJiYgc2l6ZSh0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpID4gMCkgfHwgdGhpcy5wcm9wZXJ0aWVzLmFsbChwaywgIShwayBpbiB0aGlzLm9wdGlvbmFsX3Byb3BlcnRpZXMpKRqQAgoxanRkLmFkZGl0aW9uYWxfcHJvcGVydGllc19vbmx5X29uX3Byb3BlcnRpZXNfZm9ybRJ2YWRkaXRpb25hbF9wcm9wZXJ0aWVzIGNhbiBvbmx5IGJlIHNldCB3aGVuIHVzaW5nIHRoZSBwcm9wZXJ0aWVzIGZvcm0gKGhhcyBub24tZW1wdHkgcHJvcGVydGllcyBvciBvcHRpb25hbF9wcm9wZXJ0aWVzKRpjIWhhcyh0aGlzLmFkZGl0aW9uYWxfcHJvcGVydGllcykgfHwgc2l6ZSh0aGlzLnByb3BlcnRpZXMpID4gMCB8fCBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPiAwGsIBCiJqdGQuZGlzY3JpbWluYXRvcl9yZXF1aXJlc19tYXBwaW5nEmdkaXNjcmltaW5hdG9yIGFuZCBtYXBwaW5nIG11c3QgYXBwZWFyIHRvZ2V0aGVyIHdpdGggYXQgbGVhc3Qgb25lIG1hcHBpbmcgZW50cnkgKFJGQyA4OTI3IFNlY3Rpb24gMi4yLjgpGjNoYXModGhpcy5kaXNjcmltaW5hdG9yKSA9PSAoc2l6ZSh0aGlzLm1hcHBpbmcpID4gMCkaxQIKEmp0ZC5lbnVtX25vbl9lbXB0eRJKZW51bSBhcnJheSBtdXN0IGJlIG5vbi1lbXB0eSB3aGVuIHVzaW5nIGVudW0gZm9ybSAoUkZDIDg5MjcgU2VjdGlvbiAyLjIuNCka4gFzaXplKHRoaXMuZW51bSkgPiAwICYmICFoYXModGhpcy50eXBlKSAmJiAhaGFzKHRoaXMucmVmKSAmJiAhaGFzKHRoaXMuZWxlbWVudHMpICYmICFoYXModGhpcy52YWx1ZXMpICYmICFoYXModGhpcy5kaXNjcmltaW5hdG9yKSAmJiBzaXplKHRoaXMucHJvcGVydGllcykgPT0gMCAmJiBzaXplKHRoaXMub3B0aW9uYWxfcHJvcGVydGllcykgPT0gMCA/IHNpemUodGhpcy5lbnVtKSA+IDAgOiB0cnVlQgsKCV9tZXRhZGF0YUILCglfbnVsbGFibGVCBgoEX3JlZkIHCgVfdHlwZUILCglfZWxlbWVudHNCGAoWX2FkZGl0aW9uYWxfcHJvcGVydGllc0IJCgdfdmFsdWVzQhAKDl9kaXNjcmltaW5hdG9yYgZwcm90bzM",[d,Sn]),kt=An(le,0);var H=Vn("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2Zvcm1hdC5wcm90bxIYbW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoIo8FCgxTaWduYWxGb3JtYXQSOQoKanRkX3NjaGVtYRgBIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFIABKyBAoJbWltZV90eXBlGAIgASgJQpwEukiYBLoBmwIKMG1pbWVfdHlwZS5ub190eXBlX3dpbGRjYXJkX3dpdGhfY29uY3JldGVfc3VidHlwZRK7AVR5cGUgd2lsZGNhcmQgd2l0aCBjb25jcmV0ZSBzdWJ0eXBlIChlLmcuLCAnKi9wbmcnLCAnKi9qc29uJykgaXMgbm90IGFsbG93ZWQuIFVzZSBjb25jcmV0ZSB0eXBlIChlLmcuLCAnaW1hZ2UvcG5nJyksIHR5cGUtZmFtaWx5IHdpbGRjYXJkIChlLmcuLCAnaW1hZ2UvKicpLCBvciB1bml2ZXJzYWwgd2lsZGNhcmQgKCcqLyonKS4aKSEodGhpcy5zdGFydHNXaXRoKCcqLycpICYmIHRoaXMgIT0gJyovKicpugGRAQodbWltZV90eXBlLm5vX2FwcGxpY2F0aW9uX2pzb24SR2dlbmVyaWMganNvbiBpcyBqdGQtc2NoZW1hIHdpdGggZW1wdHkgc2NoZW1hLCB0aGlzIHdpbGwgYWNjZXB0IGFueSBKU09OGid0aGlzLmxvd2VyQXNjaWkoKSAhPSAnYXBwbGljYXRpb24vanNvbidyYhADGP8BMlteKFthLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fXxcKikvKFthLXpBLVowLTldW2EtekEtWjAtOSEjJCZcLV5fLitdezAsMTI2fXxcKikkSABCDwoGZm9ybWF0EgW6SAIIAWIGcHJvdG8z",[d,le]),We=Rn(H,0);import{fileDesc as Ln,messageDesc as kn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as Cn,messageDesc as Yn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as Jn,messageDesc as Bn}from"@bufbuild/protobuf/codegenv2";import{fileDesc as Xn,messageDesc as Wn}from"@bufbuild/protobuf/codegenv2";var k=Xn("CjBtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2Rlc2NyaXB0b3IucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKMAgoQU2lnbmFsRGVzY3JpcHRvchIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhwKBWxhYmVsGAIgASgJQgi6SAVyAxj6AUgAiAEBEiIKC2Rlc2NyaXB0aW9uGAMgASgJQgi6SAVyAxjoB0gBiAEBEhUKCG9wdGlvbmFsGAQgASgISAKIAQESQwoHZm9ybWF0cxgFIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRCCrpIB5IBBAgBEDJCCAoGX2xhYmVsQg4KDF9kZXNjcmlwdGlvbkILCglfb3B0aW9uYWxiBnByb3RvMw",[d,H]),qt=Wn(k,0);var de=Jn("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLMAgoLVHJhbnNjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEhYKCXN0cmVhbWluZxgEIAEoCEgBiAEBQg4KDF9kZXNjcmlwdGlvbkIMCgpfc3RyZWFtaW5nYgZwcm90bzM",[d,k]),ss=Bn(de,0);var me=Cn("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvZXhjaGFuZ2UucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLuAwoIRXhjaGFuZ2USMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARLCAQoMdHJhbnNtaXR0ZXJzGAMgAygLMiUubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlRyYW5zY2VpdmVyQoQBukiAAboBeAoZdHJhbnNtaXR0ZXJzX3VuaXF1ZV9uYW1lcxIpRWFjaCB0cmFuc21pdHRlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aMHRoaXMubWFwKHRyYW5zbWl0dGVyLCB0cmFuc21pdHRlci5uYW1lKS51bmlxdWUoKZIBAhAKErMBCglyZWNlaXZlcnMYBCADKAsyJS5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEApCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM",[d,de]),is=Yn(me,0);import{fileDesc as fn,messageDesc as Hn}from"@bufbuild/protobuf/codegenv2";import{enumDesc as Fn,fileDesc as xn,messageDesc as Mn}from"@bufbuild/protobuf/codegenv2";var te=xn("Ci1tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2JpbmRpbmcucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLUBAoNU2lnbmFsQmluZGluZxIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhwKBWxhYmVsGAIgASgJQgi6SAVyAxj6AUgAiAEBEiIKC2Rlc2NyaXB0aW9uGAMgASgJQgi6SAVyAxjoB0gBiAEBEhUKCG9wdGlvbmFsGAQgASgISAKIAQESQwoHYWNjZXB0cxgFIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRCCrpIB5IBBAgBEDISgwEKCXJlZmVyZW5jZRgGIAEoCUJwukht2AEBcmgY+gEyY14oWzAtOWEtel17NH0vW18kYS16QS1aXVtfJGEtekEtWjAtOV0qL1tfJGEtekEtWl1bXyRhLXpBLVowLTldKnxjb25zdGFudC9bXyRhLXpBLVpdW18kYS16QS1aMC05XSopJBJLCgVlcnJvchgIIAEoDjItLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxCaW5kaW5nLkVycm9yQgi6SAWCAQIgAEgDiAEBImYKBUVycm9yEhUKEUVSUk9SX1VOU1BFQ0lGSUVEEAASEQoNRVJST1JfVU5CT1VORBABEhgKFEVSUk9SX0lOVkFMSURfU09VUkNFEAISGQoVRVJST1JfU0NIRU1BX01JU01BVENIEANCCAoGX2xhYmVsQg4KDF9kZXNjcmlwdGlvbkILCglfb3B0aW9uYWxCCAoGX2Vycm9ySgQIBxAIYgZwcm90bzM",[d,H]),ps=Mn(te,0),En=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.UNBOUND=1]="UNBOUND",s[s.INVALID_SOURCE=2]="INVALID_SOURCE",s[s.SCHEMA_MISMATCH=3]="SCHEMA_MISMATCH",s))(En||{}),us=Fn(te,0,0);var re=fn("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvcmVjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKlAgoIUmVjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKvAQoIYmluZGluZ3MYAyADKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsQmluZGluZ0J0ukhxugFoChViaW5kaW5nc191bmlxdWVfbmFtZXMSJUVhY2ggYmluZGluZyBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKHRoaXMubWFwKGJpbmRpbmcsIGJpbmRpbmcubmFtZSkudW5pcXVlKCmSAQMQgARCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM",[d,te]),Is=Hn(re,0);import{enumDesc as vn,fileDesc as zn,messageDesc as Kn}from"@bufbuild/protobuf/codegenv2";var D=zn("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNtaXR0ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLCAwoLVHJhbnNtaXR0ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEj0KBG1vZGUYBCABKA4yKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNtaXR0ZXIuTW9kZUgBiAEBIlIKBE1vZGUSFAoQTU9ERV9VTlNQRUNJRklFRBAAEhEKDU1PREVfU1RBTkRBUkQQARIPCgtNT0RFX1NUUkVBTRACEhAKDE1PREVfRkFJTFVSRRADQg4KDF9kZXNjcmlwdGlvbkIHCgVfbW9kZWIGcHJvdG8z",[d,k]),Rs=Kn(D,0),Nn=(s=>(s[s.UNSPECIFIED=0]="UNSPECIFIED",s[s.STANDARD=1]="STANDARD",s[s.STREAM=2]="STREAM",s[s.FAILURE=3]="FAILURE",s))(Nn||{}),Xs=vn(D,0,0);import{fileDesc as Qn,messageDesc as Bs}from"@bufbuild/protobuf/codegenv2";var Je=Qn("Cjxtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdXNlcl9kZWZpbmVkX2V4Y2hhbmdlX29wdGlvbnMucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLHFQoaVXNlckRlZmluZWRFeGNoYW5nZU9wdGlvbnMSaQoTdHJhbnNtaXR0ZXJfb3B0aW9ucxgBIAEoCzJHLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5Vc2VyRGVmaW5lZEV4Y2hhbmdlT3B0aW9ucy5UcmFuc2NlaXZlck9wdGlvbnNIAIgBARJmChByZWNlaXZlcl9vcHRpb25zGAIgASgLMkcubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLlRyYW5zY2VpdmVyT3B0aW9uc0gBiAEBEiMKDW1heF9leGNoYW5nZXMYAyABKAVCB7pIBBoCKABIAogBARIjCg1taW5fZXhjaGFuZ2VzGAQgASgFQge6SAQaAigASAOIAQES0QEKDmV4Y2hhbmdlX2xvY2tzGAUgAygLMkEubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLkV4Y2hhbmdlTG9ja0J2ukhzugFwChtleGNoYW5nZV9sb2Nrc191bmlxdWVfbmFtZXMSMUVhY2ggZXhjaGFuZ2UgbG9jayBtdXN0IHRhcmdldCBhIHVuaXF1ZSBleGNoYW5nZS4aHnRoaXMubWFwKGVsLCBlbC5uYW1lKS51bmlxdWUoKRqVAQoKU2lnbmFsTG9jaxIzCgRuYW1lGAEgASgJQiW6SCJyIBABGDIyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEkEKDG11c3Rfc3Vic3VtZRgCIAEoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXRIAIgBAUIPCg1fbXVzdF9zdWJzdW1lGsAFCg9UcmFuc2NlaXZlckxvY2sSMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBLFAQoMc2lnbmFsX2xvY2tzGAIgAygLMj8ubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLlNpZ25hbExvY2tCbrpIa7oBaAoZc2lnbmFsX2xvY2tzX3VuaXF1ZV9uYW1lcxItRWFjaCBzaWduYWwgbG9jayBtdXN0IHRhcmdldCBhIHVuaXF1ZSBzaWduYWwuGhx0aGlzLm1hcChzLCBzLm5hbWUpLnVuaXF1ZSgpEiEKC21pbl9zaWduYWxzGAMgASgFQge6SAQaAigASACIAQESIQoLbWF4X3NpZ25hbHMYBCABKAVCB7pIBBoCKABIAYgBATrJArpIxQIaowEKD21pbl9tYXhfc2lnbmFscxI2bWluX3NpZ25hbHMgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gbWF4X3NpZ25hbHMuGlghaGFzKHRoaXMubWluX3NpZ25hbHMpIHx8ICFoYXModGhpcy5tYXhfc2lnbmFscykgfHwgdGhpcy5taW5fc2lnbmFscyA8PSB0aGlzLm1heF9zaWduYWxzGpwBChZtaW5fc2lnbmFsc19ndGVfbG9ja2VkEjptaW5fc2lnbmFscyBtdXN0IGJlIGF0IGxlYXN0IHRoZSBudW1iZXIgb2YgbG9ja2VkIHNpZ25hbHMuGkYhaGFzKHRoaXMubWluX3NpZ25hbHMpIHx8IHRoaXMubWluX3NpZ25hbHMgPj0gdGhpcy5zaWduYWxfbG9ja3Muc2l6ZSgpQg4KDF9taW5fc2lnbmFsc0IOCgxfbWF4X3NpZ25hbHMaigYKElRyYW5zY2VpdmVyT3B0aW9ucxIcCg9hbGxvd19zdHJlYW1pbmcYASABKAhIAIgBARLGAQoFbG9ja3MYAiADKAsyRC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVXNlckRlZmluZWRFeGNoYW5nZU9wdGlvbnMuVHJhbnNjZWl2ZXJMb2NrQnG6SG66AWsKEmxvY2tzX3VuaXF1ZV9uYW1lcxI3RWFjaCB0cmFuc2NlaXZlciBsb2NrIG11c3QgdGFyZ2V0IGEgdW5pcXVlIHRyYW5zY2VpdmVyLhocdGhpcy5tYXAobCwgbC5uYW1lKS51bmlxdWUoKRImChBtaW5fdHJhbnNjZWl2ZXJzGAMgASgFQge6SAQaAigASAGIAQESJgoQbWF4X3RyYW5zY2VpdmVycxgEIAEoBUIHukgEGgIoAEgCiAEBOv4Cukj6AhrGAQoUbWluX21heF90cmFuc2NlaXZlcnMSQG1pbl90cmFuc2NlaXZlcnMgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gbWF4X3RyYW5zY2VpdmVycy4abCFoYXModGhpcy5taW5fdHJhbnNjZWl2ZXJzKSB8fCAhaGFzKHRoaXMubWF4X3RyYW5zY2VpdmVycykgfHwgdGhpcy5taW5fdHJhbnNjZWl2ZXJzIDw9IHRoaXMubWF4X3RyYW5zY2VpdmVycxquAQobbWluX3RyYW5zY2VpdmVyc19ndGVfbG9ja2VkEkRtaW5fdHJhbnNjZWl2ZXJzIG11c3QgYmUgYXQgbGVhc3QgdGhlIG51bWJlciBvZiBsb2NrZWQgdHJhbnNjZWl2ZXJzLhpJIWhhcyh0aGlzLm1pbl90cmFuc2NlaXZlcnMpIHx8IHRoaXMubWluX3RyYW5zY2VpdmVycyA+PSB0aGlzLmxvY2tzLnNpemUoKUISChBfYWxsb3dfc3RyZWFtaW5nQhMKEV9taW5fdHJhbnNjZWl2ZXJzQhMKEV9tYXhfdHJhbnNjZWl2ZXJzGsMCCgxFeGNoYW5nZUxvY2sSMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBJpChN0cmFuc21pdHRlcl9vcHRpb25zGAIgASgLMkcubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlVzZXJEZWZpbmVkRXhjaGFuZ2VPcHRpb25zLlRyYW5zY2VpdmVyT3B0aW9uc0gAiAEBEmYKEHJlY2VpdmVyX29wdGlvbnMYAyABKAsyRy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVXNlckRlZmluZWRFeGNoYW5nZU9wdGlvbnMuVHJhbnNjZWl2ZXJPcHRpb25zSAGIAQFCFgoUX3RyYW5zbWl0dGVyX29wdGlvbnNCEwoRX3JlY2VpdmVyX29wdGlvbnM6uAG6SLQBGrEBChFtaW5fbWF4X2V4Y2hhbmdlcxI6bWluX2V4Y2hhbmdlcyBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byBtYXhfZXhjaGFuZ2VzLhpgIWhhcyh0aGlzLm1pbl9leGNoYW5nZXMpIHx8ICFoYXModGhpcy5tYXhfZXhjaGFuZ2VzKSB8fCB0aGlzLm1pbl9leGNoYW5nZXMgPD0gdGhpcy5tYXhfZXhjaGFuZ2VzQhYKFF90cmFuc21pdHRlcl9vcHRpb25zQhMKEV9yZWNlaXZlcl9vcHRpb25zQhAKDl9tYXhfZXhjaGFuZ2VzQhAKDl9taW5fZXhjaGFuZ2VzYgZwcm90bzM",[d,H]);var O=Ln("Ci5tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdmVydGV4X21ldGFkYXRhLnByb3RvEhhtb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGgi3w0KDlZlcnRleE1ldGFkYXRhEhAKCGNvbXBsZXRlGAEgASgIErABCglyZWNlaXZlcnMYAiADKAsyIi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguUmVjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEDISwgEKDHRyYW5zbWl0dGVycxgDIAMoCzIlLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5UcmFuc21pdHRlckKEAbpIgAG6AXgKGXRyYW5zbWl0dGVyc191bmlxdWVfbmFtZXMSKUVhY2ggdHJhbnNtaXR0ZXIgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGjB0aGlzLm1hcCh0cmFuc21pdHRlciwgdHJhbnNtaXR0ZXIubmFtZSkudW5pcXVlKCmSAQIQMhKuAQoJZXhjaGFuZ2VzGAQgAygLMiIubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkV4Y2hhbmdlQne6SHS6AWwKFmV4Y2hhbmdlc191bmlxdWVfbmFtZXMSJkVhY2ggZXhjaGFuZ2UgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGip0aGlzLm1hcChleGNoYW5nZSwgZXhjaGFuZ2UubmFtZSkudW5pcXVlKCmSAQIQZBJOCgt1ZGVfb3B0aW9ucxgFIAEoCzI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5Vc2VyRGVmaW5lZEV4Y2hhbmdlT3B0aW9uc0gAiAEBEiUKDWNyb25fc2NoZWR1bGUYBiABKAlCCbpIBnIEEAEYZEgBiAEBOvgHukj0BxrvAQorZXhjaGFuZ2VfbG9ja3NfcmVmZXJlbmNlX2V4aXN0aW5nX2V4Y2hhbmdlcxJKRWFjaCBleGNoYW5nZSBsb2NrIG11c3QgcmVmZXJlbmNlIGFuIGV4Y2hhbmdlIHRoYXQgZXhpc3RzIGluIHRoZSBtZXRhZGF0YS4adCFoYXModGhpcy51ZGVfb3B0aW9ucykgfHwgdGhpcy51ZGVfb3B0aW9ucy5leGNoYW5nZV9sb2Nrcy5hbGwobG9jaywgdGhpcy5leGNoYW5nZXMuZXhpc3RzKGV4LCBleC5uYW1lID09IGxvY2submFtZSkpGocDCi1leGNoYW5nZV9sb2NrX3RyYW5zbWl0dGVyc19yZWZlcmVuY2VfZXhpc3RpbmcSZUVhY2ggbG9ja2VkIHRyYW5zbWl0dGVyIGluIGFuIGV4Y2hhbmdlIGxvY2sgbXVzdCByZWZlcmVuY2UgYSB0cmFuc21pdHRlciB0aGF0IGV4aXN0cyBpbiB0aGUgZXhjaGFuZ2UuGu4BIWhhcyh0aGlzLnVkZV9vcHRpb25zKSB8fCB0aGlzLnVkZV9vcHRpb25zLmV4Y2hhbmdlX2xvY2tzLmFsbChsb2NrLCAhaGFzKGxvY2sudHJhbnNtaXR0ZXJfb3B0aW9ucykgfHwgbG9jay50cmFuc21pdHRlcl9vcHRpb25zLmxvY2tzLmFsbCh0bCwgdGhpcy5leGNoYW5nZXMuZXhpc3RzKGV4LCBleC5uYW1lID09IGxvY2submFtZSAmJiBleC50cmFuc21pdHRlcnMuZXhpc3RzKHQsIHQubmFtZSA9PSB0bC5uYW1lKSkpKRr1AgoqZXhjaGFuZ2VfbG9ja19yZWNlaXZlcnNfcmVmZXJlbmNlX2V4aXN0aW5nEl9FYWNoIGxvY2tlZCByZWNlaXZlciBpbiBhbiBleGNoYW5nZSBsb2NrIG11c3QgcmVmZXJlbmNlIGEgcmVjZWl2ZXIgdGhhdCBleGlzdHMgaW4gdGhlIGV4Y2hhbmdlLhrlASFoYXModGhpcy51ZGVfb3B0aW9ucykgfHwgdGhpcy51ZGVfb3B0aW9ucy5leGNoYW5nZV9sb2Nrcy5hbGwobG9jaywgIWhhcyhsb2NrLnJlY2VpdmVyX29wdGlvbnMpIHx8IGxvY2sucmVjZWl2ZXJfb3B0aW9ucy5sb2Nrcy5hbGwodGwsIHRoaXMuZXhjaGFuZ2VzLmV4aXN0cyhleCwgZXgubmFtZSA9PSBsb2NrLm5hbWUgJiYgZXgucmVjZWl2ZXJzLmV4aXN0cyhyLCByLm5hbWUgPT0gdGwubmFtZSkpKSlCDgoMX3VkZV9vcHRpb25zQhAKDl9jcm9uX3NjaGVkdWxlYgZwcm90bzM",[d,me,re,D,Je]),U=kn(O,0);import{enumDesc as jn,fileDesc as Pn,messageDesc as V,serviceDesc as On}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_field_mask as _n}from"@bufbuild/protobuf/wkt";import{enumDesc as Un,fileDesc as wn,messageDesc as R}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_timestamp as Dn}from"@bufbuild/protobuf/wkt";var I=wn("Ciltb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9zdG9yZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiJgoIUHV0VmFsdWUSDQoFdmFsdWUYASABKAwSCwoDdHRsGAIgASgFIlkKCEdldFZhbHVlEg0KBXZhbHVlGAEgASgMEj4KCG1ldGFkYXRhGAIgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YSJdCg1WYWx1ZU1ldGFkYXRhEgsKA3R0bBgBIAEoBRIxCg1sYXN0X21vZGlmaWVkGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRldGFnGAMgASgJIuwBCg5UaW1lc3RhbXBSYW5nZRIxCgVzdGFydBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCBrpIA8gBARIvCgNlbmQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQga6SAPIAQESFwoPc3RhcnRfaW5jbHVzaXZlGAMgASgIEhUKDWVuZF9pbmNsdXNpdmUYBCABKAg6RrpIQxpBCgt2YWxpZF9yYW5nZRIbc3RhcnQgbXVzdCBiZSBsZXNzIHRoYW4gZW5kGhV0aGlzLnN0YXJ0IDwgdGhpcy5lbmQinwMKCFNlbGVjdE9wEhwKBXN0YXJ0GAEgASgJQgi6SAVyAxiAIEgAiAEBEhoKA2VuZBgCIAEoCUIIukgFcgMYgCBIAYgBARIcCg9zdGFydF9pbmNsdXNpdmUYAyABKAhIAogBARIaCg1lbmRfaW5jbHVzaXZlGAQgASgISAOIAQESHgoFbGltaXQYBSABKAVCCrpIBxoFGOgHKABIBIgBARIXCgpwYWdlX3Rva2VuGAYgASgJSAWIAQE6lAG6SJABGo0BCgt2YWxpZF9yYW5nZRJBd2hlbiBib3RoIHN0YXJ0IGFuZCBlbmQgYXJlIHByb3ZpZGVkLCBzdGFydCBtdXN0IGJlIGxlc3MgdGhhbiBlbmQaOyFoYXModGhpcy5zdGFydCkgfHwgIWhhcyh0aGlzLmVuZCkgfHwgdGhpcy5zdGFydCA8IHRoaXMuZW5kQggKBl9zdGFydEIGCgRfZW5kQhIKEF9zdGFydF9pbmNsdXNpdmVCEAoOX2VuZF9pbmNsdXNpdmVCCAoGX2xpbWl0Qg0KC19wYWdlX3Rva2VuIuABCg5Xcml0ZU9wZXJhdGlvbhI5CgZpbnNlcnQYASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbnNlcnRPcEgAEjkKBmRlbGV0ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkRlbGV0ZU9wSAASRAoMcmFuZ2VfZGVsZXRlGAMgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUmFuZ2VEZWxldGVPcEgAQhIKCW9wZXJhdGlvbhIFukgCCAEiuwEKGUNvbmRpdGlvbmFsV3JpdGVPcGVyYXRpb24SRAoGaW5zZXJ0GAEgASgLMjIubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZGl0aW9uYWxJbnNlcnRPcEgAEkQKBmRlbGV0ZRgCIAEoCzIyLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmRpdGlvbmFsRGVsZXRlT3BIAEISCglvcGVyYXRpb24SBbpIAggBItICCg1SYW5nZURlbGV0ZU9wEhwKBXN0YXJ0GAEgASgJQgi6SAVyAxiAIEgAiAEBEhoKA2VuZBgCIAEoCUIIukgFcgMYgCBIAYgBARIcCg9zdGFydF9pbmNsdXNpdmUYAyABKAhIAogBARIaCg1lbmRfaW5jbHVzaXZlGAQgASgISAOIAQE6lAG6SJABGo0BCgt2YWxpZF9yYW5nZRJBd2hlbiBib3RoIHN0YXJ0IGFuZCBlbmQgYXJlIHByb3ZpZGVkLCBzdGFydCBtdXN0IGJlIGxlc3MgdGhhbiBlbmQaOyFoYXModGhpcy5zdGFydCkgfHwgIWhhcyh0aGlzLmVuZCkgfHwgdGhpcy5zdGFydCA8IHRoaXMuZW5kQggKBl9zdGFydEIGCgRfZW5kQhIKEF9zdGFydF9pbmNsdXNpdmVCEAoOX2VuZF9pbmNsdXNpdmUiYQoISW5zZXJ0T3ASFQoDa2V5GAEgASgJQgi6SAVyAxiAIBI+CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlB1dFZhbHVlQga6SAPIAQEiIQoIRGVsZXRlT3ASFQoDa2V5GAEgASgJQgi6SAVyAxiAICK2BgoTQ29uZGl0aW9uYWxJbnNlcnRPcBIVCgNrZXkYASABKAlCCLpIBXIDGIAgEj4KBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUHV0VmFsdWVCBrpIA8gBARJaCgxwcmVjb25kaXRpb24YAyABKAsyPy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbEluc2VydE9wLlByZWNvbmRpdGlvbkgAiAEBGtoECgxQcmVjb25kaXRpb24SOgoUbGFzdF9tb2RpZmllZF9lcXVhbHMYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAASTAoTbGFzdF9tb2RpZmllZF9yYW5nZRgCIAEoCzItLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRpbWVzdGFtcFJhbmdlSAASEQoEZXRhZxgEIAEoCUgBiAEBEhsKDmZhaWxfaWZfZXhpc3RzGAUgASgISAKIAQE63AK6SNgCGscBCiBub190aW1lc3RhbXBfd2l0aF9mYWlsX2lmX2V4aXN0cxI7ZmFpbF9pZl9leGlzdHMgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggdGltZXN0YW1wIGNvbmRpdGlvbnMaZnRoaXMuZmFpbF9pZl9leGlzdHMgPT0gdHJ1ZSA/ICFoYXModGhpcy5sYXN0X21vZGlmaWVkX2VxdWFscykgJiYgIWhhcyh0aGlzLmxhc3RfbW9kaWZpZWRfcmFuZ2UpIDogdHJ1ZRqLAQobbm9fZXRhZ193aXRoX2ZhaWxfaWZfZXhpc3RzEjZmYWlsX2lmX2V4aXN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBldGFnIGNvbmRpdGlvbnMaNHRoaXMuZmFpbF9pZl9leGlzdHMgPT0gdHJ1ZSA/ICFoYXModGhpcy5ldGFnKSA6IHRydWVCFQoTdGltZXN0YW1wX2NvbmRpdGlvbkIHCgVfZXRhZ0IRCg9fZmFpbF9pZl9leGlzdHNCDwoNX3ByZWNvbmRpdGlvbiLeBQoTQ29uZGl0aW9uYWxEZWxldGVPcBIVCgNrZXkYASABKAlCCLpIBXIDGIAgEloKDHByZWNvbmRpdGlvbhgCIAEoCzI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmRpdGlvbmFsRGVsZXRlT3AuUHJlY29uZGl0aW9uSACIAQEawgQKDFByZWNvbmRpdGlvbhIYCgttdXN0X2V4aXN0cxgBIAEoCEgBiAEBEjoKFGxhc3RfbW9kaWZpZWRfZXF1YWxzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAEkwKE2xhc3RfbW9kaWZpZWRfcmFuZ2UYAyABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UaW1lc3RhbXBSYW5nZUgAEhEKBGV0YWcYBCABKAlIAogBATrKArpIxgIavgEKHW5vX3RpbWVzdGFtcF93aXRoX211c3RfZXhpc3RzEjhtdXN0X2V4aXN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCB0aW1lc3RhbXAgY29uZGl0aW9ucxpjdGhpcy5tdXN0X2V4aXN0cyA9PSB0cnVlID8gIWhhcyh0aGlzLmxhc3RfbW9kaWZpZWRfZXF1YWxzKSAmJiAhaGFzKHRoaXMubGFzdF9tb2RpZmllZF9yYW5nZSkgOiB0cnVlGoIBChhub19ldGFnX3dpdGhfbXVzdF9leGlzdHMSM211c3RfZXhpc3RzIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGV0YWcgY29uZGl0aW9ucxoxdGhpcy5tdXN0X2V4aXN0cyA9PSB0cnVlID8gIWhhcyh0aGlzLmV0YWcpIDogdHJ1ZUIVChN0aW1lc3RhbXBfY29uZGl0aW9uQg4KDF9tdXN0X2V4aXN0c0IHCgVfZXRhZ0IPCg1fcHJlY29uZGl0aW9uKpABCglOYW1lc3BhY2USGQoVTkFNRVNQQUNFX1VOU1BFQ0lGSUVEEAASHQoZTkFNRVNQQUNFX1ZFUlRFWF9JTlNUQU5DRRABEh0KGU5BTUVTUEFDRV9QTFVHSU5fSU5TVEFOQ0UQAhIUChBOQU1FU1BBQ0VfVkVSVEVYEAMSFAoQTkFNRVNQQUNFX1BMVUdJThAEYgZwcm90bzM",[d,Dn]),Ls=R(I,0),ks=R(I,1),Us=R(I,2),pe=R(I,3),ws=R(I,4),se=R(I,5),Ds=R(I,6),Ts=R(I,7),js=R(I,8),Ps=R(I,9),Os=R(I,10),ue=R(I,10,0),_s=R(I,11),Be=R(I,11,0),Tn=(g=>(g[g.UNSPECIFIED=0]="UNSPECIFIED",g[g.VERTEX_INSTANCE=1]="VERTEX_INSTANCE",g[g.PLUGIN_INSTANCE=2]="PLUGIN_INSTANCE",g[g.VERTEX=3]="VERTEX",g[g.PLUGIN=4]="PLUGIN",g))(Tn||{}),Ce=Un(I,0);var S=Pn("Cjhtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9jb25maWd1cmF0b3Jfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEi5AEKGkxpc3RJbmNvbWluZ1NpZ25hbHNSZXF1ZXN0EjwKCHJlY2VpdmVyGAEgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSACIAQESNwoHZm9ybWF0cxgCIAMoCzImLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxGb3JtYXQSMwoKZmllbGRfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAYgBAUILCglfcmVjZWl2ZXJCDQoLX2ZpZWxkX21hc2si9gEKEEluY29taW5nVmVydGljZXMSCgoCaWQYASABKAkSDQoFbGFiZWwYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARI7Cgx0cmFuc21pdHRlcnMYBCADKAsyJS5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNtaXR0ZXISPgoLdmVydGV4X3R5cGUYBSABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5WZXJ0ZXhUeXBlEhQKB2xvZ29faWQYBiABKAlIAYgBAUIOCgxfZGVzY3JpcHRpb25CCgoIX2xvZ29faWQiyAIKG0xpc3RJbmNvbWluZ1NpZ25hbHNSZXNwb25zZRJBCgh2ZXJ0aWNlcxgBIAMoCzIvLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkluY29taW5nVmVydGljZXMSYQoMdmVydGV4X2xvZ29zGAIgAygLMksubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEluY29taW5nU2lnbmFsc1Jlc3BvbnNlLlZlcnRleExvZ29zRW50cnkSEAoIcmVjZWl2ZXIYAyABKAkSPQoJY29uc3RhbnRzGAQgAygLMioubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERlc2NyaXB0b3IaMgoQVmVydGV4TG9nb3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIsYBCilDb25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBJOCgpvcGVyYXRpb25zGAEgAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuV3JpdGVPcGVyYXRpb25CC7pICJIBBQgBEPQDEkkKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIMukgJggEGIAAgASACIvYBCipDb25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2USaQoIbWV0YWRhdGEYASADKAsyVy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2UuTWV0YWRhdGFFbnRyeRpdCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI7CgV2YWx1ZRgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlZhbHVlTWV0YWRhdGE6AjgBIr4BCiRDb25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlcXVlc3QSSwoJb3BlcmF0aW9uGAEgASgLMjgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZGl0aW9uYWxXcml0ZU9wZXJhdGlvbhJJCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCDLpICYIBBiAAIAEgAiJ5CiVDb25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEkMKCG1ldGFkYXRhGAEgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YUgAiAEBQgsKCV9tZXRhZGF0YSKXAQooQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVxdWVzdBIgCgRrZXlzGAEgAygJQhK6SA+SAQwIARCQTiIFcgMYgCASSQoJbmFtZXNwYWNlGAIgASgOMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTmFtZXNwYWNlQgy6SAmCAQYgACABIAIi5gEKKUNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFJlYWRTdG9yZVJlc3BvbnNlEmIKBWl0ZW1zGAEgAygLMlMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVzcG9uc2UuSXRlbXNFbnRyeRpVCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFZhbHVlOgI4ASK2AQolQ29uZmlndXJhdG9yU2VydmljZVNlbGVjdFN0b3JlUmVxdWVzdBJCCglvcGVyYXRpb24YASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZWxlY3RPcEIGukgDyAEBEkkKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIMukgJggEGIAAgASACIogCCiZDb25maWd1cmF0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXNwb25zZRJfCgVpdGVtcxgBIAMoCzJQLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlLkl0ZW1zRW50cnkSFwoKbmV4dF90b2tlbhgCIAEoCUgAiAEBGlUKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0VmFsdWU6AjgBQg0KC19uZXh0X3Rva2VuIm8KKUNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0EjMKCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrSACIAQFCDQoLX2ZpZWxkX21hc2siswIKKkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZRIOCgZjb25maWcYASABKAwSOgoIbWV0YWRhdGEYAiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVmVydGV4TWV0YWRhdGESfgoTY29uZmlndXJlZF9zZXJ2aWNlcxgDIAMoCzJhLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZS5Db25maWd1cmVkU2VydmljZXNFbnRyeRo5ChdDb25maWd1cmVkU2VydmljZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBIrUCChdQb3N0VmVydGV4Q29uZmlnUmVxdWVzdBITCgZjb25maWcYASABKAxIAIgBARI/CghtZXRhZGF0YRgCIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5WZXJ0ZXhNZXRhZGF0YUgBiAEBEh4KEW92ZXJyaWRlX2JpbmRpbmdzGAMgASgISAKIAQE6drpIcxpxChtjb25maWdfb3JfbWV0YWRhdGFfcmVxdWlyZWQSKkVpdGhlciBjb25maWcgb3IgbWV0YWRhdGEgbXVzdCBiZSBwcm92aWRlZBomaGFzKHRoaXMuY29uZmlnKSB8fCBoYXModGhpcy5tZXRhZGF0YSlCCQoHX2NvbmZpZ0ILCglfbWV0YWRhdGFCFAoSX292ZXJyaWRlX2JpbmRpbmdzIlYKGFBvc3RWZXJ0ZXhDb25maWdSZXNwb25zZRI6CghtZXRhZGF0YRgBIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5WZXJ0ZXhNZXRhZGF0YSrBAQoKVmVydGV4VHlwZRIbChdWRVJURVhfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVZFUlRFWF9UWVBFX1NUQVJUEAESFgoSVkVSVEVYX1RZUEVfUExVR0lOEAISFgoSVkVSVEVYX1RZUEVfT1VUUFVUEAMSGAoUVkVSVEVYX1RZUEVfREVMRUdBVEUQBBIXChNWRVJURVhfVFlQRV9CQVJSSUVSEAUSHAoYVkVSVEVYX1RZUEVfRVhDSEFOR0VfT1VUEAYy2QgKE0NvbmZpZ3VyYXRvclNlcnZpY2USpgEKD0dldFZlcnRleENvbmZpZxJILm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0GkkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUdldFZlcnRleENvbmZpZ1Jlc3BvbnNlEoMBChBQb3N0VmVydGV4Q29uZmlnEjYubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUG9zdFZlcnRleENvbmZpZ1JlcXVlc3QaNy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Qb3N0VmVydGV4Q29uZmlnUmVzcG9uc2USlwEKCldyaXRlU3RvcmUSQy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlcXVlc3QaRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEqYBCg9CYXRjaFdyaXRlU3RvcmUSSC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBpJLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXNwb25zZRKjAQoOQmF0Y2hSZWFkU3RvcmUSRy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25maWd1cmF0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0GkgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZUJhdGNoUmVhZFN0b3JlUmVzcG9uc2USmgEKC1NlbGVjdFN0b3JlEkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ29uZmlndXJhdG9yU2VydmljZVNlbGVjdFN0b3JlUmVxdWVzdBpFLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkNvbmZpZ3VyYXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlEowBChNMaXN0SW5jb21pbmdTaWduYWxzEjkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEluY29taW5nU2lnbmFsc1JlcXVlc3QaOi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5MaXN0SW5jb21pbmdTaWduYWxzUmVzcG9uc2ViBnByb3RvMw",[d,_n,k,H,D,O,I]),ca=V(S,0),ia=V(S,1),Ye=V(S,2),la=V(S,3),da=V(S,4),ma=V(S,5),ra=V(S,6),pa=V(S,7),ua=V(S,8),ba=V(S,9),Ga=V(S,10),ha=V(S,11),Za=V(S,12),Ia=V(S,13),ya=V(S,14),qn=(p=>(p[p.UNSPECIFIED=0]="UNSPECIFIED",p[p.START=1]="START",p[p.PLUGIN=2]="PLUGIN",p[p.OUTPUT=3]="OUTPUT",p[p.DELEGATE=4]="DELEGATE",p[p.BARRIER=5]="BARRIER",p[p.EXCHANGE_OUT=6]="EXCHANGE_OUT",p))(qn||{}),Aa=jn(S,0),Fe=On(S,0);import{fileDesc as mt,messageDesc as Z,serviceDesc as rt}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_field_mask as pt}from"@bufbuild/protobuf/wkt";import{enumDesc as gt,fileDesc as ct,messageDesc as u,serviceDesc as it}from"@bufbuild/protobuf/codegenv2";import{extDesc as Ja,fileDesc as et}from"@bufbuild/protobuf/codegenv2";import{fileDesc as $n,messageDesc as Ra}from"@bufbuild/protobuf/codegenv2";var xe=$n("ChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkiVAoESHR0cBIjCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGUSJwofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCCKBAgoISHR0cFJ1bGUSEAoIc2VsZWN0b3IYASABKAkSDQoDZ2V0GAIgASgJSAASDQoDcHV0GAMgASgJSAASDgoEcG9zdBgEIAEoCUgAEhAKBmRlbGV0ZRgFIAEoCUgAEg8KBXBhdGNoGAYgASgJSAASLwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAEgwKBGJvZHkYByABKAkSFQoNcmVzcG9uc2VfYm9keRgMIAEoCRIxChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZUIJCgdwYXR0ZXJuIi8KEUN1c3RvbUh0dHBQYXR0ZXJuEgwKBGtpbmQYASABKAkSDAoEcGF0aBgCIAEoCUJnCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8z");import{file_google_protobuf_descriptor as nt}from"@bufbuild/protobuf/wkt";var Me=et("Chxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzM",[xe,nt]);import{enumDesc as fa,extDesc as Ha,fileDesc as st,messageDesc as va}from"@bufbuild/protobuf/codegenv2";import{enumDesc as xa,fileDesc as tt}from"@bufbuild/protobuf/codegenv2";var Ee=tt("Ch1nb29nbGUvYXBpL2xhdW5jaF9zdGFnZS5wcm90bxIKZ29vZ2xlLmFwaSqMAQoLTGF1bmNoU3RhZ2USHAoYTEFVTkNIX1NUQUdFX1VOU1BFQ0lGSUVEEAASEQoNVU5JTVBMRU1FTlRFRBAGEg0KCVBSRUxBVU5DSBAHEhAKDEVBUkxZX0FDQ0VTUxABEgkKBUFMUEhBEAISCAoEQkVUQRADEgYKAkdBEAQSDgoKREVQUkVDQVRFRBAFQloKDmNvbS5nb29nbGUuYXBpQhBMYXVuY2hTdGFnZVByb3RvUAFaLWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpO2FwaaICBEdBUEliBnByb3RvMw");import{file_google_protobuf_descriptor as at,file_google_protobuf_duration as ot}from"@bufbuild/protobuf/wkt";var fe=st("Chdnb29nbGUvYXBpL2NsaWVudC5wcm90bxIKZ29vZ2xlLmFwaSK+AQoWQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxIeChJyZWZlcmVuY2VfZG9jc191cmkYASABKAlCAhgBEjoKDGRlc3RpbmF0aW9ucxgCIAMoDjIkLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeURlc3RpbmF0aW9uEkgKGnNlbGVjdGl2ZV9nYXBpY19nZW5lcmF0aW9uGAMgASgLMiQuZ29vZ2xlLmFwaS5TZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24i+wMKFUNsaWVudExpYnJhcnlTZXR0aW5ncxIPCgd2ZXJzaW9uGAEgASgJEi0KDGxhdW5jaF9zdGFnZRgCIAEoDjIXLmdvb2dsZS5hcGkuTGF1bmNoU3RhZ2USGgoScmVzdF9udW1lcmljX2VudW1zGAMgASgIEi8KDWphdmFfc2V0dGluZ3MYFSABKAsyGC5nb29nbGUuYXBpLkphdmFTZXR0aW5ncxItCgxjcHBfc2V0dGluZ3MYFiABKAsyFy5nb29nbGUuYXBpLkNwcFNldHRpbmdzEi0KDHBocF9zZXR0aW5ncxgXIAEoCzIXLmdvb2dsZS5hcGkuUGhwU2V0dGluZ3MSMwoPcHl0aG9uX3NldHRpbmdzGBggASgLMhouZ29vZ2xlLmFwaS5QeXRob25TZXR0aW5ncxIvCg1ub2RlX3NldHRpbmdzGBkgASgLMhguZ29vZ2xlLmFwaS5Ob2RlU2V0dGluZ3MSMwoPZG90bmV0X3NldHRpbmdzGBogASgLMhouZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncxIvCg1ydWJ5X3NldHRpbmdzGBsgASgLMhguZ29vZ2xlLmFwaS5SdWJ5U2V0dGluZ3MSKwoLZ29fc2V0dGluZ3MYHCABKAsyFi5nb29nbGUuYXBpLkdvU2V0dGluZ3MiqAMKClB1Ymxpc2hpbmcSMwoPbWV0aG9kX3NldHRpbmdzGAIgAygLMhouZ29vZ2xlLmFwaS5NZXRob2RTZXR0aW5ncxIVCg1uZXdfaXNzdWVfdXJpGGUgASgJEhkKEWRvY3VtZW50YXRpb25fdXJpGGYgASgJEhYKDmFwaV9zaG9ydF9uYW1lGGcgASgJEhQKDGdpdGh1Yl9sYWJlbBhoIAEoCRIeChZjb2Rlb3duZXJfZ2l0aHViX3RlYW1zGGkgAygJEhYKDmRvY190YWdfcHJlZml4GGogASgJEjsKDG9yZ2FuaXphdGlvbhhrIAEoDjIlLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeU9yZ2FuaXphdGlvbhI7ChBsaWJyYXJ5X3NldHRpbmdzGG0gAygLMiEuZ29vZ2xlLmFwaS5DbGllbnRMaWJyYXJ5U2V0dGluZ3MSKQohcHJvdG9fcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG4gASgJEigKIHJlc3RfcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG8gASgJIuMBCgxKYXZhU2V0dGluZ3MSFwoPbGlicmFyeV9wYWNrYWdlGAEgASgJEkwKE3NlcnZpY2VfY2xhc3NfbmFtZXMYAiADKAsyLy5nb29nbGUuYXBpLkphdmFTZXR0aW5ncy5TZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EjIKBmNvbW1vbhgDIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxo4ChZTZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiQQoLQ3BwU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIkEKC1BocFNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKbAgoOUHl0aG9uU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEk4KFWV4cGVyaW1lbnRhbF9mZWF0dXJlcxgCIAEoCzIvLmdvb2dsZS5hcGkuUHl0aG9uU2V0dGluZ3MuRXhwZXJpbWVudGFsRmVhdHVyZXMahAEKFEV4cGVyaW1lbnRhbEZlYXR1cmVzEh0KFXJlc3RfYXN5bmNfaW9fZW5hYmxlZBgBIAEoCBInCh9wcm90b2J1Zl9weXRob25pY190eXBlc19lbmFibGVkGAIgASgIEiQKHHVudmVyc2lvbmVkX3BhY2thZ2VfZGlzYWJsZWQYAyABKAgiQgoMTm9kZVNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKqAwoORG90bmV0U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEkkKEHJlbmFtZWRfc2VydmljZXMYAiADKAsyLy5nb29nbGUuYXBpLkRvdG5ldFNldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5EksKEXJlbmFtZWRfcmVzb3VyY2VzGAMgAygLMjAuZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncy5SZW5hbWVkUmVzb3VyY2VzRW50cnkSGQoRaWdub3JlZF9yZXNvdXJjZXMYBCADKAkSIAoYZm9yY2VkX25hbWVzcGFjZV9hbGlhc2VzGAUgAygJEh4KFmhhbmR3cml0dGVuX3NpZ25hdHVyZXMYBiADKAkaNgoUUmVuYW1lZFNlcnZpY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARo3ChVSZW5hbWVkUmVzb3VyY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJCCgxSdWJ5U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIr8BCgpHb1NldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxJFChByZW5hbWVkX3NlcnZpY2VzGAIgAygLMisuZ29vZ2xlLmFwaS5Hb1NldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5GjYKFFJlbmFtZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEizwIKDk1ldGhvZFNldHRpbmdzEhAKCHNlbGVjdG9yGAEgASgJEjwKDGxvbmdfcnVubmluZxgCIAEoCzImLmdvb2dsZS5hcGkuTWV0aG9kU2V0dGluZ3MuTG9uZ1J1bm5pbmcSHQoVYXV0b19wb3B1bGF0ZWRfZmllbGRzGAMgAygJGs0BCgtMb25nUnVubmluZxI1ChJpbml0aWFsX3BvbGxfZGVsYXkYASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SHQoVcG9sbF9kZWxheV9tdWx0aXBsaWVyGAIgASgCEjEKDm1heF9wb2xsX2RlbGF5GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjUKEnRvdGFsX3BvbGxfdGltZW91dBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbiJRChhTZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24SDwoHbWV0aG9kcxgBIAMoCRIkChxnZW5lcmF0ZV9vbWl0dGVkX2FzX2ludGVybmFsGAIgASgIKqMBChlDbGllbnRMaWJyYXJ5T3JnYW5pemF0aW9uEisKJ0NMSUVOVF9MSUJSQVJZX09SR0FOSVpBVElPTl9VTlNQRUNJRklFRBAAEgkKBUNMT1VEEAESBwoDQURTEAISCgoGUEhPVE9TEAMSDwoLU1RSRUVUX1ZJRVcQBBIMCghTSE9QUElORxAFEgcKA0dFTxAGEhEKDUdFTkVSQVRJVkVfQUkQBypnChhDbGllbnRMaWJyYXJ5RGVzdGluYXRpb24SKgomQ0xJRU5UX0xJQlJBUllfREVTVElOQVRJT05fVU5TUEVDSUZJRUQQABIKCgZHSVRIVUIQChITCg9QQUNLQUdFX01BTkFHRVIQFDpKChBtZXRob2Rfc2lnbmF0dXJlEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYmwggAygJUg9tZXRob2RTaWduYXR1cmU6QwoMZGVmYXVsdF9ob3N0Eh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJkIIAEoCVILZGVmYXVsdEhvc3Q6QwoMb2F1dGhfc2NvcGVzEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJoIIAEoCVILb2F1dGhTY29wZXM6RAoLYXBpX3ZlcnNpb24SHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYwbqr+gEgASgJUgphcGlWZXJzaW9uQmkKDmNvbS5nb29nbGUuYXBpQgtDbGllbnRQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMw",[Ee,at,ot]);import{file_google_protobuf_timestamp as lt}from"@bufbuild/protobuf/wkt";var m=ct("CjNtb2NoYWJ1Z2FwaXMvYWRhcHQvYXV0b21hdGlvbnMvdjEvYXV0b21hdGlvbnMucHJvdG8SIW1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MSIwChZDcmVhdGVDaGFsbGVuZ2VSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIqIBChdDcmVhdGVDaGFsbGVuZ2VSZXNwb25zZRINCgVjb3VudBgBIAEoDRIMCgRzaXplGAIgASgNEhIKCmRpZmZpY3VsdHkYAyABKA0SKwoHZXhwaXJlcxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdG9rZW4YBSABKAkSGgoSdmVyaWZpY2F0aW9uX3Rva2VuGAYgASgJIngKFlJlZGVlbUNoYWxsZW5nZVJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSJgoSdmVyaWZpY2F0aW9uX3Rva2VuGAIgASgJQgq6SAdyBRABGNAPEh4KCXNvbHV0aW9ucxgDIAMoA0ILukgIkgEFCAEQ6AciVQoXUmVkZWVtQ2hhbGxlbmdlUmVzcG9uc2USDQoFdG9rZW4YASABKAkSKwoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiLwoVSW5oZXJpdFNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDImUKFkluaGVyaXRTZXNzaW9uUmVzcG9uc2USDQoFdG9rZW4YASABKAkSMAoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIKCghfZXhwaXJlcyKvAQoRUmVhZE91dHB1dFJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSGgoJcGFnZV9zaXplGAIgASgNQge6SAQqAhhkEikKBnZlcnRleBgDIAEoCUIUukgRcg8yDV5bMC05YS16XXs0fSRIAIgBARIhCgpuZXdlcl90aGFuGAQgASgJQgi6SAVyA7ABAUgBiAEBQgkKB192ZXJ0ZXhCDQoLX25ld2VyX3RoYW4iywEKElJlYWRPdXRwdXRSZXNwb25zZRI7CgdzZXNzaW9uGAEgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlNlc3Npb24SOgoHb3V0cHV0cxgCIAMoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXQSJwoQbmV4dF9wYWdlX2N1cnNvchgDIAEoCUIIukgFcgOwAQFIAIgBAUITChFfbmV4dF9wYWdlX2N1cnNvciJ3Cg9SZWFkVXJsc1JlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSGgoJcGFnZV9zaXplGAIgASgNQge6SAQqAhhkEiEKCm5ld2VyX3RoYW4YAyABKAlCCLpIBXIDsAEBSACIAQFCDQoLX25ld2VyX3RoYW4iwwEKEFJlYWRVcmxzUmVzcG9uc2USOwoHc2Vzc2lvbhgBIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TZXNzaW9uEjQKBHVybHMYAiADKAsyJi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuVXJsEicKEG5leHRfcGFnZV9jdXJzb3IYAyABKAlCCLpIBXIDsAEBSACIAQFCEwoRX25leHRfcGFnZV9jdXJzb3IikQMKE1N0YXJ0U2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMSOwoLdHJhbnNtaXR0ZXIYAiABKAlCIbpIHnIcEAEYZDIWXlthLXpBLVowLTlfLV17MSwxMDB9JEgAiAEBEoABCgdzaWduYWxzGAMgAygLMkMubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXJ0U2Vzc2lvblJlcXVlc3QuU2lnbmFsc0VudHJ5Qiq6SCeaASQiInIgEAEYZDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiQSKAoPY2hhbGxlbmdlX3Rva2VuGAQgASgJQgq6SAdyBRABGPQDSAGIAQEaVAoMU2lnbmFsc0VudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhOgI4AUIOCgxfdHJhbnNtaXR0ZXJCEgoQX2NoYWxsZW5nZV90b2tlbiJjChRTdGFydFNlc3Npb25SZXNwb25zZRINCgV0b2tlbhgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzIlIKElN0b3BTZXNzaW9uUmVxdWVzdBIWCgJpZBgBIAEoCUIKukgHcgUQARj0AxIbCgRmb3JrGAIgASgJQgi6SAVyAxjoB0gAiAEBQgcKBV9mb3JrIhUKE1N0b3BTZXNzaW9uUmVzcG9uc2UiKwoRR2V0U2Vzc2lvblJlcXVlc3QSFgoCaWQYASABKAlCCrpIB3IFEAEY9AMiWQoSR2V0U2Vzc2lvblJlc3BvbnNlEkMKB3Nlc3Npb24YASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkIGukgDyAEBIukBCgZPdXRwdXQSDgoGdmVydGV4GAEgASgJEgwKBGZvcmsYAiABKAkSQQoEZGF0YRgDIAMoCzIzLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXQuRGF0YUVudHJ5EisKB2NyZWF0ZWQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGlEKCURhdGFFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAEiiwEKA1VybBILCgN1cmwYASABKAkSDAoEZm9yaxgCIAEoCRIOCgZ2ZXJ0ZXgYAyABKAkSDAoEZG9uZRgEIAEoCBIrCgdjcmVhdGVkGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgV0b2tlbhgGIAEoCRIPCgdzdG9wcGVkGAcgASgIIlIKB1Nlc3Npb24SDAoEZm9yaxgBIAEoCRI5CgZzdGF0dXMYAiABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU3RhdHVzIi4KFFN0cmVhbVNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIkkKEUFja01lc3NhZ2VSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDEhwKCm1lc3NhZ2VfaWQYAiABKAlCCLpIBXIDsAEBIhQKEkFja01lc3NhZ2VSZXNwb25zZSLrAQoVU3RyZWFtU2Vzc2lvblJlc3BvbnNlEhQKAmlkGAEgASgJQgi6SAVyA7ABARI7CgZvdXRwdXQYAiABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuT3V0cHV0SAASNQoDdXJsGAMgASgLMiYubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlVybEgAEj0KB3Nlc3Npb24YBCABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuU2Vzc2lvbkgAQgkKB21lc3NhZ2UijAMKEVJ1blNlc3Npb25SZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDEjsKC3RyYW5zbWl0dGVyGAIgASgJQiG6SB5yHBABGGQyFl5bYS16QS1aMC05Xy1dezEsMTAwfSRIAIgBARJ+CgdzaWduYWxzGAMgAygLMkEubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJ1blNlc3Npb25SZXF1ZXN0LlNpZ25hbHNFbnRyeUIqukgnmgEkIiJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEigKD2NoYWxsZW5nZV90b2tlbhgEIAEoCUIKukgHcgUQARj0A0gBiAEBGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX3RyYW5zbWl0dGVyQhIKEF9jaGFsbGVuZ2VfdG9rZW4isQIKElJ1blNlc3Npb25SZXNwb25zZRIUCgJpZBgBIAEoCUIIukgFcgOwAQESRwoHc3RhcnRlZBgCIAEoCzI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5TZXNzaW9uU3RhcnRlZEgAEjsKBm91dHB1dBgDIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXRIABI1CgN1cmwYBCABKAsyJi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuVXJsSAASPQoHc2Vzc2lvbhgFIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TZXNzaW9uSABCCQoHbWVzc2FnZSJgChFSdW5TZXNzaW9uU3RhcnRlZBINCgV0b2tlbhgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzIisKEVJ1bkluaGVyaXRSZXF1ZXN0EhYKAmlkGAEgASgJQgq6SAdyBRABGPQDIrMCChJSdW5Jbmhlcml0UmVzcG9uc2USFAoCaWQYASABKAlCCLpIBXIDsAEBEkkKCWluaGVyaXRlZBgCIAEoCzI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SdW5Jbmhlcml0U3RhcnRlZEgAEjsKBm91dHB1dBgDIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5PdXRwdXRIABI1CgN1cmwYBCABKAsyJi5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuVXJsSAASPQoHc2Vzc2lvbhgFIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TZXNzaW9uSABCCQoHbWVzc2FnZSJgChFSdW5Jbmhlcml0U3RhcnRlZBINCgV0b2tlbhgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzKsgBCgZTdGF0dXMSFgoSU1RBVFVTX1VOU1BFQ0lGSUVEEAASEgoOU1RBVFVTX1JVTk5JTkcQARISCg5TVEFUVVNfU1RPUFBFRBACEhMKD1NUQVRVU19TVE9QUElORxADEhQKEFNUQVRVU19DT01QTEVURUQQBBISCg5TVEFUVVNfRVhQSVJFRBAFEhIKDlNUQVRVU19FUlJPUkVEEAYSFQoRU1RBVFVTX0RFTEVHQVRJTkcQBxIUChBTVEFUVVNfREVMRUdBVEVEEAgyyBEKEUF1dG9tYXRpb25TZXJ2aWNlErMBCg9DcmVhdGVDaGFsbGVuZ2USOS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuQ3JlYXRlQ2hhbGxlbmdlUmVxdWVzdBo6Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5DcmVhdGVDaGFsbGVuZ2VSZXNwb25zZSIpgtPkkwIjOgEqIh4vdjEvYXV0b21hdGlvbnMve2lkfS9jaGFsbGVuZ2USugEKD1JlZGVlbUNoYWxsZW5nZRI5Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWRlZW1DaGFsbGVuZ2VSZXF1ZXN0GjoubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlZGVlbUNoYWxsZW5nZVJlc3BvbnNlIjCC0+STAio6ASoiJS92MS9hdXRvbWF0aW9ucy97aWR9L2NoYWxsZW5nZS9yZWRlZW0SrgEKDFN0YXJ0U2Vzc2lvbhI2Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdGFydFNlc3Npb25SZXF1ZXN0GjcubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXJ0U2Vzc2lvblJlc3BvbnNlIi2C0+STAic6ASoiIi92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vc3RhcnQSogEKC1N0b3BTZXNzaW9uEjUubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0b3BTZXNzaW9uUmVxdWVzdBo2Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdG9wU2Vzc2lvblJlc3BvbnNlIiSC0+STAh4qHC92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24StgEKDkluaGVyaXRTZXNzaW9uEjgubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLkluaGVyaXRTZXNzaW9uUmVxdWVzdBo5Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5Jbmhlcml0U2Vzc2lvblJlc3BvbnNlIi+C0+STAik6ASoiJC92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vaW5oZXJpdBKfAQoKR2V0U2Vzc2lvbhI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5HZXRTZXNzaW9uUmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5HZXRTZXNzaW9uUmVzcG9uc2UiJILT5JMCHhIcL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbhKmAQoKUmVhZE91dHB1dBI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWFkT3V0cHV0UmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWFkT3V0cHV0UmVzcG9uc2UiK4LT5JMCJRIjL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9vdXRwdXQSngEKCFJlYWRVcmxzEjIubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlJlYWRVcmxzUmVxdWVzdBozLm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5SZWFkVXJsc1Jlc3BvbnNlIimC0+STAiMSIS92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vdXJscxKxAQoNU3RyZWFtU2Vzc2lvbhI3Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdHJlYW1TZXNzaW9uUmVxdWVzdBo4Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5TdHJlYW1TZXNzaW9uUmVzcG9uc2UiK4LT5JMCJRIjL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9zdHJlYW0wARKmAQoKQWNrTWVzc2FnZRI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5BY2tNZXNzYWdlUmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5hdXRvbWF0aW9ucy52MS5BY2tNZXNzYWdlUmVzcG9uc2UiK4LT5JMCJToBKiIgL3YxL2F1dG9tYXRpb25zL3tpZH0vc2Vzc2lvbi9hY2sSqAEKClJ1blNlc3Npb24SNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuU2Vzc2lvblJlcXVlc3QaNS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuU2Vzc2lvblJlc3BvbnNlIiuC0+STAiU6ASoiIC92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vcnVuMAESsAEKClJ1bkluaGVyaXQSNC5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuSW5oZXJpdFJlcXVlc3QaNS5tb2NoYWJ1Z2FwaXMuYWRhcHQuYXV0b21hdGlvbnMudjEuUnVuSW5oZXJpdFJlc3BvbnNlIjOC0+STAi06ASoiKC92MS9hdXRvbWF0aW9ucy97aWR9L3Nlc3Npb24vcnVuLWluaGVyaXQwARqJAcpBFmFkYXB0Lm1vY2hhYnVnYXBpcy5jb23SQW1odHRwczovL3d3dy5tb2NoYWJ1Z2FwaXMuY29tL2F1dGgvYWRhcHQuYXV0b21hdGlvbnMsaHR0cHM6Ly93d3cubW9jaGFidWdhcGlzLmNvbS9hdXRoL2FkYXB0LmF1dG9tYXRpb25zLnN0YXJ0YgZwcm90bzM",[d,Me,fe,lt,f]),Ta=u(m,0),ja=u(m,1),Pa=u(m,2),Oa=u(m,3),_a=u(m,4),qa=u(m,5),$a=u(m,6),eo=u(m,7),no=u(m,8),to=u(m,9),so=u(m,10),ao=u(m,11),oo=u(m,12),go=u(m,13),co=u(m,14),io=u(m,15),lo=u(m,16),mo=u(m,17),ro=u(m,18),po=u(m,19),uo=u(m,20),bo=u(m,21),Go=u(m,22),ho=u(m,23),Zo=u(m,24),Io=u(m,25),yo=u(m,26),Ao=u(m,27),So=u(m,28),dt=(a=>(a[a.UNSPECIFIED=0]="UNSPECIFIED",a[a.RUNNING=1]="RUNNING",a[a.STOPPED=2]="STOPPED",a[a.STOPPING=3]="STOPPING",a[a.COMPLETED=4]="COMPLETED",a[a.EXPIRED=5]="EXPIRED",a[a.ERRORED=6]="ERRORED",a[a.DELEGATING=7]="DELEGATING",a[a.DELEGATED=8]="DELEGATED",a))(dt||{}),Vo=gt(m,0),Ro=it(m,0);var b=mt("CjRtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9leGVjdXRvcl9zZXJ2aWNlLnByb3RvEh1tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MSK+AQolRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVxdWVzdBJOCgpvcGVyYXRpb25zGAEgAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuV3JpdGVPcGVyYXRpb25CC7pICJIBBQgBEPQDEkUKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIIukgFggECIAAi7gEKJkV4ZWN1dG9yU2VydmljZUJhdGNoV3JpdGVTdG9yZVJlc3BvbnNlEmUKCG1ldGFkYXRhGAEgAygLMlMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2UuTWV0YWRhdGFFbnRyeRpdCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI7CgV2YWx1ZRgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlZhbHVlTWV0YWRhdGE6AjgBIrYBCiBFeGVjdXRvclNlcnZpY2VXcml0ZVN0b3JlUmVxdWVzdBJLCglvcGVyYXRpb24YASABKAsyOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Db25kaXRpb25hbFdyaXRlT3BlcmF0aW9uEkUKCW5hbWVzcGFjZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk5hbWVzcGFjZUIIukgFggECIAAidQohRXhlY3V0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEkMKCG1ldGFkYXRhGAEgASgLMiwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVmFsdWVNZXRhZGF0YUgAiAEBQgsKCV9tZXRhZGF0YSKPAQokRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0EiAKBGtleXMYASADKAlCErpID5IBDAgBEJBOIgVyAxiAIBJFCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCCLpIBYIBAiAAIt4BCiVFeGVjdXRvclNlcnZpY2VCYXRjaFJlYWRTdG9yZVJlc3BvbnNlEl4KBWl0ZW1zGAEgAygLMk8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5GlUKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuR2V0VmFsdWU6AjgBIq4BCiFFeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QSQgoJb3BlcmF0aW9uGAEgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuU2VsZWN0T3BCBrpIA8gBARJFCgluYW1lc3BhY2UYAiABKA4yKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5OYW1lc3BhY2VCCLpIBYIBAiAAIoACCiJFeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlElsKBWl0ZW1zGAEgAygLMkwubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlU2VsZWN0U3RvcmVSZXNwb25zZS5JdGVtc0VudHJ5EhcKCm5leHRfdG9rZW4YAiABKAlIAIgBARpVCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFZhbHVlOgI4AUINCgtfbmV4dF90b2tlbiI2Ch5DYW5jZWxFeGNoYW5nZU9wZXJhdGlvblJlcXVlc3QSFAoCaWQYASABKAlCCLpIBXIDGOgHIiEKH0NhbmNlbEV4Y2hhbmdlT3BlcmF0aW9uUmVzcG9uc2UiMwobR2V0RXhjaGFuZ2VPcGVyYXRpb25SZXF1ZXN0EhQKAmlkGAEgASgJQgi6SAVyAxjoByJeChxHZXRFeGNoYW5nZU9wZXJhdGlvblJlc3BvbnNlEj4KBGl0ZW0YASABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZU9wZXJhdGlvbiL3AgoXRGlzcGF0Y2hFeGNoYW5nZVJlcXVlc3QSMwoEbmFtZRgBIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBI8CghyZWNlaXZlchgCIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJEgAiAEBEoUBCgdzaWduYWxzGAMgAygLMkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRGlzcGF0Y2hFeGNoYW5nZVJlcXVlc3QuU2lnbmFsc0VudHJ5Qi+6SCyaASkIABAyIiNyIRABGIAEMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBpUCgxTaWduYWxzRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBQgsKCV9yZWNlaXZlciJfChhEaXNwYXRjaEV4Y2hhbmdlUmVzcG9uc2USQwoJb3BlcmF0aW9uGAEgASgLMjAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhjaGFuZ2VPcGVyYXRpb24irQIKC1NlbmRSZXF1ZXN0Ej0KC3RyYW5zbWl0dGVyGAEgASgJQiO6SCByHhhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJEgAiAEBEnkKB3NpZ25hbHMYAiADKAsyNy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZW5kUmVxdWVzdC5TaWduYWxzRW50cnlCL7pILJoBKQgAEDIiI3IhEAEYgAQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX3RyYW5zbWl0dGVyIg4KDFNlbmRSZXNwb25zZSJhChxCYXRjaEdldEFjdGl2ZVNpZ25hbHNSZXF1ZXN0EkEKBW5hbWVzGAEgAygJQjK6SC+SASwIARD0AxgBIiNyIRABGIAEMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJCLdAQodQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVzcG9uc2USVgoFaXRlbXMYASADKAsyRy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldEFjdGl2ZVNpZ25hbHNSZXNwb25zZS5JdGVtc0VudHJ5EhAKCHJlY2VpdmVyGAIgASgJGlIKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGE6AjgBIqgBChhMaXN0QWN0aXZlU2lnbmFsc1JlcXVlc3QSIAoJcGFnZV9zaXplGAEgASgFQgi6SAUaAxj0A0gAiAEBEh0KBmN1cnNvchgCIAEoCUIIukgFcgMY9ANIAYgBARIdChBvcmRlcl9kZXNjZW5kaW5nGAMgASgISAKIAQFCDAoKX3BhZ2Vfc2l6ZUIJCgdfY3Vyc29yQhMKEV9vcmRlcl9kZXNjZW5kaW5nIoUCChlMaXN0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlElYKB3NpZ25hbHMYASADKAsyRS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5MaXN0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlLlNpZ25hbHNFbnRyeRIQCghyZWNlaXZlchgCIAEoCRIYCgtuZXh0X2N1cnNvchgDIAEoCUgAiAEBGlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAFCDgoMX25leHRfY3Vyc29yImsKJUV4ZWN1dG9yU2VydmljZUdldFZlcnRleENvbmZpZ1JlcXVlc3QSMwoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tIAIgBAUINCgtfZmllbGRfbWFzayKrAgomRXhlY3V0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVzcG9uc2USDgoGY29uZmlnGAEgASgMEjoKCG1ldGFkYXRhGAIgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlZlcnRleE1ldGFkYXRhEnoKE2NvbmZpZ3VyZWRfc2VydmljZXMYAyADKAsyXS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXNwb25zZS5Db25maWd1cmVkU2VydmljZXNFbnRyeRo5ChdDb25maWd1cmVkU2VydmljZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBImgKEUV4Y2hhbmdlT3BlcmF0aW9uEgwKBG5hbWUYASABKAkSCgoCaWQYAiABKAkSOQoGc3RhdHVzGAMgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LmF1dG9tYXRpb25zLnYxLlN0YXR1czLKDAoPRXhlY3V0b3JTZXJ2aWNlEp4BCg9HZXRWZXJ0ZXhDb25maWcSRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VHZXRWZXJ0ZXhDb25maWdSZXF1ZXN0GkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlR2V0VmVydGV4Q29uZmlnUmVzcG9uc2UShgEKEUxpc3RBY3RpdmVTaWduYWxzEjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXF1ZXN0GjgubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuTGlzdEFjdGl2ZVNpZ25hbHNSZXNwb25zZRKSAQoVQmF0Y2hHZXRBY3RpdmVTaWduYWxzEjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRBY3RpdmVTaWduYWxzUmVxdWVzdBo8Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0QWN0aXZlU2lnbmFsc1Jlc3BvbnNlEl8KBFNlbmQSKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5TZW5kUmVxdWVzdBorLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlNlbmRSZXNwb25zZRKDAQoQRGlzcGF0Y2hFeGNoYW5nZRI2Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkRpc3BhdGNoRXhjaGFuZ2VSZXF1ZXN0GjcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRGlzcGF0Y2hFeGNoYW5nZVJlc3BvbnNlEo8BChRHZXRFeGNoYW5nZU9wZXJhdGlvbhI6Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldEV4Y2hhbmdlT3BlcmF0aW9uUmVxdWVzdBo7Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldEV4Y2hhbmdlT3BlcmF0aW9uUmVzcG9uc2USmAEKF0NhbmNlbEV4Y2hhbmdlT3BlcmF0aW9uEj0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ2FuY2VsRXhjaGFuZ2VPcGVyYXRpb25SZXF1ZXN0Gj4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQ2FuY2VsRXhjaGFuZ2VPcGVyYXRpb25SZXNwb25zZRKPAQoKV3JpdGVTdG9yZRI/Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkV4ZWN1dG9yU2VydmljZVdyaXRlU3RvcmVSZXF1ZXN0GkAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlV3JpdGVTdG9yZVJlc3BvbnNlEp4BCg9CYXRjaFdyaXRlU3RvcmUSRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VCYXRjaFdyaXRlU3RvcmVSZXF1ZXN0GkUubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hXcml0ZVN0b3JlUmVzcG9uc2USmwEKDkJhdGNoUmVhZFN0b3JlEkMubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXF1ZXN0GkQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhlY3V0b3JTZXJ2aWNlQmF0Y2hSZWFkU3RvcmVSZXNwb25zZRKSAQoLU2VsZWN0U3RvcmUSQC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlcXVlc3QaQS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGVjdXRvclNlcnZpY2VTZWxlY3RTdG9yZVJlc3BvbnNlYgZwcm90bzM",[d,pt,m,f,O,I]),Mo=Z(b,0),Eo=Z(b,1),fo=Z(b,2),Ho=Z(b,3),vo=Z(b,4),zo=Z(b,5),Ko=Z(b,6),No=Z(b,7),Qo=Z(b,8),Lo=Z(b,9),ko=Z(b,10),Uo=Z(b,11),wo=Z(b,12),Do=Z(b,13),To=Z(b,14),jo=Z(b,15),Po=Z(b,16),Oo=Z(b,17),_o=Z(b,18),qo=Z(b,19),$o=Z(b,20),eg=Z(b,21),ng=Z(b,22),be=rt(b,0);import{enumDesc as T,fileDesc as ut,messageDesc as i,serviceDesc as bt}from"@bufbuild/protobuf/codegenv2";var o=ut("CjVtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9maWxlZm9yZ2Vfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEi+wEKFVJlbmRlckRvY3VtZW50UmVxdWVzdBI/CgtodG1sX3RvX3BkZhgBIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkh0bWxUb1BkZkgAEkcKD21hcmtkb3duX3RvX3BkZhgCIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk1hcmtkb3duVG9QZGZIABJDCg1vZmZpY2VfdG9fcGRmGAMgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuT2ZmaWNlVG9QZGZIAEITCgpjb252ZXJzaW9uEgW6SAIIASJOChZSZW5kZXJEb2N1bWVudFJlc3BvbnNlEjQKBm91dHB1dBgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhIvoCCglIdG1sVG9QZGYSIAoKaW5kZXhfaHRtbBgBIAEoCUIMukgJcgcQARiAgIAFEiMKC2hlYWRlcl9odG1sGAIgASgJQgm6SAZyBBiAgEBIAIgBARIjCgtmb290ZXJfaHRtbBgDIAEoCUIJukgGcgQYgIBASAGIAQESPgoGYXNzZXRzGAQgAygLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCCLpIBZIBAhBkEkUKBnJlbmRlchgKIAEoCzIwLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkh0bWxSZW5kZXJPcHRpb25zSAKIAQESRAoGb3V0cHV0GAsgASgLMi8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmT3V0cHV0T3B0aW9uc0gDiAEBQg4KDF9oZWFkZXJfaHRtbEIOCgxfZm9vdGVyX2h0bWxCCQoHX3JlbmRlckIJCgdfb3V0cHV0IskDCg1NYXJrZG93blRvUGRmEiEKDHdyYXBwZXJfaHRtbBgBIAEoCUILukgIcgYQARiAgEASSAoObWFya2Rvd25fZmlsZXMYAiADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIKukgHkgEECAEQMhIjCgtoZWFkZXJfaHRtbBgDIAEoCUIJukgGcgQYgIBASACIAQESIwoLZm9vdGVyX2h0bWwYBCABKAlCCbpIBnIEGICAQEgBiAEBEj4KBmFzc2V0cxgFIAMoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQgi6SAWSAQIQZBJFCgZyZW5kZXIYCiABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5IdG1sUmVuZGVyT3B0aW9uc0gCiAEBEkQKBm91dHB1dBgLIAEoCzIvLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZk91dHB1dE9wdGlvbnNIA4gBAUIOCgxfaGVhZGVyX2h0bWxCDgoMX2Zvb3Rlcl9odG1sQgkKB19yZW5kZXJCCQoHX291dHB1dCKPBwoLT2ZmaWNlVG9QZGYS2gUKCGRvY3VtZW50GAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCoQW6SJ0FugGWBQoYdmFsaWRfZG9jdW1lbnRfZXh0ZW5zaW9uEi1kb2N1bWVudCBtdXN0IGhhdmUgYSBzdXBwb3J0ZWQgZmlsZSBleHRlbnNpb24aygR0aGlzLmZpbGVuYW1lLm1hdGNoZXMoJyg/aSlcXC4oMTIzfDYwMnxhYnd8YmlifGJtcHxjZHJ8Y2dtfGNteHxjc3Z8Y3drfGRiZnxkaWZ8ZG9jfGRvY218ZG9jeHxkb3R8ZG90bXxkb3R4fGR4ZnxlbWZ8ZXBzfGVwdWJ8Zm9kZ3xmb2RwfGZvZHN8Zm9kdHxmb3BkfGdpZnxodG18aHRtbHxod3B8anBlZ3xqcGd8a2V5fGx0eHxsd3B8bWN3fG1ldHxtbWx8bXd8bnVtYmVyc3xvZGR8b2RnfG9kbXxvZHB8b2RzfG9kdHxvdGd8b3RofG90cHxvdHN8b3R0fHBhZ2VzfHBibXxwY2R8cGN0fHBjeHxwZGJ8cGRmfHBnbXxwbmd8cG90fHBvdG18cG90eHxwcG18cHBzfHBwdHxwcHRtfHBwdHh8cHNkfHBzd3xwdWJ8cHdwfHB4bHxyYXN8cnRmfHNkYXxzZGN8c2RkfHNkcHxzZHd8c2dsfHNsa3xzbWZ8c3RjfHN0ZHxzdGl8c3R3fHN2Z3xzdm18c3dmfHN4Y3xzeGR8c3hnfHN4aXxzeG18c3h3fHRnYXx0aWZ8dGlmZnx0eHR8dW9mfHVvcHx1b3N8dW90fHZkeHx2b3J8dnNkfHZzZG18dnNkeHx3YjJ8d2sxfHdrc3x3bWZ8d3BkfHdwZ3x3cHN8eGJtfHhodG1sfHhsc3x4bHNifHhsc218eGxzeHx4bHR8eGx0bXx4bHR4fHhsd3x4bWx8eHBtfHphYncpJCcpyAEBEkcKBnJlbmRlchgKIAEoCzIyLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk9mZmljZVJlbmRlck9wdGlvbnNIAIgBARJECgZvdXRwdXQYCyABKAsyLy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZPdXRwdXRPcHRpb25zSAGIAQFCCQoHX3JlbmRlckIJCgdfb3V0cHV0IqQMChFIdG1sUmVuZGVyT3B0aW9ucxIdChBwcmludF9iYWNrZ3JvdW5kGAEgASgISACIAQESHAoPb21pdF9iYWNrZ3JvdW5kGAIgASgISAGIAQESIQoUcHJlZmVyX2Nzc19wYWdlX3NpemUYAyABKAhIAogBARJSChNlbXVsYXRlZF9tZWRpYV90eXBlGAQgASgOMjAubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRW11bGF0ZWRNZWRpYVR5cGVIA4gBARIkCgtwYXBlcl93aWR0aBgFIAEoAkIKukgHCgUlAAAAAEgEiAEBEiUKDHBhcGVyX2hlaWdodBgGIAEoAkIKukgHCgUlAAAAAEgFiAEBEiMKCm1hcmdpbl90b3AYByABKAJCCrpIBwoFLQAAAABIBogBARIlCgxtYXJnaW5fcmlnaHQYCCABKAJCCrpIBwoFLQAAAABIB4gBARImCg1tYXJnaW5fYm90dG9tGAkgASgCQgq6SAcKBS0AAAAASAiIAQESJAoLbWFyZ2luX2xlZnQYCiABKAJCCrpIBwoFLQAAAABICYgBARIWCglsYW5kc2NhcGUYCyABKAhICogBARIjCgVzY2FsZRgMIAEoAkIPukgMCgodAAAAQC3NzMw9SAuIAQESRwoLcGFnZV9yYW5nZXMYDSABKAlCLbpIKnIoMiZeWzAtOV0rKC1bMC05XSspPygsWzAtOV0rKC1bMC05XSspPykqJEgMiAEBEhgKC3NpbmdsZV9wYWdlGA4gASgISA2IAQESIAoTZ2VuZXJhdGVfdGFnZ2VkX3BkZhgPIAEoCEgOiAEBOqQFukigBRraAQoXbWFyZ2luc19maXRfcGFwZXJfd2lkdGgSMmxlZnQgKyByaWdodCBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIHBhcGVyIHdpZHRoGooBKCFoYXModGhpcy5wYXBlcl93aWR0aCkgfHwgIWhhcyh0aGlzLm1hcmdpbl9sZWZ0KSB8fCAhaGFzKHRoaXMubWFyZ2luX3JpZ2h0KSkgfHwgKHRoaXMubWFyZ2luX2xlZnQgKyB0aGlzLm1hcmdpbl9yaWdodCA8IHRoaXMucGFwZXJfd2lkdGgpGt4BChhtYXJnaW5zX2ZpdF9wYXBlcl9oZWlnaHQSM3RvcCArIGJvdHRvbSBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIHBhcGVyIGhlaWdodBqMASghaGFzKHRoaXMucGFwZXJfaGVpZ2h0KSB8fCAhaGFzKHRoaXMubWFyZ2luX3RvcCkgfHwgIWhhcyh0aGlzLm1hcmdpbl9ib3R0b20pKSB8fCAodGhpcy5tYXJnaW5fdG9wICsgdGhpcy5tYXJnaW5fYm90dG9tIDwgdGhpcy5wYXBlcl9oZWlnaHQpGt8BCilvbWl0X2JhY2tncm91bmRfcmVxdWlyZXNfcHJpbnRfYmFja2dyb3VuZBI0b21pdF9iYWNrZ3JvdW5kIHJlcXVpcmVzIHByaW50X2JhY2tncm91bmQgdG8gYmUgdHJ1ZRp8IWhhcyh0aGlzLm9taXRfYmFja2dyb3VuZCkgfHwgdGhpcy5vbWl0X2JhY2tncm91bmQgPT0gZmFsc2UgfHwgKGhhcyh0aGlzLnByaW50X2JhY2tncm91bmQpICYmIHRoaXMucHJpbnRfYmFja2dyb3VuZCA9PSB0cnVlKUITChFfcHJpbnRfYmFja2dyb3VuZEISChBfb21pdF9iYWNrZ3JvdW5kQhcKFV9wcmVmZXJfY3NzX3BhZ2Vfc2l6ZUIWChRfZW11bGF0ZWRfbWVkaWFfdHlwZUIOCgxfcGFwZXJfd2lkdGhCDwoNX3BhcGVyX2hlaWdodEINCgtfbWFyZ2luX3RvcEIPCg1fbWFyZ2luX3JpZ2h0QhAKDl9tYXJnaW5fYm90dG9tQg4KDF9tYXJnaW5fbGVmdEIMCgpfbGFuZHNjYXBlQggKBl9zY2FsZUIOCgxfcGFnZV9yYW5nZXNCDgoMX3NpbmdsZV9wYWdlQhYKFF9nZW5lcmF0ZV90YWdnZWRfcGRmItINChNPZmZpY2VSZW5kZXJPcHRpb25zEh8KCHBhc3N3b3JkGAEgASgJQgi6SAVyAxiAAkgAiAEBEhYKCWxhbmRzY2FwZRgCIAEoCEgBiAEBEkcKC3BhZ2VfcmFuZ2VzGAMgASgJQi26SCpyKDImXlswLTldKygtWzAtOV0rKT8oLFswLTldKygtWzAtOV0rKT8pKiRIAogBARIbCg51cGRhdGVfaW5kZXhlcxgEIAEoCEgDiAEBEh8KEmV4cG9ydF9mb3JtX2ZpZWxkcxgFIAEoCEgEiAEBEigKG2FsbG93X2R1cGxpY2F0ZV9maWVsZF9uYW1lcxgGIAEoCEgFiAEBEh0KEGV4cG9ydF9ib29rbWFya3MYByABKAhIBogBARIwCiNleHBvcnRfYm9va21hcmtzX3RvX3BkZl9kZXN0aW5hdGlvbhgIIAEoCEgHiAEBEiAKE2V4cG9ydF9wbGFjZWhvbGRlcnMYCSABKAhICIgBARIZCgxleHBvcnRfbm90ZXMYCiABKAhICYgBARIfChJleHBvcnRfbm90ZXNfcGFnZXMYCyABKAhICogBARIkChdleHBvcnRfb25seV9ub3Rlc19wYWdlcxgMIAEoCEgLiAEBEiMKFmV4cG9ydF9ub3Rlc19pbl9tYXJnaW4YDSABKAhIDIgBARItCiBjb252ZXJ0X29vb190YXJnZXRfdG9fcGRmX3RhcmdldBgOIAEoCEgNiAEBEicKGmV4cG9ydF9saW5rc19yZWxhdGl2ZV9mc3lzGA8gASgISA6IAQESIQoUZXhwb3J0X2hpZGRlbl9zbGlkZXMYECABKAhID4gBARIdChBza2lwX2VtcHR5X3BhZ2VzGBEgASgISBCIAQESHwoSc2luZ2xlX3BhZ2Vfc2hlZXRzGBIgASgISBGIAQESLAofYWRkX29yaWdpbmFsX2RvY3VtZW50X2FzX3N0cmVhbRgTIAEoCEgSiAEBEicKGmxvc3NsZXNzX2ltYWdlX2NvbXByZXNzaW9uGBQgASgISBOIAQESHwoHcXVhbGl0eRgVIAEoBUIJukgGGgQYZCgBSBSIAQESJAoXcmVkdWNlX2ltYWdlX3Jlc29sdXRpb24YFiABKAhIFYgBARI2ChRtYXhfaW1hZ2VfcmVzb2x1dGlvbhgXIAEoBUITukgQGg4wSzCWATCsAjDYBDCwCUgWiAEBOo8CukiLAhqIAgozZXhwb3J0X29ubHlfbm90ZXNfcGFnZXNfcmVxdWlyZXNfZXhwb3J0X25vdGVzX3BhZ2VzEj5leHBvcnRfb25seV9ub3Rlc19wYWdlcyByZXF1aXJlcyBleHBvcnRfbm90ZXNfcGFnZXMgdG8gYmUgdHJ1ZRqQASFoYXModGhpcy5leHBvcnRfb25seV9ub3Rlc19wYWdlcykgfHwgdGhpcy5leHBvcnRfb25seV9ub3Rlc19wYWdlcyA9PSBmYWxzZSB8fCAoaGFzKHRoaXMuZXhwb3J0X25vdGVzX3BhZ2VzKSAmJiB0aGlzLmV4cG9ydF9ub3Rlc19wYWdlcyA9PSB0cnVlKUILCglfcGFzc3dvcmRCDAoKX2xhbmRzY2FwZUIOCgxfcGFnZV9yYW5nZXNCEQoPX3VwZGF0ZV9pbmRleGVzQhUKE19leHBvcnRfZm9ybV9maWVsZHNCHgocX2FsbG93X2R1cGxpY2F0ZV9maWVsZF9uYW1lc0ITChFfZXhwb3J0X2Jvb2ttYXJrc0ImCiRfZXhwb3J0X2Jvb2ttYXJrc190b19wZGZfZGVzdGluYXRpb25CFgoUX2V4cG9ydF9wbGFjZWhvbGRlcnNCDwoNX2V4cG9ydF9ub3Rlc0IVChNfZXhwb3J0X25vdGVzX3BhZ2VzQhoKGF9leHBvcnRfb25seV9ub3Rlc19wYWdlc0IZChdfZXhwb3J0X25vdGVzX2luX21hcmdpbkIjCiFfY29udmVydF9vb29fdGFyZ2V0X3RvX3BkZl90YXJnZXRCHQobX2V4cG9ydF9saW5rc19yZWxhdGl2ZV9mc3lzQhcKFV9leHBvcnRfaGlkZGVuX3NsaWRlc0ITChFfc2tpcF9lbXB0eV9wYWdlc0IVChNfc2luZ2xlX3BhZ2Vfc2hlZXRzQiIKIF9hZGRfb3JpZ2luYWxfZG9jdW1lbnRfYXNfc3RyZWFtQh0KG19sb3NzbGVzc19pbWFnZV9jb21wcmVzc2lvbkIKCghfcXVhbGl0eUIaChhfcmVkdWNlX2ltYWdlX3Jlc29sdXRpb25CFwoVX21heF9pbWFnZV9yZXNvbHV0aW9uIosCChBQZGZPdXRwdXRPcHRpb25zEjwKBHBkZmEYASABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZBRm9ybWF0SACIAQESEgoFcGRmdWEYAiABKAhIAYgBARIUCgdmbGF0dGVuGAMgASgISAKIAQESJAoNdXNlcl9wYXNzd29yZBgEIAEoCUIIukgFcgMYgAFIA4gBARIlCg5vd25lcl9wYXNzd29yZBgFIAEoCUIIukgFcgMYgAFIBIgBAUIHCgVfcGRmYUIICgZfcGRmdWFCCgoIX2ZsYXR0ZW5CEAoOX3VzZXJfcGFzc3dvcmRCEQoPX293bmVyX3Bhc3N3b3JkIrAJCg5JbWFnZU9wZXJhdGlvbhI8CgZyZXNpemUYASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVJlc2l6ZUgAEjgKBGNyb3AYAiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUNyb3BIABI8CgZyb3RhdGUYAyABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVJvdGF0ZUgAEjgKBGZsaXAYBCABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUZsaXBIABI2CgNwYWQYBSABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVBhZEgAEjgKBHRyaW0YBiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVRyaW1IABJECgpwcm9wb3J0aW9uGAcgASgLMi4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VQcm9wb3J0aW9uSAASOgoFZm9jYWwYCCABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUZvY2FsSAASPAoGYWRqdXN0GAkgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VBZGp1c3RIABI2CgNodWUYCiABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUh1ZUgAEjYKA3JnYhgLIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlUmdiSAASOAoEYmx1chgMIAEoCzIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlQmx1ckgAEj4KB3NoYXJwZW4YDSABKAsyKy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVNoYXJwZW5IABJHCgxyb3VuZF9jb3JuZXIYDiABKAsyLy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZVJvdW5kQ29ybmVySAASQgoJd2F0ZXJtYXJrGA8gASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VXYXRlcm1hcmtIABI6CgVsYWJlbBgQIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkltYWdlTGFiZWxIABJDCgptYXhfZnJhbWVzGBEgASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VNYXhGcmFtZXNIABI4CgRwYWdlGBIgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VQYWdlSAASNgoDZHBpGBMgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VEcGlIAEISCglvcGVyYXRpb24SBbpIAggBIu0BChVUcmFuc2Zvcm1JbWFnZVJlcXVlc3QSOwoFaW5wdXQYASABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIGukgDyAEBEksKCm9wZXJhdGlvbnMYAiADKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZU9wZXJhdGlvbkIIukgFkgECEDISPwoGb3V0cHV0GB4gASgLMioubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSW1hZ2VPdXRwdXRIAIgBAUIJCgdfb3V0cHV0Ik4KFlRyYW5zZm9ybUltYWdlUmVzcG9uc2USNAoGb3V0cHV0GAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGEinQMKC0ltYWdlUmVzaXplEh4KBXdpZHRoGAEgASgFQgq6SAcaBRiIJygASACIAQESHwoGaGVpZ2h0GAIgASgFQgq6SAcaBRiIJygASAGIAQESPAoEdHlwZRgDIAEoDjIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlJlc2l6ZVR5cGVIAogBARIUCgdlbmxhcmdlGAQgASgISAOIAQESEwoGZXh0ZW5kGAUgASgISASIAQE6rgG6SKoBGqcBChFyZXF1aXJlX2RpbWVuc2lvbhJEYXQgbGVhc3Qgb25lIG9mIHdpZHRoIG9yIGhlaWdodCBtdXN0IGJlIHNwZWNpZmllZCBhbmQgZ3JlYXRlciB0aGFuIDAaTChoYXModGhpcy53aWR0aCkgJiYgdGhpcy53aWR0aCA+IDApIHx8IChoYXModGhpcy5oZWlnaHQpICYmIHRoaXMuaGVpZ2h0ID4gMClCCAoGX3dpZHRoQgkKB19oZWlnaHRCBwoFX3R5cGVCCgoIX2VubGFyZ2VCCQoHX2V4dGVuZCKdAgoJSW1hZ2VDcm9wEh4KBXdpZHRoGAEgASgFQgq6SAcaBRiIJygASACIAQESHwoGaGVpZ2h0GAIgASgFQgq6SAcaBRiIJygASAGIAQESPAoHZ3Jhdml0eRgDIAEoDjImLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdyYXZpdHlIAogBARIqCghvZmZzZXRfeBgEIAEoBUITukgQGg4YkE4o8LH/////////AUgDiAEBEioKCG9mZnNldF95GAUgASgFQhO6SBAaDhiQTijwsf////////8BSASIAQFCCAoGX3dpZHRoQgkKB19oZWlnaHRCCgoIX2dyYXZpdHlCCwoJX29mZnNldF94QgsKCV9vZmZzZXRfeSJmCgtJbWFnZVJvdGF0ZRIjCgVhbmdsZRgBIAEoBUIPukgMGgowADBaMLQBMI4CSACIAQESGAoLYXV0b19yb3RhdGUYAiABKAhIAYgBAUIICgZfYW5nbGVCDgoMX2F1dG9fcm90YXRlIpICCglJbWFnZUZsaXASFwoKaG9yaXpvbnRhbBgBIAEoCEgAiAEBEhUKCHZlcnRpY2FsGAIgASgISAGIAQE6uAG6SLQBGrEBChZyZXF1aXJlX2ZsaXBfZGlyZWN0aW9uEjNhdCBsZWFzdCBvbmUgb2YgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBtdXN0IGJlIHRydWUaYihoYXModGhpcy5ob3Jpem9udGFsKSAmJiB0aGlzLmhvcml6b250YWwgPT0gdHJ1ZSkgfHwgKGhhcyh0aGlzLnZlcnRpY2FsKSAmJiB0aGlzLnZlcnRpY2FsID09IHRydWUpQg0KC19ob3Jpem9udGFsQgsKCV92ZXJ0aWNhbCKVAwoISW1hZ2VQYWQSGQoDdG9wGAEgASgFQge6SAQaAigASACIAQESGwoFcmlnaHQYAiABKAVCB7pIBBoCKABIAYgBARIcCgZib3R0b20YAyABKAVCB7pIBBoCKABIAogBARIaCgRsZWZ0GAQgASgFQge6SAQaAigASAOIAQE68AG6SOwBGukBCg9yZXF1aXJlX3BhZGRpbmcSP2F0IGxlYXN0IG9uZSBwYWRkaW5nIHZhbHVlIG11c3QgYmUgc3BlY2lmaWVkIGFuZCBncmVhdGVyIHRoYW4gMBqUAShoYXModGhpcy50b3ApICYmIHRoaXMudG9wID4gMCkgfHwgKGhhcyh0aGlzLnJpZ2h0KSAmJiB0aGlzLnJpZ2h0ID4gMCkgfHwgKGhhcyh0aGlzLmJvdHRvbSkgJiYgdGhpcy5ib3R0b20gPiAwKSB8fCAoaGFzKHRoaXMubGVmdCkgJiYgdGhpcy5sZWZ0ID4gMClCBgoEX3RvcEIICgZfcmlnaHRCCQoHX2JvdHRvbUIHCgVfbGVmdCLFAQoJSW1hZ2VUcmltEicKCXRocmVzaG9sZBgBIAEoAkIPukgMCgodAACAPy0AAAAASACIAQESKwoFY29sb3IYAiABKAlCF7pIFHISMhBeWzAtOWEtZkEtRl17Nn0kSAGIAQESFgoJZXF1YWxfaG9yGAMgASgISAKIAQESFgoJZXF1YWxfdmVyGAQgASgISAOIAQFCDAoKX3RocmVzaG9sZEIICgZfY29sb3JCDAoKX2VxdWFsX2hvckIMCgpfZXF1YWxfdmVyIs8DCgtJbWFnZUFkanVzdBIsCgpicmlnaHRuZXNzGAEgASgFQhO6SBAaDhj/ASiB/v////////8BSACIAQESJgoIY29udHJhc3QYAiABKAJCD7pIDAoKHQAAIEEtAAAAAEgBiAEBEigKCnNhdHVyYXRpb24YAyABKAJCD7pIDAoKHQAAIEEtAAAAAEgCiAEBEhYKCWdyYXlzY2FsZRgEIAEoCEgDiAEBOu4BukjqARrnAQoScmVxdWlyZV9hZGp1c3RtZW50ElphdCBsZWFzdCBvbmUgYWRqdXN0bWVudCAoYnJpZ2h0bmVzcywgY29udHJhc3QsIHNhdHVyYXRpb24sIG9yIGdyYXlzY2FsZSkgbXVzdCBiZSBzcGVjaWZpZWQadWhhcyh0aGlzLmJyaWdodG5lc3MpIHx8IGhhcyh0aGlzLmNvbnRyYXN0KSB8fCBoYXModGhpcy5zYXR1cmF0aW9uKSB8fCAoaGFzKHRoaXMuZ3JheXNjYWxlKSAmJiB0aGlzLmdyYXlzY2FsZSA9PSB0cnVlKUINCgtfYnJpZ2h0bmVzc0ILCglfY29udHJhc3RCDQoLX3NhdHVyYXRpb25CDAoKX2dyYXlzY2FsZSIrCglJbWFnZUJsdXISHgoFc2lnbWEYASABKAJCD7pIDAoKHQAAyEIlAAAAACIuCgxJbWFnZVNoYXJwZW4SHgoFc2lnbWEYASABKAJCD7pIDAoKHQAAyEIlAAAAACIuCghJbWFnZUh1ZRIiCgVhbmdsZRgBIAEoBUITukgQGg4YtAEozP7/////////ASJnCghJbWFnZVJnYhIdCgFyGAEgASgFQhK6SA8aDRhkKJz//////////wESHQoBZxgCIAEoBUISukgPGg0YZCic//////////8BEh0KAWIYAyABKAVCErpIDxoNGGQonP//////////ASKbAQoKSW1hZ2VGb2NhbBI8CgZyZWdpb24YASABKAsyKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Gb2NhbFJlZ2lvbkgAEjoKBXBvaW50GAIgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRm9jYWxQb2ludEgAQhMKCmZvY2FsX3R5cGUSBbpIAggBIkcKC0ZvY2FsUmVnaW9uEgwKBGxlZnQYASABKAUSCwoDdG9wGAIgASgFEg0KBXJpZ2h0GAMgASgFEg4KBmJvdHRvbRgEIAEoBSIiCgpGb2NhbFBvaW50EgkKAXgYASABKAUSCQoBeRgCIAEoBSJ/ChBJbWFnZVJvdW5kQ29ybmVyEhMKAnJ4GAEgASgFQge6SAQaAiAAEhgKAnJ5GAIgASgFQge6SAQaAiAASACIAQESKwoFY29sb3IYAyABKAlCF7pIFHISMhBeWzAtOWEtZkEtRl17Nn0kSAGIAQFCBQoDX3J5QggKBl9jb2xvciIxCg9JbWFnZVByb3BvcnRpb24SHgoKcGVyY2VudGFnZRgBIAEoBUIKukgHGgUY9AMoASLJAQoKSW1hZ2VMYWJlbBIYCgR0ZXh0GAEgASgJQgq6SAdyBRABGOgHEgkKAXgYAiABKAUSCQoBeRgDIAEoBRIYCgRzaXplGAQgASgFQgq6SAcaBRjoBygBEiYKBWNvbG9yGAUgASgJQhe6SBRyEjIQXlswLTlhLWZBLUZdezZ9JBIjCgVhbHBoYRgGIAEoAkIPukgMCgodAACAPy0AAAAASACIAQESEQoEZm9udBgHIAEoCUgBiAEBQggKBl9hbHBoYUIHCgVfZm9udCInCg5JbWFnZU1heEZyYW1lcxIVCgFuGAEgASgFQgq6SAcaBRjoBygBIiEKCUltYWdlUGFnZRIUCgNudW0YASABKAVCB7pIBBoCKAEiIwoISW1hZ2VEcGkSFwoDbnVtGAEgASgFQgq6SAcaBRjgEigBIugCCg5JbWFnZVdhdGVybWFyaxI7CgVpbWFnZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQESPQoIcG9zaXRpb24YAiABKA4yJi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HcmF2aXR5SACIAQESKgoIb2Zmc2V0X3gYAyABKAVCE7pIEBoOGJBOKPCx/////////wFIAYgBARIqCghvZmZzZXRfeRgEIAEoBUITukgQGg4YkE4o8LH/////////AUgCiAEBEiUKB29wYWNpdHkYBSABKAJCD7pIDAoKHQAAgD8tAAAAAEgDiAEBEh4KBXNjYWxlGAYgASgCQgq6SAcKBSUAAAAASASIAQFCCwoJX3Bvc2l0aW9uQgsKCV9vZmZzZXRfeEILCglfb2Zmc2V0X3lCCgoIX29wYWNpdHlCCAoGX3NjYWxlIroECgtJbWFnZU91dHB1dBI/CgZmb3JtYXQYASABKA4yKi5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5JbWFnZUZvcm1hdEgAiAEBEh8KB3F1YWxpdHkYAiABKAVCCbpIBhoEGGQoAUgBiAEBEhsKDnN0cmlwX21ldGFkYXRhGAMgASgISAKIAQESMAoKYmFja2dyb3VuZBgEIAEoCUIXukgUchIyEF5bMC05YS1mQS1GXXs2fSRIA4gBARIuChBiYWNrZ3JvdW5kX2FscGhhGAUgASgCQg+6SAwKCh0AAIA/LQAAAABIBIgBARInCg9wbmdfY29tcHJlc3Npb24YBiABKAVCCbpIBhoEGAkoAEgFiAEBEhsKDnBuZ19pbnRlcmxhY2VkGAcgASgISAaIAQESHQoQanBlZ19wcm9ncmVzc2l2ZRgIIAEoCEgHiAEBEhoKDXdlYnBfbG9zc2xlc3MYCSABKAhICIgBARIfCgltYXhfYnl0ZXMYCiABKAVCB7pIBBoCIABICYgBAUIJCgdfZm9ybWF0QgoKCF9xdWFsaXR5QhEKD19zdHJpcF9tZXRhZGF0YUINCgtfYmFja2dyb3VuZEITChFfYmFja2dyb3VuZF9hbHBoYUISChBfcG5nX2NvbXByZXNzaW9uQhEKD19wbmdfaW50ZXJsYWNlZEITChFfanBlZ19wcm9ncmVzc2l2ZUIQCg5fd2VicF9sb3NzbGVzc0IMCgpfbWF4X2J5dGVzItgCChRNYW5pcHVsYXRlUGRmUmVxdWVzdBI4CgVtZXJnZRgBIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZk1lcmdlSAASOAoFc3BsaXQYAiABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZTcGxpdEgAEjwKB2VuY3J5cHQYAyABKAsyKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZFbmNyeXB0SAASPAoHY29udmVydBgEIAEoCzIpLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlBkZkNvbnZlcnRIABI8CgdmbGF0dGVuGAUgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmRmxhdHRlbkgAQhIKCW9wZXJhdGlvbhIFukgCCAEiTgoVTWFuaXB1bGF0ZVBkZlJlc3BvbnNlEjUKB291dHB1dHMYASADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YSLEAgoIUGRmTWVyZ2USPwoFZmlsZXMYASADKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YUIKukgHkgEECAIQZBI8CgRwZGZhGAIgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmQUZvcm1hdEgAiAEBEhIKBXBkZnVhGAMgASgISAGIAQESFAoHZmxhdHRlbhgEIAEoCEgCiAEBEiQKDXVzZXJfcGFzc3dvcmQYBSABKAlCCLpIBXIDGIABSAOIAQESJQoOb3duZXJfcGFzc3dvcmQYBiABKAlCCLpIBXIDGIABSASIAQFCBwoFX3BkZmFCCAoGX3BkZnVhQgoKCF9mbGF0dGVuQhAKDl91c2VyX3Bhc3N3b3JkQhEKD19vd25lcl9wYXNzd29yZCK5AwoIUGRmU3BsaXQSOgoEZmlsZRgBIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEYXRhQga6SAPIAQESQAoEbW9kZRgCIAEoDjIoLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlNwbGl0TW9kZUIIukgFggECIAASGAoEc3BhbhgDIAEoCUIKukgHcgUQARjoBxISCgV1bmlmeRgEIAEoCEgAiAEBEjwKBHBkZmEYBSABKA4yKS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5QZGZBRm9ybWF0SAGIAQESEgoFcGRmdWEYBiABKAhIAogBARIUCgdmbGF0dGVuGAcgASgISAOIAQESJAoNdXNlcl9wYXNzd29yZBgIIAEoCUIIukgFcgMYgAFIBIgBARIlCg5vd25lcl9wYXNzd29yZBgJIAEoCUIIukgFcgMYgAFIBYgBAUIICgZfdW5pZnlCBwoFX3BkZmFCCAoGX3BkZnVhQgoKCF9mbGF0dGVuQhAKDl91c2VyX3Bhc3N3b3JkQhEKD19vd25lcl9wYXNzd29yZCKlAQoKUGRmRW5jcnlwdBI6CgRmaWxlGAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCBrpIA8gBARIhCg11c2VyX3Bhc3N3b3JkGAIgASgJQgq6SAdyBRABGIABEiUKDm93bmVyX3Bhc3N3b3JkGAMgASgJQgi6SAVyAxiAAUgAiAEBQhEKD19vd25lcl9wYXNzd29yZCLOAgoKUGRmQ29udmVydBI6CgRmaWxlGAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCBrpIA8gBARI8CgRwZGZhGAIgASgOMikubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuUGRmQUZvcm1hdEgAiAEBEhIKBXBkZnVhGAMgASgISAGIAQE6ngG6SJoBGpcBChlyZXF1aXJlX2NvbnZlcnNpb25fb3B0aW9uEi9hdCBsZWFzdCBvbmUgb2YgcGRmYSBvciBwZGZ1YSBtdXN0IGJlIHNwZWNpZmllZBpJaGFzKHRoaXMucGRmYSkgJiYgdGhpcy5wZGZhICE9IDAgfHwgaGFzKHRoaXMucGRmdWEpICYmIHRoaXMucGRmdWEgPT0gdHJ1ZUIHCgVfcGRmYUIICgZfcGRmdWEiSAoKUGRmRmxhdHRlbhI6CgRmaWxlGAEgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERhdGFCBrpIA8gBASp3ChFFbXVsYXRlZE1lZGlhVHlwZRIjCh9FTVVMQVRFRF9NRURJQV9UWVBFX1VOU1BFQ0lGSUVEEAASHgoaRU1VTEFURURfTUVESUFfVFlQRV9TQ1JFRU4QARIdChlFTVVMQVRFRF9NRURJQV9UWVBFX1BSSU5UEAIqaQoKUGRmQUZvcm1hdBIcChhQREZfQV9GT1JNQVRfVU5TUEVDSUZJRUQQABITCg9QREZfQV9GT1JNQVRfMUIQARITCg9QREZfQV9GT1JNQVRfMkIQAhITCg9QREZfQV9GT1JNQVRfM0IQAyqcAQoKUmVzaXplVHlwZRIbChdSRVNJWkVfVFlQRV9VTlNQRUNJRklFRBAAEhMKD1JFU0laRV9UWVBFX0ZJVBABEhQKEFJFU0laRV9UWVBFX0ZJTEwQAhIZChVSRVNJWkVfVFlQRV9GSUxMX0RPV04QAxIVChFSRVNJWkVfVFlQRV9GT1JDRRAEEhQKEFJFU0laRV9UWVBFX0FVVE8QBSrzAQoHR3Jhdml0eRIXChNHUkFWSVRZX1VOU1BFQ0lGSUVEEAASEgoOR1JBVklUWV9DRU5URVIQARIRCg1HUkFWSVRZX05PUlRIEAISEQoNR1JBVklUWV9TT1VUSBADEhAKDEdSQVZJVFlfRUFTVBAEEhAKDEdSQVZJVFlfV0VTVBAFEhYKEkdSQVZJVFlfTk9SVEhfRUFTVBAGEhYKEkdSQVZJVFlfTk9SVEhfV0VTVBAHEhYKEkdSQVZJVFlfU09VVEhfRUFTVBAIEhYKEkdSQVZJVFlfU09VVEhfV0VTVBAJEhEKDUdSQVZJVFlfU01BUlQQCirfAQoLSW1hZ2VGb3JtYXQSHAoYSU1BR0VfRk9STUFUX1VOU1BFQ0lGSUVEEAASFQoRSU1BR0VfRk9STUFUX0pQRUcQARIUChBJTUFHRV9GT1JNQVRfUE5HEAISFQoRSU1BR0VfRk9STUFUX1dFQlAQAxIVChFJTUFHRV9GT1JNQVRfQVZJRhAEEhQKEElNQUdFX0ZPUk1BVF9HSUYQBRIVChFJTUFHRV9GT1JNQVRfVElGRhAGEhQKEElNQUdFX0ZPUk1BVF9CTVAQBxIUChBJTUFHRV9GT1JNQVRfSUNPEAgqVwoJU3BsaXRNb2RlEhoKFlNQTElUX01PREVfVU5TUEVDSUZJRUQQABIYChRTUExJVF9NT0RFX0lOVEVSVkFMUxABEhQKEFNQTElUX01PREVfUEFHRVMQAjKMAwoQRmlsZUZvcmdlU2VydmljZRJ9Cg5SZW5kZXJEb2N1bWVudBI0Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlJlbmRlckRvY3VtZW50UmVxdWVzdBo1Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlJlbmRlckRvY3VtZW50UmVzcG9uc2USfQoOVHJhbnNmb3JtSW1hZ2USNC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UcmFuc2Zvcm1JbWFnZVJlcXVlc3QaNS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5UcmFuc2Zvcm1JbWFnZVJlc3BvbnNlEnoKDU1hbmlwdWxhdGVQZGYSMy5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5NYW5pcHVsYXRlUGRmUmVxdWVzdBo0Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLk1hbmlwdWxhdGVQZGZSZXNwb25zZWIGcHJvdG8z",[d,f]),gg=i(o,0),cg=i(o,1),He=i(o,2),ve=i(o,3),ze=i(o,4),Ge=i(o,5),Ke=i(o,6),ae=i(o,7),Ne=i(o,8),Qe=i(o,9),ig=i(o,10),lg=i(o,11),dg=i(o,12),mg=i(o,13),rg=i(o,14),pg=i(o,15),ug=i(o,16),bg=i(o,17),Gg=i(o,18),hg=i(o,19),Zg=i(o,20),Ig=i(o,21),yg=i(o,22),Ag=i(o,23),Sg=i(o,24),Vg=i(o,25),Rg=i(o,26),Xg=i(o,27),Wg=i(o,28),Jg=i(o,29),Bg=i(o,30),Cg=i(o,31),Le=i(o,32),Yg=i(o,33),Fg=i(o,34),ke=i(o,35),Ue=i(o,36),we=i(o,37),De=i(o,38),Te=i(o,39),Gt=(t=>(t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SCREEN=1]="SCREEN",t[t.PRINT=2]="PRINT",t))(Gt||{}),xg=T(o,0),ht=(s=>(s[s.PDF_A_FORMAT_UNSPECIFIED=0]="PDF_A_FORMAT_UNSPECIFIED",s[s.PDF_A_FORMAT_1B=1]="PDF_A_FORMAT_1B",s[s.PDF_A_FORMAT_2B=2]="PDF_A_FORMAT_2B",s[s.PDF_A_FORMAT_3B=3]="PDF_A_FORMAT_3B",s))(ht||{}),Mg=T(o,1),Zt=(h=>(h[h.UNSPECIFIED=0]="UNSPECIFIED",h[h.FIT=1]="FIT",h[h.FILL=2]="FILL",h[h.FILL_DOWN=3]="FILL_DOWN",h[h.FORCE=4]="FORCE",h[h.AUTO=5]="AUTO",h))(Zt||{}),Eg=T(o,2),It=(c=>(c[c.UNSPECIFIED=0]="UNSPECIFIED",c[c.CENTER=1]="CENTER",c[c.NORTH=2]="NORTH",c[c.SOUTH=3]="SOUTH",c[c.EAST=4]="EAST",c[c.WEST=5]="WEST",c[c.NORTH_EAST=6]="NORTH_EAST",c[c.NORTH_WEST=7]="NORTH_WEST",c[c.SOUTH_EAST=8]="SOUTH_EAST",c[c.SOUTH_WEST=9]="SOUTH_WEST",c[c.SMART=10]="SMART",c))(It||{}),fg=T(o,3),yt=(a=>(a[a.UNSPECIFIED=0]="UNSPECIFIED",a[a.JPEG=1]="JPEG",a[a.PNG=2]="PNG",a[a.WEBP=3]="WEBP",a[a.AVIF=4]="AVIF",a[a.GIF=5]="GIF",a[a.TIFF=6]="TIFF",a[a.BMP=7]="BMP",a[a.ICO=8]="ICO",a))(yt||{}),Hg=T(o,4),je=(t=>(t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.INTERVALS=1]="INTERVALS",t[t.PAGES=2]="PAGES",t))(je||{}),vg=T(o,5),Pe=bt(o,0);import{fileDesc as At,messageDesc as J,serviceDesc as St}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_struct as Vt,file_google_protobuf_timestamp as Rt}from"@bufbuild/protobuf/wkt";var X=At("CjJtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9wbHVnaW5fc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiGgoYR2V0U3lzdGVtU2VydmljZXNSZXF1ZXN0IsUBChlHZXRTeXN0ZW1TZXJ2aWNlc1Jlc3BvbnNlEm0KE2NvbmZpZ3VyZWRfc2VydmljZXMYASADKAsyUC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5HZXRTeXN0ZW1TZXJ2aWNlc1Jlc3BvbnNlLkNvbmZpZ3VyZWRTZXJ2aWNlc0VudHJ5GjkKF0NvbmZpZ3VyZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAEiMgoQQXV0aG9yaXplUmVxdWVzdBIeCgxhY2Nlc3NfdG9rZW4YASABKAlCCLpIBXIDGJBOIhMKEUF1dGhvcml6ZVJlc3BvbnNlIoABCh5CYXRjaEdldFN5c3RlbVZhcmlhYmxlc1JlcXVlc3QSXgoFbmFtZXMYASADKAlCT7pITJIBSQgBEGQYASJBcj8QARhkMjleW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKD86XC5bXyRhLXpBLVpdW18kYS16QS1aMC05XSopKiQiwQEKH0JhdGNoR2V0U3lzdGVtVmFyaWFibGVzUmVzcG9uc2USWAoFaXRlbXMYASADKAsySS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFN5c3RlbVZhcmlhYmxlc1Jlc3BvbnNlLkl0ZW1zRW50cnkaRAoKSXRlbXNFbnRyeRILCgNrZXkYASABKAkSJQoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWU6AjgBIn4KHEJhdGNoR2V0VXNlclZhcmlhYmxlc1JlcXVlc3QSXgoFbmFtZXMYASADKAlCT7pITJIBSQgBEGQYASJBcj8QARhkMjleW18kYS16QS1aXVtfJGEtekEtWjAtOV0qKD86XC5bXyRhLXpBLVpdW18kYS16QS1aMC05XSopKiQivQEKHUJhdGNoR2V0VXNlclZhcmlhYmxlc1Jlc3BvbnNlElYKBWl0ZW1zGAEgAygLMkcubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVmFyaWFibGVzUmVzcG9uc2UuSXRlbXNFbnRyeRpECgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEiewoZQmF0Y2hHZXRVc2VyVG9rZW5zUmVxdWVzdBJeCgVuYW1lcxgBIAMoCUJPukhMkgFJCAEQZBgBIkFyPxABGGQyOV5bXyRhLXpBLVpdW18kYS16QS1aMC05XSooPzpcLltfJGEtekEtWl1bXyRhLXpBLVowLTldKikqJCLFAQoaQmF0Y2hHZXRVc2VyVG9rZW5zUmVzcG9uc2USUwoFaXRlbXMYASADKAsyRC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFVzZXJUb2tlbnNSZXNwb25zZS5JdGVtc0VudHJ5GlIKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuVG9rZW46AjgBIn0KG0JhdGNoR2V0U3lzdGVtVG9rZW5zUmVxdWVzdBJeCgVuYW1lcxgBIAMoCUJPukhMkgFJCAEQZBgBIkFyPxABGGQyOV5bXyRhLXpBLVpdW18kYS16QS1aMC05XSooPzpcLltfJGEtekEtWl1bXyRhLXpBLVowLTldKikqJCLJAQocQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXNwb25zZRJVCgVpdGVtcxgBIAMoCzJGLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0U3lzdGVtVG9rZW5zUmVzcG9uc2UuSXRlbXNFbnRyeRpSCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoCzIkLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLlRva2VuOgI4ASJfCgVUb2tlbhIMCgRuYW1lGAEgASgJEg0KBXRva2VuGAIgASgJEgwKBHR5cGUYAyABKAkSKwoHZXhwaXJlcxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAy1gYKDVBsdWdpblNlcnZpY2USbgoJQXV0aG9yaXplEi8ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQXV0aG9yaXplUmVxdWVzdBowLm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkF1dGhvcml6ZVJlc3BvbnNlEoYBChFHZXRTeXN0ZW1TZXJ2aWNlcxI3Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFN5c3RlbVNlcnZpY2VzUmVxdWVzdBo4Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkdldFN5c3RlbVNlcnZpY2VzUmVzcG9uc2USmAEKF0JhdGNoR2V0U3lzdGVtVmFyaWFibGVzEj0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1WYXJpYWJsZXNSZXF1ZXN0Gj4ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1WYXJpYWJsZXNSZXNwb25zZRKSAQoVQmF0Y2hHZXRVc2VyVmFyaWFibGVzEjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVmFyaWFibGVzUmVxdWVzdBo8Lm1vY2hhYnVnYXBpcy5hZGFwdC5ydW50aW1lLnYxLkJhdGNoR2V0VXNlclZhcmlhYmxlc1Jlc3BvbnNlEokBChJCYXRjaEdldFVzZXJUb2tlbnMSOC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5CYXRjaEdldFVzZXJUb2tlbnNSZXF1ZXN0GjkubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRVc2VyVG9rZW5zUmVzcG9uc2USjwEKFEJhdGNoR2V0U3lzdGVtVG9rZW5zEjoubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXF1ZXN0GjsubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuQmF0Y2hHZXRTeXN0ZW1Ub2tlbnNSZXNwb25zZWIGcHJvdG8z",[d,Vt,Rt]),Lg=J(X,0),kg=J(X,1),Ug=J(X,2),wg=J(X,3),Dg=J(X,4),Tg=J(X,5),jg=J(X,6),Pg=J(X,7),Og=J(X,8),_g=J(X,9),qg=J(X,10),$g=J(X,11),ec=J(X,12),Oe=St(X,0);import{Code as W,ConnectError as C,createContextValues as _e}from"@connectrpc/connect";import{compressedFlag as qe,createClientMethodSerializers as $e,createEnvelopeReadableStream as he,createMethodUrl as en,encodeEnvelope as nn,runStreamingCall as Xt,runUnaryCall as Wt}from"@connectrpc/connect/protocol";import{headerGrpcStatus as tn,requestHeader as sn,trailerFlag as Ze,trailerParse as an,validateResponse as on,validateTrailer as gn}from"@connectrpc/connect/protocol-grpc-web";function j(r){return{async unary(e,n,t,s,g,h){let{serialize:p,parse:ne}=$e(e,!0);return Wt({interceptors:r.interceptors,signal:n,timeoutMs:t,req:{stream:!1,service:e.parent,method:e,requestMethod:"POST",url:en("https://runtimeapi/",e),header:sn(!0,t,s,!1),contextValues:h??_e(),message:g},next:async a=>{let Y=await r.fetcher.fetch(a.url,{method:a.requestMethod,headers:a.header,signal:a.signal,body:nn(0,p(a.message))}),{headerError:c}=on(Y.status,Y.headers);if(!Y.body)throw c!==void 0?c:new C("missing response body",W.Internal);let Q=he(Y.body).getReader(),A,v;for(;;){let z=await Q.read();if(z.done)break;let{flags:L,data:K}=z.value;if((L&qe)===qe)throw new C("received compressed data, which is unsupported",W.Internal);if(L===Ze){if(A!==void 0)throw new C("extra trailer",W.Internal);A=an(K);continue}if(v!==void 0)throw new C("extra message",W.Unimplemented);v=ne(K)}if(A===void 0)throw c!==void 0?c:new C("missing trailer",Y.headers.has(tn)?W.Unimplemented:W.Unknown);if(gn(A,Y.headers),v===void 0)throw new C("missing message",A.has(tn)?W.Unimplemented:W.Unknown);return{stream:!1,service:e.parent,method:e,header:Y.headers,message:v,trailer:A}}})},async stream(e,n,t,s,g,h){let{serialize:p,parse:ne}=$e(e,!0);async function a(c){let{value:Q,done:A}=await c[Symbol.asyncIterator]().next();if(A)throw new C("missing request message",W.InvalidArgument);return nn(0,p(Q))}async function*Y(c,Q,A,v,z){if(Q){if(!(await he(c).getReader().read()).done)throw new C("extra data for trailers-only",W.Internal);return}let L=he(c).getReader(),K=!1;for(;;){let ie=await L.read();if(ie.done)break;let{flags:dn,data:Re}=ie.value;if((dn&Ze)===Ze){if(K)throw new C("extra trailer",W.Internal);K=!0;let Xe=an(Re);gn(Xe,v),Xe.forEach((mn,rn)=>A.set(rn,mn));continue}if(K)throw new C("extra message after trailer",W.Internal);yield ne(Re)}if("throwIfAborted"in z&&z.throwIfAborted?.(),!K)throw new C("missing trailer",W.Internal)}return Xt({interceptors:r.interceptors,signal:n,timeoutMs:t,req:{stream:!0,service:e.parent,method:e,requestMethod:"POST",url:en("https://runtimeapi/",e),header:sn(!0,t,s,!1),contextValues:h??_e(),message:g},next:async c=>{let Q=await a(c.message),A=await r.fetcher.fetch(c.url,{method:c.requestMethod,headers:c.header,signal:c.signal,body:Q}),{foundStatus:v,headerError:z}=on(A.status,A.headers);if(z)throw z;if(!A.body)throw new C("missing response body",W.Internal);let L=new Headers;return{...c,header:A.headers,trailer:L,message:Y(A.body,v,L,A.headers,c.signal)}}})}}}import{fileDesc as Jt,messageDesc as x}from"@bufbuild/protobuf/codegenv2";var M=Jt("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvcnVudGltZS92MS9pbmNvbWluZy5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEiOgoOSG9zdGluZ0RldGFpbHMSGAoLcHVibGljX2hvc3QYASABKAlIAIgBAUIOCgxfcHVibGljX2hvc3QiZgoVU3RhcnRFeGVjdXRpb25SZXF1ZXN0EhAKCHJlY2VpdmVyGAEgASgJEjsKBGhvc3QYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIYChZTdGFydEV4ZWN1dGlvblJlc3BvbnNlIlMKFFN0b3BFeGVjdXRpb25SZXF1ZXN0EjsKBGhvc3QYASABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIXChVTdG9wRXhlY3V0aW9uUmVzcG9uc2UiUQoSQ3JvblRyaWdnZXJSZXF1ZXN0EjsKBGhvc3QYASABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5Ib3N0aW5nRGV0YWlscyIVChNDcm9uVHJpZ2dlclJlc3BvbnNlIsgBCg5FeGNoYW5nZVJlc3VsdBITCgt0cmFuc21pdHRlchgBIAEoCRJLCgdzaWduYWxzGAIgAygLMjoubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuRXhjaGFuZ2VSZXN1bHQuU2lnbmFsc0VudHJ5GlQKDFNpZ25hbHNFbnRyeRILCgNrZXkYASABKAkSMwoFdmFsdWUYAiABKAsyJC5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsRGF0YToCOAEi2AEKFUV4Y2hhbmdlUmVzdWx0UmVxdWVzdBJDCglvcGVyYXRpb24YASABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZU9wZXJhdGlvbhI9CgZyZXN1bHQYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucnVudGltZS52MS5FeGNoYW5nZVJlc3VsdBI7CgRob3N0GAMgASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnJ1bnRpbWUudjEuSG9zdGluZ0RldGFpbHMiGAoWRXhjaGFuZ2VSZXN1bHRSZXNwb25zZWIGcHJvdG8z",[f,b]),lc=x(M,0),dc=x(M,1),mc=x(M,2),rc=x(M,3),pc=x(M,4),uc=x(M,5),bc=x(M,6),Gc=x(M,7),hc=x(M,8),Zc=x(M,9);var Ct={config:"config",metadata:"metadata",configuredServices:"configured_services"};function ge(r){return Ct[r]??r}function B(r){if(r==null)return r;if(Array.isArray(r))return r.map(B);if(typeof r!="object")return r;let e={};for(let[n,t]of Object.entries(r))t!==void 0&&(e[n]=B(t));return e}var Yt=[l.Unavailable,l.Internal,l.Aborted,l.ResourceExhausted],$=r=>async e=>{for(let n=0;;n++)try{return await r(e)}catch(t){if(n>=3||t instanceof y&&!Yt.includes(t.code))throw t;let s=Math.min(500*(1<<n),5e3);await new Promise(g=>setTimeout(g,Math.random()*s))}},ce=class{env;pluginService;pluginToken;fileforge;constructor(e,n){this.env=e,this.pluginToken=n,this.pluginService=q(Oe,j({fetcher:this.env.plugin,interceptors:[$,t=>async s=>(s.header.set("Authorization",`Bearer ${this.pluginToken}`),await t(s))]})),this.fileforge=q(Pe,j({fetcher:this.env.fileforge,interceptors:[$,t=>async s=>(s.header.set("Authorization",`Bearer ${this.pluginToken}`),await t(s))]}))}async getSystemVariable(e){let t=(await this.pluginService.batchGetSystemVariables({names:[e]})).items[e];return t?E(oe,t):void 0}async getSystemVariables(...e){let n=await this.pluginService.batchGetSystemVariables({names:e}),t={};for(let[s,g]of Object.entries(n.items))t[s]=E(oe,g);return t}async getUserVariable(e){let t=(await this.pluginService.batchGetUserVariables({names:[e]})).items[e];return t?E(oe,t):void 0}async getUserVariables(...e){let n=await this.pluginService.batchGetUserVariables({names:e}),t={};for(let[s,g]of Object.entries(n.items))t[s]=E(oe,g);return t}async getUserToken(e){return(await this.pluginService.batchGetUserTokens({names:[e]})).items[e]}async getUserTokens(...e){return(await this.pluginService.batchGetUserTokens({names:e})).items}async getSystemToken(e){return(await this.pluginService.batchGetSystemTokens({names:[e]})).items[e]}async getSystemTokens(...e){return(await this.pluginService.batchGetSystemTokens({names:e})).items}userHttpProxy(e){return(n,t)=>{let s=new Request(n,t);return s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Token",`Bearer ${this.pluginToken}`),s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Path",`user:${e}`),s.headers.set("Host",new URL(s.url).host),this.env.httpproxy.fetch(s)}}systemHttpProxy(e){return(n,t)=>{let s=new Request(n,t);return s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Token",`Bearer ${this.pluginToken}`),s.headers.set("X-Mochabug-Adapt-Plugin-HttpProxy-Path",`system:${e}`),s.headers.set("Host",new URL(s.url).host),this.env.httpproxy.fetch(s)}}async authorize(e){await this.pluginService.authorize({accessToken:e})}async getSystemServices(){return(await this.pluginService.getSystemServices({})).configuredServices}async readFile(e){let n=new URL("https://runtimeapi");n.pathname=e;let t=await this.env.assets.fetch(n,{method:"GET"});if(!t.ok)throw ln(t.status);let s=t.headers.get("content-type");if(!s||!s.toLowerCase().includes("application/octet-stream"))throw new y("Invalid file. Are you reading a directory?",l.InvalidArgument);return{content:t.body,mime:s}}async readDirectory(e){let n=new URL("https://runtimeapi");n.pathname=e;let t=await this.env.assets.fetch(n,{method:"GET"});if(!t.ok)throw ln(t.status);let s=t.headers.get("content-type");if(!s||!s.toLowerCase().includes("application/json"))throw new y("Invalid directory. Are you reading a file?",l.InvalidArgument);return await t.json()}createSignalData(e){return G(w,{filename:e.filename,mimeType:"application/octet-stream",data:e.data})}extractBinaryFile(e){return{filename:e.filename??"output",data:e.data}}async htmlToPdf(e){let n=await this.fileforge.renderDocument({conversion:{case:"htmlToPdf",value:G(He,{indexHtml:e.indexHtml,headerHtml:e.headerHtml,footerHtml:e.footerHtml,assets:e.assets?.map(t=>this.createSignalData(t))??[],render:e.render?F(Ge,B(e.render)):void 0,output:e.output?F(ae,B(e.output)):void 0})}});return this.extractBinaryFile(n.output)}async markdownToPdf(e){let n=await this.fileforge.renderDocument({conversion:{case:"markdownToPdf",value:G(ve,{wrapperHtml:e.wrapperHtml,markdownFiles:e.markdownFiles.map(t=>this.createSignalData(t)),headerHtml:e.headerHtml,footerHtml:e.footerHtml,assets:e.assets?.map(t=>this.createSignalData(t))??[],render:e.render?F(Ge,B(e.render)):void 0,output:e.output?F(ae,B(e.output)):void 0})}});return this.extractBinaryFile(n.output)}async officeToPdf(e){let n=await this.fileforge.renderDocument({conversion:{case:"officeToPdf",value:G(ze,{document:this.createSignalData(e.document),render:e.render?F(Ke,B(e.render)):void 0,output:e.output?F(ae,B(e.output)):void 0})}});return this.extractBinaryFile(n.output)}async transformImage(e){let n=await this.fileforge.transformImage(G(Qe,{input:this.createSignalData(e.input),operations:e.operations?.map(t=>F(Ne,B(t)))??[],output:e.output?F(Le,B(e.output)):void 0}));return this.extractBinaryFile(n.output)}async mergePdfs(e){let n=await this.fileforge.manipulatePdf({operation:{case:"merge",value:G(ke,{files:e.files.map(t=>this.createSignalData(t)),pdfa:e.pdfa,pdfua:e.pdfua,flatten:e.flatten,userPassword:e.userPassword,ownerPassword:e.ownerPassword})}});return this.extractBinaryFile(n.outputs[0])}async splitPdf(e){return(await this.fileforge.manipulatePdf({operation:{case:"split",value:G(Ue,{file:this.createSignalData(e.file),mode:e.mode==="intervals"?1:2,span:e.span,unify:e.unify,pdfa:e.pdfa,pdfua:e.pdfua,flatten:e.flatten,userPassword:e.userPassword,ownerPassword:e.ownerPassword})}})).outputs.map(t=>this.extractBinaryFile(t))}async encryptPdf(e){let n=await this.fileforge.manipulatePdf({operation:{case:"encrypt",value:G(we,{file:this.createSignalData(e.file),userPassword:e.userPassword,ownerPassword:e.ownerPassword})}});return this.extractBinaryFile(n.outputs[0])}async convertPdf(e){let n=await this.fileforge.manipulatePdf({operation:{case:"convert",value:G(De,{file:this.createSignalData(e.file),pdfa:e.pdfa,pdfua:e.pdfua})}});return this.extractBinaryFile(n.outputs[0])}async flattenPdf(e){let n=await this.fileforge.manipulatePdf({operation:{case:"flatten",value:G(Te,{file:this.createSignalData(e.file)})}});return this.extractBinaryFile(n.outputs[0])}},Ie=class{result;constructor(e){this.result=e}get(e){let n=this.result[e];if(n)return{value:JSON.parse(new TextDecoder().decode(n.value)),ttl:n.metadata.ttl,lastModified:N(n.metadata.lastModified),etag:n.metadata.etag}}getBinary(e){let n=this.result[e];if(n)return{ttl:n.metadata.ttl,value:n.value,lastModified:N(n.metadata.lastModified),etag:n.metadata.etag}}},ye=class{ops=[];insert(e,n,t){return this.ops.push(G(se,{operation:{case:"insert",value:{key:e,value:{value:n instanceof Uint8Array?n:new TextEncoder().encode(JSON.stringify(n)),ttl:t}}}})),this}delete(e){return this.ops.push(G(se,{operation:{case:"delete",value:{key:e}}})),this}rangeDelete(e,n,t,s){return this.ops.push(G(se,{operation:{case:"rangeDelete",value:{start:e,end:n,startInclusive:t,endInclusive:s}}})),this}build(){return this.ops}},ee=class{service;namespace;constructor(e,n){this.service=e,this.namespace=Bt(Ce,n)}async insert(e,n,t,s){let g;s&&(g=G(ue,{}),s.failIfExists?g.failIfExists=!0:(s.etagEquals&&(g.etag=s.etagEquals),s.timestampEquals?g.timestampCondition={case:"lastModifiedEquals",value:P(s.timestampEquals)}:s.timestampRange&&(g.timestampCondition={case:"lastModifiedRange",value:G(pe,{start:s.timestampRange.start?P(s.timestampRange.start):void 0,end:s.timestampRange.end?P(s.timestampRange.end):void 0,startInclusive:s.timestampRange.startInclusive,endInclusive:s.timestampRange.endInclusive})})));let h=await this.service.writeStore({operation:{operation:{case:"insert",value:{key:e,value:{value:n instanceof Uint8Array?n:new TextEncoder().encode(JSON.stringify(n)),ttl:t},precondition:g}}},namespace:this.namespace});return{ttl:h.metadata.ttl,lastModified:N(h.metadata.lastModified),etag:h.metadata.etag}}async delete(e,n){let t;n&&(t=G(Be,{}),n.mustExists?t.mustExists=!0:(n.etagEquals&&(t.etag=n.etagEquals),n.timestampEquals?t.timestampCondition={case:"lastModifiedEquals",value:P(n.timestampEquals)}:n.timestampRange&&(t.timestampCondition={case:"lastModifiedRange",value:G(pe,{start:n.timestampRange.start?P(n.timestampRange.start):void 0,end:n.timestampRange.end?P(n.timestampRange.end):void 0,startInclusive:n.timestampRange.startInclusive,endInclusive:n.timestampRange.endInclusive})}))),await this.service.writeStore({operation:{operation:{case:"delete",value:{key:e,precondition:t}}},namespace:this.namespace})}async rangeDelete(e,n,t,s){await this.service.batchWriteStore({namespace:this.namespace,operations:[{operation:{case:"rangeDelete",value:{start:e,end:n,startInclusive:t,endInclusive:s}}}]})}async get(e){let t=(await this.service.batchReadStore({keys:[e],namespace:this.namespace})).items[e];if(t)return{data:JSON.parse(new TextDecoder().decode(t.value)),ttl:t.metadata.ttl,etag:t.metadata.etag,lastModified:N(t.metadata.lastModified)}}async getBinary(e){let t=(await this.service.batchReadStore({keys:[e],namespace:this.namespace})).items[e];if(t)return{data:t.value,ttl:t.metadata.ttl,etag:t.metadata.etag,lastModified:N(t.metadata.lastModified)}}async selectRange(e){let n=await this.service.selectStore({namespace:this.namespace,operation:e});return{nextToken:n.nextToken,items:Object.entries(n.items).sort(([t],[s])=>t.localeCompare(s)).map(([t,s])=>({key:t,value:JSON.parse(new TextDecoder().decode(s.value)),ttl:s.metadata.ttl,etag:s.metadata.etag,lastModified:N(s.metadata.lastModified)}))}}async selectRangeBinary(e){let n=await this.service.selectStore({namespace:this.namespace,operation:e});return{nextToken:n.nextToken,items:Object.values(n.items).map(t=>({value:t.value,ttl:t.metadata.ttl,etag:t.metadata.etag,lastModified:N(t.metadata.lastModified)}))}}async writeBatch(e){let n=await this.service.batchWriteStore({namespace:this.namespace,operations:e}),t={};for(let[s,g]of Object.entries(n.metadata))t[s]={ttl:g.ttl,lastModified:N(g.lastModified),etag:g.etag};return t}async readBatch(e){let n=await this.service.batchReadStore({namespace:this.namespace,keys:e});return new Ie(n.items)}async acquire(e,n){try{await this.service.writeStore({namespace:this.namespace,operation:{operation:{case:"insert",value:{key:e,value:{value:new Uint8Array([1]),ttl:n??5},precondition:G(ue,{failIfExists:!0})}}}})}catch(t){if(t instanceof y&&t.code===l.FailedPrecondition)return!1;throw t}return!0}async release(e){await this.writeBatch(new ye().delete(e).build())}async lock(e,n,t){let s=t?.maxRetries??5,g=t?.initialDelay??50,h=t?.maxDelay??2e3;for(let p=0;p<s;p++)if(await this.acquire(e))try{return await n()}finally{await this.release(e)}else if(p<s-1){let a=Math.min(g*2**p,h);console.log(`Acquisition failed for key: ${e}. Delaying for ${a}ms`),await new Promise(Y=>setTimeout(Y,a))}throw new Error("Failed to acquire lock after maximum retries")}},Ae=class extends ce{executor;constructor(e,n){super(e,n),this.executor=q(be,j({fetcher:e.executor,interceptors:[$,t=>async s=>(s.header.set("Authorization",`Bearer ${n}`),await t(s))]}))}async getConfig(...e){let n=await this.executor.getVertexConfig({fieldMask:e.length>0?G(_,{paths:e.map(ge)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];if(s.includes("metadata")&&(t.metadata=n.metadata?E(U,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config"))if(n.config&&n.config.length>0)try{t.config=JSON.parse(new TextDecoder().decode(n.config))}catch{t.config=void 0}else t.config=void 0;return t}async getConfigBinary(...e){let n=await this.executor.getVertexConfig({fieldMask:e.length>0?G(_,{paths:e.map(ge)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];return s.includes("metadata")&&(t.metadata=n.metadata?E(U,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config")&&(t.config=n.config),t}getLocalStore(e){return new ee(this.executor,e==="vertex"?"NAMESPACE_VERTEX":"NAMESPACE_PLUGIN")}getSessionApi(e){return new Ve(this.env,this.pluginToken,e)}},Se=class extends Ae{sessionAuthHeader;constructor(e,n,t){super(e,n),this.sessionAuthHeader=t,this.executor=q(be,j({fetcher:e.executor,interceptors:[$,s=>async g=>(g.header.set("Authorization",t),await s(g))]}))}getAuthHeader(){return this.sessionAuthHeader}getSessionStore(e){return new ee(this.executor,e==="vertex"?"NAMESPACE_VERTEX_INSTANCE":"NAMESPACE_PLUGIN_INSTANCE")}},Ve=class extends Se{constructor(e,n,t){super(e,n,t)}async listSignals(e){let n=await this.executor.listActiveSignals({pageSize:e?.pageSize,orderDescending:e?.orderDescending});return{signals:Object.fromEntries(Object.entries(n.signals).map(([t,s])=>[t,JSON.parse(new TextDecoder().decode(s.data))])),receiver:n.receiver,cursor:n.nextCursor}}async listSignalsBinary(e){let n=await this.executor.listActiveSignals({pageSize:e?.pageSize,orderDescending:e?.orderDescending});return{signals:n.signals,receiver:n.receiver,cursor:n.nextCursor}}async continueListSignals(e){let n=await this.executor.listActiveSignals({cursor:e});return{signals:Object.fromEntries(Object.entries(n.signals).map(([t,s])=>[t,JSON.parse(new TextDecoder().decode(s.data))])),receiver:n.receiver,cursor:n.nextCursor}}async continueListSignalsBinary(e){let n=await this.executor.listActiveSignals({cursor:e});return{signals:n.signals,receiver:n.receiver,cursor:n.nextCursor}}async getSignal(e){let t=(await this.executor.batchGetActiveSignals({names:[e]})).items[e];return t?JSON.parse(new TextDecoder().decode(t.data)):void 0}async getSignalBinary(e){return(await this.executor.batchGetActiveSignals({names:[e]})).items[e]}async getSignals(...e){if(e.length===0)return{};let n=await this.executor.batchGetActiveSignals({names:e});if(Object.keys(n.items).length===0)return{};let t={};for(let[s,g]of Object.entries(n.items))t[s]=JSON.parse(new TextDecoder().decode(g.data));return t}async getSignalsBinary(...e){return e.length===0?{}:(await this.executor.batchGetActiveSignals({names:e})).items}async send(e,n){await this.executor.send({transmitter:e,signals:n?Object.fromEntries(Object.entries(n).map(([t,s])=>s?.data instanceof Uint8Array&&typeof s?.mimeType=="string"&&s.mimeType?[t,G(w,{data:s.data,mimeType:s.mimeType,filename:s.filename})]:[t,G(w,{data:new TextEncoder().encode(JSON.stringify(s)),mimeType:"application/json"})])):{}})}async dispatchExchange(e,n,t){let s={name:e,receiver:n,signals:t?Object.fromEntries(Object.entries(t).map(([h,p])=>p?.data instanceof Uint8Array&&typeof p?.mimeType=="string"&&p.mimeType?[h,G(w,{data:p.data,mimeType:p.mimeType,filename:p.filename})]:[h,G(w,{data:new TextEncoder().encode(JSON.stringify(p)),mimeType:"application/json"})])):{}};return(await this.executor.dispatchExchange(s,{headers:{"x-idempotency-key":crypto.randomUUID()}})).operation}async getExchange(e){let n=await this.executor.getExchangeOperation({id:e});if(!n.item)throw new y("Exchange operation not found",l.NotFound);return n.item}async cancelExchange(e){await this.executor.cancelExchangeOperation({id:e})}},cn=class extends ce{configurator;constructor(e,n){super(e,n),this.configurator=q(Fe,j({fetcher:e.configurator,interceptors:[$,t=>async s=>(s.header.set("Authorization",`Bearer ${n}`),await t(s))]}))}async getConfig(...e){let n=await this.configurator.getVertexConfig({fieldMask:e.length>0?G(_,{paths:e.map(ge)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];if(s.includes("metadata")&&(t.metadata=n.metadata?E(U,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config"))if(n.config&&n.config.length>0)try{t.config=JSON.parse(new TextDecoder().decode(n.config))}catch{t.config=void 0}else t.config=void 0;return t}async getConfigBinary(...e){let n=await this.configurator.getVertexConfig({fieldMask:e.length>0?G(_,{paths:e.map(ge)}):void 0}),t={},s=e.length>0?e:["config","metadata","configuredServices"];return s.includes("metadata")&&(t.metadata=n.metadata?E(U,n.metadata):void 0),s.includes("configuredServices")&&(t.configuredServices=n.configuredServices||{}),s.includes("config")&&(t.config=n.config),t}async postConfig(e){if(!e.config&&!e.metadata)throw new y("Either config or metadata must be provided",l.InvalidArgument);let n;e.config!==void 0&&(n=e.config instanceof Uint8Array?e.config:new TextEncoder().encode(JSON.stringify(e.config)));let t=await this.configurator.postVertexConfig({config:n,metadata:e.metadata?F(U,B(e.metadata)):void 0,overrideBindings:e?.overrideBindings});return E(U,t.metadata)}async listIncomingSignals(e,n,t){let s=await this.configurator.listIncomingSignals({receiver:e,formats:n?.map(g=>F(We,B(g)))??[],fieldMask:t?F(_,B(t)):void 0});return E(Ye,s)}getLocalStore(e){return new ee(this.configurator,e==="vertex"?"NAMESPACE_VERTEX":"NAMESPACE_PLUGIN")}};function ln(r){switch(r){case 400:return new y("Bad Request",l.InvalidArgument);case 401:return new y("Unauthorized",l.Unauthenticated);case 403:return new y("Forbidden",l.PermissionDenied);case 404:return new y("Not Found",l.NotFound);case 409:return new y("Conflict",l.AlreadyExists);case 429:return new y("Too Many Requests",l.ResourceExhausted);case 499:return new y("Client Closed Request",l.Canceled);case 500:return new y("Internal Server Error",l.Internal);case 501:return new y("Not Implemented",l.Unimplemented);case 503:return new y("Service Unavailable",l.Unavailable);case 504:return new y("Gateway Timeout",l.DeadlineExceeded);default:return new y(`Unknown HTTP error: ${r}`,l.Unknown)}}function Zi(r){switch(r.code){case l.Canceled:return 499;case l.Unknown:return 500;case l.InvalidArgument:return 400;case l.DeadlineExceeded:return 504;case l.NotFound:return 404;case l.AlreadyExists:return 409;case l.PermissionDenied:return 403;case l.ResourceExhausted:return 429;case l.FailedPrecondition:return 400;case l.Aborted:return 409;case l.OutOfRange:return 400;case l.Unimplemented:return 501;case l.Internal:return 500;case l.Unavailable:return 503;case l.DataLoss:return 500;case l.Unauthenticated:return 401;default:return 500}}export{uo as AckMessageRequestSchema,bo as AckMessageResponseSchema,ce as ApiBase,Ug as AuthorizeRequestSchema,wg as AuthorizeResponseSchema,Ro as AutomationService,Po as BatchGetActiveSignalsRequestSchema,Oo as BatchGetActiveSignalsResponseSchema,qg as BatchGetSystemTokensRequestSchema,$g as BatchGetSystemTokensResponseSchema,Dg as BatchGetSystemVariablesRequestSchema,Tg as BatchGetSystemVariablesResponseSchema,Og as BatchGetUserTokensRequestSchema,_g as BatchGetUserTokensResponseSchema,jg as BatchGetUserVariablesRequestSchema,Pg as BatchGetUserVariablesResponseSchema,Ie as BatchReadResult,Qo as CancelExchangeOperationRequestSchema,Lo as CancelExchangeOperationResponseSchema,l as Code,_s as ConditionalDeleteOpSchema,Be as ConditionalDeleteOp_PreconditionSchema,Os as ConditionalInsertOpSchema,ue as ConditionalInsertOp_PreconditionSchema,Ds as ConditionalWriteOperationSchema,cn as ConfiguratorApi,Fe as ConfiguratorService,pa as ConfiguratorServiceBatchReadStoreRequestSchema,ua as ConfiguratorServiceBatchReadStoreResponseSchema,la as ConfiguratorServiceBatchWriteStoreRequestSchema,da as ConfiguratorServiceBatchWriteStoreResponseSchema,ha as ConfiguratorServiceGetVertexConfigRequestSchema,Za as ConfiguratorServiceGetVertexConfigResponseSchema,ba as ConfiguratorServiceSelectStoreRequestSchema,Ga as ConfiguratorServiceSelectStoreResponseSchema,ma as ConfiguratorServiceWriteStoreRequestSchema,ra as ConfiguratorServiceWriteStoreResponseSchema,y as ConnectError,Ta as CreateChallengeRequestSchema,ja as CreateChallengeResponseSchema,uc as CronTriggerRequestSchema,bc as CronTriggerResponseSchema,Ps as DeleteOpSchema,wo as DispatchExchangeRequestSchema,Do as DispatchExchangeResponseSchema,Gt as EmulatedMediaType,xg as EmulatedMediaTypeSchema,ng as ExchangeOperationSchema,hc as ExchangeResultRequestSchema,Zc as ExchangeResultResponseSchema,Gc as ExchangeResultSchema,is as ExchangeSchema,Ae as ExecutorApi,be as ExecutorService,vo as ExecutorServiceBatchReadStoreRequestSchema,zo as ExecutorServiceBatchReadStoreResponseSchema,Mo as ExecutorServiceBatchWriteStoreRequestSchema,Eo as ExecutorServiceBatchWriteStoreResponseSchema,$o as ExecutorServiceGetVertexConfigRequestSchema,eg as ExecutorServiceGetVertexConfigResponseSchema,Ko as ExecutorServiceSelectStoreRequestSchema,No as ExecutorServiceSelectStoreResponseSchema,fo as ExecutorServiceWriteStoreRequestSchema,Ho as ExecutorServiceWriteStoreResponseSchema,Pe as FileForgeService,Sg as FocalPointSchema,Ag as FocalRegionSchema,ko as GetExchangeOperationRequestSchema,Uo as GetExchangeOperationResponseSchema,co as GetSessionRequestSchema,io as GetSessionResponseSchema,Lg as GetSystemServicesRequestSchema,kg as GetSystemServicesResponseSchema,ks as GetValueSchema,It as Gravity,fg as GravitySchema,lc as HostingDetailsSchema,Ge as HtmlRenderOptionsSchema,He as HtmlToPdfSchema,bg as ImageAdjustSchema,Gg as ImageBlurSchema,dg as ImageCropSchema,Bg as ImageDpiSchema,rg as ImageFlipSchema,yg as ImageFocalSchema,yt as ImageFormat,Hg as ImageFormatSchema,Zg as ImageHueSchema,Xg as ImageLabelSchema,Wg as ImageMaxFramesSchema,Ne as ImageOperationSchema,Le as ImageOutputSchema,pg as ImagePadSchema,Jg as ImagePageSchema,Rg as ImageProportionSchema,lg as ImageResizeSchema,Ig as ImageRgbSchema,mg as ImageRotateSchema,Vg as ImageRoundCornerSchema,hg as ImageSharpenSchema,ug as ImageTrimSchema,Cg as ImageWatermarkSchema,ia as IncomingVerticesSchema,_a as InheritSessionRequestSchema,qa as InheritSessionResponseSchema,js as InsertOpSchema,kt as JTDSchemaSchema,_o as ListActiveSignalsRequestSchema,qo as ListActiveSignalsResponseSchema,ca as ListIncomingSignalsRequestSchema,Ye as ListIncomingSignalsResponseSchema,Yg as ManipulatePdfRequestSchema,Fg as ManipulatePdfResponseSchema,ve as MarkdownToPdfSchema,Tn as Namespace,Ce as NamespaceSchema,Ke as OfficeRenderOptionsSchema,ze as OfficeToPdfSchema,lo as OutputSchema,ht as PdfAFormat,Mg as PdfAFormatSchema,De as PdfConvertSchema,we as PdfEncryptSchema,Te as PdfFlattenSchema,ke as PdfMergeSchema,ae as PdfOutputOptionsSchema,Ue as PdfSplitSchema,Oe as PluginService,Ia as PostVertexConfigRequestSchema,ya as PostVertexConfigResponseSchema,Ls as PutValueSchema,Ts as RangeDeleteOpSchema,$a as ReadOutputRequestSchema,eo as ReadOutputResponseSchema,no as ReadUrlsRequestSchema,to as ReadUrlsResponseSchema,Is as ReceiverSchema,Pa as RedeemChallengeRequestSchema,Oa as RedeemChallengeResponseSchema,gg as RenderDocumentRequestSchema,cg as RenderDocumentResponseSchema,Zt as ResizeType,Eg as ResizeTypeSchema,yo as RunInheritRequestSchema,Ao as RunInheritResponseSchema,So as RunInheritStartedSchema,ho as RunSessionRequestSchema,Zo as RunSessionResponseSchema,Io as RunSessionStartedSchema,ws as SelectOpSchema,To as SendRequestSchema,jo as SendResponseSchema,Ve as SessionExecutorApi,ro as SessionSchema,ps as SignalBindingSchema,En as SignalBinding_Error,us as SignalBinding_ErrorSchema,w as SignalDataSchema,qt as SignalDescriptorSchema,We as SignalFormatSchema,je as SplitMode,vg as SplitModeSchema,dc as StartExecutionRequestSchema,mc as StartExecutionResponseSchema,so as StartSessionRequestSchema,ao as StartSessionResponseSchema,dt as Status,Vo as StatusSchema,rc as StopExecutionRequestSchema,pc as StopExecutionResponseSchema,Se as StopExecutorApi,oo as StopSessionRequestSchema,go as StopSessionResponseSchema,ee as Store,po as StreamSessionRequestSchema,Go as StreamSessionResponseSchema,pe as TimestampRangeSchema,ec as TokenSchema,ss as TransceiverSchema,Qe as TransformImageRequestSchema,ig as TransformImageResponseSchema,Rs as TransmitterSchema,Nn as Transmitter_Mode,Xs as Transmitter_ModeSchema,mo as UrlSchema,Us as ValueMetadataSchema,U as VertexMetadataSchema,qn as VertexType,Aa as VertexTypeSchema,ye as WriteBatchBuilder,se as WriteOperationSchema,m as file_mochabugapis_adapt_automations_v1_automations,me as file_mochabugapis_adapt_graph_exchange,le as file_mochabugapis_adapt_graph_jtd_schema,re as file_mochabugapis_adapt_graph_receiver,te as file_mochabugapis_adapt_graph_signal_binding,f as file_mochabugapis_adapt_graph_signal_data,k as file_mochabugapis_adapt_graph_signal_descriptor,H as file_mochabugapis_adapt_graph_signal_format,de as file_mochabugapis_adapt_graph_transceiver,D as file_mochabugapis_adapt_graph_transmitter,O as file_mochabugapis_adapt_graph_vertex_metadata,S as file_mochabugapis_adapt_runtime_v1_configurator_service,b as file_mochabugapis_adapt_runtime_v1_executor_service,o as file_mochabugapis_adapt_runtime_v1_fileforge_service,M as file_mochabugapis_adapt_runtime_v1_incoming,X as file_mochabugapis_adapt_runtime_v1_plugin_service,I as file_mochabugapis_adapt_runtime_v1_store,Zi as mapConnectErrorToHttpStatus,ln as mapHttpError};
2
2
  //# sourceMappingURL=api.mjs.map