php
js
css
php
js
css
AF
Memberships
Courses
Private Courses
Enrollments
Exams
Teachers
Placement Tests
Timetable
Library
Website
Designs
Pages
Posts
Comments
Analytics
Customers
Contacts
Groups
Marketing
Social
E-mail
SMS
Automation
Events
Commerce
Products
Discounts
Sales
Recurring
Affiliates
Pages
Pages
Editing overrides a system page.
Revert to Default
oncord_base64_encoded_tokenPCEtLSBQYWdlIHN0eWxlcyBhcHBsZWQgZm9yIHRoZSBzZXR1cCBwYWdlLiBJZGVhbGx5IHdlIGNvdWxkIGhhdmUgYSBtb3JlIHVuaWZpZWQgYXBwcm9hY2ggYmV0d2VlbiBvbmNvcmQuY29tIGFuZCB0aGUgc29mdHdhcmUsIGJ1dCBpbmNsdWRpbmcgc3R5bGVzIGhlcmUgaXMgb2theSBmb3Igbm93LiAtLT4KPHRlbXBsYXRlczpzdHlsZXMgaW1wcm92ZWZvcm1zdHlsZXM9InRydWUiIGZvcm1zdHlsZXZhcmlhbnQ9Im1pbmltYWwiIGZvcm1hY2NlbnRjb2xvcj0iIzQyOGJjYSIgLz4KCjxmb3Jtczpmb3JtIGlkPSJkZXNpZ25fZ2VuZXJhdG9yX2Zvcm0iIG1ldGhvZD0iYWpheCIgZGF0YXNvdXJjZT0iZ2V0RGVmYXVsdERlc2lnbkRhdGEoKSI+CgoJPCEtLSBIaWRkZW4gSW5wdXRzIHVzZWQgdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBmcm9tIHRoZSB1c2VyIC0tPgoJPGZvcm1zOmhpZGRlbiBpZD0iZGVzaWduX3Nlc3Npb25faWQiIGRhdGEtZGVzaWdud2l6YXJkIGRhdGFjb2x1bW49ImRlc2lnbl9zZXNzaW9uX2lkIiBjbGFzcz0iYWx3YXlzcG9zdCIgdmFsdWU9Ils/IFxGcmFtZXdvcmtcUmFuZG9tOjpyYW5kb21TdHJpbmcoMjApID9dIiAvPgoKCTwhLS0gVmFsdWUgb2YgY2hvc2VuIGxvZ28gaW1hZ2UgaXMgcG9wdWxhdGVkIGhlcmUgYnkgRGVzaWduV2l6YXJkLkxvZ29zIHdoZW4geW91IGNsaWNrIG9uIGEgbG9nbyBpbWFnZSAtLT4KCTxmb3JtczpoaWRkZW4gaWQ9ImxvZ28iIGRhdGEtZGVzaWdud2l6YXJkIGRhdGFjb2x1bW49ImxvZ28iIGNsYXNzPSJhbHdheXNwb3N0IiAvPgoJPCEtLSBIaWRkZW4gSW5wdXQgZm9yIGxvZ28gY29sb3JzIC0tPgoJPGZvcm1zOmhpZGRlbiBpZD0ibG9nb19jb2xvdXJzIiBkYXRhLWRlc2lnbndpemFyZCBkYXRhLXZhbHVldHlwZT0iSlNPTiIgZGF0YWNvbHVtbj0ibG9nb19jb2xvdXJzIiBjbGFzcz0iYWx3YXlzcG9zdCIgLz4KCTwhLS0gSGlkZGVuIElucHV0IGZvciBsb2dvIGJhY2tncm91bmQgcmVxdWlyZW1lbnRzIC0tPgoJPGZvcm1zOmhpZGRlbiBpZD0ibG9nb19iYWNrZ3JvdW5kIiBkYXRhLWRlc2lnbndpemFyZCBkYXRhLXZhbHVldHlwZT0iSlNPTiIgZGF0YWNvbHVtbj0ibG9nb19iYWNrZ3JvdW5kIiBjbGFzcz0iYWx3YXlzcG9zdCIgLz4KCTwhLS0gSGlkZGVuIElucHV0IGZvciBsb2dvIGJhY2tncm91bmQgYmxvY2sgY29sb3IgLS0+Cgk8Zm9ybXM6aGlkZGVuIGlkPSJsb2dvX2Jsb2NrX2JhY2tncm91bmRfY29sb3IiIGRhdGEtZGVzaWdud2l6YXJkIGRhdGFjb2x1bW49ImxvZ29fYmxvY2tfYmFja2dyb3VuZF9jb2xvciIgY2xhc3M9ImFsd2F5c3Bvc3QiIC8+Cgk8IS0tIElucHV0cyBmb3Igc2l0ZSBjb2xvciBwYWxldHRlIC0tPgoJPGZvcm1zOmhpZGRlbiBpZD0iY29sb3JfcHJpbWFyeSIgZGF0YS1kZXNpZ253aXphcmQgZGF0YWNvbHVtbj0iY29sb3JfcHJpbWFyeSIgY2xhc3M9ImFsd2F5c3Bvc3QiIC8+Cgk8Zm9ybXM6aGlkZGVuIGlkPSJjb2xvcl9zZWNvbmRhcnkiIGRhdGEtZGVzaWdud2l6YXJkIGRhdGFjb2x1bW49ImNvbG9yX3NlY29uZGFyeSIgY2xhc3M9ImFsd2F5c3Bvc3QiIC8+Cgk8Zm9ybXM6aGlkZGVuIGlkPSJkZXNpZ25fdHlwb2dyYXBoeSIgZGF0YS1kZXNpZ253aXphcmQgZGF0YWNvbHVtbj0iZGVzaWduX3R5cG9ncmFwaHkiIGRhdGEtdmFsdWV0eXBlPSJKU09OIiBjbGFzcz0iYWx3YXlzcG9zdCIgdmFsdWU9IltdIiAvPgoJPGZvcm1zOmhpZGRlbiBpZD0ic2VjdGlvbl9kaXZpZGVyIiBkYXRhLWRlc2lnbndpemFyZCBkYXRhY29sdW1uPSJzZWN0aW9uX2RpdmlkZXIiIGNsYXNzPSJhbHdheXNwb3N0IiB2YWx1ZT0ibm9uZSIgLz4KCTwhLS0gQ2FsbCB0byBBY3Rpb24gLS0+Cgk8Zm9ybXM6aGlkZGVuIGlkPSJwcmV2aWV3LW1vZGFsLWFjY2VwdC1mb3JtLXNpdGV0eXBlIiBkYXRhLWRlc2lnbndpemFyZCBkYXRhY29sdW1uPSJzaXRlVHlwZSIgY2xhc3M9ImFsd2F5c3Bvc3QiIC8+Cgk8IS0tIENob3NlbiBUZW1wbGF0ZSBOYW1lIC0gRWcuIENvbGVXaGl0ZSAtLT4KCTxmb3JtczpoaWRkZW4gaWQ9InByZXZpZXctbW9kYWwtYWNjZXB0LWZvcm0tdGVtcGxhdGVuYW1lIiBkYXRhLWRlc2lnbndpemFyZCBkYXRhY29sdW1uPSJ0ZW1wbGF0ZU5hbWUiIGNsYXNzPSJhbHdheXNwb3N0IiAvPgoKCTxkaXYgY2xhc3M9ImRlc2lnbldpemFyZCI+CgkJPGRpdiBjbGFzcz0iZGVzaWduV2l6YXJkX193cmFwcGVyIj4KCQkJPGRpdj4KCQkJCTxzdmc+PHVzZSB4bGluazpocmVmPSIjb25jb3JkLWxvZ28iPjwvdXNlPjwvc3ZnPgoJCQkJPGgxPjxyZXZlYWwtdGV4dCBkZWxheT0iMjAwIiBvbmZpbmlzaD0ic2V0VGltZW91dCgoKSA9PiB7IGxldCBuUGFyZW50ID0gdGhpcy5wYXJlbnROb2RlLnBhcmVudE5vZGU7IG5QYXJlbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJzsgblBhcmVudC5uZXh0RWxlbWVudFNpYmxpbmcuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7IHdpbmRvdy5EZXNpZ25XaXphcmQuTWFzY290LmRvY2soKTsgfSwgMjUwMCk7Ij5MZXQncyBkZXNpZ24geW91ciB3ZWJzaXRlIGluIGEgZmV3IGVhc3kgc3RlcHMuLi48L3JldmVhbC10ZXh0PjwvaDE+CgoJCQkJPCEtLSBUaGUgQUkgQWdlbnQgcm9ib3QgaXMgbW91bnRlZCBoZXJlIGJ5IERlc2lnbldpemFyZC5NYXNjb3QgKGVudGl0eS5qcykgLS0+CgkJCQk8ZGl2IGlkPSJkZXNpZ25fd2l6YXJkX21hc2NvdCIgY2xhc3M9ImRlc2lnbldpemFyZF9fbWFzY290Ij48L2Rpdj4KCQkJPC9kaXY+CgoKCQkJPGRpdiBjbGFzcz0ic2V0dXAtZm9ybS13cmFwcGVyIj4KCQkJCTwhLS0gVGhlIHJvYm90IHJlbG9jYXRlcyBoZXJlIG9uIGhhbmQtb3ZlciBhbmQgaG92ZXJzIG92ZXIgdGhlIGFjdGl2ZSBzdGVwIGRvdCAtLT4KCQkJCTxkaXYgaWQ9ImRlc2lnbl93aXphcmRfbWFzY290X2RvY2siIGNsYXNzPSJkZXNpZ25XaXphcmRfX21hc2NvdCBkZXNpZ25XaXphcmRfX21hc2NvdC0tZG9ja2VkIj48L2Rpdj4KCgkJCQk8bGF5b3V0OnN0ZXBwZXIgaWQ9InNldHVwX3N0ZXBwZXIiIGxpbmVhcnByb2dyZXNzaW9uPSJ0cnVlIiB0cmFuc2l0aW9uPSJzbGlkZSIgQWxpZ25JdGVtcz0iZmxleC1zdGFydCI+CgoJCQkJCTwhLS0gU2VsZWN0IGRvbWFpbiAtIERlc2lnbldpemFyZC5TY3JhcGVEb21haW4gLS0+CgkJCQkJPGxheW91dDpzdGVwcGVycGFuZWwgdGl0bGU9IkJ1c2luZXNzIj4KCQkJCQkJPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtLWNlbnRlcmVkIHBhbmVsLS1zbSI+CgkJCQkJCQk8YWpheDpldmVudCBpZD0iaGF2ZXNpdGVfYWpheGV2ZW50IiB1cGRhdGVyZWdpb25zPSJoYXZlc2l0ZV9hamF4cmVnaW9uIiBzaG93bG9hZGluZz0iZmFsc2UiIC8+CgkJCQkJCQk8ZGl2IGlkPSJoYXZlc2l0ZV9jb250YWluZXIiIHN0eWxlPSJwYWRkaW5nLXRvcDogMWVtOyB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXIiPgoJCQkJCQkJCTxoMT48cmV2ZWFsLXRleHQgZGVsYXk9IjU1MDAiIG9uZmluaXNoPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGF2ZXNpdGVfYnV0dG9ucycpLnN0eWxlLm9wYWNpdHkgPSAxOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGF2ZXNpdGVfbWlkX3BhZGRpbmcnKS5zdHlsZS5wYWRkaW5nVG9wID0gJzFlbSciPkRvIHlvdSBjdXJyZW50bHkgaGF2ZSBhIHdlYnNpdGU/PC9yZXZlYWwtdGV4dD48L2gxPgoJCQkJCQkJCTxkaXYgaWQ9ImhhdmVzaXRlX21pZF9wYWRkaW5nIiBzdHlsZT0idHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyIj48L2Rpdj4KCQkJCQkJCQk8ZGl2IGlkPSJoYXZlc2l0ZV9idXR0b25zIiBjbGFzcz0iY2FsbFRvQWN0aW9uQ29udGFpbmVyIiBzdHlsZT0ib3BhY2l0eTogMDsgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyIj4KCQkJCQkJCQkJPGxhYmVsIGZvcj0iaGF2ZXNpdGVfeWVzIiBjbGFzcz0iY3RhT3B0aW9uIj4KCQkJCQkJCQkJCTxmb3JtczpyYWRpb2J1dHRvbiBpZD0iaGF2ZXNpdGVfeWVzIiBuYW1lPSJoYXZlc2l0ZSIgdmFsdWVjaGVja2VkPSJ5ZXMiIG9uY2hhbmdlYWpheD0iaGF2ZXNpdGVfYWpheGV2ZW50IiBvbmNoYW5nZT0icmFkaW9CdXR0b25PcHRpb25VcGRhdGUodGhpcyk7ICBzZXRUaW1lb3V0KCgpID0+IHsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hhdmVzaXRlX2NvbnRhaW5lcicpLnN0eWxlID0gJ3BhZGRpbmdUb3A6IDA7IHRyYW5zZm9ybTogc2NhbGUoMC43KTsgb3BhY2l0eTogMC44OyB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXInOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGF2ZXNpdGVfbWlkX3BhZGRpbmcnKS5zdHlsZS5wYWRkaW5nVG9wID0gJzAuNGVtJzsgfSwgMjAwKTsiIC8+CgkJCQkJCQkJCQk8c3Bhbj5ZZXM8L3NwYW4+CgkJCQkJCQkJCTwvbGFiZWw+CgkJCQkJCQkJCTxsYWJlbCBmb3I9ImhhdmVzaXRlX25vIiBjbGFzcz0iY3RhT3B0aW9uIj4KCQkJCQkJCQkJCTxmb3JtczpyYWRpb2J1dHRvbiBpZD0iaGF2ZXNpdGVfbm8iIG5hbWU9ImhhdmVzaXRlIiB2YWx1ZWNoZWNrZWQ9Im5vIiBvbmNoYW5nZWFqYXg9ImhhdmVzaXRlX2FqYXhldmVudCIgb25jaGFuZ2U9InJhZGlvQnV0dG9uT3B0aW9uVXBkYXRlKHRoaXMpOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGF2ZXNpdGVfY29udGFpbmVyJykuc3R5bGUgPSAncGFkZGluZ1RvcDogMDsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyBvcGFjaXR5OiAwLjg7IHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcic7ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGF2ZXNpdGVfbWlkX3BhZGRpbmcnKS5zdHlsZS5wYWRkaW5nVG9wID0gJzAuNWVtJzsgIiAvPgoJCQkJCQkJCQkJPHNwYW4+Tm88L3NwYW4+CgkJCQkJCQkJCTwvbGFiZWw+CgkJCQkJCQkJPC9kaXY+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJCTxwPjxiciAvPjwvcD4KCgkJCQkJCQk8YWpheDpyZWdpb24gaWQ9ImhhdmVzaXRlX2FqYXhyZWdpb24iPgoJCQkJCQkJCTxhamF4OmV2ZW50IGlkPSJkb21haW5fbmFtZV9hamF4ZXZlbnQiIHNlcnZlcmNvbW1hbmQ9ImRpc3BhdGNoU2NyYXBlKCRzY3JhcGVfZG9tYWluX25hbWUudmFsdWUsICRkZXNpZ25fc2Vzc2lvbl9pZC52YWx1ZSwgJGRlc2lnbl9nZW5lcmF0b3JfZm9ybS5nZXRWYWx1ZXNGb3JDb21wb25lbnQoKSkiIHVwZGF0ZXJlZ2lvbnM9InNjcmFwZXJfdGhyZWFkbGlzdGVuZXJfYWpheHJlZ2lvbiIgc2hvd2xvYWRpbmc9ImZhbHNlIiBvbnN1Y2Nlc3M9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZXR1cF9zdGVwcGVyX3Byb2dyZXNzbGlua3MnKS5tb3ZlTmV4dCgpOyB3aW5kb3cuRGVzaWduV2l6YXJkLk1hc2NvdC53b3JrKCk7IHdpbmRvdy5EZXNpZ25XaXphcmQuU2NyYXBlVGhyZWFkSGFuZGxlci5vblN0YXRlUmVuZGVyZWQoKTsiIC8+CgoJCQkJCQkJCTxsb2dpYzppZiB0ZXN0PSIkaGF2ZXNpdGVfeWVzLmNoZWNrZWQiPgoJCQkJCQkJCQk8aDE+PHJldmVhbC10ZXh0IG9uZmluaXNoPSJ0aGlzLnBhcmVudE5vZGUubmV4dEVsZW1lbnRTaWJsaW5nLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2NyYXBlX2RvbWFpbl9uYW1lJykuZm9jdXMoKTsiPk5pY2UgLSBXaGF0J3MgeW91ciBkb21haW4gbmFtZT88L3JldmVhbC10ZXh0PjwvaDE+CgkJCQkJCQkJCTxkaXYgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPgoJCQkJCQkJCQkJPHA+V2UnbGwgY2hlY2sgaXQgb3V0IHRvIHVuZGVyc3RhbmQgeW91ciBidXNpbmVzcyBhbmQgYnJhbmQuPC9wPgoJCQkJCQkJCQkJPHA+PGJyIC8+PC9wPgoJCQkJCQkJCQkJPGZvcm1zOmVkaXRib3ggaWQ9InNjcmFwZV9kb21haW5fbmFtZSIgZGF0YWNvbHVtbj0ic2NyYXBlX2RvbWFpbl9uYW1lIiBjbGFzcz0iZGVzaWduV2l6YXJkX19kb21haW5JbnB1dCBhbHdheXNwb3N0IiB0eXBlPSJ1cmwiIGRhdGEtZGVzaWdud2l6YXJkIHBsYWNlaG9sZGVyPSJleGFtcGxlLmNvbSIgdmFsaWRhdGlvbnM9Im1hbmRhdG9yeSIgYXV0b2NvbXBsZXRlPSJvZmYiIGF1dG9jb3JyZWN0PSJvZmYiIGF1dG9jYXBpdGFsaXplPSJvZmYiIHNwZWxsY2hlY2s9ImZhbHNlIiAvPgoJCQkJCQkJCQkJPHA+PGJyIC8+PC9wPgoJCQkJCQkJCQkJPHA+PGJyIC8+PC9wPgoJCQkJCQkJCQkJPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj4KCQkJCQkJCQkJCQk8Zm9ybXM6c3VibWl0YnV0dG9uIGlkPSJkb21haW5fZ2VuZXJhdGVfbmV4dCIgY2xhc3M9InN1Ym1pdExpbmsiIG9uY2xpY2thamF4PSJkb21haW5fbmFtZV9hamF4ZXZlbnQiIG9uY2xpY2s9IndpbmRvdy5EZXNpZ25XaXphcmQuU2NyYXBlVGhyZWFkSGFuZGxlci5iZWdpbigpOyAvKiBDaHJvbWUgdmFsaWRhdGlvbiBmaXggKi8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NjcmFwZV9kb21haW5fbmFtZScpLnNldEF0dHJpYnV0ZSgndHlwZScsICd0ZXh0JykiPk5leHQgPHN0YW5kYXJkOmljb24gbGlicmFyeT0iZm9udGF3ZXNvbWUiIGljb25zdHlsZT0ic29saWQiIGljb25uYW1lPSJyaWdodC1sb25nIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiIHZlcnRpY2FsLWFsaWduPSItMi41cHgiIC8+PC9mb3JtczpzdWJtaXRidXR0b24+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPC9sb2dpYzppZj4KCQkJCQkJCQk8bG9naWM6ZWxzZSB0ZXN0PSIkaGF2ZXNpdGVfbm8uY2hlY2tlZCI+CgkJCQkJCQkJCTxoMT48cmV2ZWFsLXRleHQgb25maW5pc2g9InRoaXMucGFyZW50Tm9kZS5uZXh0RWxlbWVudFNpYmxpbmcuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWN0X2NvbXBhbnknKS5mb2N1cygpOyI+VGhhdCdzIG9rIC0ganVzdCBsZXQgdXMga25vdzo8L3JldmVhbC10ZXh0PjwvaDE+CgkJCQkJCQkJCTxkaXYgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPgoJCQkJCQkJCQkJPHA+PGJyIC8+PC9wPgoJCQkJCQkJCQkJPHN0cm9uZz5Zb3VyIGJ1c2luZXNzIG5hbWU6PC9zdHJvbmc+CgkJCQkJCQkJCQk8Zm9ybXM6ZWRpdGJveCBpZD0iY29udGFjdF9jb21wYW55IiBkYXRhY29sdW1uPSJjb250YWN0X2NvbXBhbnkiIGRhdGEtZGVzaWdud2l6YXJkIGNsYXNzPSJkZXNpZ25XaXphcmRfX2RvbWFpbklucHV0IGFsd2F5c3Bvc3QiIHZhbGlkYXRpb25zPSJtYW5kYXRvcnkiIG1heGxlbmd0aD0iMjAwIiBhdXRvY29tcGxldGU9Im9mZiIgYXV0b2NvcnJlY3Q9Im9mZiIgYXV0b2NhcGl0YWxpemU9Im9mZiIgc3BlbGxjaGVjaz0iZmFsc2UiIHBsYWNlaG9sZGVyPSJFeGFtcGxlOiBBY2NydWFsIEFjY291bnRpbmcgU2VydmljZXMiIC8+CgkJCQkJCQkJCQk8cD48YnIgLz48L3A+CgkJCQkJCQkJCQk8c3Ryb25nPkRlc2NyaWJlIHlvdXIgYnVzaW5lc3MgaW4gYSBzZW50ZW5jZSBvciB0d286PC9zdHJvbmc+CgkJCQkJCQkJCQk8Zm9ybXM6dGV4dGFyZWEgaWQ9ImJ1c2luZXNzX2Rlc2NyaXB0aW9uIiBkYXRhY29sdW1uPSJidXNpbmVzc19kZXNjcmlwdGlvbiIgZGF0YS1kZXNpZ253aXphcmQgY2xhc3M9ImRlc2lnbldpemFyZF9fZG9tYWluSW5wdXQgYWx3YXlzcG9zdCIgdmFsaWRhdGlvbnM9Im1hbmRhdG9yeSIgbWF4bGVuZ3RoPSI0MDAwIiBhdXRvY29tcGxldGU9Im9mZiIgYXV0b2NvcnJlY3Q9Im9mZiIgYXV0b2NhcGl0YWxpemU9Im9mZiIgc3BlbGxjaGVjaz0iZmFsc2UiIHBsYWNlaG9sZGVyPSJbPyBcRnJhbWV3b3JrXE5ldHdvcmtcR2VvSVA6OmdldENpdHkoXEZyYW1ld29ya1xIVFRQXFJlcXVlc3Q6OmdldElQKCkpID8/ICdMb25kb24nID9dIGJhc2VkIGFjY291bnRhbmN5IGZpcm0gc3BlY2lhbGlzaW5nIGluIGNvcnBvcmF0ZSB0YXgiIC8+CgoJCQkJCQkJCQkJPHA+PGJyIC8+PC9wPgoJCQkJCQkJCQkJPHA+PGJyIC8+PC9wPgoJCQkJCQkJCQkJPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj4KCQkJCQkJCQkJCQk8Zm9ybXM6c3VibWl0YnV0dG9uIGlkPSJidXNpbmVzc19nZW5lcmF0ZV9uZXh0IiBjbGFzcz0ic3VibWl0TGluayIgb25jbGlja2FqYXg9ImRvbWFpbl9uYW1lX2FqYXhldmVudCIgb25jbGljaz0id2luZG93LkRlc2lnbldpemFyZC5TY3JhcGVUaHJlYWRIYW5kbGVyLmJlZ2luKCk7Ij5OZXh0IDxzdGFuZGFyZDppY29uIGxpYnJhcnk9ImZvbnRhd2Vzb21lIiBpY29uc3R5bGU9InNvbGlkIiBpY29ubmFtZT0icmlnaHQtbG9uZyIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IiB2ZXJ0aWNhbC1hbGlnbj0iLTIuNXB4IiAvPjwvZm9ybXM6c3VibWl0YnV0dG9uPgoJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8Zm9ybXM6aGlkZGVuIGlkPSJzY3JhcGVfZG9tYWluX25hbWUiIGRhdGFjb2x1bW49InNjcmFwZV9kb21haW5fbmFtZSIgY2xhc3M9ImFsd2F5c3Bvc3QiIHZhbHVlPSIiIHZhbHVlaWdub3JlPSJjbGllbnQsZGF0YWNvbHVtbiIgZGF0YS1kZXNpZ253aXphcmQgLz4KCQkJCQkJCQk8L2xvZ2ljOmVsc2U+CgkJCQkJCQkJPGxvZ2ljOmVsc2U+CgkJCQkJCQkJCTxmb3JtczpoaWRkZW4gaWQ9InNjcmFwZV9kb21haW5fbmFtZSIgZGF0YWNvbHVtbj0ic2NyYXBlX2RvbWFpbl9uYW1lIiBkYXRhLWRlc2lnbndpemFyZCAvPgoJCQkJCQkJCTwvbG9naWM6ZWxzZT4KCQkJCQkJCTwvYWpheDpyZWdpb24+CgkJCQkJCTwvZGl2PgoJCQkJCTwvbGF5b3V0OnN0ZXBwZXJwYW5lbD4KCgkJCQkJPCEtLSBMb2FkaW5nIGFuZCBsb2dvIHVwbG9hZCAtIERlc2lnbldpemFyZC5Mb2dvcyAtIERlc2lnbldpemFyZC5TY3JhcGVUaHJlYWRIYW5kbGVyIC0tPgoJCQkJCTwhLS0gVGhlIGludGVyZmFjZSB0aGF0IHNob3dzIHdoaWxlIHRoZSBzY3JhcGUgdGFrZXMgcGxhY2UgaXMgaGFuZGxlZCBoZXJlIHRvIGF2b2lkIGhhdmluZyBhbiB1bm5lY2Vzc2FyeSBzdGVwIGluIHRoZSBzdGVwcGVyIC0tPgoJCQkJCTxsYXlvdXQ6c3RlcHBlcnBhbmVsIHRpdGxlPSJMb2dvIj4KCQkJCQkJPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtLWNlbnRlcmVkIj4KCgkJCQkJCQk8YWpheDpyZWdpb24gaWQ9InNjcmFwZXJfdGhyZWFkbGlzdGVuZXJfYWpheHJlZ2lvbiI+CgkJCQkJCQkJPGxvZ2ljOnZhcmlhYmxlIGFzPSJzY3JhcGVfc3RhdGUiIHZhbHVlPSJbPyBnZXRTY3JhcGVXaXphcmRTdGF0ZSgkc2NyYXBlX2RvbWFpbl9uYW1lLnZhbHVlLCAkZGVzaWduX3Nlc3Npb25faWQudmFsdWUpID9dIiAvPgoKCQkJCQkJCQk8IS0tIFNob3dzIHdoaWxlIHNjcmFwZSB0aHJlYWQgaW4gcHJvZ3Jlc3MsIGhpZGRlbiB3aGVuIHNjcmFwZSBmaW5pc2hlZCAtLT4KCQkJCQkJCQk8ZGl2IGlkPSJzY3JhcGluZ0NvbnRhaW5lciIgc3R5bGU9Ils/ICEkc2NyYXBlX2RvbWFpbl9uYW1lLnZhbHVlIHx8ICRzY3JhcGVfc3RhdGVbJ2xvZ29zX3JlYWR5J10gPyAnZGlzcGxheTogbm9uZScgOiAnJyA/XSI+CgkJCQkJCQkJCTxoMT5TaXQgdGlnaHQgLSB3ZSdyZSByZXNlYXJjaGluZyB5b3VyIGJ1c2luZXNzJmhlbGxpcDs8L2gxPgoJCQkJCQkJCQk8cD48YnIgLz48L3A+CgkJCQkJCQkJCTxkaXYgY2xhc3M9ImxvYWRpbmdBbmltYXRpb24iPgoJCQkJCQkJCQkJPGRpdiBjbGFzcz0ibG9hZGluZ0FuaW1hdGlvbl9fY2lyY2xlIj48L2Rpdj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImxvYWRpbmdBbmltYXRpb25fX2NpcmNsZSI+PC9kaXY+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJsb2FkaW5nQW5pbWF0aW9uX19jaXJjbGUiPjwvZGl2PgoJCQkJCQkJCQkJPGRpdiBjbGFzcz0ibG9hZGluZ0FuaW1hdGlvbl9fY2lyY2xlIj48L2Rpdj4KCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPC9kaXY+CgoJCQkJCQkJCTwhLS0gTG9nbyBzZWxlY3Rpb24gYW5kIHVwbG9hZCAtIHJldmVhbGVkIGFzIHNvb24gYXMgbG9nbyBkaXNjb3ZlcnkgaXMgY29tcGxldGUgLS0+CgkJCQkJCQkJPGRpdiBpZD0idXBsb2FkQ29udGFpbmVyIgoJCQkJCQkJCQlkYXRhLWxvZ29zLXJlYWR5PSJbPyAkc2NyYXBlX3N0YXRlWydsb2dvc19yZWFkeSddID8gJ3RydWUnIDogJ2ZhbHNlJyA/XSIKCQkJCQkJCQkJZGF0YS1zY3JhcGUtY29tcGxldGU9Ils/ICRzY3JhcGVfc3RhdGVbJ3NjcmFwZV9jb21wbGV0ZSddID8gJ3RydWUnIDogJ2ZhbHNlJyA/XSIKCQkJCQkJCQkJc3R5bGU9Ils/ICEkc2NyYXBlX2RvbWFpbl9uYW1lLnZhbHVlIHx8ICRzY3JhcGVfc3RhdGVbJ2xvZ29zX3JlYWR5J10gPyAnZGlzcGxheTogYmxvY2s7IG9wYWNpdHk6IDEnIDogJycgP10iCgkJCQkJCQkJPgoJCQkJCQkJCQk8YWpheDpyZWdpb24gaWQ9InNjcmFwZXJfdXBsb2FkX2FqYXhyZWdpb24iPgoJCQkJCQkJCQkJPGxvZ2ljOnZhcmlhYmxlIGFzPSJsb2dvcyIgdmFsdWU9Ils/IGdldFdpemFyZExvZ29zKCRkZXNpZ25fc2Vzc2lvbl9pZC52YWx1ZSwgJHNjcmFwZV9kb21haW5fbmFtZS52YWx1ZSkgP10iIC8+CgkJCQkJCQkJCQk8bG9naWM6aWYgdGVzdD0iY291bnQoJGxvZ29zKSIgZXZhbHVhdGVhdD0icmVuZGVyIj4KCQkJCQkJCQkJCQk8aDE+PHJldmVhbC10ZXh0IGRlbGF5PSIxMjAwIj5JZiB5b3Ugc2VlIHlvdXIgbG9nbywgcGljayB0aGUgY2xlYXJlc3QgdmVyc2lvbi48L3JldmVhbC10ZXh0PjwvaDE+CgkJCQkJCQkJCQkJPHA+PGJyIC8+PC9wPgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImFjY291bnRMb2dvQ29udGFpbmVyIj4KCgkJCQkJCQkJCQkJCTxkYXRhOnJlcGVhdGVyIGRhdGFzb3VyY2U9IiRsb2dvcyIgYXM9ImxvZ28iIGRhdGFsaW1pdD0iOCIgZGF0YXNvdXJjZXN1cHBvcnRzcGFnaW5nPSJmYWxzZSIgcG9wdWxhdGVhdD0icmVuZGVyIj4KCQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImFjY291bnRMb2dvSW1hZ2VDb250YWluZXIiPgoJCQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImxvZ29PcHRpb24iPgoJCQkJCQkJCQkJCQkJCQk8aW1nIGNsYXNzPSJhY2NvdW50TG9nb0ltYWdlIiBkYXRhLWltYWdlPSJbPyAkbG9nb1sndXJsJ10gP10iIHNyYz0iWz8gKCRsb2dvWyd1cmwnXVswXSA9PSAnLycpID8gKCRsb2dvWyd1cmwnXSkgOiAoJy9hZG1pbi93ZWJzaXRlL2Rlc2lnbnMvbmV3L2ltYWdlLXByb3h5Lz9kbGltPW9uYycgKyB1cmxlbmNvZGUoYmFzZTY0X2VuY29kZSgkbG9nb1sndXJsJ10pKSkgP10iIG9uZXJyb3I9InRoaXMucGFyZW50Tm9kZS5wYXJlbnROb2RlLnJlbW92ZSgpIiAvPgoJCQkJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQkJCTwvZGF0YTpyZXBlYXRlcj4KCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQk8YnIgLz4KCQkJCQkJCQkJCQk8cD48YnIgLz48L3A+CgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iYWNjb3VudExvZ29VcGxvYWQiPgoJCQkJCQkJCQkJCQk8dGVtcGxhdGVzOmZhcSBsYWJlbD0iQ2FuJ3Qgc2VlIHlvdXIgbG9nbz8iPgoJCQkJCQkJCQkJCQkJPGFqYXg6ZXZlbnQgaWQ9ImxvZ29fdXBsb2FkX2FqYXhldmVudCIgdXBkYXRlcmVnaW9ucz0ic2NyYXBlcl91cGxvYWRfYWpheHJlZ2lvbiIgc2VydmVyY29tbWFuZD0ibG9nb0ZpbGVVcGxvYWQoJGRlc2lnbl9zZXNzaW9uX2lkLnZhbHVlLCAkbG9nb19maWxlX3VwbG9hZC52YWx1ZSkiIHNob3dsb2FkaW5nPSJmYWxzZSIgb25zdWNjZXNzPSJ3aW5kb3cuRGVzaWduV2l6YXJkLkxvZ29zLmluaXQoKTsgd2luZG93LkRlc2lnbldpemFyZC5Mb2dvcy5zZWxlY3RGaXJzdCgpOyIgLz4KCQkJCQkJCQkJCQkJCTxmb3JtczpmaWxldXBsb2FkIGlkPSJsb2dvX2ZpbGVfdXBsb2FkIiBleHRlbnNpb25zPSJJTUFHRSIgb25xdWV1ZWNvbXBsZXRlPSJ0cmlnZ2VyRXZlbnRBamF4KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2dvX2ZpbGVfdXBsb2FkJyksICdxdWV1ZWNvbXBsZXRlJywgJ2xvZ29fdXBsb2FkX2FqYXhldmVudCcpIiBvbnF1ZXVlY29tcGxldGVhamF4PSJsb2dvX3VwbG9hZF9hamF4ZXZlbnQiIC8+CgkJCQkJCQkJCQkJCTwvdGVtcGxhdGVzOmZhcT4KCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCTwvbG9naWM6aWY+CgkJCQkJCQkJCQk8bG9naWM6ZWxzZT4KCQkJCQkJCQkJCQk8aDE+PHJldmVhbC10ZXh0IGRlbGF5PSIxMCI+VXBsb2FkIHlvdXIgbG9nbzwvcmV2ZWFsLXRleHQ+PC9oMT4KCQkJCQkJCQkJCQk8cD5UaGlzIGlzIG9wdGlvbmFsLiBZb3UgY2FuIGNvbnRpbnVlIHdpdGggeW91ciBidXNpbmVzcyBuYW1lIGFuZCBhZGQgYSBsb2dvIGxhdGVyLjwvcD4KCgkJCQkJCQkJCQkJPGFqYXg6ZXZlbnQgaWQ9ImxvZ29fdXBsb2FkX2FqYXhldmVudCIgdXBkYXRlcmVnaW9ucz0ic2NyYXBlcl91cGxvYWRfYWpheHJlZ2lvbiIgc2VydmVyY29tbWFuZD0ibG9nb0ZpbGVVcGxvYWQoJGRlc2lnbl9zZXNzaW9uX2lkLnZhbHVlLCAkbG9nb19maWxlX3VwbG9hZC52YWx1ZSkiIHNob3dsb2FkaW5nPSJmYWxzZSIgb25zdWNjZXNzPSJ3aW5kb3cuRGVzaWduV2l6YXJkLkxvZ29zLmluaXQoKTsgd2luZG93LkRlc2lnbldpemFyZC5Mb2dvcy5zZWxlY3RGaXJzdCgpOyIgLz4KCQkJCQkJCQkJCQk8Zm9ybXM6ZmlsZXVwbG9hZCBpZD0ibG9nb19maWxlX3VwbG9hZCIgZXh0ZW5zaW9ucz0iSU1BR0UiIG9ucXVldWVjb21wbGV0ZT0idHJpZ2dlckV2ZW50QWpheChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9nb19maWxlX3VwbG9hZCcpLCAncXVldWVjb21wbGV0ZScsICdsb2dvX3VwbG9hZF9hamF4ZXZlbnQnKSIgb25xdWV1ZWNvbXBsZXRlYWpheD0ibG9nb191cGxvYWRfYWpheGV2ZW50IiAvPgoJCQkJCQkJCQkJPC9sb2dpYzplbHNlPgoKCQkJCQkJCQkJCTxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlciI+CgoJCQkJCQkJCQkJCTxwPjxiciAvPjwvcD4KCQkJCQkJCQkJCQk8cD48YnIgLz48L3A+CgkJCQkJCQkJCQkJPGFqYXg6ZXZlbnQgaWQ9ImxvZ29fY29uZmlybV9hamF4ZXZlbnQiIHNlcnZlcmNvbW1hbmQ9IlxDb21wb25lbnRzXFdlYnNpdGVcRGVzaWduc1xHZW5lcmF0b3I6OmZpbmFsQW5hbHl6ZUxvZ29Bc3luYygkZGVzaWduX3Nlc3Npb25faWQudmFsdWUsICRsb2dvLnZhbHVlKSIgc2hvd2xvYWRpbmc9ImZhbHNlIiAvPgoJCQkJCQkJCQkJCTxmb3JtczpzdWJtaXRidXR0b24gaWQ9ImxvZ29fYmFjayIgY2xhc3M9InN1Ym1pdExpbmsgc3VibWl0TGluay0tYmFjayIgb25jbGljaz0id2luZG93LkRlc2lnbldpemFyZC5TY3JhcGVUaHJlYWRIYW5kbGVyLmJhY2soKTsgcmV0dXJuIGZhbHNlOyI+QmFjazwvZm9ybXM6c3VibWl0YnV0dG9uPgoJCQkJCQkJCQkJCTxmb3JtczpzdWJtaXRidXR0b24gaWQ9ImxvZ29fbmV4dCIgY2xhc3M9InN1Ym1pdExpbmsiIG9uY2xpY2s9IkRlc2lnbldpemFyZC5Mb2dvcy5yZWFuYWx5emUoKTsgdHJpZ2dlckV2ZW50QWpheCh0aGlzLCAnY2xpY2snLCAnbG9nb19jb25maXJtX2FqYXhldmVudCcpOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2V0dXBfc3RlcHBlcl9wcm9ncmVzc2xpbmtzJykubW92ZU5leHQoKTsgcmV0dXJuIGZhbHNlOyI+CgkJCQkJCQkJCQkJCU5leHQgPHN0YW5kYXJkOmljb24gbGlicmFyeT0iZm9udGF3ZXNvbWUiIGljb25zdHlsZT0ic29saWQiIGljb25uYW1lPSJyaWdodC1sb25nIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiIHZlcnRpY2FsLWFsaWduPSItMi41cHgiIC8+CgkJCQkJCQkJCQkJPC9mb3JtczpzdWJtaXRidXR0b24+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJPC9hamF4OnJlZ2lvbj4KCQkJCQkJCQk8L2Rpdj4KCgkJCQkJCQkJPGRpdiBpZD0idXBsb2FkRXJyb3IiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4KCQkJCQkJCQkJPGJyIC8+CgkJCQkJCQkJCTxoMT5XZSBjb3VsZG4ndCBnZW5lcmF0ZSB5b3VyIHdlYnNpdGUgY29udGVudC48L2gxPgoJCQkJCQkJCQk8cD5SZXR1cm4gdG8gdGhlIEJ1c2luZXNzIHN0ZXAgYW5kIHRyeSBhZ2Fpbi48L3A+CgkJCQkJCQkJCTxmb3JtczpzdWJtaXRidXR0b24gaWQ9ImJ1c2luZXNzX2dlbmVyYXRpb25fcmV0cnkiIGNsYXNzPSJzdWJtaXRMaW5rIHN1Ym1pdExpbmstLWJhY2siIG9uY2xpY2s9IndpbmRvdy5EZXNpZ25XaXphcmQuU2NyYXBlVGhyZWFkSGFuZGxlci5iYWNrKCk7IHJldHVybiBmYWxzZTsiPkJhY2s8L2Zvcm1zOnN1Ym1pdGJ1dHRvbj4KCQkJCQkJCQk8L2Rpdj4KCgkJCQkJCQkJPGFqYXg6ZXZlbnQgaWQ9InNjcmFwZXJfdXBsb2FkX2NvbXBsZXRlX2FqYXhldmVudCIgdXBkYXRlcmVnaW9ucz0ic2NyYXBlcl91cGxvYWRfYWpheHJlZ2lvbiIgc2hvd2xvYWRpbmc9ImZhbHNlIiBvbnN1Y2Nlc3M9IndpbmRvdy5EZXNpZ25XaXphcmQuU2NyYXBlVGhyZWFkSGFuZGxlci5vbkxvZ29zUmVuZGVyZWQoKTsiIC8+CgkJCQkJCQkJPGFqYXg6dGhyZWFkbGlzdGVuZXIgaWQ9InNjcmFwZXJfdGhyZWFkbGlzdGVuZXIiIHRocmVhZGlkPSJbPyAkZG9tYWluX25hbWVfYWpheGV2ZW50LmdldFNlcnZlckNvbW1hbmRSZXN1bHQoKSA/XSIgYXM9InRocmVhZCIKCQkJCQkJCQkJb25jb21wbGV0ZT0id2luZG93LkRlc2lnbldpemFyZC5TY3JhcGVUaHJlYWRIYW5kbGVyLm9uVGhyZWFkQ29tcGxldGVTaG93TG9nb3MoKTsiCgkJCQkJCQkJCW9uZmFpbGVkPSJ3aW5kb3cuRGVzaWduV2l6YXJkLlNjcmFwZVRocmVhZEhhbmRsZXIub25UaHJlYWRGYWlsU2hvd0Vycm9yKCk7IgoJCQkJCQkJCQlpbmNsdWRldGVtcGxhdGU9ImZhbHNlIgoJCQkJCQkJCT4KCQkJCQkJCQkJPGxvZ2ljOmlmIHRlc3Q9IiR0aHJlYWRbJ3RocmVhZF9zdGF0dXMnXSA9PSAncnVubmluZycgJiYgJHRocmVhZFsndGhyZWFkX3Byb2dyZXNzX3N0YXR1cyddID09ICdsb2dvc19yZWFkeSciPgoJCQkJCQkJCQkJPHNjcmlwdD53aW5kb3cuRGVzaWduV2l6YXJkLlNjcmFwZVRocmVhZEhhbmRsZXIub25Mb2dvc1JlYWR5KCk7PC9zY3JpcHQ+CgkJCQkJCQkJCTwvbG9naWM6aWY+CgkJCQkJCQkJCTxsb2dpYzppZiB0ZXN0PSIkdGhyZWFkWyd0aHJlYWRfc3RhdHVzJ10gPT0gJ2ZhaWxlZCcgJiYgXEZyYW1ld29ya1xTeXN0ZW1cRW52aXJvbm1lbnQ6OmdldElzU3lzdGVtRGV2ZWxvcGVyKCkiPgoJCQkJCQkJCQkJWz8gJHRocmVhZFsndGhyZWFkX3Byb2dyZXNzX3N0YXR1cyddID9dCgkJCQkJCQkJCTwvbG9naWM6aWY+CgkJCQkJCQkJPC9hamF4OnRocmVhZGxpc3RlbmVyPgoJCQkJCQkJPC9hamF4OnJlZ2lvbj4KCQkJCQkJPC9kaXY+CgkJCQkJPC9sYXlvdXQ6c3RlcHBlcnBhbmVsPgoKCQkJCQk8IS0tIENob29zZSBDYWxsIHRvIEFjdGlvbiAtLT4KCQkJCQk8bGF5b3V0OnN0ZXBwZXJwYW5lbCB0aXRsZT0iR29hbCI+CgkJCQkJCTxhamF4OmV2ZW50IGlkPSJvcHRpb25fdXBkYXRlX2FqYXhldmVudCIgc2hvd2xvYWRpbmc9ImZhbHNlIiBvblN1Y2Nlc3M9IndpbmRvdy5EZXNpZ25XaXphcmQuU2NyYXBlVGhyZWFkSGFuZGxlci5vblByZWZlcmVuY2VzU2F2ZWQoKTsgd2luZG93LkRlc2lnbldpemFyZC5UZW1wbGF0ZVRodW1ibmFpbE1hbmFnZXIucmVzZXRUaHVtYm5haWxzKCk7IGlmICh3aW5kb3cuT25jb3JkRGVzaWduQWdlbnQpIHdpbmRvdy5PbmNvcmREZXNpZ25BZ2VudC5vblByZWZlcmVuY2VTYXZlZCgpOyBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdyZXNpemUnKSk7IH0sIDUwKTsiIC8+CgkJCQkJCTxhamF4OmV2ZW50IGlkPSJ1cGRhdGVfY29sb3JfcHJlZmVyZW5jZXMiIHVwZGF0ZXJlZ2lvbnM9ImNob29zZV9jb2xvcl9wYWxldHRlIiBzaG93bG9hZGluZz0iZmFsc2UiIG9uU3VjY2Vzcz0id2luZG93LkRlc2lnbldpemFyZC5Db2xvcnMuaW5pdCgpIiAvPgoKCQkJCQkJPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtLWNlbnRlcmVkIj4KCQkJCQkJCTxoMT5XaGF0J3MgdGhlIG1haW4gdGhpbmcgeW91IHdhbnQgdmlzaXRvcnMgdG8gZG8gb24geW91ciBzaXRlPzwvaDE+CgkJCQkJCQk8cD48YnIgLz48L3A+CgkJCQkJCQk8ZGl2IGNsYXNzPSJjYWxsVG9BY3Rpb25Db250YWluZXIiPgoJCQkJCQkJCTxkYXRhOnJlcGVhdGVyIGRhdGFzb3VyY2U9IlxDb21wb25lbnRzXFdlYnNpdGVcRGVzaWduc1xHZW5lcmF0b3JcQ1RBR2VuZXJhdG9yOjpnZXRBbGxDVEEoKSIga2V5YXM9ImN0YV92YWx1ZSIgYXM9ImN0YV9wcm9wZXJ0aWVzIj4KCQkJCQkJCQkJPGxhYmVsIGZvcj0iWz8gbWFrZUhUTUxWYWxpZE5hbWUoJ2N0YV8nICsgJGN0YV92YWx1ZSkgP10iIGNsYXNzPSJjdGFPcHRpb24iPgoJCQkJCQkJCQkJPGZvcm1zOnJhZGlvYnV0dG9uIGlkPSJjdGFfWz8gJGN0YV92YWx1ZSA/XSIgbmFtZT0iY3RhIiB2YWx1ZWNoZWNrZWQ9Ils/ICRjdGFfdmFsdWUgP10iIG9uY2hhbmdlPSJyYWRpb0J1dHRvbk9wdGlvblVwZGF0ZSh0aGlzKTsiIG9uY2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcmV2aWV3LW1vZGFsLWFjY2VwdC1mb3JtLXNpdGV0eXBlJykudmFsdWUgPSAnWz8gJGN0YV92YWx1ZSA/XSciIC8+CgkJCQkJCQkJCQk8c3RhbmRhcmQ6aWNvbiBsaWJyYXJ5PSJbPyAkY3RhX3Byb3BlcnRpZXNbJ2ljb24nXVsnbGlicmFyeSddID9dIiBpY29uc3R5bGU9Ils/ICRjdGFfcHJvcGVydGllc1snaWNvbiddWydpY29uc3R5bGUnXSA/XSIgaWNvbm5hbWU9Ils/ICRjdGFfcHJvcGVydGllc1snaWNvbiddWydpY29ubmFtZSddID9dIiBzdHlsZT0id2lkdGg6IDFlbTsgaGVpZ2h0OiAxZW07IG1hcmdpbi1yaWdodDogNXB4OyIgLz4KCQkJCQkJCQkJCTxzcGFuPls/ICRjdGFfcHJvcGVydGllc1sncGxhaW5fdGV4dCddID9dPC9zcGFuPgoJCQkJCQkJCQk8L2xhYmVsPgoJCQkJCQkJCTwvZGF0YTpyZXBlYXRlcj4KCQkJCQkJCTwvZGl2PgoJCQkJCQkJPHA+PGJyIC8+PC9wPgoJCQkJCQkJPHA+PGJyIC8+PC9wPgoJCQkJCQkJPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj4KCQkJCQkJCQk8Zm9ybXM6c3VibWl0YnV0dG9uIGlkPSJnb2FsX2JhY2siIGNsYXNzPSJzdWJtaXRMaW5rIHN1Ym1pdExpbmstLWJhY2siIGhyZWY9IiMiIG9uY2xpY2s9IndpbmRvdy5EZXNpZ25XaXphcmQuU2NyYXBlVGhyZWFkSGFuZGxlci5iYWNrKCk7IHJldHVybiBmYWxzZTsiPkJhY2s8L2Zvcm1zOnN1Ym1pdGJ1dHRvbj4KCQkJCQkJCQk8Zm9ybXM6c3VibWl0YnV0dG9uIGlkPSJnb2FsX25leHQiIGNsYXNzPSJzdWJtaXRMaW5rIiBocmVmPSIjIiBvbmNsaWNrPSJ3aW5kb3cuRGVzaWduV2l6YXJkLlNjcmFwZVRocmVhZEhhbmRsZXIuY29udGludWVUb0Rlc2lnbih0aGlzKTsgcmV0dXJuIGZhbHNlOyI+CgkJCQkJCQkJCU5leHQgPHN0YW5kYXJkOmljb24gbGlicmFyeT0iZm9udGF3ZXNvbWUiIGljb25zdHlsZT0ic29saWQiIGljb25uYW1lPSJyaWdodC1sb25nIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiIHZlcnRpY2FsLWFsaWduPSItMi41cHgiIC8+CgkJCQkJCQkJPC9mb3JtczpzdWJtaXRidXR0b24+CgkJCQkJCQkJPHAgaWQ9InNjcmFwZUNvbXBsZXRpb25NZXNzYWdlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsgbWFyZ2luLXRvcDogMWVtIj5HZW5lcmF0aW5nIERlc2lnbnMuLi4gUGxlYXNlIHdhaXQgYSBtb21lbnQuPC9wPgoJCQkJCQkJPC9kaXY+CgkJCQkJCTwvZGl2PgoJCQkJCTwvbGF5b3V0OnN0ZXBwZXJwYW5lbD4KCgkJCQkJPCEtLSBDaG9vc2UgYW5kIGN1c3RvbWlzZSB0aGUgZGVzaWduIC0gRGVzaWduV2l6YXJkLlRlbXBsYXRlVGh1bWJuYWlsTWFuYWdlciArIHRoZSBBSSBkZXNpZ24gYWdlbnQgLS0+CgkJCQkJPGxheW91dDpzdGVwcGVycGFuZWwgdGl0bGU9IkRlc2lnbiI+CgkJCQkJCTxkaXYgY2xhc3M9ImRlc2lnbkNoYXRMYXlvdXQiPgoJCQkJCQkJPGRpdiBjbGFzcz0iZGVzaWduQ2hhdExheW91dF9fcHJldmlld3MiPgoJCQkJCQkJCTxoMT5QaWNrIGEgZGVzaWduLCB0aGVuIGNoYXQgdG8gbWFrZSBpdCB5b3Vycy48L2gxPgoKCQkJCQkJCQk8IS0tIERlc2lnbiBQcmV2aWV3cyAtIERlc2lnbldpemFyZC5UZW1wbGF0ZVRodW1ibmFpbE1hbmFnZXIgLS0+CgoJCQkJCQkJCTwhLS0gU3RvcmUgYW4gYXJyYXkgb2YgdGhlIERlc2lnbiBuYW1lcyBpbiBhIGhpZGRlbiBpbnB1dCBmb3IgbGF0ZXIgcmV0cmV2YWwgLS0+CgkJCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImdlbmVyYXRvcl9kZXNpZ25zX2FycmF5IiB2YWx1ZT0iWz8/IGh0bWxzcGVjaWFsY2hhcnMoanNvbl9lbmNvZGUoXENvbXBvbmVudHNcV2Vic2l0ZVxEZXNpZ25zXEdlbmVyYXRvcjo6Z2V0UmFuZG9tRGVzaWduc0ZvclNlc3Npb24oJGRlc2lnbl9zZXNzaW9uX2lkLnZhbHVlLCA4KSkpID8/XSIgLz4KCQkJCQkJCQk8ZGl2IGlkPSJ0ZW1wbGF0ZS1wcmV2aWV3LXdyYXBwZXIiIGNsYXNzPSJ0ZW1wbGF0ZS1wcmV2aWV3LXdyYXBwZXIiPgoJCQkJCQkJCQk8IS0tIFRlbXBsYXRlIHRodW1ibmFpbHMgZ2VuZXJhdGVkIGhlcmUgLS0+CgkJCQkJCQkJPC9kaXY+CgoJCQkJCQkJCTxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlciI+CgkJCQkJCQkJCTxmb3JtczpzdWJtaXRidXR0b24gaWQ9ImRlc2lnbl9iYWNrIiBjbGFzcz0ic3VibWl0TGluayBzdWJtaXRMaW5rLS1iYWNrIiBocmVmPSIjIiBvbmNsaWNrPSJ3aW5kb3cuRGVzaWduV2l6YXJkLlNjcmFwZVRocmVhZEhhbmRsZXIuYmFjaygpOyByZXR1cm4gZmFsc2U7Ij5CYWNrPC9mb3JtczpzdWJtaXRidXR0b24+CgkJCQkJCQkJCTxwPjxiciAvPjwvcD4KCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCTwvZGl2PgoKCQkJCQkJPC9kaXY+CgkJCQkJPC9sYXlvdXQ6c3RlcHBlcnBhbmVsPgoJCQkJPC9sYXlvdXQ6c3RlcHBlcj4KCQkJPC9kaXY+CgkJPC9kaXY+CgoJCTwhLS0gVGhlIG9uLXJhaWxzIGRlc2lnbiBjdXN0b21pc2F0aW9uIGNoYXQgLSBPbmNvcmREZXNpZ25BZ2VudCAoZGVzaWduYWdlbnQuanMpLgoJCQlJdCBpcyBvdXRzaWRlIHRoZSB0cmFuc2Zvcm1lZCBzdGVwcGVyIHNvIGl0IGNhbiBiZSBmaXhlZCBiZXNpZGUgdGhlIHByZXZpZXcsCgkJCWFuZCByZW1haW5zIGhpZGRlbiB1bnRpbCBvbmUgY29uY3JldGUgZGVzaWduIGlzIGV4cGFuZGVkLiAtLT4KCQk8ZGl2IGNsYXNzPSJkZXNpZ25XaXphcmRfX2NoYXREb2NrIj4KCQkJPGFpOmRlc2lnbmFnZW50IGlkPSJkZXNpZ25fYWdlbnQiIC8+CgoJCQk8IS0tIENvbG91ciBwaWNrZXJzIGxpdmUgaGVyZSB1bnRpbCBkZXNpZ25hZ2VudC5qcyBhZG9wdHMgdGhlbSBpbnRvIHRoZSBmaXJzdAoJCQkJY2hhdCBtZXNzYWdlOyB0aGUgYWpheCByZWdpb24gaWQgbXVzdCBzdXJ2aXZlIGZvciB1cGRhdGVfY29sb3JfcHJlZmVyZW5jZXMgLS0+CgkJCTxkaXYgaWQ9ImRlc2lnbl9jaGF0X2NvbG9yc19zdGFzaCIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPgoJCQkJPGFqYXg6cmVnaW9uIGlkPSJjaG9vc2VfY29sb3JfcGFsZXR0ZSI+CgkJCQkJPGRpdiBjbGFzcz0iY29sb3JQaWNrZXJzQ29udGFpbmVyIj4KCQkJCQkJPGRpdiBpZD0iY29sb3JQaWNrZXItLXByaW1hcnkiIGNsYXNzPSJjb2xvclBpY2tlciI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJjb2xvclBpY2tlcl9fY2lyY2xlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiBhcmlhLWxhYmVsPSJDaG9vc2UgcHJpbWFyeSBjb2xvdXIiIGFyaWEtaGFzcG9wdXA9ImRpYWxvZyIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPjwvZGl2PgoJCQkJCQkJPHNwYW4+UHJpbWFyeTwvc3Bhbj4KCQkJCQkJPC9kaXY+CgkJCQkJCTxkaXYgaWQ9ImNvbG9yUGlja2VyLS1zZWNvbmRhcnkiIGNsYXNzPSJjb2xvclBpY2tlciI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJjb2xvclBpY2tlcl9fY2lyY2xlIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiBhcmlhLWxhYmVsPSJDaG9vc2Ugc2Vjb25kYXJ5IGNvbG91ciIgYXJpYS1oYXNwb3B1cD0iZGlhbG9nIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+PC9kaXY+CgkJCQkJCQk8c3Bhbj5TZWNvbmRhcnk8L3NwYW4+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJPC9hamF4OnJlZ2lvbj4KCQkJPC9kaXY+CgkJPC9kaXY+CgoJCTwhLS0gRXNjYXBlIGhhdGNoIGZvciBkZXZlbG9wZXJzLCBwaW5uZWQgYm90dG9tLWxlZnQgb2YgdGhlIGNvbnRlbnQgYXJlYQoJCQkob3V0c2lkZSB0aGUgc3RlcHBlciDigJQgaXRzIHNsaWRlIHRyYW5zZm9ybXMgd291bGQgaGlqYWNrIHRoZSBwb3NpdGlvbmluZykgLS0+CgkJPGRpdiBjbGFzcz0iZGVzaWduV2l6YXJkX19jb2RlTGluayI+CgkJCTxzdGFuZGFyZDpsaW5rIG9uY2xpY2tzZXJ2ZXI9Im5ld0JsYW5rRGVzaWduKCkiPkNyZWF0ZSB3aXRoIGNvZGUgaW5zdGVhZCA8c3RhbmRhcmQ6aWNvbiBsaWJyYXJ5PSJmb250YXdlc29tZSIgaWNvbnN0eWxlPSJzb2xpZCIgaWNvbm5hbWU9InJpZ2h0LWxvbmciIHN0eWxlPSJ3aWR0aDogMTFweDsgaGVpZ2h0OiAxMXB4OyIgLz48L3N0YW5kYXJkOmxpbms+CgkJPC9kaXY+Cgk8L2Rpdj4KPC9mb3Jtczpmb3JtPgoKCjwhLS0gVGVtcGxhdGUgUHJldmlldyBNb2RhbCAtIERlc2lnbldpemFyZC5QcmV2aWV3TW9kYWwgLS0+CjxkaXYgaWQ9InByZXZpZXctbW9kYWwiPgoJPGRpdiBpZD0icHJldmlldy1tb2RhbC1wYW5lbCI+CgkJPCEtLSBTdGF0aW9uYXJ5IHdyYXBwZXIgd2hpY2ggY2FuIHNjcm9sbCB0byB2aWV3IGl0cyBjb250ZW50cyAtLT4KCQk8ZGl2IGlkPSJwcmV2aWV3LW1vZGFsLWNvbnRlbnQtd3JhcHBlciIgY2xhc3M9InByZXZpZXctbW9kYWwtY29udGVudC13cmFwcGVyIj4KCQkJPGlmcmFtZSBpZD0icHJldmlldy1tb2RhbC1pZnJhbWUiIHNjcm9sbGluZz0ibm8iPjwvaWZyYW1lPgoJCTwvZGl2PgoKCQk8ZGl2IGlkPSJwcmV2aWV3LW1vZGFsLWJ1dHRvbi1jb250YWluZXIiIGNsYXNzPSJwcmV2aWV3LW1vZGFsLWJ1dHRvbi1jb250YWluZXIiPgoJCQk8ZGl2IGlkPSJwcmV2aWV3LW1vZGFsLWJ1dHRvbi1jcm9zcyIgY2xhc3M9InByZXZpZXctbW9kYWwtYnV0dG9uIj4KCQkJCTxkaXY+CgkJCQkJPHNwYW4+Q2xvc2UgUHJldmlldzwvc3Bhbj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQkJPGRpdiBpZD0icHJldmlldy1tb2RhbC1idXR0b24tdGljayIgY2xhc3M9InByZXZpZXctbW9kYWwtYnV0dG9uIj4KCQkJCTxkaXY+CgkJCQkJPHNwYW4+VXNlIHRoaXMgRGVzaWduPC9zcGFuPgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2PgoKPCEtLSBTdWNjZXNzIERpYWxvZyAtLT4KCjwhLS0gU3RhcnRzIG9mZiBoaWRkZW4gYW5kIGlzIHJldmVhbGVkIHdoZW4gdGhlIHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgd2l6YXJkIGFuZCBoYXMgYWNjZXB0ZWQgdGhlIGRlc2lnbi4gLS0+Cjxmb3JtczpkaWFsb2dib3ggaWQ9InN1Y2Nlc3NfZGlhbG9nIiB3aWR0aD0iNjAwIj4KCTxsb2dpYzppZiB0ZXN0PSJcQ29tcG9uZW50c1xXZWJzaXRlXFBhZ2VzOjpnZXRDb3VudCgpID4gMiI+CgoKCQk8c3R5bGU+CgkJCS5zdWNjZXNzTW9kYWxfX2NyZWF0ZU9wdGlvbgoJCQl7CgkJCQliYWNrZ3JvdW5kOiAjZjRmNGY1OwoJCQkJY29sb3I6ICMzMzM7CgkJCQlkaXNwbGF5OiBibG9jazsKCQkJCXBhZGRpbmc6IDFlbTsKCQkJCW1hcmdpbi1ib3R0b206IDFweDsKCQkJfQoKCQkJLnN1Y2Nlc3NNb2RhbF9fY3JlYXRlT3B0aW9uIHN2ZwoJCQl7CgkJCQl3aWR0aDogMzJweDsKCQkJCWhlaWdodDogMzJweDsKCQkJCWZsb2F0OiBsZWZ0OwoJCQkJbWFyZ2luLXRvcDogNXB4OwoJCQkJbWFyZ2luLXJpZ2h0OiAyMHB4OwoJCQkJY29sb3I6ICM5MDkwOTA7CgkJCX0KCQk8L3N0eWxlPgoKCQk8ZGl2IGlkPSJzdWNjZXNzTW9kYWxfX2NyZWF0ZU9wdGlvbnMiPgoJCQk8aDE+WW91IGFscmVhZHkgaGF2ZSBhIHdlYnNpdGUmaGVsbGlwOzwvaDE+CgkJCTxwPkhvdyB3b3VsZCB5b3UgbGlrZSB0byBjcmVhdGUgdGhpcyBuZXcgZGVzaWduPzwvcD4KCgkJCTxhIGNsYXNzPSJzdWNjZXNzTW9kYWxfX2NyZWF0ZU9wdGlvbiIgaHJlZj0iIyIgb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2Nlc3NNb2RhbF9fY3JlYXRlT3B0aW9ucycpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWNjZXNzTW9kYWxfX2RlbGV0ZUZvcm0nKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2Nlc3NNb2RhbF9fZGVsZXRlRm9ybV9jb25maXJtJykuZm9jdXMoKTsgcmV0dXJuIGZhbHNlOyI+CgkJCQk8c3ZnPjx1c2UgeGxpbms6aHJlZj0iI2FjdGlvbi1kZWxldGUiPjwvdXNlPjwvc3ZnPgoJCQkJPGJpZz5EZWxldGUgZXhpc3RpbmcgcGFnZXM8L2JpZz48YnIgLz4KCQkJCVdpcGUgYWxsIHBhZ2VzIGFuZCBzdGFydCBmcmVzaC4KCQkJPC9hPgoKCQkJPGEgY2xhc3M9InN1Y2Nlc3NNb2RhbF9fY3JlYXRlT3B0aW9uIiBocmVmPSIjIiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3VjY2Vzc01vZGFsX19jcmVhdGVPcHRpb25zJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2Nlc3NNb2RhbF9fY3JlYXRlTmV3Rm9ybScpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOyByZXR1cm4gZmFsc2U7Ij4KCQkJCTxzdmc+PHVzZSB4bGluazpocmVmPSIjYWN0aW9uLW5ldyI+PC91c2U+PC9zdmc+CgkJCQk8YmlnPkNyZWF0ZSBuZXcgcGFnZXM8L2JpZz48YnIgLz4KCQkJCUEgbmV3IHRyZWUgb2Ygb2ZmbGluZSBwYWdlcyB3aWxsIGJlIGNyZWF0ZWQgYXQgWz8gZ2V0TmV3V2Vic2l0ZUJhc2VQYWdlKCkgP10uCgkJCTwvYT4KCQk8L2Rpdj4KCgkJPGRpdiBpZD0ic3VjY2Vzc01vZGFsX19kZWxldGVGb3JtIiBzdHlsZT0iZGlzcGxheTogbm9uZSI+CgkJCTxoMT5EZWxldGUgRXhpc3RpbmcgUGFnZXMgYW5kIFJlY3JlYXRlJmhlbGxpcDs8L2gxPgoJCQk8cD48c3BhbiBjbGFzcz0iYmFkIj5BbGwgeW91ciBkZXNpZ25zIGFuZCBwYWdlcyB3aWxsIGJlIGRlbGV0ZWQgYW5kIHJlcGxhY2VkLjxiciAvPgoJCQkJUGxlYXNlIHR5cGUgQ09ORklSTSBpbiB0aGUgYm94IGJlbG93Ljwvc3Bhbj48L3A+CgkJCTxmb3Jtczpmb3JtPgoJCQkJPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj4KCQkJCQk8Zm9ybXM6ZWRpdGJveCBpZD0ic3VjY2Vzc01vZGFsX19kZWxldGVGb3JtX2NvbmZpcm0iIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXNpemU6IDE2cHQ7IGxldHRlci1zcGFjaW5nOiA2cHg7IHRleHQtYWxpZ246IGNlbnRlciIgcGxhY2Vob2xkZXI9IkNPTkZJUk0iIHZhbGlkYXRpb25zPSJtYW5kYXRvcnkiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgoJCQkJCTxiciAvPjxiciAvPgoKCQkJCQk8Zm9ybXM6c3VibWl0YnV0dG9uIGNsYXNzPSJzdWJtaXRMaW5rIHN1Ym1pdExpbmstLWJhY2siIG9uY2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWNjZXNzTW9kYWxfX2NyZWF0ZU9wdGlvbnMnKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWNjZXNzTW9kYWxfX2RlbGV0ZUZvcm0nKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOyByZXR1cm4gZmFsc2U7Ij4KCQkJCQkJQmFjawoJCQkJCTwvZm9ybXM6c3VibWl0YnV0dG9uPgoJCQkJCTxmb3JtczpzdWJtaXRidXR0b24gb25jbGljaz0ibGV0IG5Db25maXJtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2Nlc3NNb2RhbF9fZGVsZXRlRm9ybV9jb25maXJtJyk7IGlmIChuQ29uZmlybS52YWx1ZS50b0xvd2VyQ2FzZSgpICE9PSAnY29uZmlybScpIHsgbkNvbmZpcm0uZm9jdXMoKTsgcmV0dXJuIGZhbHNlOyB9IiBvbmNsaWNrc2VydmVyPSJkZWxldGVBbmRSZWNyZWF0ZSgkc3VjY2Vzc01vZGFsX19kZWxldGVGb3JtX2NvbmZpcm0udmFsdWUsICRkZXNpZ25fZ2VuZXJhdG9yX2Zvcm0uZ2V0VmFsdWVzRm9yQ29tcG9uZW50KCkpOyI+RGVsZXRlIGFuZCBSZWNyZWF0ZTwvZm9ybXM6c3VibWl0YnV0dG9uPgoJCQkJPC9kaXY+CgkJCTwvZm9ybXM6Zm9ybT4KCQk8L2Rpdj4KCgkJPGRpdiBpZD0ic3VjY2Vzc01vZGFsX19jcmVhdGVOZXdGb3JtIiBzdHlsZT0iZGlzcGxheTogbm9uZSI+CgkJCTxoMT5DcmVhdGUgTmV3IERlc2lnbiBhbmQgUGFnZXMmaGVsbGlwOzwvaDE+CgkJCTxwPkEgbmV3IHNldCBvZiBvZmZsaW5lIHBhZ2VzIHdpbGwgYmUgY3JlYXRlZCBhdCBbPyBnZXROZXdXZWJzaXRlQmFzZVBhZ2UoKSA/XTwvcD4KCQkJPGJyIC8+CgkJCTxmb3Jtczpmb3JtPgoJCQkJPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj4KCQkJCQk8Zm9ybXM6c3VibWl0YnV0dG9uIGNsYXNzPSJzdWJtaXRMaW5rIHN1Ym1pdExpbmstLWJhY2siIG9uY2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWNjZXNzTW9kYWxfX2NyZWF0ZU9wdGlvbnMnKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWNjZXNzTW9kYWxfX2NyZWF0ZU5ld0Zvcm0nKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOyByZXR1cm4gZmFsc2U7Ij4KCQkJCQkJQmFjawoJCQkJCTwvZm9ybXM6c3VibWl0YnV0dG9uPgoJCQkJCTxmb3JtczpzdWJtaXRidXR0b24gb25jbGlja3NlcnZlcj0iY3JlYXRlRGVzaWduQW5kUmVkaXJlY3QoJGRlc2lnbl9nZW5lcmF0b3JfZm9ybS5nZXRWYWx1ZXNGb3JDb21wb25lbnQoKSwgZ2V0TmV3V2Vic2l0ZUJhc2VQYWdlKCkpOyI+Q3JlYXRlIE5ldyBEZXNpZ24gYW5kIFBhZ2VzPC9mb3JtczpzdWJtaXRidXR0b24+CgkJCQk8L2Rpdj4KCQkJPC9mb3Jtczpmb3JtPgoJCTwvZGl2PgoJPC9sb2dpYzppZj4KCTxsb2dpYzplbHNlPgoJCTxmb3Jtczpmb3JtPgoJCQk8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij4KCQkJCTxoMSBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzMzMzsgbWFyZ2luLXRvcDogMWVtOyBmb250LXNpemU6IDI2cHgiPllvdXIgRGVzaWduIGhhcyBiZWVuIFNlbGVjdGVkITwvaDE+CgkJCQk8ZGl2IGNsYXNzPSJzdWNjZXNzTW9kYWxfX2FuaW1hdGlvbkNvbnRhaW5lciI+CgkJCQkJPGRpdiBjbGFzcz0ic3VjY2Vzc01vZGFsX19hbmltYXRpb25Db250YWluZXJfX3NjcmVlblNoaW5lIj48L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJzdWNjZXNzTW9kYWxfX2FuaW1hdGlvbkNvbnRhaW5lcl9fc2NyZWVuU3RhbmQiPjwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9InN1Y2Nlc3NNb2RhbF9fYW5pbWF0aW9uQ29udGFpbmVyX19hbmltYXRpb25Db21wb25lbnQgc3VjY2Vzc01vZGFsX19hbmltYXRpb25Db250YWluZXJfX2FuaW1hdGlvbkNvbXBvbmVudC0tY2lyY2xlIj48L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJzdWNjZXNzTW9kYWxfX2FuaW1hdGlvbkNvbnRhaW5lcl9fYW5pbWF0aW9uQ29tcG9uZW50IHN1Y2Nlc3NNb2RhbF9fYW5pbWF0aW9uQ29udGFpbmVyX19hbmltYXRpb25Db21wb25lbnQtLXRvcFJlY3QiPjwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9InN1Y2Nlc3NNb2RhbF9fYW5pbWF0aW9uQ29udGFpbmVyX19hbmltYXRpb25Db21wb25lbnQgc3VjY2Vzc01vZGFsX19hbmltYXRpb25Db250YWluZXJfX2FuaW1hdGlvbkNvbXBvbmVudC0tYm90dG9tUmVjdCI+CgkJCQkJCTxkaXYgY2xhc3M9InN1Y2Nlc3NNb2RhbF9fYW5pbWF0aW9uQ29udGFpbmVyX190ZXh0UGxhY2Vob2xkZXIgc3VjY2Vzc01vZGFsX19hbmltYXRpb25Db250YWluZXJfX3RleHRQbGFjZWhvbGRlci0tZmlyc3QiPjwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJzdWNjZXNzTW9kYWxfX2FuaW1hdGlvbkNvbnRhaW5lcl9fdGV4dFBsYWNlaG9sZGVyIHN1Y2Nlc3NNb2RhbF9fYW5pbWF0aW9uQ29udGFpbmVyX190ZXh0UGxhY2Vob2xkZXItLXNob3J0IHN1Y2Nlc3NNb2RhbF9fYW5pbWF0aW9uQ29udGFpbmVyX190ZXh0UGxhY2Vob2xkZXItLXNlY29uZCI+PC9kaXY+CgkJCQkJCTxkaXYgY2xhc3M9InN1Y2Nlc3NNb2RhbF9fYW5pbWF0aW9uQ29udGFpbmVyX190ZXh0UGxhY2Vob2xkZXIgc3VjY2Vzc01vZGFsX19hbmltYXRpb25Db250YWluZXJfX3RleHRQbGFjZWhvbGRlci0tbWVkaXVtIHN1Y2Nlc3NNb2RhbF9fYW5pbWF0aW9uQ29udGFpbmVyX190ZXh0UGxhY2Vob2xkZXItLXRoaXJkIj48L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ic3VjY2Vzc01vZGFsX19hbmltYXRpb25Db250YWluZXJfX3RleHRQbGFjZWhvbGRlciBzdWNjZXNzTW9kYWxfX2FuaW1hdGlvbkNvbnRhaW5lcl9fdGV4dFBsYWNlaG9sZGVyLS1mb3VydGgiPjwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJzdWNjZXNzTW9kYWxfX2FuaW1hdGlvbkNvbnRhaW5lcl9fdGV4dFBsYWNlaG9sZGVyIHN1Y2Nlc3NNb2RhbF9fYW5pbWF0aW9uQ29udGFpbmVyX190ZXh0UGxhY2Vob2xkZXItLW1lZGl1bSBzdWNjZXNzTW9kYWxfX2FuaW1hdGlvbkNvbnRhaW5lcl9fdGV4dFBsYWNlaG9sZGVyLS1maWZ0aCI+PC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCgkJCQk8ZGl2IGNsYXNzPSJzdWNjZXNzTW9kYWxfX2J1dHRvbkNvbnRhaW5lciI+CgkJCQkJPGZvcm1zOnN1Ym1pdGJ1dHRvbiBjbGFzcz0ic3VibWl0TGluayBzdWJtaXRMaW5rLS1iYWNrIiBvbmNsaWNrPSJEaWFsb2dCb3guY2xvc2UoJ3N1Y2Nlc3NfZGlhbG9nJyk7IHJldHVybiBmYWxzZTsiPgoJCQkJCQlCYWNrCgkJCQkJPC9mb3JtczpzdWJtaXRidXR0b24+CgkJCQkJPGZvcm1zOnN1Ym1pdGJ1dHRvbiBpZD0iY3JlYXRlX2Zvcm1fZ2VuZXJhdGUiIGNsYXNzPSJzdWJtaXRMaW5rIiBvbmNsaWNrc2VydmVyPSJjcmVhdGVEZXNpZ25BbmRSZWRpcmVjdCgkZGVzaWduX2dlbmVyYXRvcl9mb3JtLmdldFZhbHVlc0ZvckNvbXBvbmVudCgpKTsiIG9uY2xpY2tkaXNhYmxldmFsdWU9InRydWUiPgoJCQkJCQlHZW5lcmF0ZSBteSBzaXRlIDxzdGFuZGFyZDppY29uIGxpYnJhcnk9ImZvbnRhd2Vzb21lIiBpY29uc3R5bGU9InNvbGlkIiBpY29ubmFtZT0icmlnaHQtbG9uZyIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IiB2ZXJ0aWNhbC1hbGlnbj0iLTIuNXB4IiAvPgoJCQkJCTwvZm9ybXM6c3VibWl0YnV0dG9uPgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCTwvZm9ybXM6Zm9ybT4KCTwvbG9naWM6ZWxzZT4KPC9mb3JtczpkaWFsb2dib3g+CgoKPHNjcmlwdD4KCWZ1bmN0aW9uIHJhZGlvQnV0dG9uT3B0aW9uVXBkYXRlKG5DaGFuZ2VkUkIpCgl7CgkJbGV0IGFyclJCID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXRbbmFtZT0iJyArIG5DaGFuZ2VkUkIuZ2V0QXR0cmlidXRlKCduYW1lJykgKyAnIl0nKTsKCgkJZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJSQi5sZW5ndGg7IGkrKykKCQl7CgkJCWxldCBuUkIgPSBhcnJSQltpXTsKCQkJblJCLmNoZWNrZWQgPyBuUkIucGFyZW50Tm9kZS5wYXJlbnROb2RlLnBhcmVudE5vZGUuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKSA6IG5SQi5wYXJlbnROb2RlLnBhcmVudE5vZGUucGFyZW50Tm9kZS5jbGFzc0xpc3QucmVtb3ZlKCdzZWxlY3RlZCcpOwoJCX0KCX0KPC9zY3JpcHQ+Cg==