Skip to main content

Criteria for Derivative Exchange Database

The SSE maintains a database of sustainability activities for derivatives exchanges that are either members of the SSE initiative and/or members of the World Federation of Exchanges. The information in this database is intended to inform investors and other stakeholders on the work derivatives exchanges are undertaking to advance sustainability in their respective markets. 

 The information provided in this database is based on publicly available information prepared by the SSE Secretariat with input from derivatives exchanges in most instances. Sources and explanatory notes on sustainability information have been included in individual Derivatives Exchanges Fact Sheets. The criteria for each category can be found below. 

 While every effort is made to keep the information in this database up to date, please be aware that certain factors change frequently and therefore may not be exact, such as the Number of contracts traded or volume of exchange traded derivatives. 

Field 

Criteria Considered 

Country Country of primary residence or registration. 
Has signed the SSE derivatives commitment letter? To be considered an SSE Partner Exchange, exchanges must sign an SSE commitment letter. 

Total number of contracts traded 

  

Updated either by the exchange directly or using WFE data. Please note the relevant year in the fact sheet. 
Contracts traded (options) Contracts traded (options) (as Number of listed companies in the Stock Exchange Database)
Contracts traded (futures) Contracts traded (futures)  (as Domestic market capitalization in the Stock Exchange Database)
Volume of exchange traded derivatives  
SSE Stock Exchange Database 

Please clarify if your exchange is part of a wider business group that includes other SSE members. 

  

Type of offered products Updated by the exchange directly. Please delete the non relevant options from the list. 
Has an annual sustainability report For a yes, exchanges must report, either in a stand-alone report, on their website or integrated into their financial report, on their environmental and social impact and corporate governance. Please provide the link to your latest report or the web page where all of your reports can be found. 
Sustainability reporting required For a yes, some areas of sustainability (e.g. social or environmental factors) should be considered in the reports and be required of at least one but possibly more types of market participants. 
Has written guidance on ESG reporting For a yes, the guidance should consider some areas of sustainability (e.g. social or environmental factors) and address requirements for at least one but possibly more types of market participants. 
Offers sustainability-aligned products? (If yes, please provide examples) For a yes, the products must be related to some area of sustainability (e.g. social or environmental factors). At least one example must be provided (include an online source). 
Offers sustainability-related training For a yes, training must have taken place in the previous 12 months. The topic of the training must be on some area of sustainability (e.g. social or environmental factors). 
Additional Information Additional information captures exchanges’ sustainability section of websites, information on future sustainability commitments and other information on the exchange 
Organizational model of exchange Whether the exchange is listed or not, and if demutualised, date of demutualisation 
Regulatory bodies The regulatory authority responsible for the regulation for the exchange’s market 
Regulatory model 

The extent to which exchanges have regulatory authority in their market. This may include: 

▪        Limited exchange SRO 

▪        Strong exchange SRO 

▪        Independent member SRO 

▪        Government (Statutory) 

▪        Non-SRO 

About the exchange The location of the headquarters of the exchange, and any additional details about the exchange. 

 

W3sNCiAgICAgICAgIk5hbWUwIjogIk1hdGJhLVJvZmV4IiwNCiAgICAgICAgIkNvdW50cnkiOiAiQXJnZW50aW5hIiwNCiAgICAgICAgIk5hbWUiOiAiPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm1hdGJhcm9mZXguY29tLmFyL1wiPk1hdGJhLVJvZmV4PC9hPiIsDQogICAgICAgICJjdHJ5IjogMTE3NDk1OTUwLjAsDQogICAgICAgICJkbm1sIjogIi9zaXRlcy9zc2Vpbml0aWF0aXZlL2ZpbGVzL2RvY3VtZW50cy9jb21taXRtZW50LWxldHRlci1kZXJpdmF0aXZlcy1hcmdlbnRpbmEtbWF0YmFyb2ZleC5wZGYiLA0KICAgICAgICAiZG5tIjogIlllcyIsDQogICAgICAgICJMaW5rIjogIiIsDQogICAgICAgICJjdGYiOiAxMzY2NDg4Mi4wLA0KICAgICAgICAiY3QiOiA5MDg0LjAsDQogICAgICAgICJTU0VEYiI6ICJObyIsDQogICAgICAgICJTU0VEYkxpbmsiOiAiL3N0b2NrLWV4Y2hhbmdlL2doYW5hLXN0b2NrLWV4Y2hhbmdlIiwNCiAgICAgICAgInRvcCI6ICI8dWw+PGxpPkVxdWl0eSBPcHRpb25zIGFuZCBGdXR1cmVzPC9saT48bGk+SW50ZXJlc3QgUmF0ZSBPcHRpb25zIGFuZCBGdXR1cmVzPC9saT48bGk+Q3VycmVuY3kgT3B0aW9ucyBhbmQgRnV0dXJlczwvbGk+PGxpPkNvbW1vZGl0eSBPcHRpb25zIGFuZCBGdXR1cmVzPC9saT48bGk+SW5kZXggT3B0aW9ucyBhbmQgRnV0dXJlczwvbGk+PC91bD4iLA0KICAgICAgICAiYXNyIjogIlllcyIsDQogICAgICAgICJhc3J0IjogIjxwPk1hdGJhLVJvZmV4IOKAkyA8YSBocmVmPSZxdW90O2h0dHBzOi8vd3d3Lm1hdGJhcm9mZXguY29tLmFyL2RvY3VtZW50b3MvcHJlbnNhL3JlcG9ydGUtZGUtc3VzdGVudGFiaWxpZGFkLTIwMjAtMjAyMSZxdW90Oz5TdXN0YWluYWJpbGl0eSBSZXBvcnQgIDIwMjAtMjAyMTwvYT48L3A+PGJyPiIsDQogICAgICAgICJzcnIiOiAiTm8iLA0KICAgICAgICAic3JydCI6ICIiLA0KICAgICAgICAid2ciOiAiTm8iLA0KICAgICAgICAid2d0IjogIiIsDQogICAgICAgICJvc3NwIjogIk5vIiwNCiAgICAgICAgIm9zc3B0IjogIiIsDQogICAgICAgICJvc3J0IjogIlllcyIsDQogICAgICAgICJvc3J0dCI6ICIiLA0KICAgICAgICAiYWkiOiAiIiwNCiAgICAgICAgInJiIjogIjx1bD48bGk+PGEgaHJlZj1cImh0dHBzOi8vd3d3LmFyZ2VudGluYS5nb2IuYXIvY252XCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj5Db21pc2lvbiBOYWNpb25hbCBkZSBWYWxvcmVzLCBBcmdlbnRpbmE8L2E+PC9saT48L3VsPiIsDQogICAgICAgICJhZSI6ICJNYXRiYSBSb2ZleCBhZGRyZXNzIGlzIFBhcmFndWF5IDc3NyBSb3NhcmlvLCBTYW50YSBGZSwgQXJnZW50aW5hLiBUaGUgY29tcGFueSBhbHNvIGhhcyBvZmZpY2VzIGluIHRoZSBjaXR5IG9mIEJ1ZW5vcyBBaXJlcy4iLA0KICAgICAgICAiY2MiOiAiQVIiDQogICAgfSwgew0KICAgICAgICAiTmFtZTAiOiAiTWVyY2FkbyBBYmllcnRvIEVsZWN0csOzbmljbyAoTUFFKSIsDQogICAgICAgICJDb3VudHJ5IjogIkFyZ2VudGluYSIsDQogICAgICAgICJOYW1lIjogIjxhIGhyZWY9XCJodHRwczovL3d3dy5tYWUuY29tLmFyL1wiPk1lcmNhZG8gQWJpZXJ0byBFbGVjdHLDs25pY28gKE1BRSk8L2E+IiwNCiAgICAgICAgImN0cnkiOiAyMzI2NjY3NS4wLA0KICAgICAgICAiZG5tbCI6ICIvc2l0ZXMvc3NlaW5pdGlhdGl2ZS9maWxlcy9kb2N1bWVudHMvcGFydG5lci1leGNoYW5nZS1jb21taXRtZW50LWxldHRlci1tYWUtMjguMDkuMjAyMy5wZGYiLA0KICAgICAgICAiZG5tIjogIlllcyIsDQogICAgICAgICJMaW5rIjogIiIsDQogICAgICAgICJjdGYiOiAwLjAsDQogICAgICAgICJjdCI6IDAuMCwNCiAgICAgICAgIlNTRURiIjogIk5vIiwNCiAgICAgICAgIlNTRURiTGluayI6ICIiLA0KICAgICAgICAidG9wIjogIkludGVyZXN0IFJhdGUgRnV0dXJlczxicj5DdXJyZW5jeSBGdXR1cmVzIiwNCiAgICAgICAgImFzciI6ICJObyIsDQogICAgICAgICJhc3J0IjogIiIsDQogICAgICAgICJzcnIiOiAiTm8iLA0KICAgICAgICAic3JydCI6ICIiLA0KICAgICAgICAid2ciOiAiTm8iLA0KICAgICAgICAid2d0IjogIiIsDQogICAgICAgICJvc3NwIjogIk5vIiwNCiAgICAgICAgIm9zc3B0IjogIiIsDQogICAgICAgICJvc3J0IjogIk5vIiwNCiAgICAgICAgIm9zcnR0IjogIiIsDQogICAgICAgICJhaSI6ICIiLA0KICAgICAgICAicmIiOiAiTmF0aW9uYWwgU2VjdXJpdGllcyBDb21taXNzaW9uIChDTlYpIGFuZCBDZW50cmFsIEJhbmsgb2YgdGhlIEFyZ2VudGluZSBSZXB1YmxpYyAoQkNSQSkiLA0KICAgICAgICAiYWUiOiAiPHA+TG9jYXRpb246IEJ1ZW5vcyBBaXJlcywgQXJnZW50aW5hLjwvcD48cD5NQUUgLSBNZXJjYWRvIEFiaWVydG8gRWxlY3Ryw7NuaWNvIFMuQS4gLSBzdGFydGVkIGl0cyBhY3Rpdml0aWVzIGluIDE5ODkgYW5kIHRvZGF5IGlzIHRoZSBtb3N0IGltcG9ydGFudCBlbGVjdHJvbmljIG1hcmtldCBmb3IgdHJhZGluZyBzZWN1cml0aWVzIGFuZCBmb3JlaWduIGN1cnJlbmN5IGluIEFyZ2VudGluYS4gTUFFIHRyYWRlcyBmaXhlZC1pbmNvbWUgc2VjdXJpdGllcywgZXF1aXRpZXMsIGN1cnJlbmNpZXMsIGludGVyZXN0IHJhdGVzLCBmb3J3YXJkIHRyYW5zYWN0aW9ucywgc3dhcHMgYW5kIGRlcml2YXRpdmVzLiBNQUUgaGFzIG1vcmUgdGhhbiAyNTAgY2xpZW50cywgaW5jbHVkaW5nIGRvbWVzdGljIGFuZCBmb3JlaWduIHByaXZhdGUgYmFua3MsIHByb3ZpbmNpYWwgYW5kIG11bmljaXBhbCBiYW5rcywgZmluYW5jaWFsIGNvbXBhbmllcywgZXhjaGFuZ2UgaG91c2VzLCBicm9rZXJhZ2UgaG91c2VzLCBpc3N1aW5nIGNvcnBvcmF0aW9ucywgYW1vbmcgb3RoZXJzLjwvcD4iLA0KICAgICAgICAiY2MiOiAiQVIiDQogICAgfSwgew0KICAgICAgICAiTmFtZTAiOiAiQXVzdHJhbGlhbiBTZWN1cml0aWVzIEV4Y2hhbmdlIiwNCiAgICAgICAgIkNvdW50cnkiOiAiQXVzdHJhbGlhIiwNCiAgICAgICAgIk5hbWUiOiAiPGEgaHJlZj1cImh0dHBzOi8vd3d3Mi5hc3guY29tLmF1L1wiPkF1c3RyYWxpYW4gU2VjdXJpdGllcyBFeGNoYW5nZTwvYT4iLA0KICAgICAgICAiY3RyeSI6IDIwNjAxNTAwMC4wLA0KICAgICAgICAiZG5tbCI6ICIvc2l0ZXMvc3NlaW5pdGlhdGl2ZS9maWxlcy9kb2N1bWVudHMvY29tbWl0bWVudC1sZXR0ZXItZGVyaXZhdGl2ZXMtYXVzdHJhbGlhLWFzeC5wZGYiLA0KICAgICAgICAiZG5tIjogIlllcyIsDQogICAgICAgICJMaW5rIjogIiIsDQogICAgICAgICJjdGYiOiAxMDE1NjA5Ni4wLA0KICAgICAgICAiY3QiOiA1OTQzMTk0LjAsDQogICAgICAgICJTU0VEYiI6ICJZZXMiLA0KICAgICAgICAiU1NFRGJMaW5rIjogIi9zdG9jay1leGNoYW5nZS9hc3giLA0KICAgICAgICAidG9wIjogIjx1bD48bGk+RXF1aXR5IE9wdGlvbnMgYW5kIEZ1dHVyZXM8L2xpPjxsaT5JbnRlcmVzdCBSYXRlIE9wdGlvbnMgYW5kIEZ1dHVyZXM8L2xpPjxsaT5Db21tb2RpdHkgT3B0aW9ucyBhbmQgRnV0dXJlczwvbGk+PC91bD4iLA0KICAgICAgICAiYXNyIjogIlllcyIsDQogICAgICAgICJhc3J0IjogIjxwPkF1c3RyYWxpYW4gU2VjdXJpdGllcyBFeGNoYW5nZSBzdXN0YWluYWJpbGl0eSByZXBvcnQgaXMgaW50ZWdyYXRlZCBpbnRvIDxhIGhyZWY9XCJodHRwczovL3d3dzIuYXN4LmNvbS5hdS9hYm91dC9hc3gtc2hhcmVob2xkZXJzL3JlcG9ydHNcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiPkFTWOKAmXMgYW5udWFsIHJlcG9ydDwvYT48L3A+IiwNCiAgICAgICAgInNyciI6ICJObyIsDQogICAgICAgICJzcnJ0IjogIjx1bD48bGk+SG93ZXZlciByZWNvbW1lbmRhdGlvbiA3LjQgb2YgdGhlIEFTWCBDb3Jwb3JhdGUgR292ZXJuYW5jZSBDb3VuY2ls4oCZcyBQcmluY2lwbGVzIGFuZCBSZWNvbW1lbmRhdGlvbnMgc3RhdGVzIHRoYXQg4oCcYSBsaXN0ZWQgZW50aXR5IHNob3VsZCBkaXNjbG9zZSB3aGV0aGVyIGl0IGhhcyBhbnkgbWF0ZXJpYWwgZXhwb3N1cmUgdG8gZWNvbm9taWMsIGVudmlyb25tZW50YWwgYW5kIHNvY2lhbCBzdXN0YWluYWJpbGl0eSByaXNrcyBhbmQsIGlmIGl0IGRvZXMsIGhvdyBpdCBtYW5hZ2VzIG9yIGludGVuZHMgdG8gbWFuYWdlIHRob3NlIHJpc2tz4oCdLjwvbGk+PGxpPkxpc3RpbmcgcnVsZSA0LjEwLjMgcmVxdWlyZXMgYWxsIGxpc3RlZCBlbnRpdGllcyB0byBwdWJsaXNoIGFubnVhbGx5IGEgY29ycG9yYXRlIGdvdmVybmFuY2Ugc3RhdGVtZW50IHRoYXQgZGlzY2xvc2VzIHRoZSBleHRlbnQgdG8gd2hpY2ggdGhlIGVudGl0eSBoYXMgZm9sbG93ZWQgdGhlIHJlY29tbWVuZGF0aW9ucyBzZXQgYnkgdGhlIEFTWCBDb3Jwb3JhdGUgR292ZXJuYW5jZSBDb3VuY2lsIGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZC4gTGlzdGVkIGVudGl0aWVzIHRoYXQgZG8gbm90IGZvbGxvdyBhIHBhcnRpY3VsYXIgcmVjb21tZW5kYXRpb24sIGFyZSByZXF1aXJlZCB0byBkaXNjbG9zZSB0aGF0IGZhY3QgYW5kIHByb3ZpZGUgdGhlIHJlYXNvbnMgd2h5IOKAnGlmIG5vdCwgd2h5IG5vdOKAnSByZXBvcnRpbmcuPC9saT48L3VsPiIsDQogICAgICAgICJ3ZyI6ICJZZXMiLA0KICAgICAgICAid2d0IjogIjxwPlRoZSBjb21tZW5kYXRvcnkgdG8gUmVjb21tZW5kYXRpb24gNy40IG9mIHRoZSBBU1ggQ29ycG9yYXRlIEdvdmVybmFuY2UgQ291bmNpbOKAmXMgUHJpbmNpcGFscyBhbmQgUmVjb21tZW5kYXRpb25zIHJlZmVycyBjb21wYW5pZXMgdG8gZXhpc3RpbmcgZ3VpZGFuY2Ugc3VjaCBhczo8L3A+PGJyPjx1bD48YnI+PGxpPjxhIGhyZWY9JnF1b3Q7aHR0cHM6Ly93d3cuYXN4LmNvbS5hdS9kb2N1bWVudHMvYXN4LWNvbXBsaWFuY2UvYWNzaS1mc2MtZXNnLXJlcG9ydGluZy1ndWlkZS1maW5hbC0yMDE1LnBkZiZxdW90OyB0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7IHJlbD0mcXVvdDtub29wZW5lciZxdW90Oz4yMDE1IEVTRyBSZXBvcnQgR3VpZGUgZm9yIEF1c3RyYWxpYW4gQ29tcGFuaWVzPC9hPiBpc3N1ZWQgYnkgdGhlIEZpbmFuY2lhbCBTZXJ2aWNlcyBDb3VuY2lsIGFuZCB0aGUgQXVzdHJhbGlhbiBDb3VuY2lsIG9mIFN1cGVyYW5udWF0aW9uIEludmVzdG9yczs8L2xpPjxicj48bGk+PGEgaHJlZj0mcXVvdDtodHRwczovL3d3dy5nbG9iYWxjb21wYWN0LmNoLz9nY2xpZD1DajBLQ1Fqdy1KeVVCaEN1QVJJc0FOVXFRX0t2UExmOTAtcUFWbTR3U014Y1ktMDhvTlFETmVNZ3pYSjJFcXJzTmZZQjAtX3dkdVZEYktFYUFtM0lFQUx3X3djQiZxdW90OyB0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7IHJlbD0mcXVvdDtub29wZW5lciZxdW90Oz5VTiBHbG9iYWwgQ29tcGFjdCB0ZW4gcHJpbmNpcGxlczwvYT48L2xpPjxicj48bGk+PGEgaHJlZj0mcXVvdDtodHRwczovL3d3dy5vZWNkLm9yZy9jb3Jwb3JhdGUvbW5lLyZxdW90OyB0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7IHJlbD0mcXVvdDtub29wZW5lciZxdW90Oz5PRUNE4oCZcyBHdWlkZWxpbmVzIGZvciBNdWx0aW5hdGlvbmFsIEVudGVycHJpc2VzPC9hPjwvbGk+PGJyPjwvdWw+PGJyPjxwPkFTWCBhbHNvIHJlZmVycyBjb21wYW5pZXMgdG8gdGhlIHZhcmlvdXMgcHVibGljYXRpb25zIG9mIHRoZSBHUkksIENCU0IgYW5kIElJUkMuIEluIHJlbGF0aW9uIHRvIHRoZSBlbnZpcm9ubWVudGFsIHJpc2sgb2YgY2xpbWF0ZSBjaGFuZ2UsIHRoZSBDb3VuY2lsIGVuY291cmFnZXMgZW50aXRpZXMgd2hvIGhhdmUgYSBtYXRlcmlhbCBleHBvc3VyZSB0byBjbGltYXRlIGNoYW5nZSByaXNrIHRvIGNvbnNpZGVyIG1ha2luZyB0aGUgZGlzY2xvc3VyZXMgcmVjb21tZW5kZWQgYnkgdGhlIFRDRkQuPC9wPiIsDQogICAgICAgICJvc3NwIjogIlllcyIsDQogICAgICAgICJvc3NwdCI6ICI8cD5UaGUgQXVzdHJhbGlhbiBFbGVjdHJpY2l0eSBCYXNlIExvYWQgJDMwMCBDYXAgZnV0dXJlcyBlbmFibGUgcmVuZXdhYmxlIGVsZWN0cmljaXR5IGdlbmVyYXRvcnMgdG8gbWFuYWdlIHRoZWlyIHByaWNlIGV4cG9zdXJlcy4gRnVydGhlciBpbmZvcm1hdGlvbiBhdmFpbGFibGUgb25saW5lIDxhIGhyZWY9XCJodHRwczovL3d3dy5hc3guY29tLmF1L2RvY3VtZW50cy9wcm9kdWN0cy9BU1hfQXVzdHJhbGlhbkVsZWN0cmljaXR5RnV0dXJlc2FuZE9wdGlvbnNfQ29udHJhY3RTcGVjaWZpY2F0aW9uc19KdWx5MjAxNS5wZGZcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiPmhlcmU8L2E+PC9wPiIsDQogICAgICAgICJvc3J0IjogIk5vIiwNCiAgICAgICAgIm9zcnR0IjogIiIsDQogICAgICAgICJhaSI6ICI8cD5Nb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj1cImh0dHBzOi8vd3d3Mi5hc3guY29tLmF1L2Fib3V0L3N1c3RhaW5hYmlsaXR5XCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj5TdXN0YWluYWJpbGl0eSBzZWN0aW9uIG9mIEFTWOKAmXMgd2Vic2l0ZTwvYT4uIEluZm9ybWF0aW9uIG9uIG91ciBmdXR1cmUgY29tbWl0bWVudHMgY2FuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cyLmFzeC5jb20uYXUvYWJvdXQvYXN4LXNoYXJlaG9sZGVycy9yZXBvcnRzXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj4yMDIxIEFubnVhbCBSZXBvcnQgQ0VPIExldHRlcjwvYT4gQVNYIExpbWl0ZWQgMjAyMSBUQ0ZEIHJlcG9ydGluZyBjYW4gYmUgZm91bmQgPGEgaHJlZj1cImh0dHBzOi8vd3d3Mi5hc3guY29tLmF1L2Fib3V0L2FzeC1zaGFyZWhvbGRlcnMvcmVwb3J0c1wiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCI+aGVyZTwvYT48L3A+IiwNCiAgICAgICAgInJiIjogIjx1bD48bGk+PGEgaHJlZj1cImh0dHBzOi8vYXNpYy5nb3YuYXUvXCI+QXVzdHJhbGlhbiBTZWN1cml0aWVzIEludmVzdG1lbnQgQ29tbWlzc2lvbiAoQVNJQyk8L2E+PC9saT48bGk+PGEgaHJlZj1cImh0dHBzOi8vd3d3LnJiYS5nb3YuYXUvXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj5SZXNlcnZlIEJhbmsgb2YgQXVzdHJhbGlhIChSQkEpPC9hPjwvbGk+PC91bD4iLA0KICAgICAgICAiYWUiOiAiQVNYIGlzIGFuIGludGVncmF0ZWQgZXhjaGFuZ2Ugb2ZmZXJpbmcgbGlzdGluZ3MsIHRyYWRpbmcsIGNsZWFyaW5nLCBzZXR0bGVtZW50LCB0ZWNobmljYWwgYW5kIGluZm9ybWF0aW9uIHNlcnZpY2VzLCBhbmQgb3RoZXIgcG9zdC10cmFkZSBzZXJ2aWNlcy4gQVNYIG9wZXJhdGUgbWFya2V0cyBmb3IgYSB3aWRlIHJhbmdlIG9mIGFzc2V0IGNsYXNzZXMsIGluY2x1ZGluZyBlcXVpdGllcywgZml4ZWQgaW5jb21lLCBjb21tb2RpdGllcyBhbmQgZW5lcmd5LiBBU1ggaXMgcmFua2VkIGluIHRoZSB0b3AgMTAgZ2xvYmFsIHNlY3VyaXRpZXMgZXhjaGFuZ2UgYnkgdmFsdWUgYW5kIHRoZSBsYXJnZXN0IGludGVyZXN0IHJhdGUgZGVyaXZhdGl2ZXMgbWFya2V0IGluIEFzaWEuIENvbXBhbmllcyBhbmQgb3RoZXIgaXNzdWVycyBvZiBjYXBpdGFsIGZyb20gQXVzdHJhbGlhIGFuZCBhcm91bmQgdGhlIHdvcmxkIGVuZ2FnZSB3aXRoIEFTWCB0byBtYW5hZ2UgcmlzayBhbmQgcmFpc2UgY2FwaXRhbCB0byBzdXN0YWluIGFuZCBncm93IHRoZWlyIGJ1c2luZXNzZXMuIEFTWCBvcGVyYXRlcyBsaXF1aWQsIHRyYW5zcGFyZW50IGFuZCByZWxpYWJsZSBtYXJrZXRzIG9mIGludGVncml0eS4iLA0KICAgICAgICAiY2MiOiAiQVUiDQogICAgfSwgew0KICAgICAgICAiTmFtZTAiOiAiTmFpcm9iaSBTZWN1cml0aWVzIEV4Y2hhbmdlIC0gTlNFIiwNCiAgICAgICAgIkNvdW50cnkiOiAiS2VueWEiLA0KICAgICAgICAiTmFtZSI6ICI8YSBocmVmPVwiaHR0cHM6Ly93d3cubnNlLmNvLmtlL1wiPk5haXJvYmkgU2VjdXJpdGllcyBFeGNoYW5nZSAtTlNFPC9hPiIsDQogICAgICAgICJjdHJ5IjogNTcwMy4wLA0KICAgICAgICAiZG5tbCI6ICIvc2l0ZXMvc3NlaW5pdGlhdGl2ZS9maWxlcy9kb2N1bWVudHMvbmlnZXJpYS1uc2UtY29tbWl0bWVudC1sZXR0ZXItZGVyaXZhdGl2ZXMtMS5wZGYiLA0KICAgICAgICAiZG5tIjogIlllcyIsDQogICAgICAgICJMaW5rIjogIiIsDQogICAgICAgICJjdGYiOiAiIiwNCiAgICAgICAgImN0IjogIiIsDQogICAgICAgICJTU0VEYiI6ICJZZXMiLA0KICAgICAgICAiU1NFRGJMaW5rIjogIi9zdG9jay1leGNoYW5nZS9uc2Uta2VueWEiLA0KICAgICAgICAidG9wIjogIjx1bD48bGk+RXF1aXR5IEluZGV4IEZ1dHVyZXM8L2xpPjxsaT5TaW5nbGUgU3RvY2sgRnV0dXJlczwvbGk+PC91bD4iLA0KICAgICAgICAiYXNyIjogIlllcyIsDQogICAgICAgICJhc3J0IjogIlllcyA8YnI+TlNFIOKAkyA8YSBocmVmPVwiaHR0cHM6Ly93d3cubnNlLmNvLmtlL3dwLWNvbnRlbnQvdXBsb2Fkcy9OU0UtMjAyMS1JbnRlZ3JhdGVkLVJlcG9ydC1hbmQtRmluYW5jaWFsLVN0YXRlbWVudHMucGRmXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj5TdXN0YWluYWJpbGl0eSBSZXBvcnQ8L2E+IiwNCiAgICAgICAgInNyciI6ICJObyIsDQogICAgICAgICJzcnJ0IjogIiIsDQogICAgICAgICJ3ZyI6ICJZZXMiLA0KICAgICAgICAid2d0IjogIjxwPk5TRSDigJMgPGEgaHJlZj1cIi9zaXRlcy9zc2Vpbml0aWF0aXZlL2ZpbGVzL2RvY3VtZW50cy9uc2UtZXNnLWRpc2Nsb3N1cmVzLWd1aWRhbmNlLnBkZlwiPkVTRyBndWlkYW5jZSBvbiBzdXN0YWluYWJpbGl0eSByZXBvcnRpbmc8L2E+PC9wPiIsDQogICAgICAgICJvc3NwIjogIlllcyIsDQogICAgICAgICJvc3NwdCI6ICI8dWw+PGxpPkdyZWVuIEJvbmRzPC9saT48L3VsPiIsDQogICAgICAgICJvc3J0IjogIlllcyIsDQogICAgICAgICJvc3J0dCI6ICIiLA0KICAgICAgICAiYWkiOiAiIiwNCiAgICAgICAgInJiIjogIlJlZ3VsYXRvcnkgbW9kZWw6IExpbWl0ZWQgZXhjaGFuZ2UgU1JPPHVsPjxsaT48YSBocmVmPVwiaHR0cHM6Ly9jbWEub3JnLnNhL2VuL1BhZ2VzL2RlZmF1bHQuYXNweFwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCI+Q2FwaXRhbCBNYXJrZXRzIEF1dGhvcml0eSAoQ01BKTwvYT48L2xpPjwvdWw+IiwNCiAgICAgICAgImFlIjogIjxwPlRoZSBOYWlyb2JpIFNlY3VyaXRpZXMgRXhjaGFuZ2UgKE5TRSkgaXMgYSBsZWFkaW5nIEFmcmljYW4gRXhjaGFuZ2UsIGJhc2VkIGluIEtlbnlhIOKAkyBvbmUgb2YgdGhlIGZhc3Rlc3QtZ3Jvd2luZyBlY29ub21pZXMgaW4gU3ViLVNhaGFyYW4gQWZyaWNhLiBGb3VuZGVkIGluIDE5NTQsIE5TRSBoYXMgYSBzaXggZGVjYWRlIGhlcml0YWdlIGluIGxpc3RpbmcgZXF1aXR5IGFuZCBkZWJ0IHNlY3VyaXRpZXMuIEl0IG9mZmVycyBhIHdvcmxkIGNsYXNzIHRyYWRpbmcgZmFjaWxpdHkgZm9yIGxvY2FsIGFuZCBpbnRlcm5hdGlvbmFsIGludmVzdG9ycyBsb29raW5nIHRvIGdhaW4gZXhwb3N1cmUgdG8gS2VueWEgYW5kIEFmcmljYeKAmXMgZWNvbm9taWMgZ3Jvd3RoLjxwPjxwPk5TRSBkZW11dHVhbGl6ZWQgYW5kIHNlbGYtbGlzdGVkIGluIDIwMTQuIEl0cyBCb2FyZCBhbmQgbWFuYWdlbWVudCB0ZWFtIGFyZSBjb21wcmlzZWQgb2Ygc29tZSBvZiBBZnJpY2HigJlzIGxlYWRpbmcgY2FwaXRhbCBtYXJrZXRzIHByb2Zlc3Npb25hbHMsIHdobyBhcmUgZm9jdXNlZCBvbiBpbm5vdmF0aW9uLCBkaXZlcnNpZmljYXRpb24gYW5kIG9wZXJhdGlvbmFsIGV4Y2VsbGVuY2UgaW4gdGhlIEV4Y2hhbmdlLiBOU0UgaXMgcGxheWluZyBhIHZpdGFsIHJvbGUgaW4gdGhlIGdyb3d0aCBvZiBLZW55YeKAmXMgZWNvbm9teSBieSBlbmNvdXJhZ2luZyBzYXZpbmdzIGFuZCBpbnZlc3RtZW50LCBhcyB3ZWxsIGFzIGhlbHBpbmcgbG9jYWwgYW5kIGludGVybmF0aW9uYWwgY29tcGFuaWVzIGFjY2VzcyBjb3N0LWVmZmVjdGl2ZSBjYXBpdGFsLjwvcD48cD5OU0Ugb3BlcmF0ZXMgdW5kZXIgdGhlIGp1cmlzZGljdGlvbiBvZiB0aGUgQ2FwaXRhbCBNYXJrZXRzIEF1dGhvcml0eSBvZiBLZW55YS4gSXQgaXMgYSBmdWxsIG1lbWJlciBvZiB0aGUgV29ybGQgRmVkZXJhdGlvbiBvZiBFeGNoYW5nZSwgYSBmb3VuZGVyIG1lbWJlciBvZiB0aGUgQWZyaWNhbiBTZWN1cml0aWVzIEV4Y2hhbmdlcyBBc3NvY2lhdGlvbiAoQVNFQSkgYW5kIHRoZSBFYXN0IEFmcmljYW4gU2VjdXJpdGllcyBFeGNoYW5nZXMgQXNzb2NpYXRpb24gKEVBU0VBKS4gVGhlIE5TRSBpcyBhIG1lbWJlciBvZiB0aGUgQXNzb2NpYXRpb24gb2YgRnV0dXJlcyBNYXJrZXQgYW5kIGlzIGEgcGFydG5lciBleGNoYW5nZSBpbiB0aGUgVW5pdGVkIE5hdGlvbnMtbGVkIFNTRSBpbml0aWF0aXZlLjwvcD4iLA0KICAgICAgICAiY2MiOiAiS0UiDQogICAgfSwgew0KICAgICAgICAiTmFtZTAiOiAiQnVyc2EgTWFsYXlzaWEgRGVyaXZhdGl2ZXMgQmVyaGFkIiwNCiAgICAgICAgIkNvdW50cnkiOiAiTWFsYXlzaWEiLA0KICAgICAgICAiTmFtZSI6ICI8YSBocmVmPVwiaHR0cHM6Ly93d3cuYnVyc2FtYWxheXNpYS5jb20vdHJhZGUvbWFya2V0L2Rlcml2YXRpdmVzX21hcmtldFwiPkJ1cnNhIE1hbGF5c2lhIERlcml2YXRpdmVzIEJlcmhhZDwvYT4iLA0KICAgICAgICAiY3RyeSI6IDE4MjMzNzg4LjAsDQogICAgICAgICJkbm1sIjogIi9zaXRlcy9zc2Vpbml0aWF0aXZlL2ZpbGVzL2RvY3VtZW50cy9jb21taXRtZW50LWxldHRlci1kZXJpdmF0aXZlcy1tYWxheXNpYS1idXJzYS1tYWxheXNpYS1ibWQucGRmIiwNCiAgICAgICAgImRubSI6ICJZZXMiLA0KICAgICAgICAiTGluayI6ICIiLA0KICAgICAgICAiY3RmIjogMTM2MjIxMy4wLA0KICAgICAgICAiY3QiOiA0NzguMCwNCiAgICAgICAgIlNTRURiIjogIlllcyIsDQogICAgICAgICJTU0VEYkxpbmsiOiAiL3N0b2NrLWV4Y2hhbmdlL2J1cnNhLW1hbGF5c2lhIiwNCiAgICAgICAgInRvcCI6ICI8dWw+PGxpPkVxdWl0eSBPcHRpb25zIGFuZCBGdXR1cmVzPC9saT48bGk+SW50ZXJlc3QgUmF0ZSBPcHRpb25zIGFuZCBGdXR1cmVzPC9saT48bGk+Q29tbW9kaXR5IE9wdGlvbnMgYW5kIEZ1dHVyZXM8L2xpPjwvdWw+IiwNCiAgICAgICAgImFzciI6ICJZZXMiLA0KICAgICAgICAiYXNydCI6ICI8cD5CdXJzYSBNYWxheXNpYSBEZXJpdmF0aXZlcyBCZXJoYWQg4oCTIDxhIGhyZWY9XCJodHRwczovL3d3dy5idXJzYW1hbGF5c2lhLmNvbS9hYm91dF9idXJzYS9zdXN0YWluYWJpbGl0eS9zdXN0YWluYWJpbGl0eV9yZXBvcnRzXCIgdGFyZ2V0PVwiX2JsYW5rXCI+U3VzdGFpbmFiaWxpdHkgUmVwb3J0PC9hPjxicj48L3A+PHA+Tm90ZTogVGhlIGFubnVhbCBzdXN0YWluYWJpbGl0eSByZXBvcnQgaXMgYW4gaW50ZWdyYXRlZCByZXBvcnQgY29uc29saWRhdGluZyBhbGwgdGhlIHN1c3RhaW5hYmlsaXR5IGVmZm9ydHMgYW5kIGluaXRpYXRpdmVzIHVuZGVydGFrZW4gYnkgQnVyc2EgTWFsYXlzaWEgYW5kIGl0cyBzdWJzaWRpYXJpZXMsIGluY2x1ZGluZyB0aGUgZGVyaXZhdGl2ZXMgbWFya2V0IG9wZXJhdGVkIGJ5IEJ1cnNhIE1hbGF5c2lhIERlcml2YXRpdmVzIEJlcmhhZC48L3A+IiwNCiAgICAgICAgInNyciI6ICJZZXMiLA0KICAgICAgICAic3JydCI6ICJBIHRyYWNlYWJpbGl0eSByZXF1aXJlbWVudCBpcyBpbiBwbGFjZSBmb3IgdGhlIGJlbmNobWFyayBDcnVkZSBQYWxtIE9pbCBGdXR1cmVzIChGQ1BPKSBjb250cmFjdCB3aGVyZSBzZWxsZXJzIG9mIEZDUE8gYXJlIHJlcXVpcmVkIHRvIHN1Ym1pdCBhIHRyYWNlYWJpbGl0eSBkb2N1bWVudCB3aGVuIHRoZXkgZGVsaXZlciBjcnVkZSBwYWxtIG9pbCAoQ1BPKSB0byB0aGUgZGVyaXZhdGl2ZXMgZXhjaGFuZ2UtYXBwcm92ZWQgUG9ydCBUYW5rIGluc3RhbGxhdGlvbnMgKFBUSSkuIEFzIG9mIDMxIERlY2VtYmVyIDIwMjAsIDQyNyBvdXQgb2YgNDUyIG1pbGxzIGluIE1hbGF5c2lhIG9yIGFwcHJveGltYXRlbHkgOTQlIGhhdmUgYmVlbiBjZXJ0aWZpZWQgYnkgdGhlIE1hbGF5c2lhbiBQYWxtIE9pbCBDZXJ0aWZpY2F0aW9uIENvdW5jaWwgKE1QT0NDKSB1bmRlciB0aGUgTWFsYXlzaWFuIFN1c3RhaW5hYmxlIFBhbG0gT2lsIChNU1BPKSBDZXJ0aWZpY2F0aW9uIFNjaGVtZS4gVGhlIE1TUE8gQ2VydGlmaWNhdGlvbiBTY2hlbWUgaXMgdGhlIG5hdGlvbmFsIHNjaGVtZSBpbiBNYWxheXNpYSBmb3Igb2lsIHBhbG0gcGxhbnRhdGlvbnMsIGluZGVwZW5kZW50IGFuZCBvcmdhbmlzZWQgc21hbGxob2xkaW5ncywgYW5kIHBhbG0gb2lsIHByb2Nlc3NpbmcgZmFjaWxpdGllcyB0byBiZSBjZXJ0aWZpZWQgYWdhaW5zdCB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBNU1BPIFN0YW5kYXJkcy48L3NwYW4+IiwNCiAgICAgICAgIndnIjogIlllcyIsDQogICAgICAgICJ3Z3QiOiAiPHA+V3JpdHRlbiByZXBvcnRpbmcgZ3VpZGFuY2UgYW5kIHRvb2xraXRzIGhhdmUgYmVlbiBtYWRlIGF2YWlsYWJsZSBmb3IgYWxsIG1hcmtldCBwYXJ0aWNpcGFudHMgb24gPGEgaHJlZj1cImh0dHBzOi8vd3d3LmJ1cnNhbWFsYXlzaWEuY29tL3RyYWRlL21hcmtldC9kZXJpdmF0aXZlc19tYXJrZXRcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiPkJVUlNBU1VTVEFJTjwvYT48L3A+IiwNCiAgICAgICAgIm9zc3AiOiAiWWVzIiwNCiAgICAgICAgIm9zc3B0IjogIjx1bD48bGk+Q29tbW9kaXR5IGZ1dHVyZXMgcHJvZHVjdCDigJMgRkNQTzwvbGk+PC91bD4iLA0KICAgICAgICAib3NydCI6ICJZZXMiLA0KICAgICAgICAib3NydHQiOiAiQnVyc2EgTWFsYXlzaWEgY29uZHVjdHMgdmFyaW91cyBhZHZvY2FjeSBwcm9ncmFtbWVzIG9uIHJlbGV2YW50IGNvcnBvcmF0ZSBnb3Zlcm5hbmNlIGFuZCBzdXN0YWluYWJpbGl0eSB0aGVtZXMuIE9uIGRlcml2YXRpdmVzIG1hcmtldCwgQnVyc2EgTWFsYXlzaWEgRGVyaXZhdGl2ZXMgb3JnYW5pc2VzIHNldmVyYWwgd2ViaW5hcnMgYW5kIHZpcnR1YWwgd29ya3Nob3BzIHRvIHJhaXNlIGdlbmVyYWwgYXdhcmVuZXNzIG9uIGRlcml2YXRpdmVzIGFuZCB0byBlcXVpcCBpbnZlc3RvcnMgd2l0aCB0aGUgbmVjZXNzYXJ5IGtub3dsZWRnZSBhbmQgc2tpbGxzIHRvIHRyYWRlIGluIGl0cyBkZXJpdmF0aXZlIHByb2R1Y3RzLiIsDQogICAgICAgICJhaSI6ICIiLA0KICAgICAgICAicmIiOiAiUmVndWxhdG9yeSBtb2RlbDogU3Ryb25nIGV4Y2hhbmdlIFNSTyBTZWN1cml0aWVzIENvbW1pc3Npb24gb2YgTWFsYXlzaWE6IDxhIGhyZWY9XCJodHRwczovL3d3dy5zYy5jb20ubXkvXCIgdGFyZ2V0PVwiX2JsYW5rXCI+aHR0cHM6Ly93d3cuc2MuY29tLm15LzwvYT4gQnVyc2EgTWFsYXlzaWEgaXMgYW4gZXhjaGFuZ2UgaG9sZGluZyBjb21wYW55IGFwcHJvdmVkIHVuZGVyIHNlY3Rpb24gMTUgb2YgdGhlIENhcGl0YWwgTWFya2V0cyBhbmQgU2VydmljZXMgQWN0IDIwMDcgKENNU0EpIGJ5IHRoZSBTZWN1cml0aWVzIENvbW1pc3Npb24gKFNDKSBiZWluZyB0aGUgcHJpbWFyeSByZWd1bGF0b3Igb2YgdGhlIGNhcGl0YWwgbWFya2V0LiBCdXJzYSBNYWxheXNpYSBpcyB0aGUgZnJvbnRsaW5lIHJlZ3VsYXRvciBhbmQgaGFzIHRoZSBkdXR5IHRvIG1haW50YWluIGEgZmFpciBhbmQgb3JkZXJseSBtYXJrZXQgaW4gdGhlIHNlY3VyaXRpZXMgYW5kIGRlcml2YXRpdmVzIHRoYXQgYXJlIHRyYWRlZCB0aHJvdWdoIGl0cyBmYWNpbGl0aWVzLiBJbiB0aGlzIHJlZ2FyZCwgQnVyc2EgTWFsYXlzaWEgaGFzIHB1dCBpbiBwbGFjZSBhIGNvbXByZWhlbnNpdmUgYW5kIGVmZmVjdGl2ZSByZWd1bGF0b3J5IGFuZCBzdXBlcnZpc29yeSBmcmFtZXdvcmsgdG8gcmVndWxhdGUgdGhlIG1hcmtldCwgaXRzIHBhcnRpY2lwYW50cyBhbmQgbGlzdGVkIGlzc3VlcnMuIEluIHRoaXMgcmVzcGVjdCwgQnVyc2EgTWFsYXlzaWEgaGFzIGlzc3VlZCB2YXJpb3VzIHNldHMgb2YgcnVsZXMgdG8gc3RpcHVsYXRlIHRoZSByZXF1aXJlbWVudHMgdGhhdCBuZWVkIHRvIGJlIG1ldCBieSB0aGUgcmVndWxhdGVkIGVudGl0aWVzIGVpdGhlciB1cG9uIGFkbWlzc2lvbiBhbmQvb3Igb24gYSBjb250aW51aW5nIGJhc2lzLiBJdCBhZG1pbmlzdGVycyBhbmQgbW9uaXRvcnMgY29tcGxpYW5jZSB3aXRoIHRoZXNlIHJ1bGVzIGFuZCB0YWtlcyBzdHJpY3QsIHByb21wdCBhbmQgb2JqZWN0aXZlIGVuZm9yY2VtZW50IGFjdGlvbiBmb3IgYnJlYWNoZXMgb2YgdGhlc2UgcnVsZXMuIEJ1cnNhIE1hbGF5c2lhIGFjdGl2ZWx5IHN1cGVydmlzZXMgdGhlIGxpc3RlZCBpc3N1ZXJzIGFuZCB0aGUgcGFydGljaXBhbnRzLiBJdCBhbHNvIHVuZGVydGFrZXMgc3VydmVpbGxhbmNlIG92ZXIgdGhlIHRyYWRpbmcgYWN0aXZpdGllcyBpbiB0aGUgbWFya2V0cGxhY2UuIFRoZSBTQyBzdXBlcnZpc2VzIGFuZCBtb25pdG9ycyBCdXJzYSBNYWxheXNpYSB0byBlbnN1cmUgdGhhdCBCdXJzYSBNYWxheXNpYSBwZXJmb3JtcyBpdHMgcmVndWxhdG9yeSBkdXRpZXMgYW5kIG9ibGlnYXRpb25zIGluIGFuIGVmZmVjdGl2ZSBtYW5uZXIuIFVuZGVyIHRoZSBsYXcsIHRoZSBTQ+KAmXMgYXBwcm92YWwgaXMgcmVxdWlyZWQgZm9yIGNoYW5nZXMgdG8gQnVyc2EgTWFsYXlzaWHigJlzIHJ1bGVzLiBCdXJzYSBNYWxheXNpYSBEZXJpdmF0aXZlcyBCZXJoYWQgKEJ1cnNhIE1hbGF5c2lhIERlcml2YXRpdmVzKSwgYXBwbGljYXRpb24gaXMgYSB3aG9sbHkgb3duZWQgc3Vic2lkaWFyeSBvZiBCdXJzYSBNYWxheXNpYSBhbmQgYSBtZW1iZXIgb2YgdGhlIEJ1cnNhIE1hbGF5c2lhIEdyb3VwIG9mIGNvbXBhbmllcyAoQnVyc2EgTWFsYXlzaWEgR3JvdXApLiYjMTYwOyBCdXJzYSBNYWxheXNpYSBpcyB0aGUgbGlzdGVkIGhvbGRpbmcgY29tcGFueSBmb3IgZWlnaHQgKDgpIGF1dGhvcml6ZWQgb3BlcmF0aW5nIHN1YnNpZGlhcmllcyAoZXhjaGFuZ2UgaG9sZGluZyBjb21wYW55KSwgc3VwcG9ydGVkIGJ5IHJlbGF0ZWQgYm9kaWVzIGNvcnBvcmF0ZSB0byBhc3Npc3QgaW4gdGhlIHBlcmZvcm1hbmNlIG9mIGl0cyBhdXRob3JpemF0aW9uIG9ibGlnYXRpb25zLiYjMTYwOyBUb2dldGhlciB0aGVzZSBmb3JtIHRoZSBCdXJzYSBNYWxheXNpYSBHcm91cCwgd2hpY2ggb2ZmZXIgYSByYW5nZSBvZiBtYXJrZXQgc2VydmljZXMgbGlua2VkIGJ5IGEgY29tbW9uIHB1cnBvc2UgdG8gcHJvdmlkZSBjb3JlIGNhcGl0YWwgbWFya2V0cyBzZXJ2aWNlcyBhbmQmIzE2MDtpbmZyYXN0cnVjdHVyZSB0byYjMTYwO21lZXQgdGhlIG5lZWRzIG9mIGEgd2lkZSByYW5nZSBvZiBjYXBpdGFsIG1hcmtldHMgc3Rha2Vob2xkZXJzIGFuZCBmb3IgYSBnbG9iYWxseSBjb21wZXRpdGl2ZSBhbmQgdmlicmFudCBNYWxheXNpYW4gZWNvbm9teS4iLA0KICAgICAgICAiYWUiOiAiQnVyc2EgTWFsYXlzaWEgRGVyaXZhdGl2ZXMgcHJvdmlkZXMsIG9wZXJhdGVzIGFuZCBtYWludGFpbnMgYSBkZXJpdmF0aXZlcyBleGNoYW5nZSB1bmRlciB0aGUgc3VwZXJ2aXNpb24gb2YgdGhlIFNDIGFuZCBpcyBnb3Zlcm5lZCBieSB0aGUgQ01TQS4gSWYgb2ZmZXJzIGludmVzdG9ycyB0aGUgYWJpbGl0eSBvZiB0cmFkaW5nIG9uIGEgcmVndWxhdGVkIG1hcmtldHBsYWNlIHdpdGggaW5mcmFzdHJ1Y3R1cmUgYW5kIHJlZ3VsYXRpb25zIGNvbXBhcmFibGUgdG8gdGhhdCBvZiBlc3RhYmxpc2hlZCBtYXJrZXRzIHdvcmxkd2lkZS4mIzE2MDs8L3NwYW4+IDxzcGFuIHN0eWxlPVwiZm9udC13ZWlnaHQ6NDAwO1wiPkJNRCBvZmZlcnMgdGhlIG1vc3QgbGlxdWlkIGFuZCBzdWNjZXNzZnVsIGNydWRlIHBhbG0gb2lsIGZ1dHVyZXMgKEZDUE8pIGNvbnRyYWN0IGluIHRoZSB3b3JsZCwgY29uc29saWRhdGluZyBNYWxheXNpYeKAmXMgcG9zaXRpb24gYXMgdGhlIGdsb2JhbCBjZW50cmUgZm9yIHBhbG0gb2lsIHByaWNlIGRpc2NvdmVyeS4gRm9yIG92ZXIgMzAgeWVhcnMsIEZDUE8gaXMgYWN0aXZlbHkgdXNlZCBieSBlZGlibGUgb2lscyBhbmQgZmF0cyBpbmR1c3RyeSBwbGF5ZXJzIGFzIGEgcmlzayBtYW5hZ2VtZW50IHNvbHV0aW9uLCBhcyB3ZWxsIGFzIGJ5IGZ1bmQgbWFuYWdlcnMgYW5kIGZpbmFuY2lhbCBpbnN0aXR1dGlvbnMgZm9yIG1hbmFnaW5nIHByaWNlIGZsdWN0dWF0aW9ucyBpbiB0aGUgbWFya2V0LiBBcGFydCBmcm9tIGFncmljdWx0dXJhbCBjb21tb2RpdHkgZGVyaXZhdGl2ZXMsIEJ1cnNhIE1hbGF5c2lhIERlcml2YXRpdmVzIHByb3ZpZGUgZXF1aXR5LCBpbnRlcmVzdCByYXRlcywgYm9uZCBhbmQgbWV0YWwgY29tbW9kaXR5IChnb2xkIGFuZCB0aW4pIGZ1dHVyZXMgYW5kIG9wdGlvbnMgbWFya2V0IHRyYWRpbmcgYW5kIHNldHRsZW1lbnQgc2VydmljZXMuIiwNCiAgICAgICAgImNjIjogIk1ZIg0KICAgIH0sIHsNCiAgICAgICAgIk5hbWUwIjogIk1leERlciwgTWV4aWNhbiBEZXJpdmF0aXZlcyBFeGNoYW5nZSIsDQogICAgICAgICJDb3VudHJ5IjogIk1leGljbyIsDQogICAgICAgICJOYW1lIjogIjxhIGhyZWY9XCJodHRwOi8vd3d3Lm1leGRlci5jb20ubXgvXCI+TWV4RGVyLCBNZXhpY2FuIERlcml2YXRpdmVzIEV4Y2hhbmdlPC9hPiIsDQogICAgICAgICJjdHJ5IjogMTQ4MzQ3ODguMCwNCiAgICAgICAgImRubWwiOiAiL3NpdGVzL3NzZWluaXRpYXRpdmUvZmlsZXMvZG9jdW1lbnRzL2NvbW1pdG1lbnQtbGV0dGVyLWRlcml2YXRpdmVzLW1leGljby1tZXhkZXItZ3J1cG8tYm12LnBkZiIsDQogICAgICAgICJkbm0iOiAiWWVzIiwNCiAgICAgICAgIkxpbmsiOiAiIiwNCiAgICAgICAgImN0ZiI6IDQxOTY2NC4wLA0KICAgICAgICAiY3QiOiAyOTAuMCwNCiAgICAgICAgIlNTRURiIjogIlllcyIsDQogICAgICAgICJTU0VEYkxpbmsiOiAiL3N0b2NrLWV4Y2hhbmdlL2JtdiIsDQogICAgICAgICJ0b3AiOiAiPHVsPjxsaT5FcXVpdHkgT3B0aW9ucyBhbmQgRnV0dXJlczwvbGk+PGxpPkludGVyZXN0IFJhdGUgRnV0dXJlcyYjMTYwOzwvbGk+PGxpPkZYIE9wdGlvbnMgYW5kIEZ1dHVyZXMmIzE2MDs8L2xpPjxsaT5JbnRlcmVzdCBSYXRlIFN3YXBzPC9saT48L3VsPiIsDQogICAgICAgICJhc3IiOiAiWWVzIiwNCiAgICAgICAgImFzcnQiOiAiIiwNCiAgICAgICAgInNyciI6ICJObyIsDQogICAgICAgICJzcnJ0IjogIiIsDQogICAgICAgICJ3ZyI6ICJZZXMiLA0KICAgICAgICAid2d0IjogIjxwPjxhIGhyZWY9XCJodHRwczovL3d3dy5ibXYuY29tLm14L2RvY3MtcHViL1NFUlZJQ0lPU19FTUlTT1JBUy8zcTJ3azdyOGpqNjc0Nms0NnExbi5wZGZcIj5FU0cgZ3VpZGFuY2Ugb24gc3VzdGFpbmFiaWxpdHkgcmVwb3J0aW5nPC9hPjwvcD4iLA0KICAgICAgICAib3NzcCI6ICJObyIsDQogICAgICAgICJvc3NwdCI6ICIiLA0KICAgICAgICAib3NydCI6ICJZZXMiLA0KICAgICAgICAib3NydHQiOiAiTWV4RGVyIG9mZmVycyBFU0cgdHJhaW5pbmcgdG8gdGhlIG1hcmtldCBwYXJ0aWNpcGFudHMuIiwNCiAgICAgICAgImFpIjogIiIsDQogICAgICAgICJyYiI6ICJSZWd1bGF0b3J5IG1vZGVsOiBMaW1pdGVkIGV4Y2hhbmdlPHVsPjxsaT5DTkJWPC9saT48bGk+QmFuY28gZGUgTcOpeGljbzwvbGk+PGxpPk1leGljYW4gTWluaXN0ZXIgb2YgRmluYW5jZSAoU0hDUCk8L2xpPjwvdWw+IiwNCiAgICAgICAgImFlIjogIk1leERlciBpcyB0aGUgTWV4aWNhbiBEZXJpdmF0aXZlcyBFeGNoYW5nZSwgc3Vic2lkaWFyeSBvZiB0aGUgTWV4aWNhbiBTdG9jayBFeGNoYW5nZSAoQk1WIEdyb3VwKSwgdGhhdCBiZWdhbiBvcGVyYXRpb25zIGluIDE5OTggYW5kIG9mZmVycyBGdXR1cmUsIE9wdGlvbiBhbmQgU2FwcyBjb250cmFjdHMuIEEgc2VsZi1yZWd1bGF0ZWQgZW50aXR5LCBNZXhEZXIgYWxvbmcgd2l0aCBBc2lnbmEgKENsZWFyaW5nIEhvdXNlKSwgb2ZmZXIgdHJhbnNwYXJlbnQgYmVuY2htYXJrIGRlcml2YXRpdmUgcHJvZHVjdHMgYmFzZWQgb24gSW50ZXJlc3QgUmF0ZXMsIEZvcmVpZ24gRXhjaGFuZ2UgYW5kIFN0b2NrIEluZGV4ZXMuIiwNCiAgICAgICAgImNjIjogIk1YIg0KICAgIH0sIHsNCiAgICAgICAgIk5hbWUwIjogIk1vbmdvbGlhbiBBZ3JpY3VsdHVyYWwgQ29tbW9kaXR5IEV4Y2hhbmdlIiwNCiAgICAgICAgIkNvdW50cnkiOiAiTW9uZ29saWEiLA0KICAgICAgICAiTmFtZSI6ICI8YSBocmVmPVwiaHR0cDovL3d3dy5tY2UubW4vXCI+TW9uZ29saWFuIEFncmljdWx0dXJhbCBDb21tb2RpdHkgRXhjaGFuZ2U8L2E+IiwNCiAgICAgICAgImN0cnkiOiA5ODMuMCwNCiAgICAgICAgImRubWwiOiAiIiwNCiAgICAgICAgImRubSI6ICJZZXMiLA0KICAgICAgICAiTGluayI6ICJuZyIsDQogICAgICAgICJjdGYiOiAxMDAuMCwNCiAgICAgICAgImN0IjogNTAuMCwNCiAgICAgICAgIlNTRURiIjogIk5vIiwNCiAgICAgICAgIlNTRURiTGluayI6ICIiLA0KICAgICAgICAidG9wIjogIjx1bD48bGk+Q29tbW9kaXR5IE9wdGlvbnMgYW5kIEZ1dHVyZXM8L2xpPjxsaT5BZ3JpY3VsdHVyZSByYXcgYW5kIHByb2Nlc3NlZCBtYXRlcmlhbHMgc3BvdCBjb250cmFjdHM8L2xpPjwvdWw+IiwNCiAgICAgICAgImFzciI6ICJObyIsDQogICAgICAgICJhc3J0IjogIiIsDQogICAgICAgICJzcnIiOiAiTm8iLA0KICAgICAgICAic3JydCI6ICIiLA0KICAgICAgICAid2ciOiAiTm8iLA0KICAgICAgICAid2d0IjogIiIsDQogICAgICAgICJvc3NwIjogIk5vIiwNCiAgICAgICAgIm9zc3B0IjogIjx1bD48bGk+VGhlIGV4Y2hhbmdlIGlzIHdvcmtpbmcgd2l0aCBUaGUgU3VzdGFpbmFibGUgRmlicmUgQWxsaWFuY2UgKFNGQSkgdG8gaW50cm9kdWNlIGdyZWVuIGNvbW1vZGl0eS48L2xpPjwvdWw+IiwNCiAgICAgICAgIm9zcnQiOiAiTm8iLA0KICAgICAgICAib3NydHQiOiAiIiwNCiAgICAgICAgImFpIjogIiIsDQogICAgICAgICJyYiI6ICI8dWw+PGxpPkZpbmFuY2lhbCBSZWd1bGF0b3J5IENvbW1pc3Npb24gb2YgTW9uZ29saWEgKEZSQyk8L2xpPjwvdWw+IiwNCiAgICAgICAgImFlIjogIk1BQ0UgaXMgYSBzdGF0ZS1vd25lZCBlbnRlcnByaXNlIHRoYXQgb3BlcmF0ZXMgb24gcmVndWxhdGVkIG1hcmtldCB1bmRlciBzdXBlcnZpc2lvbiBvZiB0aGUgRmluYW5jaWFsIFJlZ3VsYXRvcnkgQ29tbWlzc2lvbiBvZiBNb25nb2xpYS4gTUFDRSB3YXMgZXN0YWJsaXNoZWQgaW4gMjAxMywgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBMYXcgb24gQWdyaWN1bHR1cmFsIFByb2R1Y3RzIGFuZCBDb21tb2RpdHkgRXhjaGFuZ2UsIHdpdGggYSBtYWluIGdvYWwgdG8gZXN0YWJsaXNoIGEgY29tcHJlaGVuc2l2ZSBzeXN0ZW0gZm9yIHN1cHBseWluZywgc3RvcmluZywgdHJhbnNwb3J0aW5nIGFuZCB0cmFkaW5nIGluIGFncmljdWx0dXJhbCBnb29kcyBhbmQgcmF3IG1hdGVyaWFscyBpbiBhY2NvcmRhbmNlIHdpdGggcXVhbGl0eSBzdGFuZGFyZHMsIHRodXMgaW5jcmVhc2luZyBwYXJ0aWNpcGF0aW9uIG9mIGhlcmRlcnMgYW5kIGNvb3BlcmF0aXZlcyBpbiB0cmFkaW5nIGFjdGl2aXRpZXMgdG8gc3VwcG9ydCBzdXN0YWluYWJsZSBpbmNvbWUgZ2VuZXJhdGlvbiwgc3VwcG9ydCBkb21lc3RpYyBwcm9kdWNlcnMsIHByb21vdGUgZXhwb3J0cyBhbmQgZGV2ZWxvcCBkaWdpdGFsIGFncmljdWx0dXJlLiBNQUNFIGN1cnJlbnRseSBwcm92aWRlcyBhIHBsYXRmb3JtIGZvciBzcG90IGFuZCBkZXJpdmF0aXZlcyBtYXJrZXQgdHJhZGluZyBhbmQgcGxheXMgYSByb2xlIGluIHByaWNlIGRpc2NvdmVyeSBhbmQgdHJhbnNwYXJlbmN5LCBhbmQgZW5zdXJpbmcgc2FmZSBhbmQgZWZmaWNpZW50IHRyYWRpbmcgYW5kIHNldHRsZW1lbnQgb2YgY29tbW9kaXRpZXMgY29udHJhY3RzLCBzdWNoIGFzIHByb2Nlc3NlZCBhbmQgc2VtaS1wcm9jZXNzZWQgcmF3IG1hdGVyaWFscywgc3BlY2lmaWNhbGx5IGNhc2htZXJlLCB3b29sLCB3aGVhdCwgbWVhdCwgbGl2ZXN0b2NrLCBza2luIGFuZCBoaWRlLiBUaGUgRXhjaGFuZ2UgaXMgbG9jYXRlZCBpbiBVbGFhbmJhYXRhciwgTW9uZ29saWEuIEl0IGVtcGxveXMgMzYgc3RhZmYuIEl0IG9wZXJhdGVzIHdpdGggZm91ciBkZXBhcnRtZW50cywgVHJhZGluZyBhbmQgTWFya2V0IERldmVsb3BtZW50IERlcGFydG1lbnQsIE1lbWJlcnNoaXAgYW5kIFJlZ2lzdHJhdGlvbiBEZXBhcnRtZW50LCBBZG1pbmlzdHJhdGlvbiBhbmQgRmluYW5jZSBEZXBhcnRtZW50LCBJbmZvcm1hdGlvbiBUZWNobm9sb2d5IERldmVsb3BtZW50IERlcGFydG1lbnQuIiwNCiAgICAgICAgImNjIjogIk1OIg0KICAgIH0sIHsNCiAgICAgICAgIk5hbWUwIjogIk5aWCBEZXJpdmF0aXZlcyBFeGNoYW5nZSIsDQogICAgICAgICJDb3VudHJ5IjogIk5ldyBaZWFsYW5kIiwNCiAgICAgICAgIk5hbWUiOiAiPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm56eC5jb20vbWFya2V0cy9OWkNYL292ZXJ2aWV3XCI+TlpYIERlcml2YXRpdmVzIEV4Y2hhbmdlPC9hPiIsDQogICAgICAgICJjdHJ5IjogMzYwODg3LjAsDQogICAgICAgICJkbm1sIjogIi9zaXRlcy9zc2Vpbml0aWF0aXZlL2ZpbGVzL2RvY3VtZW50cy9jb21taXRtZW50LWxldHRlci1kZXJpdmF0aXZlcy1uZXctemVhbGFuZC1uengucGRmIiwNCiAgICAgICAgImRubSI6ICJZZXMiLA0KICAgICAgICAiTGluayI6ICIiLA0KICAgICAgICAiY3RmIjogMjAzMzQuMCwNCiAgICAgICAgImN0IjogMjMwLjAsDQogICAgICAgICJTU0VEYiI6ICJZZXMiLA0KICAgICAgICAiU1NFRGJMaW5rIjogIi9zdG9jay1leGNoYW5nZS9uengiLA0KICAgICAgICAidG9wIjogIjx1bD48bGk+Q29tbW9kaXR5IE9wdGlvbnMgYW5kIEZ1dHVyZXM8L2xpPjwvdWw+IiwNCiAgICAgICAgImFzciI6ICJZZXMiLA0KICAgICAgICAiYXNydCI6ICJZZXM8YnI+IE5aWCDigJMgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm56eC5jb20vYW5ub3VuY2VtZW50cy8zODkzNDdcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiPlN1c3RhaW5hYmlsaXR5IFJlcG9ydDwvYT4iLA0KICAgICAgICAic3JyIjogIk5vIiwNCiAgICAgICAgInNycnQiOiAiIiwNCiAgICAgICAgIndnIjogIk5vIiwNCiAgICAgICAgIndndCI6ICIiLA0KICAgICAgICAib3NzcCI6ICJObyIsDQogICAgICAgICJvc3NwdCI6ICIiLA0KICAgICAgICAib3NydCI6ICJObyIsDQogICAgICAgICJvc3J0dCI6ICIiLA0KICAgICAgICAiYWkiOiAiIiwNCiAgICAgICAgInJiIjogIlJlZ3VsYXRvcnkgbW9kZWw6IExpbWl0ZWQgZXhjaGFuZ2UgU1JPIE5aWCBMaW1pdGVkIG9wZXJhdGVzIGxpY2Vuc2VkIHNlY3VyaXRpZXMgYW5kIGRlcml2YXRpdmVzIG1hcmtldHMgdW5kZXIgYSBsZWdpc2xhdGl2ZSBmcmFtZXdvcmsgZXN0YWJsaXNoZWQgdW5kZXIgdGhlIEZpbmFuY2lhbCBNYXJrZXRzIENvbmR1Y3QgQWN0IDIwMTMuIFRob3NlIG1hcmtldHMgb3BlcmF0ZWQgdW5kZXIgYSDigJxzZWxmIHJlZ3VsYXRpbmcgb3JnYW5pc2F0aW9u4oCdIChTUk8pIG1vZGVsLiBUaGF0IG1lYW5zIE5aWCBpcyBib3RoIGFuIG9wZXJhdG9yIGFuZCBhIHJlZ3VsYXRvciBvZiBtYXJrZXRzLiIsDQogICAgICAgICJhZSI6ICJOWlggb3BlcmF0ZXMgTmV3IFplYWxhbmTigJlzIGVxdWl0eSwgZGVidCwgZnVuZHMsIGRlcml2YXRpdmVzIGFuZCBlbmVyZ3kgbWFya2V0cy4gVG8gc3VwcG9ydCB0aGUgZ3Jvd3RoIG9mIG91ciBtYXJrZXRzLCB3ZSBwcm92aWRlIHRyYWRpbmcsIGNsZWFyaW5nLCBzZXR0bGVtZW50LCBkZXBvc2l0b3J5IGFuZCBkYXRhIHNlcnZpY2VzIGZvciBvdXIgY3VzdG9tZXJzLiBXZSBhbHNvIG93biBTbWFydHNoYXJlcywgTmV3IFplYWxhbmTigJlzIG9ubHkgaXNzdWVyIG9mIGxpc3RlZCBFeGNoYW5nZSBUcmFkZWQgRnVuZHMgKEVURnMpLCBhbmQgS2l3aVNhdmVyIHByb3ZpZGVyIFN1cGVyTGlmZS4gTlpYIFdlYWx0aCBUZWNobm9sb2dpZXMgc3Vic2lkaWFyeSBpcyBhbiBvbmxpbmUgYXNzZXQgbWFuYWdlbWVudCBwbGF0Zm9ybS4gTGVhcm4gbW9yZSBhYm91dCB1cyBhdDogPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm56eC5jb20vXCI+d3d3Lm56eC5jb20gPC9hPiBOWljigJlzIERhaXJ5IERlcml2YXRpdmVzIE1hcmtldCBvZmZlcnMgYSByYW5nZSBvZiBkYWlyeSBjb250cmFjdHMgaW5jbHVkaW5nIGluZ3JlZGllbnQgY29udHJhY3RzICh3aG9sZSBtaWxrIHBvd2Rlciwgc2tpbSBtaWxrIHBvd2RlciwgYnV0dGVyIGFuZCBhbmh5ZHJvdXMgbWlsayBmYXQpIGFzIHdlbGwgYXMgbWlsayAoTUtQKSBmdXR1cmVzIGFuZCBvcHRpb25zLiBUaGUgcHVycG9zZSBvZiB0aGVzZSBwcm9kdWN0cyBpcyB0byBoZWxwIHByb3ZpZGUgYSB1c2VmdWwgdG9vbCBmb3IgZmFybWVycywgcHJvZHVjZXJzLCBhbmQgbWFudWZhY3R1cmVycywgYW1vbmcgb3RoZXJzLCBmb3IgdGhlIG1hbmFnZW1lbnQgb2YgcHJpY2UgcmlzayBpbmhlcmVudCB0byB0aGUgZ2xvYmFsIGRhaXJ5IGluZHVzdHJ5LiIsDQogICAgICAgICJjYyI6ICJOWiINCiAgICB9LCB7DQogICAgICAgICJOYW1lMCI6ICJTaW5nYXBvcmUgRXhjaGFuZ2UgLSBTR1giLA0KICAgICAgICAiQ291bnRyeSI6ICJTaW5nYXBvcmUiLA0KICAgICAgICAiTmFtZSI6ICI8YT5TaW5nYXBvcmUgRXhjaGFuZ2UgLSBTR1g8L2E+IiwNCiAgICAgICAgImN0cnkiOiAyMzI1MDAwMDAuMCwNCiAgICAgICAgImRubWwiOiAiL3N0b2NrLWV4Y2hhbmdlL3NneCIsDQogICAgICAgICJkbm0iOiAiWWVzIiwNCiAgICAgICAgIkxpbmsiOiAiIiwNCiAgICAgICAgImN0ZiI6IDIxMzA5MjMyLjAsDQogICAgICAgICJjdCI6IDk0NDAxMS4wLA0KICAgICAgICAiU1NFRGIiOiAiWWVzIiwNCiAgICAgICAgIlNTRURiTGluayI6ICIvc3RvY2stZXhjaGFuZ2Uvc2d4IiwNCiAgICAgICAgInRvcCI6ICI8dWw+PGxpPkVxdWl0eSBPcHRpb25zIGFuZCBGdXR1cmVzPC9saT48bGk+SW50ZXJlc3QgUmF0ZSBPcHRpb25zIGFuZCBGdXR1cmVzPC9saT48bGk+Q3VycmVuY3kgT3B0aW9ucyBhbmQgRnV0dXJlczwvbGk+PGxpPkNvbW1vZGl0eSBPcHRpb25zIGFuZCBGdXR1cmVzPC9saT48L3VsPjxwPk1vcmUgb246IDxhIGhyZWY9XCJodHRwczovL3d3dy5zZ3guY29tL2Rlcml2YXRpdmVzXCIgdGFyZ2V0PVwiX2JsYW5rXCI+aHR0cHM6Ly93d3cuc2d4LmNvbS9kZXJpdmF0aXZlczwvYT4iLA0KICAgICAgICAiYXNyIjogIlllcyIsDQogICAgICAgICJhc3J0IjogIiIsDQogICAgICAgICJzcnIiOiAiWWVzIiwNCiAgICAgICAgInNycnQiOiAiPGEgaHJlZj1cImh0dHBzOi8vcnVsZWJvb2suc2d4LmNvbS9ydWxlYm9vay9zdXN0YWluYWJpbGl0eS1yZXBvcnRcIj5TR1ggc3VzdGFpbmFiaWxpdHkgcmVwb3J0aW5nIHJlcXVpcmVtZW50cyBmb3IgbWFya2V0IHBhcnRpY2lwYW50czwvYT4iLA0KICAgICAgICAid2ciOiAiWWVzIiwNCiAgICAgICAgIndndCI6ICI8cD48YSBocmVmPVwiaHR0cHM6Ly9hcGkyLnNneC5jb20vc2l0ZXMvZGVmYXVsdC9maWxlcy8yMDE4LTA3L1N1c3RhaW5hYmlsaXR5JTIwUmVwb3J0aW5nJTIwR3VpZGUlMjAlMjgyMjAyMTglMjkucGRmXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj5TR1gg4oCTIEVTRyByZXBvcnRpbmcgZ3VpZGVsaW5lczwvYT48L3A+IiwNCiAgICAgICAgIm9zc3AiOiAiWWVzIiwNCiAgICAgICAgIm9zc3B0IjogIjx1bD48bGk+U0dYIEZUU0UgRW1lcmdpbmcgRVNHIEluZGV4IEZ1dHVyZXM8L2xpPjxsaT5TR1ggRlRTRSBFbWVyZ2luZyBBc2lhIEVTRyBJbmRleCBGdXR1cmVzPC9saT48bGk+U0dYIEZUU0UgQXNpYSBleCBKYXBhbiBFU0cgSW5kZXggRnV0dXJlczwvbGk+PGxpPlNHWCBGVFNFIEJsb3Nzb20gSmFwYW4gSW5kZXggRnV0dXJlczwvbGk+PGxpPlNHWCBOaWtrZWkgRVNHLVJFSVQgSW5kZXggRnV0dXJlczwvbGk+PC91bD4gYWxsIHN1c3RhaW5hYmlsaXR5LWxpbmtlZCBwcm9kdWN0cywgdmlzaXQ6IDxhIGhyZWY9XCJodHRwczovL2ZpcnN0LnNneC5jb20vXCIgdGFyZ2V0PVwiX2JsYW5rXCI+aHR0cHM6Ly9maXJzdC5zZ3guY29tLzwvYT4iLA0KICAgICAgICAib3NydCI6ICJZZXMiLA0KICAgICAgICAib3NydHQiOiAiU0dYIHJlZ3VsYXJseSBvcmdhbml6ZXMgY29uZmVyZW5jZXMgYW5kIGJyaWVmaW5ncyBpbiByZWxhdGlvbiB0byBzdXN0YWluYWJpbGl0eSBpc3N1ZXMgYW5kIHRvIGRldmVsb3AgdGhlIHN1c3RhaW5hYmlsaXR5IGRpYWxvZ3VlIGJldHdlZW4gaW52ZXN0b3JzIGFuZCBjb21wYW5pZXMuIiwNCiAgICAgICAgImFpIjogIiIsDQogICAgICAgICJyYiI6ICI8cD5SZWd1bGF0b3J5IG1vZGVsOiA8c3Ryb25nPlN0cm9uZyBleGNoYW5nZSBTUk88L3N0cm9uZz48L3A+PHVsPjxsaT48YSBocmVmPVwiaHR0cHM6Ly93d3cubWFzLmdvdi5zZy9cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiPk1vbmV0YXJ5IEF1dGhvcml0eSBvZiBTaW5nYXBvcmU8L2E+PC9saT48L3VsPiIsDQogICAgICAgICJhZSI6ICJTaW5nYXBvcmUgRXhjaGFuZ2UgaXMgQXNpYeKAmXMgbGVhZGluZyBhbmQgdHJ1c3RlZCBzZWN1cml0aWVzIGFuZCBkZXJpdmF0aXZlcyBtYXJrZXQgaW5mcmFzdHJ1Y3R1cmUsIG9wZXJhdGluZyBlcXVpdHksIGZpeGVkIGluY29tZSwgY3VycmVuY3kgYW5kIGNvbW1vZGl0eSBtYXJrZXRzIHRvIHRoZSBoaWdoZXN0IHJlZ3VsYXRvcnkgc3RhbmRhcmRzLiBJdCBhbHNvIG9wZXJhdGVzIGEgbXVsdGktYXNzZXQgc3VzdGFpbmFiaWxpdHkgcGxhdGZvcm0sIFNHWCBGSVJTVCBvciBGdXR1cmUgaW4gUmVzaGFwaW5nIFN1c3RhaW5hYmlsaXR5IFRvZ2V0aGVyICg8YSBocmVmPVwiaHR0cHM6Ly9maXJzdC5zZ3guY29tL1wiPnNneC5jb20vZmlyc3Q8L2E+KS4gU0dYIGlzIGNvbW1pdHRlZCB0byBmYWNpbGl0YXRpbmcgZWNvbm9taWMgZ3Jvd3RoIGluIGEgc3VzdGFpbmFibGUgbWFubmVyIGxldmVyYWdpbmcgaXRzIHJvbGVzIGFzIGEga2V5IHBsYXllciBpbiB0aGUgZWNvc3lzdGVtLCBhIGJ1c2luZXNzLCByZWd1bGF0b3IgYW5kIGxpc3RlZCBjb21wYW55LiBXaXRoIGNsaW1hdGUgYWN0aW9uIGFzIGEga2V5IHByaW9yaXR5LCBTR1ggYWltcyB0byBiZSBhIGxlYWRpbmcgc3VzdGFpbmFibGUgYW5kIHRyYW5zaXRpb24gZmluYW5jaW5nIGFuZCB0cmFkaW5nIGh1YiBvZmZlcmluZyB0cnVzdGVkLCBxdWFsaXR5LCBlbmQtdG8tZW5kIHByb2R1Y3RzIGFuZCBzb2x1dGlvbnMuIEFzIEFzaWHigJlzIG1vc3QgaW50ZXJuYXRpb25hbCwgbXVsdGktYXNzZXQgZXhjaGFuZ2UsIFNHWCBwcm92aWRlcyBsaXN0aW5nLCB0cmFkaW5nLCBjbGVhcmluZywgc2V0dGxlbWVudCwgZGVwb3NpdG9yeSBhbmQgZGF0YSBzZXJ2aWNlcywgd2l0aCBhYm91dCA0MCUgb2YgbGlzdGVkIGNvbXBhbmllcyBhbmQgb3ZlciA4MCUgb2YgbGlzdGVkIGJvbmRzIG9yaWdpbmF0aW5nIG91dHNpZGUgb2YgU2luZ2Fwb3JlLiBTR1ggaXMgdGhlIHdvcmxk4oCZcyBtb3N0IGxpcXVpZCBpbnRlcm5hdGlvbmFsIG1hcmtldCBmb3IgdGhlIGJlbmNobWFyayBlcXVpdHkgaW5kaWNlcyBvZiBDaGluYSwgSW5kaWEsIEphcGFuIGFuZCBBU0VBTi4gSGVhZHF1YXJ0ZXJlZCBpbiBBQUEtcmF0ZWQgU2luZ2Fwb3JlLCBTR1ggaXMgZ2xvYmFsbHkgcmVjb2duaXNlZCBmb3IgaXRzIHJpc2sgbWFuYWdlbWVudCBhbmQgY2xlYXJpbmcgY2FwYWJpbGl0aWVzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpc2l0IDxhIGhyZWY9XCJodHRwOi8vd3d3LnNneC5jb21cIj53d3cuc2d4LmNvbTwvYT4iLA0KICAgICAgICAiY2MiOiAiU0ciDQogICAgfSwgew0KICAgICAgICAiTmFtZTAiOiAiQm9yc2EgxLBzdGFuYnVsIiwNCiAgICAgICAgIkNvdW50cnkiOiAiVMO8cmtpeWUiLA0KICAgICAgICAiTmFtZSI6ICI8YSBocmVmPVwiaHR0cHM6Ly93d3cuYm9yc2Fpc3RhbmJ1bC5jb20vZW4vXCI+Qm9yc2EgxLBzdGFuYnVsPC9hPiIsDQogICAgICAgICJjdHJ5IjogMTUyNTAxNDY2My4wLA0KICAgICAgICAiZG5tbCI6ICIvc2l0ZXMvc3NlaW5pdGlhdGl2ZS9maWxlcy9kb2N1bWVudHMvY29tbWl0bWVudC1sZXR0ZXItZGVyaXZhdGl2ZXMtdHVya2V5LWJvcnNhLWlzdGFuYnVsLnBkZiIsDQogICAgICAgICJkbm0iOiAiWWVzIiwNCiAgICAgICAgIkxpbmsiOiAiIiwNCiAgICAgICAgImN0ZiI6IDE3MzU5Njk2My4wLA0KICAgICAgICAiY3QiOiA2ODkzODIuMCwNCiAgICAgICAgIlNTRURiIjogIlllcyIsDQogICAgICAgICJTU0VEYkxpbmsiOiAiL3N0b2NrLWV4Y2hhbmdlL2JvcnNhLWlzdGFuYnVsIiwNCiAgICAgICAgInRvcCI6ICI8cD48Yj5GdXR1cmVzPC9iPjwvcD48dWw+PGxpPkVxdWl0eTwvbGk+PGxpPkN1cnJlbmN5PC9saT48bGk+SW5kZXgmIzE2MDs8L2xpPjxsaT5JbnRlcmVzdCBSYXRlPC9saT48bGk+Q29tbW9kaXR5PC9saT48bGk+RVRGPC9saT48L3VsPjxwPjxiPk9wdGlvbnM8L2I+PC9wPjx1bD48bGk+RXF1aXR5JiMxNjA7PC9saT48bGk+SW5kZXgmIzE2MDs8L2xpPjxsaT5DdXJyZW5jeSA8L2xpPjwvdWw+IiwNCiAgICAgICAgImFzciI6ICJZZXMiLA0KICAgICAgICAiYXNydCI6ICI8cD5Cb3JzYSDEsHN0YW5idWwg4oCTIDxhIGhyZWY9XCJodHRwczovL3d3dy5ib3JzYWlzdGFuYnVsLmNvbS9lbi9zYXlmYS8yNjc2L3JlcG9ydHNcIiB0YXJnZXQ9XCJfYmxhbmtcIj5TdXN0YWluYWJpbGl0eSBSZXBvcnQ8L2E+PC9wPiIsDQogICAgICAgICJzcnIiOiAiTm8iLA0KICAgICAgICAic3JydCI6ICIiLA0KICAgICAgICAid2ciOiAiWWVzIiwNCiAgICAgICAgIndndCI6ICI8cD5JbiAyMDE0IGEgZ3VpZGUgb2Ygc3VzdGFpbmFibGUgcmVwb3J0aW5nIHdhcyBwdWJsaXNoZWQgb24gaXRzIHdlYnNpdGUuIEluIDIwMjAsIHRoZSBndWlkZSB3YXMgY29tcGxldGVseSB1cGRhdGVkLiBTaW5jZSBpdCBhcHBlYWxzIHRvIGxvY2FsIGNvbXBhbmllcywgdGhlIGd1aWRlIGlzIGluIFR1cmtpc2guPC9wPjx1bD48bGk+Qm9yc2EgxLBzdGFuYnVsIOKAkyA8YSBocmVmPVwiaHR0cHM6Ly93d3cuYm9yc2Fpc3RhbmJ1bC5jb20vZmlsZXMvU3VyZHVydWxlYmlsaXJsaWtfUmVoYmVyaV8yMDIwLnBkZlwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCI+Z3VpZGFuY2Ugb24gc3VzdGFpbmFiaWxpdHkgcmVwb3J0aW5nPC9hPjwvbGk+PC91bD4iLA0KICAgICAgICAib3NzcCI6ICJZZXMiLA0KICAgICAgICAib3NzcHQiOiAiU3VzdGFpbmFiaWxpdHkgaW5kZXggaGFzIGJlZW4gY2FsY3VsYXRlZCBzaW5jZSAyMDE0LCBsZWFybiBtb3JlIGFib3V0IDxhIGhyZWY9XCJodHRwczovL3d3dy5ib3JzYWlzdGFuYnVsLmNvbS9lbi9kdXl1cnUvMzc5Mi9hLW5ldy1lcmEtYmVnaW5zLWluLXRoZS1iaXN0LXN1c3RhaW5hYmlsaXR5LWluZGV4XCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj5CSVNUIFN1c3RhaW5hYmlsaXR5IEluZGV4PC9hPiIsDQogICAgICAgICJvc3J0IjogIk5vIiwNCiAgICAgICAgIm9zcnR0IjogIiIsDQogICAgICAgICJhaSI6ICJUbyBsZWFybiBtb3JlIGFib3V0IEJvcnNhIMSwc3RhbmJ1bCBpbml0aWF0aXZlcyByZWxhdGVkIHRvIHN1c3RhaW5hYmlsaXR5LCB2aXNpdCA8YSBocmVmPVwiaHR0cHM6Ly93d3cuYm9yc2Fpc3RhbmJ1bC5jb20vZW4vc2F5ZmEvMjQxMi9zdXN0YWluYWJpbGl0eVwiPmh0dHBzOi8vd3d3LmJvcnNhaXN0YW5idWwuY29tL2VuL3NheWZhLzI0MTIvc3VzdGFpbmFiaWxpdHkmIzE2MDs8L2E+IiwNCiAgICAgICAgInJiIjogIjxwPkVzdGFibGlzaGVkIG9uIHRoZSBiYXNpcyBvZiBDYXBpdGFsIE1hcmtldHMgTGF3IG5vLiA2MzYyLCBCb3JzYSDEsHN0YW5idWwgaXMgc3ViamVjdCB0byBwcml2YXRlIGxhdyBhbmQgYSBzZWxmLXJlZ3VsYXRvcnkgZW50aXR5LjwvcD48dWw+PGxpPjxhIGhyZWY9XCJodHRwczovL3d3dy5jbWIuZ292LnRyL1wiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCI+Q2FwaXRhbCBNYXJrZXRzIEJvYXJkIG9mIFR1cmtleTwvYT48L2xpPjwvdWw+IiwNCiAgICAgICAgImFlIjogIkluIDIwMTMsIFR1cmtpc2ggRGVyaXZhdGl2ZXMgRXhjaGFuZ2UsIElzdGFuYnVsIEdvbGQgRXhjaGFuZ2UgYW5kIElzdGFuYnVsIFN0b2NrIEV4Y2hhbmdlIG1lcmdlZCB0byBmb3JtIEJvcnNhIMSwc3RhbmJ1bC4gU2luY2UgdGhlbiwgaXQgaXMgdGhlIG9ubHkgc2VjdXJpdGllcyBtYXJrZXQgb3BlcmF0b3IgaW4gVHVya2V5LiBJdCBvcGVyYXRlcyBmb3VyIG1hcmtldHM6IGVxdWl0eSwgZGVidCBzZWN1cml0aWVzLCBkZXJpdmF0aXZlcyBhbmQgY29tbW9kaXR5LiBJdCBpcyB0aGUgY29udHJvbGxpbmcgc2hhcmVob2xkZXIgb2YgcG9zdCB0cmFkZSBpbnN0aXR1dGlvbnMgVGFrYXNiYW5rIChzZXR0bGVtZW50IGFuZCBjdXN0b2R5KSBhbmQgTWVya2V6aSBLYXnEsXQgS3VydWx1xZ91IChjZW50cmFsIHJlZ2lzdHJ5KS4gQm9yc2EgxLBzdGFuYnVsIEEuxZ4uLCBSZcWfaXRwYcWfYSBNYWhhbGxlc2ksIEJvcnNhIMSwc3RhbmJ1bCBDYWRkZXNpIE5vOiA0LCAzNDQ2NyBTYXLEsXllci/EsHN0YW5idWwiLA0KICAgICAgICAiY2MiOiAiVFIiDQogICAgfSwgew0KICAgICAgICAiTmFtZTAiOiAiQ2JvZSBHbG9iYWwgTWFya2V0cywgSW5jLiIsDQogICAgICAgICJDb3VudHJ5IjogIlVuaXRlZCBTdGF0ZXMgIiwNCiAgICAgICAgIk5hbWUiOiAiPGEgaHJlZj1cImh0dHBzOi8vd3d3LmNib2UuY29tL1wiPkNib2UgR2xvYmFsIE1hcmtldHMsIEluYy48L2E+IiwNCiAgICAgICAgImN0cnkiOiAzMDEzOTA3NDEuMCwNCiAgICAgICAgImRubWwiOiAiL3NpdGVzL3NzZWluaXRpYXRpdmUvZmlsZXMvZG9jdW1lbnRzL2Nib2UtZmFjdC1zaGVldC1jYm9lLWdsb2JhbC1tYXJrZXRzLWp1bHktMjAyMS5wZGYiLA0KICAgICAgICAiZG5tIjogIlllcyIsDQogICAgICAgICJMaW5rIjogIiIsDQogICAgICAgICJjdGYiOiA0NTMzNTQ4LjAsDQogICAgICAgICJjdCI6IDI5Njg1NzE5My4wLA0KICAgICAgICAiU1NFRGIiOiAiTm8iLA0KICAgICAgICAiU1NFRGJMaW5rIjogIiIsDQogICAgICAgICJ0b3AiOiAiPHVsPjxsaT5FcXVpdHkgT3B0aW9ucyBFcXVpdGllczwvbGk+PGxpPkluZGV4IG9wdGlvbnMgYW5kIGZ1dHVyZXMgRlggKHNwb3QgYW5kIE5ERnMpPC9saT48bGk+RVRQczwvbGk+PGxpPlRyYUNScyAoVHJhbnNmZXJhYmxlIEN1c3RvZHkgUmVjZWlwdHMpIFdhcnJhbnRzPC9saT48bGk+UU1GcyAoUXVvdGVkIE1hbmFnZWQgRnVuZHMpPC9saT48L3VsPiIsDQogICAgICAgICJhc3IiOiAiWWVzIiwNCiAgICAgICAgImFzcnQiOiAiIiwNCiAgICAgICAgInNyciI6ICJObyIsDQogICAgICAgICJzcnJ0IjogIiIsDQogICAgICAgICJ3ZyI6ICJObyIsDQogICAgICAgICJ3Z3QiOiAiIiwNCiAgICAgICAgIm9zc3AiOiAiWWVzIiwNCiAgICAgICAgIm9zc3B0IjogIkluIFNlcHRlbWJlciAyMDIwLCB3ZSBsYXVuY2hlZCBvdXIgUyZhbXA7UCBFU0cgSW5kZXggT3B0aW9ucyB0byBjYXB0dXJlIGFuZCBlbGV2YXRlIGNvbnRpbnVlZCBkZW1hbmQgZm9yIGludmVzdG1lbnQgc3RyYXRlZ2llcyBmb2N1c2VkIG9uIEVTRyBhbmQgc3VzdGFpbmFiaWxpdHkuIFRoZXNlIG9wdGlvbnMgb2ZmZXIgYSByaXNrIGFuZCByZXR1cm4gcHJvZmlsZSBzaW1pbGFyIHRvIHRoZSBTJmFtcDtQIDUwMCBidXQgYXJlIGRlc2lnbmVkIHRvIHByb3ZpZGUgaW1wcm92ZWQgRVNHIHJlcHJlc2VudGF0aW9uLiBUaGUgaW5kZXggdXNlcyBTJmFtcDtQIERvdyBKb25lcyBJbmRleCBFU0cgU2NvcmVzIHRvIHJhbmsgYW5kIHNlbGVjdCBlbGlnaWJsZSBjb21wYW5pZXMsIHdpdGggYSB0YXJnZXQgb2YgNzUlIG9mIHRoZSBtYXJrZXQgY2FwaXRhbGl6YXRpb24gaW4gZWFjaCBTJmFtcDtQIDUwMCBHSUNTwq4gaW5kdXN0cnkgZ3JvdXAuIFdlIGNvbnRpbnVlIHRvIGV2YWx1YXRlIGZ1dHVyZSBvcHBvcnR1bml0aWVzIHRvIGRldmVsb3AgYW5kIG9mZmVyIHN1c3RhaW5hYmlsaXR5IHByb2R1Y3RzLiBXZSByZWNvZ25pemUgdGhhdCB3ZSBjYW4gbGV2ZXJhZ2Ugb3VyIGV4Y2hhbmdlcyB0byBlbmhhbmNlIHRoZSBhY2Nlc3Mgb2YgRVNHIEV4Y2hhbmdlLVRyYWRlZCBQcm9kdWN0cyAoRVRQcykgd2hpY2ggaW4gdHVybiBlbmNvdXJhZ2VzIG1hcmtldCBwcmV2YWxlbmNlIG9mIHRoZXNlIHByb2R1Y3RzIGFuZCBpcyBhbm90aGVyIGluY2VudGl2ZSBmb3IgZnVuZHMgYW5kIGlzc3VlcnMgdG8gY29udGludWUgZHJpdmluZyBFU0cgc3RyYXRlZ2llcyBhbmQgcHJvZ3Jlc3MuIFdlIGhhdmUgc3RlYWRpbHkgaW5jcmVhc2VkIHRoZSBudW1iZXIgb2YgRVNHIEVUUHMgY3VycmVudGx5IGxpc3RlZCBvbiBvdXIgQlpYIEVxdWl0aWVzIEV4Y2hhbmdlIGJ5IG5lYXJseSA4MCUgc2luY2UgMjAxOS4gV2UgY3VycmVudGx5IG9mZmVyIDM0IEVTRyBmdW5kcyB3aXRoIHRvdGFsIGFzc2V0cyAoYXMgb2YgMTIvMzEvMjAyMCkgb2Ygb3ZlciAkMTAuNUIuIFRoZXNlIEVTRyBFVFBzIGNvdmVyIGEgZGl2ZXJzZSByYW5nZSBvZiBtYXJrZXQgY2FwcywgZnVuZCB0eXBlcyBhbmQgZm9jdXMgYXJlYXMsIGluY2x1ZGluZyBjbGVhbiBlbmVyZ3kuIiwNCiAgICAgICAgIm9zcnQiOiAiTm8iLA0KICAgICAgICAib3NydHQiOiAiIiwNCiAgICAgICAgImFpIjogIjxwPkFkZGl0aW9uYWwgSW5mb3JtYXRpb24gdmlzaXQgQ2JvZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuY2JvZS5jb20vYWJvdXQvY29ycG9yYXRlLXNvY2lhbC1yZXNwb25zaWJpbGl0eS9cIj5Db3Jwb3JhdGUgU29jaWFsIFJlc3BvbnNpYmlsaXR5IHBhZ2U8L2E+PC9wPiIsDQogICAgICAgICJyYiI6ICI8dWw+PGxpPkNib2UgT3B0aW9ucywgQzIgT3B0aW9ucywgQlpYIE9wdGlvbnMsIEVER1ggT3B0aW9ucywgQllYIEVxdWl0aWVzLCBCWlggRXF1aXRpZXMsIEVER1ggRXF1aXRpZXMsIGFuZCBFREdBIEVxdWl0aWVzICh0aGUgRXhjaGFuZ2VzKSBhcmUgc2VsZi1yZWd1bGF0b3J5IG9yZ2FuaXphdGlvbnMgKFNST3MpLCBlYWNoIHJlZ2lzdGVyZWQgdW5kZXIgU2VjdGlvbiA2IG9mIHRoZSBFeGNoYW5nZSBBY3Qgb2YgMTkzNCAoRXhjaGFuZ2UgQWN0KSBhcyBhIOKAnG5hdGlvbmFsIHNlY3VyaXRpZXMgZXhjaGFuZ2Us4oCdIGFuZCBhcmUgc3ViamVjdCB0byBvdmVyc2lnaHQgYnkgdGhlIFUuUy4gU2VjdXJpdGllcyBhbmQgRXhjaGFuZ2UgQ29tbWlzc2lvbiAoU0VDKS48L2xpPjxsaT5UaGUgb3BlcmF0aW9ucyBvZiBlYWNoIG9mIENGRSBhbmQgQ2JvZSBTRUYgYXJlIHN1YmplY3QgdG8gcmVndWxhdGlvbiBieSB0aGUgQ29tbW9kaXR5IEZ1dHVyZXMgVHJhZGluZyBDb21taXNzaW9uIChDRlRDKSB1bmRlciB0aGUgQ29tbW9kaXR5IEV4Y2hhbmdlIEFjdC48L2xpPjxsaT5DYm9lIEV1cm9wZSBFcXVpdGllcywgb25lIG9mIHRoZSBsYXJnZXN0IHN0b2NrIGV4Y2hhbmdlcyBpbiBFdXJvcGUgYnkgdmFsdWUgdHJhZGVkLCBpcyBhIFJlY29nbmlzZWQgSW52ZXN0bWVudCBFeGNoYW5nZSAoUklFKSByZWd1bGF0ZWQgYnkgdGhlIEZpbmFuY2lhbCBDb25kdWN0IEF1dGhvcml0eSBpbiB0aGUgVW5pdGVkIEtpbmdkb20gYW5kIHN1YmplY3QgdG8gY2VydGFpbiBFdXJvcGVhbiByZWd1bGF0aW9ucy4gQ2JvZSBFdXJvcGUgRXF1aXRpZXMgYWxzbyBvcGVyYXRlcyBhIFJlZ3VsYXRlZCBNYXJrZXQgaW4gdGhlIE5ldGhlcmxhbmRzIHJlZ3VsYXRlZCBieSB0aGUgQXV0aG9yaXR5IGZvciBGaW5hbmNpYWwgTWFya2V0cy48L2xpPjxsaT5DaGktWCBBdXN0cmFsaWEsIGEgcmVndWxhdGVkIHN0b2NrIGV4Y2hhbmdlLCBvZmZlcnMgdHJhZGluZyBpbiBhbGwgQXVzdHJhbGlhbiBsaXN0ZWQgc2VjdXJpdGllcyBhbmQgdGhlIGV4Y2x1c2l2ZSB0cmFkaW5nIG9mIENYQSBxdW90ZWQgd2FycmFudHMuIENoaS1YIEF1c3RyYWxpYSBpcyByZWd1bGF0ZWQgYnkgdGhlIEF1c3RyYWxpYW4gU2VjdXJpdGllcyBhbmQgSW52ZXN0bWVudHMgQ29tbWlzc2lvbiAoQVNJQykuPC9saT48bGk+Q2hpLVggSmFwYW4sIGEgUFRTLCBvZmZlcnMgdHdvIGxpdCBtYXJrZXRzLCBDaGktQWxwaGEgYW5kIENoaS1TZWxlY3QsIGFuZCB0d28gZGFyayBtYXJrZXRzLCBDaGktTWF0Y2ggYW5kIEthaS1YIGFuZCBpcyByZWd1bGF0ZWQgYnkgdGhlIEZpbmFuY2lhbCBTZXJ2aWNlcyBBZ2VuY3kgKEZTQSkgaW4gSmFwYW4uPC9saT48L3VsPiIsDQogICAgICAgICJhZSI6ICJDYm9lIEdsb2JhbCBNYXJrZXRzLCBJbmMuIHByb3ZpZGVzIGN1dHRpbmctZWRnZSB0cmFkaW5nIGFuZCBpbnZlc3RtZW50IHNvbHV0aW9ucyB0byBpbnZlc3RvcnMgYXJvdW5kIHRoZSB3b3JsZC4gQ2JvZSBHbG9iYWwgTWFya2V0cyBpcyBoZWFkcXVhcnRlcmVkIGluIENoaWNhZ28sIElsbGlub2lzIGluIHRoZSBVLlMuIFRoZSBDb21wYW55IGlzIGNvbW1pdHRlZCB0byBkZWZpbmluZyBtYXJrZXRzIHRocm91Z2ggcHJvZHVjdCBpbm5vdmF0aW9uLCBsZWFkaW5nIGVkZ2UgdGVjaG5vbG9neSwgYW5kIHNlYW1sZXNzIHRyYWRpbmcgc29sdXRpb25zLiBDYm9lIG9mZmVycyB0cmFkaW5nIGFjcm9zcyBhIGRpdmVyc2UgcmFuZ2Ugb2YgcHJvZHVjdHMgaW4gbXVsdGlwbGUgYXNzZXQgY2xhc3NlcyBhbmQgZ2VvZ3JhcGhpZXMsIGluY2x1ZGluZyBvcHRpb25zLCBmdXR1cmVzLCBVLlMuLCBDYW5hZGlhbiBhbmQgRXVyb3BlYW4gZXF1aXRpZXMsIGV4Y2hhbmdlLXRyYWRlZCBwcm9kdWN0cyAo4oCcRVRQc+KAnSksIGdsb2JhbCBmb3JlaWduIGV4Y2hhbmdlICjigJxGWOKAnSkgYW5kIHZvbGF0aWxpdHkgcHJvZHVjdHMgYmFzZWQgb24gdGhlIFZJWCBJbmRleCwgcmVjb2duaXplZCBhcyB0aGUgd29ybGTigJlzIHByZW1pZXIgZ2F1Z2Ugb2YgVS5TLiBlcXVpdHkgbWFya2V0IHZvbGF0aWxpdHkuIENib2XigJlzIHN1YnNpZGlhcmllcyBpbmNsdWRlIHRoZSBsYXJnZXN0IG9wdGlvbnMgZXhjaGFuZ2UgYW5kIHRoZSB0aGlyZCBsYXJnZXN0IHN0b2NrIGV4Y2hhbmdlIG9wZXJhdG9yIGluIHRoZSBVLlMuIEluIGFkZGl0aW9uLCB0aGUgQ29tcGFueSBvcGVyYXRlcyBvbmUgb2YgdGhlIGxhcmdlc3Qgc3RvY2sgZXhjaGFuZ2VzIGJ5IHZhbHVlIHRyYWRlZCBpbiBFdXJvcGUsIGFuZCBvd25zIEV1cm9DQ1AsIGEgbGVhZGluZyBwYW4tRXVyb3BlYW4gZXF1aXRpZXMgY2xlYXJpbmdob3VzZSwgQklEUyBUcmFkaW5nLCBhIGxlYWRpbmcgYmxvY2stdHJhZGluZyBBVFMgYnkgdm9sdW1lIGluIHRoZSBVLlMuLCBhbmQgTUFUQ0hOb3csIGEgbGVhZGluZyBlcXVpdGllcyBBVFMgaW4gQ2FuYWRhLiBDYm9lIGFsc28gaXMgYSBsZWFkaW5nIG1hcmtldCBnbG9iYWxseSBmb3IgRVRQIGxpc3RpbmdzIGFuZCB0cmFkaW5nLiBDYm9lIHJlY2VudGx5IGNvbXBsZXRlZCBpdHMgYWNxdWlzaXRpb24gb2YgQ2hpLVggQXNpYSBQYWNpZmljIEhvbGRpbmdzLCBMdGQuIChDaGktWCBBc2lhIFBhY2lmaWMpLCBhbiBhbHRlcm5hdGl2ZSBtYXJrZXQgb3BlcmF0b3IgYW5kIHByb3ZpZGVyIG9mIGlubm92YXRpdmUgbWFya2V0IHNvbHV0aW9ucy4gVGhyb3VnaCBvd25lcnNoaXAgb2YgQ2hpLVggQXNpYSBQYWNpZmljLCBDYm9lIGdhaW5zIGVudHJhbmNlIGludG8gdHdvIG9mIHRoZSB3b3JsZCdzIGxhcmdlc3Qgc2VjdXJpdGllcyBtYXJrZXRzIOKAkyBKYXBhbiBhbmQgQXVzdHJhbGlhIOKAkyB0byBlc3RhYmxpc2ggYSBzaWduaWZpY2FudCBwcmVzZW5jZSBpbiB0aGUgQXNpYSBQYWNpZmljIHJlZ2lvbiBmb3IgdGhlIGZpcnN0IHRpbWUuIiwNCiAgICAgICAgImNjIjogIlVTIg0KICAgIH0sIHsNCiAgICAgICAgIk5hbWUwIjogIkNNRSBHcm91cCIsDQogICAgICAgICJDb3VudHJ5IjogIlVuaXRlZCBTdGF0ZXMgIiwNCiAgICAgICAgIk5hbWUiOiAiPGEgaHJlZj1cImh0dHBzOi8vd3d3LmNtZWdyb3VwLmNvbS9cIj5DTUUgR3JvdXA8L2E+IiwNCiAgICAgICAgImN0cnkiOiA1MDk3NTM1NDUuMCwNCiAgICAgICAgImRubWwiOiAiL3NpdGVzL3NzZWluaXRpYXRpdmUvZmlsZXMvZG9jdW1lbnRzL2NvbW1pdG1lbnQtbGV0dGVyLWRlcml2YXRpdmVzLXVzYS1jbWUtZ3JvdXAucGRmIiwNCiAgICAgICAgImRubSI6ICJZZXMiLA0KICAgICAgICAiTGluayI6ICIiLA0KICAgICAgICAiY3RmIjogNDI5NDUyMjU5LjAsDQogICAgICAgICJjdCI6IDgwMzAxMjg2LjAsDQogICAgICAgICJTU0VEYiI6ICJObyIsDQogICAgICAgICJTU0VEYkxpbmsiOiAiIiwNCiAgICAgICAgInRvcCI6ICI8dWw+PGxpPkVxdWl0eSBGdXR1cmVzIGFuZCBPcHRpb25zPC9saT48bGk+SW50ZXJlc3QgUmF0ZSBGdXR1cmVzIGFuZCBPcHRpb25zJiMxNjA7PC9saT48bGk+Q3VycmVuY3kgRnV0dXJlcyBhbmQgT3B0aW9ucyYjMTYwOzwvbGk+PGxpPkFncmljdWx0dXJhbCBPcHRpb25zIGFuZCBGdXR1cmVzPC9saT48bGk+RW5lcmd5IEZ1dHVyZXMgYW5kIE9wdGlvbnM8L2xpPjxsaT5NZXRhbHMgRnV0dXJlcyBhbmQgT3B0aW9uczwvbGk+PC91bD4iLA0KICAgICAgICAiYXNyIjogIlllcyIsDQogICAgICAgICJhc3J0IjogIjxwPkNNRSDigJMgJiMxNjA7PGEgaHJlZj1cImh0dHBzOi8vd3d3LmNtZWdyb3VwLmNvbS9jb21wYW55L2NvcnBvcmF0ZS1jaXRpemVuc2hpcC9maWxlcy8yMDIwLWNtZS1ncm91cC1lc2ctcmVwb3J0LnBkZlwiPlN1c3RhaW5hYmlsaXR5IFJlcG9ydDwvYT48L3A+IiwNCiAgICAgICAgInNyciI6ICJObyIsDQogICAgICAgICJzcnJ0IjogIiIsDQogICAgICAgICJ3ZyI6ICJObyIsDQogICAgICAgICJ3Z3QiOiAiIiwNCiAgICAgICAgIm9zc3AiOiAiWWVzIiwNCiAgICAgICAgIm9zc3B0IjogIlRvIGxlYXJuIG1vcmUgYWJvdXQgQ01FIHN1c3RhaW5hYmlsaXR5IGFsaWduZWQgcHJvZHVjdHMsIHZpc2l0IDxhIGhyZWY9XCJodHRwOi8vd3d3LmNtZWdyb3VwLmNvbS9lc2dcIj53d3cuY21lZ3JvdXAuY29tL2VzZzwvYT4iLA0KICAgICAgICAib3NydCI6ICJObyIsDQogICAgICAgICJvc3J0dCI6ICIiLA0KICAgICAgICAiYWkiOiAiIiwNCiAgICAgICAgInJiIjogIjxwPlJlZ3VsYXRvcnkgbW9kZWw6IFN0cm9uZyBleGNoYW5nZSBTUk88L3A+PHVsPjxsaT5Db21tb2RpdHkgRnV0dXJlcyBUcmFkaW5nIENvbW1pc3Npb24gKENGVEMpIGlzIHByaW1hcnkgcmVndWxhdG9yIGZvciBvdXIgbGlzdGVkIGZ1dHVyZXMgYW5kIG9wdGlvbnMgYnVzaW5lc3NlczwvbGk+PC91bD4iLA0KICAgICAgICAiYWUiOiAiPHA+Q01FIHdhcyBmb3VuZGVkIGluIDE4OTggYXMgYSBub3QtZm9yLXByb2ZpdCBjb3Jwb3JhdGlvbi4gSXQgZXN0YWJsaXNoZWQgQ01FIENsZWFyaW5nIGluIDE5MTksIHdoaWNoIGlzIG9wZXJhdGVkIGJ5IENNRS4gQ01FIGRlbXV0dWFsaXplZCBpbiAyMDAwLCBhbmQgaW4gMjAwMiBpdHMgcGFyZW50IGNvbXBhbnksIENNRSBHcm91cCwgY29tcGxldGVkIGFuIGluaXRpYWwgcHVibGljIG9mZmVyaW5nIG9mIGl0cyBDbGFzcyBBIGNvbW1vbiBzdG9jayAoTmFzZGFxOiBDTUUpLiBDTUUgR3JvdXAgc3Vic2VxdWVudGx5IGFjcXVpcmVkIENCT1QgSG9sZGluZ3MsIEluYy4gaW4gMjAwNywgTllNRVggSG9sZGluZ3MsIEluYy4gKE5ZTUVYIGFuZCBDT01FWCkgaW4gMjAwOCwgdGhlIEthbnNhcyBDaXR5IEJvYXJkIG9mIFRyYWRlIGluIDIwMTIgYW5kIE5FWCBHcm91cCBwbGMgKE5FWCkgaW4gMjAxOC4gVGhlIGNvbWJpbmF0aW9uIHdpdGggTkVYIGV4cGFuZGVkIG91ciBnbG9iYWwgY3VzdG9tZXIgYmFzZSBhbmQgcHJvZHVjdCBvZmZlcmluZ3MgdGhyb3VnaCB0aGUgY29tcGxlbWVudGFyeSBjb21iaW5hdGlvbiBvZiBDTUUgR3JvdXDigJlzIGV4Y2hhbmdlLXRyYWRlZCBkZXJpdmF0aXZlIHByb2R1Y3RzIGFuZCBORVjigJlzIGNhc2ggYW5kIE9UQyBwcm9kdWN0cy4gSXQgYWxzbyBjcmVhdGVkIGEgbGVhZGluZywgY2xpZW50LWNlbnRyaWMsIGdsb2JhbCBtYXJrZXRzIGNvbXBhbnksIGdlbmVyYXRpbmcgY2FwaXRhbCBlZmZpY2llbmNpZXMgYWNyb3NzIGZ1dHVyZXMsIGNhc2ggYW5kIE9UQyBwcm9kdWN0cyBmb3IgbWFya2V0IHBhcnRpY2lwYW50cyBzZWVraW5nIHRvIGxvd2VyIHRoZWlyIGNvc3Qgb2YgdHJhZGluZyBhbmQgYmV0dGVyIG1hbmFnZSByaXNrLiBPdXIgcHJpbmNpcGFsIGV4ZWN1dGl2ZSBvZmZpY2VzIGFyZSBsb2NhdGVkIGF0IDIwIFNvdXRoIFdhY2tlciBEcml2ZSwgQ2hpY2FnbywgSWxsaW5vaXMgNjA2MDYsIG91ciB0ZWxlcGhvbmUgbnVtYmVyIGlzIDMxMi05MzAtMTAwMCBhbmQgb3VyIHdlYnNpdGUgaXMgPGEgaHJlZj1cImh0dHA6Ly9jbWVncm91cC5jb21cIj5jbWVncm91cC5jb208L2E+LiA8Yj5ERVNDUklQVElPTiBPRiBCVVNJTkVTUzwvYj4gQ01FIEdyb3VwIHByb3ZpZGVzIG1hcmtldCBwYXJ0aWNpcGFudHMgd29ybGR3aWRlIHRoZSBhYmlsaXR5IHRvIGVmZmljaWVudGx5IG1hbmFnZSByaXNrIGFjcm9zcyBtdWx0aXBsZSBhc3NldCBjbGFzc2VzLCBieSB0cmFkaW5nIGZ1dHVyZXMsIG9wdGlvbnMsIGNhc2ggYW5kIG92ZXItdGhlLWNvdW50ZXIgKE9UQykgcHJvZHVjdHMuIENNRSBHcm91cCBleGNoYW5nZXMgb2ZmZXIgdGhlIHdpZGVzdCByYW5nZSBvZiBnbG9iYWwgYmVuY2htYXJrIHByb2R1Y3RzIGFjcm9zcyBpbnRlcmVzdCByYXRlcywgZXF1aXR5IGluZGV4ZXMsIGZvcmVpZ24gZXhjaGFuZ2UgKEZYKSwgYWdyaWN1bHR1cmFsIGNvbW1vZGl0aWVzLCBlbmVyZ3kgYW5kIG1ldGFscy4gV2UgYWxzbyBvZmZlciBjYXNoIGFuZCByZXBvIGZpeGVkIGluY29tZSB0cmFkaW5nIHZpYSBCcm9rZXJUZWMsIGFuZCBjYXNoIGFuZCBPVEMgRlggdHJhZGluZyB2aWEgRUJTLiYjMTYwOyBJbiBhZGRpdGlvbiwgd2Ugb3BlcmF0ZSBvbmUgb2YgdGhlIHdvcmxk4oCZcyBsZWFkaW5nIGNlbnRyYWwgY291bnRlcnBhcnR5IGNsZWFyaW5nIHByb3ZpZGVycywgQ01FIENsZWFyaW5nLCBvcGVyYXRlZCBieSBDTUUuPC9wPjx1bD48bGk+PGI+PGk+Q01F4oCZcyA8L2k+PC9iPnByb2R1Y3Qgc2xhdGUgaW5jbHVkZXMgYWdyaWN1bHR1cmFsLCBlcXVpdGllcywgRlggYW5kIGludGVyZXN0IHJhdGUgcHJvZHVjdHMsIGluY2x1ZGluZyBFdXJvZG9sbGFyIGZ1dHVyZXMgYW5kIG9wdGlvbnMsIFNlY3VyZWQgT3Zlcm5pZ2h0IEZpbmFuY2luZyBSYXRlIChTT0ZSKSBmdXR1cmVzIGFuZCBvcHRpb25zLCBsaXZlc3RvY2sgYW5kIGNhc2gtc2V0dGxlZCBjb250cmFjdHMgYmFzZWQgb24gdGhlIFMmYW1wO1AgNTAwLCBpbmNsdWRpbmcgdGhlIEUtbWluaSBTJmFtcDtQIDUwMCBFbnZpcm9ubWVudGFsLCBTb2NpYWwgYW5kIEdvdmVybmFuY2UgKEVTRykgY29udHJhY3QsIE1pY3JvIEUtbWluaSBFcXVpdHkgSW5kZXggY29udHJhY3RzLCBOYXNkYXEtMTAwLCBGVFNFIFJ1c3NlbGwgYW5kIEJpdGNvaW4gUmVmZXJlbmNlIFJhdGUuPC9saT48bGk+PGI+PGk+Q0JPVOKAmXMgPC9pPjwvYj5wcm9kdWN0IHNsYXRlIGNvbnNpc3RzIG9mIGFncmljdWx0dXJhbCwgZXF1aXRpZXMgYW5kIGludGVyZXN0IHJhdGUgcHJvZHVjdHMsIGluY2x1ZGluZyBjb250cmFjdHMgZm9yIFVuaXRlZCBTdGF0ZXMgKFUuUy4pIFRyZWFzdXJ5IGZ1dHVyZXMsIHNveWJlYW4sIGNvcm4sIHdoZWF0IGFuZCBjb250cmFjdHMgYmFzZWQgb24gdGhlIERvdyBKb25lcyBJbmR1c3RyaWFsIEluZGV4LjwvbGk+PGxpPjxiPjxpPk5ZTUVY4oCZcyA8L2k+PC9iPnByb2R1Y3Qgc2xhdGUgY29uc2lzdHMgb2YgZW5lcmd5IGFuZCBtZXRhbHMgcHJvZHVjdHMsIGluY2x1ZGluZyBjb250cmFjdHMgZm9yIGNydWRlIG9pbCwgbmF0dXJhbCBnYXMsIGhlYXRpbmcgb2lsIGFuZCBnYXNvbGluZS48L2xpPjxsaT48Yj48aT5DT01FWOKAmXMgPC9pPjwvYj5wcm9kdWN0IHNsYXRlIGNvbnNpc3RzIG9mIG1ldGFscyBwcm9kdWN0cywgaW5jbHVkaW5nIGNvbnRyYWN0cyBmb3IgZ29sZCwgc2lsdmVyLCBjb3BwZXIgYW5kIG90aGVyIGJhc2UgbWV0YWxzLjwvbGk+PC91bD4iLA0KICAgICAgICAiY2MiOiAiVVMiDQogICAgfSwgew0KICAgICAgICAiTmFtZTAiOiAiSUNFIC0gSW50ZXJjb250aW5lbnRhbCBFeGNoYW5nZSIsDQogICAgICAgICJDb3VudHJ5IjogIlVuaXRlZCBTdGF0ZXMgIiwNCiAgICAgICAgIk5hbWUiOiAiPGEgaHJlZj1cImh0dHBzOi8vd3d3LnRoZWljZS5jb20vaW5kZXhcIj5JQ0UgLSBJbnRlcmNvbnRpbmVudGFsIEV4Y2hhbmdlPC9hPiIsDQogICAgICAgICJjdHJ5IjogMTEwMDg2MzIuMCwNCiAgICAgICAgImRubWwiOiAiL3NpdGVzL3NzZWluaXRpYXRpdmUvZmlsZXMvZG9jdW1lbnRzL2NvbW1pdG1lbnQtbGV0dGVyLWRlcml2YXRpdmVzLXVzYS1pY2UucGRmIiwNCiAgICAgICAgImRubSI6ICJZZXMiLA0KICAgICAgICAiTGluayI6ICIiLA0KICAgICAgICAiY3RmIjogOTY4ODQ4Ni4wLA0KICAgICAgICAiY3QiOiAxMzIwMTQ2LjAsDQogICAgICAgICJTU0VEYiI6ICJZZXMiLA0KICAgICAgICAiU1NFRGJMaW5rIjogIi9zdG9jay1leGNoYW5nZS9ueXNlIiwNCiAgICAgICAgInRvcCI6ICI8dWw+PGxpPkVxdWl0eSBPcHRpb25zIGFuZCBGdXR1cmVzPC9saT48bGk+SW50ZXJlc3QgUmF0ZSBPcHRpb25zIGFuZCBGdXR1cmVzPC9saT48bGk+Q3VycmVuY3kgT3B0aW9ucyBhbmQgRnV0dXJlczwvbGk+PGxpPkNvbW1vZGl0eSBPcHRpb25zIGFuZCBGdXR1cmVzPC9saT48L3VsPiIsDQogICAgICAgICJhc3IiOiAiWWVzIiwNCiAgICAgICAgImFzcnQiOiAiPHA+SUNFIOKAkyA8YSBocmVmPVwiaHR0cHM6Ly93d3cuaW50ZXJjb250aW5lbnRhbGV4Y2hhbmdlLmNvbS9hYm91dC9jb3Jwb3JhdGUtcmVzcG9uc2liaWxpdHlcIj5TdXN0YWluYWJpbGl0eSBSZXBvcnQ8L2E+PC9wPiIsDQogICAgICAgICJzcnIiOiAiTm8iLA0KICAgICAgICAic3JydCI6ICIiLA0KICAgICAgICAid2ciOiAiWWVzIiwNCiAgICAgICAgIndndCI6ICI8cD5OWVNFIOKAkyA8YSBocmVmPVwiaHR0cHM6Ly93d3cubnlzZS5jb20vZXNnLWd1aWRhbmNlXCI+RVNHIGd1aWRhbmNlIG9uIHN1c3RhaW5hYmlsaXR5IHJlcG9ydGluZzwvYT48L3A+IiwNCiAgICAgICAgIm9zc3AiOiAiWWVzIiwNCiAgICAgICAgIm9zc3B0IjogIjx1bD48YnI+PGxpPkVtaXNzaW9ucyBhbmQgcmVuZXdhYmxlIGVuZXJneSBmdXR1cmVzIGFuZCBvcHRpb25zOyBpbmRpY2VzOzwvbGk+PGJyPjxsaT5FVEZzOzwvbGk+PGJyPjxsaT5FU0ctaW5kZXggZnV0dXJlcyBhbmQgb3B0aW9uczs8L2xpPjxicj48bGk+RVNHIGRhdGEgb24gcHVibGljbHkgdHJhZGVkIGNvbXBhbmllczs8L2xpPjxicj48bGk+Q2xpbWF0ZSBhbmQgc29jaWFsIHJpc2sgZGF0YSBmb3IgbXVuaSBib25kIG1hcmtldDwvbGk+PGJyPjwvdWw+PGJyPjxwPlRvIGtub3cgbW9yZSB2aXNpdCA8YSBocmVmPSZxdW90O2h0dHBzOi8vd3d3LmludGVyY29udGluZW50YWxleGNoYW5nZS5jb20vYWJvdXQvY29ycG9yYXRlLXJlc3BvbnNpYmlsaXR5L3N1c3RhaW5hYmxlLWZpbmFuY2UmcXVvdDs+SUNFIHN1c3RhaW5hYmxlIGZpbmFuY2Ugd2VicGFnZTwvYT48L3A+IiwNCiAgICAgICAgIm9zcnQiOiAiWWVzIiwNCiAgICAgICAgIm9zcnR0IjogIk5ZU0Ug4oCTIDxhIGhyZWY9XCJodHRwczovL3d3dy5ueXNlLmNvbS9lc2cvcmVzb3VyY2UtY2VudGVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj5SZXNvdXJjZSBDZW50ZXI8L2E+IiwNCiAgICAgICAgImFpIjogIiIsDQogICAgICAgICJyYiI6ICJSZWd1bGF0b3J5IG1vZGVsOiBFYWNoIGRlcml2YXRpdmVzIGV4Y2hhbmdlcyBpcyBkZXNpZ25hdGVkIGFzIGFuIFNSTyBwdXJzdWFudCB0byB0aGUgbGVnaXNsYXRpb24gdW5kZXIgd2hpY2ggZWFjaCBpcyByZWdpc3RlcmVkLjxicj48dWw+PGxpPlVTIENvbW1vZGl0eSBGdXR1cmVzIFRyYWRpbmcgQ29tbWlzc2lvbiw8L2xpPjxsaT5VSyBGQ0EsIE1vbmV0YXJ5IEF1dGhvcml0eSBvZiBTaW5nYXBvcmUsPC9saT48bGk+QWJ1IERoYWJpIEdsb2JhbCBNYXJrZXRzLDwvbGk+PGxpPk5ldGhlcmxhbmRzIEF1dGhvcml0eSBmb3IgdGhlIEZpbmFuY2lhbCBNYXJrZXRzPC9saT48L3VsPiIsDQogICAgICAgICJhZSI6ICI8YSBocmVmPVwiaHR0cHM6Ly93d3cuaWNlLmNvbS9cIj48Yj5JbnRlcmNvbnRpbmVudGFsIEV4Y2hhbmdlLCBJbmMuPC9iPjwvYT4oTllTRTogSUNFKSBpcyBhIEZvcnR1bmUgNTAwIGNvbXBhbnkgdGhhdCBkZXNpZ25zLCBidWlsZHMgYW5kIG9wZXJhdGVzIGRpZ2l0YWwgbmV0d29ya3MgdG8gY29ubmVjdCBwZW9wbGUgdG8gb3Bwb3J0dW5pdHkuIFdlIHByb3ZpZGUgZmluYW5jaWFsIHRlY2hub2xvZ3kgYW5kIGRhdGEgc2VydmljZXMgYWNyb3NzIG1ham9yIGFzc2V0IGNsYXNzZXMgdGhhdCBvZmZlciBvdXIgY3VzdG9tZXJzIGFjY2VzcyB0byBtaXNzaW9uLWNyaXRpY2FsIHdvcmtmbG93IHRvb2xzIHRoYXQgaW5jcmVhc2UgdHJhbnNwYXJlbmN5IGFuZCBvcGVyYXRpb25hbCBlZmZpY2llbmNpZXMuIFdlIG9wZXJhdGU8YSBocmVmPVwiaHR0cHM6Ly93d3cudGhlaWNlLmNvbS9hYm91dC9leGNoYW5nZXMtY2xlYXJpbmdcIj48Yj5leGNoYW5nZXM8L2I+PC9hPiwgaW5jbHVkaW5nIHRoZSYjMTYwOzxhIGhyZWY9XCJodHRwczovL3d3dy5ueXNlLmNvbS9cIj48Yj5OZXcgWW9yayBTdG9jayBFeGNoYW5nZTwvYj48L2E+LCBhbmQmIzE2MDs8YSBocmVmPVwiaHR0cHM6Ly93d3cudGhlaWNlLmNvbS9zb2x1dGlvbnMvY2xlYXJpbmdcIj48Yj5jbGVhcmluZyBob3VzZXM8L2I+PC9hPiYjMTYwO3RoYXQgaGVscCBwZW9wbGUgaW52ZXN0LCByYWlzZSBjYXBpdGFsIGFuZCBtYW5hZ2UgcmlzayBhY3Jvc3MgbXVsdGlwbGUgYXNzZXQgY2xhc3Nlcy4gT3VyIGNvbXByZWhlbnNpdmUgZml4ZWQgaW5jb21lJiMxNjA7PGEgaHJlZj1cImh0dHBzOi8vd3d3LnRoZWljZS5jb20vYWJvdXQvZml4ZWQtaW5jb21lLWRhdGFcIj48Yj5kYXRhIHNlcnZpY2VzPC9iPjwvYT4mIzE2MDthbmQgZXhlY3V0aW9uIGNhcGFiaWxpdGllcyBwcm92aWRlIGluZm9ybWF0aW9uLCBhbmFseXRpY3MgYW5kIHBsYXRmb3JtcyB0aGF0IGhlbHAgb3VyIGN1c3RvbWVycyBjYXBpdGFsaXplIG9uIG9wcG9ydHVuaXRpZXMgYW5kIG9wZXJhdGUgbW9yZSBlZmZpY2llbnRseS4gQXQmIzE2MDs8YSBocmVmPVwiaHR0cHM6Ly93d3cudGhlaWNlLmNvbS9hYm91dC9tb3J0Z2FnZS10ZWNobm9sb2d5XCI+PGI+SUNFIE1vcnRnYWdlIFRlY2hub2xvZ3k8L2I+PC9hPiwgd2UgYXJlIHRyYW5zZm9ybWluZyBhbmQgZGlnaXRpemluZyB0aGUgVS5TLiByZXNpZGVudGlhbCBtb3J0Z2FnZSBwcm9jZXNzLCBmcm9tIGNvbnN1bWVyIGVuZ2FnZW1lbnQgdGhyb3VnaCBsb2FuIHJlZ2lzdHJhdGlvbi4gVG9nZXRoZXIsIHdlIHRyYW5zZm9ybSwgc3RyZWFtbGluZSBhbmQgYXV0b21hdGUgaW5kdXN0cmllcyB0byBjb25uZWN0IG91ciBjdXN0b21lcnMgdG8gb3Bwb3J0dW5pdHkuIiwNCiAgICAgICAgImNjIjogIlVTIg0KICAgIH0sIHsNCiAgICAgICAgIk5hbWUwIjogIk1vbnRyZWFsIEV4Y2hhbmdlIChUTVggR3JvdXApIiwNCiAgICAgICAgIkNvdW50cnkiOiAiQ2FuYWRhIiwNCiAgICAgICAgIk5hbWUiOiAiPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm0teC5jYS9lbi9cIiB0aXRsZT1cIk1vbnRyZWFsIEV4Y2hhbmdlIChUTVggR3JvdXApXCI+TW9udHJlYWwgRXhjaGFuZ2UgKFRNWCBHcm91cCk8L2E+PGJyPiIsDQogICAgICAgICJjdHJ5IjogIiIsDQogICAgICAgICJkbm1sIjogIiIsDQogICAgICAgICJkbm0iOiAiWWVzIiwNCiAgICAgICAgIkxpbmsiOiAiIiwNCiAgICAgICAgImN0ZiI6ICIiLA0KICAgICAgICAiY3QiOiAiIiwNCiAgICAgICAgIlNTRURiIjogIlllcyIsDQogICAgICAgICJTU0VEYkxpbmsiOiAiIiwNCiAgICAgICAgInRvcCI6ICIiLA0KICAgICAgICAiYXNyIjogIlllcyIsDQogICAgICAgICJhc3J0IjogIiIsDQogICAgICAgICJzcnIiOiAiTm8iLA0KICAgICAgICAic3JydCI6ICIiLA0KICAgICAgICAid2ciOiAiWWVzIiwNCiAgICAgICAgIndndCI6ICI8dWwgc3R5bGU9XCJib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZy1sZWZ0OjJyZW07bWFyZ2luLXRvcDowcHg7bWFyZ2luLWJvdHRvbToxcmVtO2NvbG9yOnJnYig1MiwgNTgsIDY0KTtmb250LWZhbWlseTpSdWJpaywgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRhLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246bGVmdDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsIDI1NSwgMjU1KTtcIj48bGkgc3R5bGU9XCJib3gtc2l6aW5nOmJvcmRlci1ib3g7XCI+PGEgaHJlZj1cImh0dHBzOi8vd3d3LnRzeC5jb20vcmVzb3VyY2UvZW4vMjM4OFwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCIgc3R5bGU9XCJib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6cmdiKDAsIDEyMSwgMTkyKTtcIj5BIFByaW1lciBmb3IgRW52aXJvbm1lbnRhbCAmYW1wO2FtcDsgU29jaWFsIERpc2Nsb3N1cmU8L2E+LCAyMDIwIChGaXJzdCBlZGl0aW9uIGluIE1hcmNoIDIwMTQpPC9saT48L3VsPjx1bCBzdHlsZT1cImJveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nLWxlZnQ6MnJlbTttYXJnaW4tdG9wOjBweDttYXJnaW4tYm90dG9tOjFyZW07Y29sb3I6cmdiKDUyLCA1OCwgNjQpO2ZvbnQtZmFtaWx5OlJ1YmlrLCBIZWx2ZXRpY2EsIEFyaWFsLCBMdWNpZGEsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwgMjU1LCAyNTUpO1wiPjxsaSBzdHlsZT1cImJveC1zaXppbmc6Ym9yZGVyLWJveDtcIj48YSBocmVmPVwiaHR0cHM6Ly93d3cudHN4LmNvbS9jb21wYW55LXNlcnZpY2VzL2xlYXJuaW5nLWFjYWRlbXkvZXNnLTEwMT9pZD01MDNcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiIHN0eWxlPVwiYm94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnJnYigwLCAxMjEsIDE5Mik7XCI+VE1YIGVudGVyZWQmYW1wO25ic3A7aW50byBhIHN0cmF0ZWdpYyBhbGxpYW5jZSB3aXRoIElIUyBNYXJraXQ8L2E+JmFtcDtuYnNwO3RvIGVuZG9yc2UgdGhlaXImYW1wO25ic3A7PGEgaHJlZj1cImh0dHBzOi8vaWhzbWFya2l0LmNvbS9wcm9kdWN0cy9lc2ctcmVwb3J0aW5nLXJlcG9zaXRvcnkuaHRtbFwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCIgc3R5bGU9XCJib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6cmdiKDAsIDEyMSwgMTkyKTtcIj5FU0cgUmVwb3J0aW5nIFJlcG9zaXRvcnkgKHRoZSDigJxSZXBvc2l0b3J54oCdPC9hPikuIFRoZSBSZXBvc2l0b3J5IGZhY2lsaXRhdGVzIHRoZSBkaXNjbG9zdXJlIG9mIGlzc3VlciBFU0cgaW5mb3JtYXRpb24gaW50byBhIHZhcmlldHkgb2YgZnJhbWV3b3JrcyBhbmQgc3RhbmRhcmRzLCBzdWNoIGFzIFNBU0IgYW5kIFRDRkQsIGFuZCBoYXMgZXh0ZW5zaXZlIGRpc3RyaWJ1dGlvbiBjaGFubmVscyB0byBkaXNzZW1pbmF0ZSB0aGUgaW5mb3JtYXRpb24gdG8gZ2xvYmFsIGludmVzdG9ycyBhbmQgc3Rha2Vob2xkZXJzLjwvbGk+PGxpIHN0eWxlPVwiYm94LXNpemluZzpib3JkZXItYm94O1wiPlJlbGF0ZWQgaW5mb3JtYXRpb246PHVsIHN0eWxlPVwiYm94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmctbGVmdDoycmVtO21hcmdpbi10b3A6MHB4O21hcmdpbi1ib3R0b206MHB4O1wiPjxsaSBzdHlsZT1cImJveC1zaXppbmc6Ym9yZGVyLWJveDtcIj5JbiAyMDEwLCB0aGUgQ2FuYWRpYW4gU2VjdXJpdGllcyBBZG1pbmlzdHJhdG9ycyBpc3N1ZWQgQ1NBIFN0YWZmIE5vdGljZSA1MS0zMzMgRW52aXJvbm1lbnRhbCBSZXBvcnRpbmcgR3VpZGFuY2UgdG8gaGVscCBpc3N1ZXJzIHVuZGVyc3RhbmQgcmVwb3J0aW5nIHJlcXVpcmVtZW50cyBmb3IgZW52aXJvbm1lbnRhbCBpc3N1ZXMuIEl0IGlkZW50aWZpZXMgd2hlcmUgcmVxdWlyZW1lbnRzIGV4aXN0LCBleHBsb3JlcyB0aGUgY29uY2VwdCBvZiBtYXRlcmlhbGl0eSBhbmQgcHJvdmlkZXMgc3BlY2lmaWMgZGlzY2xvc3VyZSBleGFtcGxlcy4gV2hpbGUgdGhlIG5vdGljZSBkaWQgbm90IHNwZWNpZmljYWxseSBhZGRyZXNzIHNvY2lhbCBpbmZvcm1hdGlvbiwgaXQgaGFzIGJlZW4gbm90ZWQgdGhhdCBzb2NpYWwgaXNzdWVzIGFyZSBpbmNsdWRlZCBzaW5jZSB0aGUgQW5udWFsIEluZm9ybWF0aW9uIEZvcm0gYW5kIE1hbmFnZW1lbnTigJlzIERpc2N1c3Npb24gYW5kIEFuYWx5c2lzIGNvdmVyIGFsbCBtYXRlcmlhbCBpc3N1ZXMuICg8YSBocmVmPVwiaHR0cHM6Ly93d3cub3NjLmdvdi5vbi5jYS9kb2N1bWVudHMvZW4vU2VjdXJpdGllcy1DYXRlZ29yeTUvY3NhXzIwMTAxMDI3XzUxLTMzM19lbnZpcm9ubWVudGFsLXJlcG9ydGluZy5wZGZcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiIHN0eWxlPVwiYm94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnJnYigwLCAxMjEsIDE5Mik7XCI+U291cmNlKTwvYT48L2xpPjwvdWw+PC9saT48L3VsPjxicj4iLA0KICAgICAgICAib3NzcCI6ICJZZXMiLA0KICAgICAgICAib3NzcHQiOiAiIiwNCiAgICAgICAgIm9zcnQiOiAiTm8iLA0KICAgICAgICAib3NydHQiOiAiIiwNCiAgICAgICAgImFpIjogIiIsDQogICAgICAgICJyYiI6ICIiLA0KICAgICAgICAiYWUiOiAiIiwNCiAgICAgICAgImNjIjogIkNBIg0KICAgIH0sIHsNCiAgICAgICAgIk5hbWUwIjogIlNoYW5naGFpIEludGVybmF0aW9uYWwgRW5lcmd5IEV4Y2hhbmdlIENvLiwgTHRkIChJTkUpIiwNCiAgICAgICAgIkNvdW50cnkiOiAiQ2hpbmEiLA0KICAgICAgICAiTmFtZSI6ICIiLA0KICAgICAgICAiY3RyeSI6IDE2NzAwMDAwMC4wLA0KICAgICAgICAiZG5tbCI6ICIiLA0KICAgICAgICAiZG5tIjogIlllcyIsDQogICAgICAgICJMaW5rIjogIiIsDQogICAgICAgICJjdGYiOiAiIiwNCiAgICAgICAgImN0IjogIiIsDQogICAgICAgICJTU0VEYiI6ICIiLA0KICAgICAgICAiU1NFRGJMaW5rIjogIiIsDQogICAgICAgICJ0b3AiOiAiQ29tbW9kaXR5IE9wdGlvbnMgYW5kIEZ1dHVyZXMiLA0KICAgICAgICAiYXNyIjogIk5vIiwNCiAgICAgICAgImFzcnQiOiAiIiwNCiAgICAgICAgInNyciI6ICJObyIsDQogICAgICAgICJzcnJ0IjogIiIsDQogICAgICAgICJ3ZyI6ICJObyIsDQogICAgICAgICJ3Z3QiOiAiIiwNCiAgICAgICAgIm9zc3AiOiAiWWVzIiwNCiAgICAgICAgIm9zc3B0IjogIjxzcGFuPjEuIExvdy1zdWxmdXIgZnVlbCBvaWwuIEphbnVhcnkgMSwgMjAyMCwgdGhlIEludGVybmF0aW9uYWwgTWFyaXRpbWUgT3JnYW5pemF0aW9uIChJTU8pIGltcGxlbWVudGVkIHRoZSBnbG9iYWwgc3VsZnVyIHJlc3RyaWN0aW9uLiBUbyBoZWxwIHRoZTxicj48L3NwYW4+PGRpdj5zdXN0YWluYWJpbGl0eSBvZiB0aGUgaW50ZXJuYXRpb25hbCBzaGlwcGluZyBpbmR1c3RyeSwgdGhlIGludGVybmF0aW9uYWwgbWFyaW5lIGZ1ZWwgb2lsIGluZHVzdHJ5IGNvbmR1Y3RlZCB0aGUgZ3JlZW4gbG93LWNhcmJvbiB0cmFuc2Zvcm1hdGlvbi48YnI+IiwNCiAgICAgICAgIm9zcnQiOiAiTm8iLA0KICAgICAgICAib3NydHQiOiAiIiwNCiAgICAgICAgImFpIjogIiIsDQogICAgICAgICJyYiI6ICJDaGluYSBTZWN1cml0aWVzIFJlZ3VsYXRvcnkgQ29tbWlzc2lvbiAoQ1NSQyk8YnI+IiwNCiAgICAgICAgImFlIjogIklORSBpcyBhbiBpbnRlcm5hdGlvbmFsIHRyYWRpbmcgdmVudWUgZm9yIGZ1dHVyZXMgbWFya2V0IHBhcnRpY2lwYW50cywgYXBwcm92ZWQgYnkgdGhlJiMxNjA7IENoaW5hIFNlY3VyaXRpZXMgUmVndWxhdG9yeSBDb21taXNzaW9uIChDU1JDKSBhbmQgaW5pdGlhdGVkIGJ5IFNoYW5naGFpIEZ1dHVyZXMmIzE2MDsgRXhjaGFuZ2UgKFNIRkUpLCBhbmQgaXMgYSB3aG9sbHktb3duZWQgc3Vic2lkaWFyeSBvZiBTSEZFLiBJdCBwZXJmb3JtcyBzZWxmcmVndWxhdG9yeSYjMTYwOyBmdW5jdGlvbnMgaW4gdGhlIGZ1dHVyZXMgbWFya2V0IGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgRnV0dXJlcyBhbmQgJiMxNjA7RGVyaXZhdGl2ZXMgTGF3IG9mIHRoZSBQZW9wbGUncyBSZXB1YmxpYyBvZiBDaGluYSwgdGhlIENvbXBhbnkgTGF3IG9mIHRoZSBQZW9wbGUncyYjMTYwOyBSZXB1YmxpYyBvZiBDaGluYSwgdGhlIFJlZ3VsYXRpb25zIG9uIHRoZSBBZG1pbmlzdHJhdGlvbiBvZiBGdXR1cmVzIFRyYWRpbmcgYW5kIHRoZSYjMTYwO0NTUkMuPGI+T24gTm92ZW1iZXIgNiwgMjAxMywgSU5FIHdhcyByZWdpc3RlcmVkIGluIENoaW5hIChTaGFuZ2hhaSkgUGlsb3QgRnJlZSBUcmFkZSBab25lLiBJdHMgc2NvcGUgb2YgYnVzaW5lc3MgaW5jbHVkZXMgb3JnYW5pemluZyBhbmQgYXJyYW5naW5nIHRoZSBsaXN0aW5nIGFuZCB0cmFkaW5nIG9mIGZmdXR1cmVzLCBvcHRpb25zIGFuZCBvdGhlciBkZXJpdmF0aXZlcywgY2xlYXJpbmcgYW5kIHNldHRsZW1lbnQgYW5kIHRoZWlyIHJlbGF0ZWQmIzE2MDsgYWN0aXZpdGllcywgZm9ybXVsYXRpbmcgYnVzaW5lc3MgbWFuYWdlbWVudCBydWxlcywgaW1wbGVtZW50aW5nIHNlbGYtcmVndWxhdGlvbiwgZGlzc2VtaW5hdGluZyBtYXJrZXQgaW5mb3JtYXRpb24sIGFuZCBwcm92aWRpbmcgdGVjaG5pY2FsLCB2ZW51ZSBhbmQgZmFjaWxpdHkgc2VydmljZXMuIiwNCiAgICAgICAgImNjIjogIkNOIg0KICAgIH0sIHsNCiAgICAgICAgIk5hbWUwIjogIlNoYW5naGFpIEZ1dHVyZXMgRXhjaGFuZ2UiLA0KICAgICAgICAiQ291bnRyeSI6ICJDaGluYSIsDQogICAgICAgICJOYW1lIjogIiIsDQogICAgICAgICJjdHJ5IjogIiIsDQogICAgICAgICJkbm1sIjogIiIsDQogICAgICAgICJkbm0iOiAiWWVzIiwNCiAgICAgICAgIkxpbmsiOiAiIiwNCiAgICAgICAgImN0ZiI6ICIiLA0KICAgICAgICAiY3QiOiAiIiwNCiAgICAgICAgIlNTRURiIjogIiIsDQogICAgICAgICJTU0VEYkxpbmsiOiAiIiwNCiAgICAgICAgInRvcCI6ICJDb21tb2RpdHkgT3B0aW9ucyBhbmQgRnV0dXJlczxicj4iLA0KICAgICAgICAiYXNyIjogIk5vIiwNCiAgICAgICAgImFzcnQiOiAiPHNwYW4+U3RhcnRpbmcgZnJvbSAyMDIxLCBTaGFuZ2hhaSBGdXR1cmVzIEV4Y2hhbmdlIChTSEZFKSBoYXMgYmVlbiByZWxlYXNpbmcgaXRzIHllYXJseSBTb2NpYWwgUmVzcG9uc2liaWxpdHkgUmVwb3J0cywgdGhlIDIwMjEtMjAyMyB2ZXJzaW9ucyBjYW4mIzE2MDs8L3NwYW4+PHNwYW4+YmUgZm91bmQgYXQgPGEgaHJlZj1cImh0dHBzOi8vd3d3LnNoZmUuY29tLmNuL2Fib3V0L3NvY2lhbHJlc3BvbnNpYmlsaXR5L1wiPmh0dHBzOi8vd3d3LnNoZmUuY29tLmNuL2Fib3V0L3NvY2lhbHJlc3BvbnNpYmlsaXR5LzwvYT48L3NwYW4+PGJyPiIsDQogICAgICAgICJzcnIiOiAiTm8iLA0KICAgICAgICAic3JydCI6ICIiLA0KICAgICAgICAid2ciOiAiTm8iLA0KICAgICAgICAid2d0IjogIiIsDQogICAgICAgICJvc3NwIjogIk5vIiwNCiAgICAgICAgIm9zc3B0IjogIiIsDQogICAgICAgICJvc3J0IjogIk5vIiwNCiAgICAgICAgIm9zcnR0IjogIiIsDQogICAgICAgICJhaSI6ICIiLA0KICAgICAgICAicmIiOiAiPHNwYW4+Q2hpbmEgU2VjdXJpdGllcyYjMTYwOzwvc3Bhbj48c3Bhbj5SZWd1bGF0b3J5IENvbW1pc3Npb248L3NwYW4+PGJyPiIsDQogICAgICAgICJhZSI6ICI8c3Bhbj48ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDoxNC42NjY3cHg7bWFyZ2luLWJvdHRvbToxNC42NjY3cHg7XCI+PHNwYW4+VGhlIFNoYW5naGFpIEZ1dHVyZXMgRXhjaGFuZ2UgKGhlcmVpbmFmdGVyIHJlZmVycmVkIHRvIGFzIFNIRkUpLCBlc3RhYmxpc2hlZCBpbiAxOTk5LCYjMTYwOzwvc3Bhbj48c3BhbiBzdHlsZT1cImZvbnQtc2l6ZToxMXB0O1wiPmlzIGEgZnV0dXJlcyBleGNoYW5nZSBjZW50cmFsbHkgYW5kIHVuaWZvcm1seSBzdXBlcnZpc2VkIGJ5IHRoZSBDaGluYSBTZWN1cml0aWVzJiMxNjA7PC9zcGFuPjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjExcHQ7XCI+UmVndWxhdG9yeSBDb21taXNzaW9uIChoZXJlaW5hZnRlciByZWZlcnJlZCB0byBhcyBDU1JDKSBhbmQgaGVhZHF1YXJ0ZXJlZCBpbiYjMTYwOzwvc3Bhbj48c3BhbiBzdHlsZT1cImZvbnQtc2l6ZToxMXB0O1wiPlNoYW5naGFpLCBDaGluYS4gSW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBMYXcgb2YgdGhlIFBlb3BsZSdzIFJlcHVibGljIG9mIENoaW5hIG9uJiMxNjA7PC9zcGFuPjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjExcHQ7XCI+RnV0dXJlcyBhbmQgRGVyaXZhdGl2ZXMsIFJlZ3VsYXRpb25zIG9uIHRoZSBBZG1pbmlzdHJhdGlvbiBvZiBGdXR1cmVzIFRyYWRpbmcgYW5kJiMxNjA7PC9zcGFuPjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjExcHQ7XCI+TWVhc3VyZXMgZm9yIHRoZSBBZG1pbmlzdHJhdGlvbiBvZiBGdXR1cmVzIEV4Y2hhbmdlcyBhbmQgb3RoZXIgbGF3cyBhbmQgcmVndWxhdGlvbnMsJiMxNjA7PC9zcGFuPjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjExcHQ7XCI+U0hGRSBwcm92aWRlcyB2ZW51ZXMgYW5kIGZhY2lsaXRpZXMgZm9yIGZ1dHVyZXMgdHJhZGluZywgb3JnYW5pemVzIGFuZCBzdXBlcnZpc2VzJiMxNjA7PC9zcGFuPjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjExcHQ7XCI+ZnV0dXJlcyB0cmFkaW5nLCBtYWludGFpbnMgdGhlIGZhaXJuZXNzLCBvcmRlcmxpbmVzcyBhbmQgdHJhbnNwYXJlbmN5IG9mIHRoZSBtYXJrZXQsIGFuZCYjMTYwOzwvc3Bhbj48c3BhbiBzdHlsZT1cImZvbnQtc2l6ZToxMXB0O1wiPmNhcnJpZXMgb3V0IHNlbGYtcmVndWxhdG9yeSBtYW5hZ2VtZW50LiBTaGFuZ2hhaSBJbnRlcm5hdGlvbmFsIEVuZXJneSBFeGNoYW5nZSBDby4sJiMxNjA7PC9zcGFuPjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjExcHQ7XCI+THRkLiBpcyBhIHdob2xseS1vd25lZCBzdWJzaWRpYXJ5IG9mIFNIRkUuPC9zcGFuPiIsDQogICAgICAgICJjYyI6ICJDTiINCiAgICB9DQpdDQo=

Need help getting started?

'