Brands - Special Needs Resources
Scroll to Top
BEGIN WPACU PLUGIN JSON HARDCODEDeyJsaW5rX2FuZF9zdHlsZV90YWdzIjp7IjAiOiI8c3R5bGU+aW1nOmlzKFtzaXplcz1cImF1dG9cIiBpXSwgW3NpemVzXj1cImF1dG8sXCIgaV0pIHsgY29udGFpbi1pbnRyaW5zaWMtc2l6ZTogMzAwMHB4IDE1MDBweCB9PFwvc3R5bGU+IiwiMSI6IjxzdHlsZT5pbWcjd3BzdGF0c3tkaXNwbGF5Om5vbmV9PFwvc3R5bGU+IiwiMiI6IjxzdHlsZT5cblx0XHRcdC5uby1qcyBpbWcubGF6eWxvYWQge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHRmaWd1cmUud3AtYmxvY2staW1hZ2UgaW1nLmxhenlsb2FkaW5nIHtcblx0XHRcdFx0bWluLXdpZHRoOiAxNTBweDtcblx0XHRcdH1cblxuXHRcdFx0Lmxhenlsb2FkLFxuXHRcdFx0Lmxhenlsb2FkaW5nIHtcblx0XHRcdFx0LS1zbXVzaC1wbGFjZWhvbGRlci13aWR0aDogMTAwcHg7XG5cdFx0XHRcdC0tc211c2gtcGxhY2Vob2xkZXItYXNwZWN0LXJhdGlvOiAxXC8xO1xuXHRcdFx0XHR3aWR0aDogdmFyKC0tc211c2gtcGxhY2Vob2xkZXItd2lkdGgpICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGFzcGVjdC1yYXRpbzogdmFyKC0tc211c2gtcGxhY2Vob2xkZXItYXNwZWN0LXJhdGlvKSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQubGF6eWxvYWQsIC5sYXp5bG9hZGluZyB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR9XG5cblx0XHRcdC5sYXp5bG9hZGVkIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcztcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMG1zO1xuXHRcdFx0fVxuXG5cdFx0XHRcdFx0PFwvc3R5bGU+IiwiNCI6IjxzdHlsZT4ucmVjZW50Y29tbWVudHMgYXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O3BhZGRpbmc6MCAhaW1wb3J0YW50O21hcmdpbjowICFpbXBvcnRhbnQ7fTxcL3N0eWxlPiIsIjUiOiI8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgaHJlZj1odHRwczpcL1wvYXNzZXRzLnJldmlld3MuaW9cL2Nzc1wvd2lkZ2V0c1wvY2Fyb3VzZWwtd2lkZ2V0LmNzcz9fdD0yMDIzMDcxMzAxPiIsIjYiOiI8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgaHJlZj1odHRwczpcL1wvYXNzZXRzLnJldmlld3MuaW9cL2ljb25mb250XC9yZXZpZXdzaW8taWNvbnNcL3N0eWxlLmNzcz9fdD0yMDIzMDcxMzAxPiIsIjciOiI8bGluayBtZWRpYT1cInByaW50XCIgb25sb2FkPVwidGhpcy5vbmxvYWQ9bnVsbDt0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnbWVkaWEnKTtcIiB0eXBlPVwidGV4dFwvY3NzXCIgaHJlZj1cImh0dHBzOlwvXC9zcGVjaWFsbmVlZHNyZXNvdXJjZXMuY29tLmF1XC93cC1jb250ZW50XC9wbHVnaW5zXC9iYi1wbHVnaW5cL2ZvbnRzXC9mb250YXdlc29tZVwvNS4xNS40XC9jc3NcL2FsbC5taW4uY3NzP3Zlcj0yLjUuNS41XCIgcmVsPVwic3R5bGVzaGVldFwiIHR5cGU9XCJzdHlsZXNoZWV0XCIgXC8+In0sInNjcmlwdF9zcmNfb3JfaW5saW5lX2FuZF9ub3NjcmlwdF9pbmxpbmVfdGFncyI6WyI8bm9zY3JpcHQ+PGltZyBoZWlnaHQ9XCIxXCIgd2lkdGg9XCIxXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIlxuICBzcmM9XCJodHRwczpcL1wvd3d3LmZhY2Vib29rLmNvbVwvdHI/aWQ9MTQ5MTA3MTg3NzU1Njg3JmV2PVBhZ2VWaWV3Jm5vc2NyaXB0PTFcIlxuXC8+PFwvbm9zY3JpcHQ+IiwiPHNjcmlwdD5cbndpbmRvdy5KZXRwYWNrU2NyaXB0RGF0YSA9IHtcInNpdGVcIjp7XCJpY29uXCI6XCJodHRwczpcL1wvaTAud3AuY29tXC9zcGVjaWFsbmVlZHNyZXNvdXJjZXMuY29tLmF1XC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIxXC8wM1wvZmF2LnBuZz93PTY0XFx1MDAyNnNzbD0xXCIsXCJ0aXRsZVwiOlwiU3BlY2lhbCBOZWVkcyBSZXNvdXJjZXNcIixcImhvc3RcIjpcInVua25vd25cIixcImlzX3dwY29tX3BsYXRmb3JtXCI6ZmFsc2V9fTtcbjxcL3NjcmlwdD4iLCI8c2NyaXB0IGRhdGEtY2Zhc3luYz1cImZhbHNlXCIgZGF0YS1wYWdlc3BlZWQtbm8tZGVmZXI+XG5cdHZhciBndG00d3BfZGF0YWxheWVyX25hbWUgPSBcImRhdGFMYXllclwiO1xuXHR2YXIgZGF0YUxheWVyID0gZGF0YUxheWVyIHx8IFtdO1xuXHRjb25zdCBndG00d3BfdXNlX3NrdV9pbnN0ZWFkID0gZmFsc2U7XG5cdGNvbnN0IGd0bTR3cF9jdXJyZW5jeSA9ICdBVUQnO1xuXHRjb25zdCBndG00d3BfcHJvZHVjdF9wZXJfaW1wcmVzc2lvbiA9IDEwO1xuXHRjb25zdCBndG00d3BfY2xlYXJfZWNvbW1lcmNlID0gZmFsc2U7XG48XC9zY3JpcHQ+IiwiPHNjcmlwdD53aW5kb3cuX3djYSA9IHdpbmRvdy5fd2NhIHx8IFtdOzxcL3NjcmlwdD4iLCI8c2NyaXB0PnJlYWRNb3JlQXJncyA9IFtdPFwvc2NyaXB0PiIsIjxzY3JpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIj5cblx0XHRcdFx0RVhQTV9WRVJTSU9OPTMuNDg4O0VYUE1fQUpBWF9VUkw9J2h0dHBzOlwvXC9zcGVjaWFsbmVlZHNyZXNvdXJjZXMuY29tLmF1XC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAnO1xuXHRcdFx0ZnVuY3Rpb24geXJtQWRkRXZlbnQoZWxlbWVudCwgZXZlbnROYW1lLCBmbikge1xuXHRcdFx0XHRpZiAoZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKVxuXHRcdFx0XHRcdGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGZuLCBmYWxzZSk7XG5cdFx0XHRcdGVsc2UgaWYgKGVsZW1lbnQuYXR0YWNoRXZlbnQpXG5cdFx0XHRcdFx0ZWxlbWVudC5hdHRhY2hFdmVudCgnb24nICsgZXZlbnROYW1lLCBmbik7XG5cdFx0XHR9XG5cdFx0XHQ8XC9zY3JpcHQ+IiwiPHNjcmlwdCBkYXRhLWNmYXN5bmM9XCJmYWxzZVwiIGRhdGEtcGFnZXNwZWVkLW5vLWRlZmVyPlxuXHR2YXIgZGF0YUxheWVyX2NvbnRlbnQgPSB7XCJwYWdlUG9zdFR5cGVcIjpcInBhZ2VcIixcInBhZ2VQb3N0VHlwZTJcIjpcInNpbmdsZS1wYWdlXCIsXCJwYWdlUG9zdEF1dGhvclwiOlwiVHJhY2V5IFxcXC8gUGV0ZXJcIn07XG5cdGRhdGFMYXllci5wdXNoKCBkYXRhTGF5ZXJfY29udGVudCApO1xuPFwvc2NyaXB0PiIsIjxzY3JpcHQgZGF0YS1jZmFzeW5jPVwiZmFsc2VcIiBkYXRhLXBhZ2VzcGVlZC1uby1kZWZlcj5cbihmdW5jdGlvbih3LGQscyxsLGkpe3dbbF09d1tsXXx8W107d1tsXS5wdXNoKHsnZ3RtLnN0YXJ0Jzpcbm5ldyBEYXRlKCkuZ2V0VGltZSgpLGV2ZW50OidndG0uanMnfSk7dmFyIGY9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXSxcbmo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycmbD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPVxuJ1wvXC93d3cuZ29vZ2xldGFnbWFuYWdlci5jb21cL2d0bS5qcz9pZD0nK2krZGw7Zi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqLGYpO1xufSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdkYXRhTGF5ZXInLCdHVE0tVFhLWko4MycpO1xuPFwvc2NyaXB0PiIsIjxzY3JpcHQ+XG5cdFx0KGZ1bmN0aW9uKGgsbyx0LGosYSxyKXtcblx0XHRcdGguaGo9aC5oanx8ZnVuY3Rpb24oKXsoaC5oai5xPWguaGoucXx8W10pLnB1c2goYXJndW1lbnRzKX07XG5cdFx0XHRoLl9oalNldHRpbmdzPXtoamlkOjM0Mjk5OTgsaGpzdjo1fTtcblx0XHRcdGE9by5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuXHRcdFx0cj1vLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3IuYXN5bmM9MTtcblx0XHRcdHIuc3JjPXQraC5faGpTZXR0aW5ncy5oamlkK2oraC5faGpTZXR0aW5ncy5oanN2O1xuXHRcdFx0YS5hcHBlbmRDaGlsZChyKTtcblx0XHR9KSh3aW5kb3csZG9jdW1lbnQsJ1wvXC9zdGF0aWMuaG90amFyLmNvbVwvY1wvaG90amFyLScsJy5qcz9zdj0nKTtcblx0XHQ8XC9zY3JpcHQ+IiwiPHNjcmlwdD5cblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc05hbWUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NOYW1lLnJlcGxhY2UoJ25vLWpzJywgJ2pzJyk7XG5cdFx0PFwvc2NyaXB0PiIsIjxub3NjcmlwdD48c3R5bGU+Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeXsgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9PFwvc3R5bGU+PFwvbm9zY3JpcHQ+IiwiPHNjcmlwdCB0eXBlPSd0ZXh0XC9qYXZhc2NyaXB0Jz5cbiFmdW5jdGlvbihmLGIsZSx2LG4sdCxzKXtpZihmLmZicSlyZXR1cm47bj1mLmZicT1mdW5jdGlvbigpe24uY2FsbE1ldGhvZD9cbm4uY2FsbE1ldGhvZC5hcHBseShuLGFyZ3VtZW50cyk6bi5xdWV1ZS5wdXNoKGFyZ3VtZW50cyl9O2lmKCFmLl9mYnEpZi5fZmJxPW47XG5uLnB1c2g9bjtuLmxvYWRlZD0hMDtuLnZlcnNpb249JzIuMCc7bi5xdWV1ZT1bXTt0PWIuY3JlYXRlRWxlbWVudChlKTt0LmFzeW5jPSEwO1xudC5zcmM9djtzPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSlbMF07cy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0LHMpfSh3aW5kb3csXG5kb2N1bWVudCwnc2NyaXB0JywnaHR0cHM6XC9cL2Nvbm5lY3QuZmFjZWJvb2submV0XC9lbl9VU1wvZmJldmVudHMuanM/dj1uZXh0Jyk7XG48XC9zY3JpcHQ+IiwiPHNjcmlwdCB0eXBlPSd0ZXh0XC9qYXZhc2NyaXB0Jz52YXIgdXJsID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICc/b2I9b3Blbi1icmlkZ2UnO1xuICAgICAgICAgICAgZmJxKCdzZXQnLCAnb3BlbmJyaWRnZScsICc0NDU3OTk1MTgzOTU5NjInLCB1cmwpO1xuZmJxKCdpbml0JywgJzQ0NTc5OTUxODM5NTk2MicsIHt9LCB7XG4gICAgXCJhZ2VudFwiOiBcIndvcmRwcmVzcy02LjguMi00LjEuNFwiXG59KTxcL3NjcmlwdD4iLCI8c2NyaXB0IHR5cGU9J3RleHRcL2phdmFzY3JpcHQnPlxuICAgIGZicSgndHJhY2snLCAnUGFnZVZpZXcnLCBbXSk7XG4gIDxcL3NjcmlwdD4iLCI8c2NyaXB0ICB0eXBlPVwidGV4dFwvamF2YXNjcmlwdFwiPlxuXHRcdFx0XHQhZnVuY3Rpb24oZixiLGUsdixuLHQscyl7aWYoZi5mYnEpcmV0dXJuO249Zi5mYnE9ZnVuY3Rpb24oKXtuLmNhbGxNZXRob2Q/XG5cdFx0XHRcdFx0bi5jYWxsTWV0aG9kLmFwcGx5KG4sYXJndW1lbnRzKTpuLnF1ZXVlLnB1c2goYXJndW1lbnRzKX07aWYoIWYuX2ZicSlmLl9mYnE9bjtcblx0XHRcdFx0XHRuLnB1c2g9bjtuLmxvYWRlZD0hMDtuLnZlcnNpb249JzIuMCc7bi5xdWV1ZT1bXTt0PWIuY3JlYXRlRWxlbWVudChlKTt0LmFzeW5jPSEwO1xuXHRcdFx0XHRcdHQuc3JjPXY7cz1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpWzBdO3MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCxzKX0od2luZG93LFxuXHRcdFx0XHRcdGRvY3VtZW50LCdzY3JpcHQnLCdodHRwczpcL1wvY29ubmVjdC5mYWNlYm9vay5uZXRcL2VuX1VTXC9mYmV2ZW50cy5qcycpO1xuXHRcdFx0PFwvc2NyaXB0PiIsIjxzY3JpcHQgIHR5cGU9XCJ0ZXh0XC9qYXZhc2NyaXB0XCI+XG5cblx0XHRcdFx0ZmJxKCdpbml0JywgJzQ0NTc5OTUxODM5NTk2MicsIHt9LCB7XG4gICAgXCJhZ2VudFwiOiBcIndvb2NvbW1lcmNlXzMtMTAuMC4yLTMuNS41XCJcbn0pO1xuXG5cdFx0XHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoICdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0XC9cLyBJbnNlcnQgcGxhY2Vob2xkZXIgZm9yIGV2ZW50cyBpbmplY3RlZCB3aGVuIGEgcHJvZHVjdCBpcyBhZGRlZCB0byB0aGUgY2FydCB0aHJvdWdoIEFKQVguXG5cdFx0XHRcdFx0ZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEhUTUwoICdiZWZvcmVlbmQnLCAnPGRpdiBjbGFzcz1cXFwid2MtZmFjZWJvb2stcGl4ZWwtZXZlbnQtcGxhY2Vob2xkZXJcXFwiPjxcL2Rpdj4nICk7XG5cdFx0XHRcdH0sIGZhbHNlICk7XG5cblx0XHRcdDxcL3NjcmlwdD4iLCI8bm9zY3JpcHQ+PGlmcmFtZSBkYXRhLXNyYz1cImh0dHBzOlwvXC93d3cuZ29vZ2xldGFnbWFuYWdlci5jb21cL25zLmh0bWw/aWQ9R1RNLVRYS1pKODNcIiBoZWlnaHQ9XCIwXCIgd2lkdGg9XCIwXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW5cIiBhcmlhLWhpZGRlbj1cInRydWVcIiBzcmM9XCJkYXRhOmltYWdlXC9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTVNJZ2FHVnBaMmgwUFNJeElpQjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaVBqd3ZjM1puUGc9PVwiIGNsYXNzPVwibGF6eWxvYWRcIiBkYXRhLWxvYWQtbW9kZT1cIjFcIj48XC9pZnJhbWU+PFwvbm9zY3JpcHQ+IiwiPG5vc2NyaXB0PlxuPGltZyBoZWlnaHQ9XCIxXCIgd2lkdGg9XCIxXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmVcIiBhbHQ9XCJmYnB4XCJcbnNyYz1cImh0dHBzOlwvXC93d3cuZmFjZWJvb2suY29tXC90cj9pZD00NDU3OTk1MTgzOTU5NjImZXY9UGFnZVZpZXcmbm9zY3JpcHQ9MVwiIFwvPlxuPFwvbm9zY3JpcHQ+IiwiPHNjcmlwdCBhc3luYyBzcmM9XCJodHRwczpcL1wvd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tXC9ndGFnXC9qcz9pZD1BVy04MDQ0MTg4NzNcIj5cbjxcL3NjcmlwdD4iLCI8c2NyaXB0PlxuICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTtcbiAgZnVuY3Rpb24gZ3RhZygpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyk7fVxuICBndGFnKCdqcycsIG5ldyBEYXRlKCkpO1xuXG4gIGd0YWcoJ2NvbmZpZycsICdBVy04MDQ0MTg4NzMnKTtcbjxcL3NjcmlwdD4iLCI8c2NyaXB0IHNyYz1odHRwczpcL1wvd2lkZ2V0LnJldmlld3MuaW9cL2Nhcm91c2VsLWlubGluZS1pZnJhbWVsZXNzXC9kaXN0LmpzP190PTIwMjMwNzEzMDE+PFwvc2NyaXB0PiIsIjxzY3JpcHQ+XHJcblxyXG48ZGl2IGNsYXNzPVwicmV2aWV3cy1pby1mbG9hdGluZy13aWRnZXRcIlxyXG4gIHdpZGdldC1pZD1cInFzUTJ4TnZMRmluM0VPWldcIlxyXG5kYXRhLXN0b3JlLW5hbWU9d3d3LnNwZWNpYWxuZWVkc3Jlc291cmNlcy5jb20uYXVcclxubGFuZz1cImVuXCJcclxuPjxcL2Rpdj5cclxuPHNjcmlwdCBzcmM9J1wvXC93aWRnZXQucmV2aWV3cy5pb1wvbW9kZXJuLXdpZGdldHNcL2Zsb2F0aW5nLmpzJz48XC9zY3JpcHQ+IiwiPHNjcmlwdCB0eXBlPSd0ZXh0XC9qYXZhc2NyaXB0Jz5cbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciggJ3dwY2Y3bWFpbHNlbnQnLCBmdW5jdGlvbiggZXZlbnQgKSB7XG4gICAgICAgIGlmKCBcImZiX3B4bF9jb2RlXCIgaW4gZXZlbnQuZGV0YWlsLmFwaVJlc3BvbnNlKXtcbiAgICAgICAgICAgIGV2YWwoZXZlbnQuZGV0YWlsLmFwaVJlc3BvbnNlLmZiX3B4bF9jb2RlKTtcbiAgICAgICAgfVxuICAgICAgICB9LCBmYWxzZSApO1xuICAgIDxcL3NjcmlwdD4iLCI8bm9zY3JpcHQ+XG5cdFx0XHRcdDxpbWdcblx0XHRcdFx0XHRoZWlnaHQ9XCIxXCJcblx0XHRcdFx0XHR3aWR0aD1cIjFcIlxuXHRcdFx0XHRcdHN0eWxlPVwiZGlzcGxheTpub25lXCJcblx0XHRcdFx0XHRhbHQ9XCJmYnB4XCJcblx0XHRcdFx0XHRzcmM9XCJodHRwczpcL1wvd3d3LmZhY2Vib29rLmNvbVwvdHI/aWQ9NDQ1Nzk5NTE4Mzk1OTYyJmV2PVBhZ2VWaWV3Jm5vc2NyaXB0PTFcIlxuXHRcdFx0XHRcLz5cblx0XHRcdDxcL25vc2NyaXB0PiIsIjxzY3JpcHQ+XG5cdFx0XHRcLyh0cmlkZW50fG1zaWUpXC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJmRvY3VtZW50LmdldEVsZW1lbnRCeUlkJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJoYXNoY2hhbmdlXCIsZnVuY3Rpb24oKXt2YXIgdCxlPWxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpO1wvXltBLXowLTlfLV0rJFwvLnRlc3QoZSkmJih0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpKSYmKFwvXig/OmF8c2VsZWN0fGlucHV0fGJ1dHRvbnx0ZXh0YXJlYSkkXC9pLnRlc3QodC50YWdOYW1lKXx8KHQudGFiSW5kZXg9LTEpLHQuZm9jdXMoKSl9LCExKTtcblx0XHRcdDxcL3NjcmlwdD4iLCI8c2NyaXB0IHR5cGU9XCJ0ZXh0XC9qYXZhc2NyaXB0XCI+XG5qUXVlcnkoZnVuY3Rpb24oJCkgeyBcblwvKiBXb29Db21tZXJjZSBGYWNlYm9vayBJbnRlZ3JhdGlvbiBFdmVudCBUcmFja2luZyAqXC9cbmZicSgnc2V0JywgJ2FnZW50JywgJ3dvb2NvbW1lcmNlXzMtMTAuMC4yLTMuNS41JywgJzQ0NTc5OTUxODM5NTk2MicpO1xuZmJxKCd0cmFjaycsICdQYWdlVmlldycsIHtcbiAgICBcInNvdXJjZVwiOiBcIndvb2NvbW1lcmNlXzNcIixcbiAgICBcInZlcnNpb25cIjogXCIxMC4wLjJcIixcbiAgICBcInBsdWdpblZlcnNpb25cIjogXCIzLjUuNVwiLFxuICAgIFwidXNlcl9kYXRhXCI6IHt9XG59LCB7XG4gICAgXCJldmVudElEXCI6IFwiZTUzMTE1YzgtMGRhOS00ZTM5LTg0MGYtZGQwOWY4YjgzNWRjXCJcbn0pO1xuIH0pO1xuPFwvc2NyaXB0PiIsIjxzY3JpcHQ+IWZ1bmN0aW9uKG5hbWUsZGVmaW5pdGlvbil7aWYodHlwZW9mIG1vZHVsZSE9J3VuZGVmaW5lZCcmJm1vZHVsZS5leHBvcnRzKW1vZHVsZS5leHBvcnRzPWRlZmluaXRpb24oKVxuZWxzZSBpZih0eXBlb2YgZGVmaW5lPT0nZnVuY3Rpb24nJiZkZWZpbmUuYW1kKWRlZmluZShuYW1lLGRlZmluaXRpb24pXG5lbHNlIHRoaXNbbmFtZV09ZGVmaW5pdGlvbigpfSgnYm93c2VyJyxmdW5jdGlvbigpe3ZhciB0PXRydWVcbmZ1bmN0aW9uIGRldGVjdCh1YSl7ZnVuY3Rpb24gZ2V0Rmlyc3RNYXRjaChyZWdleCl7dmFyIG1hdGNoPXVhLm1hdGNoKHJlZ2V4KTtyZXR1cm4obWF0Y2gmJm1hdGNoLmxlbmd0aD4xJiZtYXRjaFsxXSl8fCcnO31cbmZ1bmN0aW9uIGdldFNlY29uZE1hdGNoKHJlZ2V4KXt2YXIgbWF0Y2g9dWEubWF0Y2gocmVnZXgpO3JldHVybihtYXRjaCYmbWF0Y2gubGVuZ3RoPjEmJm1hdGNoWzJdKXx8Jyc7fVxudmFyIGlvc2RldmljZT1nZXRGaXJzdE1hdGNoKFwvKGlwb2R8aXBob25lfGlwYWQpXC9pKS50b0xvd2VyQ2FzZSgpLGxpa2VBbmRyb2lkPVwvbGlrZSBhbmRyb2lkXC9pLnRlc3QodWEpLGFuZHJvaWQ9IWxpa2VBbmRyb2lkJiZcL2FuZHJvaWRcL2kudGVzdCh1YSksbmV4dXNNb2JpbGU9XC9uZXh1c1xccypbMC02XVxccypcL2kudGVzdCh1YSksbmV4dXNUYWJsZXQ9IW5leHVzTW9iaWxlJiZcL25leHVzXFxzKlswLTldK1wvaS50ZXN0KHVhKSxjaHJvbWVvcz1cL0NyT1NcLy50ZXN0KHVhKSxzaWxrPVwvc2lsa1wvaS50ZXN0KHVhKSxzYWlsZmlzaD1cL3NhaWxmaXNoXC9pLnRlc3QodWEpLHRpemVuPVwvdGl6ZW5cL2kudGVzdCh1YSksd2Vib3M9XC8od2VifGhwdylvc1wvaS50ZXN0KHVhKSx3aW5kb3dzcGhvbmU9XC93aW5kb3dzIHBob25lXC9pLnRlc3QodWEpLHdpbmRvd3M9IXdpbmRvd3NwaG9uZSYmXC93aW5kb3dzXC9pLnRlc3QodWEpLG1hYz0haW9zZGV2aWNlJiYhc2lsayYmXC9tYWNpbnRvc2hcL2kudGVzdCh1YSksbGludXg9IWFuZHJvaWQmJiFzYWlsZmlzaCYmIXRpemVuJiYhd2Vib3MmJlwvbGludXhcL2kudGVzdCh1YSksZWRnZVZlcnNpb249Z2V0Rmlyc3RNYXRjaChcL2VkZ2VcXFwvKFxcZCsoXFwuXFxkKyk/KVwvaSksdmVyc2lvbklkZW50aWZpZXI9Z2V0Rmlyc3RNYXRjaChcL3ZlcnNpb25cXFwvKFxcZCsoXFwuXFxkKyk/KVwvaSksdGFibGV0PVwvdGFibGV0XC9pLnRlc3QodWEpLG1vYmlsZT0hdGFibGV0JiZcL1teLV1tb2JpXC9pLnRlc3QodWEpLHhib3g9XC94Ym94XC9pLnRlc3QodWEpLHJlc3VsdFxuaWYoXC9vcGVyYXxvcHJ8b3Bpb3NcL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonT3BlcmEnLG9wZXJhOnQsdmVyc2lvbjp2ZXJzaW9uSWRlbnRpZmllcnx8Z2V0Rmlyc3RNYXRjaChcLyg/Om9wZXJhfG9wcnxvcGlvcylbXFxzXFxcL10oXFxkKyhcXC5cXGQrKT8pXC9pKX19XG5lbHNlIGlmKFwvY29hc3RcL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonT3BlcmEgQ29hc3QnLGNvYXN0OnQsdmVyc2lvbjp2ZXJzaW9uSWRlbnRpZmllcnx8Z2V0Rmlyc3RNYXRjaChcLyg/OmNvYXN0KVtcXHNcXFwvXShcXGQrKFxcLlxcZCspPylcL2kpfX1cbmVsc2UgaWYoXC95YWJyb3dzZXJcL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonWWFuZGV4IEJyb3dzZXInLHlhbmRleGJyb3dzZXI6dCx2ZXJzaW9uOnZlcnNpb25JZGVudGlmaWVyfHxnZXRGaXJzdE1hdGNoKFwvKD86eWFicm93c2VyKVtcXHNcXFwvXShcXGQrKFxcLlxcZCspPylcL2kpfX1cbmVsc2UgaWYoXC91Y2Jyb3dzZXJcL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonVUMgQnJvd3NlcicsdWNicm93c2VyOnQsdmVyc2lvbjpnZXRGaXJzdE1hdGNoKFwvKD86dWNicm93c2VyKVtcXHNcXFwvXShcXGQrKD86XFwuXFxkKykrKVwvaSl9fVxuZWxzZSBpZihcL214aW9zXC9pLnRlc3QodWEpKXtyZXN1bHQ9e25hbWU6J01heHRob24nLG1heHRob246dCx2ZXJzaW9uOmdldEZpcnN0TWF0Y2goXC8oPzpteGlvcylbXFxzXFxcL10oXFxkKyg/OlxcLlxcZCspKylcL2kpfX1cbmVsc2UgaWYoXC9lcGlwaGFueVwvaS50ZXN0KHVhKSl7cmVzdWx0PXtuYW1lOidFcGlwaGFueScsZXBpcGhhbnk6dCx2ZXJzaW9uOmdldEZpcnN0TWF0Y2goXC8oPzplcGlwaGFueSlbXFxzXFxcL10oXFxkKyg/OlxcLlxcZCspKylcL2kpfX1cbmVsc2UgaWYoXC9wdWZmaW5cL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonUHVmZmluJyxwdWZmaW46dCx2ZXJzaW9uOmdldEZpcnN0TWF0Y2goXC8oPzpwdWZmaW4pW1xcc1xcXC9dKFxcZCsoPzpcXC5cXGQrKT8pXC9pKX19XG5lbHNlIGlmKFwvc2xlaXBuaXJcL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonU2xlaXBuaXInLHNsZWlwbmlyOnQsdmVyc2lvbjpnZXRGaXJzdE1hdGNoKFwvKD86c2xlaXBuaXIpW1xcc1xcXC9dKFxcZCsoPzpcXC5cXGQrKSspXC9pKX19XG5lbHNlIGlmKFwvay1tZWxlb25cL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonSy1NZWxlb24nLGtNZWxlb246dCx2ZXJzaW9uOmdldEZpcnN0TWF0Y2goXC8oPzprLW1lbGVvbilbXFxzXFxcL10oXFxkKyg/OlxcLlxcZCspKylcL2kpfX1cbmVsc2UgaWYod2luZG93c3Bob25lKXtyZXN1bHQ9e25hbWU6J1dpbmRvd3MgUGhvbmUnLHdpbmRvd3NwaG9uZTp0fVxuaWYoZWRnZVZlcnNpb24pe3Jlc3VsdC5tc2VkZ2U9dFxucmVzdWx0LnZlcnNpb249ZWRnZVZlcnNpb259XG5lbHNle3Jlc3VsdC5tc2llPXRcbnJlc3VsdC52ZXJzaW9uPWdldEZpcnN0TWF0Y2goXC9pZW1vYmlsZVxcXC8oXFxkKyhcXC5cXGQrKT8pXC9pKX19XG5lbHNlIGlmKFwvbXNpZXx0cmlkZW50XC9pLnRlc3QodWEpKXtyZXN1bHQ9e25hbWU6J0ludGVybmV0IEV4cGxvcmVyJyxtc2llOnQsdmVyc2lvbjpnZXRGaXJzdE1hdGNoKFwvKD86bXNpZSB8cnY6KShcXGQrKFxcLlxcZCspPylcL2kpfX1lbHNlIGlmKGNocm9tZW9zKXtyZXN1bHQ9e25hbWU6J0Nocm9tZScsY2hyb21lb3M6dCxjaHJvbWVCb29rOnQsY2hyb21lOnQsdmVyc2lvbjpnZXRGaXJzdE1hdGNoKFwvKD86Y2hyb21lfGNyaW9zfGNybW8pXFxcLyhcXGQrKFxcLlxcZCspPylcL2kpfX1lbHNlIGlmKFwvY2hyb21lLis/IGVkZ2VcL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonTWljcm9zb2Z0IEVkZ2UnLG1zZWRnZTp0LHZlcnNpb246ZWRnZVZlcnNpb259fVxuZWxzZSBpZihcL3ZpdmFsZGlcL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonVml2YWxkaScsdml2YWxkaTp0LHZlcnNpb246Z2V0Rmlyc3RNYXRjaChcL3ZpdmFsZGlcXFwvKFxcZCsoXFwuXFxkKyk/KVwvaSl8fHZlcnNpb25JZGVudGlmaWVyfX1cbmVsc2UgaWYoc2FpbGZpc2gpe3Jlc3VsdD17bmFtZTonU2FpbGZpc2gnLHNhaWxmaXNoOnQsdmVyc2lvbjpnZXRGaXJzdE1hdGNoKFwvc2FpbGZpc2hcXHM/YnJvd3NlclxcXC8oXFxkKyhcXC5cXGQrKT8pXC9pKX19XG5lbHNlIGlmKFwvc2VhbW9ua2V5XFxcL1wvaS50ZXN0KHVhKSl7cmVzdWx0PXtuYW1lOidTZWFNb25rZXknLHNlYW1vbmtleTp0LHZlcnNpb246Z2V0Rmlyc3RNYXRjaChcL3NlYW1vbmtleVxcXC8oXFxkKyhcXC5cXGQrKT8pXC9pKX19XG5lbHNlIGlmKFwvZmlyZWZveHxpY2V3ZWFzZWx8Znhpb3NcL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonRmlyZWZveCcsZmlyZWZveDp0LHZlcnNpb246Z2V0Rmlyc3RNYXRjaChcLyg/OmZpcmVmb3h8aWNld2Vhc2VsfGZ4aW9zKVsgXFxcL10oXFxkKyhcXC5cXGQrKT8pXC9pKX1cbmlmKFwvXFwoKG1vYmlsZXx0YWJsZXQpO1teXFwpXSpydjpbXFxkXFwuXStcXClcL2kudGVzdCh1YSkpe3Jlc3VsdC5maXJlZm94b3M9dH19XG5lbHNlIGlmKHNpbGspe3Jlc3VsdD17bmFtZTonQW1hem9uIFNpbGsnLHNpbGs6dCx2ZXJzaW9uOmdldEZpcnN0TWF0Y2goXC9zaWxrXFxcLyhcXGQrKFxcLlxcZCspPylcL2kpfX1cbmVsc2UgaWYoXC9waGFudG9tXC9pLnRlc3QodWEpKXtyZXN1bHQ9e25hbWU6J1BoYW50b21KUycscGhhbnRvbTp0LHZlcnNpb246Z2V0Rmlyc3RNYXRjaChcL3BoYW50b21qc1xcXC8oXFxkKyhcXC5cXGQrKT8pXC9pKX19XG5lbHNlIGlmKFwvc2xpbWVyanNcL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonU2xpbWVySlMnLHNsaW1lcjp0LHZlcnNpb246Z2V0Rmlyc3RNYXRjaChcL3NsaW1lcmpzXFxcLyhcXGQrKFxcLlxcZCspPylcL2kpfX1cbmVsc2UgaWYoXC9ibGFja2JlcnJ5fFxcYmJiXFxkK1wvaS50ZXN0KHVhKXx8XC9yaW1cXHN0YWJsZXRcL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonQmxhY2tCZXJyeScsYmxhY2tiZXJyeTp0LHZlcnNpb246dmVyc2lvbklkZW50aWZpZXJ8fGdldEZpcnN0TWF0Y2goXC9ibGFja2JlcnJ5W1xcZF0rXFxcLyhcXGQrKFxcLlxcZCspPylcL2kpfX1cbmVsc2UgaWYod2Vib3Mpe3Jlc3VsdD17bmFtZTonV2ViT1MnLHdlYm9zOnQsdmVyc2lvbjp2ZXJzaW9uSWRlbnRpZmllcnx8Z2V0Rmlyc3RNYXRjaChcL3coPzplYik/b3Nicm93c2VyXFxcLyhcXGQrKFxcLlxcZCspPylcL2kpfTtpZihcL3RvdWNocGFkXFxcL1wvaS50ZXN0KHVhKSl7cmVzdWx0LnRvdWNocGFkPXQ7fX1cbmVsc2UgaWYoXC9iYWRhXC9pLnRlc3QodWEpKXtyZXN1bHQ9e25hbWU6J0JhZGEnLGJhZGE6dCx2ZXJzaW9uOmdldEZpcnN0TWF0Y2goXC9kb2xmaW5cXFwvKFxcZCsoXFwuXFxkKyk/KVwvaSl9O31cbmVsc2UgaWYodGl6ZW4pe3Jlc3VsdD17bmFtZTonVGl6ZW4nLHRpemVuOnQsdmVyc2lvbjpnZXRGaXJzdE1hdGNoKFwvKD86dGl6ZW5cXHM/KT9icm93c2VyXFxcLyhcXGQrKFxcLlxcZCspPylcL2kpfHx2ZXJzaW9uSWRlbnRpZmllcn07fVxuZWxzZSBpZihcL3F1cHppbGxhXC9pLnRlc3QodWEpKXtyZXN1bHQ9e25hbWU6J1F1cFppbGxhJyxxdXB6aWxsYTp0LHZlcnNpb246Z2V0Rmlyc3RNYXRjaChcLyg/OnF1cHppbGxhKVtcXHNcXFwvXShcXGQrKD86XFwuXFxkKykrKVwvaSl8fHZlcnNpb25JZGVudGlmaWVyfX1cbmVsc2UgaWYoXC9jaHJvbWl1bVwvaS50ZXN0KHVhKSl7cmVzdWx0PXtuYW1lOidDaHJvbWl1bScsY2hyb21pdW06dCx2ZXJzaW9uOmdldEZpcnN0TWF0Y2goXC8oPzpjaHJvbWl1bSlbXFxzXFxcL10oXFxkKyg/OlxcLlxcZCspPylcL2kpfHx2ZXJzaW9uSWRlbnRpZmllcn19XG5lbHNlIGlmKFwvY2hyb21lfGNyaW9zfGNybW9cL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonQ2hyb21lJyxjaHJvbWU6dCx2ZXJzaW9uOmdldEZpcnN0TWF0Y2goXC8oPzpjaHJvbWV8Y3Jpb3N8Y3JtbylcXFwvKFxcZCsoXFwuXFxkKyk/KVwvaSl9fVxuZWxzZSBpZihhbmRyb2lkKXtyZXN1bHQ9e25hbWU6J0FuZHJvaWQnLHZlcnNpb246dmVyc2lvbklkZW50aWZpZXJ9fVxuZWxzZSBpZihcL3NhZmFyaXxhcHBsZXdlYmtpdFwvaS50ZXN0KHVhKSl7cmVzdWx0PXtuYW1lOidTYWZhcmknLHNhZmFyaTp0fVxuaWYodmVyc2lvbklkZW50aWZpZXIpe3Jlc3VsdC52ZXJzaW9uPXZlcnNpb25JZGVudGlmaWVyfX1cbmVsc2UgaWYoaW9zZGV2aWNlKXtyZXN1bHQ9e25hbWU6aW9zZGV2aWNlPT0naXBob25lJz8naVBob25lJzppb3NkZXZpY2U9PSdpcGFkJz8naVBhZCc6J2lQb2QnfVxuaWYodmVyc2lvbklkZW50aWZpZXIpe3Jlc3VsdC52ZXJzaW9uPXZlcnNpb25JZGVudGlmaWVyfX1cbmVsc2UgaWYoXC9nb29nbGVib3RcL2kudGVzdCh1YSkpe3Jlc3VsdD17bmFtZTonR29vZ2xlYm90Jyxnb29nbGVib3Q6dCx2ZXJzaW9uOmdldEZpcnN0TWF0Y2goXC9nb29nbGVib3RcXFwvKFxcZCsoXFwuXFxkKykpXC9pKXx8dmVyc2lvbklkZW50aWZpZXJ9fVxuZWxzZXtyZXN1bHQ9e25hbWU6Z2V0Rmlyc3RNYXRjaChcL14oLiopXFxcLyguKikgXC8pLHZlcnNpb246Z2V0U2Vjb25kTWF0Y2goXC9eKC4qKVxcXC8oLiopIFwvKX07fVxuaWYoIXJlc3VsdC5tc2VkZ2UmJlwvKGFwcGxlKT93ZWJraXRcL2kudGVzdCh1YSkpe2lmKFwvKGFwcGxlKT93ZWJraXRcXFwvNTM3XFwuMzZcL2kudGVzdCh1YSkpe3Jlc3VsdC5uYW1lPXJlc3VsdC5uYW1lfHxcIkJsaW5rXCJcbnJlc3VsdC5ibGluaz10fWVsc2V7cmVzdWx0Lm5hbWU9cmVzdWx0Lm5hbWV8fFwiV2Via2l0XCJcbnJlc3VsdC53ZWJraXQ9dH1cbmlmKCFyZXN1bHQudmVyc2lvbiYmdmVyc2lvbklkZW50aWZpZXIpe3Jlc3VsdC52ZXJzaW9uPXZlcnNpb25JZGVudGlmaWVyfX1lbHNlIGlmKCFyZXN1bHQub3BlcmEmJlwvZ2Vja29cXFwvXC9pLnRlc3QodWEpKXtyZXN1bHQubmFtZT1yZXN1bHQubmFtZXx8XCJHZWNrb1wiXG5yZXN1bHQuZ2Vja289dFxucmVzdWx0LnZlcnNpb249cmVzdWx0LnZlcnNpb258fGdldEZpcnN0TWF0Y2goXC9nZWNrb1xcXC8oXFxkKyhcXC5cXGQrKT8pXC9pKX1cbmlmKCFyZXN1bHQubXNlZGdlJiYoYW5kcm9pZHx8cmVzdWx0LnNpbGspKXtyZXN1bHQuYW5kcm9pZD10fWVsc2UgaWYoaW9zZGV2aWNlKXtyZXN1bHRbaW9zZGV2aWNlXT10XG5yZXN1bHQuaW9zPXR9ZWxzZSBpZihtYWMpe3Jlc3VsdC5tYWM9dH1lbHNlIGlmKHhib3gpe3Jlc3VsdC54Ym94PXR9ZWxzZSBpZih3aW5kb3dzKXtyZXN1bHQud2luZG93cz10fWVsc2UgaWYobGludXgpe3Jlc3VsdC5saW51eD10fVxudmFyIG9zVmVyc2lvbj0nJztpZihyZXN1bHQud2luZG93c3Bob25lKXtvc1ZlcnNpb249Z2V0Rmlyc3RNYXRjaChcL3dpbmRvd3MgcGhvbmUgKD86b3MpP1xccz8oXFxkKyhcXC5cXGQrKSopXC9pKTt9ZWxzZSBpZihpb3NkZXZpY2Upe29zVmVyc2lvbj1nZXRGaXJzdE1hdGNoKFwvb3MgKFxcZCsoW19cXHNdXFxkKykqKSBsaWtlIG1hYyBvcyB4XC9pKTtvc1ZlcnNpb249b3NWZXJzaW9uLnJlcGxhY2UoXC9bX1xcc11cL2csJy4nKTt9ZWxzZSBpZihhbmRyb2lkKXtvc1ZlcnNpb249Z2V0Rmlyc3RNYXRjaChcL2FuZHJvaWRbIFxcXC8tXShcXGQrKFxcLlxcZCspKilcL2kpO31lbHNlIGlmKHJlc3VsdC53ZWJvcyl7b3NWZXJzaW9uPWdldEZpcnN0TWF0Y2goXC8oPzp3ZWJ8aHB3KW9zXFxcLyhcXGQrKFxcLlxcZCspKilcL2kpO31lbHNlIGlmKHJlc3VsdC5ibGFja2JlcnJ5KXtvc1ZlcnNpb249Z2V0Rmlyc3RNYXRjaChcL3JpbVxcc3RhYmxldFxcc29zXFxzKFxcZCsoXFwuXFxkKykqKVwvaSk7fWVsc2UgaWYocmVzdWx0LmJhZGEpe29zVmVyc2lvbj1nZXRGaXJzdE1hdGNoKFwvYmFkYVxcXC8oXFxkKyhcXC5cXGQrKSopXC9pKTt9ZWxzZSBpZihyZXN1bHQudGl6ZW4pe29zVmVyc2lvbj1nZXRGaXJzdE1hdGNoKFwvdGl6ZW5bXFxcL1xcc10oXFxkKyhcXC5cXGQrKSopXC9pKTt9XG5pZihvc1ZlcnNpb24pe3Jlc3VsdC5vc3ZlcnNpb249b3NWZXJzaW9uO31cbnZhciBvc01ham9yVmVyc2lvbj1vc1ZlcnNpb24uc3BsaXQoJy4nKVswXTtpZih0YWJsZXR8fG5leHVzVGFibGV0fHxpb3NkZXZpY2U9PSdpcGFkJ3x8KGFuZHJvaWQmJihvc01ham9yVmVyc2lvbj09M3x8KG9zTWFqb3JWZXJzaW9uPj00JiYhbW9iaWxlKSkpfHxyZXN1bHQuc2lsayl7cmVzdWx0LnRhYmxldD10fWVsc2UgaWYobW9iaWxlfHxpb3NkZXZpY2U9PSdpcGhvbmUnfHxpb3NkZXZpY2U9PSdpcG9kJ3x8YW5kcm9pZHx8bmV4dXNNb2JpbGV8fHJlc3VsdC5ibGFja2JlcnJ5fHxyZXN1bHQud2Vib3N8fHJlc3VsdC5iYWRhKXtyZXN1bHQubW9iaWxlPXR9XG5pZihyZXN1bHQubXNlZGdlfHwocmVzdWx0Lm1zaWUmJnJlc3VsdC52ZXJzaW9uPj0xMCl8fChyZXN1bHQueWFuZGV4YnJvd3NlciYmcmVzdWx0LnZlcnNpb24+PTE1KXx8KHJlc3VsdC52aXZhbGRpJiZyZXN1bHQudmVyc2lvbj49MS4wKXx8KHJlc3VsdC5jaHJvbWUmJnJlc3VsdC52ZXJzaW9uPj0yMCl8fChyZXN1bHQuZmlyZWZveCYmcmVzdWx0LnZlcnNpb24+PTIwLjApfHwocmVzdWx0LnNhZmFyaSYmcmVzdWx0LnZlcnNpb24+PTYpfHwocmVzdWx0Lm9wZXJhJiZyZXN1bHQudmVyc2lvbj49MTAuMCl8fChyZXN1bHQuaW9zJiZyZXN1bHQub3N2ZXJzaW9uJiZyZXN1bHQub3N2ZXJzaW9uLnNwbGl0KFwiLlwiKVswXT49Nil8fChyZXN1bHQuYmxhY2tiZXJyeSYmcmVzdWx0LnZlcnNpb24+PTEwLjEpfHwocmVzdWx0LmNocm9taXVtJiZyZXN1bHQudmVyc2lvbj49MjApKXtyZXN1bHQuYT10O31cbmVsc2UgaWYoKHJlc3VsdC5tc2llJiZyZXN1bHQudmVyc2lvbjwxMCl8fChyZXN1bHQuY2hyb21lJiZyZXN1bHQudmVyc2lvbjwyMCl8fChyZXN1bHQuZmlyZWZveCYmcmVzdWx0LnZlcnNpb248MjAuMCl8fChyZXN1bHQuc2FmYXJpJiZyZXN1bHQudmVyc2lvbjw2KXx8KHJlc3VsdC5vcGVyYSYmcmVzdWx0LnZlcnNpb248MTAuMCl8fChyZXN1bHQuaW9zJiZyZXN1bHQub3N2ZXJzaW9uJiZyZXN1bHQub3N2ZXJzaW9uLnNwbGl0KFwiLlwiKVswXTw2KXx8KHJlc3VsdC5jaHJvbWl1bSYmcmVzdWx0LnZlcnNpb248MjApKXtyZXN1bHQuYz10fWVsc2UgcmVzdWx0Lng9dFxucmV0dXJuIHJlc3VsdH1cbnZhciBib3dzZXI9ZGV0ZWN0KHR5cGVvZiBuYXZpZ2F0b3IhPT0ndW5kZWZpbmVkJz9uYXZpZ2F0b3IudXNlckFnZW50OicnKVxuYm93c2VyLnRlc3Q9ZnVuY3Rpb24oYnJvd3Nlckxpc3Qpe2Zvcih2YXIgaT0wO2k8YnJvd3Nlckxpc3QubGVuZ3RoOysraSl7dmFyIGJyb3dzZXJJdGVtPWJyb3dzZXJMaXN0W2ldO2lmKHR5cGVvZiBicm93c2VySXRlbT09PSdzdHJpbmcnKXtpZihicm93c2VySXRlbSBpbiBib3dzZXIpe3JldHVybiB0cnVlO319fVxucmV0dXJuIGZhbHNlO31cbmZ1bmN0aW9uIGdldFZlcnNpb25QcmVjaXNpb24odmVyc2lvbil7cmV0dXJuIHZlcnNpb24uc3BsaXQoXCIuXCIpLmxlbmd0aDt9XG5mdW5jdGlvbiBtYXAoYXJyLGl0ZXJhdG9yKXt2YXIgcmVzdWx0PVtdLGk7aWYoQXJyYXkucHJvdG90eXBlLm1hcCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcnIsaXRlcmF0b3IpO31cbmZvcihpPTA7aTxhcnIubGVuZ3RoO2krKyl7cmVzdWx0LnB1c2goaXRlcmF0b3IoYXJyW2ldKSk7fVxucmV0dXJuIHJlc3VsdDt9XG5mdW5jdGlvbiBjb21wYXJlVmVyc2lvbnModmVyc2lvbnMpe3ZhciBwcmVjaXNpb249TWF0aC5tYXgoZ2V0VmVyc2lvblByZWNpc2lvbih2ZXJzaW9uc1swXSksZ2V0VmVyc2lvblByZWNpc2lvbih2ZXJzaW9uc1sxXSkpO3ZhciBjaHVua3M9bWFwKHZlcnNpb25zLGZ1bmN0aW9uKHZlcnNpb24pe3ZhciBkZWx0YT1wcmVjaXNpb24tZ2V0VmVyc2lvblByZWNpc2lvbih2ZXJzaW9uKTt2ZXJzaW9uPXZlcnNpb24rbmV3IEFycmF5KGRlbHRhKzEpLmpvaW4oXCIuMFwiKTtyZXR1cm4gbWFwKHZlcnNpb24uc3BsaXQoXCIuXCIpLGZ1bmN0aW9uKGNodW5rKXtyZXR1cm4gbmV3IEFycmF5KDIwLWNodW5rLmxlbmd0aCkuam9pbihcIjBcIikrY2h1bms7fSkucmV2ZXJzZSgpO30pO3doaWxlKC0tcHJlY2lzaW9uPj0wKXtpZihjaHVua3NbMF1bcHJlY2lzaW9uXT5jaHVua3NbMV1bcHJlY2lzaW9uXSl7cmV0dXJuIDE7fVxuZWxzZSBpZihjaHVua3NbMF1bcHJlY2lzaW9uXT09PWNodW5rc1sxXVtwcmVjaXNpb25dKXtpZihwcmVjaXNpb249PT0wKXtyZXR1cm4gMDt9fVxuZWxzZXtyZXR1cm4tMTt9fX1cbmZ1bmN0aW9uIGlzVW5zdXBwb3J0ZWRCcm93c2VyKG1pblZlcnNpb25zLHN0cmljdE1vZGUsdWEpe3ZhciBfYm93c2VyPWJvd3NlcjtpZih0eXBlb2Ygc3RyaWN0TW9kZT09PSdzdHJpbmcnKXt1YT1zdHJpY3RNb2RlO3N0cmljdE1vZGU9dm9pZCgwKTt9XG5pZihzdHJpY3RNb2RlPT09dm9pZCgwKSl7c3RyaWN0TW9kZT1mYWxzZTt9XG5pZih1YSl7X2Jvd3Nlcj1kZXRlY3QodWEpO31cbnZhciB2ZXJzaW9uPVwiXCIrX2Jvd3Nlci52ZXJzaW9uO2Zvcih2YXIgYnJvd3NlciBpbiBtaW5WZXJzaW9ucyl7aWYobWluVmVyc2lvbnMuaGFzT3duUHJvcGVydHkoYnJvd3Nlcikpe2lmKF9ib3dzZXJbYnJvd3Nlcl0pe3JldHVybiBjb21wYXJlVmVyc2lvbnMoW3ZlcnNpb24sbWluVmVyc2lvbnNbYnJvd3Nlcl1dKTwwO319fVxucmV0dXJuIHN0cmljdE1vZGU7fVxuZnVuY3Rpb24gY2hlY2sobWluVmVyc2lvbnMsc3RyaWN0TW9kZSx1YSl7cmV0dXJuIWlzVW5zdXBwb3J0ZWRCcm93c2VyKG1pblZlcnNpb25zLHN0cmljdE1vZGUsdWEpO31cbmJvd3Nlci5pc1Vuc3VwcG9ydGVkQnJvd3Nlcj1pc1Vuc3VwcG9ydGVkQnJvd3Nlcjtib3dzZXIuY29tcGFyZVZlcnNpb25zPWNvbXBhcmVWZXJzaW9ucztib3dzZXIuY2hlY2s9Y2hlY2s7Ym93c2VyLl9kZXRlY3Q9ZGV0ZWN0O3JldHVybiBib3dzZXJ9KTsoZnVuY3Rpb24oJCl7VUFCQlRyaWdnZXI9e3RyaWdnZXJIb29rOmZ1bmN0aW9uKGhvb2ssYXJncylcbnskKCdib2R5JykudHJpZ2dlcigndWFiYi10cmlnZ2VyLicraG9vayxhcmdzKTt9LGFkZEhvb2s6ZnVuY3Rpb24oaG9vayxjYWxsYmFjaylcbnskKCdib2R5Jykub24oJ3VhYmItdHJpZ2dlci4nK2hvb2ssY2FsbGJhY2spO30scmVtb3ZlSG9vazpmdW5jdGlvbihob29rLGNhbGxiYWNrKVxueyQoJ2JvZHknKS5vZmYoJ3VhYmItdHJpZ2dlci4nK2hvb2ssY2FsbGJhY2spO30sfTt9KShqUXVlcnkpO2pRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCl7aWYodHlwZW9mIGJvd3NlciE9PSd1bmRlZmluZWQnJiZib3dzZXIhPT1udWxsKXt2YXIgdWFiYl9icm93c2VyPWJvd3Nlci5uYW1lLHVhYmJfYnJvd3Nlcl92PWJvd3Nlci52ZXJzaW9uLHVhYmJfYnJvd3Nlcl9jbGFzcz11YWJiX2Jyb3dzZXIucmVwbGFjZShcL1xccytcL2csJy0nKS50b0xvd2VyQ2FzZSgpLHVhYmJfYnJvd3Nlcl92X2NsYXNzPXVhYmJfYnJvd3Nlcl9jbGFzcytwYXJzZUludCh1YWJiX2Jyb3dzZXJfdik7JCgnaHRtbCcpLmFkZENsYXNzKHVhYmJfYnJvd3Nlcl9jbGFzcykuYWRkQ2xhc3ModWFiYl9icm93c2VyX3ZfY2xhc3MpO31cbiQoJy51YWJiLXJvdy1zZXBhcmF0b3InKS5wYXJlbnRzKCdodG1sJykuY3NzKCdvdmVyZmxvdy14JywnaGlkZGVuJyk7fSk7KGZ1bmN0aW9uKCQpe2pRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXt9KTt9KShqUXVlcnkpOzxcL3NjcmlwdD4iLCI8c2NyaXB0IHR5cGU9XCJ0ZXh0XC9qYXZhc2NyaXB0XCI+XG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpbmtcIik7XG5cdGxpbmsucmVsID0gXCJzdHlsZXNoZWV0XCI7XG5cdGxpbmsuaHJlZiA9XG5cdCAgXCJodHRwczpcL1wvZm9udHMuZ29vZ2xlYXBpcy5jb21cL2Nzcz9mYW1pbHk9V29yaytTYW5zOjQwMCwlN0NBbWFyYW50aDo0MDAsLDcwMCZkaXNwbGF5PWZhbGxiYWNrXCI7XG5cdGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXS5hcHBlbmRDaGlsZChsaW5rKTtcbjxcL3NjcmlwdD4iLCI8c2NyaXB0PlxuICAgIHdpbmRvdy5fX2xjID0gd2luZG93Ll9fbGMgfHwge307XG4gICAgd2luZG93Ll9fbGMubGljZW5zZSA9IDEyMDU5NDEyO1xuICAgIDsoZnVuY3Rpb24obix0LGMpe2Z1bmN0aW9uIGkobil7cmV0dXJuIGUuX2g/ZS5faC5hcHBseShudWxsLG4pOmUuX3EucHVzaChuKX12YXIgZT17X3E6W10sX2g6bnVsbCxfdjpcIjIuMFwiLG9uOmZ1bmN0aW9uKCl7aShbXCJvblwiLGMuY2FsbChhcmd1bWVudHMpXSl9LG9uY2U6ZnVuY3Rpb24oKXtpKFtcIm9uY2VcIixjLmNhbGwoYXJndW1lbnRzKV0pfSxvZmY6ZnVuY3Rpb24oKXtpKFtcIm9mZlwiLGMuY2FsbChhcmd1bWVudHMpXSl9LGdldDpmdW5jdGlvbigpe2lmKCFlLl9oKXRocm93IG5ldyBFcnJvcihcIltMaXZlQ2hhdFdpZGdldF0gWW91IGNhbid0IHVzZSBnZXR0ZXJzIGJlZm9yZSBsb2FkLlwiKTtyZXR1cm4gaShbXCJnZXRcIixjLmNhbGwoYXJndW1lbnRzKV0pfSxjYWxsOmZ1bmN0aW9uKCl7aShbXCJjYWxsXCIsYy5jYWxsKGFyZ3VtZW50cyldKX0saW5pdDpmdW5jdGlvbigpe3ZhciBuPXQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtuLmFzeW5jPSEwLG4udHlwZT1cInRleHRcL2phdmFzY3JpcHRcIixuLnNyYz1cImh0dHBzOlwvXC9jZG4ubGl2ZWNoYXRpbmMuY29tXC90cmFja2luZy5qc1wiLHQuaGVhZC5hcHBlbmRDaGlsZChuKX19OyFuLl9fbGMuYXN5bmNJbml0JiZlLmluaXQoKSxuLkxpdmVDaGF0V2lkZ2V0PW4uTGl2ZUNoYXRXaWRnZXR8fGV9KHdpbmRvdyxkb2N1bWVudCxbXS5zbGljZSkpXG48XC9zY3JpcHQ+IiwiPG5vc2NyaXB0PjxhIGhyZWY9XCJodHRwczpcL1wvd3d3LmxpdmVjaGF0aW5jLmNvbVwvY2hhdC13aXRoXC8xMjA1OTQxMlwvXCIgcmVsPVwibm9mb2xsb3dcIj5DaGF0IHdpdGggdXM8XC9hPiwgcG93ZXJlZCBieSA8YSBocmVmPVwiaHR0cHM6XC9cL3d3dy5saXZlY2hhdGluYy5jb21cLz93ZWxjb21lXCIgcmVsPVwibm9vcGVuZXIgbm9mb2xsb3dcIiB0YXJnZXQ9XCJfYmxhbmtcIj5MaXZlQ2hhdDxcL2E+PFwvbm9zY3JpcHQ+Il0sIm9mZnNldCI6eyJsaW5rX2FuZF9zdHlsZV90YWdzIjp7IjAiOjc4NCwiMSI6NjE4MzMsIjIiOjYyOTk3LCI0Ijo2NDM2OSwiNSI6MTUxMDk1LCI2IjoxNTExOTcsIjciOjIyNzc1NX0sInNjcmlwdF9zcmNfb3JfaW5saW5lX2FuZF9ub3NjcmlwdF9pbmxpbmVfdGFncyI6WzQzLDQzMSw4ODksMTE4Miw2MTQyOSw2MTQ2Myw2MTg3OSw2MjA5Niw2MjQ5OSw2Mjg3Myw2MzUzNSw2MzYyOSw2NDA2MCw2NDI5Miw4NjI1Nyw4NjcxNSw4ODI2Nyw4ODYxNSwxMzA5OTEsMTMxMDc5LDE1MDk5NywxNTEzNDYsMTUxNzU4LDE1MjAzOCwyMTUyMTgsMjE1NTczLDIxNjA1MCwyMjY0ODEsMjI2NzY1LDIyNzUzMF19LCJwb3NpdGlvbnMiOnsibGlua19hbmRfc3R5bGVfdGFncyI6eyJoZWFkIjpbMCwxLDIsNF0sImJvZHkiOls1LDYsN119LCJzY3JpcHRfc3JjX29yX2lubGluZV9hbmRfbm9zY3JpcHRfaW5saW5lX3RhZ3MiOnsiaGVhZCI6WzAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTVdLCJib2R5IjpbMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjldfX0sIndpdGhpbl9jb25kaXRpb25hbF9jb21tZW50cyI6eyJjb25kaXRpb25zIjpbIklFIl0sInRhZ3MiOlsiPHNjcmlwdCBkYXRhLXdwYWN1LXNjcmlwdC1oYW5kbGU9J2FzdHJhLWZsZXhpYmlsaXR5JyBzcmM9XCJodHRwczpcL1wvc3BlY2lhbG5lZWRzcmVzb3VyY2VzLmNvbS5hdVwvd3AtY29udGVudFwvdGhlbWVzXC9hc3RyYVwvYXNzZXRzXC9qc1wvbWluaWZpZWRcL2ZsZXhpYmlsaXR5Lm1pbi5qcz92ZXI9NC4xMS43XCIgaWQ9XCJhc3RyYS1mbGV4aWJpbGl0eS1qc1wiPjxcL3NjcmlwdD5cbjxzY3JpcHQgZGF0YS13cGFjdS1zY3JpcHQtaGFuZGxlPSdhc3RyYS1mbGV4aWJpbGl0eScgaWQ9XCJhc3RyYS1mbGV4aWJpbGl0eS1qcy1hZnRlclwiPlxuZmxleGliaWxpdHkoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTtcbjxcL3NjcmlwdD4iXX19END WPACU PLUGIN JSON HARDCODED