dXNpbmcgU3lzdGVtLlJlZmxlY3Rpb247CnVzaW5nIFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXM7CnVzaW5nIFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlczsKCi8vIEdlbmVyYWwgSW5mb3JtYXRpb24gYWJvdXQgYW4gYXNzZW1ibHkgaXMgY29udHJvbGxlZCB0aHJvdWdoIHRoZSBmb2xsb3dpbmcgCi8vIHNldCBvZiBhdHRyaWJ1dGVzLiBDaGFuZ2UgdGhlc2UgYXR0cmlidXRlIHZhbHVlcyB0byBtb2RpZnkgdGhlIGluZm9ybWF0aW9uCi8vIGFzc29jaWF0ZWQgd2l0aCBhbiBhc3NlbWJseS4KW2Fzc2VtYmx5OiBBc3NlbWJseVRpdGxlKCJFdGNoIildClthc3NlbWJseTogQXNzZW1ibHlEZXNjcmlwdGlvbigiRXRjaCBDIyBSdW50aW1lIERMTCIpXQpbYXNzZW1ibHk6IEFzc2VtYmx5Q29uZmlndXJhdGlvbigiIildClthc3NlbWJseTogQXNzZW1ibHlDb21wYW55KCJDaXNjbyBTeXN0ZW1zIildClthc3NlbWJseTogQXNzZW1ibHlQcm9kdWN0KCJFdGNoIildClthc3NlbWJseTogQXNzZW1ibHlDb3B5cmlnaHQoIkNvcHlyaWdodCCpIENpc2NvIFN5c3RlbXMgMjAwOCIpXQpbYXNzZW1ibHk6IEFzc2VtYmx5VHJhZGVtYXJrKCIiKV0KW2Fzc2VtYmx5OiBBc3NlbWJseUN1bHR1cmUoIiIpXQoKLy8gU2V0dGluZyBDb21WaXNpYmxlIHRvIGZhbHNlIG1ha2VzIHRoZSB0eXBlcyBpbiB0aGlzIGFzc2VtYmx5IG5vdCB2aXNpYmxlIAovLyB0byBDT00gY29tcG9uZW50cy4gIElmIHlvdSBuZWVkIHRvIGFjY2VzcyBhIHR5cGUgaW4gdGhpcyBhc3NlbWJseSBmcm9tIAovLyBDT00sIHNldCB0aGUgQ29tVmlzaWJsZSBhdHRyaWJ1dGUgdG8gdHJ1ZSBvbiB0aGF0IHR5cGUuClthc3NlbWJseTogQ29tVmlzaWJsZShmYWxzZSldCgovLyBUaGUgZm9sbG93aW5nIEdVSUQgaXMgZm9yIHRoZSBJRCBvZiB0aGUgdHlwZWxpYiBpZiB0aGlzIHByb2plY3QgaXMgZXhwb3NlZCB0byBDT00KW2Fzc2VtYmx5OiBHdWlkKCJkZmI2YzkwMy03NTFmLTQ0NzMtODQwMC1kNTBjMWYwOTY4ZjgiKV0KCi8vIFZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGFuIGFzc2VtYmx5IGNvbnNpc3RzIG9mIHRoZSBmb2xsb3dpbmcgZm91ciB2YWx1ZXM6Ci8vCi8vICAgICAgTWFqb3IgVmVyc2lvbgovLyAgICAgIE1pbm9yIFZlcnNpb24gCi8vICAgICAgQnVpbGQgTnVtYmVyCi8vICAgICAgUmV2aXNpb24KLy8KLy8gWW91IGNhbiBzcGVjaWZ5IGFsbCB0aGUgdmFsdWVzIG9yIHlvdSBjYW4gZGVmYXVsdCB0aGUgUmV2aXNpb24gYW5kIEJ1aWxkIE51bWJlcnMgCi8vIGJ5IHVzaW5nIHRoZSAnKicgYXMgc2hvd24gYmVsb3c6Clthc3NlbWJseTogQXNzZW1ibHlWZXJzaW9uKCIxLjAuMSIpXQpbYXNzZW1ibHk6IEFzc2VtYmx5RmlsZVZlcnNpb24oIjEuMC4xIildCg==