CkphbiAxOCwgMjAwOTogbGliYXJjaGl2ZSAyLjYuMSByZWxlYXNlZAoKRGVjIDI4LCAyMDA4OiBsaWJhcmNoaXZlIDIuNi4wIHJlbGVhc2VkCgpEZWMgMjUsIDIwMDg6IGxpYmFyY2hpdmUgMi41LjkwNWEgcmVsZWFzZWQKCkRlYyAxMCwgMjAwODogbGliYXJjaGl2ZSAyLjUuOTA0YSByZWxlYXNlZAoKRGVjIDA0LCAyMDA4OiBsaWJhcmNoaXZlIDIuNS45MDNhIHJlbGVhc2VkCk5vdiAwOSwgMjAwODogbGliYXJjaGl2ZSAyLjUuOTAyYSByZWxlYXNlZApOb3YgMDgsIDIwMDg6IGxpYmFyY2hpdmUgMi41LjkwMWEgcmVsZWFzZWQKTm92IDA4LCAyMDA4OiBTdGFydCBvZiBwcmUtcmVsZWFzZSB0ZXN0aW5nIGZvciBsaWJhcmNoaXZlIDIuNgoKTm92IDA3LCAyMDA4OiBSZWFkIGZpbHRlciByZWZhY3RvcjogVGhlIGRlY29tcHJlc3Npb24gcm91dGluZXMganVzdAoJY29uc3VtZSBhbmQgcHJvZHVjZSBhcmJpdHJhcmlseS1zaXplZCBibG9ja3MuICBUaGUgcmVibG9ja2luZwoJZnJvbSByZWFkX3N1cHBvcnRfY29tcHJlc3Npb25fbm9uZSgpIGhhcyBiZWVuIHB1bGxlZCBpbnRvIHRoZQoJcmVhZCBjb3JlLiAgQWxzbywgdGhlIGRlY29tcHJlc3Npb24gYmlkIG5vdyBtYWtlcyBtdWx0aXBsZQoJcGFzc2VzIGFuZCBzdGFja3MgcmVhZCBmaWx0ZXJzLgpPY3QgMjEsIDIwMDg6IGJzZGNwaW86IE5ldyBjb21tYW5kLWxpbmUgcGFyc2VyLgpPY3QgMTksIDIwMDg6IEludGVybmFsIHJlYWRfYWhlYWQgY2hhbmdlOiBzaG9ydCByZWFkcyBhcmUgbm93IGFuIGVycm9yCk9jdCAwNiwgMjAwODogYnNkdGFyOiBvcHRpb24gcGFyc2VyIG5vIGxvbmdlciB1c2VzIGdldG9wdF9sb25nKCksCglnaXZlcyBjb25zaXN0ZW50IG9wdGlvbiBwYXJzaW5nIG9uIGFsbCBwbGF0Zm9ybXMuClNlcCAxOSwgMjAwODogSmFha2tvIEhlaW5vbmVuOiBzaGFyIHV0aWxpdHkgYnVpbHQgb24gbGliYXJjaGl2ZQpTZXAgMTcsIDIwMDg6IFBlZHJvIEdpZmZ1bmk6IGJpcnRodGltZSBzdXBwb3J0ClNlcCAxNywgMjAwODogTWlrbG9zIFZham5hOiBsem1hIHJlYWRlciBhbmQgdGVzdC4gIE5vdGU6ICBJIHN0aWxsIGhhdmUKCXNvbWUgY29uY2VybnMgYWJvdXQgdGhlIGF1dG8tZGV0ZWN0aW9uIChMWk1BIGZpbGUgZm9ybWF0Cglkb2Vzbid0IHN1cHBvcnQgYXV0by1kZXRlY3Rpb24gd2VsbCksIHNvIHRoaXMgaXMgbm90IHlldAoJZW5hYmxlZCB1bmRlciBhcmNoaXZlX3JlYWRfc3VwcG9ydF9jb21wcmVzc2lvbl9hbGwoKS4gIEZvcgoJbm93LCB5b3UgbXVzdCBjYWxsIGFyY2hpdmVfcmVhZF9zdXBwb3J0X2NvbXByZXNzaW9uX2x6bWEoKSBpZgoJeW91IHdhbnQgTFpNQSByZWFkIHN1cHBvcnQuClNlcCAxMSwgMjAwODogSXZhaWxvIFBldHJvdjogTWFueSBmaXhlcyB0byBXaW5kb3dzIGJ1aWxkLCBuZXcgc29sdXRpb24gZmlsZXMKSnVsIDI2LCAyMDA4OiBhcmNoaXZlX2VudHJ5IG5vdyB0cmFja3Mgd2hpY2ggdmFsdWVzIGhhdmUgbm90IGJlZW4gc2V0LgoJVGhpcyBoZWxwcyB6aXAgZXh0cmFjdGlvbiAoZmlsZSBzaXplIGlzIG9mdGVuICJ1bmtub3duIikgYW5kCgl0aW1lIHJlc3RvcmVzICh0YXIgdXN1YWxseSBkb2Vzbid0IGtub3cgYXRpbWUpLgpKdWwgMjYsIDIwMDg6IEpvZXJnIFNvbm5lbmJlcmdlcjogUGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzIHRvIHNoYXIgd3JpdGVyCkp1bCAyNSwgMjAwODogSm9lcmcgU29ubmVuYmVyZ2VyOiBtdHJlZSB3cml0ZSBzdXBwb3J0CgpKdWwgMDIsIDIwMDg6IGxpYmFyY2hpdmUgMi41LjUgcmVsZWFzZWQKCkp1bCAwMiwgMjAwODogbGliYXJjaGl2ZSAyLjUuNWIgcmVsZWFzZWQKSnVsIDAxLCAyMDA4OiBic2RjcGlvIGlzIGJlaW5nIHVzZWQgYnkgZW5vdWdoIHBlb3BsZSwgd2UgY2FuIGNhbGwgaXQgMS4wLjAgbm93Ckp1biAyMCwgMjAwODogYnNkY3BpbzogSWYgYSAtbCBsaW5rIGZhaWxzIHdpdGggRVhERVYsIGNvcHkgdGhlIGZpbGUgaW5zdGVhZApKdW4gMTksIDIwMDg6IGJzZGNwaW86IGFkZGl0aW9uYWwgbG9uZyBvcHRpb25zIGZvciBiZXR0ZXIgR05VIGNwaW8gY29tcGF0Ckp1biAxNSwgMjAwODogTWFueSBzbWFsbCBwb3J0YWJpbGl0eSBhbmQgYnVnZml4ZXMgc2luY2UgMi41LjRiLgoKTWF5IDI1LCAyMDA4OiBsaWJhcmNoaXZlIDIuNS40YiByZWxlYXNlZApNYXkgMjEsIDIwMDg6IEpvZXJnIFNvbm5lbmJlcmdlcjogZml4IGJzZHRhciBoYXJkbGluayBoYW5kbGluZyBmb3IgbmV3YyBmb3JtYXQKCk1heSAyMSwgMjAwODogTW9yZSBwcm9ncmVzcyBvbiBXaW5kb3dzIGJ1aWxkaW5nLiAgVGhhbmtzIHRvICJTY290dCIKICAgICAgICBmb3IgdGhlIFdpbmRvd3MgbWFrZWZpbGVzLCB0aGFua3MgdG8gS2VlcyBaZWVsZW5iZXJnIGZvcgogICAgICAgIGNvZGUgY29udHJpYnV0aW9ucy4KCk1heSAyMSwgMjAwODogRml4IGEgbnVtYmVyIG9mIG5vbi1leHBsb2l0YWJsZSBpbnRlZ2VyIGFuZCBidWZmZXIgb3ZlcmZsb3dzLAogICAgICAgIHRoYW5rcyB0byBEYXZpZCBSZW1haGwgYXQgQXBwbGUgZm9yIHBvaW50aW5nIHRoZXNlIG91dC4KCk1heSAyMSwgMjAwODogQ29saW4gUGVyY2l2YWw6IFNJR0lORk8gb3IgU0lHVVNSMSB0byBic2R0YXIgcHJpbnRzIHByb2dyZXNzIGluZm8KCk1heSAxNiwgMjAwODogYnNkdGFyJ3MgdGVzdCBoYXJuZXNzIG5vIGxvbmdlciBkZXBlbmRzIG9uIGZpbGUgb3JkZXJpbmcuCiAgICAgICAgVGhpcyB3YXMgY2F1c2luZyBzcHVyaW91cyB0ZXN0IGZhaWx1cmVzIG9uIGEgbG90IG9mIHN5c3RlbXMuCiAgICAgICAgVGhhbmtzIHRvIEJlcm5oYXJkIFIuIExpbmsgZm9yIHRoZSBkaWFnbm9zaXMuCgpNYXkgMTQsIDIwMDg6IEpvZXJnIFNvbm5lbmJlcmdlcjogLXMgc3Vic3RpdHV0aW9uIHN1cHBvcnQgZm9yIGJzZHRhcgoKTWF5IDEzLCAyMDA4OiBKb2VyZyBTb25uZW5iZXJnZXI6IE1hbnkgbXRyZWUgaW1wcm92ZW1lbnRzCgpNYXkgMTEsIDIwMDg6IEpvZXJnIFNvbm5lbmJlcmdlcjogZml4IGhhcmRsaW5rIGV4dHJhY3Rpb24gd2hlbgoJaGFyZGxpbmtzIGhhdmUgZGlmZmVyZW50IHBlcm1pc3Npb25zIGZyb20gb3JpZ2luYWwgZmlsZQoKQXByaWwgMzAsIDIwMDg6IFByaW1hcnkgbGliYXJjaGl2ZSB3b3JrIGhhcyBiZWVuIG1vdmVkIGludG8gdGhlIEZyZWVCU0QKCXByb2plY3QncyBQZXJmb3JjZSByZXBvc2l0b3J5OiAJaHR0cDovL3BlcmZvcmNlLmZyZWVic2Qub3JnLwoJVGhlIGxpYmFyY2hpdmUgcHJvamVjdCBjYW4gYmUgYnJvd3NlZCBhdAogICAgICAgIC8vZGVwb3QvdXNlci9raWVudHpsZS9saWJhcmNoaXZlLXBvcnRhYmxlCiAgICAgICAgRGlyZWN0IGxpbms6IGh0dHA6Ly9wcmV2aWV3LnRpbnl1cmwuY29tLzQ2bWRncgoKTWF5IDA0LCAyMDA4OiBsaWJhcmNoaXZlIDIuNS4zYiByZWxlYXNlZAoJKiBsaWJhcmNoaXZlOiBTZXZlcmFsIGZpeGVzIHRvIGxpbmsgcmVzb2x2ZXIgdG8gYWRkcmVzcyBic2RjcGlvIGNyYXNoZXMKCSogYnNkY3BpbzogLXAgaGFyZGxpbmsgaGFuZGxpbmcgZml4ZXMKCSogdGFyL3BheDogRW5zdXJlIHVzdGFyIGRpcm5hbWVzIGVuZCBpbiAnLyc7IGJlIG1vcmUgY2FyZWZ1bCBhYm91dAoJICBtZWFzdXJpbmcgZmlsZW5hbWVzIHdoZW4gZGVjaWRpbmcgd2hhdCBwYXRobmFtZSBmaWVsZHMgdG8gdXNlCgkqIGxpYmFyY2hpdmU6IE1hcmsgd2hpY2ggZW50cnkgc3RyaW5ncyBhcmUgc2V0OyBiZSBhY2N1cmF0ZSBhYm91dAoJICBkaXN0aW5ndWlzaGluZyBlbXB0eSBzdHJpbmdzICgiIikgZnJvbSB1bnNldCBvbmVzIChOVUxMKQoJKiB0YXI6IERvbid0IGNyYXNoIHJlYWRpbmcgZW50cmllcyB3aXRoIGVtcHR5IGZpbGVuYW1lcwoJKiBsaWJhcmNoaXZlX3Rlc3QsIGJzZHRhcl90ZXN0LCBic2RjcGlvX3Rlc3Q6ICBCZXR0ZXIgZGV0YXVsdHM6CgkgIHJ1biBhbGwgdGVzdHMsIGRlbGV0ZSB0ZW1wIGRpcnMsIHN1bW1hcml6ZSByZXBlYXRlZCBmYWlsdXJlcwoJKiAtbm8tdW5kZWZpbmVkIHRvIGxpYnRvb2wgZm9yIEN5Z3dpbgoJKiBsaWJhcmNoaXZlX3Rlc3Q6IFNraXAgbGFyZ2UgZmlsZSB0ZXN0cyBvbiBzeXN0ZW1zIHdpdGggMzItYml0IG9mZl90CgkqIGlzbzk2NjA6IERvbid0IGJvdGhlciB0cnlpbmcgdG8gZmluZCB0aGUgYm9keSBvZiBhbiBlbXB0eSBmaWxlOwoJICB0aGlzIHdvcmtzIGFyb3VuZCBzdHJhbmdlIGJlaGF2aW9yIGZyb20gc29tZSBJU085NjYwIHdyaXRlcnMKCSogdGFyOiBhbGxvdyAtciAtVCB0byBiZSB1c2VkIHRvZ2V0aGVyCgkqIHRhcjogYWxsb3cgLS1mb3JtYXQgd2l0aCAtciBvciAtdQoJKiBsaWJhcmNoaXZlOiBEb24ndCBidWlsZCBhcmNoaXZlLmgKCk1heSAwNCwgMjAwODogU2ltcGxpZmllZCBidWlsZGluZzogYXJjaGl2ZS5oIGlzIG5vIGxvbmdlciBjb25zdHJ1Y3RlZAoJVGhpcyBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsICNpZiBjb25kaXRpb25hbHMgb24gc29tZSBwbGF0Zm9ybXMuCgpNYXIgMzAsIDIwMDg6IGxpYmFyY2hpdmUgMi41LjFiIHJlbGVhc2VkCgpNYXIgMTUsIDIwMDg6IGxpYmFyY2hpdmUgMi41LjBiIHJlbGVhc2VkCk1hciAxNSwgMjAwODogYnNkY3BpbyBub3cgc2VlbXMgdG8gY29ycmVjdGx5IHdyaXRlIGhhcmRsaW5rcyBpbnRvIG5ld2MsCgl1c3RhciwgYW5kIG9sZCBjcGlvIGFyY2hpdmVzLiAgSnVzdCBhIGxpdHRsZSBtb3JlIHRlc3RpbmcgYmVmb3JlCglic2RjcGlvIDEuMCBiZWNvbWVzIGEgcmVhbGl0eS4KTWFyIDE1LCAyMDA4OiBJIHRoaW5rIHRoZSBuZXcgbGlua2lmeSgpIGludGVyZmFjZSBpcyBmaW5hbGx5IGhhbmRsaW5nCglhbGwga25vd24gaGFyZGxpbmsgc3RyYXRlZ2llcy4KTWFyIDE1LCAyMDA4OiBNdHJlZSByZWFkIGZpeGVzIGZyb20gSm9lcmcgU29ubmVuYmVyZ2VyLgpNYXIgMTUsIDIwMDg6IE1hbnkgbmV3IGJzZHRhciBhbmQgYnNkY3BpbyBvcHRpb25zIGZyb20gSm9lcmcgU29ubmVuYmVyZ2VyLgpNYXIgMTUsIDIwMDg6IHRlc3QgaGFybmVzc2VzIG5vIGxvbmdlciByZXF1aXJlIHV1ZGVjb2RlOyB0aGV5Cglub3cgaGF2ZSBidWlsdC1pbiBkZWNvZGluZyBsb2dpYyB0aGF0IGRlY29kZXMgdGhlIHJlZmVyZW5jZQoJZmlsZXMgYXMgdGhleSBhcmUgbmVlZGVkLgoKTWFyIDE0LCAyMDA4OiBsaWJhcmNoaXZlIDIuNC4xNCByZWxlYXNlZDsgaWRlbnRpY2FsIHRvIDIuNC4xMyBleGNlcHQgZm9yCglhIHBvaW50IGZpeCBmb3IgZ25hbWUvdW5hbWUgbWl4dXAgaW4gcGF4IGZvcm1hdCB0aGF0IHdhcyBpbnRyb2R1Y2VkCgl3aXRoIHRoZSBVVEYtOCBmaXhlcy4KCkZlYiAyNiwgMjAwODogbGliYXJjaGl2ZSAyLjQuMTMgcmVsZWFzZWQKRmViIDI1LCAyMDA4OiBIYW5kbGUgcGF0aCwgbGlua25hbWUsIGduYW1lLCBvciB1bmFtZSB0aGF0IGNhbid0IGJlIGNvbnZlcnRlZAoJdG8vZnJvbSBVVEYtOC4gIEltcGxlbWVudCAiaGRyY2hhcnNldCIgYXR0cmlidXRlIGZyb20gU1VTLTIwMDguCkZlYiAyNSwgMjAwODogRml4IG5hbWUgY2xhc2ggb24gTmV0QlNELgpGZWIgMTgsIDIwMDg6IEZpeCB3cml0aW5nIGVtcHR5ICdhcicgYXJjaGl2ZXMsIHBlciBLYWkgV2FuZwpGZWIgMTgsIDIwMDg6IFtic2R0YXJdIFBlcm1pdCBhcHBlbmRpbmcgb24gYmxvY2sgZGV2aWNlcy4KRmViIDA5LCAyMDA4OiBOZXcgImxpbmtpZnkiIHJlc29sdmVyIHRvIGhlbHAgd2l0aCBuZXdjIGhhcmRsaW5rIHdyaXRpbmc7Cglic2RjcGlvIHN0aWxsIG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0byB1c2UgdGhpcy4KRmViIDAyLCAyMDA4OiBXaW5kb3dzIGNvbXBhdGliaWxpdHkgZml4ZXMgZnJvbSBJdmFpbG8gUGV0cm92LCBLZWVzIFplZWxlbmJlcmcKSmFuIDMwLCAyMDA4OiBJZ25vcmUgaGFyZGxpbmsgc2l6ZSBmb3Igbm9uLVBPU0lYIHRhciBhcmNoaXZlcy4KCkphbiAyMiwgMjAwODogbGliYXJjaGl2ZSAyLjQuMTIgcmVsZWFzZWQKSmFuIDIyLCAyMDA4OiBGaXggYmFkIHBhZGRpbmcgd2hlbiB3cml0aW5nIHN5bWxpbmtzIHRvIG5ld2MgY3BpbyBhcmNoaXZlcy4KSmFuIDIyLCAyMDA4OiBWZXJpZnkgYnNkY3Bpb190ZXN0IGJ5IGdldHRpbmcgaXQgdG8gd29yayBhZ2FpbnN0IEdOVSBjcGlvIDIuOS4KCWJzZGNwaW9fdGVzdCBjb21wbGFpbnMgYWJvdXQgbWlzc2luZyBvcHRpb25zICgteSBhbmQgLXopLCBmb3JtYXQKCW9mIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMgKC0tdmVyc2lvbiwgLS1oZWxwKSwgYW5kIGEgbWlub3IgZm9ybWF0dGluZwoJaXNzdWUgaW4gb2RjIGZvcm1hdCBvdXRwdXQuICBBZnRlciB0aGlzIHVwZGF0ZSwgYnNkY3Bpb190ZXN0IHVuY292ZXJlZAoJc2V2ZXJhbCBtb3JlIGNvc21ldGljIGlzc3VlcyBpbiBic2RjcGlvLCBhbGwgbm93IGZpeGVkLgpKYW4gMjIsIDIwMDg6IEV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciBzZWxmLWV4dHJhY3RpbmcgWmlwIGFyY2hpdmVzLgpKYW4gMjIsIDIwMDg6IEV4dGVuZCBoYXJkbGluayByZXN0b3JlIHN0cmF0ZWd5IHRvIHdvcmsgY29ycmVjdGx5IHdpdGgKCWhhcmRsaW5rcyBleHRyYWN0ZWQgZnJvbSBuZXdjIGNwaW8gZmlsZXMuICAoV2hpY2ggc3RvcmUgdGhlIGJvZHkKCW9ubHkgd2l0aCB0aGUgbGFzdCBvY2N1cnJlbmNlIG9mIGEgbGluay4pCgpEZWMgMzAsIDIwMDc6IGxpYmFyY2hpdmUgMi40LjExIHJlbGVhc2VkCkRlYyAzMCwgMjAwNzogRml4ZWQgYSBjb21waWxlIGVycm9yIGluIGJzZGNwaW8gb24gc29tZSBzeXN0ZW1zLgoKRGVjIDI5LCAyMDA3OiBsaWJhcmNoaXZlIDIuNC4xMCByZWxlYXNlZApEZWMgMjksIDIwMDc6IGJzZGNwaW8gMC45LjAgaXMgcmVhZHkgZm9yIHdpZGVyIHVzZS4KRGVjIDI5LCAyMDA3OiBDb21wbGV0ZWQgaW5pdGlhbCB0ZXN0IGhhcm5lc3MgZm9yIGJzZGNwaW8uCgpEZWMgMjIsIDIwMDc6IGxpYmFyY2hpdmUgMi40LjkgcmVsZWFzZWQKRGVjIDIyLCAyMDA3OiBJbXBsZW1lbnQgdGhlIHJlbWFpbmluZyBvcHRpb25zIGZvciBic2RjcGlvOiAgLWEsIC1xLCAtTCwgLWYsCglwYXR0ZXJuIHNlbGVjdGlvbiBmb3IgLWkgYW5kIC1pdC4KCkRlYyAxMywgMjAwNzogbGliYXJjaGl2ZSAyLjQuOCByZWxlYXNlZApEZWMgMTMsIDIwMDc6IGd6aXAgYW5kIGJ6aXAyIGNvbXByZXNzaW9uIG5vdyBoYW5kbGUgemVyby1ieXRlIHdyaXRlcyBjb3JyZWN0bHksCglUaGFua3MgdG8gRGFtaWVuIEdvbGRpbmcgZm9yIGJyaW5naW5nIHRoaXMgdG8gbXkgYXR0ZW50aW9uLgoKRGVjIDEyLCAyMDA3OiBsaWJhcmNoaXZlIDIuNC43IHJlbGVhc2VkCgpEZWMgMTAsIDIwMDc6IGxpYmFyY2hpdmUgMi40LjYgcmVsZWFzZWQKRGVjIDA5LCAyMDA3OiB0YXIvdGVzdC90ZXN0X2NvcHkuYyB2ZXJpZmllcyAidGFyIC1jIHwgdGFyIC14IiBjb3B5IHBpcGVsaW5lCkRlYyAwNywgMjAwNzogRml4IGEgY291cGxlIG9mIG1pbm9yIG1lbW9yeSBsZWFrcy4KCkRlYyAwNCwgMjAwNzogbGliYXJjaGl2ZSAyLjQuNSByZWxlYXNlZApEZWMgMDQsIDIwMDc6IEZpeCBjcGlvL3Rlc3QvdGVzdF93cml0ZV9vZGMgYnkgc2V0dGluZyB0aGUgdW1hc2sgZmlyc3QuCgpEZWMgMDMsIDIwMDc6IGxpYmFyY2hpdmUgMi40LjQgcmVsZWFzZWQKRGVjIDAzLCAyMDA3OiBOZXcgY29uZmlndXJlIG9wdGlvbnMgLS1kaXNhYmxlLXhhdHRyIGFuZCAtLWRpc2FibGUtYWNsLAoJdGhhbmtzIHRvIFNhbXVsaSBTdW9taW5lbi4KCkRlYyAwMywgMjAwNzogbGliYXJjaGl2ZSAyLjQuMyByZWxlYXNlZApEZWMgMDMsIDIwMDc6IFRoYW5rcyB0byBMYXBvIEx1Y2hpbmkgZm9yIHNlbmRpbmcgbWUgYSBaSVAgZmlsZSB0aGF0CglsaWJhcmNoaXZlIGNvdWxkbid0IGhhbmRsZS4gIEZpeGVkIGEgYnVnIGluIGhhbmRsaW5nIG9mCgkibGVuZ3RoIGF0IGVuZCIgZmxhZ3MgaW4gWklQIGZpbGVzLgpEZWMgMDMsIDIwMDc6IEZpeGVkIGJzZGNwaW8gLWhlbHAsIGJzZHRhciAtaGVscCB0ZXN0cy4KRGVjIDAyLCAyMDA3OiBGaXJzdCBjdXQgYXQgcmVhbCBic2R0YXIgdGVzdCBoYXJuZXNzLgoKRGVjIDAyLCAyMDA3OiBsaWJhcmNoaXZlIDIuNC4yIHJlbGVhc2VkCgpEZWMgMDIsIDIwMDc6IGxpYmFyY2hpdmUgMi40LjEgcmVsZWFzZWQKRGVjIDAyLCAyMDA3OiBNaW5vciBmaXhlcywgcm91Z2ggY3V0IG9mIG1kb2MtdG8tbWFuIGNvbnZlcnNpb24gZm9yCgltYW4gcGFnZXMuCgpPY3QgMzAsIDIwMDc6IGxpYmFyY2hpdmUgMi40LjAgcmVsZWFzZWQKT2N0IDMwLCAyMDA3OiBNaW5vciBjb21waWxlIGZpeCB0aGFua3MgdG8gSm9lcmcgU2NoaWxsaW5nLgpPY3QgMzAsIDIwMDc6IE9ubHkgcnVuIHRoZSBmb3JtYXQgYXVjdGlvbiBvbmNlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlCglhcmNoaXZlLiAgVGhpcyBpcyBzaW1wbGVyIGFuZCBzdXBwb3J0cyBiZXR0ZXIgZXJyb3IgcmVjb3ZlcnkuCk9jdCAyOSwgMjAwNzogVGVzdCBzdXBwb3J0IGZvciB2ZXJ5IGxhcmdlIGVudHJpZXMgaW4gdGFyIGFyY2hpdmVzOgoJbGliYXJjaGl2ZV90ZXN0IG5vdyBleGVyY2lzZXMgZW50cmllcyBmcm9tIDJHQiB1cCB0byAxVEIuCgpPY3QgMjcsIDIwMDc6IGxpYmFyY2hpdmUgMi4zLjUgcmVsZWFzZWQKT2N0IDI3LCAyMDA3OiBDb3JyZWN0IHNvbWUgdW5uZWNlc3NhcnkgaW50ZXJuYWwgZGF0YSBjb3B5aW5nIGluIHRoZQoJImNvbXByZXNzaW9uIG5vbmUiIHJlYWRlciBhbmQgd3JpdGVyOyB0aGlzIHJlZHVjZXMgdXNlciB0aW1lCglieSB1cCB0byAyLzMgaW4gc29tZSB0ZXN0cy4gIChUaGFua3MgdG8gSmFuIFBzb3RhIGZvcgoJcHVibGlzaGluZyBoaXMgcGVyZm9ybWFuY2UgdGVzdCByZXN1bHRzIHRvIEdOVSB0YXIncyBidWctdGFyCgltYWlsaW5nIGxpc3Q7IHRob3NlIHJlc3VsdHMgcG9pbnRlZCBtZSB0b3dhcmRzIHRoaXMgcHJvYmxlbS4pCk9jdCAyNywgMjAwNzogRml4IGZvciBza2lwcGluZyBhcmNoaXZlIGVudHJpZXMgdGhhdCBhcmUgZXhhY3RseQoJYSBtdWx0aXBsZSBvZiA0RyBvbiAzMi1iaXQgcGxhdGZvcm1zLgpPY3QgMjUsIDIwMDc6IEZpeCBmb3IgcmVhZGluZyB2ZXJ5IGxhcmdlICg+OEcpIHRhciBhcmNoaXZlczsgdGhpcyB3YXMKCWJyb2tlbiB3aGVuIEkgcHV0IGluIHN1cHBvcnQgZm9yIG5ldyBHTlUgdGFyIHNwYXJzZSBmb3JtYXRzLgpPY3QgMjAsIDIwMDc6IEluaXRpYWwgd29yayBvbiBuZXcgcGF0dGVybi1tYXRjaGluZyBjb2RlIGZvciBjcGlvOyBJCglob3BlIHRoaXMgZXZlbnR1YWxseSByZXBsYWNlcyB0aGUgY29kZSBjdXJyZW50bHkgaW4gYnNkdGFyLgoKT2N0IDA4LCAyMDA3OiBsaWJhcmNoaXZlIDIuMy40IHJlbGVhc2VkCk9jdCAwNSwgMjAwNzogQ29udGludWluZyB3b3JrIG9uIGJzZGNwaW8gdGVzdCBzdWl0ZS4KT2N0IDA1LCAyMDA3OiBOZXcgY3Bpby41IG1hbnBhZ2UsIHVwZGF0ZXMgdG8gIkhpc3RvcnkiIG9mIGJzZGNwaW8uMSBhbmQKCWJzZHRhci4xIG1hbnBhZ2VzLgpPY3QgMDUsIDIwMDc6IEZpeCB6aXAgcmVhZGVyIHRvIGltbWVkaWF0ZWx5IHJldHVybiBFT0YgaWYgeW91IHRyeQoJdG8gcmVhZCBib2R5IG9mIG5vbi1yZWd1bGFyIGZpbGUuICBJbiBwYXJ0aWN1bGFyLCB0aGlzIGZpeGVzCglic2R0YXIgZXh0cmFjdGlvbiBvZiB6aXAgYXJjaGl2ZXMuCgpTZXAgMzAsIDIwMDc6IGxpYmFyY2hpdmUgMi4zLjMgcmVsZWFzZWQKU2VwIDI2LCAyMDA3OiBSZXdvcmsgTWFrZWZpbGUuYW0gc28gdGhhdCB0aGUgZW5hYmxlL2Rpc2FibGUgb3B0aW9ucwoJYWN0dWFsbHkgZG8gdGhlIHJpZ2h0IHRoaW5ncy4KU2VwIDI2LCAyMDA3OiBjcGlvLW9kYyBhbmQgY3Bpby1uZXdjIGFyY2hpdmVzIG5vIGxvbmdlciB3cml0ZSBib2RpZXMKCWZvciBub24tcmVndWxhciBmaWxlcy4KU2VwIDI2LCAyMDA3OiBUZXN0IGhhcm5lc3MgZm9yIGJzZGNwaW8gaXMgaW4gcGxhY2UsIG5lZWRzIG1vcmUgdGVzdHMgd3JpdHRlbi4KCVRoaXMgaXMgbXVjaCBuaWNlciB0aGFuIHRoZSByYWd0YWcgY29sbGVjdGlvbiBvZiB0ZXN0IHNjcmlwdHMKCXRoYXQgYnNkdGFyIGhhcy4KClNlcCAyMCwgMjAwNzogbGliYXJjaGl2ZSAyLjMuMiByZWxlYXNlZApTZXAgMjAsIDIwMDc6IGxpYmFyY2hpdmUgMi4zLjEgYnJva2UgYnNkdGFyIGJlY2F1c2UgdGhlIGFyY2hpdmVfd3JpdGVfZGF0YSgpCglmaXggd2FzIGltcGxlbWVudGVkIGluY29ycmVjdGx5LgoKU2VwIDE2LCAyMDA3OiBsaWJhcmNoaXZlIDIuMy4xIHJlbGVhc2VkClNlcCAxNiwgMjAwNzogTWFueSBmaXhlcyB0byBic2RjcGlvIDAuMzogIGhhbmRsZSBoYXJkbGlua3Mgd2l0aCAtcCwgcmVjb2duaXplCglibG9jayBzaXplIG9uIHdyaXRpbmcsIGZpeCBhIGNvdXBsZSBvZiBzZWdmYXVsdHMuClNlcCAxNiwgMjAwNzogRml4ZWQgcmV0dXJuIHZhbHVlIGZyb20gYXJjaGl2ZV93cml0ZV9kYXRhKCkgd2hlbiB1c2VkCgl3aXRoIGFyY2hpdmVfd3JpdGVfZGlzaygpIHRvIG1hdGNoIHRoZSBkb2N1bWVudGF0aW9uIGFuZCBvdGhlcgoJaW5zdGFuY2VzIG9mIHRoaXMgc2FtZSBmdW5jdGlvbi4KU2VwIDE1LCAyMDA3OiBBZGQgYXJjaGl2ZV9lbnRyeV9saW5rX3Jlc29sdmVyLCBhcmNoaXZlX2VudHJ5X3N0cm1vZGUKClNlcCAxMSwgMjAwNzogbGliYXJjaGl2ZSAyLjIuOCByZWxlYXNlZApTZXAgMDksIDIwMDc6IGJzZGNwaW8gMC4yIHN1cHBvcnRzIG1vc3QgKG5vdCB5ZXQgYWxsKSBvZiB0aGUgb2xkIFBPU0lYIHNwZWMuCgpTZXAgMDEsIDIwMDc6IGxpYmFyY2hpdmUgMi4yLjcgcmVsZWFzZWQKQXVnIDMxLCAyMDA3OiBTdXBwb3J0IGZvciByZWFkaW5nIG10cmVlIGZpbGVzLCBpbmNsdWRpbmcgYW4gbXRyZWUuNSBtYW5wYWdlCgkoQSBsaXR0bGUgZXhwZXJpbWVudGFsIHN0aWxsLikKQXVnIDE4LCAyMDA3OiBSZWFkIGd0YXIgMS4xNyAtLXBvc2l4IC0tc3BhcnNlIGVudHJpZXMuCkF1ZyAxMywgMjAwNzogUmVmaW5lZCBzdWlkL3NnaWQgcmVzdG9yZSBoYW5kbGluZzsgaXQgaXMgbm8gbG9uZ2VyCglhbiBlcnJvciBpZiBzdWlkL3NnaWQgYml0cyBhcmUgZHJvcHBlZCB3aGVuIHlvdSByZXF1ZXN0CglwZXJtIHJlc3RvcmUgYnV0IGRvbid0IHJlcXVlc3Qgb3duZXIgcmVzdG9yZS4KQXVnIDA2LCAyMDA3OiBVc2UgLS1lbmFibGUtYnNkY3BpbyBpZiB5b3Ugd2FudCB0byB0cnkgYnNkY3BpbwoKQXVnIDA1LCAyMDA3OiBsaWJhcmNoaXZlIDIuMi42IHJlbGVhc2VkCkF1ZyAwNSwgMjAwNzogTmV3IGNvbmZpZ3VyZSBvcHRpb24gLS1kaXNhYmxlLWJzZHRhciwgdGhhbmtzIHRvIEpvZXJnCglTb25uZW5iZXJnZXIuCkF1ZyAwNSwgMjAwNzogU2V2ZXJhbCBidWcgZml4ZXMgZnJvbSBGcmVlQlNEIENWUyByZXBvLgoKSnVsIDEzLCAyMDA3OiBsaWJhcmNoaXZlIDIuMi41IHJlbGVhc2VkCgpKdWwgMTIsIDIwMDc6IGxpYmFyY2hpdmUgMi4yLjQgcmVsZWFzZWQKSnVsIDEyLCAyMDA3OiBUaGFua3MgdG8gQ29saW4gUGVyY2l2YWwncyBoZWxwIGluIGRpYWdub3NpbmcgYW5kCglmaXhpbmcgc2V2ZXJhbCBjcml0aWNhbCBzZWN1cml0eSBidWdzLiAgRGV0YWlscyBhdmFpbGFibGUgYXQKCWh0dHA6Ly9zZWN1cml0eS5mcmVlYnNkLm9yZy9hZHZpc29yaWVzL0ZyZWVCU0QtU0EtMDc6MDUubGliYXJjaGl2ZS5hc2MKCk1heSAyNiwgMjAwNzogbGliYXJjaGl2ZSAyLjIuMyByZWxlYXNlZApNYXkgMjYsIDIwMDc6IEZpeCBtZW1vcnkgbGVha3MgaW4gWklQIHJlYWRlciBhbmQgc2hhciB3cml0ZXIsIGFkZCBzb21lCgltaXNzaW5nIHN5c3RlbSBoZWFkZXJzIHRvIGFyY2hpdmVfZW50cnkuaCwgZGVhZCBjb2RlIGNsZWFudXAKCWZyb20gQ29saW4gUGVyY2l2YWwsIG1vcmUgdGVzdHMgZm9yIGd6aXAvYnppcDIsIGZpeCBhbgoJRU9GIGFub21hbHkgaW4gYnppcDIgZGVjb21wcmVzc2lvbi4KCk1heSAxMiwgMjAwNzogbGliYXJjaGl2ZSAyLjIuMiByZWxlYXNlZApNYXkgMTIsIDIwMDc6IEZpeCBhcmNoaXZlX3dyaXRlX2Rpc2sgcGVybWlzc2lvbiByZXN0b3JlIGJ5IGNsb25pbmcKCWVudHJ5IHBhc3NlZCBpbnRvIHdyaXRlX2hlYWRlciBzbyB0aGF0IHBlcm1pc3Npb24gaW5mbyBpcwoJc3RpbGwgYXZhaWxhYmxlIGF0IGZpbmlzaF9lbnRyeSB0aW1lLiAgKGFyY2hpdmVfcmVhZF9leHRyYWN0KCkKCXdvcmtlZCBva2F5IGJlY2F1c2UgaXQgaGVsZCBvbnRvIHRoZSBwYXNzZWQtaW4gZW50cnksIGJ1dAoJZGlyZWN0IGNvbnN1bWVycyBvZiBhcmNoaXZlX3dyaXRlX2Rpc2sgd291bGQgYnJlYWspLiAgVGhpcwoJcmVxdWlyZWQgZml4aW5nIGFyY2hpdmVfZW50cnlfY2xvbmUoKSwgd2hpY2ggbm93IHdvcmtzIGFuZCBoYXMKCWEgcmVhc29uYWJseSBjb21wbGV0ZSB0ZXN0IGNhc2UuCk1heSAxMCwgMjAwNzogU2tlbGV0YWwgY3BpbyBpbXBsZW1lbnRhdGlvbi4KCk1heSAwNiwgMjAwNzogbGliYXJjaGl2ZSAyLjIuMSByZWxlYXNlZApNYXkgMDYsIDIwMDc6IEZsZXNoIG91dCBhIGxvdCBtb3JlIG9mIHRlc3RfZW50cnkuYyBzbyBhcyB0byBjYXRjaAoJcHJvYmxlbXMgc3VjaCBhcyB0aGUgZGV2aWNlIG5vZGUgYnJlYWthZ2UgYmVmb3JlIHJlbGVhc2luZyA8c2lnaD4uCk1heSAwNSwgMjAwNzogRml4IGEgYmFkIGJ1ZyBpbnRyb2R1Y2VkIGluIDIuMS45IHRoYXQgYnJva2UgZGV2aWNlCglub2RlIGVudHJpZXMgaW4gdGFyIGFyY2hpdmVzLgpNYXkgMDMsIDIwMDc6IE1vdmUgJ3N0cnVjdCBzdGF0JyBvdXQgb2YgYXJjaGl2ZV9lbnRyeSBjb3JlIGFzIHdlbGwuCglUaGlzIHJlbW92ZXMgc29tZSBwb3J0YWJpbGl0eSBoZWFkYWNoZXMgYW5kIGZpeGVzIGEgYnVuY2gKCW9mIGNvcm5lciBjYXNlcyB0aGF0IGFyaXNlIHdoZW4gbWFuaXB1bGF0aW5nIGFyY2hpdmVzIG9uCglkaXNzaW1pbGFyIHN5c3RlbXMuCgpBcHIgMzAsIDIwMDc6IGxpYmFyY2hpdmUgMi4xLjEwIHJlbGVhc2VkCkFwciAzMSwgMjAwNzogTWlub3IgY29kZSBjbGVhbnVwLgoKQXByIDI0LCAyMDA3OiBsaWJhcmNoaXZlIDIuMS45IHJlbGVhc2VkCkFwciAyNCwgMjAwNzogRml4IHNvbWUgcmVjZW50bHktaW50cm9kdWNlZCBwcm9ibGVtcyB3aXRoIGxpYnJhcmllcwoJKEp1c3QgbGV0IGF1dG9tYWtlIGhhbmRsZSBpdCBhbmQgaXQgYWxsIHdvcmtzIG11Y2ggYmV0dGVyLikKCUZpbmlzaCBpc29sYXRpbmcgbWFqb3IoKS9taW5vcigpL21ha2VkZXYoKSBpbiBhcmNoaXZlX2VudHJ5LmMuCgpBcHIgMjMsIDIwMDc6IGxpYmFyY2hpdmUgMi4xLjggcmVsZWFzZWQKQXByIDIzLCAyMDA3OiBNaW5vciBmaXhlcyBmb3VuZCBmcm9tIGJ1aWxkaW5nIG9uIE1hY09TIFgKCkFwciAyMiwgMjAwNzogbGliYXJjaGl2ZSAyLjEuNyByZWxlYXNlZApBcHIgMjIsIDIwMDc6IEVsaW1pbmF0ZWQgYWxsIHVzZXMgb2YgJ3N0cnVjdCBzdGF0JyBmcm9tIHRoZQoJZm9ybWF0IHJlYWRlcnMvd3JpdGVycy4gIFRoaXMgc2hvdWxkIGltcHJvdmUgcG9ydGFiaWxpdHk7Cgknc3RydWN0IHN0YXQnIGlzIG5vdyBvbmx5IHVzZWQgaW4gYXJjaGl2ZV9lbnRyeSBhbmQgaW4KCWNvZGUgdGhhdCBhY3R1YWxseSB0b3VjaGVzIHRoZSBkaXNrLgoKQXByIDE3LCAyMDA3OiBsaWJhcmNoaXZlIDIuMS42IHJlbGVhc2VkCglMaWJhcmNoaXZlIG5vdyBjb21waWxlcyBhbmQgcGFzc2VzIGFsbCB0ZXN0cyBvbiBJbnRlcml4LgoKQXByIDE2LCAyMDA3OiBsaWJhcmNoaXZlIDIuMS41IHJlbGVhc2VkCgpBcHIgMTUsIDIwMDc6IGxpYmFyY2hpdmUgMi4xYjIgcmVsZWFzZWQKQXByIDE1LCAyMDA3OiBOZXcgbGliYXJjaGl2ZV9pbnRlcm5hbHMuMyBkb2N1bWVudGF0aW9uIG9mIGludGVybmFsIEFQSXMuCglOb3QgY29tcGxldGUsIGJ1dCBzaG91bGQgcHJvdmUgaGVscGZ1bC4KQXByIDE1LCAyMDA3OiBFeHBlcmltZW50YWwgInJlYWRfY29tcHJlc3NfcHJvZ3JhbSIgYW5kICJ3cml0ZV9jb21wcmVzc19wcm9ncmFtIgoJZm9yIHVzaW5nIGxpYmFyY2hpdmUgd2l0aCBleHRlcm5hbCBjb21wcmVzc2lvbi4gIE5vdCB5ZXQKCXdlbGwgdGVzdGVkLCBhbmQgbGlrZWx5IGhhcyBwb3J0YWJpbGl0eSBpc3N1ZXMuICBGZWVkYmFjawoJYXBwcmVjaWF0ZWQuCgpBcHIgMTQsIDIwMDc6IGxpYmFyY2hpdmUgMi4wLjMxIHJlbGVhc2VkCkFwciAxNCwgMjAwNzogTW9yZSBmaXhlcyBmb3IgSW50ZXJpeCwgbW9yZSAnYXInIHdvcmsKCkFwciAxNCwgMjAwNzogbGliYXJjaGl2ZSAyLjAuMzAgcmVsZWFzZWQKQXByIDEzLCAyMDA3OiBsaWJhcmNoaXZlIG5vdyBlbmZvcmNlcyB0cmFpbGluZyAnLycgb24gZGlycwoJd3JpdHRlbiB0byB0YXIgYXJjaGl2ZXMKCkFwciAxMSwgMjAwNzogbGliYXJjaGl2ZSAyLjAuMjkgcmVsZWFzZWQKQXByIDExLCAyMDA3OiBNYWtlIGl0IGVhc2llciB0byBzdGF0aWNhbGx5IGNvbmZpZ3VyZSBmb3IgZGlmZmVyZW50IHBsYXRmb3Jtcy4KQXByIDExLCAyMDA3OiBVcGRhdGVkIGNvbmZpZy5ndWVzcywgY29uZmlnLnN1YiwgbGlidG9vbAoKQXByIDA2LCAyMDA3OiBsaWJhcmNoaXZlIDIuMC4yOCByZWxlYXNlZApBcHIgMDYsIDIwMDc6ICdhcicgZm9ybWF0IHJlYWQvd3JpdGUgc3VwcG9ydCB0aGFua3MgdG8gS2FpIFdhbmcuCgpBcHIgMDEsIDIwMDc6IGxpYmFyY2hpdmUgMi4wLjI3IHJlbGVhc2VkCk1hciAzMSwgMjAwNzogU2V2ZXJhbCBtaW5vciBmaXhlcyBmcm9tIENvbGluIFBlcmNpdmFsIGFuZCBKb2VyZyBTb25uZW5iZXJnZXIuCgpNYXIgMTIsIDIwMDc6IGxpYmFyY2hpdmUgMi4wLjI1IHJlbGVhc2VkCk1hciAxMiwgMjAwNzogRml4IGJyb2tlbiAtLXVubGluayBmbGFnLgoKTWFyIDExLCAyMDA3OiBsaWJhcmNoaXZlIDIuMC4yNCByZWxlYXNlZApNYXIgMTAsIDIwMDc6IENvcnJlY3QgYW4gQUNMIGJsdW5kZXIgdGhhdCBjYXVzZXMgYW55IEFDTCB3aXRoIGFuIGVudHJ5CiAgICB0aGF0IHJlZmVycyB0byBhIG5vbi1leGlzdGVudCB1c2VyIG9yIGdyb3VwIHRvIG5vdCBiZSByZXN0b3JlZCBjb3JyZWN0bHkuCiAgICBUaGUgZml4IGJvdGggbWFrZXMgdGhlIHBhcnNlciBtb3JlIHRvbGVyYW50IChzbyB0aGF0IGFyY2hpdmVzIGNyZWF0ZWQKICAgIHdpdGggdGhlIGJ1Z2d5IEFDTHMgY2FuIGJlIHJlYWQgbm93KSBhbmQgY29ycmVjdHMgdGhlIEFDTCBmb3JtYXR0ZXIuCk1hciAxMCwgMjAwNzogTW9yZSB3b3JrIG9uIHRlc3QgcG9ydGFiaWxpdHkgdG8gTGludXguCgpNYXIgMTAsIDIwMDc6IGxpYmFyY2hpdmUgMi4wLjIyIHJlbGVhc2VkCk1hciAxMCwgMjAwNzogSGVhZGVyIGNsZWFudXBzOyBhZGRlZCBsaW51eC9mcy5oLCByZW1vdmVkCiAgICBzb21lIHVubmVjZXNzYXJ5IGhlYWRlcnMsIGFkZGVkICNpbmNsdWRlIGd1YXJkcyBpbiBic2R0YXIuCiAgICBJZiB5b3Ugc2VlIGFueSBvYnZpb3VzIGNvbXBpbGUgZmFpbHVyZXMgZnJvbSB0aGlzLCBsZXQgbWUga25vdy4KTWFyIDEwLCAyMDA3OiBXb3JrIG9uIGJzZHRhciB0ZXN0IHNjcmlwdHM6IG5vdCB5ZXQgcm9idXN0IGVub3VnaAogICAgdG8gZW5hYmxlIGFzIHBhcnQgb2YgIm1ha2UgY2hlY2siLCBidXQgZ2V0dGluZyBiZXR0ZXIuCk1hciAxMCwgMjAwNzogbGliYXJjaGl2ZSBub3cgcmV0dXJucyBBUkNISVZFX0ZBSUxFRCB3aGVuCiAgICBhIGhlYWRlciB3cml0ZSBmYWlscyBpbiBhIHdheSB0aGF0IG9ubHkgYWZmZWN0cyB0aGlzIGl0ZW0uCiAgICBMZXNzIGJhZCB0aGFuIEFSQ0hJVkVfRkFUQUwsIGJ1dCB3b3JzZSB0aGFuIEFSQ0hJVkVfV0FSTi4KCk1hciAwNywgMjAwNzogbGliYXJjaGl2ZSAyLjAuMjEgcmVsZWFzZWQKTWFyIDA3LCAyMDA3OiBBZGQgc29tZSBBQ0wgdGVzdHMgKG9ubHkgZm9yIHRoZSBzeXN0ZW0taW5kZXBlbmRlbnQKICAgIHBvcnRpb24gb2YgdGhlIEFDTCBzdXBwb3J0IGZvciBub3cpLgpNYXIgMDcsIDIwMDc6IHRhcidzIGFiaWxpdHkgdG8gcmVhZCBBQ0xzIG9mZiBkaXNrIGdvdAogICAgdHVybmVkIG9mZiBmb3IgRnJlZUJTRDsgcmUtZW5hYmxlIGl0LiAgKEFDTCByZXN0b3JlcyBhbmQKICAgIGxpYmFyY2hpdmUgc3VwcG9ydCBmb3Igc3RvcmluZy9yZWFkaW5nIEFDTHMgZnJvbSBwYXgKICAgIGFyY2hpdmVzIHdhcyB1bmFmZmVjdGVkLikKCk1hciAwMiwgMjAwNzogbGliYXJjaGl2ZSAyLjAuMjAgcmVsZWFzZWQKTWFyIDIsIDIwMDc6ICBJdCdzIG5vdCBwZXJmZWN0LCBidXQgaXQncyBwcmV0dHkgZ29vZC4KICAgIExpYmFyY2hpdmUgMi4wIGlzIG9mZmljaWFsbHkgb3V0IG9mIGJldGEuCgpGZWIgMjgsIDIwMDc6IGxpYmFyY2hpdmUgMi4wYjE3IHJlbGVhc2VkCkZlYiAyNywgMjAwNzogTWFrZSB0aGUgR0lEIHJlc3RvcmUgY2hlY2tzIG1vcmUgcm9idXN0IGJ5IGNoZWNraW5nCiAgICB3aGV0aGVyIHRoZSBjdXJyZW50IHVzZXIgaGFzIHRvbyBmZXcgb3IgdG9vIG1hbnkgcHJpdmlsZWdlcy4KCkZlYiAyNiwgMjAwNzogbGliYXJjaGl2ZSAyLjBiMTUgcmVsZWFzZWQKRmViIDI2LCAyMDA3OiBEb24ndCBsb3NlIHN5bWxpbmtzIHdoZW4gZXh0cmFjdGluZyBmcm9tIElTT3MuCiAgICBUaGFua3MgdG8gRGllZ28gIkZsYW1lZXllcyIgUGV0dGVu8iBmb3IgdGVsbGluZyBtZSBhYm91dCB0aGUKICAgIGJyb2tlbiB0ZXN0Y2FzZSBvbiBHZW50b28gdGhhdCAoZmluYWxseSEpIGxlZCBtZSB0byB0aGUgY2F1c2UKICAgIG9mIHRoaXMgbG9uZy1zdGFuZGluZyBidWcuCgpGZWIgMjYsIDIwMDc6IGxpYmFyY2hpdmUgMi4wYjE0IHJlbGVhc2VkCkZlYiAyNiwgMjAwNzogRml4IGEgYnJva2VuIHRlc3Qgb24gcGxhdGZvcm1zIHRoYXQgbGFjayBsY2htb2QoKS4KCkZlYiAyNSwgMjAwNzogbGliYXJjaGl2ZSAyLjBiMTMgcmVsZWFzZWQKRmViIDI1LCAyMDA3OiBFbXB0eSBhcmNoaXZlcyB3ZXJlIGJlaW5nIHdyaXR0ZW4gYXMgZW1wdHkgZmlsZXMsCiAgICB3aXRob3V0IGEgcHJvcGVyIGVuZC1vZi1hcmNoaXZlIG1hcmtlci4gIEZpeGVkLgoKRmViIDIzLCAyMDA3OiBsaWJhcmNoaXZlIDIuMGIxMiByZWxlYXNlZApGZWIgMjIsIDIwMDc6IEJhc2ljIHNlY3VyaXR5IGNoZWNrcyBhZGRlZDogX0VYVFJBQ1RfU0VDVVJFX05PRE9URE9UCiAgICBhbmQgX0VYVFJBQ1RfU0VDVVJFX1NZTUxJTksuICBUaGVzZSBjaGVja3MgdXNlZCB0byBiZSBpbiBic2R0YXIsCiAgICBidXQgdGhleSBiZWxvbmcgZG93biBpbiBsaWJhcmNoaXZlIHdoZXJlIHRoZXkgY2FuIGJlIHVzZWQgYnkKICAgIG90aGVyIHRvb2xzIGFuZCB3aGVyZSB0aGV5IGNhbiBiZSBiZXR0ZXIgb3B0aW1pemVkLgoKRmViIDExLCAyMDA3OiBsaWJhcmNoaXZlIDIuMGIxMSByZWxlYXNlZApGZWIgMTAsIDIwMDc6IEZpeGVkIGEgYnVuY2ggb2YgZXJyb3JzIGluIGxpYmFyY2hpdmUncyBoYW5kbGluZwogICAgb2YgRVhUUkFDVF9QRVJNIGFuZCBFWFRSQUNUX09XTkVSLCBlc3BlY2lhbGx5IHJlbGF0aW5nCiAgICB0byBTVUlEIGFuZCBTR0lEIGJpdHMuCgpKYW4gMzEsIDIwMDc6IGxpYmFyY2hpdmUgMi4wYjkgcmVsZWFzZWQKSmFuIDMxLCAyMDA3OiBBZGRlZCByZWFkIHN1cHBvcnQgZm9yICJlbXB0eSIgYXJjaGl2ZXMgYXMgYQogICAgZGlzdGluY3QgYXJjaGl2ZSBmb3JtYXQuICBCc2R0YXIgdXNlcyB0aGlzIHRvIGhhbmRsZSwgZS5nLiwKICAgICJ0b3VjaCBmb28udGFyOyB0YXIgLXJmIGZvby50YXIiCgpKYW4gMjIsIDIwMDc6IGxpYmFyY2hpdmUgMi4wYjYgcmVsZWFzZWQKSmFuIDIyLCAyMDA3OiBhcmNoaXZlX3dyaXRlX2Rpc2sgQVBJIGlzIG5vdyBpbiBwbGFjZS4gIEl0IHByb3ZpZGVzCiAgICBhIGZpbmVyLWdyYWluZWQgaW50ZXJmYWNlIHRoYW4gYXJjaGl2ZV9yZWFkX2V4dHJhY3QuICBJbiBwYXJ0aWN1bGFyLAogICAgeW91IGNhbiB1c2UgaXQgdG8gY3JlYXRlIG9iamVjdHMgb24gZGlzayB3aXRob3V0IGhhdmluZyBhbiBhcmNoaXZlCiAgICBhcm91bmQgKGp1c3QgZmVlZCBpdCBhcmNoaXZlX2VudHJ5IG9iamVjdHMgZGVzY3JpYmluZyB3aGF0IHlvdQogICAgd2FudCB0byBjcmVhdGUpLCB5b3UgY2FuIG92ZXJyaWRlIHRoZSB1bmFtZS9nbmFtZS10by11aWQvZ2lkIGxvb2t1cHMKICAgIChtaW5pdGFyIHVzZXMgdGhpcyB0byBhdm9pZCBnZXRwd1hYWCgpIGFuZCBnZXRnclhYWCgpIGJsb2F0KS4KCkphbiAwOSwgMjAwNzogbGliYXJjaGl2ZSAyLjBhMyByZWxlYXNlZApKYW4gOSwgMjAwNzogYXJjaGl2ZV9leHRyYWN0IGlzIG5vdyBtdWNoIGJldHRlcjsgaXQgaGFuZGxlcyB0aGUKICAgIG1vc3QgY29tbW9uIGNhc2VzIHdpdGggYSBtaW5pbWFsIG51bWJlciBvZiBzeXN0ZW0gY2FsbHMuCiAgICBTb21lIGZlYXR1cmVzIHN0aWxsIG5lZWQgYSBsb3Qgb2YgdGVzdGluZywgZXNwZWNpYWxseSBjb3JuZXIKICAgIGNhc2VzIGludm9sdmluZyBvYmplY3RzIHRoYXQgYWxyZWFkeSBleGlzdCBvbiBkaXNrLiAgIEkgZXhwZWN0CiAgICB0aGUgbmV4dCByb3VuZCBvZiBBUEkgb3ZlcmhhdWwgd2lsbCBzaW1wbGlmeSBidWlsZGluZyB0ZXN0IGNhc2VzLgpKYW4gOSwgMjAwNzogYSBudW1iZXIgb2YgZml4ZXMgdGhhbmtzIHRvIENvbGluIFBlcmNpdmFsLCBlc3BlY2lhbGx5CiAgICBjb3JyZWN0aW9ucyB0byB0aGUgc2tpcCgpIGZyYW1ld29yayBhbmQgaGFuZGxpbmcgb2YgbGFyZ2UgZmlsZXMuCkphbiA5LCAyMDA3OiBGaXhlcyBmb3IgbGFyZ2UgSVNPcy4gIFRoZSBjb2RlIHNob3VsZCBjb3JyZWN0bHkgaGFuZGxlCiAgICB2ZXJ5IGxhcmdlIElTT3Mgd2l0aCBlbnRyaWVzIHVwIHRvIDRHLiAgIFRoYW5rcyB0byBSb2JlcnQgU2NpdWsKICAgIGZvciBwb2ludGluZyBvdXQgdGhlc2UgaXNzdWVzLgoKU2VwIDA1LCAyMDA2OiBsaWJhcmNoaXZlIDEuMy4xIHJlbGVhc2VkClNlcCA1LCAyMDA2OiBCdW1wIHZlcnNpb24gdG8gMS4zIGZvciBuZXcgSS9PIHdyYXBwZXJzLgpTZXAgNCwgMjAwNjogTmV3IG1lbW9yeSBhbmQgRklMRSByZWFkL3dyaXRlIHdyYXBwZXJzLgpTZXAgNCwgMjAwNjogbGliYXJjaGl2ZSB0ZXN0IGhhcm5lc3MgaXMgbm93IG1pbmltYWxseSBmdW5jdGlvbmFsOwogICAgaXQncyBsb2NhdGVkIGEgZmV3IG1pbm9yIGJ1Z3MgaW4gZXJyb3ItaGFuZGxpbmcgbG9naWMKCkF1ZyAxNywgMjAwNjogbGliYXJjaGl2ZSAxLjIuNTQgcmVsZWFzZWQKQXVnIDE3LCAyMDA2OiBPdXRsaW5lIEFCSSBjaGFuZ2VzIGZvciBsaWJhcmNoaXZlIDIuMDsgdGhlc2UKICAgYXJlIHByb3RlY3RlZCBiZWhpbmQgI2lmZGVmJ3MgdW50aWwgSSB0aGluayBJJ3ZlIGZvdW5kIGV2ZXJ5dGhpbmcKICAgdGhhdCBuZWVkcyB0byBjaGFuZ2UuCkF1ZyAxNywgMjAwNjogRml4IGVycm9yLWhhbmRsaW5nIGluIGFyY2hpdmVfcmVhZC93cml0ZV9jbG9zZSgpCiAgIFRoZXkgd2VyZW4ndCByZXR1cm5pbmcgYW55IGVycm9ycyBiZWZvcmUuCkF1ZyAxNywgMjAwNjogRml4IHJlY3Vyc2l2ZS1hZGQgbG9naWMgdG8gbm90IHRyaWdnZXIgaWYgaXQncyBub3Qgc2V0CiAgIEZpeGVzIGEgYnVnIGFkZGluZyBmaWxlcyB3aGVuIHdyaXRpbmcgYXJjaGl2ZSB0byBwaXBlIG9yIHdoZW4KICAgdXNpbmcgYXJjaGl2ZV93cml0ZV9vcGVuKCkgZGlyZWN0bHkuCkp1bCAyMDA2OiBOZXcgInNraXAiIGhhbmRsaW5nIGltcHJvdmVzIHBlcmZvcm1hbmNlIGV4dHJhY3RpbmcKICAgc2luZ2xlIGZpbGVzIGZyb20gbGFyZ2UgdW5jb21wcmVzc2VkIGFyY2hpdmVzLgoKTWFyIDIxLCAyMDA2OiAxLjIuNTIgcmVsZWFzZWQKTWFyIDIxLCAyMDA2OiBGaXggLXAgb24gcGxhdGZvcm1zIHRoYXQgZG9uJ3QgaGF2ZSBwbGF0Zm9ybS1zcGVjaWZpYwogICBleHRlbmRlZCBhdHRyaWJ1dGUgY29kZS4KTWFyIDIwLCAyMDA2OiBBZGQgTkVXUyBmaWxlOyBmaWxsIGluIHNvbWUgb2xkZXIgaGlzdG9yeSBmcm9tIG90aGVyCiAgIGZpbGVzLiAgSSdsbCB0cnkgdG8ga2VlcCB0aGlzIGZpbGUgdXAtdG8tZGF0ZSBmcm9tIG5vdyBvbi4KCk9MREVSIE5FV1MgU1VNTUFSSUVTCgpNYXIgMTksIDIwMDY6IGxpYmFyY2hpdmUgMS4yLjUxIHJlbGVhc2VkCk1hciAxOCwgMjAwNjogTWFueSBmaXhlcyB0byBleHRlbmRlZCBhdHRyaWJ1dGUgc3VwcG9ydCwgaW5jbHVkaW5nIGEgcmVkZXNpZ24KICAgb2YgdGhlIHN0b3JhZ2UgZm9ybWF0IHRvIHNpbXBsaWZ5IGRlYnVnZ2luZy4KTWFyIDEyLCAyMDA2OiBSZW1vdmUgJ3RwJyBzdXBwb3J0OyBpdCB3YXMgYSBmdW4gaWRlYSwgYnV0IG5vdCB3b3J0aAogICBzcGVuZGluZyBtdWNoIHRpbWUgb24uCk1hciAxMSwgMjAwNjogSW5jb3Jwb3JhdGVkIEphYWtrbyBIZWlub25lbidzIHN0aWxsLWV4cGVyaW1lbnRhbCBzdXBwb3J0CiAgIGZvciBleHRlbmRlZCBhdHRyaWJ1dGVzIChDdXJyZW50bHkgTGludXgtb25seS4pLgpNYXIgMTEsIDIwMDY6IFJlb3JnYW5pemVkIGRpc3RyaWJ1dGlvbiBwYWNrYWdlOiBUaGVyZSBpcyBub3cgb25lIHRhci5negogICBmaWxlIHRoYXQgYnVpbGRzIGJvdGggbGliYXJjaGl2ZSBhbmQgYnNkdGFyLgpGZWIgMTMsIDIwMDY6IE1pbm9yIGJ1ZyBmaXhlczogY29ycmVjdGx5IHJlYWQgY3BpbyBkZXZpY2UgZW50cmllcywgd3JpdGUKICAgUGF4IGF0dHJpYnV0ZSBlbnRyeSBuYW1lcy4KTm92IDcsIDIwMDU6IEV4cGVyaW1lbnRhbCAndHAnIGZvcm1hdCBzdXBwb3J0IGluIGxpYmFyY2hpdmUuICBGZWVkYmFjawogICBhcHByZWNpYXRlZDsgdGhpcyBpcyBub3QgZW5hYmxlZCBieSBhcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfYWxsKCkKICAgeWV0IGFzIEknbSBub3QgcXVpdGUgY29udGVudCB3aXRoIHRoZSBmb3JtYXQgZGV0ZWN0aW9uIGhldXJpc3RpY3MuCk5vdiA3LCAyMDA1OiBTb21lIG1vcmUgcG9ydGFiaWxpdHkgaW1wcm92ZW1lbnRzIHRoYW5rcyB0byBEYXJpbiBCcm9hZHksCiAgIG1pbm9yIGJ1Z2ZpeGVzLgpPY3QgMTIsIDIwMDU6IFVzZSBHTlUgbGlidG9vbCB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzIG9uIG1hbnkgc3lzdGVtcy4KQXVnIDksIDIwMDU6IENvcnJlY3RseSBkZXRlY3QgdGhhdCBNYWNPUyBYIGRvZXMgbm90IGhhdmUgUE9TSVggQUNMcy4KQXByIDE3LCAyMDA1OiBLZWVzIFplZWxlbmJlcmcgaGFzIHBvcnRlZCBsaWJhcmNoaXZlIGFuZCBic2R0YXIgdG8gV2luZG93czoKICAgaHR0cDovL2dudXdpbjMyLnNvdXJjZWZvcmdlLm5ldC8KQXByIDExLCAyMDA1OiBFeHRlbmRlZCBaaXAvWmlwNjQgc3VwcG9ydCB0aGFua3MgdG8gRGFuIE5lbHNvbi4gIC1MLy1oCiAgIGZpeCBmcm9tIEphYWtrbyBIZWlub25lbi4KTWFyIDEyLCAyMDA1OiBhcmNoaXZlX3JlYWRfZXh0cmFjdCBjYW4gbm93IGhhbmRsZSB2ZXJ5IGxvbmcKICAgcGF0aG5hbWVzIChJJ3ZlIHRlc3RlZCB3aXRoIHBhdGhuYW1lcyB1cCB0byAxTUIpLgpNYXIgMTIsIDIwMDU6IE1hcmN1cyBHZWlnZXIgaGFzIHdyaXR0ZW4gYW4gYXJ0aWNsZSBhYm91dCBsaWJhcmNoaXZlCiAgIGh0dHA6Ly94c25pbC5hbnRiZWFyLm9yZy8yMDA1LzAyLzA1L2FyY2hpdmUtbWl0LWxpYmFyY2hpdmUtdmVyYXJiZWl0ZW4vCiAgIGluY2x1ZGluZyBleGFtcGxlcyBvZiB1c2luZyBpdCBmcm9tIE9iamVjdGl2ZS1DLiAgSGlzIE1vaW5YCiAgIGh0dHA6Ly9tb2lueC5hbnRiZWFyLm9yZy8gZGVza3RvcCBXaWtpIHVzZXMKICAgbGliYXJjaGl2ZSBmb3IgYXJjaGl2aW5nIGFuZCByZXN0b3JpbmcgV2lraSBwYWdlcy4KSmFuIDIyLCAyMDA1OiBQcmVsaW1pbmFyeSBaSVAgZXh0cmFjdGlvbiBzdXBwb3J0LAogICAgbmV3IGRpcmVjdG9yeS13YWxraW5nIGNvZGUgZm9yIGJzZHRhci4KSmFuIDE2LCAyMDA1OiBJU085NjYwIGV4dHJhY3Rpb24gY29kZSBhZGRlZDsgbWFucGFnZSBjb3JyZWN0aW9ucy4KTWF5IDIyLCAyMDA0OiBNYW55IGd0YXItY29tcGF0aWJsZSBsb25nIG9wdGlvbnMgaGF2ZSBiZWVuIGFkZGVkOyBhbG1vc3QKICAgIGFsbCBGcmVlQlNEIHBvcnRzIGV4dHJhY3QgY29ycmVjdGx5IHdpdGggYnNkdGFyLgpNYXkgMTgsIDIwMDQ6IGJzZHRhciBjYW4gcmVhZCBTb2xhcmlzLCBIUC1VWCwgVW5peHdhcmUsIHN0YXIsIGd0YXIsCiAgICBhbmQgcGR0YXIgYXJjaGl2ZXMuCg==