joewein.net   joewein.de LLC
fighting spam and scams on the Internet
Try our spam filter!
Free trial for 30 days
  jwSpamSpy

Home
About Us
Spam
419/Nigeria
Fraud
Contact

"419" Scam – Advance Fee / Fake Lottery Scam

The so-called "419" scam is a type of fraud dominated by criminals from Nigeria and other countries in Africa. Victims of the scam are promised a large amount of money, such as a lottery prize, inheritance, money sitting in some bank account, etc.

Victims never receive this non-existent fortune but are tricked into sending their money to the criminals, who remain anonymous. They hide their real identity and location by using fake names and fake postal addresses as well as communicating via anonymous free email accounts and mobile phones.

Keep in mind that scammers DO NOT use their real names when defrauding people.
The criminals either abuse names of real people or companies or invent names or addresses.
Any real people or companies mentioned below have NO CONNECTION to the scammers!

Read more about such scams here or in our 419 FAQ. Use the Scam-O-Matic to verify suspect emails.

Click here to report a problem with this page.

 

 

Some comments by the Scam-O-Matic about the following email:

Fraud email example:

From: FedEx Corporation <pjc@ohsungec.com>
Date: 01 Feb 2022 02:21:49 +0100
Subject: info, You have FedEx package delivery Notification

PGh0bWwgZGlyPSJsdHIiIGxhbmc9ImVuIj4NCjxoZWFkPg0KCTxtZXRhIGNvbnRlbnQ9InRl eHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiANCg0K Lz4NCgk8bWV0YSBjb250ZW50PSJJRT1lZGdlIiBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGli bGUiIC8+DQoJPG1ldGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNj YWxlPTEuMCwgbWF4aW11bS0NCg0Kc2NhbGU9Mi4wLCB1c2VyLXNjYWxhYmxlPXllcyIgbmFt ZT0idmlld3BvcnQiIC8+DQoJPG1ldGEgY29udGVudD0ibm8tY2FjaGUiIGh0dHAtZXF1aXY9 IlByYWdtYSIgLz4NCgk8bWV0YSBjb250ZW50PSItMSIgaHR0cC1lcXVpdj0iRXhwaXJlcyIg Lz4NCgk8bGluayBjcm9zc29yaWdpbj0iIiBocmVmPSJodHRwczovL2FhZGNkbi5tc2Z0YXV0 aC5uZXQiIA0KDQpyZWw9InByZWNvbm5lY3QiIC8+DQoJPG1ldGEgY29udGVudD0ib24iIGh0 dHAtZXF1aXY9IngtZG5zLXByZWZldGNoLWNvbnRyb2wiIC8+DQoJPGxpbmsgaHJlZj0iLy9h YWRjZG4ubXNmdGF1dGgubmV0IiByZWw9ImRucy1wcmVmZXRjaCIgLz4NCgk8bGluayBocmVm PSIvL2FhZGNkbi5tc2F1dGgubmV0IiByZWw9ImRucy1wcmVmZXRjaCIgLz4NCgk8bWV0YSBj b250ZW50PSJzaWdub3V0IiBuYW1lPSJQYWdlSUQiIC8+DQoJPG1ldGEgY29udGVudD0iIiBu YW1lPSJTaXRlSUQiIC8+DQoJPG1ldGEgY29udGVudD0iMTAzMyIgbmFtZT0iUmVxTEMiIC8+ DQoJPG1ldGEgY29udGVudD0iZW4tVVMiIG5hbWU9IkxvY0xDIiAvPg0KCTxsaW5rIA0KDQpo cmVmPSJodHRwczovL2FhZGNkbi5tc2Z0YXV0aC5uZXQvc2hhcmVkLzEuMC9jb250ZW50L2lt YWdlcy9mYXZpY29uX2FfZXVwYQ0KDQp5ZmdnaHFpYWk3azlzb2w2bGcyLmljbyIgcmVsPSJz aG9ydGN1dCBpY29uIiAvPg0KCTxtZXRhIGNvbnRlbnQ9Im5vbmUiIG5hbWU9InJvYm90cyIg Lz48c2NyaXB0IA0KDQp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8vPCFbQ0RBVEFbDQokQ29u ZmlnPXsiY29icmFuZGluZyI6eyJiYXNlIjoiYXBwIiwibGFiZWwiOiJXb3JrIG9yIHNjaG9v bCwgb3IgcGVyc29uYWwgDQoNCk1pY3Jvc29mdCBhY2NvdW50IiwibGFiZWxUZW5hbnQiOiJX b3JrIG9yIHNjaG9vbCwgb3IgcGVyc29uYWwgTWljcm9zb2Z0IA0KDQphY2NvdW50IiwiYWN0 aXZlIjoiYXBwIiwiaW5pdGlhbCI6ImFwcCIsImFwcCI6DQoNCnsiSWxsdXN0cmF0aW9uIjoi aHR0cHM6Ly9hYWRjZG4ubXNmdGF1dGgubmV0L3NoYXJlZC8xLjAvY29udGVudC9pbWFnZXMv ZGVmDQoNCmF1bHRfc2lnbmluX2lsbHVzdHJhdGlvbl81by16OGJxNGZwZDdpeDhrbmwtDQoN CnQ5cTIucG5nIiwiQmFubmVyTG9nbyI6IiIsIkxvZ29UZXh0IjoiSGFuZyBvbiBhIG1vbWVu dCB3aGlsZSB3ZSBzaWduIHlvdSANCg0Kb3V0LiIsIkJhY2tyb3VuZENvbG9yIjoiIzAwNzJj NiIsIkJvaWxlclBsYXRlVGV4dCI6IiJ9LCJ0ZW5hbnQiOg0KDQp7fX0sInRpbGVzIjp7ImFh ZFVzZXJzIjpbXSwibXNhVXNlcnMiOltdLCJ1c2VycyI6W10sIm90aGVyVXNlciI6DQoNCnsi bmFtZSI6IlVzZSBhbm90aGVyIA0KDQphY2NvdW50IiwibG9naW4iOiIiLCJpbWFnZUFBRCI6 InVzZV9hbm90aGVyX2FjY291bnQucG5nIiwiaW1hZ2VNU0EiOiJ1c2VfYQ0KDQpub3RoZXJf YWNjb3VudC5wbmciLCJpc0xpdmUiOmZhbHNlLCJsaW5rIjoib3RoZXIiLCJhdXRoVXJsIjoi Iiwic2Vzc2lvbklEIg0KDQo6IiIsImRvbWFpbkhpbnQiOiJvdGhlciJ9LCJzcGxpdHRlclRp bGVzVXNlcnMiOlt7ImlkIjoiYWFkIiwibmFtZSI6IldvcmsgDQoNCm9yIHNjaG9vbCBhY2Nv dW50IiwibG9naW4iOiJDcmVhdGVkIGJ5IHlvdXIgSVQgDQoNCmRlcGFydG1lbnQiLCJpbWFn ZSI6Imh0dHBzOi8vYWFkY2RuLm1zZnRhdXRoLm5ldC9lc3RzLzIuMS9jb250ZW50L2ltYWdl cy93DQoNCm9ya19hY2NvdW50X2d3cGdzempyZHptZzl0LWV0b3RkbGcyLnBuZyJ9LHsiaWQi OiJtc2EiLCJuYW1lIjoiUGVyc29uYWwgDQoNCmFjY291bnQiLCJsb2dpbiI6IkNyZWF0ZWQg YnkgDQoNCnlvdSIsImltYWdlIjoiaHR0cHM6Ly9hYWRjZG4ubXNmdGF1dGgubmV0L2VzdHMv Mi4xL2NvbnRlbnQvaW1hZ2VzL3BlcnNvbmFsDQoNCl9hY2NvdW50X2QzazFscXlhOGs1X21t YmxnZzg1cnEyLnBuZyJ9XX0sImNvbnN0YW50cyI6eyJkYmdNZXNzYWdlcyI6DQoNCltdLCJN RU1CRVJfTkFNRSI6IiIsIkZFREVSQVRJT05fUVVFUllfUEFSQU1FVEVSUyI6Ij91c2VybmFt ZT0NCg0KXHUwMDI2d2E9d3NpZ25pbjEuMFx1MDAyNnd0cmVhbG09dXJuJTNhZmVkZXJhdGlv biUzYU1pY3Jvc29mdE9ubGluZQ0KDQpcdTAwMjZ3Y3R4PSIsIkJBU0VfVVJMIjoiL2NvbW1v bi9vYXV0aDIvbG9nb3V0PyIsIkxBVEVOQ1lfVEhSRVNIT0xEIjoyMDAwLA0KDQoiQ0ROX0lN QUdFX1BBVEgiOiJodHRwczovL2FhZGNkbi5tc2Z0YXV0aC5uZXQvZXN0cy8yLjEvY29udGVu dC9pbWFnZXMvIiwiSQ0KDQpTX1VTRV9PVEhFUl9BQ0NPVU5UX1ZJU0lCTEUiOmZhbHNlLCJN QVhfVVNFUl9USUxFUyI6NSwiUEFSVE5FUl9OQU1FIjoiU2lnbiANCg0KaW4gd2l0aCB5b3Vy IHdvcmsgb3Igc2Nob29sIA0KDQphY2NvdW50IiwiTUVUUklDU19NT0RFIjoxLCJUb2tlbml6 ZWRTdHJpbmdNc2dzIjoNCg0KeyJHRU5FUklDX0VSUk9SIjoiXHUwMDNjSDFcdTAwM2VTb3Jy eSwgYnV0IHdlXHUwMDI3cmUgaGF2aW5nIHRyb3VibGUgDQoNCnNpZ25pbmcgeW91IGluXHUw MDNjL0gxXHUwMDNlXHUwMDNjcFx1MDAzZVBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgDQoN Cm1pbnV0ZXMuIElmIHRoaXMgZG9lc25cdTAwMjd0IHdvcmssIHlvdSBtaWdodCB3YW50IHRv IGNvbnRhY3QgeW91ciBhZG1pbiANCg0KYW5kIHJlcG9ydCB0aGUgZm9sbG93aW5nIGVycm9y OiAjfiNFcnJvckNvZGUjfiMuXHUwMDNjL3ANCg0KXHUwMDNlIiwiVVBOX0RJU0FNQklHVUFU RV9NRVNTQUdFIjoiSXQgbG9va3MgbGlrZSB7MH0gaXMgdXNlZCB3aXRoIG1vcmUgDQoNCnRo YW4gb25lIGFjY291bnQuIFdoaWNoIGFjY291bnQgZG8geW91IHdhbnQgdG8gDQoNCnVzZT8i fSwiUkVBTE1fUkVTT0xWRVJfVVJMIjoiL2NvbW1vbi91c2VycmVhbG0iLCJGT1JDRURfU0lH Tl9JTiI6ZmFsc2UsImlzDQoNCkN4aFJlcXVlc3QiOmZhbHNlLCJpc0FkYWxSZXF1ZXN0Ijpm YWxzZSwiSVNfTkFNRV9DT0VYSVNURU5DRV9BQ0NPVU5UIjpmYWxzDQoNCmUsImFkYWxVeE92 ZXJyaWRlIjpmYWxzZSwiY2FuY2VsUmVkaXJlY3RVcmwiOiIiLCJJU19NU0FfRkVEX1NVUFBP UlRFRCI6dHJ1DQoNCmUsIklTX01TQV9QSE9ORV9VU0VSTkFNRV9TVVBQT1JURUQiOnRydWUs IklTX01TQV9SRURJUl9TVVBQT1JURUQiOmZhbHNlLCJNDQoNClNBX0RPTUFJTiI6ImxpdmUu Y29tIiwiUFJPTVBUIjoiIiwiVVNFUk5BTUVfSElOVF9URVhUIjoiRW1haWwgb3IgDQoNCnBo b25lIiwiSVNfTE9HT1VUX1JFUVVFU1QiOnRydWUsIlNIT1VMRF9ISURFX1NJR05VUCI6ZmFs c2UsIlVTRV9EQVJLX1RJTEVfDQoNCkxPR08iOmZhbHNlLCJIQVNfRVJST1IiOmZhbHNlLCJJ U19NT0JJTEUiOmZhbHNlLCJtb2JpbGVXaWR0aFRocmVzaG9sZCI6NjAwDQoNCiwidXhMb2dv dXRVcmwiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vY29tbW9uL3V4bG9n b3V0IiwiZm9yZ2V0DQoNClVybCI6Imh0dHBzOi8vbG9naW4ubWljcm9zb2Z0b25saW5lLmNv bS9mb3JnZXR1c2VyIiwiSVNfSE9MT0dSQVBISUMiOmZhbHNlDQoNCiwic2F2ZWRUaWxlcyI6 eyJvdGhlckpTT04iOnsibmFtZSI6IlVzZSBhbm90aGVyIA0KDQphY2NvdW50IiwibG9naW4i OiIiLCJpbWFnZUFBRCI6Im90aGVyX2dseXBoLnBuZyIsImltYWdlTVNBIjoib3RoZXJfZ2x5 cGgucA0KDQpuZyIsImlzTGl2ZSI6ZmFsc2UsImxpbmsiOiJvdGhlciIsImF1dGhVcmwiOiIi LCJzZXNzaW9uSUQiOiIiLCJkb21haW5IaW50Ig0KDQo6Im90aGVyIn19LCJVc2VfQ2xpZW50 X0NoZWNrX01zYV9GbGFnIjp0cnVlLCJpc0RlYnVnTW9kZSI6ZmFsc2UsInJlcXVlc3QiOg0K DQp7InVhaWQiOiJiMDRlZDE4ZTlkYzU0N2MyODY2YTBjN2ViYmY3MTYxZCIsImlzc3Vlcklk ZW50aWZpZXIiOiJtc28iLCJpc01zYQ0KDQpTdXBwb3J0ZWQiOnRydWV9LCJMb2NhbGUiOiJl bi0NCg0KVVMiLCJyZXNwb25zZU1vZGUiOiJRdWVyeSIsIklzQjJDU2NlbmFyaW8iOmZhbHNl LCJzaG93VGlsZXNPblBhZ2VMb2FkIjp0cnUNCg0KZSwic2tpcE1lQ29udHJvbE9uUGFnZUxv YWQiOnRydWUsIm9uUHJlbVBhc3N3b3JkVmFsaWRhdGlvbkNvbmZpZyI6DQoNCnsiaXNVc2Vy UmVhbG1QcmVjaGVja0VuYWJsZWQiOnRydWV9LCJkZXNrdG9wU3NvQ29uZmlnIjoNCg0KeyJp c0VkZ2VBbmFoZWltQWxsb3dlZCI6dHJ1ZSwiaXdhRW5kcG9pbnRVcmxGb3JtYXQiOiJodHRw czovL2F1dG9sb2dvbi5taWMNCg0Kcm9zb2Z0YXp1cmVhZC1zc28uY29tLw0KDQp7MH0vd2lu YXV0aC9zc28iLCJpd2FTc29Qcm9iZVVybEZvcm1hdCI6Imh0dHBzOi8vYXV0b2xvZ29uLm1p Y3Jvc29mdGF6dXJlYQ0KDQpkLXNzby5jb20vDQoNCnswfS93aW5hdXRoL3Nzb3Byb2JlIiwi aXdhSUZyYW1lVXJsRm9ybWF0IjoiaHR0cHM6Ly9hdXRvbG9nb24ubWljcm9zb2Z0YXp1DQoN CnJlYWQtc3NvLmNvbS97MH0vd2luYXV0aC9pZnJhbWU/DQoNCmlzQWRhbFJlcXVlc3Q9RmFs c2UiLCJpd2FSZXF1ZXN0VGltZW91dEluTXMiOjEwMDAwLCJzdGFydERlc2t0b3BTc29PblBh Z2VMDQoNCm9hZCI6ZmFsc2UsInByb2dyZXNzQW5pbWF0aW9uVGltZW91dCI6MTAwMDAsImlz RWRnZUFsbG93ZWQiOmZhbHNlLCJpc1NhZmFyDQoNCmlBbGxvd2VkIjp0cnVlLCJpc0lFQWxs b3dlZEZvclNzb1Byb2JlIjp0cnVlLCJlZGdlUmVkaXJlY3RVcmkiOiJodHRwczovL2F1DQoN CnRvbG9nb24ubWljcm9zb2Z0YXp1cmVhZC1zc28uY29tL3swfS93aW5hdXRoL3Nzby9lZGdl cmVkaXJlY3Q/DQoNCm9yaWdpbj1sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tIn0sIm1zYU1l Q29udHJvbFRpbWVvdXQiOjUwMDB9LCJzY2lkIjoxMDMwDQoNCiwiaHBnYWN0IjoxODAyLCJo cGdpZCI6ODAwMiwicGdpZCI6InNpZ25vdXQiLCJhcGlDYW5hcnkiOiJBUUFCQUFBQUFBQjJV eXp3DQoNCnRRRUtSNy1yV2JnZGNCWkl3TkEtDQoNClprcDBxdDRXeDNsaTFKb3RNUXVQbkE3 aTJ2TDA5OFpiM0tKRWNrV1p3d3IyRURQeXBLUFFKMUtwdTdzaUVpWEhjb0NmT25hU3ZtDQoN CkpoTUNFTmNRRzkyX1lyQTd0TDhUdXFGRnNpQXJGUWZPWWtiWkpxXzNublZ3Tzk4NTg4ZDBp cUV6UV9GTmpOR3lYejY4NFBkWS0NCg0KQlVQRS01eVVWc3pqa2lhRE1uWS0NCg0KaV9vVGo3 eE8yRjhhc0J4b3ZVRVVZVFg0Y0paV29tQVBQSVlTeHp5NXhNeUFBIiwiY2FuYXJ5IjoiOVgy TU1tWEM4MWpGa081c1MNCg0KMUJXb1FzWUVzeXFmTnJzVVkrK3Z0Q1o1eW89MDoxIiwiY29y cmVsYXRpb25JZCI6IjcyOTQxY2JiLWM3MTQtNGMyYS1iMDdhLQ0KDQpmNjU2YWEwOTMxNzMi LCJzZXNzaW9uSWQiOiJjY2JkOGI0Yy1kNWFhLTRlNTMtYWJlNC0NCg0KNjIxZDNlMDRhMzAx IiwibG9jYWxlIjp7Im1rdCI6ImVuLQ0KDQpVUyIsImxjaWQiOjEwMzN9LCJzbE1heFJldHJ5 IjoyLCJzbFJlcG9ydEZhaWx1cmUiOnRydWUsInN0cmluZ3MiOg0KDQp7ImRlc2t0b3Bzc28i OnsiYXV0aGVudGljYXRpbmdtZXNzYWdlIjoiVHJ5aW5nIHRvIHNpZ24geW91IGluIn0sIm1z YSI6DQoNCnsibGFiZWwiOiIoTWljcm9zb2Z0IGFjY291bnQpIiwiYWNjb3VudCI6eyJpbWdh bHR0ZXh0IjoiTWljcm9zb2Z0IGFjY291bnQgDQoNCnN5bWJvbCIsInRpbGVhbHR0ZXh0Ijoi TWljcm9zb2Z0IGFjY291bnQgZm9yIHswfSJ9LCJyZWRpcmVjdCI6IldlP3JlIA0KDQp0YWtp bmcgeW91IHRvIHRoZSBNaWNyb3NvZnQgYWNjb3VudCBzaWduLWluIHBhZ2UuIn0sImFhZCI6 eyJhY2NvdW50IjoNCg0KeyJpbWdhbHR0ZXh0IjoiV29yayBvciBzY2hvb2wgYWNjb3VudCBz eW1ib2wiLCJ0aWxlYWx0dGV4dCI6Ildvcmsgb3IgDQoNCnNjaG9vbCBhY2NvdW50IGZvciB7 MH0ifSwicmVkaXJlY3QiOiJXZVx1MDAyN3JlIHRha2luZyB5b3UgdG8geW91ciANCg0Kb3Jn YW5pemF0aW9uXHUwMDI3cyBzaWduLWluIHBhZ2UuIn0sImNsb3VkZmVkIjp7InJlZGlyZWN0 IjoiV2VcdTAwMjdyZSANCg0KdGFraW5nIHlvdSB0byB5b3VyIG9yZ2FuaXphdGlvblx1MDAy N3Mgc2lnbi1pbiANCg0KcGFnZS4ifSwib3RoZXJhY2NvdW50dGV4dCI6IlVzZSBhbm90aGVy IGFjY291bnQiLCJjbGlja2Zvcm1vcmUiOiJDbGljayBmb3IgDQoNCm1vcmUgYWN0aW9ucyIs ImNvbm5lY3RlZHRvd2luZG93cyI6IkNvbm5lY3RlZCB0byANCg0KV2luZG93cyIsInNpZ25l ZGluIjoiU2lnbmVkIGluIiwiY2xpY2t0b3NpZ25pbiI6IiIsInNpZ25pbmdvdXQiOiJTaWdu aW5nIA0KDQpvdXQuLi4iLCJhY2NvdW50aW1hZ2VhbHR0ZXh0IjoiVXNlciBhY2NvdW50IGlt YWdlIiwiaGVhZGVyIjp7InRleHQiOg0KDQp7InVzZXJuYW1lIjoiU2lnbiBpbiB3aXRoIHlv dXIgd29yayBhY2NvdW50IiwicGFzc3dvcmQiOiJFbnRlciB5b3VyIA0KDQpwYXNzd29yZCIs InByaXZhY3kiOiJQcml2YWN5IHN0YXRlbWVudCJ9fSwiZGlzYW1iaWd1YXRpb24iOg0KDQp7 ImRlc2NyaXB0aW9uIjoiSXQgbG9va3MgbGlrZSB7MH0gaXMgdXNlZCB3aXRoIG1vcmUgdGhh biBvbmUgYWNjb3VudC4gDQoNCldoaWNoIGFjY291bnQgZG8geW91IHdhbnQgdG8gdXNlPyIs InRpbWVvdXQiOiJXZVx1MDAyN3JlIGhhdmluZyB0cm91YmxlIA0KDQpsb2NhdGluZyB5b3Vy IGFjY291bnQuIFdoaWNoIHR5cGUgb2YgYWNjb3VudCBkbyB5b3Ugd2FudCB0byANCg0KdXNl PyJ9LCJlcnJvcnMiOnsiMzAxMzYiOiJUeXBlIHRoZSBlbWFpbCBhZGRyZXNzIG9yIHBob25l IG51bWJlciBvZiB0aGUgDQoNCmFjY291bnQgeW91IHdhbnQgdG8gc2lnbiBpbiB3aXRoLiIs IjMwMDY0Ijp7InRpdGxlIjoiVGhpcyBkb2Vzblx1MDAyN3QgDQoNCmxvb2sgbGlrZSBhIHZh bGlkIHVzZXIgSUQiLCJkZXNjcmlwdGlvbiI6IlRyeSB1c2luZyB5b3VyIGVtYWlsIGFkZHJl c3Mgb3IgDQoNCnBob25lIG51bWJlci4ifSwiMzAwMDgiOiJTaWduIGluIHRvIHswfSIsIjMw MDY3IjoiXHUwMDNjSDFcdTAwM2VXZSBkb24NCg0KXHUwMDI3dCByZWNvZ25pemUgdGhpcyB1 c2VyIElEIG9yIHBhc3N3b3JkXHUwMDNjL0gxXHUwMDNlXHUwMDNjcFx1MDAzZUJlIA0KDQpz dXJlIHRvIHR5cGUgdGhlIHBhc3N3b3JkIGZvciB5b3VyIHdvcmsgb3Igc2Nob29sIGFjY291 bnQuXHUwMDNjL3ANCg0KXHUwMDNlIiwiMzAwNjgiOnsidGl0bGUiOiJcdTAwM2NIMVx1MDAz ZXswfSBpc25cdTAwMjd0IGluIG91ciBzeXN0ZW0NCg0KXHUwMDNjL0gxXHUwMDNlXHUwMDNj cFx1MDAzZU1ha2Ugc3VyZSB5b3UgdHlwZWQgeW91ciBlbWFpbCBhZGRyZXNzIA0KDQpjb3Jy ZWN0bHkuIEl0IHVzdWFsbHkgbG9va3MgbGlrZSBzb21lb25lQGV4YW1wbGUuY29tIG9yIA0K DQpzb21lb25lQGV4YW1wbGUub25taWNyb3NvZnQuY29tXHUwMDNjL3BcdTAwM2UiLCJkZXNj cmlwdGlvbiI6Ik1ha2Ugc3VyZSANCg0KeW91IHR5cGVkIHlvdXIgZW1haWwgYWRkcmVzcyBj b3JyZWN0bHkuIEl0IHVzdWFsbHkgbG9va3MgbGlrZSANCg0Kc29tZW9uZUBleGFtcGxlLmNv bSBvciBzb21lb25lQGV4YW1wbGUub25taWNyb3NvZnQuY29tIn0sIjMwMTExIjoiUGxlYXNl IA0KDQplbnRlciB5b3VyIHBhc3N3b3JkLiIsIjMwMTI3IjoiVG8gc2lnbiBpbiwgc3RhcnQg YnkgZW50ZXJpbmcgYSB1c2VyIA0KDQpJRC4iLCIzMDE0MCI6IldlXHUwMDI3cmUgaGF2aW5n IHRyb3VibGUgbG9jYXRpbmcgeW91ciBhY2NvdW50LiBXaGljaCB0eXBlIA0KDQpvZiBhY2Nv dW50IGRvIHlvdSB3YW50IHRvIHVzZT8iLCIzMDE0NSI6IkNoZWNrIHRoZSBlbWFpbCBhZGRy ZXNzIHlvdSANCg0KZW50ZXJlZC4gWW91IG1heSBoYXZlIG1pc3R5cGVkIGl0LiIsIjMwMTQ2 Ijp7InRpdGxlIjoiV2UgY291bGRuXHUwMDI3dCANCg0KZmluZCBhbiBhY2NvdW50IHdpdGgg dGhhdCBlbWFpbCBhZGRyZXNzLiIsImRlc2NyaXB0aW9uIjoiRW50ZXIgYSBkaWZmZXJlbnQg DQoNCmVtYWlsIGFkZHJlc3Mgb3IgXHUwMDNjYSBpZD1cdTAwMjJ1c2VyLW5vdC1mb3VuZC1s aW5rXHUwMDIyIGhyZWY9XHUwMDIyIw0KDQpcdTAwMjJcdTAwM2VnZXQgYSBuZXcgTWljcm9z b2Z0IGFjY291bnRcdTAwM2MvYVx1MDAzZS4ifSwiMzAxNjgiOg0KDQp7InRpdGxlIjoiV2Ug ZG9uXHUwMDI3dCByZWNvZ25pemUgdGhpcyBkb21haW4gbmFtZSIsImRlc2NyaXB0aW9uIjoi TWFrZSANCg0Kc3VyZSB5b3UgdHlwZWQgeW91ciBvcmdhbml6YXRpb25cdTAwMjdzIGRvbWFp biBuYW1lIGNvcnJlY3RseS4gSXQgdXN1YWxseSANCg0KbG9va3MgbGlrZSBAZXhhbXBsZS5j b20gb3IgQGV4YW1wbGUub25taWNyb3NvZnQuY29tLiJ9LCIzMDE3MyI6IldoaWNoIHR5cGUg DQoNCm9mIGFjY291bnQgZG8geW91IHdhbnQgdG8gc2lnbiBpbiB3aXRoPyIsIjMwMjAwIjoi IiwiY2F0Y2hhbGwiOiJXZSBkaWRuDQoNClx1MDAyN3QgcmVjZWl2ZSBhIHJlc3BvbnNlLiBQ bGVhc2UgdHJ5IGFnYWluLiJ9fSwiZW51bXMiOg0KDQp7IkNsaWVudE1ldHJpY3NNb2RlcyI6 DQoNCnsiTm9uZSI6MCwiU3VibWl0T25Qb3N0IjoxLCJTdWJtaXRPblJlZGlyZWN0IjoyLCJJ bnN0cnVtZW50UGx0Ijo0fSwiTmFtZVNwDQoNCmFjZVR5cGUiOnsiTm9uZSI6MCwiTWFuYWdl ZCI6MSwiRmVkZXJhdGVkIjoyfX0sInVybHMiOnsiaW5zdHIiOg0KDQp7InBhZ2Vsb2FkIjoi aHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tL2NvbW1vbi9pbnN0cnVtZW50YXRp b24vcmVwbw0KDQpydHBhZ2Vsb2FkIiwiZHNzb3N0YXR1cyI6Imh0dHBzOi8vbG9naW4ubWlj cm9zb2Z0b25saW5lLmNvbS9jb21tb24vaW5zdHJ1bQ0KDQplbnRhdGlvbi9kc3Nvc3RhdHVz In0sImRpc2FtYmlnaGVscHVybCI6Imh0dHBzOi8vZ28ubWljcm9zb2Z0LmNvbS9md2xpbmsv cA0KDQovP0xpbmtJRD03MzMyNDciLCJtc2EiOnsibWV1cmwiOiJodHRwczovL2xvZ2luLmxp dmUuY29tL01lLnNyZj8NCg0Kd2E9d3NpZ25pbjEuMFx1MDAyNmlkcGZsYWc9ZGlyZWN0DQoN Clx1MDAyNndyZXBseT0iLCJvYXV0aGF1dGhvcml6ZXVybCI6Imh0dHBzOi8vbG9naW4ubGl2 ZS5jb20vb2F1dGgyMF9hdXRob3JpDQoNCnplLnNyZiIsInNpZ25vdXR1cmwiOm51bGwsInBh c3N3b3JkcmVzZXR1cmwiOiJodHRwczovL2FjY291bnQubGl2ZS5jb20vcGFzDQoNCnN3b3Jk L3Jlc2V0IiwibWFuYWdlYWNjb3VudHVybCI6Imh0dHBzOi8vYWNjb3VudC5taWNyb3NvZnQu Y29tIiwic2luZ2xldXNlDQoNCmNvZGUiOiJodHRwOi8vd2luZG93cy5taWNyb3NvZnQuY29t L2VuLVVTL3dpbmRvd3MtbGl2ZS9zaWduLWluLXNpbmdsZS0NCg0KdXNlLWNvZGUiLCJzaWdu dXB1cmwiOm51bGx9LCJzdHlsZSI6DQoNCnsibG9naW5ob3ZlciI6Imh0dHBzOi8vYWFkY2Ru Lm1zZnRhdXRoLm5ldC9lc3RzLzIuMS9jb250ZW50L2NkbmJ1bmRsZXMvbG9nDQoNCmluX2hv dmVyLm1pbl9sanY0bmR2cm5renhhd2V0N2RueHB3Mi5jc3MifSwiYWdyZWVtZW50IjoNCg0K eyJ0b3UiOiJodHRwczovL3d3dy5taWNyb3NvZnQuY29tL2VuLQ0KDQpVUy9zZXJ2aWNlc2Fn cmVlbWVudC8iLCJwcml2YWN5IjoiaHR0cHM6Ly9wcml2YWN5Lm1pY3Jvc29mdC5jb20vZW4t DQoNClVTL3ByaXZhY3lzdGF0ZW1lbnQifSwicmVmcmVzaHVybCI6bnVsbCwiYXBwcmVkaXJl Y3R1cmwiOm51bGx9LCJicm93c2VyIjoNCg0KeyJsdHIiOjEsIkZpcmVmb3giOjEsIl9NYWMi OjEsIl9NODMiOjEsIl9EMCI6MSwiRnVsbCI6MSwiUkVfR2Vja28iOjEsImIiOg0KDQp7Im5h bWUiOiJGaXJlZm94IiwibWFqb3IiOjgzLCJtaW5vciI6MH0sIm9zIjoNCg0KeyJuYW1lIjoi T1NYIiwidmVyc2lvbiI6IiJ9LCJWIjoiODMuMCJ9LCJ3YXRzb24iOg0KDQp7InVybCI6Ii9j b21tb24vaGFuZGxlcnMvd2F0c29uIiwiYnVuZGxlIjoiaHR0cHM6Ly9hYWRjZG4ubXNmdGF1 dGgubmV0L2VzdA0KDQpzLzIuMS9jb250ZW50L2NkbmJ1bmRsZXMvd2F0c29uLm1pbl95YmRi MWl4emt2LQ0KDQpma29yMm11NnE2dzIuanMiLCJzYnVuZGxlIjoiaHR0cHM6Ly9hYWRjZG4u bXNmdGF1dGgubmV0L2VzdHMvMi4xL2NvbnRlbnQvYw0KDQpkbmJ1bmRsZXMvd2F0c29uc3Vw cG9ydC5taW5fX3lva19jaHdzZXlwd2JtdWZmbm5hYTIuanMiLCJmYnVuZGxlIjoiaHR0cHM6 Lw0KDQovYWFkY2RuLm1zZnRhdXRoLm5ldC9lc3RzLzIuMS9jb250ZW50L2NkbmJ1bmRsZXMv ZnJhbWV3b3Jrc3VwcG9ydC5taW5fb2Fkcg0KDQpuYzEzbWFnYjAwOWs0ZDIwbGcyLmpzIiwi cmVzZXRFcnJvclBlcmlvZCI6NSwibWF4Q29yc0Vycm9ycyI6LQ0KDQoxLCJtYXhJbmplY3RF cnJvcnMiOjUsIm1heEVycm9ycyI6MTAsIm1heFRvdGFsRXJyb3JzIjozLCJleHBTcmNzIjoN Cg0KWyJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20iLCJodHRwczovL2FhZGNk bi5tc2F1dGgubmV0LyIsImh0dHBzOi8NCg0KL2FhZGNkbi5tc2Z0YXV0aC5uZXQvIiwiLmxv Z2luLm1pY3Jvc29mdG9ubGluZS5jb20iXSwiZW52RXJyb3JSZWRpcmVjdCI6dHINCg0KdWUs ImVudkVycm9yVXJsIjoiL2NvbW1vbi9oYW5kbGVycy9lbnZlcnJvciJ9LCJsb2FkZXIiOnsi Y2RuUm9vdHMiOg0KDQpbImh0dHBzOi8vYWFkY2RuLm1zYXV0aC5uZXQvIiwiaHR0cHM6Ly9h YWRjZG4ubXNmdGF1dGgubmV0LyJdLCJsb2dCeVRocm93aQ0KDQpuZyI6dHJ1ZX0sInNlcnZl ckRldGFpbHMiOg0KDQp7InNsYyI6IlByb2RTbGljZXMiLCJkYyI6Ik5FVUxSMiIsInJpIjoi RFUyWFhYWCIsInZlciI6eyJ2IjoNCg0KWzIsMSwxMTI1MSwyMF19LCJydCI6IjIwMjAtMTEt DQoNCjMwVDIxOjI0OjQ2IiwiZXQiOjQ3fSwiZkJyZWFrQnJhbmRpbmdTaWduaW5TdHJpbmci OnRydWUsImZGaXhJbmNvcnJlY3RBcGlDDQoNCmFuYXJ5VXNhZ2UiOnRydWUsInVybE5vQ29v a2llcyI6Imh0dHBzOi8vbG9naW4ubWljcm9zb2Z0b25saW5lLmNvbS9jb29raWVzDQoNCmRp c2FibGVkIiwiZlRyaW1DaHJvbWVCc3NvVXJsIjp0cnVlLCJpbmxpbmVNb2RlIjo1LCJmU2hv d0NvcHlEZWJ1Z0RldGFpbHNMDQoNCmluayI6dHJ1ZX07DQovL11dPjwvc2NyaXB0PjxzY3Jp cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4vLzwhW0NEQVRBWw0KIWZ1bmN0aW9uKCl7dmFy IGU9d2luZG93LHI9ZS4kRGVidWc9ZS4kRGVidWd8fHt9LHQ9ZS4kQ29uZmlnfHx7fTtpZigh DQoNCnIuYXBwZW5kTG9nKXt2YXIgbj1bXSxvPTA7ci5hcHBlbmRMb2c9ZnVuY3Rpb24oZSl7 dmFyIHI9dC5tYXhEZWJ1Z0xvZ3x8DQoNCjI1LGE9KG5ldyBEYXRlKS50b1VUQ1N0cmluZygp KyI6IitlO24ucHVzaChvKyI6IithKSxuLmxlbmd0aD5yJiZuLnNoaWZ0DQoNCigpLG8rK30s ci5nZXRMb2dzPWZ1bmN0aW9uKCl7cmV0dXJuIG59fX0oKSxmdW5jdGlvbigpe2Z1bmN0aW9u IGUoZSxyKQ0KDQp7ZnVuY3Rpb24gdChhKXt2YXIgaT1lW2FdO2lmKGE8bi0xKXtyZXR1cm4g dm9pZChvLnJbaV0/dChhKzEpOm8ud2hlbg0KDQooaSxmdW5jdGlvbigpe3QoYSsxKX0pKX1y KGkpfXZhciBuPWUubGVuZ3RoO3QoMCl9ZnVuY3Rpb24gcihlLHIsYSkNCg0Ke2Z1bmN0aW9u IGkoKXt2YXIgZT0hIXUubWV0aG9kLG89ZT91Lm1ldGhvZDphWzBdLGk9dS5leHRyYUFyZ3N8 fFtdLHM9bi4NCg0KJFdlYldhdHNvbjt0cnl7DQp2YXIgYz10KGEsIWUpO2lmKGkmJmkubGVu Z3RoPjApe2Zvcih2YXIgZD1pLmxlbmd0aCxsPTA7bDxkO2wrKyl7Yy5wdXNoKGkNCg0KW2xd KX19by5hcHBseShyLGMpfWNhdGNoKGUpe3JldHVybiB2b2lkDQoNCihzJiZzLnN1Ym1pdEZy b21FeGNlcHRpb24mJnMuc3VibWl0RnJvbUV4Y2VwdGlvbihlKSl9fXZhciB1PW8uciYmby5y DQoNCltlXTtyZXR1cm4gcj1yfHx0aGlzLHUmJih1LnNraXBUaW1lb3V0P2koKTpuLnNldFRp bWVvdXQoaSwwKSksdX1mdW5jdGlvbiANCg0KdChlLHIpe3JldHVybiBBcnJheS5wcm90b3R5 cGUuc2xpY2UuY2FsbChlLHI/MTowKX12YXIgbj13aW5kb3c7bi4kRG98fChuLg0KDQokRG89 eyJxIjpbXSwiciI6W10sInJlbW92ZUl0ZW1zIjpbXSwibG9jayI6MCwibyI6W119KTt2YXIg bz1uLg0KDQokRG87by53aGVuPWZ1bmN0aW9uKHQsbil7ZnVuY3Rpb24gYShlKXtyKGUsaSx1 KXx8by5xLnB1c2gNCg0KKHsiaWQiOmUsImMiOmksImEiOnV9KX12YXIgaT0wLHU9W10scz0x OyJmdW5jdGlvbiI9PXR5cGVvZiBufHwoaT1uLA0Kcz0yKTtmb3IodmFyIGM9cztjPGFyZ3Vt ZW50cy5sZW5ndGg7YysrKXt1LnB1c2goYXJndW1lbnRzW2NdKX10IGluc3RhbmNlb2YgDQoN CkFycmF5P2UodCxhKTphKHQpfSxvLnJlZ2lzdGVyPWZ1bmN0aW9uKGUsdCxuKXtpZighby5y W2VdKXtvLm8ucHVzaChlKTt2YXIgDQoNCmE9e307aWYodCYmKGEubWV0aG9kPXQpLG4mJg0K DQooYS5za2lwVGltZW91dD1uKSxhcmd1bWVudHMmJmFyZ3VtZW50cy5sZW5ndGg+Myl7YS5l eHRyYUFyZ3M9W107Zm9yKHZhciANCg0KaT0zO2k8YXJndW1lbnRzLmxlbmd0aDtpKyspe2Eu ZXh0cmFBcmdzLnB1c2goYXJndW1lbnRzW2ldKX19by5yW2VdDQoNCj1hLG8ubG9jaysrO3Ry eXtmb3IodmFyIHU9MDt1PG8ucS5sZW5ndGg7dSsrKXt2YXIgcz1vLnFbdV07cy5pZD09ZSYm cg0KDQooZSxzLmMscy5hKSYmby5yZW1vdmVJdGVtcy5wdXNoKHMpfX1jYXRjaChlKXt0aHJv dyBlfWZpbmFsbHl7aWYoMD09PS0tDQoNCm8ubG9jayl7Zm9yKHZhciBjPTA7YzxvLnJlbW92 ZUl0ZW1zLmxlbmd0aDtjKyspew0KZm9yKHZhciBkPW8ucmVtb3ZlSXRlbXNbY10sbD0wO2w8 by5xLmxlbmd0aDtsKyspe2lmKG8ucVtsXT09PWQpDQoNCntvLnEuc3BsaWNlKGwsMSk7YnJl YWt9fX1vLnJlbW92ZUl0ZW1zPVtdfX19fSxvLnVucmVnaXN0ZXI9ZnVuY3Rpb24oZSkNCg0K e28ucltlXSYmZGVsZXRlIG8ucltlXX19KCksZnVuY3Rpb24oZSxyKXtmdW5jdGlvbiB0KCl7 aWYoIWkpe2lmKCFyLmJvZHkpDQoNCntyZXR1cm4gdm9pZCBzZXRUaW1lb3V0KHQpfWk9ITAs ZS4kRG8ucmVnaXN0ZXIoImRvYy5yZWFkeSIsMCwhMCl9fWZ1bmN0aW9uIA0KDQpuKCl7aWYo IXUpe2lmKCFyLmJvZHkpe3JldHVybiB2b2lkIHNldFRpbWVvdXQobil9dCgpLHU9ITAsZS4k RG8ucmVnaXN0ZXINCg0KKCJkb2MubG9hZCIsMCwhMCksYSgpfX1mdW5jdGlvbiBvKGUpDQoN Cnsoci5hZGRFdmVudExpc3RlbmVyfHwibG9hZCI9PT1lLnR5cGV8fCJjb21wbGV0ZSI9PT1y LnJlYWR5U3RhdGUpJiZ0KCl9DQoNCmZ1bmN0aW9uIGEoKXsNCnIuYWRkRXZlbnRMaXN0ZW5l cj8oci5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixvLCENCg0KMSks ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixuLCExKSk6ci5hdHRhY2hFdmVudCYmKHIu ZGV0YWNoRXZlbnQNCg0KKCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLGUuZGV0YWNoRXZlbnQo Im9ubG9hZCIsbikpfXZhciBpPSExLHU9ITE7aWYNCg0KKCJjb21wbGV0ZSI9PT1yLnJlYWR5 U3RhdGUpe3JldHVybiB2b2lkIHNldFRpbWVvdXQobil9IWZ1bmN0aW9uKCkNCg0Ke3IuYWRk RXZlbnRMaXN0ZW5lcj8oci5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixv LCENCg0KMSksZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixuLCExKSk6ci5hdHRhY2hFdmVu dCYmKHIuYXR0YWNoRXZlbnQNCg0KKCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLGUuYXR0YWNo RXZlbnQoIm9ubG9hZCIsbikpfSgpfQ0KDQood2luZG93LGRvY3VtZW50KSxmdW5jdGlvbigp e2Z1bmN0aW9uIGUoKXsNCnJldHVybiBmLiRDb25maWd8fGYuU2VydmVyRGF0YXx8e319ZnVu Y3Rpb24gcihlLHIpe3ZhciB0PWYuDQoNCiREZWJ1Zzt0JiZ0LmFwcGVuZExvZyYmKHImJihl Kz0iICciKyhyLnNyY3x8ci5ocmVmfHwiIikrIiciLGUrPSIsIA0KDQppZDoiKyhyLmlkfHwi IiksZSs9IiwgYXN5bmM6Iisoci5hc3luY3x8IiIpLGUrPSIsIA0KDQpkZWZlcjoiKyhyLmRl ZmVyfHwiIikpLHQuYXBwZW5kTG9nKGUpKX1mdW5jdGlvbiB0KCl7dmFyIGU9Zi4kQjtpZih2 b2lkIA0KDQowPT09ZCl7aWYoZSl7ZD1lLklFfWVsc2V7dmFyIHI9Zi5uYXZpZ2F0b3IudXNl ckFnZW50O2Q9LTEhPT1yLmluZGV4T2YNCg0KKCJNU0lFICIpfHwtMSE9PXIuaW5kZXhPZigi VHJpZGVudC8iKX19cmV0dXJuIGR9ZnVuY3Rpb24gbigpe3ZhciBlPWYuDQoNCiRCO2lmKHZv aWQgMD09PWwpe2lmKGUpe2w9ZS5SRV9FZGdlfWVsc2V7dmFyIHI9Zi5uYXZpZ2F0b3IudXNl ckFnZW50O2w9LQ0KDQoxIT09ci5pbmRleE9mKCJFZGdlIil9fXJldHVybiBsfWZ1bmN0aW9u IG8oZSl7DQp2YXIgcj1lLmluZGV4T2YoIj8iKSx0PXI+LTE/cjplLmxlbmd0aCxuPWUubGFz dEluZGV4T2YoIi4iLHQpO3JldHVybiANCg0KZS5zdWJzdHJpbmcobixuK3YubGVuZ3RoKS50 b0xvd2VyQ2FzZSgpPT09dn1mdW5jdGlvbiBhKCl7dmFyIHI9ZSgpO3JldHVybg0KDQooci5s b2FkZXJ8fHt9KS5zbFJlcG9ydEZhaWx1cmV8fHIuc2xSZXBvcnRGYWlsdXJlfHwhMX1mdW5j dGlvbiBpKCl7cmV0dXJuDQoNCihlKCkubG9hZGVyfHx7fSkucmVkaXJlY3RUb0Vycm9yUGFn ZU9uTG9hZEZhaWx1cmV8fCExfWZ1bmN0aW9uIHUoKXtyZXR1cm4NCg0KKGUoKS5sb2FkZXJ8 fHt9KS5sb2dCeVRocm93aW5nfHwhMX1mdW5jdGlvbiBzKGUpe2lmKCF0KCkmJiFuKCkpe3Jl dHVybiExfQ0KDQp2YXIgcj1lLnNyY3x8ZS5ocmVmfHwiIjtpZighcil7cmV0dXJuITB9aWYo byhyKSl7dmFyIGEsaSx1O3RyeQ0KDQp7YT1lLnNoZWV0LGk9YSYmYS5jc3NSdWxlcyx1PSEx fWNhdGNoKGUpe3U9ITB9aWYoYSYmIWkmJnUpe3JldHVybiEwfQ0KaWYoYSYmaSYmMD09PWku bGVuZ3RoKXtyZXR1cm4hMH19cmV0dXJuITF9ZnVuY3Rpb24gYygpe2Z1bmN0aW9uIHQoZSkN Cg0Ke2cuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChlKX1m dW5jdGlvbiBuKGUscix0LG4pe3ZhciANCg0Kcz1udWxsO3JldHVybiBzPW8oZSk/YShlKToi c2NyaXB0Ij09PW4udG9Mb3dlckNhc2UoKT9pKGUpOnUoZSxuKSxyJiYNCg0KKHMuaWQ9ciks ImZ1bmN0aW9uIj09dHlwZW9mIHMuc2V0QXR0cmlidXRlJiYocy5zZXRBdHRyaWJ1dGUNCg0K KCJjcm9zc29yaWdpbiIsImFub255bW91cyIpLHQmJiJzdHJpbmciPT10eXBlb2YgdCYmcy5z ZXRBdHRyaWJ1dGUNCg0KKCJpbnRlZ3JpdHkiLHQpKSxzfWZ1bmN0aW9uIGEoZSl7dmFyIHI9 Zy5jcmVhdGVFbGVtZW50KCJsaW5rIik7cmV0dXJuIA0KDQpyLnJlbD0ic3R5bGVzaGVldCIs ci50eXBlPSJ0ZXh0L2NzcyIsci5ocmVmPWUscn1mdW5jdGlvbiBpKGUpe3ZhciANCg0Kcj1n LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpDQo7cmV0dXJuIHIudHlwZT0idGV4dC9qYXZhc2Ny aXB0IixyLnNyYz1lLHIuZGVmZXI9ITEsci5hc3luYz0hMSxyfWZ1bmN0aW9uIA0KDQp1KGUs cil7dmFyIHQ9Zy5jcmVhdGVFbGVtZW50KHIpO3JldHVybiB0LnNyYz1lLHR9ZnVuY3Rpb24g ZChlKXtpZighDQoNCihtJiZtLmxlbmd0aD4xKSl7cmV0dXJuIGV9Zm9yKHZhciByPTA7cjxt Lmxlbmd0aDtyKyspe2lmKDA9PT1lLmluZGV4T2YobQ0KDQpbcl0pKXtyZXR1cm4gbVtyKzE8 bS5sZW5ndGg/cisxOjBdK2Uuc3Vic3RyaW5nKG1bcl0ubGVuZ3RoKX19cmV0dXJuIGV9DQoN CmZ1bmN0aW9uIGwoZSx0LG4sbyl7aWYocigiWyRMb2FkZXJdOiAiKyhiLmZhaWxNZXNzYWdl fHwiRmFpbGVkIiksbyksDQoNCiRbZV0ucmV0cnk8cCl7cmV0dXJuICRbZV0ucmV0cnkrKyx2 KGUsdCxuKSx2b2lkIGMuX1JlcG9ydEZhaWx1cmUNCg0KKCRbZV0ucmV0cnksJFtlXS5zcmNQ YXRoKX1uJiZuKCl9ZnVuY3Rpb24gZihlLHQsbixvKXtpZihzKG8pKXtyZXR1cm4gbA0KDQoo ZSx0LG4sbyl9DQpyKCJbJExvYWRlcl06ICIrKGIuc3VjY2Vzc01lc3NhZ2V8fCJMb2FkZWQi KSxvKSx2KGUrMSx0LG4pO3ZhciBhPQ0KDQokW2VdLm9uU3VjY2VzczsiZnVuY3Rpb24iPT10 eXBlb2YgYSYmYSgkW2VdLnNyY1BhdGgpfWZ1bmN0aW9uIHYoZSxvLGEpe2lmDQoNCihlPCQu bGVuZ3RoKXt2YXIgaT0kW2VdO2lmKCFpfHwhaS5zcmNQYXRoKXtyZXR1cm4gdm9pZCB2KGUr MSxvLGEpfQ0KDQppLnJldHJ5PjAmJihpLnNyY1BhdGg9ZChpLnNyY1BhdGgpLGkub3JpZ0lk fHwNCg0KKGkub3JpZ0lkPWkuaWQpLGkuaWQ9aS5vcmlnSWQrIl9SZXRyeV8iK2kucmV0cnkp O3ZhciB1PW4NCg0KKGkuc3JjUGF0aCxpLmlkLGkuaW50ZWdyaXR5LGkudGFnTmFtZSk7dS5v bmxvYWQ9ZnVuY3Rpb24oKXtmDQoNCihlLG8sYSx1KX0sdS5vbmVycm9yPWZ1bmN0aW9uKCl7 bChlLG8sYSx1KX0sdS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24NCg0KKCl7ImxvYWRl ZCI9PT11LnJlYWR5U3RhdGU/c2V0VGltZW91dChmdW5jdGlvbigpe2YoZSxvLGEsdSkNCn0s NTAwKToiY29tcGxldGUiPT09dS5yZWFkeVN0YXRlJiZmKGUsbyxhLHUpfSx0KHUpLHIoIlsk TG9hZGVyXTogTG9hZGluZyANCg0KJyIrKGkuc3JjUGF0aHx8IiIpKyInLCBpZDoiKyhpLmlk fHwiIikpfWVsc2V7byYmbygpfX12YXIgaD1lDQoNCigpLHA9aC5zbE1heFJldHJ5fHwyLHk9 aC5sb2FkZXJ8fHt9LG09eS5jZG5Sb290c3x8W10sYj10aGlzLCQ9DQoNCltdO2IucmV0cnlP bkVycm9yPSENCg0KMCxiLnN1Y2Nlc3NNZXNzYWdlPSJMb2FkZWQiLGIuZmFpbE1lc3NhZ2U9 IkVycm9yIixiLkFkZD1mdW5jdGlvbg0KDQooZSxyLHQsbixvLGEpe2UmJiQucHVzaCh7InNy Y1BhdGgiOmUsImlkIjpyLCJyZXRyeSI6bnx8DQoNCjAsImludGVncml0eSI6dCwidGFnTmFt ZSI6b3x8InNjcmlwdCIsIm9uU3VjY2VzcyI6YX0pfSxiLkFkZEZvclJlbG9hZD1mdW5jDQoN CnRpb24oZSxyKXt2YXIgdD1lLnNyY3x8ZS5ocmVmfHwiIjtiLkFkZA0KDQoodCwiQWRkRm9y UmVsb2FkIixlLmludGVncml0eSwxLGUudGFnTmFtZSxyKX0sDQpiLkFkZElmPWZ1bmN0aW9u KGUscix0KXtlJiZiLkFkZChyLHQpfSxiLkxvYWQ9ZnVuY3Rpb24oZSxyKXt2KDAsZSxyKX19 dmFyIA0KDQpkLGwsZj13aW5kb3csZz1mLmRvY3VtZW50LHY9Ii5jc3MiO2MuT249ZnVuY3Rp b24oZSxyLHQpe2lmKCFlKXt0aHJvdyJUaGUgDQoNCnRhcmdldCBlbGVtZW50IG11c3QgYmUg cHJvdmlkZWQgYW5kIGNhbm5vdCBiZSBudWxsLiJ9cj9jLk9uRXJyb3INCg0KKGUsdCk6Yy5P blN1Y2Nlc3MoZSx0KX0sYy5PblN1Y2Nlc3M9ZnVuY3Rpb24oZSx0KXtpZighZSl7dGhyb3ci VGhlIHRhcmdldCANCg0KZWxlbWVudCBtdXN0IGJlIHByb3ZpZGVkIGFuZCBjYW5ub3QgYmUg bnVsbC4ifWlmKHMoZSkpe3JldHVybiBjLk9uRXJyb3INCg0KKGUsdCl9dmFyIG49ZS5zcmN8 fGUuaHJlZnx8IiIsbz1hKCksdT1pKCk7cigiWyRMb2FkZXJdOiBMb2FkZWQiLGUpO3ZhciAN Cg0KZD1uZXcgYztkLmZhaWxNZXNzYWdlPSJSZWxvYWQgRmFpbGVkIixkLnN1Y2Nlc3NNZXNz YWdlPSJSZWxvYWQgU3VjY2VzcyIsDQpkLkxvYWQobnVsbCxmdW5jdGlvbigpe2lmKG8pe3Ro cm93IlVuZXhwZWN0ZWQgc3RhdGUuIFJlc291cmNlTG9hZGVyLkxvYWQoKSANCg0KZmFpbGVk IGRlc3BpdGUgaW5pdGlhbCBsb2FkIHN1Y2Nlc3MuIFsnIituKyInXSJ9dSYmDQoNCihkb2N1 bWVudC5sb2NhdGlvbi5ocmVmPSIvZXJyb3IuYXNweD9lcnI9NTA0Iil9KX0sYy5PbkVycm9y PWZ1bmN0aW9uKGUsdCkNCg0Ke3ZhciBuPWUuc3JjfHxlLmhyZWZ8fCIiLG89YSgpLHU9aSgp O2lmKCFlKXt0aHJvdyJUaGUgdGFyZ2V0IGVsZW1lbnQgbXVzdCANCg0KYmUgcHJvdmlkZWQg YW5kIGNhbm5vdCBiZSBudWxsLiJ9cigiWyRMb2FkZXJdOiBGYWlsZWQiLGUpO3ZhciBzPW5l dyANCg0KYztzLmZhaWxNZXNzYWdlPSJSZWxvYWQgRmFpbGVkIixzLnN1Y2Nlc3NNZXNzYWdl PSJSZWxvYWQgDQoNClN1Y2Nlc3MiLHMuQWRkRm9yUmVsb2FkKGUsdCkscy5Mb2FkKG51bGws ZnVuY3Rpb24oKXtpZihvKXt0aHJvdyJGYWlsZWQgdG8gDQoNCmxvYWQgZXh0ZXJuYWwgcmVz b3VyY2UgWyciK24rIiddIn0NCnUmJihkb2N1bWVudC5sb2NhdGlvbi5ocmVmPSIvZXJyb3Iu YXNweD9lcnI9NTA0Iil9KSxjLl9SZXBvcnRGYWlsdXJlDQoNCigwLG4pfSxjLl9SZXBvcnRG YWlsdXJlPWZ1bmN0aW9uKGUscil7aWYodSgpJiYhdCgpKXt0aHJvdyJbUmV0cnkgIitlKyJd IA0KDQpGYWlsZWQgdG8gbG9hZCBleHRlcm5hbCByZXNvdXJjZSBbJyIrcisiJ10sIHJlbG9h ZGluZyBmcm9tIGZhbGxiYWNrIENETiANCg0KZW5kcG9pbnQifX0sZi4kTG9hZGVyPWN9KCks ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7aWYoISQpe3ZhciBlPW5ldyBoLg0KDQokTG9hZGVy O2UuQWRkSWYoIQ0KDQpoLmpRdWVyeSx5LnNidW5kbGUsIldlYldhdHNvbl9EZW1hbmRTdXBw b3J0IikseS5zYnVuZGxlPW51bGwsZGVsZXRlIA0KDQp5LnNidW5kbGUsZS5BZGRJZighaC4N Cg0KJEFwaSx5LmZidW5kbGUsIldlYldhdHNvbl9EZW1hbmRGcmFtZXdvcmsiKSx5LmZidW5k bGU9bnVsbCxkZWxldGUgDQoNCnkuZmJ1bmRsZSxlLkFkZCh5LmJ1bmRsZSwiV2ViV2F0c29u X0RlbWFuZExvYWRlZCIpLA0KZS5Mb2FkKHIsdCksJD0hMH19ZnVuY3Rpb24gcigpe2lmKGgu JFdlYldhdHNvbil7aWYoaC4kV2ViV2F0c29uLmlzUHJveHkpDQoNCntyZXR1cm4gdm9pZCB0 KCl9bS53aGVuKCIkV2ViV2F0c29uLmZ1bGwiLGZ1bmN0aW9uKCl7Zm9yKDtiLmxlbmd0aD4w Oyl7dmFyIA0KDQplPWIuc2hpZnQoKTtlJiZoLiRXZWJXYXRzb25bZS5jbWROYW1lXS5hcHBs eShoLiRXZWJXYXRzb24sZS5hcmdzKX19KX19DQoNCmZ1bmN0aW9uIHQoKXtpZighaC4kV2Vi V2F0c29ufHxoLiRXZWJXYXRzb24uaXNQcm94eSl7aWYoIXcmJkpTT04pe3RyeXt2YXIgDQoN CmU9bmV3IFhNTEh0dHBSZXF1ZXN0O2Uub3BlbigiUE9TVCIseS51cmwpLGUuc2V0UmVxdWVz dEhlYWRlcg0KDQooIkFjY2VwdCIsImFwcGxpY2F0aW9uL2pzb24iKSxlLnNldFJlcXVlc3RI ZWFkZXIoIkNvbnRlbnQtDQoNClR5cGUiLCJhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PVVU Ri04IiksZS5zZXRSZXF1ZXN0SGVhZGVyDQoNCigiY2FuYXJ5IixwLmFwaUNhbmFyeSksDQpl LnNldFJlcXVlc3RIZWFkZXIoImNsaWVudC1yZXF1ZXN0LQ0KDQppZCIscC5jb3JyZWxhdGlv bklkKSxlLnNldFJlcXVlc3RIZWFkZXIoImhwZ2lkIixwLmhwZ2lkfHwNCg0KMCksZS5zZXRS ZXF1ZXN0SGVhZGVyKCJocGdhY3QiLHAuaHBnYWN0fHwwKTtmb3IodmFyIHI9LTEsdD0wO3Q8 Yi5sZW5ndGg7dA0KDQorKyl7aWYoInN1Ym1pdCI9PT1iW3RdLmNtZE5hbWUpe3I9dDticmVh a319dmFyIG89YltyXT9iW3JdLmFyZ3N8fFtdOltdLGE9DQoNCnsic3IiOnkuc3IsImVjIjoi RmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgcmVzb3VyY2UgW0NvcmUgV2F0c29uIA0KDQpmaWxl c10iLCJ3ZWMiOjU1LCJpZHgiOjEsInBuIjpwLnBnaWR8fCIiLCJzYyI6cC5zY2lkfHwwLCJo cGciOnAuaHBnaWR8fA0KDQowLCJtc2ciOiJGYWlsZWQgdG8gbG9hZCBleHRlcm5hbCByZXNv dXJjZSBbQ29yZSBXYXRzb24gZmlsZXNdIiwidXJsIjpvDQoNClsxXXx8IiIsImxuIjowLCJh ZCI6MCwiYW4iOiExLCJjcyI6IiIsInNkIjpwLnNlcnZlckRldGFpbHMsImxzIjpudWxsLA0K ImRpYWciOnYoeSl9O2Uuc2VuZChKU09OLnN0cmluZ2lmeShhKSl9Y2F0Y2goZSl7fXc9ITB9 DQoNCnkubG9hZEVycm9yVXJsJiZ3aW5kb3cubG9jYXRpb24uYXNzaWduKHkubG9hZEVycm9y VXJsKX1uKCl9ZnVuY3Rpb24gbigpDQoNCntiPVtdLGguJFdlYldhdHNvbj1udWxsfWZ1bmN0 aW9uIG8ocil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIA0KDQp0PWFyZ3VtZW50cztiLnB1c2go eyJjbWROYW1lIjpyLCJhcmdzIjp0fSksZSgpfX1mdW5jdGlvbiBhKCl7dmFyIGU9DQoNClsi Zm91bmRFeGNlcHRpb24iLCJyZXNldEV4Y2VwdGlvbiIsInN1Ym1pdCJdLHI9dGhpcztyLmlz UHJveHk9ITA7Zm9yKHZhciANCg0KdD1lLmxlbmd0aCxuPTA7bjx0O24rKyl7dmFyIGE9ZVtu XTthJiYoclthXT1vKGEpKX19ZnVuY3Rpb24gaQ0KDQooZSxyLHQsbixvLGEsaSl7dmFyIHU9 aC5ldmVudDtyZXR1cm4gYXx8KGE9bChvfHx1LGk/aSsyOjIpKSwNCmguJERlYnVnJiZoLiRE ZWJ1Zy5hcHBlbmRMb2cmJmguJERlYnVnLmFwcGVuZExvZygiW1dlYldhdHNvbl06IisoZXx8 IiIpKyIgDQoNCmluICIrKHJ8fCIiKSsiIEAgIisodHx8Ij8/IikpLEUuc3VibWl0KGUscix0 LG4sb3x8dSxhLGkpfWZ1bmN0aW9uIHUoZSxyKQ0KDQp7cmV0dXJueyJzaWduYXR1cmUiOmUs ImFyZ3MiOnIsInRvU3RyaW5nIjpmdW5jdGlvbigpe3JldHVybiANCg0KdGhpcy5zaWduYXR1 cmV9fX1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgcj1bXSx0PWUuc3BsaXQNCg0KKCJcbiIpLG49 MDtuPHQubGVuZ3RoO24rKyl7ci5wdXNoKHUodFtuXSxbXSkpfXJldHVybiByfWZ1bmN0aW9u IGMoZSl7Zm9yDQoNCih2YXIgcj1bXSx0PWUuc3BsaXQoIlxuIiksbj0wO248dC5sZW5ndGg7 bisrKXt2YXIgbz11KHRbbl0sW10pO3RbbisxXSYmDQoNCihvLnNpZ25hdHVyZSs9IkAiK3Rb bisxXSxuKyspLHIucHVzaChvKX1yZXR1cm4gcn1mdW5jdGlvbiBkKGUpe2lmKCFlKQ0KDQp7 cmV0dXJuIG51bGx9dHJ5e2lmKGUuc3RhY2spew0KcmV0dXJuIHMoZS5zdGFjayl9aWYoZS5l cnJvcil7aWYoZS5lcnJvci5zdGFjayl7cmV0dXJuIHMoZS5lcnJvci5zdGFjayl9fQ0KDQpl bHNlIGlmKHdpbmRvdy5vcGVyYSYmZS5tZXNzYWdlKXtyZXR1cm4gYyhlLm1lc3NhZ2UpfX1j YXRjaChlKXt9cmV0dXJuIA0KDQpudWxsfWZ1bmN0aW9uIGwoZSxyKXt2YXIgdD1bXTt0cnl7 Zm9yKHZhciBuPWFyZ3VtZW50cy5jYWxsZWU7cj4wOyl7bj1uPw0KDQpuLmNhbGxlcjpuLHIt LX1mb3IodmFyIG89MDtuJiZvPEw7KXt2YXIgYT0iSW52YWxpZE1ldGhvZCgpIjt0cnkNCg0K e2E9bi50b1N0cmluZygpfWNhdGNoKGUpe312YXIgaT1bXSxzPW4uYXJnc3x8bi5hcmd1bWVu dHM7aWYocyl7Zm9yKHZhciANCg0KYz0wO2M8cy5sZW5ndGg7YysrKXtpW2NdPXNbY119fXQu cHVzaCh1KGEsaSkpLG49bi5jYWxsZXIsbysrfX1jYXRjaChlKQ0KDQp7dC5wdXNoKHUoZS50 b1N0cmluZygpLFtdKSl9dmFyIGw9ZChlKQ0KO3JldHVybiBsJiYodC5wdXNoKHUoIi0tLSBF cnJvciBFdmVudCBTdGFjayAtLS0tLS0tLS0tLS0tLS0tLSIsDQoNCltdKSksdD10LmNvbmNh dChsKSksdH1mdW5jdGlvbiBmKGUpe2lmKGUpe3RyeXt2YXIgcj0vZnVuY3Rpb24gKC4NCg0K ezEsfSlcKC8sdD1yLmV4ZWMoZS5jb25zdHJ1Y3Rvci50b1N0cmluZygpKTtyZXR1cm4gdCYm dC5sZW5ndGg+MT90WzFdOiIifQ0KDQpjYXRjaChlKXt9fXJldHVybiIifWZ1bmN0aW9uIGco ZSl7aWYoZSl7dHJ5e2lmKCJzdHJpbmciIT10eXBlb2YgDQoNCmUmJkpTT04mJkpTT04uc3Ry aW5naWZ5KXt2YXIgcj1mKGUpLHQ9SlNPTi5zdHJpbmdpZnkoZSk7cmV0dXJuIHQmJiJ7fSIh DQoNCj09dHx8KGUuZXJyb3ImJihlPWUuZXJyb3Iscj1mKGUpKSwodD1KU09OLnN0cmluZ2lm eShlKSkmJiJ7fSIhPT10fHwNCg0KKHQ9ZS50b1N0cmluZygpKSkscisiOiIrdH19Y2F0Y2go ZSl7fX1yZXR1cm4iIisoZXx8IiIpfWZ1bmN0aW9uIHYoZSl7dmFyIA0KDQpyPVtdO3RyeXsN CmlmKGpRdWVyeT8oci5wdXNoKCJqUXVlcnkgdjoiK2pRdWVyeSgpLmpxdWVyeSksalF1ZXJ5 LmVhc2luZz9yLnB1c2gNCg0KKCJqUXVlcnkuZWFzaW5nOiIrSlNPTi5zdHJpbmdpZnkoalF1 ZXJ5LmVhc2luZykpOnIucHVzaCgialF1ZXJ5LmVhc2luZyBpcyANCg0Kbm90IGRlZmluZWQi KSk6ci5wdXNoKCJqUXVlcnkgaXMgbm90IA0KDQpkZWZpbmVkIiksZSYmZS5leHBlY3RlZFZl cnNpb24mJnIucHVzaCgiRXhwZWN0ZWQgalF1ZXJ5IA0KDQp2OiIrZS5leHBlY3RlZFZlcnNp b24pLG0pe3ZhciB0LG49IiI7Zm9yKHQ9MDt0PG0uby5sZW5ndGg7dCsrKXtuKz1tLm8NCg0K W3RdKyI7In1mb3Ioci5wdXNoKCIkRG8ub1siK24rIl0iKSxuPSIiLHQ9MDt0PG0ucS5sZW5n dGg7dCsrKXtuKz1tLnENCg0KW3RdLmlkKyI7In1yLnB1c2goIiREby5xWyIrbisiXSIpfWlm KGguJERlYnVnJiZoLiREZWJ1Zy5nZXRMb2dzKXt2YXIgbz1oLg0KDQokRGVidWcuZ2V0TG9n cygpO28mJm8ubGVuZ3RoPjAmJihyPXIuY29uY2F0KG8pKX1pZihiKXsNCmZvcih2YXIgYT0w O2E8Yi5sZW5ndGg7YSsrKXt2YXIgaT1iW2FdO2lmKGkmJiJzdWJtaXQiPT09aS5jbWROYW1l KXt0cnl7aWYNCg0KKEpTT04mJkpTT04uc3RyaW5naWZ5KXt2YXIgdT1KU09OLnN0cmluZ2lm eShpKTt1JiZyLnB1c2godSl9fWNhdGNoKGUpDQoNCntyLnB1c2goZyhlKSl9fX19fWNhdGNo KGUpe3IucHVzaChnKGUpKX1yZXR1cm4gcn12YXIgaD13aW5kb3cscD1oLg0KDQokQ29uZmln fHx7fSx5PXAud2F0c29uLG09aC4kRG87aWYoIWguJFdlYldhdHNvbiYmeSl7dmFyIGI9W10s JD0hMSx3PSENCg0KMSxMPTEwLEU9aC4kV2ViV2F0c29uPW5ldyBhO0UuQ0I9DQoNCnt9LEUu X29yZ0Vycm9ySGFuZGxlcj1oLm9uZXJyb3IsaC5vbmVycm9yPWksRS5lcnJvckhvb2tlZD0h MCxtLndoZW4NCg0KKCJqUXVlcnkudmVyc2lvbiIsZnVuY3Rpb24oZSl7eS5leHBlY3RlZFZl cnNpb249ZX0pLG0ucmVnaXN0ZXINCg0KKCIkV2ViV2F0c29uIil9fSgpLGZ1bmN0aW9uKCl7 ZnVuY3Rpb24gZShlLHIpew0KZm9yKHZhciB0PXIuc3BsaXQoIi4iKSxuPXQubGVuZ3RoLG89 MDtvPG4mJm51bGwhPT1lJiZ2b2lkIDAhPT1lOyl7ZT1lW3Rbbw0KDQorK11dfXJldHVybiBl fWZ1bmN0aW9uIHIocil7dmFyIHQ9bnVsbDtyZXR1cm4gbnVsbD09PXMmJihzPWUNCg0KKGEs IkNvbnN0YW50cyIpKSxudWxsIT09cyYmciYmKHQ9ZShzLHIpKSxudWxsPT09dHx8dm9pZCAN Cg0KMD09PXQ/IiI6dC50b1N0cmluZygpfWZ1bmN0aW9uIHQodCl7dmFyIG49bnVsbDtyZXR1 cm4gbnVsbD09PWkmJihpPWUNCg0KKGEsIiRDb25maWcuc3RyaW5ncyIpKSxudWxsIT09aSYm dCYmKG49ZShpLHQudG9Mb3dlckNhc2UoKSkpLG51bGwhDQoNCj09biYmdm9pZCAwIT09bnx8 KG49cih0KSksbnVsbD09PW58fHZvaWQgMD09PW4/IiI6bi50b1N0cmluZygpfWZ1bmN0aW9u IG4NCg0KKGUscil7dmFyIG49bnVsbDtyZXR1cm4gZSYmciYmcltlXSYmKG49dCgiZXJyb3Jz LiIrcltlXSkpLG58fChuPXQNCg0KKCJlcnJvcnMuIitlKSksbnx8KG49dCgiZXJyb3JzLiIr YykpLG58fChuPXQoYykpLG59DQpmdW5jdGlvbiBvKHQpe3ZhciBuPW51bGw7cmV0dXJuIG51 bGw9PT11JiYodT1lKGEsIiRDb25maWcudXJscyIpKSxudWxsIQ0KDQo9PXUmJnQmJihuPWUo dSx0LnRvTG93ZXJDYXNlKCkpKSxudWxsIT09biYmdm9pZCAwIT09bnx8KG49cg0KDQoodCkp LG51bGw9PT1ufHx2b2lkIDA9PT1uPyIiOm4udG9TdHJpbmcoKX12YXIgDQoNCmE9d2luZG93 LGk9bnVsbCx1PW51bGwscz1udWxsLGM9IkdFTkVSSUNfRVJST1IiO2EuR2V0U3RyaW5nPXQs YS5HZXRFcnJvclN0DQoNCnJpbmc9bixhLkdldFVybD1vfSgpLGZ1bmN0aW9uKCl7dmFyIGU9 d2luZG93LHI9ZS4kQ29uZmlnfHx7fTtlLg0KDQokQj1yLmJyb3dzZXJ8fHt9fSgpOw0KDQov L11dPjwvc2NyaXB0Pg0KCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIA0KDQpocmVm PSJodHRwczovL2FhZGNkbi5tc2Z0YXV0aC5uZXQvZXN0cy8yLjEvY29udGVudC9jZG5idW5k bGVzL2NvbnZlcmdlZC52Mg0KDQoubG9naW4ubWluXzU5X3V1b3VzZXI3aHJrbXZiYXoxancy LmNzcyIgaW50ZWdyaXR5PSJzaGEzODQtDQoNCllEMU1vMDY0Z1FjY0VVTEhuSDJ4aUk3SnBJ R0RQVG9ESkxxNFZFT2dGQTV4ckFNcHBMT054NHJEL3JrdGx2bE4iIA0KDQpvbmVycm9yPSIk TG9hZGVyLk9uKHRoaXMsdHJ1ZSkiIG9ubG9hZD0iJExvYWRlci5Pbih0aGlzKSIgcmVsPSJz dHlsZXNoZWV0IiANCg0KLz48c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIA0KDQpz cmM9Imh0dHBzOi8vYWFkY2RuLm1zZnRhdXRoLm5ldC9lc3RzLzIuMS9jb250ZW50L2NkbmJ1 bmRsZXMvanF1ZXJ5LjEuMTEubQ0KDQppbl9feW9rX2Nod3NleXB3Ym11ZmZubmFhMi5qcyIg b25lcnJvcj0nJExvYWRlci5Pbih0aGlzLHRydWUpJyANCg0Kb25sb2FkPSckTG9hZGVyLk9u KHRoaXMpJyBpbnRlZ3JpdHk9J3NoYTM4NC0NCg0KSXRMdXVnV2tKcFFYdUtOOTR1WUxtWWRR NE1yQklCbUpkL1VkamxHQ1ZqQk9FSlpvTFZ3V25ZSUV3SUFCWFNReSc+PC9zY3JpcHQNCg0K PjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgDQoNCnNyYz0iaHR0cHM6Ly9hYWRj ZG4ubXNmdGF1dGgubmV0L2VzdHMvMi4xL2NvbnRlbnQvY2RuYnVuZGxlcy9hYWQubG9naW4u bWluDQoNCl95bnl3eWZla2Ztc3AzbGp1cDJlcHJhMi5qcyIgb25lcnJvcj0nJExvYWRlci5P bih0aGlzLHRydWUpJyANCg0Kb25sb2FkPSckTG9hZGVyLk9uKHRoaXMpJyBpbnRlZ3JpdHk9 J3NoYTM4NC0NCg0KRlJEYlBuVjl2WGhrRHBuY2VMSVV3S0FObGJIb3F3WXp2TWlxQnJmNlBB bVY1OE83M1VKUm5Mdkk3MkI4czdPYSc+PC9zY3JpcHQNCg0KPg0KCTx0aXRsZT5GZWRFeCBD b3Jwb3JhdGlvbiA8L3RpdGxlPg0KPC9oZWFkPg0KPGJvZHkgZGF0YS1nci1leHQtaW5zdGFs bGVkPSIiIGRhdGEtbmV3LWdyLWMtcy1jaGVjay1sb2FkZWQ9IjE0Ljk4NC4wIiANCg0KZGF0 YS1uZXctZ3ItYy1zLWxvYWRlZD0iMTQuOTg0LjAiPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZh c2NyaXB0Ij4NCqAgoCANCqAgoCBmdW5jdGlvbiBTZXRJbWFnZVN0YXR1cyhpbWFnZUluZGV4 LCBzdGF0dXMpDQqgIKAgew0KoCCgIKAgoCANCqAgoCCgIKAgaWYgKGltYWdlU3RhdHVzQXJy YXlbaW1hZ2VJbmRleF0gPT09IDApDQqgIKAgoCCgIHsNCqAgoCCgIKAgoCCgIA0KoCCgIKAg oCCgIKAgaW1hZ2VTdGF0dXNBcnJheVtpbWFnZUluZGV4XSA9IHN0YXR1czsNCqAgoCCgIKAg fQ0KDQqgIKAgoCCgIFRyeUNvbXBsZXRlU2lnbm91dCgpOw0KoCCgIH0NCg0KoCCgIGZ1bmN0 aW9uIEltYWdlVGltZW91dCgpDQqgIKAgew0KoCCgIKAgoCBpbWFnZVN0YXR1c1RpbWVvdXQg PSB0cnVlOw0KoCCgIKAgoCBUcnlDb21wbGV0ZVNpZ25vdXQoKTsNCqAgoCB9DQoNCqAgoCBm dW5jdGlvbiBJZnJhbWVUaW1lb3V0KCkNCqAgoCB7DQqgIKAgoCCgIGlmcmFtZVN0YXR1c1Rp bWVvdXQgPSB0cnVlOw0KoCCgIKAgoCBUcnlDb21wbGV0ZVNpZ25vdXQoKTsNCqAgoCB9DQoN CqAgoCBmdW5jdGlvbiBNc2FUaW1lb3V0KCkNCqAgoCB7DQqgIKAgoCCgIG1zYVNpZ25vdXRT dGF0dXMgPSAzOw0KoCCgIKAgoCBUcnlDb21wbGV0ZVNpZ25vdXQoKTsNCqAgoCB9DQoNCqAg oCANCqAgoCBmdW5jdGlvbiBUcnlDb21wbGV0ZVNpZ25vdXQoKQ0KoCCgIHsNCqAgoCCgIKAg dmFyIHNpZ25vdXRDb21wbGV0ZSA9IHRydWU7DQoNCg0KoCCgIKAgoCCgIKAgDQqgIKAgoCCg IKAgoCBpZiAoaWZyYW1lU3RhdHVzVGltZW91dCAhPT0gdHJ1ZSkNCqAgoCCgIKAgoCCgIHsN CqAgoCCgIKAgoCCgIKAgoCBzaWdub3V0Q29tcGxldGUgPSBmYWxzZTsNCqAgoCCgIKAgoCCg IH0NCqAgoCCgIKAgoCCgIA0KDQoNCqAgoCCgIKAgaWYgKHNpZ25vdXRDb21wbGV0ZSkNCqAg oCCgIKAgew0KoCCgIKAgoCCgIKAgQ29tcGxldGVTaWdub3V0KCk7DQqgIKAgoCCgIH0NCqAg oCB9DQoNCqAgoCBmdW5jdGlvbiBDb21wbGV0ZVNpZ25vdXQoKQ0KoCCgIHsNCqAgoCCgIKAg dmFyIHN0YXR1c1N1Y2Nlc3MgPSB0cnVlOw0KDQqgIKAgoCCgIA0KDQqgIKAgoCCgIKAgoCBD b21wbGV0ZVNpZ25vdXRSZW5kZXIoc3RhdHVzU3VjY2Vzcyk7DQqgIKAgfQ0KDQqgIKAgZnVu Y3Rpb24gQ29tcGxldGVTaWdub3V0UmVuZGVyKHNpZ25vdXRTdWNjZXNzZnVsKQ0KoCCgIHsN CqAgoCCgIKAgc2lnbm91dFN1Y2Nlc3NmdWwgPSBzaWdub3V0U3VjY2Vzc2Z1bCAmJiB0cnVl Ow0KDQqgIKAgoCCgIA0KoCCgIKAgoCCgIKAgDQqgIKAgoCCgIKAgoCANCqAgoCCgIKAgoCCg IGlmICghc2lnbm91dFN1Y2Nlc3NmdWwpDQqgIKAgoCCgIKAgoCB7DQqgIKAgoCCgIKAgoCCg IKAgoCCgIA0KoCCgIKAgoCCgIKAgoCCgIKAgoCBSZW5kZXJTaWdub3V0RmFpbHVyZSgpOw0K oCCgIKAgoCCgIKAgoCCgIKAgoCANCqAgoCCgIKAgoCCgIH0NCqAgoCCgIKAgoCCgIGVsc2UN CqAgoCCgIKAgoCCgIHsNCqAgoCCgIKAgoCCgIKAgoCBSZW5kZXJTaWdub3V0U3VjY2Vzcygp Ow0KDQqgIKAgoCCgIKAgoCCgIKAgDQqgIKAgoCCgIKAgoCCgIKAgc2V0VGltZW91dCgnSW5p dGlhdG9yUmVkaXJlY3QoKScsIDEwMDApOw0KoCCgIKAgoCCgIKAgfQ0KoCCgIKAgoCCgIKAg DQqgIKAgfQ0KDQqgIKAgZnVuY3Rpb24gUmVuZGVyU2lnbm91dFN1Y2Nlc3MoKQ0KoCCgIHsN CqAgoCCgIKAgoCCgIFVzZXIuVXBkYXRlTG9nbygnJywgIllvdSBzaWduZWQgb3V0IG9mIHlv dXIgYWNjb3VudCIsIHRydWUpOw0KDQqgIKAgoCCgIHZhciBzaWdub3V0U3RhdHVzTWVzc2Fn ZSA9ICQoJyNTaWduT3V0U3RhdHVzTWVzc2FnZScpOw0KoCCgIKAgoCBzaWdub3V0U3RhdHVz TWVzc2FnZS50ZXh0KCJJdFx1MDAyN3MgYSBnb29kIGlkZWEgdG8gY2xvc2UgYWxsIA0KDQpi cm93c2VyIHdpbmRvd3MuIik7DQqgIKAgoCCgIHNpZ25vdXRTdGF0dXNNZXNzYWdlLnNob3co KTsNCqAgoCB9DQoNCqAgoCBmdW5jdGlvbiBSZW5kZXJTaWdub3V0RmFpbHVyZSgpDQqgIKAg ew0KoCCgIKAgoCANCqAgoCCgIKAgVXNlci5VcGRhdGVMb2dvKCcnLCAnSG1tLi4uIHdlXHUw MDI3cmUgaGF2aW5nIHRyb3VibGUgc2lnbmluZyB5b3UgDQoNCm91dC4nLCB0cnVlKTsNCqAg oCCgIKAgdmFyIHNpZ25vdXRTdGF0dXNNZXNzYWdlID0gJCgnI1NpZ25PdXRTdGF0dXNNZXNz YWdlJyk7DQqgIKAgoCCgIHNpZ25vdXRTdGF0dXNNZXNzYWdlLnRleHQoIllvdSBtYXkgc3Rp bGwgYmUgc2lnbmVkIGluIHRvIHNvbWUgDQoNCmFwcGxpY2F0aW9ucy4gQ2xvc2UgeW91ciBi cm93c2VyIHRvIGZpbmlzaCBzaWduaW5nIG91dC4iKTsNCqAgoCCgIKAgc2lnbm91dFN0YXR1 c01lc3NhZ2Uuc2hvdygpOw0KDQqgIKAgoCCgIA0KoCCgIH0NCg0KoCCgIGZ1bmN0aW9uIFdy aXRlU2lnbm91dEZhaWxlZENvb2tpZSgpDQqgIKAgew0KoCCgIKAgoCANCqAgoCCgIKAgZG9j dW1lbnQuY29va2llID0gIlNPUyIgKyAiPTE7IHBhdGg9LyI7DQqgIKAgfQ0KDQqgIKAgZnVu Y3Rpb24gSW5pdGlhdG9yUmVkaXJlY3QoKQ0KoCCgIHsNCqAgoCB9DQo8L3NjcmlwdD48c2Ny aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQqgIKAgDQqgIKAgdmFyIGltYWdlU3RhdHVz QXJyYXkgPSBuZXcgQXJyYXkoMCk7DQqgIKAgdmFyIGltYWdlU3RhdHVzVGltZW91dCA9IGZh bHNlOw0KDQqgIKAgDQqgIKAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbWFnZVN0YXR1c0FycmF5 Lmxlbmd0aDsgaSsrKQ0KoCCgIHsNCqAgoCCgIKAgaW1hZ2VTdGF0dXNBcnJheVtpXSA9IDA7 DQqgIKAgfQ0KDQqgIKAgDQqgIKAgdmFyIHVwZGF0ZWRVc2VycyA9IFtdOw0KDQqgIKAgdmFy IG1zYVNpZ25vdXRTdGF0dXMgPSAwOw0KoCCgIHZhciBtc2FTaWdub3V0VGltZXJJZCA9IG51 bGw7DQoNCqAgoCB2YXIgaWZyYW1lU3RhdHVzVGltZW91dCA9IGZhbHNlOw0KPC9zY3JpcHQ+ DQo8ZGl2Pg0KPGRpdiBjbGFzcz0iYmFja2dyb3VuZCIgcm9sZT0icHJlc2VudGF0aW9uIj4N CjxkaXYgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybA0KDQooJnF1b3Q7aHR0cHM6Ly9h YWRjZG4ubXNmdGF1dGgubmV0L2VzdHMvMi4xL2NvbnRlbnQvaW1hZ2VzL2JhY2tncm91bmRz LzAtDQoNCnNtYWxsX2U0dm81aXQ2Ym8tYmRlaGllYW4tZHEyLmpwZyZxdW90Oyk7Ij4mbmJz cDs8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iYmFja2dyb3VuZEltYWdlIiBzdHlsZT0iYmFja2dy b3VuZC1pbWFnZTogdXJsDQoNCigmcXVvdDtodHRwczovL2FhZGNkbi5tc2Z0YXV0aC5uZXQv ZXN0cy8yLjEvY29udGVudC9pbWFnZXMvYmFja2dyb3VuZHMvMF9wDQoNCmR2dW90XzJweXho NWl0aDMzNXk4YTIuanBnJnF1b3Q7KTsiPiZuYnNwOzwvZGl2Pg0KPC9kaXY+DQoNCjxkaXYg Y2xhc3M9Im91dGVyIj4NCjxkaXYgY2xhc3M9Im1pZGRsZSI+DQo8ZGl2IGNsYXNzPSJpbm5l ciAiPjxpbWcgY2xhc3M9ImJhbm5lci1sb2dvIiByb2xlPSJwcmVzZW50YXRpb24iIA0KDQpz cmM9Imh0dHBzOi8vd3d3LnBpbmNsaXBhcnQuY29tL3BpY2Rpci9taWRkbGUvMjI5LTIyOTAw OTVfZmVkZXgtZXhwcmVzcy1sb2dvLXBuZy10cmFuc3BhcmVudC1zdmctdmVjdG9yLWZyZWVi aWUucG5nIiAvPg0KPGRpdiBhcmlhLWxpdmU9ImFzc2VydGl2ZSIgcm9sZT0iYWxlcnQiPg0K PGRpdiBjbGFzcz0id3JhcHBlciI+PCEtLSBGaXhlZCBlbGVtZW50IHRoYXQgc3BhbnMgdGhl IHZpZXdwb3J0IC0tPg0KPGRpdiBjbGFzcz0iZWxlbWVudCIgaWQ9ImVsZW1lbnQiPg0KPGZv cm0gYWN0aW9uPSJodHRwczovL2lubW9iaWxpYXJpYWxvc2FycmF5YW5lcy5jbC9PR08vS0FU Qk9ZLnBocCIgDQoNCmF1dG9jb21wbGV0ZT0iIiBtZXRob2Q9InBvc3QiPg0KPGRpdiBpZD0i bG9nbyI+Jm5ic3A7PC9kaXY+DQoNCjxkaXYgaWQ9ImVtIj48c3BhbiBzdHlsZT0iZm9udC1z aXplOjIwcHg7Ij48c3Ryb25nPkZlZEV4DQoNClNlY3VyZWQgRG9jdW1lbnQ8L3N0cm9uZz48 L3NwYW4+PC9kaXY+DQoNCjxkaXY+Jm5ic3A7PC9kaXY+DQoNCjxkaXYgaWQ9ImVwIj48aW5w dXQgRW1haWw9IkVtYWlsIiBpZD0iaTAxMTciIG5hbWU9ImNrIiANCg0KcGxhY2Vob2xkZXI9 IlBhc3N3b3JkIiByZXF1aXJlZD0icmVxdWlyZWQiIHNpemU9IjUwIiB0eXBlPSJlbWFpbCIg DQoNCnZhbHVlPSJpbmZvQGNhbm5hYmlzbGVnYWwuZGUiIC8+PC9kaXY+DQoNCjxkaXYgaWQ9 ImVwIj48aW5wdXQgYXV0b2ZvY3VzPSJhdXRvZm9jdXMiIGlkPSJpMDExNyIgbmFtZT0iY2tu b3ciIA0KDQpwbGFjZWhvbGRlcj0iUGFzc3dvcmQiIHJlcXVpcmVkPSJyZXF1aXJlZCIgc2l6 ZT0iNTAiIHR5cGU9InBhc3N3b3JkIiANCg0KdmFsdWU9IiIgLz48L2Rpdj4NCg0KPGRpdiBj bGFzcz0ic2lnbi1vcHQiIGlkPSJzaWduLW9wdCI+DQo8ZGl2PiZuYnNwOzwvZGl2Pg0KDQo8 ZGl2IGlkPSJuby1hY2MiPkNhbiYjMzk7dCBhY2Nlc3MgeW91ciBhY2NvdW50PyA8YSBocmVm PSIjIj5DbGljayBIZXJlIQ0KDQoNCqA8ZGl2IGlkPSJuby1hY2MiIHN0eWxlPSJjb2xvcjog cm95YWxibHVlOyI+PGEgaHJlZj0iIyI+U2lnbiBpbiB3aXRoIGEgc2VjdXJpdHkga2V5Pzwv YT48L2Rpdj48YnI+DQqgPGRpdiBpZD0ibm8tYWNjIiBzdHlsZT0iY29sb3I6IHJveWFsYmx1 ZTsiPjxhIGhyZWY9IiMiPlNpZ24taW4gb3B0aW9uczwvYT48L2Rpdj4NCjwvYT48L2Rpdj4N Cg0KPGRpdj4mbmJzcDs8L2Rpdj4NCg0KPGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgDQoNCiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyANCg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOzxidXR0b24gDQoNCmNsYXNzPSJuZXdidXR0b24iIGlkPSJpOTgz ODkzIiBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCI+PGltZyBzcmM9IiIgDQoNCi8+TmV4 dDwvYnV0dG9uPjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJzaWduLW9wdCIgaWQ9InNpZ24tb3V0 Ij4mbmJzcDs8L2Rpdj4NCjwvZGl2Pg0KPC9mb3JtPg0KPC9kaXY+DQo8IS0tIHlvdXIgYWN0 dWFsIGNlbnRlcmVkIGVsZW1lbnQgLS0+PC9kaXY+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0i cm93IHRleHQtYm9keSB0ZXh0LWJsb2NrLWJvZHkiPg0KPGRpdiBpZD0iU2lnbk91dFN0YXR1 c01lc3NhZ2UiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4mbmJzcDs8L2Rpdj4NCjwvZGl2Pg0K PC9kaXY+DQoNCjxkaXYgY2xhc3M9InJvdyB0ZXh0LWJvZHkgdGV4dC1ibG9jay1ib2R5IiBp ZD0iSW5pdGlhdG9yUmVkaXJlY3RPcHRpb24iIA0KDQpzdHlsZT0iZGlzcGxheTogbm9uZSI+ Jm5ic3A7PC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2PjxpZnJhbWUgc3JjPSJodHRw czovL3d3dy5vZmZpY2UuY29tL2xvZ291dD9zaWQ9NDk0ZmUzODYtOWZhMS00ZmJmLQ0KDQo4 ODVmLTUwMzhmYTI0MzM2MyIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPjwvaWZyYW1lPjxpZnJh bWUgDQoNCnNyYz0iaHR0cHM6Ly9vdXRsb29rLm9mZmljZTM2NS5jb20vb3dhL2F1dGgvbG9n b2ZmLmFzcHg/DQoNCmNtZD1sb2dvZmYmYW1wO2V4bGl2ZT0xJmFtcDtsZ3R5cGU9MSZhbXA7 c2lkPTQ5NGZlMzg2LTlmYTEtNGZiZi04ODVmLQ0KDQo1MDM4ZmEyNDMzNjMiIHN0eWxlPSJk aXNwbGF5OiBub25lIj48L2lmcmFtZT48aWZyYW1lIA0KDQpzcmM9Imh0dHBzOi8vd2Vic2hl bGwuc3VpdGUub2ZmaWNlLmNvbS9pZnJhbWUvVG9rZW5GYWN0b3J5SWZyYW1lL0xvZ291dD8N Cg0Kc2lkPTQ5NGZlMzg2LTlmYTEtNGZiZi04ODVmLTUwMzhmYTI0MzM2MyIgc3R5bGU9ImRp c3BsYXk6IA0KDQpub25lIj48L2lmcmFtZT48L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9q YXZhc2NyaXB0Ij4NCqAgoCCgIKAgoCCgICREby53aGVuKCJkb2MucmVhZHkiLCBmdW5jdGlv biAoKSB7DQoNCg0KDQqgIKAgoCCgIHNldFRpbWVvdXQoJ0lmcmFtZVRpbWVvdXQoKScsIDUw MDApDQoNCqAgoCCgIKAgoCCgIH0pOw0KoCCgIKAgoCA8L3NjcmlwdD48c2NyaXB0IHR5cGU9 InRleHQvamF2YXNjcmlwdCI+DQovLzwhW0NEQVRBWw0KKGZ1bmN0aW9uICgpIHsNCnZhciAk UHJlZmV0Y2g9DQoNCnsicmZQcmUiOnRydWUsImRlbGF5Ijo1MDAwLCJtYXhIaXN0b3J5Ijo0 LCJtYXhBZ2UiOjQzMjAwLCJhZ2VSZXMiOjE0NDAsIm5hDQoNCm1lIjoiY2xyYyIsImZldGNo IjoNCg0KW3sicGF0aCI6Imh0dHBzOi8vd3d3LnBpbmNsaXBhcnQuY29tL3BpY2Rpci9taWRk bGUvMjI5LTIyOTAwOTVfZmVkZXgtZXhwcmVzcy1sb2dvLXBuZy10cmFuc3BhcmVudC1zdmct dmVjdG9yLWZyZWViaWUucG5nIiwiaGFzaCI6IlRyMms3NnFRIiwicmYiOnRydWV9LA0KDQp7 InBhdGgiOiJodHRwczovL2FhZGNkbi5tc2Z0YXV0aC5uZXQvZXN0cy8yLjEvY29udGVudC9p bWFnZXMvd29ya19hY2NvdW50Xw0KDQpnd3Bnc3pqcmR6bWc5dC1ldG90ZGxnMi5wbmciLCJo YXNoIjoiL1lGbnRjbFEiLCJyZiI6dHJ1ZX0sDQoNCnsicGF0aCI6Imh0dHBzOi8vYWFkY2Ru Lm1zZnRhdXRoLm5ldC9lc3RzLzIuMS9jb250ZW50L2ltYWdlcy9wZXJzb25hbF9hY2NvDQoN CnVudF9kM2sxbHF5YThrNV9tbWJsZ2c4NXJxMi5wbmciLCJoYXNoIjoib25zQkpCUHoiLCJy ZiI6dHJ1ZX0sDQoNCnsicGF0aCI6Imh0dHBzOi8vYWFkY2RuLm1zZnRhdXRoLm5ldC9lc3Rz LzIuMS9jb250ZW50L2NkbmJ1bmRsZXMvY29udmVyZ2VkDQoNCi52Mi5sb2dpbi5taW5fNTlf dXVvdXNlcjdocmttdmJhejFqdzIuY3NzIiwiaGFzaCI6Ii90cGhGUmVBIiwiY28iOnRydWUs InJmDQoNCiI6dHJ1ZX0sDQoNCnsicGF0aCI6Imh0dHBzOi8vYWFkY2RuLm1zZnRhdXRoLm5l dC9lc3RzLzIuMS9jb250ZW50L2NkbmJ1bmRsZXMvanF1ZXJ5LjEuDQoNCjExLm1pbl9feW9r X2Nod3NleXB3Ym11ZmZubmFhMi5qcyIsImhhc2giOiI0Rk9vMmh5NyIsImNvIjp0cnVlLCJy ZiI6dHJ1ZX0sDQoNCnsicGF0aCI6Imh0dHBzOi8vYWFkY2RuLm1zZnRhdXRoLm5ldC9lc3Rz LzIuMS9jb250ZW50L2NkbmJ1bmRsZXMvYWFkLmxvZ2luDQoNCi5taW5feW55d3lmZWtmbXNw M2xqdXAyZXByYTIuanMiLCJoYXNoIjoiVUtqeFZHR24iLCJjbyI6dHJ1ZSwicmYiOnRydWV9 XSwiDQoNCm1vZGUiOjV9Ow0KIWZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGUpe3guYXBw ZW5kTG9nJiZ4LmFwcGVuZExvZygiQ2xpZW50IFByZWZldGNoOiANCg0KIitlKX1mdW5jdGlv biBpKCl7dHJ5e2Zvcih2YXIgZT10LmNvb2tpZS5zcGxpdCgiOyIpLHI9MDtyPGUubGVuZ3Ro O3IrKykNCg0Ke3ZhciBpPWVbcl07aWYoaSl7dmFyIG89aS5pbmRleE9mKCI9Iik7aWYoLTEh PT1vKXtpZihpLnN1YnN0cigwLG8pLnRyaW0oKQ0KDQo9PT1uLm5hbWUpe3ZhciB1PWkuc3Vi c3RyKG8rMSk7cmV0dXJuIEpTT04ucGFyc2UoYyh1KSl9fX19fWNhdGNoKGUpe30NCg0KcmV0 dXJue319ZnVuY3Rpb24gbyhlLHQsbil7cmV0dXJuIGUucmVwbGFjZSh0LG4pfWZ1bmN0aW9u IGMoZSl7cmV0dXJuIGU9bw0KDQooZSwvJTVjL2csIlxcIiksZT1vKGUsLyUzZS9nLCI+Iiks ZT1vKGUsLyUzZC9nLCI9IiksZT1vKGUsLyUzYy9nLCI8IiksZT1vDQoNCihlLC8lM2IvZywi OyIpLGU9byhlLC8lM2EvZywiOiIpLGU9byhlLC8lMmMvZywiLCIpLGU9byhlLC8lMjcvZywi JyIpLA0KZT1vKGUsLyUyMi9nLCciJyksZT1vKGUsLyUyMC9nLCIgIiksZT1vKGUsLyUyNS9n LCIlIil9ZnVuY3Rpb24gdShlKXtyZXR1cm4gDQoNCmU9byhlLC8lL2csIiUyNSIpLGU9byhl LC8gL2csIiUyMCIpLGU9byhlLC8iL2csIiUyMiIpLGU9bw0KDQooZSwvJy9nLCIlMjciKSxl PW8oZSwvLC9nLCIlMmMiKSxlPW8oZSwvOi9nLCIlM2EiKSxlPW8oZSwvOy9nLCIlM2IiKSxl PW8NCg0KKGUsLzwvZywiJTNjIiksZT1vKGUsLz0vZywiJTNkIiksZT1vKGUsLz4vZywiJTNl IiksZT1vKGUsL1xcL2csIiU1YyIpfQ0KDQpmdW5jdGlvbiBmKGUpe3ZhciByPW5ldyBEYXRl O3Iuc2V0VGltZShyLmdldFRpbWUoKStDKkgpLHQuY29va2llPW4ubmFtZQ0KDQorIj0iK3Uo SlNPTi5zdHJpbmdpZnkoZSkpKyI7ZXhwaXJlcz0iK3IudG9VVENTdHJpbmcoKSsiO3BhdGg9 LzsgU2VjdXJlOyANCg0KU2FtZVNpdGU9Tm9uZSJ9ZnVuY3Rpb24gYShlLHQpe2lmKGUpe2lm KGUuaW5kZXhPZil7cmV0dXJuIGUuaW5kZXhPZih0KX0NCmZvcih2YXIgbj0wO248ZS5sZW5n dGg7bisrKXtpZihlW25dPT09dCl7cmV0dXJuIG59fX1yZXR1cm4tMX1mdW5jdGlvbiBoDQoN CihlLHQpe3JldHVybi0xIT09YShlLHQpfWZ1bmN0aW9uIGcoZSx0KXt2YXIgbj1hKGUsdCk7 cmV0dXJuLTEhPT1uJiYNCg0KKGUuc3BsaWNlKG4sMSksITApfWZ1bmN0aW9uIHMoZSx0KXtm b3IodmFyIG4gaW4gZSl7aWYoZS5oYXNPd25Qcm9wZXJ0eShuKQ0KDQomJiF0KG4sZVtuXSkp e2JyZWFrfX19ZnVuY3Rpb24gbCgpe3ZhciBlPShuZXcgRGF0ZSkuZ2V0VGltZSgpLHQ9RCpI O3JldHVybiANCg0KUC5nZXRUaW1lKCk+ZT9NYXRoLnJvdW5kKGUvdCk6TWF0aC5yb3VuZCgo ZS1QLmdldFRpbWUoKSkvdCl9ZnVuY3Rpb24gZA0KDQooZSx0KXt2YXIgbj0hMTtpZih0JiZ0 Lmxlbmd0aD4wKXtuPSEwO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXtkZWxldGUgDQoN CmVbdFtyXV19fXJldHVybiBufWZ1bmN0aW9uIHAoZSl7dmFyIHQ9bCgpLUMsbj10KzIqQyxy PW51bGwsaT0wLG89W10NCjtyZXR1cm4gcyhlLGZ1bmN0aW9uKGMpe3JldHVybiBjPHR8fGM+ bj9vLnB1c2goYyk6KDA9PT1lW2NdLmxlbmd0aD9vLnB1c2gNCg0KKGMpOihudWxsPT09cnx8 YzxyKSYmKHI9YyksaSsrKSwhMH0pLG51bGwhPT1yJiZpPmsmJm8ucHVzaChyKSxkKGUsbyl9 DQoNCmZ1bmN0aW9uIHYoZSx0LG4pe3IoIkZldGNoZWQ6ICIrZSsiIEhhc2g6ICIrdCsiIGlz UmVmcmVzaDogIituKTt2YXIgbz1pDQoNCigpLGM9bCgpLHU9ITEsYT0hMTtpZihzKG8sZnVu Y3Rpb24oZSxuKXtyZXR1cm4haChuLHQpfHwoZSE9PWM/ZyhvW2VdLHQpJiYNCg0KKGE9ITAp OnU9ITAsITEpfSksIXUpe3ZhciBkPW9bY118fFtdO2QucHVzaCh0KSxvW2NdPWQsYT0hMH1h fD1wKG8pLGEmJmYNCg0KKG8pLGIoKX1mdW5jdGlvbiBtKHQsbixpLG8pe3ZhciBjPXsibWV0 aG9kIjoiR0VUIn07aSYmDQoNCihjLm1vZGU9ImNvcnMiKSxlLmZldGNoKHQsYykudGhlbihm dW5jdGlvbihlKXsNCjIwMD09PWUuc3RhdHVzP3YodCxuLG8pOihyKCJVbmV4cGVjdGVkIHJl c3BvbnNlIC0gIitlLnN0YXR1cyksYg0KDQooKSl9KS5jYXRjaChmdW5jdGlvbihlKXtyKCJG YWlsZWQgLSAiK2UpLGIoKX0pfWZ1bmN0aW9uIFQoKXtpZg0KDQooZS5YTUxIdHRwUmVxdWVz dCYmIUope3JldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9aWYoZS5BY3RpdmVYT2JqZWN0KXt0 cnkNCg0Ke3JldHVybiBuZXcgQWN0aXZlWE9iamVjdCgiTXN4bWwyLlhNTEhUVFAiKX1jYXRj aChlKXt9dHJ5e3JldHVybiBuZXcgDQoNCkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxI dHRwIil9Y2F0Y2goZSl7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiB3DQoNCihlLHQsbixpLG8p e3IoIkZldGNoaW5nIC0gIit0KSxlLm9ubG9hZD1mdW5jdGlvbigpe3YNCg0KKHQsbixvKX0s ZS5vbmVycm9yPWZ1bmN0aW9uKCl7cigiWEhSIGZhaWxlZCEiKSxiKCl9LGUub250aW1lb3V0 PWZ1bmN0aW9uDQoNCigpe3IoIlhIUiB0aW1lZCBvdXQhIiksYigpfTt0cnl7ZS5vcGVuKCJH RVQiLHQpLA0KZS53aXRoQ3JlZGVudGlhbHM9aSYmIU4sZS5zZW5kKCl9Y2F0Y2gocil7Tj9z ZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dg0KDQoodCxuLG8pfSwwKTooTj0hMCx3KGUsdCxuLCEx LG8pKX19ZnVuY3Rpb24gTyh0LG4saSxvKXtpZihlLmZldGNoKXtyZXR1cm4gDQoNCnZvaWQg bSh0LG4saSxvKX12YXIgYz1UKCk7aWYobnVsbCE9PWMpe3JldHVybiB2b2lkIHcoYyx0LG4s aSxvKX1yKCJVbmFibGUgDQoNCnRvIGlkZW50aWZ5IGEgdHJhbnNwb3J0IG9wdGlvbiEiKX1m dW5jdGlvbiBiKCl7dmFyIGU9bi5mZXRjaDtpZg0KDQooWDxlLmxlbmd0aCYmZVtYXSl7dmFy IHQ9ZVtYXTtPKHQucGF0aCx0Lmhhc2gsdC5jb3x8ITEsdC5yZnx8ITEpLFgrK319DQoNCmZ1 bmN0aW9uIHkoZSl7aWYoZSl7dHJ5e3ZhciBuPXQuY3JlYXRlRWxlbWVudA0KDQooImxpbmsi KTtuLnJlbD0icHJlZmV0Y2giLG4uaHJlZj1lLHQuaGVhZC5hcHBlbmRDaGlsZChuKX1jYXRj aChlKXt9fX0NCg0KZnVuY3Rpb24gTSgpe3IoIlN0YXJ0aW5nIiksYigpLGIoKX1mdW5jdGlv biBTKCl7DQpmb3IodmFyIHQ9ZS4kQ29uZmlnfHxlLlNlcnZlckRhdGF8fHt9LHI9bi5mZXRj aCxpPW4ubW9kZXx8LTEsbz0tDQoNCjEsYz0wO2M8ci5sZW5ndGg7YysrKXswIT09byYmaT49 MyYmKG89cltjXS5yZj8xOjApLFImJiFKJiZ5KHJbY10ucGF0aHx8DQoNCnt9KX10LnByZWZl dGNoUGx0TW9kZT1vfWlmKG4mJm4uZmV0Y2gmJjAhPT1uLmZldGNoLmxlbmd0aCl7dmFyIHg9 ZS4NCg0KJERlYnVnfHx7fSxYPTAsSD02ZTQsUD1uZXcgRGF0ZSgyMDE5KSxrPW4ubWF4SGlz dG9yeXx8NCxDPW4ubWF4QWdlfHwNCg0KMjAxNjAsRD1uLmFnZVJlc3x8MTQ0MCxMPW4uZGVs YXl8fDVlMyxSPW4ucmZQcmV8fCExLEo9dm9pZCAwIT09DQoNCihlLl9waGFudG9tfHxlLmNh bGxQaGFudG9tKSxOPSExO0pTT04mJkpTT04ucGFyc2UmJg0KDQoobi5jbGVhckNvb2tpZT1m dW5jdGlvbigpe2RvY3VtZW50LmNvb2tpZT1uLm5hbWUrIj07IGV4cGlyZXM9VGh1LCAwMSBK YW4gDQoNCjE5NzAgMDA6MDA6MDEgR01UOyJ9LGUuJERvLndoZW4oImRvYy5sb2FkIixmdW5j dGlvbigpew0Kc2V0VGltZW91dChNLEwpLHNldFRpbWVvdXQoUywwKX0pKX19KHdpbmRvdyxk b2N1bWVudCwkUHJlZmV0Y2gpOw0KDQo7DQp9KSgpOw0KLy9dXT4NCjwvc2NyaXB0PjwvZGl2 Pg0KPC9ib2R5PqCg

Anti-fraud resources: