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c3VwcGxpZWQsIHRoZW4gZW5jb2RlIHRoaXMgZGF0YS4KICAgICAgICBpbmRlbnQgKGludCwgb3B0aW9uYWwpOiBOdW1iZXIgb2Ygc3BhY2VzIHRvIGluZGVudC4gRGVmYXVsdHMgdG8gMi4KICAgICAgICBoaWdobGlnaHQgKGJvb2wsIG9wdGlvbmFsKTogRW5hYmxlIGhpZ2hsaWdodGluZyBvZiBvdXRwdXQ6IERlZmF1bHRzIHRvIFRydWUuCiAgICAgICAgc2tpcF9rZXlzIChib29sLCBvcHRpb25hbCk6IFNraXAga2V5cyBub3Qgb2YgYSBiYXNpYyB0eXBlLiBEZWZhdWx0cyB0byBGYWxzZS4KICAgICAgICBlbnN1cmVfYXNjaWkgKGJvb2wsIG9wdGlvbmFsKTogRXNjYXBlIGFsbCBub24tYXNjaWkgY2hhcmFjdGVycy4gRGVmYXVsdHMgdG8gRmFsc2UuCiAgICAgICAgY2hlY2tfY2lyY3VsYXIgKGJvb2wsIG9wdGlvbmFsKTogQ2hlY2sgZm9yIGNpcmN1bGFyIHJlZmVyZW5jZXMuIERlZmF1bHRzIHRvIFRydWUuCiAgICAgICAgYWxsb3dfbmFuIChib29sLCBvcHRpb25hbCk6IEFsbG93IE5hTiBhbmQgSW5maW5pdHkgdmFsdWVzLiBEZWZhdWx0cyB0byBUcnVlLgogICAgICAgIGRlZmF1bHQgKENhbGxhYmxlLCBvcHRpb25hbCk6IEEgY2FsbGFibGUgdGhhdCBjb252ZXJ0cyB2YWx1ZXMgdGhhdCBjYW4gbm90IGJlIGVuY29kZWQKICAgICAgICAgICAgaW4gdG8gc29tZXRoaW5nIHRoYXQgY2FuIGJlIEpTT04gZW5jb2RlZC4gRGVmYXVsdHMgdG8gTm9uZS4KICAgICAgICBzb3J0X2tleXMgKGJvb2wsIG9wdGlvbmFsKTogU29ydCBkaWN0aW9uYXJ5IGtleXMuIERlZmF1bHRzIHRvIEZhbHNlLgogICAgciEAAABOKQJyCgAAANoKcHJpbnRfanNvbikKcisAAAByIgAAAHIjAAAAciQAAAByJQAAAHImAAAAcicAAAByKAAAAHIpAAAAcioAAAByFAAAAHIUAAAAchUAAAByLAAAAEwAAABzGAAAAAAdBgECAQIBAgECAQIBAgECAQIBAgEC9nIsAAAAKQpyEwAAANoFdGl0bGXaBGhlbHDaB21ldGhvZHPaBGRvY3PaB3ByaXZhdGXaBmR1bmRlctoEc29ydNoDYWxs2gV2YWx1ZSkM2gNvYmpyEwAAAHItAAAAci4AAAByLwAAAHIwAAAAcjEAAAByMgAAAHIzAAAAcjQAAAByNQAAAHISAAAAYwEAAAAAAAAACgAAAA8AAAAMAAAAQwAAAHNUAAAAfAFwCHQAgwB9C2QBZAJsAW0CfQwBAHwAdAN1AH0NfAx8AHwCfA1wKnwDfA1wMHwEfA1wNnwFfAZ8B3wIfAl8CmQDjQp9DnwLoAR8DqEBAQBkBFMAKQVhBAUAAEluc3BlY3QgYW55IFB5dGhvbiBvYmplY3QuCgogICAgKiBpbnNwZWN0KDxPQkpFQ1Q+KSB0byBzZWUgc3VtbWFyaXplZCBpbmZvLgogICAgKiBpbnNwZWN0KDxPQkpFQ1Q+LCBtZXRob2RzPVRydWUpIHRvIHNlZSBtZXRob2RzLgogICAgKiBpbnNwZWN0KDxPQkpFQ1Q+LCBoZWxwPVRydWUpIHRvIHNlZSBmdWxsIChub24tYWJicmV2aWF0ZWQpIGhlbHAuCiAgICAqIGluc3BlY3QoPE9CSkVDVD4sIHByaXZhdGU9VHJ1ZSkgdG8gc2VlIHByaXZhdGUgYXR0cmlidXRlcyAoc2luZ2xlIHVuZGVyc2NvcmUpLgogICAgKiBpbnNwZWN0KDxPQkpFQ1Q+LCBkdW5kZXI9VHJ1ZSkgdG8gc2VlIGF0dHJpYnV0ZXMgYmVnaW5uaW5nIHdpdGggZG91YmxlIHVuZGVyc2NvcmUuCiAgICAqIGluc3BlY3QoPE9CSkVDVD4sIGFsbD1UcnVlKSB0byBzZWUgYWxsIGF0dHJpYnV0ZXMuCgogICAgQXJnczoKICAgICAgICBvYmogKEFueSk6IEFuIG9iamVjdCB0byBpbnNwZWN0LgogICAgICAgIHRpdGxlIChzdHIsIG9wdGlvbmFsKTogVGl0bGUgdG8gZGlzcGxheSBvdmVyIGluc3BlY3QgcmVzdWx0LCBvciBOb25lIHVzZSB0eXBlLiBEZWZhdWx0cyB0byBOb25lLgogICAgICAgIGhlbHAgKGJvb2wsIG9wdGlvbmFsKTogU2hvdyBmdWxsIGhlbHAgdGV4dCByYXRoZXIgdGhhbiBqdXN0IGZpcnN0IHBhcmFncmFwaC4gRGVmYXVsdHMgdG8gRmFsc2UuCiAgICAgICAgbWV0aG9kcyAoYm9vbCwgb3B0aW9uYWwpOiBFbmFibGUgaW5zcGVjdGlvbiBvZiBjYWxsYWJsZXMuIERlZmF1bHRzIHRvIEZhbHNlLgogICAgICAgIGRvY3MgKGJvb2wsIG9wdGlvbmFsKTogQWxzbyByZW5kZXIgZG9jIHN0cmluZ3MuIERlZmF1bHRzIHRvIFRydWUuCiAgICAgICAgcHJpdmF0ZSAoYm9vbCwgb3B0aW9uYWwpOiBTaG93IHByaXZhdGUgYXR0cmlidXRlcyAoYmVnaW5uaW5nIHdpdGggdW5kZXJzY29yZSkuIERlZmF1bHRzIHRvIEZhbHNlLgogICAgICAgIGR1bmRlciAoYm9vbCwgb3B0aW9uYWwpOiBTaG93IGF0dHJpYnV0ZXMgc3RhcnRpbmcgd2l0aCBkb3VibGUgdW5kZXJzY29yZS4gRGVmYXVsdHMgdG8gRmFsc2UuCiAgICAgICAgc29ydCAoYm9vbCwgb3B0aW9uYWwpOiBTb3J0IGF0dHJpYnV0ZXMgYWxwaGFiZXRpY2FsbHkuIERlZmF1bHRzIHRvIFRydWUuCiAgICAgICAgYWxsIChib29sLCBvcHRpb25hbCk6IFNob3cgYWxsIGF0dHJpYnV0ZXMuIERlZmF1bHRzIHRvIEZhbHNlLgogICAgICAgIHZhbHVlIChib29sLCBvcHRpb25hbCk6IFByZXR0eSBwcmludCB2YWx1ZS4gRGVmYXVsdHMgdG8gVHJ1ZS4KICAgIHIBAAAAKQHaB0luc3BlY3QpCXItAAAAci4AAAByLwAAAHIwAAAAcjEAAAByMgAAAHIzAAAAcjQAAAByNQAAAE4pBXIKAAAAWhlwaXAuX3ZlbmRvci5yaWNoLl9pbnNwZWN0cjcAAAByDQAAAHIMAAAAKQ9yNgAAAHITAAAAci0AAAByLgAAAHIvAAAAcjAAAAByMQAAAHIyAAAAcjMAAAByNAAAAHI1AAAAchAAAAByNwAAAFoKaXNfaW5zcGVjdFoIX2luc3BlY3RyFAAAAHIUAAAAchUAAAByDQAAAHcAAABzIAAAAAAjCgEMAwgCAgECAQIBBgEGAQYBAgECAQIBAgEC9gYMcg0AAADaCF9fbWFpbl9fehBIZWxsbywgKipXb3JsZCoqKQFOKR7aB19fZG9jX1/aAm9z2gZ0eXBpbmdyAgAAAHIDAAAAcgQAAAByBQAAAHIGAAAAcgcAAABaCl9leHRlbnNpb25yCQAAANoHX19hbGxfX3ITAAAAcg8AAAByEAAAANoPX19hbm5vdGF0aW9uc19f2gRwYXRo2gdhYnNwYXRo2gZnZXRjd2RaC19JTVBPUlRfQ1dE2hFGaWxlTm90Rm91bmRFcnJvcnIKAAAAcgsAAADaA3N0ctoEYm9vbHIMAAAA2gNpbnRyLAAAAHINAAAA2ghfX25hbWVfX3IUAAAAchQAAAByFAAAAHIVAAAA2gg8bW9kdWxlPgEAAABzlgAAAAYCCAEgAgwCCAIEAQwDEAICARQBDAIKAw4QEg8CAQIBAgEC+wQBAgECAQIBCgECAQL6DBkA/wIDAgECAQIBAgECAQIBAgECAQL1BAEGAgIBDAECAQIBAgECAQIBEAECAQL0DC4CAQIBAgECAQIBAgECAQIBAgEC9AQBAgIGAQYBAgECAQIBAgECAQIBAgECAQLzDDgKAQ==