D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
timelyportfolio
Full window
Github gist
leaflet htmlwidget as json
Built with
blockbuilder.org
StackOverflow
question
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <script src="data:application/x-javascript;base64,KGZ1bmN0aW9uKCkgewogIC8vIElmIHdpbmRvdy5IVE1MV2lkZ2V0cyBpcyBhbHJlYWR5IGRlZmluZWQsIHRoZW4gdXNlIGl0OyBvdGhlcndpc2UgY3JlYXRlIGEKICAvLyBuZXcgb2JqZWN0LiBUaGlzIGFsbG93cyBwcmVjZWRpbmcgY29kZSB0byBzZXQgb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUKICAvLyBpbml0aWFsaXphdGlvbiBwcm9jZXNzICh0aG91Z2ggbm9uZSBjdXJyZW50bHkgZXhpc3QpLgogIHdpbmRvdy5IVE1MV2lkZ2V0cyA9IHdpbmRvdy5IVE1MV2lkZ2V0cyB8fCB7fTsKCiAgLy8gU2VlIGlmIHdlJ3JlIHJ1bm5pbmcgaW4gYSB2aWV3ZXIgcGFuZS4gSWYgbm90LCB3ZSdyZSBpbiBhIHdlYiBicm93c2VyLgogIHZhciB2aWV3ZXJNb2RlID0gd2luZG93LkhUTUxXaWRnZXRzLnZpZXdlck1vZGUgPQogICAgICAvXGJ2aWV3ZXJfcGFuZT0xXGIvLnRlc3Qod2luZG93LmxvY2F0aW9uKTsKCiAgLy8gU2VlIGlmIHdlJ3JlIHJ1bm5pbmcgaW4gU2hpbnkgbW9kZS4gSWYgbm90LCBpdCdzIGEgc3RhdGljIGRvY3VtZW50LgogIC8vIE5vdGUgdGhhdCBzdGF0aWMgd2lkZ2V0cyBjYW4gYXBwZWFyIGluIGJvdGggU2hpbnkgYW5kIHN0YXRpYyBtb2RlcywgYnV0CiAgLy8gb2J2aW91c2x5LCBTaGlueSB3aWRnZXRzIGNhbiBvbmx5IGFwcGVhciBpbiBTaGlueSBhcHBzL2RvY3VtZW50cy4KICB2YXIgc2hpbnlNb2RlID0gd2luZG93LkhUTUxXaWRnZXRzLnNoaW55TW9kZSA9CiAgICAgIHR5cGVvZih3aW5kb3cuU2hpbnkpICE9PSAidW5kZWZpbmVkIiAmJiAhIXdpbmRvdy5TaGlueS5vdXRwdXRCaW5kaW5nczsKCiAgLy8gV2UgY2FuJ3QgY291bnQgb24galF1ZXJ5IGJlaW5nIGF2YWlsYWJsZSwgc28gd2UgaW1wbGVtZW50IG91ciBvd24KICAvLyB2ZXJzaW9uIGlmIG5lY2Vzc2FyeS4KICBmdW5jdGlvbiBxdWVyeVNlbGVjdG9yQWxsKHNjb3BlLCBzZWxlY3RvcikgewogICAgaWYgKHR5cGVvZihqUXVlcnkpICE9PSAidW5kZWZpbmVkIiAmJiBzY29wZSBpbnN0YW5jZW9mIGpRdWVyeSkgewogICAgICByZXR1cm4gc2NvcGUuZmluZChzZWxlY3Rvcik7CiAgICB9CiAgICBpZiAoc2NvcGUucXVlcnlTZWxlY3RvckFsbCkgewogICAgICByZXR1cm4gc2NvcGUucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBhc0FycmF5KHZhbHVlKSB7CiAgICBpZiAodmFsdWUgPT09IG51bGwpCiAgICAgIHJldHVybiBbXTsKICAgIGlmICgkLmlzQXJyYXkodmFsdWUpKQogICAgICByZXR1cm4gdmFsdWU7CiAgICByZXR1cm4gW3ZhbHVlXTsKICB9CgogIC8vIEltcGxlbWVudCBqUXVlcnkncyBleHRlbmQKICBmdW5jdGlvbiBleHRlbmQodGFyZ2V0IC8qLCAuLi4gKi8pIHsKICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHsKICAgICAgcmV0dXJuIHRhcmdldDsKICAgIH0KICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07CiAgICAgIGZvciAodmFyIHByb3AgaW4gc291cmNlKSB7CiAgICAgICAgaWYgKHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgewogICAgICAgICAgdGFyZ2V0W3Byb3BdID0gc291cmNlW3Byb3BdOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIHRhcmdldDsKICB9CgogIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgQXJyYXkuZm9yRWFjaC4KICBmdW5jdGlvbiBmb3JFYWNoKHZhbHVlcywgY2FsbGJhY2ssIHRoaXNBcmcpIHsKICAgIGlmICh2YWx1ZXMuZm9yRWFjaCkgewogICAgICB2YWx1ZXMuZm9yRWFjaChjYWxsYmFjaywgdGhpc0FyZyk7CiAgICB9IGVsc2UgewogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykgewogICAgICAgIGNhbGxiYWNrLmNhbGwodGhpc0FyZywgdmFsdWVzW2ldLCBpLCB2YWx1ZXMpOwogICAgICB9CiAgICB9CiAgfQoKICAvLyBSZXBsYWNlcyB0aGUgc3BlY2lmaWVkIG1ldGhvZCB3aXRoIHRoZSByZXR1cm4gdmFsdWUgb2YgZnVuY1NvdXJjZS4KICAvLwogIC8vIE5vdGUgdGhhdCBmdW5jU291cmNlIHNob3VsZCBub3QgQkUgdGhlIG5ldyBtZXRob2QsIGl0IHNob3VsZCBiZSBhIGZ1bmN0aW9uCiAgLy8gdGhhdCBSRVRVUk5TIHRoZSBuZXcgbWV0aG9kLiBmdW5jU291cmNlIHJlY2VpdmVzIGEgc2luZ2xlIGFyZ3VtZW50IHRoYXQgaXMKICAvLyB0aGUgb3ZlcnJpZGRlbiBtZXRob2QsIGl0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbmV3IG1ldGhvZC4gVGhlIG92ZXJyaWRkZW4KICAvLyBtZXRob2QgY2FuIGJlIGNhbGxlZCBsaWtlIGEgcmVndWxhciBmdW5jdGlvbiwgaXQgaGFzIHRoZSB0YXJnZXQgcGVybWFuZW50bHkKICAvLyBib3VuZCB0byBpdCBzbyAidGhpcyIgd2lsbCB3b3JrIGNvcnJlY3RseS4KICBmdW5jdGlvbiBvdmVycmlkZU1ldGhvZCh0YXJnZXQsIG1ldGhvZE5hbWUsIGZ1bmNTb3VyY2UpIHsKICAgIHZhciBzdXBlckZ1bmMgPSB0YXJnZXRbbWV0aG9kTmFtZV0gfHwgZnVuY3Rpb24oKSB7fTsKICAgIHZhciBzdXBlckZ1bmNCb3VuZCA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gc3VwZXJGdW5jLmFwcGx5KHRhcmdldCwgYXJndW1lbnRzKTsKICAgIH07CiAgICB0YXJnZXRbbWV0aG9kTmFtZV0gPSBmdW5jU291cmNlKHN1cGVyRnVuY0JvdW5kKTsKICB9CgogIC8vIEFkZCBhIG1ldGhvZCB0byBkZWxlZ2F0b3IgdGhhdCwgd2hlbiBpbnZva2VkLCBjYWxscwogIC8vIGRlbGVnYXRlZS5tZXRob2ROYW1lLiBJZiB0aGVyZSBpcyBubyBzdWNoIG1ldGhvZCBvbgogIC8vIHRoZSBkZWxlZ2F0ZWUsIGJ1dCB0aGVyZSB3YXMgb25lIG9uIGRlbGVnYXRvciBiZWZvcmUKICAvLyBkZWxlZ2F0ZU1ldGhvZCB3YXMgY2FsbGVkLCB0aGVuIHRoZSBvcmlnaW5hbCB2ZXJzaW9uCiAgLy8gaXMgaW52b2tlZCBpbnN0ZWFkLgogIC8vIEZvciBleGFtcGxlOgogIC8vCiAgLy8gdmFyIGEgPSB7CiAgLy8gICBtZXRob2QxOiBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coJ2ExJyk7IH0KICAvLyAgIG1ldGhvZDI6IGZ1bmN0aW9uKCkgeyBjb25zb2xlLmxvZygnYTInKTsgfQogIC8vIH07CiAgLy8gdmFyIGIgPSB7CiAgLy8gICBtZXRob2QxOiBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coJ2IxJyk7IH0KICAvLyB9OwogIC8vIGRlbGVnYXRlTWV0aG9kKGEsIGIsICJtZXRob2QxIik7CiAgLy8gZGVsZWdhdGVNZXRob2QoYSwgYiwgIm1ldGhvZDIiKTsKICAvLyBhLm1ldGhvZDEoKTsKICAvLyBhLm1ldGhvZDIoKTsKICAvLwogIC8vIFRoZSBvdXRwdXQgd291bGQgYmUgImIxIiwgImEyIi4KICBmdW5jdGlvbiBkZWxlZ2F0ZU1ldGhvZChkZWxlZ2F0b3IsIGRlbGVnYXRlZSwgbWV0aG9kTmFtZSkgewogICAgdmFyIGluaGVyaXRlZCA9IGRlbGVnYXRvclttZXRob2ROYW1lXTsKICAgIGRlbGVnYXRvclttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkgewogICAgICB2YXIgdGFyZ2V0ID0gZGVsZWdhdGVlOwogICAgICB2YXIgbWV0aG9kID0gZGVsZWdhdGVlW21ldGhvZE5hbWVdOwoKICAgICAgLy8gVGhlIG1ldGhvZCBkb2Vzbid0IGV4aXN0IG9uIHRoZSBkZWxlZ2F0ZWUuIEluc3RlYWQsCiAgICAgIC8vIGNhbGwgdGhlIG1ldGhvZCBvbiB0aGUgZGVsZWdhdG9yLCBpZiBpdCBleGlzdHMuCiAgICAgIGlmICghbWV0aG9kKSB7CiAgICAgICAgdGFyZ2V0ID0gZGVsZWdhdG9yOwogICAgICAgIG1ldGhvZCA9IGluaGVyaXRlZDsKICAgICAgfQoKICAgICAgaWYgKG1ldGhvZCkgewogICAgICAgIHJldHVybiBtZXRob2QuYXBwbHkodGFyZ2V0LCBhcmd1bWVudHMpOwogICAgICB9CiAgICB9OwogIH0KCiAgLy8gSW1wbGVtZW50IGEgdmFndWUgZmFjc2ltaWxpZSBvZiBqUXVlcnkncyBkYXRhIG1ldGhvZAogIGZ1bmN0aW9uIGVsZW1lbnREYXRhKGVsLCBuYW1lLCB2YWx1ZSkgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMikgewogICAgICByZXR1cm4gZWxbImh0bWx3aWRnZXRfZGF0YV8iICsgbmFtZV07CiAgICB9IGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMykgewogICAgICBlbFsiaHRtbHdpZGdldF9kYXRhXyIgKyBuYW1lXSA9IHZhbHVlOwogICAgICByZXR1cm4gZWw7CiAgICB9IGVsc2UgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgZm9yIGVsZW1lbnREYXRhOiAiICsKICAgICAgICBhcmd1bWVudHMubGVuZ3RoKTsKICAgIH0KICB9CgogIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ0NjE3MC9lc2NhcGUtc3RyaW5nLWZvci11c2UtaW4tamF2YXNjcmlwdC1yZWdleAogIGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cChzdHIpIHsKICAgIHJldHVybiBzdHIucmVwbGFjZSgvW1wtXFtcXVwvXHtcfVwoXClcKlwrXD9cLlxcXF5cJFx8XS9nLCAiXFwkJiIpOwogIH0KCiAgZnVuY3Rpb24gaGFzQ2xhc3MoZWwsIGNsYXNzTmFtZSkgewogICAgdmFyIHJlID0gbmV3IFJlZ0V4cCgiXFxiIiArIGVzY2FwZVJlZ0V4cChjbGFzc05hbWUpICsgIlxcYiIpOwogICAgcmV0dXJuIHJlLnRlc3QoZWwuY2xhc3NOYW1lKTsKICB9CgogIC8vIGVsZW1lbnRzIC0gYXJyYXkgKG9yIGFycmF5LWxpa2Ugb2JqZWN0KSBvZiBIVE1MIGVsZW1lbnRzCiAgLy8gY2xhc3NOYW1lIC0gY2xhc3MgbmFtZSB0byB0ZXN0IGZvcgogIC8vIGluY2x1ZGUgLSBpZiB0cnVlLCBvbmx5IHJldHVybiBlbGVtZW50cyB3aXRoIGdpdmVuIGNsYXNzTmFtZTsKICAvLyAgIGlmIGZhbHNlLCBvbmx5IHJldHVybiBlbGVtZW50cyAqd2l0aG91dCogZ2l2ZW4gY2xhc3NOYW1lCiAgZnVuY3Rpb24gZmlsdGVyQnlDbGFzcyhlbGVtZW50cywgY2xhc3NOYW1lLCBpbmNsdWRlKSB7CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykgewogICAgICBpZiAoaGFzQ2xhc3MoZWxlbWVudHNbaV0sIGNsYXNzTmFtZSkgPT0gaW5jbHVkZSkKICAgICAgICByZXN1bHRzLnB1c2goZWxlbWVudHNbaV0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdHM7CiAgfQoKICBmdW5jdGlvbiBvbihvYmosIGV2ZW50TmFtZSwgZnVuYykgewogICAgaWYgKG9iai5hZGRFdmVudExpc3RlbmVyKSB7CiAgICAgIG9iai5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZnVuYywgZmFsc2UpOwogICAgfSBlbHNlIGlmIChvYmouYXR0YWNoRXZlbnQpIHsKICAgICAgb2JqLmF0dGFjaEV2ZW50KGV2ZW50TmFtZSwgZnVuYyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBvZmYob2JqLCBldmVudE5hbWUsIGZ1bmMpIHsKICAgIGlmIChvYmoucmVtb3ZlRXZlbnRMaXN0ZW5lcikKICAgICAgb2JqLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBmdW5jLCBmYWxzZSk7CiAgICBlbHNlIGlmIChvYmouZGV0YWNoRXZlbnQpIHsKICAgICAgb2JqLmRldGFjaEV2ZW50KGV2ZW50TmFtZSwgZnVuYyk7CiAgICB9CiAgfQoKICAvLyBUcmFuc2xhdGUgYXJyYXkgb2YgdmFsdWVzIHRvIHRvcC9yaWdodC9ib3R0b20vbGVmdCwgYXMgdXN1YWwgd2l0aAogIC8vIHRoZSAicGFkZGluZyIgQ1NTIHByb3BlcnR5CiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3BhZGRpbmcKICBmdW5jdGlvbiB1bnBhY2tQYWRkaW5nKHZhbHVlKSB7CiAgICBpZiAodHlwZW9mKHZhbHVlKSA9PT0gIm51bWJlciIpCiAgICAgIHZhbHVlID0gW3ZhbHVlXTsKICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDEpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMF0sIGJvdHRvbTogdmFsdWVbMF0sIGxlZnQ6IHZhbHVlWzBdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDIpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMF0sIGxlZnQ6IHZhbHVlWzFdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDMpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMl0sIGxlZnQ6IHZhbHVlWzFdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDQpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMl0sIGxlZnQ6IHZhbHVlWzNdfTsKICAgIH0KICB9CgogIC8vIENvbnZlcnQgYW4gdW5wYWNrZWQgcGFkZGluZyBvYmplY3QgdG8gYSBDU1MgdmFsdWUKICBmdW5jdGlvbiBwYWRkaW5nVG9Dc3MocGFkZGluZ09iaikgewogICAgcmV0dXJuIHBhZGRpbmdPYmoudG9wICsgInB4ICIgKyBwYWRkaW5nT2JqLnJpZ2h0ICsgInB4ICIgKyBwYWRkaW5nT2JqLmJvdHRvbSArICJweCAiICsgcGFkZGluZ09iai5sZWZ0ICsgInB4IjsKICB9CgogIC8vIE1ha2VzIGEgbnVtYmVyIHN1aXRhYmxlIGZvciBDU1MKICBmdW5jdGlvbiBweCh4KSB7CiAgICBpZiAodHlwZW9mKHgpID09PSAibnVtYmVyIikKICAgICAgcmV0dXJuIHggKyAicHgiOwogICAgZWxzZQogICAgICByZXR1cm4geDsKICB9CgogIC8vIFJldHJpZXZlcyBydW50aW1lIHdpZGdldCBzaXppbmcgaW5mb3JtYXRpb24gZm9yIGFuIGVsZW1lbnQuCiAgLy8gVGhlIHJldHVybiB2YWx1ZSBpcyBlaXRoZXIgbnVsbCwgb3IgYW4gb2JqZWN0IHdpdGggZmlsbCwgcGFkZGluZywKICAvLyBkZWZhdWx0V2lkdGgsIGRlZmF1bHRIZWlnaHQgZmllbGRzLgogIGZ1bmN0aW9uIHNpemluZ1BvbGljeShlbCkgewogICAgdmFyIHNpemluZ0VsID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W2RhdGEtZm9yPSciICsgZWwuaWQgKyAiJ11bdHlwZT0nYXBwbGljYXRpb24vaHRtbHdpZGdldC1zaXppbmcnXSIpOwogICAgaWYgKCFzaXppbmdFbCkKICAgICAgcmV0dXJuIG51bGw7CiAgICB2YXIgc3AgPSBKU09OLnBhcnNlKHNpemluZ0VsLnRleHRDb250ZW50IHx8IHNpemluZ0VsLnRleHQgfHwgInt9Iik7CiAgICBpZiAodmlld2VyTW9kZSkgewogICAgICByZXR1cm4gc3Audmlld2VyOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIHNwLmJyb3dzZXI7CiAgICB9CiAgfQoKICAvLyBAcGFyYW0gdGFza3MgQXJyYXkgb2Ygc3RyaW5ncyAob3IgZmFsc3kgdmFsdWUsIGluIHdoaWNoIGNhc2Ugbm8tb3ApLgogIC8vICAgRWFjaCBlbGVtZW50IG11c3QgYmUgYSB2YWxpZCBKYXZhU2NyaXB0IGV4cHJlc3Npb24gdGhhdCB5aWVsZHMgYQogIC8vICAgZnVuY3Rpb24uIE9yLCBjYW4gYmUgYW4gYXJyYXkgb2Ygb2JqZWN0cyB3aXRoICJjb2RlIiBhbmQgImRhdGEiCiAgLy8gICBwcm9wZXJ0aWVzOyBpbiB0aGlzIGNhc2UsIHRoZSAiY29kZSIgcHJvcGVydHkgc2hvdWxkIGJlIGEgc3RyaW5nCiAgLy8gICBvZiBKUyB0aGF0J3MgYW4gZXhwciB0aGF0IHlpZWxkcyBhIGZ1bmN0aW9uLCBhbmQgImRhdGEiIHNob3VsZCBiZQogIC8vICAgYW4gb2JqZWN0IHRoYXQgd2lsbCBiZSBhZGRlZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50IHdoZW4gdGhhdAogIC8vICAgZnVuY3Rpb24gaXMgY2FsbGVkLgogIC8vIEBwYXJhbSB0YXJnZXQgVGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgInRoaXMiIGZvciBlYWNoIGZ1bmN0aW9uCiAgLy8gICBleGVjdXRpb24uCiAgLy8gQHBhcmFtIGFyZ3MgQXJyYXkgb2YgYXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb25zLiAoVGhlCiAgLy8gICBzYW1lIGFyZ3VtZW50cyB3aWxsIGJlIHBhc3NlZCB0byBhbGwgZnVuY3Rpb25zLikKICBmdW5jdGlvbiBldmFsQW5kUnVuKHRhc2tzLCB0YXJnZXQsIGFyZ3MpIHsKICAgIGlmICh0YXNrcykgewogICAgICBmb3JFYWNoKHRhc2tzLCBmdW5jdGlvbih0YXNrKSB7CiAgICAgICAgdmFyIHRoZXNlQXJncyA9IGFyZ3M7CiAgICAgICAgaWYgKHR5cGVvZih0YXNrKSA9PT0gIm9iamVjdCIpIHsKICAgICAgICAgIHRoZXNlQXJncyA9IHRoZXNlQXJncy5jb25jYXQoW3Rhc2suZGF0YV0pOwogICAgICAgICAgdGFzayA9IHRhc2suY29kZTsKICAgICAgICB9CiAgICAgICAgdmFyIHRhc2tGdW5jID0gZXZhbCgiKCIgKyB0YXNrICsgIikiKTsKICAgICAgICBpZiAodHlwZW9mKHRhc2tGdW5jKSAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJUYXNrIG11c3QgYmUgYSBmdW5jdGlvbiEgU291cmNlOlxuIiArIHRhc2spOwogICAgICAgIH0KICAgICAgICB0YXNrRnVuYy5hcHBseSh0YXJnZXQsIHRoZXNlQXJncyk7CiAgICAgIH0pOwogICAgfQogIH0KCiAgZnVuY3Rpb24gaW5pdFNpemluZyhlbCkgewogICAgdmFyIHNpemluZyA9IHNpemluZ1BvbGljeShlbCk7CiAgICBpZiAoIXNpemluZykKICAgICAgcmV0dXJuOwoKICAgIHZhciBjZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaHRtbHdpZGdldF9jb250YWluZXIiKTsKICAgIGlmICghY2VsKQogICAgICByZXR1cm47CgogICAgaWYgKHR5cGVvZihzaXppbmcucGFkZGluZykgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUubWFyZ2luID0gIjAiOwogICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmcgPSBwYWRkaW5nVG9Dc3ModW5wYWNrUGFkZGluZyhzaXppbmcucGFkZGluZykpOwogICAgfQoKICAgIGlmIChzaXppbmcuZmlsbCkgewogICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gImhpZGRlbiI7CiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUud2lkdGggPSAiMTAwJSI7CiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuaGVpZ2h0ID0gIjEwMCUiOwogICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUud2lkdGggPSAiMTAwJSI7CiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5oZWlnaHQgPSAiMTAwJSI7CiAgICAgIGlmIChjZWwpIHsKICAgICAgICBjZWwuc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1dGUiOwogICAgICAgIHZhciBwYWQgPSB1bnBhY2tQYWRkaW5nKHNpemluZy5wYWRkaW5nKTsKICAgICAgICBjZWwuc3R5bGUudG9wID0gcGFkLnRvcCArICJweCI7CiAgICAgICAgY2VsLnN0eWxlLnJpZ2h0ID0gcGFkLnJpZ2h0ICsgInB4IjsKICAgICAgICBjZWwuc3R5bGUuYm90dG9tID0gcGFkLmJvdHRvbSArICJweCI7CiAgICAgICAgY2VsLnN0eWxlLmxlZnQgPSBwYWQubGVmdCArICJweCI7CiAgICAgICAgZWwuc3R5bGUud2lkdGggPSAiMTAwJSI7CiAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gIjEwMCUiOwogICAgICB9CgogICAgICByZXR1cm4gewogICAgICAgIGdldFdpZHRoOiBmdW5jdGlvbigpIHsgcmV0dXJuIGNlbC5vZmZzZXRXaWR0aDsgfSwKICAgICAgICBnZXRIZWlnaHQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gY2VsLm9mZnNldEhlaWdodDsgfQogICAgICB9OwoKICAgIH0gZWxzZSB7CiAgICAgIGVsLnN0eWxlLndpZHRoID0gcHgoc2l6aW5nLndpZHRoKTsKICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gcHgoc2l6aW5nLmhlaWdodCk7CgogICAgICByZXR1cm4gewogICAgICAgIGdldFdpZHRoOiBmdW5jdGlvbigpIHsgcmV0dXJuIGVsLm9mZnNldFdpZHRoOyB9LAogICAgICAgIGdldEhlaWdodDogZnVuY3Rpb24oKSB7IHJldHVybiBlbC5vZmZzZXRIZWlnaHQ7IH0KICAgICAgfTsKICAgIH0KICB9CgogIC8vIERlZmF1bHQgaW1wbGVtZW50YXRpb25zIGZvciBtZXRob2RzCiAgdmFyIGRlZmF1bHRzID0gewogICAgZmluZDogZnVuY3Rpb24oc2NvcGUpIHsKICAgICAgcmV0dXJuIHF1ZXJ5U2VsZWN0b3JBbGwoc2NvcGUsICIuIiArIHRoaXMubmFtZSk7CiAgICB9LAogICAgcmVuZGVyRXJyb3I6IGZ1bmN0aW9uKGVsLCBlcnIpIHsKICAgICAgdmFyICRlbCA9ICQoZWwpOwoKICAgICAgdGhpcy5jbGVhckVycm9yKGVsKTsKCiAgICAgIC8vIEFkZCBhbGwgdGhlc2UgZXJyb3IgY2xhc3NlcywgYXMgU2hpbnkgZG9lcwogICAgICB2YXIgZXJyQ2xhc3MgPSAic2hpbnktb3V0cHV0LWVycm9yIjsKICAgICAgaWYgKGVyci50eXBlICE9PSBudWxsKSB7CiAgICAgICAgLy8gdXNlIHRoZSBjbGFzc2VzIG9mIHRoZSBlcnJvciBjb25kaXRpb24gYXMgQ1NTIGNsYXNzIG5hbWVzCiAgICAgICAgZXJyQ2xhc3MgPSBlcnJDbGFzcyArICIgIiArICQubWFwKGFzQXJyYXkoZXJyLnR5cGUpLCBmdW5jdGlvbih0eXBlKSB7CiAgICAgICAgICByZXR1cm4gZXJyQ2xhc3MgKyAiLSIgKyB0eXBlOwogICAgICAgIH0pLmpvaW4oIiAiKTsKICAgICAgfQogICAgICBlcnJDbGFzcyA9IGVyckNsYXNzICsgIiBodG1sd2lkZ2V0cy1lcnJvciI7CgogICAgICAvLyBJcyBlbCBpbmxpbmUgb3IgYmxvY2s/IElmIGlubGluZSBvciBpbmxpbmUtYmxvY2ssIGp1c3QgZGlzcGxheTpub25lIGl0CiAgICAgIC8vIGFuZCBhZGQgYW4gaW5saW5lIGVycm9yLgogICAgICB2YXIgZGlzcGxheSA9ICRlbC5jc3MoImRpc3BsYXkiKTsKICAgICAgJGVsLmRhdGEoInJlc3RvcmUtZGlzcGxheS1tb2RlIiwgZGlzcGxheSk7CgogICAgICBpZiAoZGlzcGxheSA9PT0gImlubGluZSIgfHwgZGlzcGxheSA9PT0gImlubGluZS1ibG9jayIpIHsKICAgICAgICAkZWwuaGlkZSgpOwogICAgICAgIGlmIChlcnIubWVzc2FnZSAhPT0gIiIpIHsKICAgICAgICAgIHZhciBlcnJvclNwYW4gPSAkKCI8c3Bhbj4iKS5hZGRDbGFzcyhlcnJDbGFzcyk7CiAgICAgICAgICBlcnJvclNwYW4udGV4dChlcnIubWVzc2FnZSk7CiAgICAgICAgICAkZWwuYWZ0ZXIoZXJyb3JTcGFuKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoZGlzcGxheSA9PT0gImJsb2NrIikgewogICAgICAgIC8vIElmIGJsb2NrLCBhZGQgYW4gZXJyb3IganVzdCBhZnRlciB0aGUgZWwsIHNldCB2aXNpYmlsaXR5Om5vbmUgb24gdGhlCiAgICAgICAgLy8gZWwsIGFuZCBwb3NpdGlvbiB0aGUgZXJyb3IgdG8gYmUgb24gdG9wIG9mIHRoZSBlbC4KICAgICAgICAvLyBNYXJrIGl0IHdpdGggYSB1bmlxdWUgSUQgYW5kIENTUyBjbGFzcyBzbyB3ZSBjYW4gcmVtb3ZlIGl0IGxhdGVyLgogICAgICAgICRlbC5jc3MoInZpc2liaWxpdHkiLCAiaGlkZGVuIik7CiAgICAgICAgaWYgKGVyci5tZXNzYWdlICE9PSAiIikgewogICAgICAgICAgdmFyIGVycm9yRGl2ID0gJCgiPGRpdj4iKS5hZGRDbGFzcyhlcnJDbGFzcykuY3NzKCJwb3NpdGlvbiIsICJhYnNvbHV0ZSIpCiAgICAgICAgICAgIC5jc3MoInRvcCIsIGVsLm9mZnNldFRvcCkKICAgICAgICAgICAgLmNzcygibGVmdCIsIGVsLm9mZnNldExlZnQpCiAgICAgICAgICAgIC8vIHNldHRpbmcgd2lkdGggY2FuIHB1c2ggb3V0IHRoZSBwYWdlIHNpemUsIGZvcmNpbmcgb3RoZXJ3aXNlCiAgICAgICAgICAgIC8vIHVubmVjZXNzYXJ5IHNjcm9sbGJhcnMgdG8gYXBwZWFyIGFuZCBtYWtpbmcgaXQgaW1wb3NzaWJsZSBmb3IKICAgICAgICAgICAgLy8gdGhlIGVsZW1lbnQgdG8gc2hyaW5rOyBzbyB1c2UgbWF4LXdpZHRoIGluc3RlYWQKICAgICAgICAgICAgLmNzcygibWF4V2lkdGgiLCBlbC5vZmZzZXRXaWR0aCkKICAgICAgICAgICAgLmNzcygiaGVpZ2h0IiwgZWwub2Zmc2V0SGVpZ2h0KTsKICAgICAgICAgIGVycm9yRGl2LnRleHQoZXJyLm1lc3NhZ2UpOwogICAgICAgICAgJGVsLmFmdGVyKGVycm9yRGl2KTsKCiAgICAgICAgICAvLyBSZWFsbHkgZHVtYiB3YXkgdG8ga2VlcCB0aGUgc2l6ZS9wb3NpdGlvbiBvZiB0aGUgZXJyb3IgaW4gc3luYyB3aXRoCiAgICAgICAgICAvLyB0aGUgcGFyZW50IGVsZW1lbnQgYXMgdGhlIHdpbmRvdyBpcyByZXNpemVkIG9yIHdoYXRldmVyLgogICAgICAgICAgdmFyIGludElkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmICghZXJyb3JEaXZbMF0ucGFyZW50RWxlbWVudCkgewogICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50SWQpOwogICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICBlcnJvckRpdgogICAgICAgICAgICAgIC5jc3MoInRvcCIsIGVsLm9mZnNldFRvcCkKICAgICAgICAgICAgICAuY3NzKCJsZWZ0IiwgZWwub2Zmc2V0TGVmdCkKICAgICAgICAgICAgICAuY3NzKCJtYXhXaWR0aCIsIGVsLm9mZnNldFdpZHRoKQogICAgICAgICAgICAgIC5jc3MoImhlaWdodCIsIGVsLm9mZnNldEhlaWdodCk7CiAgICAgICAgICB9LCA1MDApOwogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIGNsZWFyRXJyb3I6IGZ1bmN0aW9uKGVsKSB7CiAgICAgIHZhciAkZWwgPSAkKGVsKTsKICAgICAgdmFyIGRpc3BsYXkgPSAkZWwuZGF0YSgicmVzdG9yZS1kaXNwbGF5LW1vZGUiKTsKICAgICAgJGVsLmRhdGEoInJlc3RvcmUtZGlzcGxheS1tb2RlIiwgbnVsbCk7CgogICAgICBpZiAoZGlzcGxheSA9PT0gImlubGluZSIgfHwgZGlzcGxheSA9PT0gImlubGluZS1ibG9jayIpIHsKICAgICAgICBpZiAoZGlzcGxheSkKICAgICAgICAgICRlbC5jc3MoImRpc3BsYXkiLCBkaXNwbGF5KTsKICAgICAgICAkKGVsLm5leHRTaWJsaW5nKS5maWx0ZXIoIi5odG1sd2lkZ2V0cy1lcnJvciIpLnJlbW92ZSgpOwogICAgICB9IGVsc2UgaWYgKGRpc3BsYXkgPT09ICJibG9jayIpewogICAgICAgICRlbC5jc3MoInZpc2liaWxpdHkiLCAiaW5oZXJpdCIpOwogICAgICAgICQoZWwubmV4dFNpYmxpbmcpLmZpbHRlcigiLmh0bWx3aWRnZXRzLWVycm9yIikucmVtb3ZlKCk7CiAgICAgIH0KICAgIH0sCiAgICBzaXppbmc6IHt9CiAgfTsKCiAgLy8gQ2FsbGVkIGJ5IHdpZGdldCBiaW5kaW5ncyB0byByZWdpc3RlciBhIG5ldyB0eXBlIG9mIHdpZGdldC4gVGhlIGRlZmluaXRpb24KICAvLyBvYmplY3QgY2FuIGNvbnRhaW4gdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOgogIC8vIC0gbmFtZSAocmVxdWlyZWQpIC0gQSBzdHJpbmcgaW5kaWNhdGluZyB0aGUgYmluZGluZyBuYW1lLCB3aGljaCB3aWxsIGJlCiAgLy8gICB1c2VkIGJ5IGRlZmF1bHQgYXMgdGhlIENTUyBjbGFzc25hbWUgdG8gbG9vayBmb3IuCiAgLy8gLSBpbml0aWFsaXplIChvcHRpb25hbCkgLSBBIGZ1bmN0aW9uKGVsKSB0aGF0IHdpbGwgYmUgY2FsbGVkIG9uY2UgcGVyCiAgLy8gICB3aWRnZXQgZWxlbWVudDsgaWYgYSB2YWx1ZSBpcyByZXR1cm5lZCwgaXQgd2lsbCBiZSBwYXNzZWQgYXMgdGhlIHRoaXJkCiAgLy8gICB2YWx1ZSB0byByZW5kZXJWYWx1ZS4KICAvLyAtIHJlbmRlclZhbHVlIChyZXF1aXJlZCkgLSBBIGZ1bmN0aW9uKGVsLCBkYXRhLCBpbml0VmFsdWUpIHRoYXQgd2lsbCBiZQogIC8vICAgY2FsbGVkIHdpdGggZGF0YS4gU3RhdGljIGNvbnRleHRzIHdpbGwgY2F1c2UgdGhpcyB0byBiZSBjYWxsZWQgb25jZSBwZXIKICAvLyAgIGVsZW1lbnQ7IFNoaW55IGFwcHMgd2lsbCBjYXVzZSB0aGlzIHRvIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBwZXIKICAvLyAgIGVsZW1lbnQsIGFzIHRoZSBkYXRhIGNoYW5nZXMuCiAgd2luZG93LkhUTUxXaWRnZXRzLndpZGdldCA9IGZ1bmN0aW9uKGRlZmluaXRpb24pIHsKICAgIGlmICghZGVmaW5pdGlvbi5uYW1lKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiV2lkZ2V0IG11c3QgaGF2ZSBhIG5hbWUiKTsKICAgIH0KICAgIGlmICghZGVmaW5pdGlvbi50eXBlKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiV2lkZ2V0IG11c3QgaGF2ZSBhIHR5cGUiKTsKICAgIH0KICAgIC8vIEN1cnJlbnRseSB3ZSBvbmx5IHN1cHBvcnQgb3V0cHV0IHdpZGdldHMKICAgIGlmIChkZWZpbml0aW9uLnR5cGUgIT09ICJvdXRwdXQiKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiVW5yZWNvZ25pemVkIHdpZGdldCB0eXBlICciICsgZGVmaW5pdGlvbi50eXBlICsgIiciKTsKICAgIH0KICAgIC8vIFRPRE86IFZlcmlmeSB0aGF0IC5uYW1lIGlzIGEgdmFsaWQgQ1NTIGNsYXNzbmFtZQoKICAgIC8vIFN1cHBvcnQgbmV3LXN0eWxlIGluc3RhbmNlLWJvdW5kIGRlZmluaXRpb25zLiBPbGQtc3R5bGUgY2xhc3MtYm91bmQKICAgIC8vIGRlZmluaXRpb25zIGhhdmUgb25lIHdpZGdldCAib2JqZWN0IiBwZXIgd2lkZ2V0IHBlciB0eXBlL2NsYXNzIG9mCiAgICAvLyB3aWRnZXQ7IHRoZSByZW5kZXJWYWx1ZSBhbmQgcmVzaXplIG1ldGhvZHMgb24gc3VjaCB3aWRnZXQgb2JqZWN0cwogICAgLy8gdGFrZSBlbCBhbmQgaW5zdGFuY2UgYXJndW1lbnRzLCBiZWNhdXNlIHRoZSB3aWRnZXQgb2JqZWN0IGNhbid0CiAgICAvLyBzdG9yZSB0aGVtLiBOZXctc3R5bGUgaW5zdGFuY2UtYm91bmQgZGVmaW5pdGlvbnMgaGF2ZSBvbmUgd2lkZ2V0CiAgICAvLyBvYmplY3QgcGVyIHdpZGdldCBpbnN0YW5jZTsgdGhlIGRlZmluaXRpb24gdGhhdCdzIHBhc3NlZCBpbiBkb2Vzbid0CiAgICAvLyBwcm92aWRlIHJlbmRlclZhbHVlIG9yIHJlc2l6ZSBtZXRob2RzIGF0IGFsbCwganVzdCB0aGUgc2luZ2xlIG1ldGhvZAogICAgLy8gICBmYWN0b3J5KGVsLCB3aWR0aCwgaGVpZ2h0KQogICAgLy8gd2hpY2ggcmV0dXJucyBhbiBvYmplY3QgdGhhdCBoYXMgcmVuZGVyVmFsdWUoeCkgYW5kIHJlc2l6ZSh3LCBoKS4KICAgIC8vIFRoaXMgZW5hYmxlcyBhIGZhciBtb3JlIG5hdHVyYWwgcHJvZ3JhbW1pbmcgc3R5bGUgZm9yIHRoZSB3aWRnZXQKICAgIC8vIGF1dGhvciwgd2hvIGNhbiBzdG9yZSBwZXItaW5zdGFuY2Ugc3RhdGUgdXNpbmcgZWl0aGVyIE9PLXN0eWxlCiAgICAvLyBpbnN0YW5jZSBmaWVsZHMgb3IgZnVuY3Rpb25hbC1zdHlsZSBjbG9zdXJlIHZhcmlhYmxlcyAoSSBndWVzcyB0aGlzCiAgICAvLyBpcyBpbiBjb250cmFzdCB0byB3aGF0IGNhbiBvbmx5IGJlIGNhbGxlZCBDLXN0eWxlIHBzZXVkby1PTyB3aGljaCBpcwogICAgLy8gd2hhdCB3ZSByZXF1aXJlZCBiZWZvcmUpLgogICAgaWYgKGRlZmluaXRpb24uZmFjdG9yeSkgewogICAgICBkZWZpbml0aW9uID0gY3JlYXRlTGVnYWN5RGVmaW5pdGlvbkFkYXB0ZXIoZGVmaW5pdGlvbik7CiAgICB9CgogICAgaWYgKCFkZWZpbml0aW9uLnJlbmRlclZhbHVlKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiV2lkZ2V0IG11c3QgaGF2ZSBhIHJlbmRlclZhbHVlIGZ1bmN0aW9uIik7CiAgICB9CgogICAgLy8gRm9yIHN0YXRpYyByZW5kZXJpbmcgKG5vbi1TaGlueSksIHVzZSBhIHNpbXBsZSB3aWRnZXQgcmVnaXN0cmF0aW9uCiAgICAvLyBzY2hlbWUuIFdlIGFsc28gdXNlIHRoaXMgc2NoZW1lIGZvciBTaGlueSBhcHBzL2RvY3VtZW50cyB0aGF0IGFsc28KICAgIC8vIGNvbnRhaW4gc3RhdGljIHdpZGdldHMuCiAgICB3aW5kb3cuSFRNTFdpZGdldHMud2lkZ2V0cyA9IHdpbmRvdy5IVE1MV2lkZ2V0cy53aWRnZXRzIHx8IFtdOwogICAgLy8gTWVyZ2UgZGVmYXVsdHMgaW50byB0aGUgZGVmaW5pdGlvbjsgZG9uJ3QgbXV0YXRlIHRoZSBvcmlnaW5hbCBkZWZpbml0aW9uLgogICAgdmFyIHN0YXRpY0JpbmRpbmcgPSBleHRlbmQoe30sIGRlZmF1bHRzLCBkZWZpbml0aW9uKTsKICAgIG92ZXJyaWRlTWV0aG9kKHN0YXRpY0JpbmRpbmcsICJmaW5kIiwgZnVuY3Rpb24oc3VwZXJmdW5jKSB7CiAgICAgIHJldHVybiBmdW5jdGlvbihzY29wZSkgewogICAgICAgIHZhciByZXN1bHRzID0gc3VwZXJmdW5jKHNjb3BlKTsKICAgICAgICAvLyBGaWx0ZXIgb3V0IFNoaW55IG91dHB1dHMsIHdlIG9ubHkgd2FudCB0aGUgc3RhdGljIGtpbmQKICAgICAgICByZXR1cm4gZmlsdGVyQnlDbGFzcyhyZXN1bHRzLCAiaHRtbC13aWRnZXQtb3V0cHV0IiwgZmFsc2UpOwogICAgICB9OwogICAgfSk7CiAgICB3aW5kb3cuSFRNTFdpZGdldHMud2lkZ2V0cy5wdXNoKHN0YXRpY0JpbmRpbmcpOwoKICAgIGlmIChzaGlueU1vZGUpIHsKICAgICAgLy8gU2hpbnkgaXMgcnVubmluZy4gUmVnaXN0ZXIgdGhlIGRlZmluaXRpb24gd2l0aCBhbiBvdXRwdXQgYmluZGluZy4KICAgICAgLy8gVGhlIGRlZmluaXRpb24gaXRzZWxmIHdpbGwgbm90IGJlIHRoZSBvdXRwdXQgYmluZGluZywgaW5zdGVhZAogICAgICAvLyB3ZSB3aWxsIG1ha2UgYW4gb3V0cHV0IGJpbmRpbmcgb2JqZWN0IHRoYXQgZGVsZWdhdGVzIHRvIHRoZQogICAgICAvLyBkZWZpbml0aW9uLiBUaGlzIGlzIGJlY2F1c2Ugd2UgZm9vbGlzaGx5IHVzZWQgdGhlIHNhbWUgbWV0aG9kCiAgICAgIC8vIG5hbWUgKHJlbmRlclZhbHVlKSBmb3IgaHRtbHdpZGdldHMgZGVmaW5pdGlvbiBhbmQgU2hpbnkgYmluZGluZ3MKICAgICAgLy8gYnV0IHRoZXkgYWN0dWFsbHkgaGF2ZSBxdWl0ZSBkaWZmZXJlbnQgc2VtYW50aWNzICh0aGUgU2hpbnkKICAgICAgLy8gYmluZGluZ3MgcmVjZWl2ZSBkYXRhIHRoYXQgaW5jbHVkZXMgbG90cyBvZiBtZXRhZGF0YSB0aGF0IGl0CiAgICAgIC8vIHN0cmlwcyBvZmYgYmVmb3JlIGNhbGxpbmcgaHRtbHdpZGdldHMgcmVuZGVyVmFsdWUpLiBXZSBjYW4ndAogICAgICAvLyBqdXN0IGlnbm9yZSB0aGUgZGlmZmVyZW5jZSBiZWNhdXNlIGluIHNvbWUgd2lkZ2V0cyBpdCdzIGhlbHBmdWwKICAgICAgLy8gdG8gY2FsbCB0aGlzLnJlbmRlclZhbHVlKCkgZnJvbSBpbnNpZGUgb2YgcmVzaXplKCksIGFuZCBpZgogICAgICAvLyB3ZSdyZSBub3QgZGVsZWdhdGluZywgdGhlbiB0aGF0IGNhbGwgd2lsbCBnbyB0byB0aGUgU2hpbnkKICAgICAgLy8gdmVyc2lvbiBpbnN0ZWFkIG9mIHRoZSBodG1sd2lkZ2V0cyB2ZXJzaW9uLgoKICAgICAgLy8gTWVyZ2UgZGVmYXVsdHMgd2l0aCBkZWZpbml0aW9uLCB3aXRob3V0IG11dGF0aW5nIGVpdGhlci4KICAgICAgdmFyIGJpbmRpbmdEZWYgPSBleHRlbmQoe30sIGRlZmF1bHRzLCBkZWZpbml0aW9uKTsKCiAgICAgIC8vIFRoaXMgb2JqZWN0IHdpbGwgYmUgb3VyIGFjdHVhbCBTaGlueSBiaW5kaW5nLgogICAgICB2YXIgc2hpbnlCaW5kaW5nID0gbmV3IFNoaW55Lk91dHB1dEJpbmRpbmcoKTsKCiAgICAgIC8vIFdpdGggYSBmZXcgZXhjZXB0aW9ucywgd2UnbGwgd2FudCB0byBzaW1wbHkgdXNlIHRoZSBiaW5kaW5nRGVmJ3MKICAgICAgLy8gdmVyc2lvbiBvZiBtZXRob2RzIGlmIHRoZXkgYXJlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGZhbGwgYmFjayB0bwogICAgICAvLyBTaGlueSdzIGRlZmF1bHRzLiBOT1RFOiBJZiBTaGlueSdzIG91dHB1dCBiaW5kaW5ncyBnYWluIGFkZGl0aW9uYWwKICAgICAgLy8gbWV0aG9kcyBpbiB0aGUgZnV0dXJlLCBhbmQgd2Ugd2FudCB0aGVtIHRvIGJlIG92ZXJyaWRlYWJsZSBieQogICAgICAvLyBIVE1MV2lkZ2V0IGJpbmRpbmcgZGVmaW5pdGlvbnMsIHRoZW4gd2UnbGwgbmVlZCB0byBhZGQgdGhlbSB0byB0aGlzCiAgICAgIC8vIGxpc3QuCiAgICAgIGRlbGVnYXRlTWV0aG9kKHNoaW55QmluZGluZywgYmluZGluZ0RlZiwgImdldElkIik7CiAgICAgIGRlbGVnYXRlTWV0aG9kKHNoaW55QmluZGluZywgYmluZGluZ0RlZiwgIm9uVmFsdWVDaGFuZ2UiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLCAib25WYWx1ZUVycm9yIik7CiAgICAgIGRlbGVnYXRlTWV0aG9kKHNoaW55QmluZGluZywgYmluZGluZ0RlZiwgInJlbmRlckVycm9yIik7CiAgICAgIGRlbGVnYXRlTWV0aG9kKHNoaW55QmluZGluZywgYmluZGluZ0RlZiwgImNsZWFyRXJyb3IiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLCAic2hvd1Byb2dyZXNzIik7CgogICAgICAvLyBUaGUgZmluZCwgcmVuZGVyVmFsdWUsIGFuZCByZXNpemUgYXJlIGhhbmRsZWQgZGlmZmVyZW50bHksIGJlY2F1c2Ugd2UKICAgICAgLy8gd2FudCB0byBhY3R1YWxseSBkZWNvcmF0ZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGJpbmRpbmdEZWYgbWV0aG9kcy4KCiAgICAgIHNoaW55QmluZGluZy5maW5kID0gZnVuY3Rpb24oc2NvcGUpIHsKICAgICAgICB2YXIgcmVzdWx0cyA9IGJpbmRpbmdEZWYuZmluZChzY29wZSk7CgogICAgICAgIC8vIE9ubHkgcmV0dXJuIGVsZW1lbnRzIHRoYXQgYXJlIFNoaW55IG91dHB1dHMsIG5vdCBzdGF0aWMgb25lcwogICAgICAgIHZhciBkeW5hbWljUmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKCIuaHRtbC13aWRnZXQtb3V0cHV0Iik7CgogICAgICAgIC8vIEl0J3MgcG9zc2libGUgdGhhdCB3aGF0ZXZlciBjYXVzZWQgU2hpbnkgdG8gdGhpbmsgdGhlcmUgbWlnaHQgYmUKICAgICAgICAvLyBuZXcgZHluYW1pYyBvdXRwdXRzLCBhbHNvIGNhdXNlZCB0aGVyZSB0byBiZSBuZXcgc3RhdGljIG91dHB1dHMuCiAgICAgICAgLy8gU2luY2UgdGhlcmUgbWlnaHQgYmUgbG90cyBvZiBkaWZmZXJlbnQgaHRtbHdpZGdldHMgYmluZGluZ3MsIHdlCiAgICAgICAgLy8gc2NoZWR1bGUgZXhlY3V0aW9uIGZvciBsYXRlci0tbm8gbmVlZCB0byBzdGF0aWNSZW5kZXIgbXVsdGlwbGUKICAgICAgICAvLyB0aW1lcy4KICAgICAgICBpZiAocmVzdWx0cy5sZW5ndGggIT09IGR5bmFtaWNSZXN1bHRzLmxlbmd0aCkKICAgICAgICAgIHNjaGVkdWxlU3RhdGljUmVuZGVyKCk7CgogICAgICAgIHJldHVybiBkeW5hbWljUmVzdWx0czsKICAgICAgfTsKCiAgICAgIC8vIFdyYXAgcmVuZGVyVmFsdWUgdG8gaGFuZGxlIGluaXRpYWxpemF0aW9uLCB3aGljaCB1bmZvcnR1bmF0ZWx5IGlzbid0CiAgICAgIC8vIHN1cHBvcnRlZCBuYXRpdmVseSBieSBTaGlueSBhdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcuCgogICAgICBzaGlueUJpbmRpbmcucmVuZGVyVmFsdWUgPSBmdW5jdGlvbihlbCwgZGF0YSkgewogICAgICAgIFNoaW55LnJlbmRlckRlcGVuZGVuY2llcyhkYXRhLmRlcHMpOwogICAgICAgIC8vIFJlc29sdmUgc3RyaW5ncyBtYXJrZWQgYXMgamF2YXNjcmlwdCBsaXRlcmFscyB0byBvYmplY3RzCiAgICAgICAgaWYgKCEoZGF0YS5ldmFscyBpbnN0YW5jZW9mIEFycmF5KSkgZGF0YS5ldmFscyA9IFtkYXRhLmV2YWxzXTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgZGF0YS5ldmFscyAmJiBpIDwgZGF0YS5ldmFscy5sZW5ndGg7IGkrKykgewogICAgICAgICAgd2luZG93LkhUTUxXaWRnZXRzLmV2YWx1YXRlU3RyaW5nTWVtYmVyKGRhdGEueCwgZGF0YS5ldmFsc1tpXSk7CiAgICAgICAgfQogICAgICAgIGlmICghYmluZGluZ0RlZi5yZW5kZXJPbk51bGxWYWx1ZSkgewogICAgICAgICAgaWYgKGRhdGEueCA9PT0gbnVsbCkgewogICAgICAgICAgICBlbC5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAiaW5oZXJpdCI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICghZWxlbWVudERhdGEoZWwsICJpbml0aWFsaXplZCIpKSB7CiAgICAgICAgICBpbml0U2l6aW5nKGVsKTsKCiAgICAgICAgICBlbGVtZW50RGF0YShlbCwgImluaXRpYWxpemVkIiwgdHJ1ZSk7CiAgICAgICAgICBpZiAoYmluZGluZ0RlZi5pbml0aWFsaXplKSB7CiAgICAgICAgICAgIHZhciByZXN1bHQgPSBiaW5kaW5nRGVmLmluaXRpYWxpemUoZWwsIGVsLm9mZnNldFdpZHRoLAogICAgICAgICAgICAgIGVsLm9mZnNldEhlaWdodCk7CiAgICAgICAgICAgIGVsZW1lbnREYXRhKGVsLCAiaW5pdF9yZXN1bHQiLCByZXN1bHQpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBiaW5kaW5nRGVmLnJlbmRlclZhbHVlKGVsLCBkYXRhLngsIGVsZW1lbnREYXRhKGVsLCAiaW5pdF9yZXN1bHQiKSk7CiAgICAgICAgZXZhbEFuZFJ1bihkYXRhLmpzSG9va3MucmVuZGVyLCBlbGVtZW50RGF0YShlbCwgImluaXRfcmVzdWx0IiksIFtlbCwgZGF0YS54XSk7CiAgICAgIH07CgogICAgICAvLyBPbmx5IG92ZXJyaWRlIHJlc2l6ZSBpZiBiaW5kaW5nRGVmIGltcGxlbWVudHMgaXQKICAgICAgaWYgKGJpbmRpbmdEZWYucmVzaXplKSB7CiAgICAgICAgc2hpbnlCaW5kaW5nLnJlc2l6ZSA9IGZ1bmN0aW9uKGVsLCB3aWR0aCwgaGVpZ2h0KSB7CiAgICAgICAgICAvLyBTaGlueSBjYW4gY2FsbCByZXNpemUgYmVmb3JlIGluaXRpYWxpemUvcmVuZGVyVmFsdWUgaGF2ZSBiZWVuCiAgICAgICAgICAvLyBjYWxsZWQsIHdoaWNoIGRvZXNuJ3QgbWFrZSBzZW5zZSBmb3Igd2lkZ2V0cy4KICAgICAgICAgIGlmIChlbGVtZW50RGF0YShlbCwgImluaXRpYWxpemVkIikpIHsKICAgICAgICAgICAgYmluZGluZ0RlZi5yZXNpemUoZWwsIHdpZHRoLCBoZWlnaHQsIGVsZW1lbnREYXRhKGVsLCAiaW5pdF9yZXN1bHQiKSk7CiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgfQoKICAgICAgU2hpbnkub3V0cHV0QmluZGluZ3MucmVnaXN0ZXIoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLm5hbWUpOwogICAgfQogIH07CgogIHZhciBzY2hlZHVsZVN0YXRpY1JlbmRlclRpbWVySWQgPSBudWxsOwogIGZ1bmN0aW9uIHNjaGVkdWxlU3RhdGljUmVuZGVyKCkgewogICAgaWYgKCFzY2hlZHVsZVN0YXRpY1JlbmRlclRpbWVySWQpIHsKICAgICAgc2NoZWR1bGVTdGF0aWNSZW5kZXJUaW1lcklkID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICBzY2hlZHVsZVN0YXRpY1JlbmRlclRpbWVySWQgPSBudWxsOwogICAgICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy5zdGF0aWNSZW5kZXIoKTsKICAgICAgfSwgMSk7CiAgICB9CiAgfQoKICAvLyBSZW5kZXIgc3RhdGljIHdpZGdldHMgYWZ0ZXIgdGhlIGRvY3VtZW50IGZpbmlzaGVzIGxvYWRpbmcKICAvLyBTdGF0aWNhbGx5IHJlbmRlciBhbGwgZWxlbWVudHMgdGhhdCBhcmUgb2YgdGhpcyB3aWRnZXQncyBjbGFzcwogIHdpbmRvdy5IVE1MV2lkZ2V0cy5zdGF0aWNSZW5kZXIgPSBmdW5jdGlvbigpIHsKICAgIHZhciBiaW5kaW5ncyA9IHdpbmRvdy5IVE1MV2lkZ2V0cy53aWRnZXRzIHx8IFtdOwogICAgZm9yRWFjaChiaW5kaW5ncywgZnVuY3Rpb24oYmluZGluZykgewogICAgICB2YXIgbWF0Y2hlcyA9IGJpbmRpbmcuZmluZChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpOwogICAgICBmb3JFYWNoKG1hdGNoZXMsIGZ1bmN0aW9uKGVsKSB7CiAgICAgICAgdmFyIHNpemVPYmogPSBpbml0U2l6aW5nKGVsLCBiaW5kaW5nKTsKCiAgICAgICAgaWYgKGhhc0NsYXNzKGVsLCAiaHRtbC13aWRnZXQtc3RhdGljLWJvdW5kIikpCiAgICAgICAgICByZXR1cm47CiAgICAgICAgZWwuY2xhc3NOYW1lID0gZWwuY2xhc3NOYW1lICsgIiBodG1sLXdpZGdldC1zdGF0aWMtYm91bmQiOwoKICAgICAgICB2YXIgaW5pdFJlc3VsdDsKICAgICAgICBpZiAoYmluZGluZy5pbml0aWFsaXplKSB7CiAgICAgICAgICBpbml0UmVzdWx0ID0gYmluZGluZy5pbml0aWFsaXplKGVsLAogICAgICAgICAgICBzaXplT2JqID8gc2l6ZU9iai5nZXRXaWR0aCgpIDogZWwub2Zmc2V0V2lkdGgsCiAgICAgICAgICAgIHNpemVPYmogPyBzaXplT2JqLmdldEhlaWdodCgpIDogZWwub2Zmc2V0SGVpZ2h0CiAgICAgICAgICApOwogICAgICAgICAgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIsIGluaXRSZXN1bHQpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGJpbmRpbmcucmVzaXplKSB7CiAgICAgICAgICB2YXIgbGFzdFNpemUgPSB7fTsKICAgICAgICAgIHZhciByZXNpemVIYW5kbGVyID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgc2l6ZSA9IHsKICAgICAgICAgICAgICB3OiBzaXplT2JqID8gc2l6ZU9iai5nZXRXaWR0aCgpIDogZWwub2Zmc2V0V2lkdGgsCiAgICAgICAgICAgICAgaDogc2l6ZU9iaiA/IHNpemVPYmouZ2V0SGVpZ2h0KCkgOiBlbC5vZmZzZXRIZWlnaHQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgaWYgKHNpemUudyA9PT0gMCAmJiBzaXplLmggPT09IDApCiAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICBpZiAoc2l6ZS53ID09PSBsYXN0U2l6ZS53ICYmIHNpemUuaCA9PT0gbGFzdFNpemUuaCkKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIGxhc3RTaXplID0gc2l6ZTsKICAgICAgICAgICAgYmluZGluZy5yZXNpemUoZWwsIHNpemUudywgc2l6ZS5oLCBpbml0UmVzdWx0KTsKICAgICAgICAgIH07CgogICAgICAgICAgb24od2luZG93LCAicmVzaXplIiwgcmVzaXplSGFuZGxlcik7CgogICAgICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgZm9yIGNhc2VzIHdoZXJlIHdlJ3JlIHJ1bm5pbmcgaW4gYSBTaGlueQogICAgICAgICAgLy8gYXBwLCBidXQgdGhlIHdpZGdldCBpdHNlbGYgaXMgbm90IGEgU2hpbnkgb3V0cHV0LCBidXQKICAgICAgICAgIC8vIHJhdGhlciBhIHNpbXBsZSBzdGF0aWMgd2lkZ2V0LiBPbmUgZXhhbXBsZSBvZiB0aGlzIGlzCiAgICAgICAgICAvLyBhbiBybWFya2Rvd24gZG9jdW1lbnQgdGhhdCBoYXMgcnVudGltZTpzaGlueSBhbmQgd2lkZ2V0CiAgICAgICAgICAvLyB0aGF0IGlzbid0IGluIGEgcmVuZGVyIGZ1bmN0aW9uLiBTaGlueSBvbmx5IGtub3dzIHRvCiAgICAgICAgICAvLyBjYWxsIHJlc2l6ZSBoYW5kbGVycyBmb3IgU2hpbnkgb3V0cHV0cywgbm90IGZvciBzdGF0aWMKICAgICAgICAgIC8vIHdpZGdldHMsIHNvIHdlIGRvIGl0IG91cnNlbHZlcy4KICAgICAgICAgIGlmICh3aW5kb3cualF1ZXJ5KSB7CiAgICAgICAgICAgIHdpbmRvdy5qUXVlcnkoZG9jdW1lbnQpLm9uKAogICAgICAgICAgICAgICJzaG93bi5odG1sd2lkZ2V0cyBzaG93bi5icy50YWIuaHRtbHdpZGdldHMgc2hvd24uYnMuY29sbGFwc2UuaHRtbHdpZGdldHMiLAogICAgICAgICAgICAgIHJlc2l6ZUhhbmRsZXIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgd2luZG93LmpRdWVyeShkb2N1bWVudCkub24oCiAgICAgICAgICAgICAgImhpZGRlbi5odG1sd2lkZ2V0cyBoaWRkZW4uYnMudGFiLmh0bWx3aWRnZXRzIGhpZGRlbi5icy5jb2xsYXBzZS5odG1sd2lkZ2V0cyIsCiAgICAgICAgICAgICAgcmVzaXplSGFuZGxlcgogICAgICAgICAgICApOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgc3BlY2lmaWMgY2FzZSBvZiBpb3NsaWRlcywgd2hpY2gKICAgICAgICAgIC8vIGZsaXBzIHNsaWRlcyBiZXR3ZWVuIGRpc3BsYXk6bm9uZSBhbmQgZGlzcGxheTpibG9jay4KICAgICAgICAgIC8vIElkZWFsbHkgd2Ugd291bGQgbm90IGhhdmUgdG8gaGF2ZSBpb3NsaWRlLXNwZWNpZmljIGNvZGUKICAgICAgICAgIC8vIGhlcmUsIGJ1dCByYXRoZXIgaGF2ZSBpb3NsaWRlcyByYWlzZSBhIGdlbmVyaWMgZXZlbnQsCiAgICAgICAgICAvLyBidXQgdGhlIHJtYXJrZG93biBwYWNrYWdlIGp1c3Qgd2VudCB0byBDUkFOIHNvIHRoZQogICAgICAgICAgLy8gd2luZG93IHRvIGdldHRpbmcgdGhhdCBmaXhlZCBtYXkgYmUgbG9uZy4KICAgICAgICAgIGlmICh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcikgewogICAgICAgICAgICAvLyBJdCdzIE9LIHRvIGxpbWl0IHRoaXMgdG8gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIKICAgICAgICAgICAgLy8gYnJvd3NlcnMgYmVjYXVzZSBpb3NsaWRlcyBpdHNlbGYgb25seSBzdXBwb3J0cwogICAgICAgICAgICAvLyBzdWNoIGJyb3dzZXJzLgogICAgICAgICAgICBvbihkb2N1bWVudCwgInNsaWRlZW50ZXIiLCByZXNpemVIYW5kbGVyKTsKICAgICAgICAgICAgb24oZG9jdW1lbnQsICJzbGlkZWxlYXZlIiwgcmVzaXplSGFuZGxlcik7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgc2NyaXB0RGF0YSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInNjcmlwdFtkYXRhLWZvcj0nIiArIGVsLmlkICsgIiddW3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nXSIpOwogICAgICAgIGlmIChzY3JpcHREYXRhKSB7CiAgICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2Uoc2NyaXB0RGF0YS50ZXh0Q29udGVudCB8fCBzY3JpcHREYXRhLnRleHQpOwogICAgICAgICAgLy8gUmVzb2x2ZSBzdHJpbmdzIG1hcmtlZCBhcyBqYXZhc2NyaXB0IGxpdGVyYWxzIHRvIG9iamVjdHMKICAgICAgICAgIGlmICghKGRhdGEuZXZhbHMgaW5zdGFuY2VvZiBBcnJheSkpIGRhdGEuZXZhbHMgPSBbZGF0YS5ldmFsc107CiAgICAgICAgICBmb3IgKHZhciBrID0gMDsgZGF0YS5ldmFscyAmJiBrIDwgZGF0YS5ldmFscy5sZW5ndGg7IGsrKykgewogICAgICAgICAgICB3aW5kb3cuSFRNTFdpZGdldHMuZXZhbHVhdGVTdHJpbmdNZW1iZXIoZGF0YS54LCBkYXRhLmV2YWxzW2tdKTsKICAgICAgICAgIH0KICAgICAgICAgIGJpbmRpbmcucmVuZGVyVmFsdWUoZWwsIGRhdGEueCwgaW5pdFJlc3VsdCk7CiAgICAgICAgICBldmFsQW5kUnVuKGRhdGEuanNIb29rcy5yZW5kZXIsIGluaXRSZXN1bHQsIFtlbCwgZGF0YS54XSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0pOwoKICAgIGludm9rZVBvc3RSZW5kZXJIYW5kbGVycygpOwogIH0KCiAgLy8gV2FpdCB1bnRpbCBhZnRlciB0aGUgZG9jdW1lbnQgaGFzIGxvYWRlZCB0byByZW5kZXIgdGhlIHdpZGdldHMuCiAgaWYgKGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBmdW5jdGlvbigpIHsKICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGFyZ3VtZW50cy5jYWxsZWUsIGZhbHNlKTsKICAgICAgd2luZG93LkhUTUxXaWRnZXRzLnN0YXRpY1JlbmRlcigpOwogICAgfSwgZmFsc2UpOwogIH0gZWxzZSBpZiAoZG9jdW1lbnQuYXR0YWNoRXZlbnQpIHsKICAgIGRvY3VtZW50LmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLCBmdW5jdGlvbigpIHsKICAgICAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICJjb21wbGV0ZSIpIHsKICAgICAgICBkb2N1bWVudC5kZXRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIiwgYXJndW1lbnRzLmNhbGxlZSk7CiAgICAgICAgd2luZG93LkhUTUxXaWRnZXRzLnN0YXRpY1JlbmRlcigpOwogICAgICB9CiAgICB9KTsKICB9CgoKICB3aW5kb3cuSFRNTFdpZGdldHMuZ2V0QXR0YWNobWVudFVybCA9IGZ1bmN0aW9uKGRlcG5hbWUsIGtleSkgewogICAgLy8gSWYgbm8ga2V5LCBkZWZhdWx0IHRvIHRoZSBmaXJzdCBpdGVtCiAgICBpZiAodHlwZW9mKGtleSkgPT09ICJ1bmRlZmluZWQiKQogICAgICBrZXkgPSAxOwoKICAgIHZhciBsaW5rID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZGVwbmFtZSArICItIiArIGtleSArICItYXR0YWNobWVudCIpOwogICAgaWYgKCFsaW5rKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiQXR0YWNobWVudCAiICsgZGVwbmFtZSArICIvIiArIGtleSArICIgbm90IGZvdW5kIGluIGRvY3VtZW50Iik7CiAgICB9CiAgICByZXR1cm4gbGluay5nZXRBdHRyaWJ1dGUoImhyZWYiKTsKICB9OwoKICB3aW5kb3cuSFRNTFdpZGdldHMuZGF0YWZyYW1lVG9EMyA9IGZ1bmN0aW9uKGRmKSB7CiAgICB2YXIgbmFtZXMgPSBbXTsKICAgIHZhciBsZW5ndGg7CiAgICBmb3IgKHZhciBuYW1lIGluIGRmKSB7CiAgICAgICAgaWYgKGRmLmhhc093blByb3BlcnR5KG5hbWUpKQogICAgICAgICAgICBuYW1lcy5wdXNoKG5hbWUpOwogICAgICAgIGlmICh0eXBlb2YoZGZbbmFtZV0pICE9PSAib2JqZWN0IiB8fCB0eXBlb2YoZGZbbmFtZV0ubGVuZ3RoKSA9PT0gInVuZGVmaW5lZCIpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJBbGwgZmllbGRzIG11c3QgYmUgYXJyYXlzIik7CiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YobGVuZ3RoKSAhPT0gInVuZGVmaW5lZCIgJiYgbGVuZ3RoICE9PSBkZltuYW1lXS5sZW5ndGgpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJBbGwgZmllbGRzIG11c3QgYmUgYXJyYXlzIG9mIHRoZSBzYW1lIGxlbmd0aCIpOwogICAgICAgIH0KICAgICAgICBsZW5ndGggPSBkZltuYW1lXS5sZW5ndGg7CiAgICB9CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgdmFyIGl0ZW07CiAgICBmb3IgKHZhciByb3cgPSAwOyByb3cgPCBsZW5ndGg7IHJvdysrKSB7CiAgICAgICAgaXRlbSA9IHt9OwogICAgICAgIGZvciAodmFyIGNvbCA9IDA7IGNvbCA8IG5hbWVzLmxlbmd0aDsgY29sKyspIHsKICAgICAgICAgICAgaXRlbVtuYW1lc1tjb2xdXSA9IGRmW25hbWVzW2NvbF1dW3Jvd107CiAgICAgICAgfQogICAgICAgIHJlc3VsdHMucHVzaChpdGVtKTsKICAgIH0KICAgIHJldHVybiByZXN1bHRzOwogIH07CgogIHdpbmRvdy5IVE1MV2lkZ2V0cy50cmFuc3Bvc2VBcnJheTJEID0gZnVuY3Rpb24oYXJyYXkpIHsKICAgICAgaWYgKGFycmF5Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIGFycmF5OwogICAgICB2YXIgbmV3QXJyYXkgPSBhcnJheVswXS5tYXAoZnVuY3Rpb24oY29sLCBpKSB7CiAgICAgICAgICByZXR1cm4gYXJyYXkubWFwKGZ1bmN0aW9uKHJvdykgewogICAgICAgICAgICAgIHJldHVybiByb3dbaV0KICAgICAgICAgIH0pCiAgICAgIH0pOwogICAgICByZXR1cm4gbmV3QXJyYXk7CiAgfTsKICAvLyBTcGxpdCB2YWx1ZSBhdCBzcGxpdENoYXIsIGJ1dCBhbGxvdyBzcGxpdENoYXIgdG8gYmUgZXNjYXBlZAogIC8vIHVzaW5nIGVzY2FwZUNoYXIuIEFueSBvdGhlciBjaGFyYWN0ZXJzIGVzY2FwZWQgYnkgZXNjYXBlQ2hhcgogIC8vIHdpbGwgYmUgaW5jbHVkZWQgYXMgdXN1YWwgKGluY2x1ZGluZyBlc2NhcGVDaGFyIGl0c2VsZikuCiAgZnVuY3Rpb24gc3BsaXRXaXRoRXNjYXBlKHZhbHVlLCBzcGxpdENoYXIsIGVzY2FwZUNoYXIpIHsKICAgIHZhciByZXN1bHRzID0gW107CiAgICB2YXIgZXNjYXBlTW9kZSA9IGZhbHNlOwogICAgdmFyIGN1cnJlbnRSZXN1bHQgPSAiIjsKICAgIGZvciAodmFyIHBvcyA9IDA7IHBvcyA8IHZhbHVlLmxlbmd0aDsgcG9zKyspIHsKICAgICAgaWYgKCFlc2NhcGVNb2RlKSB7CiAgICAgICAgaWYgKHZhbHVlW3Bvc10gPT09IHNwbGl0Q2hhcikgewogICAgICAgICAgcmVzdWx0cy5wdXNoKGN1cnJlbnRSZXN1bHQpOwogICAgICAgICAgY3VycmVudFJlc3VsdCA9ICIiOwogICAgICAgIH0gZWxzZSBpZiAodmFsdWVbcG9zXSA9PT0gZXNjYXBlQ2hhcikgewogICAgICAgICAgZXNjYXBlTW9kZSA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGN1cnJlbnRSZXN1bHQgKz0gdmFsdWVbcG9zXTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY3VycmVudFJlc3VsdCArPSB2YWx1ZVtwb3NdOwogICAgICAgIGVzY2FwZU1vZGUgPSBmYWxzZTsKICAgICAgfQogICAgfQogICAgaWYgKGN1cnJlbnRSZXN1bHQgIT09ICIiKSB7CiAgICAgIHJlc3VsdHMucHVzaChjdXJyZW50UmVzdWx0KTsKICAgIH0KICAgIHJldHVybiByZXN1bHRzOwogIH0KICAvLyBGdW5jdGlvbiBhdXRob3JlZCBieSBZaWh1aS9KSiBBbGxhaXJlCiAgd2luZG93LkhUTUxXaWRnZXRzLmV2YWx1YXRlU3RyaW5nTWVtYmVyID0gZnVuY3Rpb24obywgbWVtYmVyKSB7CiAgICB2YXIgcGFydHMgPSBzcGxpdFdpdGhFc2NhcGUobWVtYmVyLCAnLicsICdcXCcpOwogICAgZm9yICh2YXIgaSA9IDAsIGwgPSBwYXJ0cy5sZW5ndGg7IGkgPCBsOyBpKyspIHsKICAgICAgdmFyIHBhcnQgPSBwYXJ0c1tpXTsKICAgICAgLy8gcGFydCBtYXkgYmUgYSBjaGFyYWN0ZXIgb3IgJ251bWVyaWMnIG1lbWJlciBuYW1lCiAgICAgIGlmIChvICE9PSBudWxsICYmIHR5cGVvZiBvID09PSAib2JqZWN0IiAmJiBwYXJ0IGluIG8pIHsKICAgICAgICBpZiAoaSA9PSAobCAtIDEpKSB7IC8vIGlmIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lIHRoZW4gZXZhbHVsYXRlCiAgICAgICAgICBpZiAodHlwZW9mIG9bcGFydF0gPT09ICJzdHJpbmciKQogICAgICAgICAgICBvW3BhcnRdID0gZXZhbCgiKCIgKyBvW3BhcnRdICsgIikiKTsKICAgICAgICB9IGVsc2UgeyAvLyBvdGhlcndpc2UgY29udGludWUgdG8gbmV4dCBlbWJlZGRlZCBvYmplY3QKICAgICAgICAgIG8gPSBvW3BhcnRdOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH07CgogIC8vIFJldHJpZXZlIHRoZSBIVE1MV2lkZ2V0IGluc3RhbmNlIChpLmUuIHRoZSByZXR1cm4gdmFsdWUgb2YgYW4KICAvLyBIVE1MV2lkZ2V0IGJpbmRpbmcncyBpbml0aWFsaXplKCkgb3IgZmFjdG9yeSgpIGZ1bmN0aW9uKQogIC8vIGFzc29jaWF0ZWQgd2l0aCBhbiBlbGVtZW50LCBvciBudWxsIGlmIG5vbmUuCiAgd2luZG93LkhUTUxXaWRnZXRzLmdldEluc3RhbmNlID0gZnVuY3Rpb24oZWwpIHsKICAgIHJldHVybiBlbGVtZW50RGF0YShlbCwgImluaXRfcmVzdWx0Iik7CiAgfTsKCiAgLy8gRmluZHMgdGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhlIHNjb3BlIHRoYXQgbWF0Y2hlcyB0aGUgc2VsZWN0b3IsCiAgLy8gYW5kIHJldHVybnMgdGhlIEhUTUxXaWRnZXQgaW5zdGFuY2UgKGkuZS4gdGhlIHJldHVybiB2YWx1ZSBvZgogIC8vIGFuIEhUTUxXaWRnZXQgYmluZGluZydzIGluaXRpYWxpemUoKSBvciBmYWN0b3J5KCkgZnVuY3Rpb24pCiAgLy8gYXNzb2NpYXRlZCB3aXRoIHRoYXQgZWxlbWVudCwgaWYgYW55LiBJZiBubyBlbGVtZW50IG1hdGNoZXMgdGhlCiAgLy8gc2VsZWN0b3IsIG9yIHRoZSBmaXJzdCBtYXRjaGluZyBlbGVtZW50IGhhcyBubyBIVE1MV2lkZ2V0CiAgLy8gaW5zdGFuY2UgYXNzb2NpYXRlZCB3aXRoIGl0LCB0aGVuIG51bGwgaXMgcmV0dXJuZWQuCiAgLy8KICAvLyBUaGUgc2NvcGUgYXJndW1lbnQgaXMgb3B0aW9uYWwsIGFuZCBkZWZhdWx0cyB0byB3aW5kb3cuZG9jdW1lbnQuCiAgd2luZG93LkhUTUxXaWRnZXRzLmZpbmQgPSBmdW5jdGlvbihzY29wZSwgc2VsZWN0b3IpIHsKICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHsKICAgICAgc2VsZWN0b3IgPSBzY29wZTsKICAgICAgc2NvcGUgPSBkb2N1bWVudDsKICAgIH0KCiAgICB2YXIgZWwgPSBzY29wZS5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTsKICAgIGlmIChlbCA9PT0gbnVsbCkgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiB3aW5kb3cuSFRNTFdpZGdldHMuZ2V0SW5zdGFuY2UoZWwpOwogICAgfQogIH07CgogIC8vIEZpbmRzIGFsbCBlbGVtZW50cyBpbiB0aGUgc2NvcGUgdGhhdCBtYXRjaCB0aGUgc2VsZWN0b3IsIGFuZAogIC8vIHJldHVybnMgdGhlIEhUTUxXaWRnZXQgaW5zdGFuY2VzIChpLmUuIHRoZSByZXR1cm4gdmFsdWVzIG9mCiAgLy8gYW4gSFRNTFdpZGdldCBiaW5kaW5nJ3MgaW5pdGlhbGl6ZSgpIG9yIGZhY3RvcnkoKSBmdW5jdGlvbikKICAvLyBhc3NvY2lhdGVkIHdpdGggdGhlIGVsZW1lbnRzLCBpbiBhbiBhcnJheS4gSWYgZWxlbWVudHMgdGhhdAogIC8vIG1hdGNoIHRoZSBzZWxlY3RvciBkb24ndCBoYXZlIGFuIGFzc29jaWF0ZWQgSFRNTFdpZGdldAogIC8vIGluc3RhbmNlLCB0aGUgcmV0dXJuZWQgYXJyYXkgd2lsbCBjb250YWluIG51bGxzLgogIC8vCiAgLy8gVGhlIHNjb3BlIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCBhbmQgZGVmYXVsdHMgdG8gd2luZG93LmRvY3VtZW50LgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5maW5kQWxsID0gZnVuY3Rpb24oc2NvcGUsIHNlbGVjdG9yKSB7CiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgIHNlbGVjdG9yID0gc2NvcGU7CiAgICAgIHNjb3BlID0gZG9jdW1lbnQ7CiAgICB9CgogICAgdmFyIG5vZGVzID0gc2NvcGUucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlcy5sZW5ndGg7IGkrKykgewogICAgICByZXN1bHRzLnB1c2god2luZG93LkhUTUxXaWRnZXRzLmdldEluc3RhbmNlKG5vZGVzW2ldKSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0czsKICB9OwoKICB2YXIgcG9zdFJlbmRlckhhbmRsZXJzID0gW107CiAgZnVuY3Rpb24gaW52b2tlUG9zdFJlbmRlckhhbmRsZXJzKCkgewogICAgd2hpbGUgKHBvc3RSZW5kZXJIYW5kbGVycy5sZW5ndGgpIHsKICAgICAgdmFyIGhhbmRsZXIgPSBwb3N0UmVuZGVySGFuZGxlcnMuc2hpZnQoKTsKICAgICAgaWYgKGhhbmRsZXIpIHsKICAgICAgICBoYW5kbGVyKCk7CiAgICAgIH0KICAgIH0KICB9CgogIC8vIFJlZ2lzdGVyIHRoZSBnaXZlbiBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBpbnZva2VkIGFmdGVyIHRoZQogIC8vIG5leHQgdGltZSBzdGF0aWMgd2lkZ2V0cyBhcmUgcmVuZGVyZWQuCiAgd2luZG93LkhUTUxXaWRnZXRzLmFkZFBvc3RSZW5kZXJIYW5kbGVyID0gZnVuY3Rpb24oY2FsbGJhY2spIHsKICAgIHBvc3RSZW5kZXJIYW5kbGVycy5wdXNoKGNhbGxiYWNrKTsKICB9OwoKICAvLyBUYWtlcyBhIG5ldy1zdHlsZSBpbnN0YW5jZS1ib3VuZCBkZWZpbml0aW9uLCBhbmQgcmV0dXJucyBhbgogIC8vIG9sZC1zdHlsZSBjbGFzcy1ib3VuZCBkZWZpbml0aW9uLiBUaGlzIHNhdmVzIHVzIGZyb20gaGF2aW5nCiAgLy8gdG8gcmV3cml0ZSBhbGwgdGhlIGxvZ2ljIGluIHRoaXMgZmlsZSB0byBhY2NvbW9kYXRlIGJvdGgKICAvLyB0eXBlcyBvZiBkZWZpbml0aW9ucy4KICBmdW5jdGlvbiBjcmVhdGVMZWdhY3lEZWZpbml0aW9uQWRhcHRlcihkZWZuKSB7CiAgICB2YXIgcmVzdWx0ID0gewogICAgICBuYW1lOiBkZWZuLm5hbWUsCiAgICAgIHR5cGU6IGRlZm4udHlwZSwKICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQpIHsKICAgICAgICByZXR1cm4gZGVmbi5mYWN0b3J5KGVsLCB3aWR0aCwgaGVpZ2h0KTsKICAgICAgfSwKICAgICAgcmVuZGVyVmFsdWU6IGZ1bmN0aW9uKGVsLCB4LCBpbnN0YW5jZSkgewogICAgICAgIHJldHVybiBpbnN0YW5jZS5yZW5kZXJWYWx1ZSh4KTsKICAgICAgfSwKICAgICAgcmVzaXplOiBmdW5jdGlvbihlbCwgd2lkdGgsIGhlaWdodCwgaW5zdGFuY2UpIHsKICAgICAgICByZXR1cm4gaW5zdGFuY2UucmVzaXplKHdpZHRoLCBoZWlnaHQpOwogICAgICB9CiAgICB9OwoKICAgIGlmIChkZWZuLmZpbmQpCiAgICAgIHJlc3VsdC5maW5kID0gZGVmbi5maW5kOwogICAgaWYgKGRlZm4ucmVuZGVyRXJyb3IpCiAgICAgIHJlc3VsdC5yZW5kZXJFcnJvciA9IGRlZm4ucmVuZGVyRXJyb3I7CiAgICBpZiAoZGVmbi5jbGVhckVycm9yKQogICAgICByZXN1bHQuY2xlYXJFcnJvciA9IGRlZm4uY2xlYXJFcnJvcjsKCiAgICByZXR1cm4gcmVzdWx0OwogIH0KfSkoKTsKCg=="></script> <link href="data:text/css;charset=utf-8,div%2Ejsoneditor%2Cdiv%2Ejsoneditor%2Douter%7B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%7Ddiv%2Ejsoneditor%20input%7Bheight%3Aauto%3Bborder%3Ainherit%7Ddiv%2Ejsoneditor%20input%3Afocus%7Bborder%3Anone%21important%3Bbox%2Dshadow%3Anone%21important%7Ddiv%2Ejsoneditor%20table%7Bborder%2Dcollapse%3Acollapse%3Bwidth%3Aauto%7Ddiv%2Ejsoneditor%20td%2Cdiv%2Ejsoneditor%20th%7Bpadding%3A0%3Bdisplay%3Atable%2Dcell%3Btext%2Dalign%3Aleft%3Bvertical%2Dalign%3Ainherit%3Bborder%2Dradius%3Ainherit%7Ddiv%2Ejsoneditor%2Dfield%2Cdiv%2Ejsoneditor%2Dreadonly%2Cdiv%2Ejsoneditor%2Dvalue%7Bborder%3A1px%20solid%20transparent%3Bmin%2Dheight%3A16px%3Bmin%2Dwidth%3A32px%3Bpadding%3A2px%3Bmargin%3A1px%3Bword%2Dwrap%3Abreak%2Dword%3Bfloat%3Aleft%7Ddiv%2Ejsoneditor%2Dfield%20p%2Cdiv%2Ejsoneditor%2Dvalue%20p%7Bmargin%3A0%7Ddiv%2Ejsoneditor%2Dvalue%7Bword%2Dbreak%3Abreak%2Dword%7Ddiv%2Ejsoneditor%2Dreadonly%7Bmin%2Dwidth%3A16px%3Bcolor%3Agray%7Ddiv%2Ejsoneditor%2Dempty%7Bborder%2Dcolor%3A%23d3d3d3%3Bborder%2Dstyle%3Adashed%3Bborder%2Dradius%3A2px%7Ddiv%2Ejsoneditor%2Dfield%2Ejsoneditor%2Dempty%3A%3Aafter%2Cdiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Dempty%3A%3Aafter%7Bpointer%2Devents%3Anone%3Bcolor%3A%23d3d3d3%3Bfont%2Dsize%3A8pt%7Ddiv%2Ejsoneditor%2Dfield%2Ejsoneditor%2Dempty%3A%3Aafter%7Bcontent%3A%22field%22%7Ddiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Dempty%3A%3Aafter%7Bcontent%3A%22value%22%7Da%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Durl%2Cdiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Durl%7Bcolor%3Agreen%3Btext%2Ddecoration%3Aunderline%7Da%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Durl%7Bdisplay%3Ainline%2Dblock%3Bpadding%3A2px%3Bmargin%3A2px%7Da%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Durl%3Afocus%2Ca%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Durl%3Ahover%7Bcolor%3A%23ee422e%7Ddiv%2Ejsoneditor%20td%2Ejsoneditor%2Dseparator%7Bpadding%3A3px%200%3Bvertical%2Dalign%3Atop%3Bcolor%3Agray%7Ddiv%2Ejsoneditor%2Dfield%2Ejsoneditor%2Dhighlight%2Cdiv%2Ejsoneditor%2Dfield%5Bcontenteditable%3Dtrue%5D%3Afocus%2Cdiv%2Ejsoneditor%2Dfield%5Bcontenteditable%3Dtrue%5D%3Ahover%2Cdiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Dhighlight%2Cdiv%2Ejsoneditor%2Dvalue%5Bcontenteditable%3Dtrue%5D%3Afocus%2Cdiv%2Ejsoneditor%2Dvalue%5Bcontenteditable%3Dtrue%5D%3Ahover%7Bbackground%2Dcolor%3A%23FFFFAB%3Bborder%3A1px%20solid%20%23ff0%3Bborder%2Dradius%3A2px%7Ddiv%2Ejsoneditor%2Dfield%2Ejsoneditor%2Dhighlight%2Dactive%2Cdiv%2Ejsoneditor%2Dfield%2Ejsoneditor%2Dhighlight%2Dactive%3Afocus%2Cdiv%2Ejsoneditor%2Dfield%2Ejsoneditor%2Dhighlight%2Dactive%3Ahover%2Cdiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Dhighlight%2Dactive%2Cdiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Dhighlight%2Dactive%3Afocus%2Cdiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Dhighlight%2Dactive%3Ahover%7Bbackground%2Dcolor%3A%23fe0%3Bborder%3A1px%20solid%20%23ffc700%3Bborder%2Dradius%3A2px%7Ddiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Dstring%7Bcolor%3Agreen%7Ddiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Darray%2Cdiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Dobject%7Bmin%2Dwidth%3A16px%3Bcolor%3Agrey%7Ddiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Dnumber%7Bcolor%3A%23ee422e%7Ddiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Dboolean%7Bcolor%3A%23ff8c00%7Ddiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Dnull%7Bcolor%3A%23004ED0%7Ddiv%2Ejsoneditor%2Dvalue%2Ejsoneditor%2Dinvalid%7Bcolor%3A%23000%7Ddiv%2Ejsoneditor%2Dtree%20button%7Bwidth%3A24px%3Bheight%3A24px%3Bpadding%3A0%3Bmargin%3A0%3Bborder%3Anone%3Bcursor%3Apointer%3Bbackground%3Aurl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8%2BCjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgd2lkdGg9IjIxNiIKICAgaGVpZ2h0PSIxNDQiCiAgIGlkPSJzdmc0MTM2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTEgciIKICAgc29kaXBvZGk6ZG9jbmFtZT0ianNvbmVkaXRvci1pY29ucy5zdmciPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTY1MTIiPkpTT04gRWRpdG9yIEljb25zPC90aXRsZT4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0MTQ4Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI%2BCiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ%2BCiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT5KU09OIEVkaXRvciBJY29uczwvZGM6dGl0bGU%2BCiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0MTQ2IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI4IgogICAgIGlkPSJuYW1lZHZpZXc0MTQ0IgogICAgIHNob3dncmlkPSJ0cnVlIgogICAgIGlua3NjYXBlOnpvb209IjQiCiAgICAgaW5rc2NhcGU6Y3g9Ijk3LjIxNzI0OCIKICAgICBpbmtzY2FwZTpjeT0iNTkuOTUwMjI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNDEzNiIKICAgICBzaG93Z3VpZGVzPSJmYWxzZSIKICAgICBib3JkZXJsYXllcj0iZmFsc2UiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9InRydWUiCiAgICAgc2hvd2JvcmRlcj0idHJ1ZSI%2BCiAgICA8aW5rc2NhcGU6Z3JpZAogICAgICAgdHlwZT0ieHlncmlkIgogICAgICAgaWQ9ImdyaWQ0NjQwIgogICAgICAgZW1wc3BhY2luZz0iMjQiIC8%2BCiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc%2BCiAgPCEtLSBDcmVhdGVkIHdpdGggU1ZHLWVkaXQgLSBodHRwOi8vc3ZnLWVkaXQuZ29vZ2xlY29kZS5jb20vIC0tPgogIDxnCiAgICAgaWQ9Imc0Mzk0Ij4KICAgIDxyZWN0CiAgICAgICB4PSI0IgogICAgICAgeT0iNCIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEiCiAgICAgICBzdHlsZT0iZmlsbDojMWFhZTFjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNlYzNmMjk7ZmlsbC1vcGFjaXR5OjAuOTQxMTc2NDc7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIyOC4wMDAwMDYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEtNyIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQxNjUiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgeT0iMy45OTk5OTUiCiAgICAgICB4PSI1Mi4wMDAwMDQiCiAgICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxNzIuMDAwMDIiCiAgICAgICB5PSIzLjk5OTk4NTIiCiAgICAgICB3aWR0aD0iMTYiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgaWQ9InJlY3Q0MTc1IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxOTYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0icmVjdDQxNzUtMyIgLz4KICAgIDxnCiAgICAgICBzdHlsZT0ic3Ryb2tlOm5vbmUiCiAgICAgICBpZD0iZzQyOTkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICAgIHk9IjEwLjk5OTk5OCIKICAgICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMS0xIgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8ZwogICAgICAgc3R5bGU9InN0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC43MDcxMDY3OCwtMC43MDcxMDY3OCwwLjcwNzEwNjc4LDAuNzA3MTA2NzgsMTkuMDI5NDM1LDEyLjAwMDAwMSkiCiAgICAgICBpZD0iZzQyOTktMyI%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIGlkPSJzdmdfMS0xLTAiCiAgICAgICAgIGhlaWdodD0iMS45OTk5OTg2IgogICAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICAgIHg9IjcuMDAwMDA0OCIgLz4KICAgICAgPHJlY3QKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgICAgaWQ9InN2Z18xLTEtMS05IgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjU1LjAwMDAwNCIKICAgICAgIHk9IjcuMDAwMDA0OCIKICAgICAgIHdpZHRoPSI2Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICAgIGlkPSJzdmdfMS03LTUiIC8%2BCiAgICA8cmVjdAogICAgICAgaWQ9InJlY3Q0MzU0IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgeT0iMTAuMDAwMDEiCiAgICAgICB4PSI1OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojM2M4MGRmO3N0cm9rZS13aWR0aDowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjAuOTQxMTc2NDciCiAgICAgICB4PSI1OC4wMDAwMDQiCiAgICAgICB5PSIxMC4wMDAwMDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICBpZD0ic3ZnXzEtNy01LTciIC8%2BCiAgICA8ZwogICAgICAgaWQ9Imc0Mzc4Ij4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InN2Z18xLTctNS0zIgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgeT0iMTAuOTk5OTk5IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIHg9IjE5OCIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB3aWR0aD0iMTEuOTk5OTk1IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgaWQ9InJlY3Q0Mzc0IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIGlkPSJyZWN0NDM3NiIgLz4KICAgIDwvZz4KICAgIDxnCiAgICAgICBpZD0iZzQzODMiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDIzLjk5OTk5NSkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5NjUiCiAgICAgICAgIGlkPSJyZWN0NDM4NSIgLz4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InJlY3Q0Mzg3IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgd2lkdGg9IjExLjk5OTk5NSIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIGlkPSJyZWN0NDM4OSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIHdpZHRoPSIzLjk5OTk5MjgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgeD0iMTk4IgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPC9nPgogICAgPHJlY3QKICAgICAgIHk9IjMuOTk5OTE5OSIKICAgICAgIHg9Ijc2IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC00IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNDM1MSIKICAgICAgIGQ9Im0gODUuMTA0NDcsNi4wMTU3Mzg0IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OSwtMC4yNDAyIDAuMzMwMDgsMy42NTA3OTk2IDIuNDg0MzgsNC41NzgwOTk2IC0yLjE4Njk0LDEuMDkzOCAwLjQ5MTkxLDQuOTA2OSAtMi40NTMxMyw0LjU3ODEgbCAtMC4wMTU2LDEuNDIxOSBjIDUuNzA4MjgsMC41NTkgMS4wMzI2NCwtNS4xMDA1IDQuNzAzMTMsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIC0zLjYxMzAzLC0wLjAyNyAxLjExODkzLC01LjcwNjk5OTYgLTQuNzAzMTMsLTUuMzEyNDk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4yO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpZD0icGF0aDQzNTEtOSIKICAgICAgIGQ9Im0gODIuNzgxMjUsNS45OTg0Mzg0IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA3LDMuNjUwNjk5NiAtMi40ODQzNyw0LjU3ODA5OTYgMi4xODY5NCwxLjA5MzggLTAuNDkxOTIsNC45MDY5IDIuNDUzMTIsNC41NzgxIGwgMC4wMTU2LDEuNDIxOSBjIC01LjcwODI3LDAuNTU5IC0xLjAzMjYzLC01LjEwMDQgLTQuNzAzMTIsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIDMuNjEzMDMsLTAuMDI3IC0xLjExODk0LC01LjcwNzA5OTYgNC43MDMxMiwtNS4zMTI0OTk2IHoiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjI7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxMDAiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTI1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3IgogICAgICAgZD0ibSAxMDMuNzE5LDUuNjcxOTM4NCAwLDEyLjcxODc5OTYgMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAxLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3LTEiCiAgICAgICBkPSJtIDExMi4yMTg1LDUuNjcyMTk4NCAwLDEyLjcxODc5OTYgLTMuMDMxMjUsMCAwLC0xLjUzMTMgMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAtMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cmVjdAogICAgICAgeT0iMy45OTk5MTk5IgogICAgICAgeD0iMTI0IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC03MyIKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgzNzgwIgogICAgICAgZD0ibSAxMjYuMjgyNCwxNy42MDI5MzggMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MSA1LjY1MzY0LDAgMS4xNDg1NiwyLjg2NDEgMS43NjU2NSwwIC00Ljc4Njg3LC0xMS4xNjEwOTk2IC0xLjkxOTAzLDAgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoMzc4MiIKICAgICAgIGQ9Im0gMTI5LjcyNzA0LDEzLjQ3ODgzOCA0LjYwODUyLDAuMDEgLTIuMzA0MjYsLTUuNTQ5Nzk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxNDgiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTM1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGg1MDA4LTIiCiAgICAgICBkPSJtIDE1Ni40NzY1NSw1Ljg5MTczODQgMCwyLjE3OTcgMC40NjA5MywyLjM5ODM5OTYgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNTAwOC0yLTgiCiAgICAgICBkPSJtIDE1Mi41MTU2MSw1Ljg5MDYzODQgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODM5OTYgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgeD0iNCIKICAgICB5PSIyNy45OTk5OTQiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDMyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjI4LjAwMDAwNiIKICAgICB5PSIyNy45OTk5OSIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICBpZD0icmVjdDQ0MzQiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0MzYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB3aWR0aD0iMTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgeD0iNTIuMDAwMDA0IgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjE3Mi4wMDAwMiIKICAgICB5PSIyNy45OTk5ODEiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxOTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ4IiAvPgogIDxnCiAgICAgaWQ9Imc0NDY2IgogICAgIHN0eWxlPSJzdHJva2U6bm9uZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NjgiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk4NiIKICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICB4PSI3LjAwMDAwNDgiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgIGlkPSJyZWN0NDQ3MCIKICAgICAgIGhlaWdodD0iOS45OTk5ODM4IgogICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgIHk9IjcuMDAwMDExNCIKICAgICAgIHg9IjExLjAwMDAwNSIgLz4KICA8L2c%2BCiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LC0wLjcwNzEwNjc4LDAuNzA3MTA2NzgsMC43MDcxMDY3OCwxOS4wMjk0MzUsMzUuOTk5OTk2KSIKICAgICBpZD0iZzQ0NzIiCiAgICAgc3R5bGU9InN0cm9rZTpub25lIj4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgaWQ9InJlY3Q0NDc0IgogICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgeT0iMTAuOTk5OTk4IgogICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NzYiCiAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgIHdpZHRoPSIxLjk5OTk5NTUiCiAgICAgICB5PSI3LjAwMDAxMTQiCiAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NS4wMDAwMDQiCiAgICAgeT0iMzEiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ0NzgiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0ODAiCiAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICB5PSIzNC4wMDAwMDgiCiAgICAgeD0iNTgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgeD0iNTguMDAwMDA0IgogICAgIHk9IjM0LjAwMDAwNCIKICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgIGhlaWdodD0iNi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDQ4MiIgLz4KICA8ZwogICAgIGlkPSJnNDQ4NCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ4NiIKICAgICAgIGhlaWdodD0iMS45OTk5OTY1IgogICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjcuMDAwMDAwNSIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIGlkPSJyZWN0NDQ4OCIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgeD0iMTk4IgogICAgICAgeT0iMTQuOTk5OTk2IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgaWQ9InJlY3Q0NDkwIiAvPgogIDwvZz4KICA8ZwogICAgIGlkPSJnNDQ5MiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDQ3Ljk5OTk5KSI%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHdpZHRoPSI3Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgIGlkPSJyZWN0NDQ5NCIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQ0OTYiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICB5PSI3LjAwMDAwMDUiCiAgICAgICB4PSIxOTgiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ5OCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtOCIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB4PSI3NiIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODUuMTA0NDgsMzAuMDE1NTM3IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OCwtMC4yNDAyIDAuMzMwMDcsMy42NTA4IDIuNDg0MzgsNC41NzgxIC0yLjE4Njk1LDEuMDkzOCAwLjQ5MTkxLDQuOTA2ODggLTIuNDUzMTMsNC41NzgwOCBsIC0wLjAxNTYsMS40MjE5IGMgNS43MDgyNywwLjU1OSAxLjAzMjYzLC01LjEwMDQ4IDQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAtMy42MTMwNCwtMC4wMjcgMS4xMTg5MywtNS43MDcgLTQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODIuNzgxMjYsMjkuOTk4MjM3IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA4LDMuNjUwNyAtMi40ODQzOCw0LjU3ODEgMi4xODY5NCwxLjA5MzggLTAuNDkxOTEsNC45MDY4OCAyLjQ1MzEzLDQuNTc4MDggbCAwLjAxNTYsMS40MjE5IGMgLTUuNzA4MjgsMC41NTkgLTEuMDMyNjQsLTUuMTAwMzggLTQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAzLjYxMzAzLC0wLjAyNyAtMS4xMTg5MywtNS43MDcxIDQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS05LTUiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNjUiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTAwIgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEwMy43MTksMjkuNjcxOTM3IDAsMTIuNzE4NzggMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTggMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICBpZD0icGF0aDI5ODctOCIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDExMi4yMTg1LDI5LjY3MTkzNyAwLDEyLjcxODc4IC0zLjAzMTI1LDAgMCwtMS41MzEzIDEuMzQzNzUsMCAwLC05LjYyNDk4IC0xLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgIGlkPSJwYXRoMjk4Ny0xLTkiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgaWQ9InJlY3QzNzU0LTkyIgogICAgIHdpZHRoPSIxNiIKICAgICBoZWlnaHQ9IjE2IgogICAgIHg9IjEyNCIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgZD0ibSAxMjYuMjgyNCw0MS42MDI5MTcgMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MDggNS42NTM2NCwwIDEuMTQ4NTYsMi44NjQwOCAxLjc2NTY1LDAgLTQuNzg2ODcsLTExLjE2MTA4IC0xLjkxOTAyLDAgeiIKICAgICBpZD0icGF0aDM3ODAtOSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEyOS43MjcwNCwzNy40Nzg4MzcgNC42MDg1MiwwLjAxIC0yLjMwNDI2LC01LjU0OTggeiIKICAgICBpZD0icGF0aDM3ODItMiIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNDciCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTQ4IgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Ni40NzY1NiwyOS44OTE3MzcgMCwyLjE3OTcgMC40NjA5MywyLjM5ODQgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Mi41MTU2MiwyOS44OTA2MzcgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODQgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi04LTgiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0ic3ZnXzEtNy0yIgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIHdpZHRoPSIxMS45OTk5OTYiCiAgICAgeT0iNjQiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMiIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjUyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgeT0iNTIiCiAgICAgd2lkdGg9IjIuOTk5OTkwNyIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ1NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICB5PSI1OCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDU2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjU4IgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NTY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iNjQiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICB5PSI2NCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2OSIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDU3MSIKICAgICBjeD0iMTEwLjA2MDgxIgogICAgIGN5PSI1Ny45MzkyMDkiCiAgICAgcj0iNC43NDM4ODM2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxMTYuNjQ1NjYiCiAgICAgeT0iLTMxLjc5NzUyIgogICAgIHdpZHRoPSI0LjIyOTcxMyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICBpZD0icmVjdDQ1NjMtMiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTI1LDU2IDEzOC43NzAyNyw1Ni4wOTUgMTMyLDY0IFoiCiAgICAgaWQ9InBhdGg0NjEzIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgogIDxwYXRoCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg0NjE1IgogICAgIGQ9Ik0gMTQ5LDY0IDE2Mi43NzAyNyw2My45MDUgMTU2LDU2IFoiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NCIKICAgICB5PSI1MyIKICAgICB3aWR0aD0iMTEuOTk5OTk2IgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIGlkPSJyZWN0NDYzOCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMjQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgd2lkdGg9IjEyLjk5OTk5IgogICAgIHk9Ii01NiIKICAgICB4PSI1MyIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDAsMCkiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgeD0iNTMiCiAgICAgeT0iLTY2IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICBoZWlnaHQ9IjEuOTk5OTk1NyIKICAgICBpZD0icmVjdDQ2NTciIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2NTkiCiAgICAgaGVpZ2h0PSIwLjk5OTk5MjkxIgogICAgIHdpZHRoPSIxMS45OTk5OTkiCiAgICAgeT0iNTciCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI1NCIKICAgICB5PSI4OC4wMDAxMjIiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICBoZWlnaHQ9IjEuOTk5OTk2MSIKICAgICBpZD0icmVjdDQ2NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDY2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODIuMDAwMTIyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODUuMDAwMDA4IgogICAgIHk9IjgyLjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2OSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI4MC4wMDAwMDgiCiAgICAgeT0iODguMDAwMTIyIgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgaGVpZ2h0PSIyLjk5OTk5MDUiCiAgICAgaWQ9InJlY3Q0NjcxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjczIgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODguMDAwMTIyIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPGNpcmNsZQogICAgIHI9IjQuNzQzODgzNiIKICAgICBjeT0iODEuOTM5MzMxIgogICAgIGN4PSIxMTAuMDYwODEiCiAgICAgaWQ9ImNpcmNsZTQ2NzUiCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIgogICAgIGlkPSJyZWN0NDY3NyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICB3aWR0aD0iNC4yMjk3MTMiCiAgICAgeT0iLTE0LjgyNjgxNiIKICAgICB4PSIxMzMuNjE2MyIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2NzkiCiAgICAgZD0ibSAxMjUsODAuMDAwMDA1IDEzLjc3MDI3LDAuMDk0OTkgTCAxMzIsODcuOTk5OTkyIFoiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTQ5LDg4LjAwMDIgMTYyLjc3MDI3LDg3LjkwNTIgMTU2LDgwLjAwMDIgWiIKICAgICBpZD0icGF0aDQ2ODEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2ODMiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NjEiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICB5PSI3Ny4wMDAxMjIiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwxLC0xLDAsMCwwKSIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHk9Ii01NiIKICAgICB3aWR0aD0iMTIuOTk5OTkiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgaWQ9InJlY3Q0Njg1IiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0Njg3IgogICAgIGhlaWdodD0iMS45OTk5OTU3IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICB5PSItNjYiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIgogICAgIHg9IjU0IgogICAgIHk9IjgxLjAwMDEyMiIKICAgICB3aWR0aD0iMTEuOTk5OTk5IgogICAgIGhlaWdodD0iMC45OTk5OTI5MSIKICAgICBpZD0icmVjdDQ2ODkiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ3NjEtMSIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTUuOTk5OTkiCiAgICAgeT0iMTAxIgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTAiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjE1Ljk5OTk5IgogICAgIHk9IjEwNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS03IgogICAgIGhlaWdodD0iMS45OTk5OTQ1IgogICAgIHdpZHRoPSI5IgogICAgIHk9IjEwOSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEyIgogICAgIHk9IjEyNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEtNCIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTAiCiAgICAgeT0iMTM3IgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEwIgogICAgIHk9IjEyOSIKICAgICB4PSI4MiIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQtMyIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iOSIKICAgICB5PSIxMzMiCiAgICAgeD0iODIiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuODtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTAwLjAyNTQgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEwMC41OTkxIGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUyIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjUsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU2LDAgNi43MTA0NDIsLTIuNDExMyA3LjY1MDM5MSwtNS45NDE0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3MzYgLTMuNzEwOTM4LC05LjA3MDMgLTEuMTU5Njc4LC0wLjY3MzggLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjg7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDk5Ljk2MjkgYyAtMS4yNzAwODQsMC4wMzkgLTIuNTQxNDkzLDAuMzg4NyAtMy43MDExNzIsMS4wNjI1IC0zLjA5MjQ3NSwxLjc5NjcgLTQuNjUwODg2LDUuNTQwMiAtMy43MTA5MzcsOS4wNzAzIDAuOTM5OTQ5LDMuNTMwMSA0LjA5NzY4LDUuOTQxNCA3LjY0ODQzNyw1Ljk0MTQgbCAwLC0zLjA3NDIgYyAtMi4yOTYyMTQsMCAtNC4yNTY3MTcsLTEuNTQyIC00LjgzMDA3OCwtMy42OTUzIC0wLjU3MzM2MSwtMi4xNTMzIDAuMzM3NDMyLC00LjQwNTYgMi4zMDg1OTQsLTUuNTUwOCAxLjkzNTczMSwtMS4xMjQ2IDQuMzg4NjMsLTAuODEwMiA1Ljk4NjMyNiwwLjcyMDcgbCAtMS44MDY2MzgsMS45MDYzIDcuODI4MTI4LDEuOTA2MiAtMi4zMjQyMiwtNy43MTI5IC0xLjYyNjk2LDEuNzE2OCBjIC0xLjI2MzM4LC0xLjI1MzEgLTIuODQ4OTE3LC0yLjAwODggLTQuNTA1ODU1LC0yLjIyODUgLTAuNDE4Nzc4LC0wLjA1NSAtMC44NDIyNjMsLTAuMDc2IC0xLjI2NTYyNSwtMC4wNjIgeiIKICAgICBpZD0icGF0aDQxMzgtMSIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9Im9wYWNpdHk6MC44O2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS45NjY7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgZD0ibSAxMC41LDEwMCAwLDIgLTIuNDk5OTk5NiwwIEwgMTIsMTA3IGwgNCwtNSAtMi41LDAgMCwtMiAtMywwIHoiCiAgICAgaWQ9InBhdGgzMDU1LTAtNzciIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NTA1NzQsMTA4LjAxNSAxNC4wMjk4ODU2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NDk4NzQsMTMyLjAxNSAxNC4wMjk4ODY2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNS04IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuNDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTIzLjk2MjkgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEyNC41MzY2IGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUzIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjQsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU3LDAgNi43MTA0NDIsLTIuNDA5MyA3LjY1MDM5MSwtNS45Mzk0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3NTYgLTMuNzEwOTM4LC05LjA3MjMgLTEuMTU5Njc4LC0wLjY3MzcgLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgtMTIiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjQ7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDEyMy45NjI5IGMgLTEuMjcwMDg0LDAuMDM5IC0yLjU0MTQ5MywwLjM4ODggLTMuNzAxMTcyLDEuMDYyNSAtMy4wOTI0NzUsMS43OTY3IC00LjY1MDg4Niw1LjU0MjIgLTMuNzEwOTM3LDkuMDcyMyAwLjkzOTk0OSwzLjUzMDEgNC4wOTc2OCw1LjkzOTQgNy42NDg0MzcsNS45Mzk0IGwgMCwtMy4wNzQyIGMgLTIuMjk2MjE0LDAgLTQuMjU2NzE3LC0xLjU0MiAtNC44MzAwNzgsLTMuNjk1MyAtMC41NzMzNjEsLTIuMTUzMyAwLjMzNzQzMiwtNC40MDU1IDIuMzA4NTk0LC01LjU1MDggMS45MzU3MzEsLTEuMTI0NiA0LjM4ODYzLC0wLjgxMDIgNS45ODYzMjYsMC43MjA3IGwgLTEuODA2NjM4LDEuOTA2MyA3LjgyODEyOCwxLjkwNjIgLTIuMzI0MjIsLTcuNzEyOSAtMS42MjY5NiwxLjcxNjggYyAtMS4yNjMzOCwtMS4yNTMxIC0yLjg0ODkxNywtMi4wMDg4IC00LjUwNTg1NSwtMi4yMjg1IC0wLjQxODc3OCwtMC4wNTUgLTAuODQyMjYzLC0wLjA3NiAtMS4yNjU2MjUsLTAuMDYyIHoiCiAgICAgaWQ9InBhdGg0MTM4LTEtMyIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoNjE5MSIKICAgICBkPSJtIDEwLjUsMTE2IDAsLTIgLTIuNDk5OTk5NiwwIEwgMTIsMTA5IGwgNCw1IC0yLjUsMCAwLDIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGQ9Im0gMTAuNSwxMjkgMCwtMiAtMi40OTk5OTk2LDAgTCAxMiwxMjIgbCA0LDUgLTIuNSwwIDAsMiAtMywwIHoiCiAgICAgaWQ9InBhdGg2MTkzIiAvPgogIDxwYXRoCiAgICAgaWQ9InBhdGg2MTk1IgogICAgIGQ9Im0gMTAuNSwxMzUgMCwyIC0yLjQ5OTk5OTYsMCBMIDEyLDE0MiBsIDQsLTUgLTIuNSwwIDAsLTIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwMCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyNDIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSItMS4yNzc5MDI2IiAvPgogIDxwYXRoCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSIxLjI3NzkwMiIKICAgICBkPSJtIC0zMS41MDAwMDQsNjAuMDczMjQyIC0zLjgzMzcwOCwyLjIxMzM5MiAtMy44MzM3MDcsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDcsMi4yMTMzOTIgeiIKICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTpyMj0iMi41NTU4MDUyIgogICAgIHNvZGlwb2RpOnIxPSI1LjExMTYxMDQiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpjeD0iLTM2LjYxMTYxNCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBpZD0icGF0aDQ1MDIiCiAgICAgc3R5bGU9ImZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MC45MDE5NjA3ODtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgc29kaXBvZGk6dHlwZT0ic3RhciIKICAgICB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIiAvPgogIDxwYXRoCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOmZsYXRzaWRlZD0iZmFsc2UiCiAgICAgc29kaXBvZGk6YXJnMj0iMS4wNDcxOTc2IgogICAgIHNvZGlwb2RpOmFyZzE9IjAiCiAgICAgc29kaXBvZGk6cjI9IjIuNTU1ODA1MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOmN5PSI2MC4wNzMyMTIiCiAgICAgc29kaXBvZGk6Y3g9IjExLjU1NTgxIgogICAgIHNvZGlwb2RpOnNpZGVzPSIzIgogICAgIGlkPSJwYXRoNDUwNCIKICAgICBzdHlsZT0iZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eTowLjkwMTk2MDc4O3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDcyLjAwNzQsNzEuNzg3NykiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci15PSIxLjI3NzkwMjkiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii0xLjI3NzkwMjYiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwtMSwtMSwwLDk2LDk2KSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwNiIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzIxMiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2MTUtNSIKICAgICBkPSJtIDE3MS44MjU3NCw2NS4xNzQxOTMgMTYuMzQ4NTQsMCAtOC4xNzQyNywtMTMuMzQ4NDU0IHoiCiAgICAgc3R5bGU9ImZpbGw6I2ZiYjkxNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZiYjkxNztzdHJva2Utd2lkdGg6MS42NTE2MTM5NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjFweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gMTc5LDU1IDAsNiAyLDAgMCwtNiIKICAgICBpZD0icGF0aDQzMDAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSAxNzksNjIgMCwyIDIsMCAwLC0yIgogICAgIGlkPSJwYXRoNDMwMC02IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgo8L3N2Zz4K%29%7Ddiv%2Ejsoneditor%2Dmode%2Dform%20tr%2Ejsoneditor%2Dexpandable%20td%2Ejsoneditor%2Dtree%2Cdiv%2Ejsoneditor%2Dmode%2Dview%20tr%2Ejsoneditor%2Dexpandable%20td%2Ejsoneditor%2Dtree%7Bcursor%3Apointer%7Ddiv%2Ejsoneditor%2Dtree%20button%2Ejsoneditor%2Dcollapsed%7Bbackground%2Dposition%3A0%20%2D48px%7Ddiv%2Ejsoneditor%2Dtree%20button%2Ejsoneditor%2Dexpanded%7Bbackground%2Dposition%3A0%20%2D72px%7Ddiv%2Ejsoneditor%2Dtree%20button%2Ejsoneditor%2Dcontextmenu%7Bbackground%2Dposition%3A%2D48px%20%2D72px%7Ddiv%2Ejsoneditor%2Dtree%20button%2Ejsoneditor%2Dcontextmenu%2Ejsoneditor%2Dselected%2Cdiv%2Ejsoneditor%2Dtree%20button%2Ejsoneditor%2Dcontextmenu%3Afocus%2Cdiv%2Ejsoneditor%2Dtree%20button%2Ejsoneditor%2Dcontextmenu%3Ahover%2Ctr%2Ejsoneditor%2Dselected%2Ejsoneditor%2Dfirst%20button%2Ejsoneditor%2Dcontextmenu%7Bbackground%2Dposition%3A%2D48px%20%2D48px%7Ddiv%2Ejsoneditor%2Dtree%20%3Afocus%7Boutline%3A0%7Ddiv%2Ejsoneditor%2Dtree%20button%3Afocus%7Bbackground%2Dcolor%3A%23f5f5f5%3Boutline%3A%23e5e5e5%20solid%201px%7Ddiv%2Ejsoneditor%2Dtree%20button%2Ejsoneditor%2Dinvisible%7Bvisibility%3Ahidden%3Bbackground%3A0%200%7Ddiv%2Ejsoneditor%7Bcolor%3A%231A1A1A%3Bborder%3A1px%20solid%20%233883fa%3Bbox%2Dsizing%3Aborder%2Dbox%3Bwidth%3A100%25%3Bheight%3A100%25%3Boverflow%3Ahidden%3Bposition%3Arelative%3Bpadding%3A0%3Bline%2Dheight%3A100%25%7Ddiv%2Ejsoneditor%2Dtree%20table%2Ejsoneditor%2Dtree%7Bborder%2Dcollapse%3Acollapse%3Bborder%2Dspacing%3A0%3Bwidth%3A100%25%3Bmargin%3A0%7Ddiv%2Ejsoneditor%2Douter%7Bwidth%3A100%25%3Bheight%3A100%25%3Bmargin%3A%2D35px%200%200%3Bpadding%3A35px%200%200%3Bbox%2Dsizing%3Aborder%2Dbox%7Ddiv%2Ejsoneditor%2Dtree%7Bwidth%3A100%25%3Bheight%3A100%25%3Bposition%3Arelative%3Boverflow%3Aauto%7Dtextarea%2Ejsoneditor%2Dtext%7Bwidth%3A100%25%3Bheight%3A100%25%3Bmargin%3A0%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%3Boutline%2Dwidth%3A0%3Bborder%3Anone%3Bbackground%2Dcolor%3A%23fff%3Bresize%3Anone%7Dtr%2Ejsoneditor%2Dhighlight%2Ctr%2Ejsoneditor%2Dselected%7Bbackground%2Dcolor%3A%23e6e6e6%7Dtr%2Ejsoneditor%2Dselected%20button%2Ejsoneditor%2Dcontextmenu%2Ctr%2Ejsoneditor%2Dselected%20button%2Ejsoneditor%2Ddragarea%7Bvisibility%3Ahidden%7Dtr%2Ejsoneditor%2Dselected%2Ejsoneditor%2Dfirst%20button%2Ejsoneditor%2Dcontextmenu%2Ctr%2Ejsoneditor%2Dselected%2Ejsoneditor%2Dfirst%20button%2Ejsoneditor%2Ddragarea%7Bvisibility%3Avisible%7Ddiv%2Ejsoneditor%2Dtree%20button%2Ejsoneditor%2Ddragarea%7Bbackground%3Aurl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8%2BCjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgd2lkdGg9IjIxNiIKICAgaGVpZ2h0PSIxNDQiCiAgIGlkPSJzdmc0MTM2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTEgciIKICAgc29kaXBvZGk6ZG9jbmFtZT0ianNvbmVkaXRvci1pY29ucy5zdmciPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTY1MTIiPkpTT04gRWRpdG9yIEljb25zPC90aXRsZT4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0MTQ4Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI%2BCiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ%2BCiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT5KU09OIEVkaXRvciBJY29uczwvZGM6dGl0bGU%2BCiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0MTQ2IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI4IgogICAgIGlkPSJuYW1lZHZpZXc0MTQ0IgogICAgIHNob3dncmlkPSJ0cnVlIgogICAgIGlua3NjYXBlOnpvb209IjQiCiAgICAgaW5rc2NhcGU6Y3g9Ijk3LjIxNzI0OCIKICAgICBpbmtzY2FwZTpjeT0iNTkuOTUwMjI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNDEzNiIKICAgICBzaG93Z3VpZGVzPSJmYWxzZSIKICAgICBib3JkZXJsYXllcj0iZmFsc2UiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9InRydWUiCiAgICAgc2hvd2JvcmRlcj0idHJ1ZSI%2BCiAgICA8aW5rc2NhcGU6Z3JpZAogICAgICAgdHlwZT0ieHlncmlkIgogICAgICAgaWQ9ImdyaWQ0NjQwIgogICAgICAgZW1wc3BhY2luZz0iMjQiIC8%2BCiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc%2BCiAgPCEtLSBDcmVhdGVkIHdpdGggU1ZHLWVkaXQgLSBodHRwOi8vc3ZnLWVkaXQuZ29vZ2xlY29kZS5jb20vIC0tPgogIDxnCiAgICAgaWQ9Imc0Mzk0Ij4KICAgIDxyZWN0CiAgICAgICB4PSI0IgogICAgICAgeT0iNCIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEiCiAgICAgICBzdHlsZT0iZmlsbDojMWFhZTFjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNlYzNmMjk7ZmlsbC1vcGFjaXR5OjAuOTQxMTc2NDc7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIyOC4wMDAwMDYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEtNyIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQxNjUiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgeT0iMy45OTk5OTUiCiAgICAgICB4PSI1Mi4wMDAwMDQiCiAgICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxNzIuMDAwMDIiCiAgICAgICB5PSIzLjk5OTk4NTIiCiAgICAgICB3aWR0aD0iMTYiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgaWQ9InJlY3Q0MTc1IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxOTYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0icmVjdDQxNzUtMyIgLz4KICAgIDxnCiAgICAgICBzdHlsZT0ic3Ryb2tlOm5vbmUiCiAgICAgICBpZD0iZzQyOTkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICAgIHk9IjEwLjk5OTk5OCIKICAgICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMS0xIgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8ZwogICAgICAgc3R5bGU9InN0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC43MDcxMDY3OCwtMC43MDcxMDY3OCwwLjcwNzEwNjc4LDAuNzA3MTA2NzgsMTkuMDI5NDM1LDEyLjAwMDAwMSkiCiAgICAgICBpZD0iZzQyOTktMyI%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIGlkPSJzdmdfMS0xLTAiCiAgICAgICAgIGhlaWdodD0iMS45OTk5OTg2IgogICAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICAgIHg9IjcuMDAwMDA0OCIgLz4KICAgICAgPHJlY3QKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgICAgaWQ9InN2Z18xLTEtMS05IgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjU1LjAwMDAwNCIKICAgICAgIHk9IjcuMDAwMDA0OCIKICAgICAgIHdpZHRoPSI2Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICAgIGlkPSJzdmdfMS03LTUiIC8%2BCiAgICA8cmVjdAogICAgICAgaWQ9InJlY3Q0MzU0IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgeT0iMTAuMDAwMDEiCiAgICAgICB4PSI1OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojM2M4MGRmO3N0cm9rZS13aWR0aDowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjAuOTQxMTc2NDciCiAgICAgICB4PSI1OC4wMDAwMDQiCiAgICAgICB5PSIxMC4wMDAwMDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICBpZD0ic3ZnXzEtNy01LTciIC8%2BCiAgICA8ZwogICAgICAgaWQ9Imc0Mzc4Ij4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InN2Z18xLTctNS0zIgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgeT0iMTAuOTk5OTk5IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIHg9IjE5OCIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB3aWR0aD0iMTEuOTk5OTk1IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgaWQ9InJlY3Q0Mzc0IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIGlkPSJyZWN0NDM3NiIgLz4KICAgIDwvZz4KICAgIDxnCiAgICAgICBpZD0iZzQzODMiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDIzLjk5OTk5NSkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5NjUiCiAgICAgICAgIGlkPSJyZWN0NDM4NSIgLz4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InJlY3Q0Mzg3IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgd2lkdGg9IjExLjk5OTk5NSIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIGlkPSJyZWN0NDM4OSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIHdpZHRoPSIzLjk5OTk5MjgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgeD0iMTk4IgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPC9nPgogICAgPHJlY3QKICAgICAgIHk9IjMuOTk5OTE5OSIKICAgICAgIHg9Ijc2IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC00IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNDM1MSIKICAgICAgIGQ9Im0gODUuMTA0NDcsNi4wMTU3Mzg0IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OSwtMC4yNDAyIDAuMzMwMDgsMy42NTA3OTk2IDIuNDg0MzgsNC41NzgwOTk2IC0yLjE4Njk0LDEuMDkzOCAwLjQ5MTkxLDQuOTA2OSAtMi40NTMxMyw0LjU3ODEgbCAtMC4wMTU2LDEuNDIxOSBjIDUuNzA4MjgsMC41NTkgMS4wMzI2NCwtNS4xMDA1IDQuNzAzMTMsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIC0zLjYxMzAzLC0wLjAyNyAxLjExODkzLC01LjcwNjk5OTYgLTQuNzAzMTMsLTUuMzEyNDk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4yO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpZD0icGF0aDQzNTEtOSIKICAgICAgIGQ9Im0gODIuNzgxMjUsNS45OTg0Mzg0IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA3LDMuNjUwNjk5NiAtMi40ODQzNyw0LjU3ODA5OTYgMi4xODY5NCwxLjA5MzggLTAuNDkxOTIsNC45MDY5IDIuNDUzMTIsNC41NzgxIGwgMC4wMTU2LDEuNDIxOSBjIC01LjcwODI3LDAuNTU5IC0xLjAzMjYzLC01LjEwMDQgLTQuNzAzMTIsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIDMuNjEzMDMsLTAuMDI3IC0xLjExODk0LC01LjcwNzA5OTYgNC43MDMxMiwtNS4zMTI0OTk2IHoiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjI7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxMDAiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTI1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3IgogICAgICAgZD0ibSAxMDMuNzE5LDUuNjcxOTM4NCAwLDEyLjcxODc5OTYgMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAxLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3LTEiCiAgICAgICBkPSJtIDExMi4yMTg1LDUuNjcyMTk4NCAwLDEyLjcxODc5OTYgLTMuMDMxMjUsMCAwLC0xLjUzMTMgMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAtMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cmVjdAogICAgICAgeT0iMy45OTk5MTk5IgogICAgICAgeD0iMTI0IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC03MyIKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgzNzgwIgogICAgICAgZD0ibSAxMjYuMjgyNCwxNy42MDI5MzggMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MSA1LjY1MzY0LDAgMS4xNDg1NiwyLjg2NDEgMS43NjU2NSwwIC00Ljc4Njg3LC0xMS4xNjEwOTk2IC0xLjkxOTAzLDAgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoMzc4MiIKICAgICAgIGQ9Im0gMTI5LjcyNzA0LDEzLjQ3ODgzOCA0LjYwODUyLDAuMDEgLTIuMzA0MjYsLTUuNTQ5Nzk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxNDgiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTM1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGg1MDA4LTIiCiAgICAgICBkPSJtIDE1Ni40NzY1NSw1Ljg5MTczODQgMCwyLjE3OTcgMC40NjA5MywyLjM5ODM5OTYgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNTAwOC0yLTgiCiAgICAgICBkPSJtIDE1Mi41MTU2MSw1Ljg5MDYzODQgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODM5OTYgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgeD0iNCIKICAgICB5PSIyNy45OTk5OTQiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDMyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjI4LjAwMDAwNiIKICAgICB5PSIyNy45OTk5OSIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICBpZD0icmVjdDQ0MzQiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0MzYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB3aWR0aD0iMTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgeD0iNTIuMDAwMDA0IgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjE3Mi4wMDAwMiIKICAgICB5PSIyNy45OTk5ODEiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxOTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ4IiAvPgogIDxnCiAgICAgaWQ9Imc0NDY2IgogICAgIHN0eWxlPSJzdHJva2U6bm9uZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NjgiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk4NiIKICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICB4PSI3LjAwMDAwNDgiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgIGlkPSJyZWN0NDQ3MCIKICAgICAgIGhlaWdodD0iOS45OTk5ODM4IgogICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgIHk9IjcuMDAwMDExNCIKICAgICAgIHg9IjExLjAwMDAwNSIgLz4KICA8L2c%2BCiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LC0wLjcwNzEwNjc4LDAuNzA3MTA2NzgsMC43MDcxMDY3OCwxOS4wMjk0MzUsMzUuOTk5OTk2KSIKICAgICBpZD0iZzQ0NzIiCiAgICAgc3R5bGU9InN0cm9rZTpub25lIj4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgaWQ9InJlY3Q0NDc0IgogICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgeT0iMTAuOTk5OTk4IgogICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NzYiCiAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgIHdpZHRoPSIxLjk5OTk5NTUiCiAgICAgICB5PSI3LjAwMDAxMTQiCiAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NS4wMDAwMDQiCiAgICAgeT0iMzEiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ0NzgiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0ODAiCiAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICB5PSIzNC4wMDAwMDgiCiAgICAgeD0iNTgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgeD0iNTguMDAwMDA0IgogICAgIHk9IjM0LjAwMDAwNCIKICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgIGhlaWdodD0iNi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDQ4MiIgLz4KICA8ZwogICAgIGlkPSJnNDQ4NCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ4NiIKICAgICAgIGhlaWdodD0iMS45OTk5OTY1IgogICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjcuMDAwMDAwNSIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIGlkPSJyZWN0NDQ4OCIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgeD0iMTk4IgogICAgICAgeT0iMTQuOTk5OTk2IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgaWQ9InJlY3Q0NDkwIiAvPgogIDwvZz4KICA8ZwogICAgIGlkPSJnNDQ5MiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDQ3Ljk5OTk5KSI%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHdpZHRoPSI3Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgIGlkPSJyZWN0NDQ5NCIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQ0OTYiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICB5PSI3LjAwMDAwMDUiCiAgICAgICB4PSIxOTgiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ5OCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtOCIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB4PSI3NiIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODUuMTA0NDgsMzAuMDE1NTM3IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OCwtMC4yNDAyIDAuMzMwMDcsMy42NTA4IDIuNDg0MzgsNC41NzgxIC0yLjE4Njk1LDEuMDkzOCAwLjQ5MTkxLDQuOTA2ODggLTIuNDUzMTMsNC41NzgwOCBsIC0wLjAxNTYsMS40MjE5IGMgNS43MDgyNywwLjU1OSAxLjAzMjYzLC01LjEwMDQ4IDQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAtMy42MTMwNCwtMC4wMjcgMS4xMTg5MywtNS43MDcgLTQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODIuNzgxMjYsMjkuOTk4MjM3IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA4LDMuNjUwNyAtMi40ODQzOCw0LjU3ODEgMi4xODY5NCwxLjA5MzggLTAuNDkxOTEsNC45MDY4OCAyLjQ1MzEzLDQuNTc4MDggbCAwLjAxNTYsMS40MjE5IGMgLTUuNzA4MjgsMC41NTkgLTEuMDMyNjQsLTUuMTAwMzggLTQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAzLjYxMzAzLC0wLjAyNyAtMS4xMTg5MywtNS43MDcxIDQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS05LTUiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNjUiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTAwIgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEwMy43MTksMjkuNjcxOTM3IDAsMTIuNzE4NzggMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTggMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICBpZD0icGF0aDI5ODctOCIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDExMi4yMTg1LDI5LjY3MTkzNyAwLDEyLjcxODc4IC0zLjAzMTI1LDAgMCwtMS41MzEzIDEuMzQzNzUsMCAwLC05LjYyNDk4IC0xLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgIGlkPSJwYXRoMjk4Ny0xLTkiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgaWQ9InJlY3QzNzU0LTkyIgogICAgIHdpZHRoPSIxNiIKICAgICBoZWlnaHQ9IjE2IgogICAgIHg9IjEyNCIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgZD0ibSAxMjYuMjgyNCw0MS42MDI5MTcgMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MDggNS42NTM2NCwwIDEuMTQ4NTYsMi44NjQwOCAxLjc2NTY1LDAgLTQuNzg2ODcsLTExLjE2MTA4IC0xLjkxOTAyLDAgeiIKICAgICBpZD0icGF0aDM3ODAtOSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEyOS43MjcwNCwzNy40Nzg4MzcgNC42MDg1MiwwLjAxIC0yLjMwNDI2LC01LjU0OTggeiIKICAgICBpZD0icGF0aDM3ODItMiIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNDciCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTQ4IgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Ni40NzY1NiwyOS44OTE3MzcgMCwyLjE3OTcgMC40NjA5MywyLjM5ODQgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Mi41MTU2MiwyOS44OTA2MzcgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODQgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi04LTgiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0ic3ZnXzEtNy0yIgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIHdpZHRoPSIxMS45OTk5OTYiCiAgICAgeT0iNjQiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMiIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjUyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgeT0iNTIiCiAgICAgd2lkdGg9IjIuOTk5OTkwNyIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ1NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICB5PSI1OCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDU2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjU4IgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NTY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iNjQiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICB5PSI2NCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2OSIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDU3MSIKICAgICBjeD0iMTEwLjA2MDgxIgogICAgIGN5PSI1Ny45MzkyMDkiCiAgICAgcj0iNC43NDM4ODM2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxMTYuNjQ1NjYiCiAgICAgeT0iLTMxLjc5NzUyIgogICAgIHdpZHRoPSI0LjIyOTcxMyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICBpZD0icmVjdDQ1NjMtMiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTI1LDU2IDEzOC43NzAyNyw1Ni4wOTUgMTMyLDY0IFoiCiAgICAgaWQ9InBhdGg0NjEzIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgogIDxwYXRoCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg0NjE1IgogICAgIGQ9Ik0gMTQ5LDY0IDE2Mi43NzAyNyw2My45MDUgMTU2LDU2IFoiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NCIKICAgICB5PSI1MyIKICAgICB3aWR0aD0iMTEuOTk5OTk2IgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIGlkPSJyZWN0NDYzOCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMjQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgd2lkdGg9IjEyLjk5OTk5IgogICAgIHk9Ii01NiIKICAgICB4PSI1MyIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDAsMCkiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgeD0iNTMiCiAgICAgeT0iLTY2IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICBoZWlnaHQ9IjEuOTk5OTk1NyIKICAgICBpZD0icmVjdDQ2NTciIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2NTkiCiAgICAgaGVpZ2h0PSIwLjk5OTk5MjkxIgogICAgIHdpZHRoPSIxMS45OTk5OTkiCiAgICAgeT0iNTciCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI1NCIKICAgICB5PSI4OC4wMDAxMjIiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICBoZWlnaHQ9IjEuOTk5OTk2MSIKICAgICBpZD0icmVjdDQ2NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDY2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODIuMDAwMTIyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODUuMDAwMDA4IgogICAgIHk9IjgyLjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2OSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI4MC4wMDAwMDgiCiAgICAgeT0iODguMDAwMTIyIgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgaGVpZ2h0PSIyLjk5OTk5MDUiCiAgICAgaWQ9InJlY3Q0NjcxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjczIgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODguMDAwMTIyIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPGNpcmNsZQogICAgIHI9IjQuNzQzODgzNiIKICAgICBjeT0iODEuOTM5MzMxIgogICAgIGN4PSIxMTAuMDYwODEiCiAgICAgaWQ9ImNpcmNsZTQ2NzUiCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIgogICAgIGlkPSJyZWN0NDY3NyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICB3aWR0aD0iNC4yMjk3MTMiCiAgICAgeT0iLTE0LjgyNjgxNiIKICAgICB4PSIxMzMuNjE2MyIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2NzkiCiAgICAgZD0ibSAxMjUsODAuMDAwMDA1IDEzLjc3MDI3LDAuMDk0OTkgTCAxMzIsODcuOTk5OTkyIFoiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTQ5LDg4LjAwMDIgMTYyLjc3MDI3LDg3LjkwNTIgMTU2LDgwLjAwMDIgWiIKICAgICBpZD0icGF0aDQ2ODEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2ODMiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NjEiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICB5PSI3Ny4wMDAxMjIiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwxLC0xLDAsMCwwKSIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHk9Ii01NiIKICAgICB3aWR0aD0iMTIuOTk5OTkiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgaWQ9InJlY3Q0Njg1IiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0Njg3IgogICAgIGhlaWdodD0iMS45OTk5OTU3IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICB5PSItNjYiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIgogICAgIHg9IjU0IgogICAgIHk9IjgxLjAwMDEyMiIKICAgICB3aWR0aD0iMTEuOTk5OTk5IgogICAgIGhlaWdodD0iMC45OTk5OTI5MSIKICAgICBpZD0icmVjdDQ2ODkiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ3NjEtMSIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTUuOTk5OTkiCiAgICAgeT0iMTAxIgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTAiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjE1Ljk5OTk5IgogICAgIHk9IjEwNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS03IgogICAgIGhlaWdodD0iMS45OTk5OTQ1IgogICAgIHdpZHRoPSI5IgogICAgIHk9IjEwOSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEyIgogICAgIHk9IjEyNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEtNCIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTAiCiAgICAgeT0iMTM3IgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEwIgogICAgIHk9IjEyOSIKICAgICB4PSI4MiIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQtMyIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iOSIKICAgICB5PSIxMzMiCiAgICAgeD0iODIiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuODtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTAwLjAyNTQgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEwMC41OTkxIGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUyIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjUsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU2LDAgNi43MTA0NDIsLTIuNDExMyA3LjY1MDM5MSwtNS45NDE0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3MzYgLTMuNzEwOTM4LC05LjA3MDMgLTEuMTU5Njc4LC0wLjY3MzggLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjg7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDk5Ljk2MjkgYyAtMS4yNzAwODQsMC4wMzkgLTIuNTQxNDkzLDAuMzg4NyAtMy43MDExNzIsMS4wNjI1IC0zLjA5MjQ3NSwxLjc5NjcgLTQuNjUwODg2LDUuNTQwMiAtMy43MTA5MzcsOS4wNzAzIDAuOTM5OTQ5LDMuNTMwMSA0LjA5NzY4LDUuOTQxNCA3LjY0ODQzNyw1Ljk0MTQgbCAwLC0zLjA3NDIgYyAtMi4yOTYyMTQsMCAtNC4yNTY3MTcsLTEuNTQyIC00LjgzMDA3OCwtMy42OTUzIC0wLjU3MzM2MSwtMi4xNTMzIDAuMzM3NDMyLC00LjQwNTYgMi4zMDg1OTQsLTUuNTUwOCAxLjkzNTczMSwtMS4xMjQ2IDQuMzg4NjMsLTAuODEwMiA1Ljk4NjMyNiwwLjcyMDcgbCAtMS44MDY2MzgsMS45MDYzIDcuODI4MTI4LDEuOTA2MiAtMi4zMjQyMiwtNy43MTI5IC0xLjYyNjk2LDEuNzE2OCBjIC0xLjI2MzM4LC0xLjI1MzEgLTIuODQ4OTE3LC0yLjAwODggLTQuNTA1ODU1LC0yLjIyODUgLTAuNDE4Nzc4LC0wLjA1NSAtMC44NDIyNjMsLTAuMDc2IC0xLjI2NTYyNSwtMC4wNjIgeiIKICAgICBpZD0icGF0aDQxMzgtMSIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9Im9wYWNpdHk6MC44O2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS45NjY7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgZD0ibSAxMC41LDEwMCAwLDIgLTIuNDk5OTk5NiwwIEwgMTIsMTA3IGwgNCwtNSAtMi41LDAgMCwtMiAtMywwIHoiCiAgICAgaWQ9InBhdGgzMDU1LTAtNzciIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NTA1NzQsMTA4LjAxNSAxNC4wMjk4ODU2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NDk4NzQsMTMyLjAxNSAxNC4wMjk4ODY2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNS04IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuNDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTIzLjk2MjkgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEyNC41MzY2IGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUzIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjQsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU3LDAgNi43MTA0NDIsLTIuNDA5MyA3LjY1MDM5MSwtNS45Mzk0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3NTYgLTMuNzEwOTM4LC05LjA3MjMgLTEuMTU5Njc4LC0wLjY3MzcgLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgtMTIiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjQ7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDEyMy45NjI5IGMgLTEuMjcwMDg0LDAuMDM5IC0yLjU0MTQ5MywwLjM4ODggLTMuNzAxMTcyLDEuMDYyNSAtMy4wOTI0NzUsMS43OTY3IC00LjY1MDg4Niw1LjU0MjIgLTMuNzEwOTM3LDkuMDcyMyAwLjkzOTk0OSwzLjUzMDEgNC4wOTc2OCw1LjkzOTQgNy42NDg0MzcsNS45Mzk0IGwgMCwtMy4wNzQyIGMgLTIuMjk2MjE0LDAgLTQuMjU2NzE3LC0xLjU0MiAtNC44MzAwNzgsLTMuNjk1MyAtMC41NzMzNjEsLTIuMTUzMyAwLjMzNzQzMiwtNC40MDU1IDIuMzA4NTk0LC01LjU1MDggMS45MzU3MzEsLTEuMTI0NiA0LjM4ODYzLC0wLjgxMDIgNS45ODYzMjYsMC43MjA3IGwgLTEuODA2NjM4LDEuOTA2MyA3LjgyODEyOCwxLjkwNjIgLTIuMzI0MjIsLTcuNzEyOSAtMS42MjY5NiwxLjcxNjggYyAtMS4yNjMzOCwtMS4yNTMxIC0yLjg0ODkxNywtMi4wMDg4IC00LjUwNTg1NSwtMi4yMjg1IC0wLjQxODc3OCwtMC4wNTUgLTAuODQyMjYzLC0wLjA3NiAtMS4yNjU2MjUsLTAuMDYyIHoiCiAgICAgaWQ9InBhdGg0MTM4LTEtMyIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoNjE5MSIKICAgICBkPSJtIDEwLjUsMTE2IDAsLTIgLTIuNDk5OTk5NiwwIEwgMTIsMTA5IGwgNCw1IC0yLjUsMCAwLDIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGQ9Im0gMTAuNSwxMjkgMCwtMiAtMi40OTk5OTk2LDAgTCAxMiwxMjIgbCA0LDUgLTIuNSwwIDAsMiAtMywwIHoiCiAgICAgaWQ9InBhdGg2MTkzIiAvPgogIDxwYXRoCiAgICAgaWQ9InBhdGg2MTk1IgogICAgIGQ9Im0gMTAuNSwxMzUgMCwyIC0yLjQ5OTk5OTYsMCBMIDEyLDE0MiBsIDQsLTUgLTIuNSwwIDAsLTIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwMCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyNDIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSItMS4yNzc5MDI2IiAvPgogIDxwYXRoCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSIxLjI3NzkwMiIKICAgICBkPSJtIC0zMS41MDAwMDQsNjAuMDczMjQyIC0zLjgzMzcwOCwyLjIxMzM5MiAtMy44MzM3MDcsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDcsMi4yMTMzOTIgeiIKICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTpyMj0iMi41NTU4MDUyIgogICAgIHNvZGlwb2RpOnIxPSI1LjExMTYxMDQiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpjeD0iLTM2LjYxMTYxNCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBpZD0icGF0aDQ1MDIiCiAgICAgc3R5bGU9ImZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MC45MDE5NjA3ODtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgc29kaXBvZGk6dHlwZT0ic3RhciIKICAgICB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIiAvPgogIDxwYXRoCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOmZsYXRzaWRlZD0iZmFsc2UiCiAgICAgc29kaXBvZGk6YXJnMj0iMS4wNDcxOTc2IgogICAgIHNvZGlwb2RpOmFyZzE9IjAiCiAgICAgc29kaXBvZGk6cjI9IjIuNTU1ODA1MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOmN5PSI2MC4wNzMyMTIiCiAgICAgc29kaXBvZGk6Y3g9IjExLjU1NTgxIgogICAgIHNvZGlwb2RpOnNpZGVzPSIzIgogICAgIGlkPSJwYXRoNDUwNCIKICAgICBzdHlsZT0iZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eTowLjkwMTk2MDc4O3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDcyLjAwNzQsNzEuNzg3NykiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci15PSIxLjI3NzkwMjkiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii0xLjI3NzkwMjYiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwtMSwtMSwwLDk2LDk2KSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwNiIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzIxMiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2MTUtNSIKICAgICBkPSJtIDE3MS44MjU3NCw2NS4xNzQxOTMgMTYuMzQ4NTQsMCAtOC4xNzQyNywtMTMuMzQ4NDU0IHoiCiAgICAgc3R5bGU9ImZpbGw6I2ZiYjkxNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZiYjkxNztzdHJva2Utd2lkdGg6MS42NTE2MTM5NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjFweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gMTc5LDU1IDAsNiAyLDAgMCwtNiIKICAgICBpZD0icGF0aDQzMDAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSAxNzksNjIgMCwyIDIsMCAwLC0yIgogICAgIGlkPSJwYXRoNDMwMC02IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgo8L3N2Zz4K%29%20%2D72px%20%2D72px%3Bcursor%3Amove%7Ddiv%2Ejsoneditor%2Dtree%20button%2Ejsoneditor%2Ddragarea%3Afocus%2Cdiv%2Ejsoneditor%2Dtree%20button%2Ejsoneditor%2Ddragarea%3Ahover%2Ctr%2Ejsoneditor%2Dselected%2Ejsoneditor%2Dfirst%20button%2Ejsoneditor%2Ddragarea%7Bbackground%2Dposition%3A%2D72px%20%2D48px%7Ddiv%2Ejsoneditor%20td%2Cdiv%2Ejsoneditor%20th%2Cdiv%2Ejsoneditor%20tr%7Bpadding%3A0%3Bmargin%3A0%7Ddiv%2Ejsoneditor%20td%2Cdiv%2Ejsoneditor%20td%2Ejsoneditor%2Dtree%7Bvertical%2Dalign%3Atop%7D%2Ejsoneditor%2Dschema%2Derror%2Cdiv%2Ejsoneditor%20td%2Cdiv%2Ejsoneditor%20textarea%2Cdiv%2Ejsoneditor%20th%2Cdiv%2Ejsoneditor%2Dfield%2Cdiv%2Ejsoneditor%2Dvalue%7Bfont%2Dfamily%3Adroid%20sans%20mono%2Cconsolas%2Cmonospace%2Ccourier%20new%2Ccourier%2Csans%2Dserif%3Bfont%2Dsize%3A10pt%3Bcolor%3A%231A1A1A%7D%2Ejsoneditor%2Dschema%2Derror%7Bcursor%3Adefault%3Bdisplay%3Ainline%2Dblock%3Bheight%3A24px%3Bline%2Dheight%3A24px%3Bposition%3Arelative%3Btext%2Dalign%3Acenter%3Bwidth%3A24px%7Ddiv%2Ejsoneditor%2Dtree%20%2Ejsoneditor%2Dschema%2Derror%7Bwidth%3A24px%3Bheight%3A24px%3Bpadding%3A0%3Bmargin%3A0%204px%200%200%3Bbackground%3Aurl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8%2BCjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgd2lkdGg9IjIxNiIKICAgaGVpZ2h0PSIxNDQiCiAgIGlkPSJzdmc0MTM2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTEgciIKICAgc29kaXBvZGk6ZG9jbmFtZT0ianNvbmVkaXRvci1pY29ucy5zdmciPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTY1MTIiPkpTT04gRWRpdG9yIEljb25zPC90aXRsZT4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0MTQ4Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI%2BCiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ%2BCiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT5KU09OIEVkaXRvciBJY29uczwvZGM6dGl0bGU%2BCiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0MTQ2IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI4IgogICAgIGlkPSJuYW1lZHZpZXc0MTQ0IgogICAgIHNob3dncmlkPSJ0cnVlIgogICAgIGlua3NjYXBlOnpvb209IjQiCiAgICAgaW5rc2NhcGU6Y3g9Ijk3LjIxNzI0OCIKICAgICBpbmtzY2FwZTpjeT0iNTkuOTUwMjI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNDEzNiIKICAgICBzaG93Z3VpZGVzPSJmYWxzZSIKICAgICBib3JkZXJsYXllcj0iZmFsc2UiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9InRydWUiCiAgICAgc2hvd2JvcmRlcj0idHJ1ZSI%2BCiAgICA8aW5rc2NhcGU6Z3JpZAogICAgICAgdHlwZT0ieHlncmlkIgogICAgICAgaWQ9ImdyaWQ0NjQwIgogICAgICAgZW1wc3BhY2luZz0iMjQiIC8%2BCiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc%2BCiAgPCEtLSBDcmVhdGVkIHdpdGggU1ZHLWVkaXQgLSBodHRwOi8vc3ZnLWVkaXQuZ29vZ2xlY29kZS5jb20vIC0tPgogIDxnCiAgICAgaWQ9Imc0Mzk0Ij4KICAgIDxyZWN0CiAgICAgICB4PSI0IgogICAgICAgeT0iNCIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEiCiAgICAgICBzdHlsZT0iZmlsbDojMWFhZTFjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNlYzNmMjk7ZmlsbC1vcGFjaXR5OjAuOTQxMTc2NDc7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIyOC4wMDAwMDYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEtNyIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQxNjUiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgeT0iMy45OTk5OTUiCiAgICAgICB4PSI1Mi4wMDAwMDQiCiAgICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxNzIuMDAwMDIiCiAgICAgICB5PSIzLjk5OTk4NTIiCiAgICAgICB3aWR0aD0iMTYiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgaWQ9InJlY3Q0MTc1IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxOTYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0icmVjdDQxNzUtMyIgLz4KICAgIDxnCiAgICAgICBzdHlsZT0ic3Ryb2tlOm5vbmUiCiAgICAgICBpZD0iZzQyOTkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICAgIHk9IjEwLjk5OTk5OCIKICAgICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMS0xIgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8ZwogICAgICAgc3R5bGU9InN0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC43MDcxMDY3OCwtMC43MDcxMDY3OCwwLjcwNzEwNjc4LDAuNzA3MTA2NzgsMTkuMDI5NDM1LDEyLjAwMDAwMSkiCiAgICAgICBpZD0iZzQyOTktMyI%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIGlkPSJzdmdfMS0xLTAiCiAgICAgICAgIGhlaWdodD0iMS45OTk5OTg2IgogICAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICAgIHg9IjcuMDAwMDA0OCIgLz4KICAgICAgPHJlY3QKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgICAgaWQ9InN2Z18xLTEtMS05IgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjU1LjAwMDAwNCIKICAgICAgIHk9IjcuMDAwMDA0OCIKICAgICAgIHdpZHRoPSI2Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICAgIGlkPSJzdmdfMS03LTUiIC8%2BCiAgICA8cmVjdAogICAgICAgaWQ9InJlY3Q0MzU0IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgeT0iMTAuMDAwMDEiCiAgICAgICB4PSI1OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojM2M4MGRmO3N0cm9rZS13aWR0aDowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjAuOTQxMTc2NDciCiAgICAgICB4PSI1OC4wMDAwMDQiCiAgICAgICB5PSIxMC4wMDAwMDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICBpZD0ic3ZnXzEtNy01LTciIC8%2BCiAgICA8ZwogICAgICAgaWQ9Imc0Mzc4Ij4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InN2Z18xLTctNS0zIgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgeT0iMTAuOTk5OTk5IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIHg9IjE5OCIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB3aWR0aD0iMTEuOTk5OTk1IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgaWQ9InJlY3Q0Mzc0IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIGlkPSJyZWN0NDM3NiIgLz4KICAgIDwvZz4KICAgIDxnCiAgICAgICBpZD0iZzQzODMiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDIzLjk5OTk5NSkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5NjUiCiAgICAgICAgIGlkPSJyZWN0NDM4NSIgLz4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InJlY3Q0Mzg3IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgd2lkdGg9IjExLjk5OTk5NSIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIGlkPSJyZWN0NDM4OSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIHdpZHRoPSIzLjk5OTk5MjgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgeD0iMTk4IgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPC9nPgogICAgPHJlY3QKICAgICAgIHk9IjMuOTk5OTE5OSIKICAgICAgIHg9Ijc2IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC00IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNDM1MSIKICAgICAgIGQ9Im0gODUuMTA0NDcsNi4wMTU3Mzg0IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OSwtMC4yNDAyIDAuMzMwMDgsMy42NTA3OTk2IDIuNDg0MzgsNC41NzgwOTk2IC0yLjE4Njk0LDEuMDkzOCAwLjQ5MTkxLDQuOTA2OSAtMi40NTMxMyw0LjU3ODEgbCAtMC4wMTU2LDEuNDIxOSBjIDUuNzA4MjgsMC41NTkgMS4wMzI2NCwtNS4xMDA1IDQuNzAzMTMsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIC0zLjYxMzAzLC0wLjAyNyAxLjExODkzLC01LjcwNjk5OTYgLTQuNzAzMTMsLTUuMzEyNDk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4yO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpZD0icGF0aDQzNTEtOSIKICAgICAgIGQ9Im0gODIuNzgxMjUsNS45OTg0Mzg0IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA3LDMuNjUwNjk5NiAtMi40ODQzNyw0LjU3ODA5OTYgMi4xODY5NCwxLjA5MzggLTAuNDkxOTIsNC45MDY5IDIuNDUzMTIsNC41NzgxIGwgMC4wMTU2LDEuNDIxOSBjIC01LjcwODI3LDAuNTU5IC0xLjAzMjYzLC01LjEwMDQgLTQuNzAzMTIsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIDMuNjEzMDMsLTAuMDI3IC0xLjExODk0LC01LjcwNzA5OTYgNC43MDMxMiwtNS4zMTI0OTk2IHoiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjI7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxMDAiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTI1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3IgogICAgICAgZD0ibSAxMDMuNzE5LDUuNjcxOTM4NCAwLDEyLjcxODc5OTYgMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAxLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3LTEiCiAgICAgICBkPSJtIDExMi4yMTg1LDUuNjcyMTk4NCAwLDEyLjcxODc5OTYgLTMuMDMxMjUsMCAwLC0xLjUzMTMgMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAtMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cmVjdAogICAgICAgeT0iMy45OTk5MTk5IgogICAgICAgeD0iMTI0IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC03MyIKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgzNzgwIgogICAgICAgZD0ibSAxMjYuMjgyNCwxNy42MDI5MzggMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MSA1LjY1MzY0LDAgMS4xNDg1NiwyLjg2NDEgMS43NjU2NSwwIC00Ljc4Njg3LC0xMS4xNjEwOTk2IC0xLjkxOTAzLDAgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoMzc4MiIKICAgICAgIGQ9Im0gMTI5LjcyNzA0LDEzLjQ3ODgzOCA0LjYwODUyLDAuMDEgLTIuMzA0MjYsLTUuNTQ5Nzk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxNDgiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTM1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGg1MDA4LTIiCiAgICAgICBkPSJtIDE1Ni40NzY1NSw1Ljg5MTczODQgMCwyLjE3OTcgMC40NjA5MywyLjM5ODM5OTYgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNTAwOC0yLTgiCiAgICAgICBkPSJtIDE1Mi41MTU2MSw1Ljg5MDYzODQgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODM5OTYgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgeD0iNCIKICAgICB5PSIyNy45OTk5OTQiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDMyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjI4LjAwMDAwNiIKICAgICB5PSIyNy45OTk5OSIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICBpZD0icmVjdDQ0MzQiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0MzYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB3aWR0aD0iMTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgeD0iNTIuMDAwMDA0IgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjE3Mi4wMDAwMiIKICAgICB5PSIyNy45OTk5ODEiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxOTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ4IiAvPgogIDxnCiAgICAgaWQ9Imc0NDY2IgogICAgIHN0eWxlPSJzdHJva2U6bm9uZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NjgiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk4NiIKICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICB4PSI3LjAwMDAwNDgiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgIGlkPSJyZWN0NDQ3MCIKICAgICAgIGhlaWdodD0iOS45OTk5ODM4IgogICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgIHk9IjcuMDAwMDExNCIKICAgICAgIHg9IjExLjAwMDAwNSIgLz4KICA8L2c%2BCiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LC0wLjcwNzEwNjc4LDAuNzA3MTA2NzgsMC43MDcxMDY3OCwxOS4wMjk0MzUsMzUuOTk5OTk2KSIKICAgICBpZD0iZzQ0NzIiCiAgICAgc3R5bGU9InN0cm9rZTpub25lIj4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgaWQ9InJlY3Q0NDc0IgogICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgeT0iMTAuOTk5OTk4IgogICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NzYiCiAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgIHdpZHRoPSIxLjk5OTk5NTUiCiAgICAgICB5PSI3LjAwMDAxMTQiCiAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NS4wMDAwMDQiCiAgICAgeT0iMzEiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ0NzgiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0ODAiCiAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICB5PSIzNC4wMDAwMDgiCiAgICAgeD0iNTgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgeD0iNTguMDAwMDA0IgogICAgIHk9IjM0LjAwMDAwNCIKICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgIGhlaWdodD0iNi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDQ4MiIgLz4KICA8ZwogICAgIGlkPSJnNDQ4NCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ4NiIKICAgICAgIGhlaWdodD0iMS45OTk5OTY1IgogICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjcuMDAwMDAwNSIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIGlkPSJyZWN0NDQ4OCIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgeD0iMTk4IgogICAgICAgeT0iMTQuOTk5OTk2IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgaWQ9InJlY3Q0NDkwIiAvPgogIDwvZz4KICA8ZwogICAgIGlkPSJnNDQ5MiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDQ3Ljk5OTk5KSI%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHdpZHRoPSI3Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgIGlkPSJyZWN0NDQ5NCIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQ0OTYiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICB5PSI3LjAwMDAwMDUiCiAgICAgICB4PSIxOTgiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ5OCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtOCIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB4PSI3NiIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODUuMTA0NDgsMzAuMDE1NTM3IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OCwtMC4yNDAyIDAuMzMwMDcsMy42NTA4IDIuNDg0MzgsNC41NzgxIC0yLjE4Njk1LDEuMDkzOCAwLjQ5MTkxLDQuOTA2ODggLTIuNDUzMTMsNC41NzgwOCBsIC0wLjAxNTYsMS40MjE5IGMgNS43MDgyNywwLjU1OSAxLjAzMjYzLC01LjEwMDQ4IDQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAtMy42MTMwNCwtMC4wMjcgMS4xMTg5MywtNS43MDcgLTQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODIuNzgxMjYsMjkuOTk4MjM3IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA4LDMuNjUwNyAtMi40ODQzOCw0LjU3ODEgMi4xODY5NCwxLjA5MzggLTAuNDkxOTEsNC45MDY4OCAyLjQ1MzEzLDQuNTc4MDggbCAwLjAxNTYsMS40MjE5IGMgLTUuNzA4MjgsMC41NTkgLTEuMDMyNjQsLTUuMTAwMzggLTQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAzLjYxMzAzLC0wLjAyNyAtMS4xMTg5MywtNS43MDcxIDQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS05LTUiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNjUiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTAwIgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEwMy43MTksMjkuNjcxOTM3IDAsMTIuNzE4NzggMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTggMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICBpZD0icGF0aDI5ODctOCIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDExMi4yMTg1LDI5LjY3MTkzNyAwLDEyLjcxODc4IC0zLjAzMTI1LDAgMCwtMS41MzEzIDEuMzQzNzUsMCAwLC05LjYyNDk4IC0xLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgIGlkPSJwYXRoMjk4Ny0xLTkiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgaWQ9InJlY3QzNzU0LTkyIgogICAgIHdpZHRoPSIxNiIKICAgICBoZWlnaHQ9IjE2IgogICAgIHg9IjEyNCIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgZD0ibSAxMjYuMjgyNCw0MS42MDI5MTcgMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MDggNS42NTM2NCwwIDEuMTQ4NTYsMi44NjQwOCAxLjc2NTY1LDAgLTQuNzg2ODcsLTExLjE2MTA4IC0xLjkxOTAyLDAgeiIKICAgICBpZD0icGF0aDM3ODAtOSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEyOS43MjcwNCwzNy40Nzg4MzcgNC42MDg1MiwwLjAxIC0yLjMwNDI2LC01LjU0OTggeiIKICAgICBpZD0icGF0aDM3ODItMiIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNDciCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTQ4IgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Ni40NzY1NiwyOS44OTE3MzcgMCwyLjE3OTcgMC40NjA5MywyLjM5ODQgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Mi41MTU2MiwyOS44OTA2MzcgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODQgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi04LTgiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0ic3ZnXzEtNy0yIgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIHdpZHRoPSIxMS45OTk5OTYiCiAgICAgeT0iNjQiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMiIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjUyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgeT0iNTIiCiAgICAgd2lkdGg9IjIuOTk5OTkwNyIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ1NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICB5PSI1OCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDU2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjU4IgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NTY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iNjQiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICB5PSI2NCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2OSIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDU3MSIKICAgICBjeD0iMTEwLjA2MDgxIgogICAgIGN5PSI1Ny45MzkyMDkiCiAgICAgcj0iNC43NDM4ODM2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxMTYuNjQ1NjYiCiAgICAgeT0iLTMxLjc5NzUyIgogICAgIHdpZHRoPSI0LjIyOTcxMyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICBpZD0icmVjdDQ1NjMtMiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTI1LDU2IDEzOC43NzAyNyw1Ni4wOTUgMTMyLDY0IFoiCiAgICAgaWQ9InBhdGg0NjEzIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgogIDxwYXRoCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg0NjE1IgogICAgIGQ9Ik0gMTQ5LDY0IDE2Mi43NzAyNyw2My45MDUgMTU2LDU2IFoiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NCIKICAgICB5PSI1MyIKICAgICB3aWR0aD0iMTEuOTk5OTk2IgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIGlkPSJyZWN0NDYzOCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMjQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgd2lkdGg9IjEyLjk5OTk5IgogICAgIHk9Ii01NiIKICAgICB4PSI1MyIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDAsMCkiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgeD0iNTMiCiAgICAgeT0iLTY2IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICBoZWlnaHQ9IjEuOTk5OTk1NyIKICAgICBpZD0icmVjdDQ2NTciIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2NTkiCiAgICAgaGVpZ2h0PSIwLjk5OTk5MjkxIgogICAgIHdpZHRoPSIxMS45OTk5OTkiCiAgICAgeT0iNTciCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI1NCIKICAgICB5PSI4OC4wMDAxMjIiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICBoZWlnaHQ9IjEuOTk5OTk2MSIKICAgICBpZD0icmVjdDQ2NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDY2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODIuMDAwMTIyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODUuMDAwMDA4IgogICAgIHk9IjgyLjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2OSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI4MC4wMDAwMDgiCiAgICAgeT0iODguMDAwMTIyIgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgaGVpZ2h0PSIyLjk5OTk5MDUiCiAgICAgaWQ9InJlY3Q0NjcxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjczIgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODguMDAwMTIyIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPGNpcmNsZQogICAgIHI9IjQuNzQzODgzNiIKICAgICBjeT0iODEuOTM5MzMxIgogICAgIGN4PSIxMTAuMDYwODEiCiAgICAgaWQ9ImNpcmNsZTQ2NzUiCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIgogICAgIGlkPSJyZWN0NDY3NyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICB3aWR0aD0iNC4yMjk3MTMiCiAgICAgeT0iLTE0LjgyNjgxNiIKICAgICB4PSIxMzMuNjE2MyIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2NzkiCiAgICAgZD0ibSAxMjUsODAuMDAwMDA1IDEzLjc3MDI3LDAuMDk0OTkgTCAxMzIsODcuOTk5OTkyIFoiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTQ5LDg4LjAwMDIgMTYyLjc3MDI3LDg3LjkwNTIgMTU2LDgwLjAwMDIgWiIKICAgICBpZD0icGF0aDQ2ODEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2ODMiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NjEiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICB5PSI3Ny4wMDAxMjIiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwxLC0xLDAsMCwwKSIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHk9Ii01NiIKICAgICB3aWR0aD0iMTIuOTk5OTkiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgaWQ9InJlY3Q0Njg1IiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0Njg3IgogICAgIGhlaWdodD0iMS45OTk5OTU3IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICB5PSItNjYiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIgogICAgIHg9IjU0IgogICAgIHk9IjgxLjAwMDEyMiIKICAgICB3aWR0aD0iMTEuOTk5OTk5IgogICAgIGhlaWdodD0iMC45OTk5OTI5MSIKICAgICBpZD0icmVjdDQ2ODkiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ3NjEtMSIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTUuOTk5OTkiCiAgICAgeT0iMTAxIgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTAiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjE1Ljk5OTk5IgogICAgIHk9IjEwNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS03IgogICAgIGhlaWdodD0iMS45OTk5OTQ1IgogICAgIHdpZHRoPSI5IgogICAgIHk9IjEwOSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEyIgogICAgIHk9IjEyNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEtNCIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTAiCiAgICAgeT0iMTM3IgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEwIgogICAgIHk9IjEyOSIKICAgICB4PSI4MiIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQtMyIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iOSIKICAgICB5PSIxMzMiCiAgICAgeD0iODIiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuODtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTAwLjAyNTQgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEwMC41OTkxIGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUyIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjUsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU2LDAgNi43MTA0NDIsLTIuNDExMyA3LjY1MDM5MSwtNS45NDE0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3MzYgLTMuNzEwOTM4LC05LjA3MDMgLTEuMTU5Njc4LC0wLjY3MzggLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjg7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDk5Ljk2MjkgYyAtMS4yNzAwODQsMC4wMzkgLTIuNTQxNDkzLDAuMzg4NyAtMy43MDExNzIsMS4wNjI1IC0zLjA5MjQ3NSwxLjc5NjcgLTQuNjUwODg2LDUuNTQwMiAtMy43MTA5MzcsOS4wNzAzIDAuOTM5OTQ5LDMuNTMwMSA0LjA5NzY4LDUuOTQxNCA3LjY0ODQzNyw1Ljk0MTQgbCAwLC0zLjA3NDIgYyAtMi4yOTYyMTQsMCAtNC4yNTY3MTcsLTEuNTQyIC00LjgzMDA3OCwtMy42OTUzIC0wLjU3MzM2MSwtMi4xNTMzIDAuMzM3NDMyLC00LjQwNTYgMi4zMDg1OTQsLTUuNTUwOCAxLjkzNTczMSwtMS4xMjQ2IDQuMzg4NjMsLTAuODEwMiA1Ljk4NjMyNiwwLjcyMDcgbCAtMS44MDY2MzgsMS45MDYzIDcuODI4MTI4LDEuOTA2MiAtMi4zMjQyMiwtNy43MTI5IC0xLjYyNjk2LDEuNzE2OCBjIC0xLjI2MzM4LC0xLjI1MzEgLTIuODQ4OTE3LC0yLjAwODggLTQuNTA1ODU1LC0yLjIyODUgLTAuNDE4Nzc4LC0wLjA1NSAtMC44NDIyNjMsLTAuMDc2IC0xLjI2NTYyNSwtMC4wNjIgeiIKICAgICBpZD0icGF0aDQxMzgtMSIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9Im9wYWNpdHk6MC44O2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS45NjY7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgZD0ibSAxMC41LDEwMCAwLDIgLTIuNDk5OTk5NiwwIEwgMTIsMTA3IGwgNCwtNSAtMi41LDAgMCwtMiAtMywwIHoiCiAgICAgaWQ9InBhdGgzMDU1LTAtNzciIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NTA1NzQsMTA4LjAxNSAxNC4wMjk4ODU2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NDk4NzQsMTMyLjAxNSAxNC4wMjk4ODY2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNS04IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuNDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTIzLjk2MjkgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEyNC41MzY2IGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUzIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjQsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU3LDAgNi43MTA0NDIsLTIuNDA5MyA3LjY1MDM5MSwtNS45Mzk0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3NTYgLTMuNzEwOTM4LC05LjA3MjMgLTEuMTU5Njc4LC0wLjY3MzcgLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgtMTIiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjQ7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDEyMy45NjI5IGMgLTEuMjcwMDg0LDAuMDM5IC0yLjU0MTQ5MywwLjM4ODggLTMuNzAxMTcyLDEuMDYyNSAtMy4wOTI0NzUsMS43OTY3IC00LjY1MDg4Niw1LjU0MjIgLTMuNzEwOTM3LDkuMDcyMyAwLjkzOTk0OSwzLjUzMDEgNC4wOTc2OCw1LjkzOTQgNy42NDg0MzcsNS45Mzk0IGwgMCwtMy4wNzQyIGMgLTIuMjk2MjE0LDAgLTQuMjU2NzE3LC0xLjU0MiAtNC44MzAwNzgsLTMuNjk1MyAtMC41NzMzNjEsLTIuMTUzMyAwLjMzNzQzMiwtNC40MDU1IDIuMzA4NTk0LC01LjU1MDggMS45MzU3MzEsLTEuMTI0NiA0LjM4ODYzLC0wLjgxMDIgNS45ODYzMjYsMC43MjA3IGwgLTEuODA2NjM4LDEuOTA2MyA3LjgyODEyOCwxLjkwNjIgLTIuMzI0MjIsLTcuNzEyOSAtMS42MjY5NiwxLjcxNjggYyAtMS4yNjMzOCwtMS4yNTMxIC0yLjg0ODkxNywtMi4wMDg4IC00LjUwNTg1NSwtMi4yMjg1IC0wLjQxODc3OCwtMC4wNTUgLTAuODQyMjYzLC0wLjA3NiAtMS4yNjU2MjUsLTAuMDYyIHoiCiAgICAgaWQ9InBhdGg0MTM4LTEtMyIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoNjE5MSIKICAgICBkPSJtIDEwLjUsMTE2IDAsLTIgLTIuNDk5OTk5NiwwIEwgMTIsMTA5IGwgNCw1IC0yLjUsMCAwLDIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGQ9Im0gMTAuNSwxMjkgMCwtMiAtMi40OTk5OTk2LDAgTCAxMiwxMjIgbCA0LDUgLTIuNSwwIDAsMiAtMywwIHoiCiAgICAgaWQ9InBhdGg2MTkzIiAvPgogIDxwYXRoCiAgICAgaWQ9InBhdGg2MTk1IgogICAgIGQ9Im0gMTAuNSwxMzUgMCwyIC0yLjQ5OTk5OTYsMCBMIDEyLDE0MiBsIDQsLTUgLTIuNSwwIDAsLTIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwMCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyNDIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSItMS4yNzc5MDI2IiAvPgogIDxwYXRoCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSIxLjI3NzkwMiIKICAgICBkPSJtIC0zMS41MDAwMDQsNjAuMDczMjQyIC0zLjgzMzcwOCwyLjIxMzM5MiAtMy44MzM3MDcsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDcsMi4yMTMzOTIgeiIKICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTpyMj0iMi41NTU4MDUyIgogICAgIHNvZGlwb2RpOnIxPSI1LjExMTYxMDQiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpjeD0iLTM2LjYxMTYxNCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBpZD0icGF0aDQ1MDIiCiAgICAgc3R5bGU9ImZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MC45MDE5NjA3ODtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgc29kaXBvZGk6dHlwZT0ic3RhciIKICAgICB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIiAvPgogIDxwYXRoCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOmZsYXRzaWRlZD0iZmFsc2UiCiAgICAgc29kaXBvZGk6YXJnMj0iMS4wNDcxOTc2IgogICAgIHNvZGlwb2RpOmFyZzE9IjAiCiAgICAgc29kaXBvZGk6cjI9IjIuNTU1ODA1MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOmN5PSI2MC4wNzMyMTIiCiAgICAgc29kaXBvZGk6Y3g9IjExLjU1NTgxIgogICAgIHNvZGlwb2RpOnNpZGVzPSIzIgogICAgIGlkPSJwYXRoNDUwNCIKICAgICBzdHlsZT0iZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eTowLjkwMTk2MDc4O3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDcyLjAwNzQsNzEuNzg3NykiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci15PSIxLjI3NzkwMjkiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii0xLjI3NzkwMjYiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwtMSwtMSwwLDk2LDk2KSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwNiIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzIxMiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2MTUtNSIKICAgICBkPSJtIDE3MS44MjU3NCw2NS4xNzQxOTMgMTYuMzQ4NTQsMCAtOC4xNzQyNywtMTMuMzQ4NDU0IHoiCiAgICAgc3R5bGU9ImZpbGw6I2ZiYjkxNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZiYjkxNztzdHJva2Utd2lkdGg6MS42NTE2MTM5NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjFweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gMTc5LDU1IDAsNiAyLDAgMCwtNiIKICAgICBpZD0icGF0aDQzMDAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSAxNzksNjIgMCwyIDIsMCAwLC0yIgogICAgIGlkPSJwYXRoNDMwMC02IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgo8L3N2Zz4K%29%20%2D168px%20%2D48px%7D%2Ejsoneditor%2Dschema%2Derror%20%2Ejsoneditor%2Dpopover%7Bbackground%2Dcolor%3A%234c4c4c%3Bborder%2Dradius%3A3px%3Bbox%2Dshadow%3A0%200%205px%20rgba%280%2C0%2C0%2C%2E4%29%3Bcolor%3A%23fff%3Bdisplay%3Anone%3Bpadding%3A7px%2010px%3Bposition%3Aabsolute%3Bwidth%3A200px%3Bz%2Dindex%3A4%7D%2Ejsoneditor%2Dschema%2Derror%20%2Ejsoneditor%2Dpopover%2Ejsoneditor%2Dabove%7Bbottom%3A32px%3Bleft%3A%2D98px%7D%2Ejsoneditor%2Dschema%2Derror%20%2Ejsoneditor%2Dpopover%2Ejsoneditor%2Dbelow%7Btop%3A32px%3Bleft%3A%2D98px%7D%2Ejsoneditor%2Dschema%2Derror%20%2Ejsoneditor%2Dpopover%2Ejsoneditor%2Dleft%7Btop%3A%2D7px%3Bright%3A32px%7D%2Ejsoneditor%2Dschema%2Derror%20%2Ejsoneditor%2Dpopover%2Ejsoneditor%2Dright%7Btop%3A%2D7px%3Bleft%3A32px%7D%2Ejsoneditor%2Dschema%2Derror%20%2Ejsoneditor%2Dpopover%3Abefore%7Bborder%2Dright%3A7px%20solid%20transparent%3Bborder%2Dleft%3A7px%20solid%20transparent%3Bcontent%3A%27%27%3Bdisplay%3Ablock%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D7px%3Bposition%3Aabsolute%7D%2Ejsoneditor%2Dschema%2Derror%20%2Ejsoneditor%2Dpopover%2Ejsoneditor%2Dabove%3Abefore%7Bborder%2Dtop%3A7px%20solid%20%234c4c4c%3Bbottom%3A%2D7px%7D%2Ejsoneditor%2Dschema%2Derror%20%2Ejsoneditor%2Dpopover%2Ejsoneditor%2Dbelow%3Abefore%7Bborder%2Dbottom%3A7px%20solid%20%234c4c4c%3Btop%3A%2D7px%7D%2Ejsoneditor%2Dschema%2Derror%20%2Ejsoneditor%2Dpopover%2Ejsoneditor%2Dleft%3Abefore%2C%2Ejsoneditor%2Dschema%2Derror%20%2Ejsoneditor%2Dpopover%2Ejsoneditor%2Dright%3Abefore%7Bborder%2Dtop%3A7px%20solid%20transparent%3Bborder%2Dbottom%3A7px%20solid%20transparent%3Bcontent%3A%27%27%3Btop%3A19px%3Bmargin%2Dleft%3Ainherit%3Bmargin%2Dtop%3A%2D7px%3Bposition%3Aabsolute%7D%2Ejsoneditor%2Dschema%2Derror%20%2Ejsoneditor%2Dpopover%2Ejsoneditor%2Dleft%3Abefore%7Bborder%2Dleft%3A7px%20solid%20%234c4c4c%3Bright%3A%2D14px%3Bleft%3Ainherit%7D%2Ejsoneditor%2Dschema%2Derror%20%2Ejsoneditor%2Dpopover%2Ejsoneditor%2Dright%3Abefore%7Bborder%2Dright%3A7px%20solid%20%234c4c4c%3Bleft%3A%2D14px%7D%2Ejsoneditor%2Dschema%2Derror%3Afocus%20%2Ejsoneditor%2Dpopover%2C%2Ejsoneditor%2Dschema%2Derror%3Ahover%20%2Ejsoneditor%2Dpopover%7Bdisplay%3Ablock%3B%2Dwebkit%2Danimation%3Afade%2Din%20%2E3s%20linear%201%2Cmove%2Dup%20%2E3s%20linear%201%3B%2Dmoz%2Danimation%3Afade%2Din%20%2E3s%20linear%201%2Cmove%2Dup%20%2E3s%20linear%201%3B%2Dms%2Danimation%3Afade%2Din%20%2E3s%20linear%201%2Cmove%2Dup%20%2E3s%20linear%201%7D%40%2Dwebkit%2Dkeyframes%20fade%2Din%7Bfrom%7Bopacity%3A0%7Dto%7Bopacity%3A1%7D%7D%40%2Dmoz%2Dkeyframes%20fade%2Din%7Bfrom%7Bopacity%3A0%7Dto%7Bopacity%3A1%7D%7D%40%2Dms%2Dkeyframes%20fade%2Din%7Bfrom%7Bopacity%3A0%7Dto%7Bopacity%3A1%7D%7D%2Ejsoneditor%20%2Ejsoneditor%2Dtext%2Derrors%7Bwidth%3A100%25%3Bborder%2Dcollapse%3Acollapse%3Bbackground%2Dcolor%3A%23ffef8b%3Bborder%2Dtop%3A1px%20solid%20gold%7D%2Ejsoneditor%20%2Ejsoneditor%2Dtext%2Derrors%20td%7Bpadding%3A3px%206px%3Bvertical%2Dalign%3Amiddle%7D%2Ejsoneditor%2Dtext%2Derrors%20%2Ejsoneditor%2Dschema%2Derror%7Bborder%3Anone%3Bwidth%3A24px%3Bheight%3A24px%3Bpadding%3A0%3Bmargin%3A0%204px%200%200%3Bbackground%3Aurl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8%2BCjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgd2lkdGg9IjIxNiIKICAgaGVpZ2h0PSIxNDQiCiAgIGlkPSJzdmc0MTM2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTEgciIKICAgc29kaXBvZGk6ZG9jbmFtZT0ianNvbmVkaXRvci1pY29ucy5zdmciPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTY1MTIiPkpTT04gRWRpdG9yIEljb25zPC90aXRsZT4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0MTQ4Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI%2BCiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ%2BCiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT5KU09OIEVkaXRvciBJY29uczwvZGM6dGl0bGU%2BCiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0MTQ2IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI4IgogICAgIGlkPSJuYW1lZHZpZXc0MTQ0IgogICAgIHNob3dncmlkPSJ0cnVlIgogICAgIGlua3NjYXBlOnpvb209IjQiCiAgICAgaW5rc2NhcGU6Y3g9Ijk3LjIxNzI0OCIKICAgICBpbmtzY2FwZTpjeT0iNTkuOTUwMjI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNDEzNiIKICAgICBzaG93Z3VpZGVzPSJmYWxzZSIKICAgICBib3JkZXJsYXllcj0iZmFsc2UiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9InRydWUiCiAgICAgc2hvd2JvcmRlcj0idHJ1ZSI%2BCiAgICA8aW5rc2NhcGU6Z3JpZAogICAgICAgdHlwZT0ieHlncmlkIgogICAgICAgaWQ9ImdyaWQ0NjQwIgogICAgICAgZW1wc3BhY2luZz0iMjQiIC8%2BCiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc%2BCiAgPCEtLSBDcmVhdGVkIHdpdGggU1ZHLWVkaXQgLSBodHRwOi8vc3ZnLWVkaXQuZ29vZ2xlY29kZS5jb20vIC0tPgogIDxnCiAgICAgaWQ9Imc0Mzk0Ij4KICAgIDxyZWN0CiAgICAgICB4PSI0IgogICAgICAgeT0iNCIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEiCiAgICAgICBzdHlsZT0iZmlsbDojMWFhZTFjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNlYzNmMjk7ZmlsbC1vcGFjaXR5OjAuOTQxMTc2NDc7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIyOC4wMDAwMDYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEtNyIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQxNjUiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgeT0iMy45OTk5OTUiCiAgICAgICB4PSI1Mi4wMDAwMDQiCiAgICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxNzIuMDAwMDIiCiAgICAgICB5PSIzLjk5OTk4NTIiCiAgICAgICB3aWR0aD0iMTYiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgaWQ9InJlY3Q0MTc1IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxOTYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0icmVjdDQxNzUtMyIgLz4KICAgIDxnCiAgICAgICBzdHlsZT0ic3Ryb2tlOm5vbmUiCiAgICAgICBpZD0iZzQyOTkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICAgIHk9IjEwLjk5OTk5OCIKICAgICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMS0xIgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8ZwogICAgICAgc3R5bGU9InN0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC43MDcxMDY3OCwtMC43MDcxMDY3OCwwLjcwNzEwNjc4LDAuNzA3MTA2NzgsMTkuMDI5NDM1LDEyLjAwMDAwMSkiCiAgICAgICBpZD0iZzQyOTktMyI%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIGlkPSJzdmdfMS0xLTAiCiAgICAgICAgIGhlaWdodD0iMS45OTk5OTg2IgogICAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICAgIHg9IjcuMDAwMDA0OCIgLz4KICAgICAgPHJlY3QKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgICAgaWQ9InN2Z18xLTEtMS05IgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjU1LjAwMDAwNCIKICAgICAgIHk9IjcuMDAwMDA0OCIKICAgICAgIHdpZHRoPSI2Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICAgIGlkPSJzdmdfMS03LTUiIC8%2BCiAgICA8cmVjdAogICAgICAgaWQ9InJlY3Q0MzU0IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgeT0iMTAuMDAwMDEiCiAgICAgICB4PSI1OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojM2M4MGRmO3N0cm9rZS13aWR0aDowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjAuOTQxMTc2NDciCiAgICAgICB4PSI1OC4wMDAwMDQiCiAgICAgICB5PSIxMC4wMDAwMDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICBpZD0ic3ZnXzEtNy01LTciIC8%2BCiAgICA8ZwogICAgICAgaWQ9Imc0Mzc4Ij4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InN2Z18xLTctNS0zIgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgeT0iMTAuOTk5OTk5IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIHg9IjE5OCIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB3aWR0aD0iMTEuOTk5OTk1IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgaWQ9InJlY3Q0Mzc0IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIGlkPSJyZWN0NDM3NiIgLz4KICAgIDwvZz4KICAgIDxnCiAgICAgICBpZD0iZzQzODMiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDIzLjk5OTk5NSkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5NjUiCiAgICAgICAgIGlkPSJyZWN0NDM4NSIgLz4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InJlY3Q0Mzg3IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgd2lkdGg9IjExLjk5OTk5NSIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIGlkPSJyZWN0NDM4OSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIHdpZHRoPSIzLjk5OTk5MjgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgeD0iMTk4IgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPC9nPgogICAgPHJlY3QKICAgICAgIHk9IjMuOTk5OTE5OSIKICAgICAgIHg9Ijc2IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC00IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNDM1MSIKICAgICAgIGQ9Im0gODUuMTA0NDcsNi4wMTU3Mzg0IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OSwtMC4yNDAyIDAuMzMwMDgsMy42NTA3OTk2IDIuNDg0MzgsNC41NzgwOTk2IC0yLjE4Njk0LDEuMDkzOCAwLjQ5MTkxLDQuOTA2OSAtMi40NTMxMyw0LjU3ODEgbCAtMC4wMTU2LDEuNDIxOSBjIDUuNzA4MjgsMC41NTkgMS4wMzI2NCwtNS4xMDA1IDQuNzAzMTMsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIC0zLjYxMzAzLC0wLjAyNyAxLjExODkzLC01LjcwNjk5OTYgLTQuNzAzMTMsLTUuMzEyNDk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4yO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpZD0icGF0aDQzNTEtOSIKICAgICAgIGQ9Im0gODIuNzgxMjUsNS45OTg0Mzg0IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA3LDMuNjUwNjk5NiAtMi40ODQzNyw0LjU3ODA5OTYgMi4xODY5NCwxLjA5MzggLTAuNDkxOTIsNC45MDY5IDIuNDUzMTIsNC41NzgxIGwgMC4wMTU2LDEuNDIxOSBjIC01LjcwODI3LDAuNTU5IC0xLjAzMjYzLC01LjEwMDQgLTQuNzAzMTIsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIDMuNjEzMDMsLTAuMDI3IC0xLjExODk0LC01LjcwNzA5OTYgNC43MDMxMiwtNS4zMTI0OTk2IHoiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjI7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxMDAiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTI1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3IgogICAgICAgZD0ibSAxMDMuNzE5LDUuNjcxOTM4NCAwLDEyLjcxODc5OTYgMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAxLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3LTEiCiAgICAgICBkPSJtIDExMi4yMTg1LDUuNjcyMTk4NCAwLDEyLjcxODc5OTYgLTMuMDMxMjUsMCAwLC0xLjUzMTMgMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAtMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cmVjdAogICAgICAgeT0iMy45OTk5MTk5IgogICAgICAgeD0iMTI0IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC03MyIKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgzNzgwIgogICAgICAgZD0ibSAxMjYuMjgyNCwxNy42MDI5MzggMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MSA1LjY1MzY0LDAgMS4xNDg1NiwyLjg2NDEgMS43NjU2NSwwIC00Ljc4Njg3LC0xMS4xNjEwOTk2IC0xLjkxOTAzLDAgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoMzc4MiIKICAgICAgIGQ9Im0gMTI5LjcyNzA0LDEzLjQ3ODgzOCA0LjYwODUyLDAuMDEgLTIuMzA0MjYsLTUuNTQ5Nzk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxNDgiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTM1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGg1MDA4LTIiCiAgICAgICBkPSJtIDE1Ni40NzY1NSw1Ljg5MTczODQgMCwyLjE3OTcgMC40NjA5MywyLjM5ODM5OTYgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNTAwOC0yLTgiCiAgICAgICBkPSJtIDE1Mi41MTU2MSw1Ljg5MDYzODQgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODM5OTYgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgeD0iNCIKICAgICB5PSIyNy45OTk5OTQiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDMyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjI4LjAwMDAwNiIKICAgICB5PSIyNy45OTk5OSIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICBpZD0icmVjdDQ0MzQiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0MzYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB3aWR0aD0iMTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgeD0iNTIuMDAwMDA0IgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjE3Mi4wMDAwMiIKICAgICB5PSIyNy45OTk5ODEiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxOTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ4IiAvPgogIDxnCiAgICAgaWQ9Imc0NDY2IgogICAgIHN0eWxlPSJzdHJva2U6bm9uZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NjgiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk4NiIKICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICB4PSI3LjAwMDAwNDgiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgIGlkPSJyZWN0NDQ3MCIKICAgICAgIGhlaWdodD0iOS45OTk5ODM4IgogICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgIHk9IjcuMDAwMDExNCIKICAgICAgIHg9IjExLjAwMDAwNSIgLz4KICA8L2c%2BCiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LC0wLjcwNzEwNjc4LDAuNzA3MTA2NzgsMC43MDcxMDY3OCwxOS4wMjk0MzUsMzUuOTk5OTk2KSIKICAgICBpZD0iZzQ0NzIiCiAgICAgc3R5bGU9InN0cm9rZTpub25lIj4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgaWQ9InJlY3Q0NDc0IgogICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgeT0iMTAuOTk5OTk4IgogICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NzYiCiAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgIHdpZHRoPSIxLjk5OTk5NTUiCiAgICAgICB5PSI3LjAwMDAxMTQiCiAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NS4wMDAwMDQiCiAgICAgeT0iMzEiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ0NzgiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0ODAiCiAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICB5PSIzNC4wMDAwMDgiCiAgICAgeD0iNTgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgeD0iNTguMDAwMDA0IgogICAgIHk9IjM0LjAwMDAwNCIKICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgIGhlaWdodD0iNi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDQ4MiIgLz4KICA8ZwogICAgIGlkPSJnNDQ4NCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ4NiIKICAgICAgIGhlaWdodD0iMS45OTk5OTY1IgogICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjcuMDAwMDAwNSIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIGlkPSJyZWN0NDQ4OCIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgeD0iMTk4IgogICAgICAgeT0iMTQuOTk5OTk2IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgaWQ9InJlY3Q0NDkwIiAvPgogIDwvZz4KICA8ZwogICAgIGlkPSJnNDQ5MiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDQ3Ljk5OTk5KSI%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHdpZHRoPSI3Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgIGlkPSJyZWN0NDQ5NCIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQ0OTYiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICB5PSI3LjAwMDAwMDUiCiAgICAgICB4PSIxOTgiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ5OCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtOCIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB4PSI3NiIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODUuMTA0NDgsMzAuMDE1NTM3IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OCwtMC4yNDAyIDAuMzMwMDcsMy42NTA4IDIuNDg0MzgsNC41NzgxIC0yLjE4Njk1LDEuMDkzOCAwLjQ5MTkxLDQuOTA2ODggLTIuNDUzMTMsNC41NzgwOCBsIC0wLjAxNTYsMS40MjE5IGMgNS43MDgyNywwLjU1OSAxLjAzMjYzLC01LjEwMDQ4IDQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAtMy42MTMwNCwtMC4wMjcgMS4xMTg5MywtNS43MDcgLTQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODIuNzgxMjYsMjkuOTk4MjM3IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA4LDMuNjUwNyAtMi40ODQzOCw0LjU3ODEgMi4xODY5NCwxLjA5MzggLTAuNDkxOTEsNC45MDY4OCAyLjQ1MzEzLDQuNTc4MDggbCAwLjAxNTYsMS40MjE5IGMgLTUuNzA4MjgsMC41NTkgLTEuMDMyNjQsLTUuMTAwMzggLTQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAzLjYxMzAzLC0wLjAyNyAtMS4xMTg5MywtNS43MDcxIDQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS05LTUiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNjUiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTAwIgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEwMy43MTksMjkuNjcxOTM3IDAsMTIuNzE4NzggMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTggMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICBpZD0icGF0aDI5ODctOCIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDExMi4yMTg1LDI5LjY3MTkzNyAwLDEyLjcxODc4IC0zLjAzMTI1LDAgMCwtMS41MzEzIDEuMzQzNzUsMCAwLC05LjYyNDk4IC0xLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgIGlkPSJwYXRoMjk4Ny0xLTkiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgaWQ9InJlY3QzNzU0LTkyIgogICAgIHdpZHRoPSIxNiIKICAgICBoZWlnaHQ9IjE2IgogICAgIHg9IjEyNCIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgZD0ibSAxMjYuMjgyNCw0MS42MDI5MTcgMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MDggNS42NTM2NCwwIDEuMTQ4NTYsMi44NjQwOCAxLjc2NTY1LDAgLTQuNzg2ODcsLTExLjE2MTA4IC0xLjkxOTAyLDAgeiIKICAgICBpZD0icGF0aDM3ODAtOSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEyOS43MjcwNCwzNy40Nzg4MzcgNC42MDg1MiwwLjAxIC0yLjMwNDI2LC01LjU0OTggeiIKICAgICBpZD0icGF0aDM3ODItMiIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNDciCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTQ4IgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Ni40NzY1NiwyOS44OTE3MzcgMCwyLjE3OTcgMC40NjA5MywyLjM5ODQgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Mi41MTU2MiwyOS44OTA2MzcgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODQgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi04LTgiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0ic3ZnXzEtNy0yIgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIHdpZHRoPSIxMS45OTk5OTYiCiAgICAgeT0iNjQiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMiIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjUyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgeT0iNTIiCiAgICAgd2lkdGg9IjIuOTk5OTkwNyIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ1NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICB5PSI1OCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDU2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjU4IgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NTY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iNjQiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICB5PSI2NCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2OSIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDU3MSIKICAgICBjeD0iMTEwLjA2MDgxIgogICAgIGN5PSI1Ny45MzkyMDkiCiAgICAgcj0iNC43NDM4ODM2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxMTYuNjQ1NjYiCiAgICAgeT0iLTMxLjc5NzUyIgogICAgIHdpZHRoPSI0LjIyOTcxMyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICBpZD0icmVjdDQ1NjMtMiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTI1LDU2IDEzOC43NzAyNyw1Ni4wOTUgMTMyLDY0IFoiCiAgICAgaWQ9InBhdGg0NjEzIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgogIDxwYXRoCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg0NjE1IgogICAgIGQ9Ik0gMTQ5LDY0IDE2Mi43NzAyNyw2My45MDUgMTU2LDU2IFoiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NCIKICAgICB5PSI1MyIKICAgICB3aWR0aD0iMTEuOTk5OTk2IgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIGlkPSJyZWN0NDYzOCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMjQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgd2lkdGg9IjEyLjk5OTk5IgogICAgIHk9Ii01NiIKICAgICB4PSI1MyIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDAsMCkiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgeD0iNTMiCiAgICAgeT0iLTY2IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICBoZWlnaHQ9IjEuOTk5OTk1NyIKICAgICBpZD0icmVjdDQ2NTciIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2NTkiCiAgICAgaGVpZ2h0PSIwLjk5OTk5MjkxIgogICAgIHdpZHRoPSIxMS45OTk5OTkiCiAgICAgeT0iNTciCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI1NCIKICAgICB5PSI4OC4wMDAxMjIiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICBoZWlnaHQ9IjEuOTk5OTk2MSIKICAgICBpZD0icmVjdDQ2NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDY2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODIuMDAwMTIyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODUuMDAwMDA4IgogICAgIHk9IjgyLjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2OSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI4MC4wMDAwMDgiCiAgICAgeT0iODguMDAwMTIyIgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgaGVpZ2h0PSIyLjk5OTk5MDUiCiAgICAgaWQ9InJlY3Q0NjcxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjczIgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODguMDAwMTIyIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPGNpcmNsZQogICAgIHI9IjQuNzQzODgzNiIKICAgICBjeT0iODEuOTM5MzMxIgogICAgIGN4PSIxMTAuMDYwODEiCiAgICAgaWQ9ImNpcmNsZTQ2NzUiCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIgogICAgIGlkPSJyZWN0NDY3NyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICB3aWR0aD0iNC4yMjk3MTMiCiAgICAgeT0iLTE0LjgyNjgxNiIKICAgICB4PSIxMzMuNjE2MyIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2NzkiCiAgICAgZD0ibSAxMjUsODAuMDAwMDA1IDEzLjc3MDI3LDAuMDk0OTkgTCAxMzIsODcuOTk5OTkyIFoiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTQ5LDg4LjAwMDIgMTYyLjc3MDI3LDg3LjkwNTIgMTU2LDgwLjAwMDIgWiIKICAgICBpZD0icGF0aDQ2ODEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2ODMiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NjEiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICB5PSI3Ny4wMDAxMjIiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwxLC0xLDAsMCwwKSIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHk9Ii01NiIKICAgICB3aWR0aD0iMTIuOTk5OTkiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgaWQ9InJlY3Q0Njg1IiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0Njg3IgogICAgIGhlaWdodD0iMS45OTk5OTU3IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICB5PSItNjYiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIgogICAgIHg9IjU0IgogICAgIHk9IjgxLjAwMDEyMiIKICAgICB3aWR0aD0iMTEuOTk5OTk5IgogICAgIGhlaWdodD0iMC45OTk5OTI5MSIKICAgICBpZD0icmVjdDQ2ODkiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ3NjEtMSIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTUuOTk5OTkiCiAgICAgeT0iMTAxIgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTAiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjE1Ljk5OTk5IgogICAgIHk9IjEwNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS03IgogICAgIGhlaWdodD0iMS45OTk5OTQ1IgogICAgIHdpZHRoPSI5IgogICAgIHk9IjEwOSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEyIgogICAgIHk9IjEyNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEtNCIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTAiCiAgICAgeT0iMTM3IgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEwIgogICAgIHk9IjEyOSIKICAgICB4PSI4MiIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQtMyIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iOSIKICAgICB5PSIxMzMiCiAgICAgeD0iODIiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuODtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTAwLjAyNTQgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEwMC41OTkxIGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUyIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjUsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU2LDAgNi43MTA0NDIsLTIuNDExMyA3LjY1MDM5MSwtNS45NDE0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3MzYgLTMuNzEwOTM4LC05LjA3MDMgLTEuMTU5Njc4LC0wLjY3MzggLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjg7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDk5Ljk2MjkgYyAtMS4yNzAwODQsMC4wMzkgLTIuNTQxNDkzLDAuMzg4NyAtMy43MDExNzIsMS4wNjI1IC0zLjA5MjQ3NSwxLjc5NjcgLTQuNjUwODg2LDUuNTQwMiAtMy43MTA5MzcsOS4wNzAzIDAuOTM5OTQ5LDMuNTMwMSA0LjA5NzY4LDUuOTQxNCA3LjY0ODQzNyw1Ljk0MTQgbCAwLC0zLjA3NDIgYyAtMi4yOTYyMTQsMCAtNC4yNTY3MTcsLTEuNTQyIC00LjgzMDA3OCwtMy42OTUzIC0wLjU3MzM2MSwtMi4xNTMzIDAuMzM3NDMyLC00LjQwNTYgMi4zMDg1OTQsLTUuNTUwOCAxLjkzNTczMSwtMS4xMjQ2IDQuMzg4NjMsLTAuODEwMiA1Ljk4NjMyNiwwLjcyMDcgbCAtMS44MDY2MzgsMS45MDYzIDcuODI4MTI4LDEuOTA2MiAtMi4zMjQyMiwtNy43MTI5IC0xLjYyNjk2LDEuNzE2OCBjIC0xLjI2MzM4LC0xLjI1MzEgLTIuODQ4OTE3LC0yLjAwODggLTQuNTA1ODU1LC0yLjIyODUgLTAuNDE4Nzc4LC0wLjA1NSAtMC44NDIyNjMsLTAuMDc2IC0xLjI2NTYyNSwtMC4wNjIgeiIKICAgICBpZD0icGF0aDQxMzgtMSIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9Im9wYWNpdHk6MC44O2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS45NjY7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgZD0ibSAxMC41LDEwMCAwLDIgLTIuNDk5OTk5NiwwIEwgMTIsMTA3IGwgNCwtNSAtMi41LDAgMCwtMiAtMywwIHoiCiAgICAgaWQ9InBhdGgzMDU1LTAtNzciIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NTA1NzQsMTA4LjAxNSAxNC4wMjk4ODU2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NDk4NzQsMTMyLjAxNSAxNC4wMjk4ODY2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNS04IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuNDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTIzLjk2MjkgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEyNC41MzY2IGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUzIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjQsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU3LDAgNi43MTA0NDIsLTIuNDA5MyA3LjY1MDM5MSwtNS45Mzk0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3NTYgLTMuNzEwOTM4LC05LjA3MjMgLTEuMTU5Njc4LC0wLjY3MzcgLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgtMTIiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjQ7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDEyMy45NjI5IGMgLTEuMjcwMDg0LDAuMDM5IC0yLjU0MTQ5MywwLjM4ODggLTMuNzAxMTcyLDEuMDYyNSAtMy4wOTI0NzUsMS43OTY3IC00LjY1MDg4Niw1LjU0MjIgLTMuNzEwOTM3LDkuMDcyMyAwLjkzOTk0OSwzLjUzMDEgNC4wOTc2OCw1LjkzOTQgNy42NDg0MzcsNS45Mzk0IGwgMCwtMy4wNzQyIGMgLTIuMjk2MjE0LDAgLTQuMjU2NzE3LC0xLjU0MiAtNC44MzAwNzgsLTMuNjk1MyAtMC41NzMzNjEsLTIuMTUzMyAwLjMzNzQzMiwtNC40MDU1IDIuMzA4NTk0LC01LjU1MDggMS45MzU3MzEsLTEuMTI0NiA0LjM4ODYzLC0wLjgxMDIgNS45ODYzMjYsMC43MjA3IGwgLTEuODA2NjM4LDEuOTA2MyA3LjgyODEyOCwxLjkwNjIgLTIuMzI0MjIsLTcuNzEyOSAtMS42MjY5NiwxLjcxNjggYyAtMS4yNjMzOCwtMS4yNTMxIC0yLjg0ODkxNywtMi4wMDg4IC00LjUwNTg1NSwtMi4yMjg1IC0wLjQxODc3OCwtMC4wNTUgLTAuODQyMjYzLC0wLjA3NiAtMS4yNjU2MjUsLTAuMDYyIHoiCiAgICAgaWQ9InBhdGg0MTM4LTEtMyIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoNjE5MSIKICAgICBkPSJtIDEwLjUsMTE2IDAsLTIgLTIuNDk5OTk5NiwwIEwgMTIsMTA5IGwgNCw1IC0yLjUsMCAwLDIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGQ9Im0gMTAuNSwxMjkgMCwtMiAtMi40OTk5OTk2LDAgTCAxMiwxMjIgbCA0LDUgLTIuNSwwIDAsMiAtMywwIHoiCiAgICAgaWQ9InBhdGg2MTkzIiAvPgogIDxwYXRoCiAgICAgaWQ9InBhdGg2MTk1IgogICAgIGQ9Im0gMTAuNSwxMzUgMCwyIC0yLjQ5OTk5OTYsMCBMIDEyLDE0MiBsIDQsLTUgLTIuNSwwIDAsLTIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwMCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyNDIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSItMS4yNzc5MDI2IiAvPgogIDxwYXRoCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSIxLjI3NzkwMiIKICAgICBkPSJtIC0zMS41MDAwMDQsNjAuMDczMjQyIC0zLjgzMzcwOCwyLjIxMzM5MiAtMy44MzM3MDcsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDcsMi4yMTMzOTIgeiIKICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTpyMj0iMi41NTU4MDUyIgogICAgIHNvZGlwb2RpOnIxPSI1LjExMTYxMDQiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpjeD0iLTM2LjYxMTYxNCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBpZD0icGF0aDQ1MDIiCiAgICAgc3R5bGU9ImZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MC45MDE5NjA3ODtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgc29kaXBvZGk6dHlwZT0ic3RhciIKICAgICB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIiAvPgogIDxwYXRoCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOmZsYXRzaWRlZD0iZmFsc2UiCiAgICAgc29kaXBvZGk6YXJnMj0iMS4wNDcxOTc2IgogICAgIHNvZGlwb2RpOmFyZzE9IjAiCiAgICAgc29kaXBvZGk6cjI9IjIuNTU1ODA1MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOmN5PSI2MC4wNzMyMTIiCiAgICAgc29kaXBvZGk6Y3g9IjExLjU1NTgxIgogICAgIHNvZGlwb2RpOnNpZGVzPSIzIgogICAgIGlkPSJwYXRoNDUwNCIKICAgICBzdHlsZT0iZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eTowLjkwMTk2MDc4O3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDcyLjAwNzQsNzEuNzg3NykiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci15PSIxLjI3NzkwMjkiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii0xLjI3NzkwMjYiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwtMSwtMSwwLDk2LDk2KSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwNiIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzIxMiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2MTUtNSIKICAgICBkPSJtIDE3MS44MjU3NCw2NS4xNzQxOTMgMTYuMzQ4NTQsMCAtOC4xNzQyNywtMTMuMzQ4NDU0IHoiCiAgICAgc3R5bGU9ImZpbGw6I2ZiYjkxNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZiYjkxNztzdHJva2Utd2lkdGg6MS42NTE2MTM5NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjFweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gMTc5LDU1IDAsNiAyLDAgMCwtNiIKICAgICBpZD0icGF0aDQzMDAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSAxNzksNjIgMCwyIDIsMCAwLC0yIgogICAgIGlkPSJwYXRoNDMwMC02IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgo8L3N2Zz4K%29%20%2D168px%20%2D48px%7Ddiv%2Ejsoneditor%2Dcontextmenu%2Droot%7Bposition%3Arelative%3Bwidth%3A0%3Bheight%3A0%7Ddiv%2Ejsoneditor%2Dcontextmenu%7Bposition%3Aabsolute%3Bbox%2Dsizing%3Acontent%2Dbox%3Bz%2Dindex%3A99999%7Ddiv%2Ejsoneditor%2Dcontextmenu%20li%2Cdiv%2Ejsoneditor%2Dcontextmenu%20ul%7Bbox%2Dsizing%3Acontent%2Dbox%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%7Bposition%3Arelative%3Bleft%3A0%3Btop%3A0%3Bwidth%3A124px%3Bbackground%3A%23fff%3Bborder%3A1px%20solid%20%23d3d3d3%3Bbox%2Dshadow%3A2px%202px%2012px%20rgba%28128%2C128%2C128%2C%2E3%29%3Blist%2Dstyle%3Anone%3Bmargin%3A0%3Bpadding%3A0%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%7Bpadding%3A0%3Bmargin%3A0%3Bwidth%3A124px%3Bheight%3A24px%3Bborder%3Anone%3Bcursor%3Apointer%3Bcolor%3A%234d4d4d%3Bbackground%3A0%200%3Bfont%2Dsize%3A10pt%3Bfont%2Dfamily%3Aarial%2Csans%2Dserif%3Bbox%2Dsizing%3Aborder%2Dbox%3Bline%2Dheight%3A26px%3Btext%2Dalign%3Aleft%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%3A%3A%2Dmoz%2Dfocus%2Dinner%7Bpadding%3A0%3Bborder%3A0%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%3Afocus%2Cdiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%3Ahover%7Bcolor%3A%231a1a1a%3Bbackground%2Dcolor%3A%23f5f5f5%3Boutline%3A0%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%2Ejsoneditor%2Ddefault%7Bwidth%3A92px%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%2Ejsoneditor%2Dexpand%7Bfloat%3Aright%3Bwidth%3A32px%3Bheight%3A24px%3Bborder%2Dleft%3A1px%20solid%20%23e5e5e5%7Ddiv%2Ejsoneditor%2Dcontextmenu%20div%2Ejsoneditor%2Dicon%7Bfloat%3Aleft%3Bwidth%3A24px%3Bheight%3A24px%3Bborder%3Anone%3Bpadding%3A0%3Bmargin%3A0%3Bbackground%2Dimage%3Aurl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8%2BCjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgd2lkdGg9IjIxNiIKICAgaGVpZ2h0PSIxNDQiCiAgIGlkPSJzdmc0MTM2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTEgciIKICAgc29kaXBvZGk6ZG9jbmFtZT0ianNvbmVkaXRvci1pY29ucy5zdmciPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTY1MTIiPkpTT04gRWRpdG9yIEljb25zPC90aXRsZT4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0MTQ4Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI%2BCiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ%2BCiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT5KU09OIEVkaXRvciBJY29uczwvZGM6dGl0bGU%2BCiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0MTQ2IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI4IgogICAgIGlkPSJuYW1lZHZpZXc0MTQ0IgogICAgIHNob3dncmlkPSJ0cnVlIgogICAgIGlua3NjYXBlOnpvb209IjQiCiAgICAgaW5rc2NhcGU6Y3g9Ijk3LjIxNzI0OCIKICAgICBpbmtzY2FwZTpjeT0iNTkuOTUwMjI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNDEzNiIKICAgICBzaG93Z3VpZGVzPSJmYWxzZSIKICAgICBib3JkZXJsYXllcj0iZmFsc2UiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9InRydWUiCiAgICAgc2hvd2JvcmRlcj0idHJ1ZSI%2BCiAgICA8aW5rc2NhcGU6Z3JpZAogICAgICAgdHlwZT0ieHlncmlkIgogICAgICAgaWQ9ImdyaWQ0NjQwIgogICAgICAgZW1wc3BhY2luZz0iMjQiIC8%2BCiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc%2BCiAgPCEtLSBDcmVhdGVkIHdpdGggU1ZHLWVkaXQgLSBodHRwOi8vc3ZnLWVkaXQuZ29vZ2xlY29kZS5jb20vIC0tPgogIDxnCiAgICAgaWQ9Imc0Mzk0Ij4KICAgIDxyZWN0CiAgICAgICB4PSI0IgogICAgICAgeT0iNCIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEiCiAgICAgICBzdHlsZT0iZmlsbDojMWFhZTFjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNlYzNmMjk7ZmlsbC1vcGFjaXR5OjAuOTQxMTc2NDc7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIyOC4wMDAwMDYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEtNyIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQxNjUiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgeT0iMy45OTk5OTUiCiAgICAgICB4PSI1Mi4wMDAwMDQiCiAgICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxNzIuMDAwMDIiCiAgICAgICB5PSIzLjk5OTk4NTIiCiAgICAgICB3aWR0aD0iMTYiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgaWQ9InJlY3Q0MTc1IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxOTYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0icmVjdDQxNzUtMyIgLz4KICAgIDxnCiAgICAgICBzdHlsZT0ic3Ryb2tlOm5vbmUiCiAgICAgICBpZD0iZzQyOTkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICAgIHk9IjEwLjk5OTk5OCIKICAgICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMS0xIgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8ZwogICAgICAgc3R5bGU9InN0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC43MDcxMDY3OCwtMC43MDcxMDY3OCwwLjcwNzEwNjc4LDAuNzA3MTA2NzgsMTkuMDI5NDM1LDEyLjAwMDAwMSkiCiAgICAgICBpZD0iZzQyOTktMyI%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIGlkPSJzdmdfMS0xLTAiCiAgICAgICAgIGhlaWdodD0iMS45OTk5OTg2IgogICAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICAgIHg9IjcuMDAwMDA0OCIgLz4KICAgICAgPHJlY3QKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgICAgaWQ9InN2Z18xLTEtMS05IgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjU1LjAwMDAwNCIKICAgICAgIHk9IjcuMDAwMDA0OCIKICAgICAgIHdpZHRoPSI2Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICAgIGlkPSJzdmdfMS03LTUiIC8%2BCiAgICA8cmVjdAogICAgICAgaWQ9InJlY3Q0MzU0IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgeT0iMTAuMDAwMDEiCiAgICAgICB4PSI1OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojM2M4MGRmO3N0cm9rZS13aWR0aDowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjAuOTQxMTc2NDciCiAgICAgICB4PSI1OC4wMDAwMDQiCiAgICAgICB5PSIxMC4wMDAwMDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICBpZD0ic3ZnXzEtNy01LTciIC8%2BCiAgICA8ZwogICAgICAgaWQ9Imc0Mzc4Ij4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InN2Z18xLTctNS0zIgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgeT0iMTAuOTk5OTk5IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIHg9IjE5OCIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB3aWR0aD0iMTEuOTk5OTk1IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgaWQ9InJlY3Q0Mzc0IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIGlkPSJyZWN0NDM3NiIgLz4KICAgIDwvZz4KICAgIDxnCiAgICAgICBpZD0iZzQzODMiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDIzLjk5OTk5NSkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5NjUiCiAgICAgICAgIGlkPSJyZWN0NDM4NSIgLz4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InJlY3Q0Mzg3IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgd2lkdGg9IjExLjk5OTk5NSIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIGlkPSJyZWN0NDM4OSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIHdpZHRoPSIzLjk5OTk5MjgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgeD0iMTk4IgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPC9nPgogICAgPHJlY3QKICAgICAgIHk9IjMuOTk5OTE5OSIKICAgICAgIHg9Ijc2IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC00IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNDM1MSIKICAgICAgIGQ9Im0gODUuMTA0NDcsNi4wMTU3Mzg0IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OSwtMC4yNDAyIDAuMzMwMDgsMy42NTA3OTk2IDIuNDg0MzgsNC41NzgwOTk2IC0yLjE4Njk0LDEuMDkzOCAwLjQ5MTkxLDQuOTA2OSAtMi40NTMxMyw0LjU3ODEgbCAtMC4wMTU2LDEuNDIxOSBjIDUuNzA4MjgsMC41NTkgMS4wMzI2NCwtNS4xMDA1IDQuNzAzMTMsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIC0zLjYxMzAzLC0wLjAyNyAxLjExODkzLC01LjcwNjk5OTYgLTQuNzAzMTMsLTUuMzEyNDk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4yO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpZD0icGF0aDQzNTEtOSIKICAgICAgIGQ9Im0gODIuNzgxMjUsNS45OTg0Mzg0IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA3LDMuNjUwNjk5NiAtMi40ODQzNyw0LjU3ODA5OTYgMi4xODY5NCwxLjA5MzggLTAuNDkxOTIsNC45MDY5IDIuNDUzMTIsNC41NzgxIGwgMC4wMTU2LDEuNDIxOSBjIC01LjcwODI3LDAuNTU5IC0xLjAzMjYzLC01LjEwMDQgLTQuNzAzMTIsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIDMuNjEzMDMsLTAuMDI3IC0xLjExODk0LC01LjcwNzA5OTYgNC43MDMxMiwtNS4zMTI0OTk2IHoiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjI7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxMDAiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTI1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3IgogICAgICAgZD0ibSAxMDMuNzE5LDUuNjcxOTM4NCAwLDEyLjcxODc5OTYgMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAxLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3LTEiCiAgICAgICBkPSJtIDExMi4yMTg1LDUuNjcyMTk4NCAwLDEyLjcxODc5OTYgLTMuMDMxMjUsMCAwLC0xLjUzMTMgMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAtMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cmVjdAogICAgICAgeT0iMy45OTk5MTk5IgogICAgICAgeD0iMTI0IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC03MyIKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgzNzgwIgogICAgICAgZD0ibSAxMjYuMjgyNCwxNy42MDI5MzggMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MSA1LjY1MzY0LDAgMS4xNDg1NiwyLjg2NDEgMS43NjU2NSwwIC00Ljc4Njg3LC0xMS4xNjEwOTk2IC0xLjkxOTAzLDAgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoMzc4MiIKICAgICAgIGQ9Im0gMTI5LjcyNzA0LDEzLjQ3ODgzOCA0LjYwODUyLDAuMDEgLTIuMzA0MjYsLTUuNTQ5Nzk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxNDgiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTM1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGg1MDA4LTIiCiAgICAgICBkPSJtIDE1Ni40NzY1NSw1Ljg5MTczODQgMCwyLjE3OTcgMC40NjA5MywyLjM5ODM5OTYgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNTAwOC0yLTgiCiAgICAgICBkPSJtIDE1Mi41MTU2MSw1Ljg5MDYzODQgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODM5OTYgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgeD0iNCIKICAgICB5PSIyNy45OTk5OTQiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDMyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjI4LjAwMDAwNiIKICAgICB5PSIyNy45OTk5OSIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICBpZD0icmVjdDQ0MzQiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0MzYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB3aWR0aD0iMTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgeD0iNTIuMDAwMDA0IgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjE3Mi4wMDAwMiIKICAgICB5PSIyNy45OTk5ODEiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxOTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ4IiAvPgogIDxnCiAgICAgaWQ9Imc0NDY2IgogICAgIHN0eWxlPSJzdHJva2U6bm9uZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NjgiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk4NiIKICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICB4PSI3LjAwMDAwNDgiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgIGlkPSJyZWN0NDQ3MCIKICAgICAgIGhlaWdodD0iOS45OTk5ODM4IgogICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgIHk9IjcuMDAwMDExNCIKICAgICAgIHg9IjExLjAwMDAwNSIgLz4KICA8L2c%2BCiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LC0wLjcwNzEwNjc4LDAuNzA3MTA2NzgsMC43MDcxMDY3OCwxOS4wMjk0MzUsMzUuOTk5OTk2KSIKICAgICBpZD0iZzQ0NzIiCiAgICAgc3R5bGU9InN0cm9rZTpub25lIj4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgaWQ9InJlY3Q0NDc0IgogICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgeT0iMTAuOTk5OTk4IgogICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NzYiCiAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgIHdpZHRoPSIxLjk5OTk5NTUiCiAgICAgICB5PSI3LjAwMDAxMTQiCiAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NS4wMDAwMDQiCiAgICAgeT0iMzEiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ0NzgiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0ODAiCiAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICB5PSIzNC4wMDAwMDgiCiAgICAgeD0iNTgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgeD0iNTguMDAwMDA0IgogICAgIHk9IjM0LjAwMDAwNCIKICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgIGhlaWdodD0iNi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDQ4MiIgLz4KICA8ZwogICAgIGlkPSJnNDQ4NCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ4NiIKICAgICAgIGhlaWdodD0iMS45OTk5OTY1IgogICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjcuMDAwMDAwNSIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIGlkPSJyZWN0NDQ4OCIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgeD0iMTk4IgogICAgICAgeT0iMTQuOTk5OTk2IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgaWQ9InJlY3Q0NDkwIiAvPgogIDwvZz4KICA8ZwogICAgIGlkPSJnNDQ5MiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDQ3Ljk5OTk5KSI%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHdpZHRoPSI3Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgIGlkPSJyZWN0NDQ5NCIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQ0OTYiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICB5PSI3LjAwMDAwMDUiCiAgICAgICB4PSIxOTgiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ5OCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtOCIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB4PSI3NiIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODUuMTA0NDgsMzAuMDE1NTM3IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OCwtMC4yNDAyIDAuMzMwMDcsMy42NTA4IDIuNDg0MzgsNC41NzgxIC0yLjE4Njk1LDEuMDkzOCAwLjQ5MTkxLDQuOTA2ODggLTIuNDUzMTMsNC41NzgwOCBsIC0wLjAxNTYsMS40MjE5IGMgNS43MDgyNywwLjU1OSAxLjAzMjYzLC01LjEwMDQ4IDQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAtMy42MTMwNCwtMC4wMjcgMS4xMTg5MywtNS43MDcgLTQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODIuNzgxMjYsMjkuOTk4MjM3IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA4LDMuNjUwNyAtMi40ODQzOCw0LjU3ODEgMi4xODY5NCwxLjA5MzggLTAuNDkxOTEsNC45MDY4OCAyLjQ1MzEzLDQuNTc4MDggbCAwLjAxNTYsMS40MjE5IGMgLTUuNzA4MjgsMC41NTkgLTEuMDMyNjQsLTUuMTAwMzggLTQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAzLjYxMzAzLC0wLjAyNyAtMS4xMTg5MywtNS43MDcxIDQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS05LTUiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNjUiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTAwIgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEwMy43MTksMjkuNjcxOTM3IDAsMTIuNzE4NzggMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTggMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICBpZD0icGF0aDI5ODctOCIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDExMi4yMTg1LDI5LjY3MTkzNyAwLDEyLjcxODc4IC0zLjAzMTI1LDAgMCwtMS41MzEzIDEuMzQzNzUsMCAwLC05LjYyNDk4IC0xLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgIGlkPSJwYXRoMjk4Ny0xLTkiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgaWQ9InJlY3QzNzU0LTkyIgogICAgIHdpZHRoPSIxNiIKICAgICBoZWlnaHQ9IjE2IgogICAgIHg9IjEyNCIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgZD0ibSAxMjYuMjgyNCw0MS42MDI5MTcgMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MDggNS42NTM2NCwwIDEuMTQ4NTYsMi44NjQwOCAxLjc2NTY1LDAgLTQuNzg2ODcsLTExLjE2MTA4IC0xLjkxOTAyLDAgeiIKICAgICBpZD0icGF0aDM3ODAtOSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEyOS43MjcwNCwzNy40Nzg4MzcgNC42MDg1MiwwLjAxIC0yLjMwNDI2LC01LjU0OTggeiIKICAgICBpZD0icGF0aDM3ODItMiIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNDciCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTQ4IgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Ni40NzY1NiwyOS44OTE3MzcgMCwyLjE3OTcgMC40NjA5MywyLjM5ODQgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Mi41MTU2MiwyOS44OTA2MzcgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODQgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi04LTgiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0ic3ZnXzEtNy0yIgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIHdpZHRoPSIxMS45OTk5OTYiCiAgICAgeT0iNjQiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMiIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjUyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgeT0iNTIiCiAgICAgd2lkdGg9IjIuOTk5OTkwNyIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ1NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICB5PSI1OCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDU2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjU4IgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NTY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iNjQiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICB5PSI2NCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2OSIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDU3MSIKICAgICBjeD0iMTEwLjA2MDgxIgogICAgIGN5PSI1Ny45MzkyMDkiCiAgICAgcj0iNC43NDM4ODM2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxMTYuNjQ1NjYiCiAgICAgeT0iLTMxLjc5NzUyIgogICAgIHdpZHRoPSI0LjIyOTcxMyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICBpZD0icmVjdDQ1NjMtMiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTI1LDU2IDEzOC43NzAyNyw1Ni4wOTUgMTMyLDY0IFoiCiAgICAgaWQ9InBhdGg0NjEzIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgogIDxwYXRoCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg0NjE1IgogICAgIGQ9Ik0gMTQ5LDY0IDE2Mi43NzAyNyw2My45MDUgMTU2LDU2IFoiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NCIKICAgICB5PSI1MyIKICAgICB3aWR0aD0iMTEuOTk5OTk2IgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIGlkPSJyZWN0NDYzOCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMjQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgd2lkdGg9IjEyLjk5OTk5IgogICAgIHk9Ii01NiIKICAgICB4PSI1MyIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDAsMCkiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgeD0iNTMiCiAgICAgeT0iLTY2IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICBoZWlnaHQ9IjEuOTk5OTk1NyIKICAgICBpZD0icmVjdDQ2NTciIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2NTkiCiAgICAgaGVpZ2h0PSIwLjk5OTk5MjkxIgogICAgIHdpZHRoPSIxMS45OTk5OTkiCiAgICAgeT0iNTciCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI1NCIKICAgICB5PSI4OC4wMDAxMjIiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICBoZWlnaHQ9IjEuOTk5OTk2MSIKICAgICBpZD0icmVjdDQ2NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDY2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODIuMDAwMTIyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODUuMDAwMDA4IgogICAgIHk9IjgyLjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2OSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI4MC4wMDAwMDgiCiAgICAgeT0iODguMDAwMTIyIgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgaGVpZ2h0PSIyLjk5OTk5MDUiCiAgICAgaWQ9InJlY3Q0NjcxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjczIgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODguMDAwMTIyIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPGNpcmNsZQogICAgIHI9IjQuNzQzODgzNiIKICAgICBjeT0iODEuOTM5MzMxIgogICAgIGN4PSIxMTAuMDYwODEiCiAgICAgaWQ9ImNpcmNsZTQ2NzUiCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIgogICAgIGlkPSJyZWN0NDY3NyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICB3aWR0aD0iNC4yMjk3MTMiCiAgICAgeT0iLTE0LjgyNjgxNiIKICAgICB4PSIxMzMuNjE2MyIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2NzkiCiAgICAgZD0ibSAxMjUsODAuMDAwMDA1IDEzLjc3MDI3LDAuMDk0OTkgTCAxMzIsODcuOTk5OTkyIFoiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTQ5LDg4LjAwMDIgMTYyLjc3MDI3LDg3LjkwNTIgMTU2LDgwLjAwMDIgWiIKICAgICBpZD0icGF0aDQ2ODEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2ODMiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NjEiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICB5PSI3Ny4wMDAxMjIiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwxLC0xLDAsMCwwKSIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHk9Ii01NiIKICAgICB3aWR0aD0iMTIuOTk5OTkiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgaWQ9InJlY3Q0Njg1IiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0Njg3IgogICAgIGhlaWdodD0iMS45OTk5OTU3IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICB5PSItNjYiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIgogICAgIHg9IjU0IgogICAgIHk9IjgxLjAwMDEyMiIKICAgICB3aWR0aD0iMTEuOTk5OTk5IgogICAgIGhlaWdodD0iMC45OTk5OTI5MSIKICAgICBpZD0icmVjdDQ2ODkiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ3NjEtMSIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTUuOTk5OTkiCiAgICAgeT0iMTAxIgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTAiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjE1Ljk5OTk5IgogICAgIHk9IjEwNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS03IgogICAgIGhlaWdodD0iMS45OTk5OTQ1IgogICAgIHdpZHRoPSI5IgogICAgIHk9IjEwOSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEyIgogICAgIHk9IjEyNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEtNCIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTAiCiAgICAgeT0iMTM3IgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEwIgogICAgIHk9IjEyOSIKICAgICB4PSI4MiIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQtMyIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iOSIKICAgICB5PSIxMzMiCiAgICAgeD0iODIiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuODtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTAwLjAyNTQgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEwMC41OTkxIGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUyIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjUsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU2LDAgNi43MTA0NDIsLTIuNDExMyA3LjY1MDM5MSwtNS45NDE0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3MzYgLTMuNzEwOTM4LC05LjA3MDMgLTEuMTU5Njc4LC0wLjY3MzggLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjg7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDk5Ljk2MjkgYyAtMS4yNzAwODQsMC4wMzkgLTIuNTQxNDkzLDAuMzg4NyAtMy43MDExNzIsMS4wNjI1IC0zLjA5MjQ3NSwxLjc5NjcgLTQuNjUwODg2LDUuNTQwMiAtMy43MTA5MzcsOS4wNzAzIDAuOTM5OTQ5LDMuNTMwMSA0LjA5NzY4LDUuOTQxNCA3LjY0ODQzNyw1Ljk0MTQgbCAwLC0zLjA3NDIgYyAtMi4yOTYyMTQsMCAtNC4yNTY3MTcsLTEuNTQyIC00LjgzMDA3OCwtMy42OTUzIC0wLjU3MzM2MSwtMi4xNTMzIDAuMzM3NDMyLC00LjQwNTYgMi4zMDg1OTQsLTUuNTUwOCAxLjkzNTczMSwtMS4xMjQ2IDQuMzg4NjMsLTAuODEwMiA1Ljk4NjMyNiwwLjcyMDcgbCAtMS44MDY2MzgsMS45MDYzIDcuODI4MTI4LDEuOTA2MiAtMi4zMjQyMiwtNy43MTI5IC0xLjYyNjk2LDEuNzE2OCBjIC0xLjI2MzM4LC0xLjI1MzEgLTIuODQ4OTE3LC0yLjAwODggLTQuNTA1ODU1LC0yLjIyODUgLTAuNDE4Nzc4LC0wLjA1NSAtMC44NDIyNjMsLTAuMDc2IC0xLjI2NTYyNSwtMC4wNjIgeiIKICAgICBpZD0icGF0aDQxMzgtMSIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9Im9wYWNpdHk6MC44O2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS45NjY7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgZD0ibSAxMC41LDEwMCAwLDIgLTIuNDk5OTk5NiwwIEwgMTIsMTA3IGwgNCwtNSAtMi41LDAgMCwtMiAtMywwIHoiCiAgICAgaWQ9InBhdGgzMDU1LTAtNzciIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NTA1NzQsMTA4LjAxNSAxNC4wMjk4ODU2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NDk4NzQsMTMyLjAxNSAxNC4wMjk4ODY2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNS04IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuNDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTIzLjk2MjkgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEyNC41MzY2IGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUzIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjQsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU3LDAgNi43MTA0NDIsLTIuNDA5MyA3LjY1MDM5MSwtNS45Mzk0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3NTYgLTMuNzEwOTM4LC05LjA3MjMgLTEuMTU5Njc4LC0wLjY3MzcgLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgtMTIiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjQ7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDEyMy45NjI5IGMgLTEuMjcwMDg0LDAuMDM5IC0yLjU0MTQ5MywwLjM4ODggLTMuNzAxMTcyLDEuMDYyNSAtMy4wOTI0NzUsMS43OTY3IC00LjY1MDg4Niw1LjU0MjIgLTMuNzEwOTM3LDkuMDcyMyAwLjkzOTk0OSwzLjUzMDEgNC4wOTc2OCw1LjkzOTQgNy42NDg0MzcsNS45Mzk0IGwgMCwtMy4wNzQyIGMgLTIuMjk2MjE0LDAgLTQuMjU2NzE3LC0xLjU0MiAtNC44MzAwNzgsLTMuNjk1MyAtMC41NzMzNjEsLTIuMTUzMyAwLjMzNzQzMiwtNC40MDU1IDIuMzA4NTk0LC01LjU1MDggMS45MzU3MzEsLTEuMTI0NiA0LjM4ODYzLC0wLjgxMDIgNS45ODYzMjYsMC43MjA3IGwgLTEuODA2NjM4LDEuOTA2MyA3LjgyODEyOCwxLjkwNjIgLTIuMzI0MjIsLTcuNzEyOSAtMS42MjY5NiwxLjcxNjggYyAtMS4yNjMzOCwtMS4yNTMxIC0yLjg0ODkxNywtMi4wMDg4IC00LjUwNTg1NSwtMi4yMjg1IC0wLjQxODc3OCwtMC4wNTUgLTAuODQyMjYzLC0wLjA3NiAtMS4yNjU2MjUsLTAuMDYyIHoiCiAgICAgaWQ9InBhdGg0MTM4LTEtMyIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoNjE5MSIKICAgICBkPSJtIDEwLjUsMTE2IDAsLTIgLTIuNDk5OTk5NiwwIEwgMTIsMTA5IGwgNCw1IC0yLjUsMCAwLDIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGQ9Im0gMTAuNSwxMjkgMCwtMiAtMi40OTk5OTk2LDAgTCAxMiwxMjIgbCA0LDUgLTIuNSwwIDAsMiAtMywwIHoiCiAgICAgaWQ9InBhdGg2MTkzIiAvPgogIDxwYXRoCiAgICAgaWQ9InBhdGg2MTk1IgogICAgIGQ9Im0gMTAuNSwxMzUgMCwyIC0yLjQ5OTk5OTYsMCBMIDEyLDE0MiBsIDQsLTUgLTIuNSwwIDAsLTIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwMCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyNDIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSItMS4yNzc5MDI2IiAvPgogIDxwYXRoCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSIxLjI3NzkwMiIKICAgICBkPSJtIC0zMS41MDAwMDQsNjAuMDczMjQyIC0zLjgzMzcwOCwyLjIxMzM5MiAtMy44MzM3MDcsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDcsMi4yMTMzOTIgeiIKICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTpyMj0iMi41NTU4MDUyIgogICAgIHNvZGlwb2RpOnIxPSI1LjExMTYxMDQiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpjeD0iLTM2LjYxMTYxNCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBpZD0icGF0aDQ1MDIiCiAgICAgc3R5bGU9ImZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MC45MDE5NjA3ODtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgc29kaXBvZGk6dHlwZT0ic3RhciIKICAgICB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIiAvPgogIDxwYXRoCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOmZsYXRzaWRlZD0iZmFsc2UiCiAgICAgc29kaXBvZGk6YXJnMj0iMS4wNDcxOTc2IgogICAgIHNvZGlwb2RpOmFyZzE9IjAiCiAgICAgc29kaXBvZGk6cjI9IjIuNTU1ODA1MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOmN5PSI2MC4wNzMyMTIiCiAgICAgc29kaXBvZGk6Y3g9IjExLjU1NTgxIgogICAgIHNvZGlwb2RpOnNpZGVzPSIzIgogICAgIGlkPSJwYXRoNDUwNCIKICAgICBzdHlsZT0iZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eTowLjkwMTk2MDc4O3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDcyLjAwNzQsNzEuNzg3NykiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci15PSIxLjI3NzkwMjkiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii0xLjI3NzkwMjYiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwtMSwtMSwwLDk2LDk2KSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwNiIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzIxMiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2MTUtNSIKICAgICBkPSJtIDE3MS44MjU3NCw2NS4xNzQxOTMgMTYuMzQ4NTQsMCAtOC4xNzQyNywtMTMuMzQ4NDU0IHoiCiAgICAgc3R5bGU9ImZpbGw6I2ZiYjkxNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZiYjkxNztzdHJva2Utd2lkdGg6MS42NTE2MTM5NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjFweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gMTc5LDU1IDAsNiAyLDAgMCwtNiIKICAgICBpZD0icGF0aDQzMDAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSAxNzksNjIgMCwyIDIsMCAwLC0yIgogICAgIGlkPSJwYXRoNDMwMC02IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgo8L3N2Zz4K%29%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%20div%2Ejsoneditor%2Dexpand%7Bfloat%3Aright%3Bwidth%3A24px%3Bheight%3A24px%3Bpadding%3A0%3Bmargin%3A0%204px%200%200%3Bbackground%3Aurl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8%2BCjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgd2lkdGg9IjIxNiIKICAgaGVpZ2h0PSIxNDQiCiAgIGlkPSJzdmc0MTM2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTEgciIKICAgc29kaXBvZGk6ZG9jbmFtZT0ianNvbmVkaXRvci1pY29ucy5zdmciPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTY1MTIiPkpTT04gRWRpdG9yIEljb25zPC90aXRsZT4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0MTQ4Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI%2BCiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ%2BCiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT5KU09OIEVkaXRvciBJY29uczwvZGM6dGl0bGU%2BCiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0MTQ2IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI4IgogICAgIGlkPSJuYW1lZHZpZXc0MTQ0IgogICAgIHNob3dncmlkPSJ0cnVlIgogICAgIGlua3NjYXBlOnpvb209IjQiCiAgICAgaW5rc2NhcGU6Y3g9Ijk3LjIxNzI0OCIKICAgICBpbmtzY2FwZTpjeT0iNTkuOTUwMjI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNDEzNiIKICAgICBzaG93Z3VpZGVzPSJmYWxzZSIKICAgICBib3JkZXJsYXllcj0iZmFsc2UiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9InRydWUiCiAgICAgc2hvd2JvcmRlcj0idHJ1ZSI%2BCiAgICA8aW5rc2NhcGU6Z3JpZAogICAgICAgdHlwZT0ieHlncmlkIgogICAgICAgaWQ9ImdyaWQ0NjQwIgogICAgICAgZW1wc3BhY2luZz0iMjQiIC8%2BCiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc%2BCiAgPCEtLSBDcmVhdGVkIHdpdGggU1ZHLWVkaXQgLSBodHRwOi8vc3ZnLWVkaXQuZ29vZ2xlY29kZS5jb20vIC0tPgogIDxnCiAgICAgaWQ9Imc0Mzk0Ij4KICAgIDxyZWN0CiAgICAgICB4PSI0IgogICAgICAgeT0iNCIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEiCiAgICAgICBzdHlsZT0iZmlsbDojMWFhZTFjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNlYzNmMjk7ZmlsbC1vcGFjaXR5OjAuOTQxMTc2NDc7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIyOC4wMDAwMDYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEtNyIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQxNjUiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgeT0iMy45OTk5OTUiCiAgICAgICB4PSI1Mi4wMDAwMDQiCiAgICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxNzIuMDAwMDIiCiAgICAgICB5PSIzLjk5OTk4NTIiCiAgICAgICB3aWR0aD0iMTYiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgaWQ9InJlY3Q0MTc1IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxOTYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0icmVjdDQxNzUtMyIgLz4KICAgIDxnCiAgICAgICBzdHlsZT0ic3Ryb2tlOm5vbmUiCiAgICAgICBpZD0iZzQyOTkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICAgIHk9IjEwLjk5OTk5OCIKICAgICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMS0xIgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8ZwogICAgICAgc3R5bGU9InN0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC43MDcxMDY3OCwtMC43MDcxMDY3OCwwLjcwNzEwNjc4LDAuNzA3MTA2NzgsMTkuMDI5NDM1LDEyLjAwMDAwMSkiCiAgICAgICBpZD0iZzQyOTktMyI%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIGlkPSJzdmdfMS0xLTAiCiAgICAgICAgIGhlaWdodD0iMS45OTk5OTg2IgogICAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICAgIHg9IjcuMDAwMDA0OCIgLz4KICAgICAgPHJlY3QKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgICAgaWQ9InN2Z18xLTEtMS05IgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjU1LjAwMDAwNCIKICAgICAgIHk9IjcuMDAwMDA0OCIKICAgICAgIHdpZHRoPSI2Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICAgIGlkPSJzdmdfMS03LTUiIC8%2BCiAgICA8cmVjdAogICAgICAgaWQ9InJlY3Q0MzU0IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgeT0iMTAuMDAwMDEiCiAgICAgICB4PSI1OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojM2M4MGRmO3N0cm9rZS13aWR0aDowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjAuOTQxMTc2NDciCiAgICAgICB4PSI1OC4wMDAwMDQiCiAgICAgICB5PSIxMC4wMDAwMDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICBpZD0ic3ZnXzEtNy01LTciIC8%2BCiAgICA8ZwogICAgICAgaWQ9Imc0Mzc4Ij4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InN2Z18xLTctNS0zIgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgeT0iMTAuOTk5OTk5IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIHg9IjE5OCIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB3aWR0aD0iMTEuOTk5OTk1IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgaWQ9InJlY3Q0Mzc0IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIGlkPSJyZWN0NDM3NiIgLz4KICAgIDwvZz4KICAgIDxnCiAgICAgICBpZD0iZzQzODMiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDIzLjk5OTk5NSkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5NjUiCiAgICAgICAgIGlkPSJyZWN0NDM4NSIgLz4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InJlY3Q0Mzg3IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgd2lkdGg9IjExLjk5OTk5NSIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIGlkPSJyZWN0NDM4OSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIHdpZHRoPSIzLjk5OTk5MjgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgeD0iMTk4IgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPC9nPgogICAgPHJlY3QKICAgICAgIHk9IjMuOTk5OTE5OSIKICAgICAgIHg9Ijc2IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC00IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNDM1MSIKICAgICAgIGQ9Im0gODUuMTA0NDcsNi4wMTU3Mzg0IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OSwtMC4yNDAyIDAuMzMwMDgsMy42NTA3OTk2IDIuNDg0MzgsNC41NzgwOTk2IC0yLjE4Njk0LDEuMDkzOCAwLjQ5MTkxLDQuOTA2OSAtMi40NTMxMyw0LjU3ODEgbCAtMC4wMTU2LDEuNDIxOSBjIDUuNzA4MjgsMC41NTkgMS4wMzI2NCwtNS4xMDA1IDQuNzAzMTMsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIC0zLjYxMzAzLC0wLjAyNyAxLjExODkzLC01LjcwNjk5OTYgLTQuNzAzMTMsLTUuMzEyNDk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4yO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpZD0icGF0aDQzNTEtOSIKICAgICAgIGQ9Im0gODIuNzgxMjUsNS45OTg0Mzg0IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA3LDMuNjUwNjk5NiAtMi40ODQzNyw0LjU3ODA5OTYgMi4xODY5NCwxLjA5MzggLTAuNDkxOTIsNC45MDY5IDIuNDUzMTIsNC41NzgxIGwgMC4wMTU2LDEuNDIxOSBjIC01LjcwODI3LDAuNTU5IC0xLjAzMjYzLC01LjEwMDQgLTQuNzAzMTIsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIDMuNjEzMDMsLTAuMDI3IC0xLjExODk0LC01LjcwNzA5OTYgNC43MDMxMiwtNS4zMTI0OTk2IHoiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjI7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxMDAiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTI1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3IgogICAgICAgZD0ibSAxMDMuNzE5LDUuNjcxOTM4NCAwLDEyLjcxODc5OTYgMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAxLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3LTEiCiAgICAgICBkPSJtIDExMi4yMTg1LDUuNjcyMTk4NCAwLDEyLjcxODc5OTYgLTMuMDMxMjUsMCAwLC0xLjUzMTMgMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAtMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cmVjdAogICAgICAgeT0iMy45OTk5MTk5IgogICAgICAgeD0iMTI0IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC03MyIKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgzNzgwIgogICAgICAgZD0ibSAxMjYuMjgyNCwxNy42MDI5MzggMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MSA1LjY1MzY0LDAgMS4xNDg1NiwyLjg2NDEgMS43NjU2NSwwIC00Ljc4Njg3LC0xMS4xNjEwOTk2IC0xLjkxOTAzLDAgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoMzc4MiIKICAgICAgIGQ9Im0gMTI5LjcyNzA0LDEzLjQ3ODgzOCA0LjYwODUyLDAuMDEgLTIuMzA0MjYsLTUuNTQ5Nzk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxNDgiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTM1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGg1MDA4LTIiCiAgICAgICBkPSJtIDE1Ni40NzY1NSw1Ljg5MTczODQgMCwyLjE3OTcgMC40NjA5MywyLjM5ODM5OTYgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNTAwOC0yLTgiCiAgICAgICBkPSJtIDE1Mi41MTU2MSw1Ljg5MDYzODQgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODM5OTYgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgeD0iNCIKICAgICB5PSIyNy45OTk5OTQiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDMyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjI4LjAwMDAwNiIKICAgICB5PSIyNy45OTk5OSIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICBpZD0icmVjdDQ0MzQiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0MzYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB3aWR0aD0iMTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgeD0iNTIuMDAwMDA0IgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjE3Mi4wMDAwMiIKICAgICB5PSIyNy45OTk5ODEiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxOTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ4IiAvPgogIDxnCiAgICAgaWQ9Imc0NDY2IgogICAgIHN0eWxlPSJzdHJva2U6bm9uZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NjgiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk4NiIKICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICB4PSI3LjAwMDAwNDgiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgIGlkPSJyZWN0NDQ3MCIKICAgICAgIGhlaWdodD0iOS45OTk5ODM4IgogICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgIHk9IjcuMDAwMDExNCIKICAgICAgIHg9IjExLjAwMDAwNSIgLz4KICA8L2c%2BCiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LC0wLjcwNzEwNjc4LDAuNzA3MTA2NzgsMC43MDcxMDY3OCwxOS4wMjk0MzUsMzUuOTk5OTk2KSIKICAgICBpZD0iZzQ0NzIiCiAgICAgc3R5bGU9InN0cm9rZTpub25lIj4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgaWQ9InJlY3Q0NDc0IgogICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgeT0iMTAuOTk5OTk4IgogICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NzYiCiAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgIHdpZHRoPSIxLjk5OTk5NTUiCiAgICAgICB5PSI3LjAwMDAxMTQiCiAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NS4wMDAwMDQiCiAgICAgeT0iMzEiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ0NzgiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0ODAiCiAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICB5PSIzNC4wMDAwMDgiCiAgICAgeD0iNTgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgeD0iNTguMDAwMDA0IgogICAgIHk9IjM0LjAwMDAwNCIKICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgIGhlaWdodD0iNi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDQ4MiIgLz4KICA8ZwogICAgIGlkPSJnNDQ4NCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ4NiIKICAgICAgIGhlaWdodD0iMS45OTk5OTY1IgogICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjcuMDAwMDAwNSIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIGlkPSJyZWN0NDQ4OCIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgeD0iMTk4IgogICAgICAgeT0iMTQuOTk5OTk2IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgaWQ9InJlY3Q0NDkwIiAvPgogIDwvZz4KICA8ZwogICAgIGlkPSJnNDQ5MiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDQ3Ljk5OTk5KSI%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHdpZHRoPSI3Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgIGlkPSJyZWN0NDQ5NCIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQ0OTYiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICB5PSI3LjAwMDAwMDUiCiAgICAgICB4PSIxOTgiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ5OCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtOCIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB4PSI3NiIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODUuMTA0NDgsMzAuMDE1NTM3IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OCwtMC4yNDAyIDAuMzMwMDcsMy42NTA4IDIuNDg0MzgsNC41NzgxIC0yLjE4Njk1LDEuMDkzOCAwLjQ5MTkxLDQuOTA2ODggLTIuNDUzMTMsNC41NzgwOCBsIC0wLjAxNTYsMS40MjE5IGMgNS43MDgyNywwLjU1OSAxLjAzMjYzLC01LjEwMDQ4IDQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAtMy42MTMwNCwtMC4wMjcgMS4xMTg5MywtNS43MDcgLTQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODIuNzgxMjYsMjkuOTk4MjM3IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA4LDMuNjUwNyAtMi40ODQzOCw0LjU3ODEgMi4xODY5NCwxLjA5MzggLTAuNDkxOTEsNC45MDY4OCAyLjQ1MzEzLDQuNTc4MDggbCAwLjAxNTYsMS40MjE5IGMgLTUuNzA4MjgsMC41NTkgLTEuMDMyNjQsLTUuMTAwMzggLTQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAzLjYxMzAzLC0wLjAyNyAtMS4xMTg5MywtNS43MDcxIDQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS05LTUiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNjUiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTAwIgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEwMy43MTksMjkuNjcxOTM3IDAsMTIuNzE4NzggMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTggMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICBpZD0icGF0aDI5ODctOCIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDExMi4yMTg1LDI5LjY3MTkzNyAwLDEyLjcxODc4IC0zLjAzMTI1LDAgMCwtMS41MzEzIDEuMzQzNzUsMCAwLC05LjYyNDk4IC0xLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgIGlkPSJwYXRoMjk4Ny0xLTkiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgaWQ9InJlY3QzNzU0LTkyIgogICAgIHdpZHRoPSIxNiIKICAgICBoZWlnaHQ9IjE2IgogICAgIHg9IjEyNCIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgZD0ibSAxMjYuMjgyNCw0MS42MDI5MTcgMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MDggNS42NTM2NCwwIDEuMTQ4NTYsMi44NjQwOCAxLjc2NTY1LDAgLTQuNzg2ODcsLTExLjE2MTA4IC0xLjkxOTAyLDAgeiIKICAgICBpZD0icGF0aDM3ODAtOSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEyOS43MjcwNCwzNy40Nzg4MzcgNC42MDg1MiwwLjAxIC0yLjMwNDI2LC01LjU0OTggeiIKICAgICBpZD0icGF0aDM3ODItMiIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNDciCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTQ4IgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Ni40NzY1NiwyOS44OTE3MzcgMCwyLjE3OTcgMC40NjA5MywyLjM5ODQgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Mi41MTU2MiwyOS44OTA2MzcgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODQgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi04LTgiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0ic3ZnXzEtNy0yIgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIHdpZHRoPSIxMS45OTk5OTYiCiAgICAgeT0iNjQiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMiIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjUyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgeT0iNTIiCiAgICAgd2lkdGg9IjIuOTk5OTkwNyIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ1NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICB5PSI1OCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDU2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjU4IgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NTY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iNjQiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICB5PSI2NCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2OSIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDU3MSIKICAgICBjeD0iMTEwLjA2MDgxIgogICAgIGN5PSI1Ny45MzkyMDkiCiAgICAgcj0iNC43NDM4ODM2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxMTYuNjQ1NjYiCiAgICAgeT0iLTMxLjc5NzUyIgogICAgIHdpZHRoPSI0LjIyOTcxMyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICBpZD0icmVjdDQ1NjMtMiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTI1LDU2IDEzOC43NzAyNyw1Ni4wOTUgMTMyLDY0IFoiCiAgICAgaWQ9InBhdGg0NjEzIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgogIDxwYXRoCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg0NjE1IgogICAgIGQ9Ik0gMTQ5LDY0IDE2Mi43NzAyNyw2My45MDUgMTU2LDU2IFoiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NCIKICAgICB5PSI1MyIKICAgICB3aWR0aD0iMTEuOTk5OTk2IgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIGlkPSJyZWN0NDYzOCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMjQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgd2lkdGg9IjEyLjk5OTk5IgogICAgIHk9Ii01NiIKICAgICB4PSI1MyIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDAsMCkiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgeD0iNTMiCiAgICAgeT0iLTY2IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICBoZWlnaHQ9IjEuOTk5OTk1NyIKICAgICBpZD0icmVjdDQ2NTciIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2NTkiCiAgICAgaGVpZ2h0PSIwLjk5OTk5MjkxIgogICAgIHdpZHRoPSIxMS45OTk5OTkiCiAgICAgeT0iNTciCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI1NCIKICAgICB5PSI4OC4wMDAxMjIiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICBoZWlnaHQ9IjEuOTk5OTk2MSIKICAgICBpZD0icmVjdDQ2NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDY2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODIuMDAwMTIyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODUuMDAwMDA4IgogICAgIHk9IjgyLjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2OSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI4MC4wMDAwMDgiCiAgICAgeT0iODguMDAwMTIyIgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgaGVpZ2h0PSIyLjk5OTk5MDUiCiAgICAgaWQ9InJlY3Q0NjcxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjczIgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODguMDAwMTIyIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPGNpcmNsZQogICAgIHI9IjQuNzQzODgzNiIKICAgICBjeT0iODEuOTM5MzMxIgogICAgIGN4PSIxMTAuMDYwODEiCiAgICAgaWQ9ImNpcmNsZTQ2NzUiCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIgogICAgIGlkPSJyZWN0NDY3NyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICB3aWR0aD0iNC4yMjk3MTMiCiAgICAgeT0iLTE0LjgyNjgxNiIKICAgICB4PSIxMzMuNjE2MyIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2NzkiCiAgICAgZD0ibSAxMjUsODAuMDAwMDA1IDEzLjc3MDI3LDAuMDk0OTkgTCAxMzIsODcuOTk5OTkyIFoiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTQ5LDg4LjAwMDIgMTYyLjc3MDI3LDg3LjkwNTIgMTU2LDgwLjAwMDIgWiIKICAgICBpZD0icGF0aDQ2ODEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2ODMiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NjEiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICB5PSI3Ny4wMDAxMjIiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwxLC0xLDAsMCwwKSIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHk9Ii01NiIKICAgICB3aWR0aD0iMTIuOTk5OTkiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgaWQ9InJlY3Q0Njg1IiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0Njg3IgogICAgIGhlaWdodD0iMS45OTk5OTU3IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICB5PSItNjYiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIgogICAgIHg9IjU0IgogICAgIHk9IjgxLjAwMDEyMiIKICAgICB3aWR0aD0iMTEuOTk5OTk5IgogICAgIGhlaWdodD0iMC45OTk5OTI5MSIKICAgICBpZD0icmVjdDQ2ODkiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ3NjEtMSIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTUuOTk5OTkiCiAgICAgeT0iMTAxIgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTAiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjE1Ljk5OTk5IgogICAgIHk9IjEwNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS03IgogICAgIGhlaWdodD0iMS45OTk5OTQ1IgogICAgIHdpZHRoPSI5IgogICAgIHk9IjEwOSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEyIgogICAgIHk9IjEyNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEtNCIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTAiCiAgICAgeT0iMTM3IgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEwIgogICAgIHk9IjEyOSIKICAgICB4PSI4MiIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQtMyIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iOSIKICAgICB5PSIxMzMiCiAgICAgeD0iODIiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuODtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTAwLjAyNTQgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEwMC41OTkxIGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUyIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjUsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU2LDAgNi43MTA0NDIsLTIuNDExMyA3LjY1MDM5MSwtNS45NDE0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3MzYgLTMuNzEwOTM4LC05LjA3MDMgLTEuMTU5Njc4LC0wLjY3MzggLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjg7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDk5Ljk2MjkgYyAtMS4yNzAwODQsMC4wMzkgLTIuNTQxNDkzLDAuMzg4NyAtMy43MDExNzIsMS4wNjI1IC0zLjA5MjQ3NSwxLjc5NjcgLTQuNjUwODg2LDUuNTQwMiAtMy43MTA5MzcsOS4wNzAzIDAuOTM5OTQ5LDMuNTMwMSA0LjA5NzY4LDUuOTQxNCA3LjY0ODQzNyw1Ljk0MTQgbCAwLC0zLjA3NDIgYyAtMi4yOTYyMTQsMCAtNC4yNTY3MTcsLTEuNTQyIC00LjgzMDA3OCwtMy42OTUzIC0wLjU3MzM2MSwtMi4xNTMzIDAuMzM3NDMyLC00LjQwNTYgMi4zMDg1OTQsLTUuNTUwOCAxLjkzNTczMSwtMS4xMjQ2IDQuMzg4NjMsLTAuODEwMiA1Ljk4NjMyNiwwLjcyMDcgbCAtMS44MDY2MzgsMS45MDYzIDcuODI4MTI4LDEuOTA2MiAtMi4zMjQyMiwtNy43MTI5IC0xLjYyNjk2LDEuNzE2OCBjIC0xLjI2MzM4LC0xLjI1MzEgLTIuODQ4OTE3LC0yLjAwODggLTQuNTA1ODU1LC0yLjIyODUgLTAuNDE4Nzc4LC0wLjA1NSAtMC44NDIyNjMsLTAuMDc2IC0xLjI2NTYyNSwtMC4wNjIgeiIKICAgICBpZD0icGF0aDQxMzgtMSIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9Im9wYWNpdHk6MC44O2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS45NjY7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgZD0ibSAxMC41LDEwMCAwLDIgLTIuNDk5OTk5NiwwIEwgMTIsMTA3IGwgNCwtNSAtMi41LDAgMCwtMiAtMywwIHoiCiAgICAgaWQ9InBhdGgzMDU1LTAtNzciIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NTA1NzQsMTA4LjAxNSAxNC4wMjk4ODU2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NDk4NzQsMTMyLjAxNSAxNC4wMjk4ODY2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNS04IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuNDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTIzLjk2MjkgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEyNC41MzY2IGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUzIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjQsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU3LDAgNi43MTA0NDIsLTIuNDA5MyA3LjY1MDM5MSwtNS45Mzk0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3NTYgLTMuNzEwOTM4LC05LjA3MjMgLTEuMTU5Njc4LC0wLjY3MzcgLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgtMTIiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjQ7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDEyMy45NjI5IGMgLTEuMjcwMDg0LDAuMDM5IC0yLjU0MTQ5MywwLjM4ODggLTMuNzAxMTcyLDEuMDYyNSAtMy4wOTI0NzUsMS43OTY3IC00LjY1MDg4Niw1LjU0MjIgLTMuNzEwOTM3LDkuMDcyMyAwLjkzOTk0OSwzLjUzMDEgNC4wOTc2OCw1LjkzOTQgNy42NDg0MzcsNS45Mzk0IGwgMCwtMy4wNzQyIGMgLTIuMjk2MjE0LDAgLTQuMjU2NzE3LC0xLjU0MiAtNC44MzAwNzgsLTMuNjk1MyAtMC41NzMzNjEsLTIuMTUzMyAwLjMzNzQzMiwtNC40MDU1IDIuMzA4NTk0LC01LjU1MDggMS45MzU3MzEsLTEuMTI0NiA0LjM4ODYzLC0wLjgxMDIgNS45ODYzMjYsMC43MjA3IGwgLTEuODA2NjM4LDEuOTA2MyA3LjgyODEyOCwxLjkwNjIgLTIuMzI0MjIsLTcuNzEyOSAtMS42MjY5NiwxLjcxNjggYyAtMS4yNjMzOCwtMS4yNTMxIC0yLjg0ODkxNywtMi4wMDg4IC00LjUwNTg1NSwtMi4yMjg1IC0wLjQxODc3OCwtMC4wNTUgLTAuODQyMjYzLC0wLjA3NiAtMS4yNjU2MjUsLTAuMDYyIHoiCiAgICAgaWQ9InBhdGg0MTM4LTEtMyIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoNjE5MSIKICAgICBkPSJtIDEwLjUsMTE2IDAsLTIgLTIuNDk5OTk5NiwwIEwgMTIsMTA5IGwgNCw1IC0yLjUsMCAwLDIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGQ9Im0gMTAuNSwxMjkgMCwtMiAtMi40OTk5OTk2LDAgTCAxMiwxMjIgbCA0LDUgLTIuNSwwIDAsMiAtMywwIHoiCiAgICAgaWQ9InBhdGg2MTkzIiAvPgogIDxwYXRoCiAgICAgaWQ9InBhdGg2MTk1IgogICAgIGQ9Im0gMTAuNSwxMzUgMCwyIC0yLjQ5OTk5OTYsMCBMIDEyLDE0MiBsIDQsLTUgLTIuNSwwIDAsLTIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwMCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyNDIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSItMS4yNzc5MDI2IiAvPgogIDxwYXRoCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSIxLjI3NzkwMiIKICAgICBkPSJtIC0zMS41MDAwMDQsNjAuMDczMjQyIC0zLjgzMzcwOCwyLjIxMzM5MiAtMy44MzM3MDcsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDcsMi4yMTMzOTIgeiIKICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTpyMj0iMi41NTU4MDUyIgogICAgIHNvZGlwb2RpOnIxPSI1LjExMTYxMDQiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpjeD0iLTM2LjYxMTYxNCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBpZD0icGF0aDQ1MDIiCiAgICAgc3R5bGU9ImZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MC45MDE5NjA3ODtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgc29kaXBvZGk6dHlwZT0ic3RhciIKICAgICB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIiAvPgogIDxwYXRoCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOmZsYXRzaWRlZD0iZmFsc2UiCiAgICAgc29kaXBvZGk6YXJnMj0iMS4wNDcxOTc2IgogICAgIHNvZGlwb2RpOmFyZzE9IjAiCiAgICAgc29kaXBvZGk6cjI9IjIuNTU1ODA1MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOmN5PSI2MC4wNzMyMTIiCiAgICAgc29kaXBvZGk6Y3g9IjExLjU1NTgxIgogICAgIHNvZGlwb2RpOnNpZGVzPSIzIgogICAgIGlkPSJwYXRoNDUwNCIKICAgICBzdHlsZT0iZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eTowLjkwMTk2MDc4O3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDcyLjAwNzQsNzEuNzg3NykiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci15PSIxLjI3NzkwMjkiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii0xLjI3NzkwMjYiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwtMSwtMSwwLDk2LDk2KSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwNiIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzIxMiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2MTUtNSIKICAgICBkPSJtIDE3MS44MjU3NCw2NS4xNzQxOTMgMTYuMzQ4NTQsMCAtOC4xNzQyNywtMTMuMzQ4NDU0IHoiCiAgICAgc3R5bGU9ImZpbGw6I2ZiYjkxNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZiYjkxNztzdHJva2Utd2lkdGg6MS42NTE2MTM5NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjFweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gMTc5LDU1IDAsNiAyLDAgMCwtNiIKICAgICBpZD0icGF0aDQzMDAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSAxNzksNjIgMCwyIDIsMCAwLC0yIgogICAgIGlkPSJwYXRoNDMwMC02IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgo8L3N2Zz4K%29%200%20%2D72px%3Bopacity%3A%2E4%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%2Ejsoneditor%2Dexpand%3Afocus%20div%2Ejsoneditor%2Dexpand%2Cdiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%2Ejsoneditor%2Dexpand%3Ahover%20div%2Ejsoneditor%2Dexpand%2Cdiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%3Afocus%20div%2Ejsoneditor%2Dexpand%2Cdiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%3Ahover%20div%2Ejsoneditor%2Dexpand%2Cdiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%2Ejsoneditor%2Dselected%20div%2Ejsoneditor%2Dexpand%7Bopacity%3A1%7Ddiv%2Ejsoneditor%2Dcontextmenu%20div%2Ejsoneditor%2Dseparator%7Bheight%3A0%3Bborder%2Dtop%3A1px%20solid%20%23e5e5e5%3Bpadding%2Dtop%3A5px%3Bmargin%2Dtop%3A5px%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dremove%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D24px%20%2D24px%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dremove%3Afocus%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dremove%3Ahover%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D24px%200%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dappend%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A0%20%2D24px%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dappend%3Afocus%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dappend%3Ahover%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A0%200%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dinsert%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A0%20%2D24px%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dinsert%3Afocus%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dinsert%3Ahover%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A0%200%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dduplicate%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D48px%20%2D24px%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dduplicate%3Afocus%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dduplicate%3Ahover%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D48px%200%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dsort%2Dasc%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D168px%20%2D24px%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dsort%2Dasc%3Afocus%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dsort%2Dasc%3Ahover%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D168px%200%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dsort%2Ddesc%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D192px%20%2D24px%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dsort%2Ddesc%3Afocus%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dsort%2Ddesc%3Ahover%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D192px%200%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%2Ejsoneditor%2Dselected%2Cdiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%2Ejsoneditor%2Dselected%3Afocus%2Cdiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20button%2Ejsoneditor%2Dselected%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ee422e%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%7Boverflow%3Ahidden%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20ul%7Bdisplay%3Anone%3Bposition%3Arelative%3Bleft%3A%2D10px%3Btop%3A0%3Bborder%3Anone%3Bbox%2Dshadow%3Ainset%200%200%2010px%20rgba%28128%2C128%2C128%2C%2E5%29%3Bpadding%3A0%2010px%3B%2Dwebkit%2Dtransition%3Aall%20%2E3s%20ease%2Dout%3B%2Dmoz%2Dtransition%3Aall%20%2E3s%20ease%2Dout%3B%2Do%2Dtransition%3Aall%20%2E3s%20ease%2Dout%3Btransition%3Aall%20%2E3s%20ease%2Dout%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20ul%20li%20button%7Bpadding%2Dleft%3A24px%3Banimation%3Aall%20ease%2Din%2Dout%201s%7Ddiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20ul%20li%20button%3Afocus%2Cdiv%2Ejsoneditor%2Dcontextmenu%20ul%20li%20ul%20li%20button%3Ahover%7Bbackground%2Dcolor%3A%23f5f5f5%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dstring%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D144px%20%2D24px%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dstring%2Ejsoneditor%2Dselected%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dstring%3Afocus%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dstring%3Ahover%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D144px%200%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dauto%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D120px%20%2D24px%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dauto%2Ejsoneditor%2Dselected%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dauto%3Afocus%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dauto%3Ahover%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D120px%200%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dobject%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D72px%20%2D24px%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dobject%2Ejsoneditor%2Dselected%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dobject%3Afocus%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dobject%3Ahover%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D72px%200%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Darray%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D96px%20%2D24px%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Darray%2Ejsoneditor%2Dselected%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Darray%3Afocus%3Ediv%2Ejsoneditor%2Dicon%2Cdiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Darray%3Ahover%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dposition%3A%2D96px%200%7Ddiv%2Ejsoneditor%2Dcontextmenu%20button%2Ejsoneditor%2Dtype%2Dmodes%3Ediv%2Ejsoneditor%2Dicon%7Bbackground%2Dimage%3Anone%3Bwidth%3A6px%7Ddiv%2Ejsoneditor%2Dmenu%7Bwidth%3A100%25%3Bheight%3A35px%3Bpadding%3A2px%3Bmargin%3A0%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%3Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%233883fa%3Bborder%2Dbottom%3A1px%20solid%20%233883fa%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%2Cdiv%2Ejsoneditor%2Dmenu%3Ediv%2Ejsoneditor%2Dmodes%3Ebutton%7Bwidth%3A26px%3Bheight%3A26px%3Bmargin%3A2px%3Bpadding%3A0%3Bborder%2Dradius%3A2px%3Bborder%3A1px%20solid%20transparent%3Bbackground%3Aurl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8%2BCjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgd2lkdGg9IjIxNiIKICAgaGVpZ2h0PSIxNDQiCiAgIGlkPSJzdmc0MTM2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTEgciIKICAgc29kaXBvZGk6ZG9jbmFtZT0ianNvbmVkaXRvci1pY29ucy5zdmciPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTY1MTIiPkpTT04gRWRpdG9yIEljb25zPC90aXRsZT4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0MTQ4Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI%2BCiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ%2BCiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT5KU09OIEVkaXRvciBJY29uczwvZGM6dGl0bGU%2BCiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0MTQ2IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI4IgogICAgIGlkPSJuYW1lZHZpZXc0MTQ0IgogICAgIHNob3dncmlkPSJ0cnVlIgogICAgIGlua3NjYXBlOnpvb209IjQiCiAgICAgaW5rc2NhcGU6Y3g9Ijk3LjIxNzI0OCIKICAgICBpbmtzY2FwZTpjeT0iNTkuOTUwMjI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNDEzNiIKICAgICBzaG93Z3VpZGVzPSJmYWxzZSIKICAgICBib3JkZXJsYXllcj0iZmFsc2UiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9InRydWUiCiAgICAgc2hvd2JvcmRlcj0idHJ1ZSI%2BCiAgICA8aW5rc2NhcGU6Z3JpZAogICAgICAgdHlwZT0ieHlncmlkIgogICAgICAgaWQ9ImdyaWQ0NjQwIgogICAgICAgZW1wc3BhY2luZz0iMjQiIC8%2BCiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc%2BCiAgPCEtLSBDcmVhdGVkIHdpdGggU1ZHLWVkaXQgLSBodHRwOi8vc3ZnLWVkaXQuZ29vZ2xlY29kZS5jb20vIC0tPgogIDxnCiAgICAgaWQ9Imc0Mzk0Ij4KICAgIDxyZWN0CiAgICAgICB4PSI0IgogICAgICAgeT0iNCIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEiCiAgICAgICBzdHlsZT0iZmlsbDojMWFhZTFjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNlYzNmMjk7ZmlsbC1vcGFjaXR5OjAuOTQxMTc2NDc7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIyOC4wMDAwMDYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEtNyIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQxNjUiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgeT0iMy45OTk5OTUiCiAgICAgICB4PSI1Mi4wMDAwMDQiCiAgICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxNzIuMDAwMDIiCiAgICAgICB5PSIzLjk5OTk4NTIiCiAgICAgICB3aWR0aD0iMTYiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgaWQ9InJlY3Q0MTc1IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxOTYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0icmVjdDQxNzUtMyIgLz4KICAgIDxnCiAgICAgICBzdHlsZT0ic3Ryb2tlOm5vbmUiCiAgICAgICBpZD0iZzQyOTkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICAgIHk9IjEwLjk5OTk5OCIKICAgICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMS0xIgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8ZwogICAgICAgc3R5bGU9InN0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC43MDcxMDY3OCwtMC43MDcxMDY3OCwwLjcwNzEwNjc4LDAuNzA3MTA2NzgsMTkuMDI5NDM1LDEyLjAwMDAwMSkiCiAgICAgICBpZD0iZzQyOTktMyI%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIGlkPSJzdmdfMS0xLTAiCiAgICAgICAgIGhlaWdodD0iMS45OTk5OTg2IgogICAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICAgIHg9IjcuMDAwMDA0OCIgLz4KICAgICAgPHJlY3QKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgICAgaWQ9InN2Z18xLTEtMS05IgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjU1LjAwMDAwNCIKICAgICAgIHk9IjcuMDAwMDA0OCIKICAgICAgIHdpZHRoPSI2Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICAgIGlkPSJzdmdfMS03LTUiIC8%2BCiAgICA8cmVjdAogICAgICAgaWQ9InJlY3Q0MzU0IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgeT0iMTAuMDAwMDEiCiAgICAgICB4PSI1OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojM2M4MGRmO3N0cm9rZS13aWR0aDowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjAuOTQxMTc2NDciCiAgICAgICB4PSI1OC4wMDAwMDQiCiAgICAgICB5PSIxMC4wMDAwMDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICBpZD0ic3ZnXzEtNy01LTciIC8%2BCiAgICA8ZwogICAgICAgaWQ9Imc0Mzc4Ij4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InN2Z18xLTctNS0zIgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgeT0iMTAuOTk5OTk5IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIHg9IjE5OCIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB3aWR0aD0iMTEuOTk5OTk1IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgaWQ9InJlY3Q0Mzc0IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIGlkPSJyZWN0NDM3NiIgLz4KICAgIDwvZz4KICAgIDxnCiAgICAgICBpZD0iZzQzODMiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDIzLjk5OTk5NSkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5NjUiCiAgICAgICAgIGlkPSJyZWN0NDM4NSIgLz4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InJlY3Q0Mzg3IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgd2lkdGg9IjExLjk5OTk5NSIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIGlkPSJyZWN0NDM4OSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIHdpZHRoPSIzLjk5OTk5MjgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgeD0iMTk4IgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPC9nPgogICAgPHJlY3QKICAgICAgIHk9IjMuOTk5OTE5OSIKICAgICAgIHg9Ijc2IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC00IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNDM1MSIKICAgICAgIGQ9Im0gODUuMTA0NDcsNi4wMTU3Mzg0IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OSwtMC4yNDAyIDAuMzMwMDgsMy42NTA3OTk2IDIuNDg0MzgsNC41NzgwOTk2IC0yLjE4Njk0LDEuMDkzOCAwLjQ5MTkxLDQuOTA2OSAtMi40NTMxMyw0LjU3ODEgbCAtMC4wMTU2LDEuNDIxOSBjIDUuNzA4MjgsMC41NTkgMS4wMzI2NCwtNS4xMDA1IDQuNzAzMTMsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIC0zLjYxMzAzLC0wLjAyNyAxLjExODkzLC01LjcwNjk5OTYgLTQuNzAzMTMsLTUuMzEyNDk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4yO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpZD0icGF0aDQzNTEtOSIKICAgICAgIGQ9Im0gODIuNzgxMjUsNS45OTg0Mzg0IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA3LDMuNjUwNjk5NiAtMi40ODQzNyw0LjU3ODA5OTYgMi4xODY5NCwxLjA5MzggLTAuNDkxOTIsNC45MDY5IDIuNDUzMTIsNC41NzgxIGwgMC4wMTU2LDEuNDIxOSBjIC01LjcwODI3LDAuNTU5IC0xLjAzMjYzLC01LjEwMDQgLTQuNzAzMTIsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIDMuNjEzMDMsLTAuMDI3IC0xLjExODk0LC01LjcwNzA5OTYgNC43MDMxMiwtNS4zMTI0OTk2IHoiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjI7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxMDAiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTI1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3IgogICAgICAgZD0ibSAxMDMuNzE5LDUuNjcxOTM4NCAwLDEyLjcxODc5OTYgMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAxLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3LTEiCiAgICAgICBkPSJtIDExMi4yMTg1LDUuNjcyMTk4NCAwLDEyLjcxODc5OTYgLTMuMDMxMjUsMCAwLC0xLjUzMTMgMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAtMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cmVjdAogICAgICAgeT0iMy45OTk5MTk5IgogICAgICAgeD0iMTI0IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC03MyIKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgzNzgwIgogICAgICAgZD0ibSAxMjYuMjgyNCwxNy42MDI5MzggMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MSA1LjY1MzY0LDAgMS4xNDg1NiwyLjg2NDEgMS43NjU2NSwwIC00Ljc4Njg3LC0xMS4xNjEwOTk2IC0xLjkxOTAzLDAgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoMzc4MiIKICAgICAgIGQ9Im0gMTI5LjcyNzA0LDEzLjQ3ODgzOCA0LjYwODUyLDAuMDEgLTIuMzA0MjYsLTUuNTQ5Nzk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxNDgiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTM1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGg1MDA4LTIiCiAgICAgICBkPSJtIDE1Ni40NzY1NSw1Ljg5MTczODQgMCwyLjE3OTcgMC40NjA5MywyLjM5ODM5OTYgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNTAwOC0yLTgiCiAgICAgICBkPSJtIDE1Mi41MTU2MSw1Ljg5MDYzODQgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODM5OTYgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgeD0iNCIKICAgICB5PSIyNy45OTk5OTQiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDMyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjI4LjAwMDAwNiIKICAgICB5PSIyNy45OTk5OSIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICBpZD0icmVjdDQ0MzQiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0MzYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB3aWR0aD0iMTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgeD0iNTIuMDAwMDA0IgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjE3Mi4wMDAwMiIKICAgICB5PSIyNy45OTk5ODEiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxOTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ4IiAvPgogIDxnCiAgICAgaWQ9Imc0NDY2IgogICAgIHN0eWxlPSJzdHJva2U6bm9uZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NjgiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk4NiIKICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICB4PSI3LjAwMDAwNDgiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgIGlkPSJyZWN0NDQ3MCIKICAgICAgIGhlaWdodD0iOS45OTk5ODM4IgogICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgIHk9IjcuMDAwMDExNCIKICAgICAgIHg9IjExLjAwMDAwNSIgLz4KICA8L2c%2BCiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LC0wLjcwNzEwNjc4LDAuNzA3MTA2NzgsMC43MDcxMDY3OCwxOS4wMjk0MzUsMzUuOTk5OTk2KSIKICAgICBpZD0iZzQ0NzIiCiAgICAgc3R5bGU9InN0cm9rZTpub25lIj4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgaWQ9InJlY3Q0NDc0IgogICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgeT0iMTAuOTk5OTk4IgogICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NzYiCiAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgIHdpZHRoPSIxLjk5OTk5NTUiCiAgICAgICB5PSI3LjAwMDAxMTQiCiAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NS4wMDAwMDQiCiAgICAgeT0iMzEiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ0NzgiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0ODAiCiAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICB5PSIzNC4wMDAwMDgiCiAgICAgeD0iNTgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgeD0iNTguMDAwMDA0IgogICAgIHk9IjM0LjAwMDAwNCIKICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgIGhlaWdodD0iNi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDQ4MiIgLz4KICA8ZwogICAgIGlkPSJnNDQ4NCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ4NiIKICAgICAgIGhlaWdodD0iMS45OTk5OTY1IgogICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjcuMDAwMDAwNSIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIGlkPSJyZWN0NDQ4OCIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgeD0iMTk4IgogICAgICAgeT0iMTQuOTk5OTk2IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgaWQ9InJlY3Q0NDkwIiAvPgogIDwvZz4KICA8ZwogICAgIGlkPSJnNDQ5MiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDQ3Ljk5OTk5KSI%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHdpZHRoPSI3Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgIGlkPSJyZWN0NDQ5NCIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQ0OTYiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICB5PSI3LjAwMDAwMDUiCiAgICAgICB4PSIxOTgiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ5OCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtOCIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB4PSI3NiIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODUuMTA0NDgsMzAuMDE1NTM3IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OCwtMC4yNDAyIDAuMzMwMDcsMy42NTA4IDIuNDg0MzgsNC41NzgxIC0yLjE4Njk1LDEuMDkzOCAwLjQ5MTkxLDQuOTA2ODggLTIuNDUzMTMsNC41NzgwOCBsIC0wLjAxNTYsMS40MjE5IGMgNS43MDgyNywwLjU1OSAxLjAzMjYzLC01LjEwMDQ4IDQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAtMy42MTMwNCwtMC4wMjcgMS4xMTg5MywtNS43MDcgLTQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODIuNzgxMjYsMjkuOTk4MjM3IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA4LDMuNjUwNyAtMi40ODQzOCw0LjU3ODEgMi4xODY5NCwxLjA5MzggLTAuNDkxOTEsNC45MDY4OCAyLjQ1MzEzLDQuNTc4MDggbCAwLjAxNTYsMS40MjE5IGMgLTUuNzA4MjgsMC41NTkgLTEuMDMyNjQsLTUuMTAwMzggLTQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAzLjYxMzAzLC0wLjAyNyAtMS4xMTg5MywtNS43MDcxIDQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS05LTUiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNjUiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTAwIgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEwMy43MTksMjkuNjcxOTM3IDAsMTIuNzE4NzggMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTggMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICBpZD0icGF0aDI5ODctOCIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDExMi4yMTg1LDI5LjY3MTkzNyAwLDEyLjcxODc4IC0zLjAzMTI1LDAgMCwtMS41MzEzIDEuMzQzNzUsMCAwLC05LjYyNDk4IC0xLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgIGlkPSJwYXRoMjk4Ny0xLTkiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgaWQ9InJlY3QzNzU0LTkyIgogICAgIHdpZHRoPSIxNiIKICAgICBoZWlnaHQ9IjE2IgogICAgIHg9IjEyNCIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgZD0ibSAxMjYuMjgyNCw0MS42MDI5MTcgMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MDggNS42NTM2NCwwIDEuMTQ4NTYsMi44NjQwOCAxLjc2NTY1LDAgLTQuNzg2ODcsLTExLjE2MTA4IC0xLjkxOTAyLDAgeiIKICAgICBpZD0icGF0aDM3ODAtOSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEyOS43MjcwNCwzNy40Nzg4MzcgNC42MDg1MiwwLjAxIC0yLjMwNDI2LC01LjU0OTggeiIKICAgICBpZD0icGF0aDM3ODItMiIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNDciCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTQ4IgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Ni40NzY1NiwyOS44OTE3MzcgMCwyLjE3OTcgMC40NjA5MywyLjM5ODQgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Mi41MTU2MiwyOS44OTA2MzcgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODQgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi04LTgiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0ic3ZnXzEtNy0yIgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIHdpZHRoPSIxMS45OTk5OTYiCiAgICAgeT0iNjQiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMiIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjUyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgeT0iNTIiCiAgICAgd2lkdGg9IjIuOTk5OTkwNyIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ1NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICB5PSI1OCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDU2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjU4IgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NTY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iNjQiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICB5PSI2NCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2OSIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDU3MSIKICAgICBjeD0iMTEwLjA2MDgxIgogICAgIGN5PSI1Ny45MzkyMDkiCiAgICAgcj0iNC43NDM4ODM2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxMTYuNjQ1NjYiCiAgICAgeT0iLTMxLjc5NzUyIgogICAgIHdpZHRoPSI0LjIyOTcxMyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICBpZD0icmVjdDQ1NjMtMiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTI1LDU2IDEzOC43NzAyNyw1Ni4wOTUgMTMyLDY0IFoiCiAgICAgaWQ9InBhdGg0NjEzIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgogIDxwYXRoCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg0NjE1IgogICAgIGQ9Ik0gMTQ5LDY0IDE2Mi43NzAyNyw2My45MDUgMTU2LDU2IFoiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NCIKICAgICB5PSI1MyIKICAgICB3aWR0aD0iMTEuOTk5OTk2IgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIGlkPSJyZWN0NDYzOCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMjQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgd2lkdGg9IjEyLjk5OTk5IgogICAgIHk9Ii01NiIKICAgICB4PSI1MyIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDAsMCkiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgeD0iNTMiCiAgICAgeT0iLTY2IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICBoZWlnaHQ9IjEuOTk5OTk1NyIKICAgICBpZD0icmVjdDQ2NTciIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2NTkiCiAgICAgaGVpZ2h0PSIwLjk5OTk5MjkxIgogICAgIHdpZHRoPSIxMS45OTk5OTkiCiAgICAgeT0iNTciCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI1NCIKICAgICB5PSI4OC4wMDAxMjIiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICBoZWlnaHQ9IjEuOTk5OTk2MSIKICAgICBpZD0icmVjdDQ2NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDY2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODIuMDAwMTIyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODUuMDAwMDA4IgogICAgIHk9IjgyLjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2OSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI4MC4wMDAwMDgiCiAgICAgeT0iODguMDAwMTIyIgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgaGVpZ2h0PSIyLjk5OTk5MDUiCiAgICAgaWQ9InJlY3Q0NjcxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjczIgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODguMDAwMTIyIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPGNpcmNsZQogICAgIHI9IjQuNzQzODgzNiIKICAgICBjeT0iODEuOTM5MzMxIgogICAgIGN4PSIxMTAuMDYwODEiCiAgICAgaWQ9ImNpcmNsZTQ2NzUiCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIgogICAgIGlkPSJyZWN0NDY3NyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICB3aWR0aD0iNC4yMjk3MTMiCiAgICAgeT0iLTE0LjgyNjgxNiIKICAgICB4PSIxMzMuNjE2MyIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2NzkiCiAgICAgZD0ibSAxMjUsODAuMDAwMDA1IDEzLjc3MDI3LDAuMDk0OTkgTCAxMzIsODcuOTk5OTkyIFoiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTQ5LDg4LjAwMDIgMTYyLjc3MDI3LDg3LjkwNTIgMTU2LDgwLjAwMDIgWiIKICAgICBpZD0icGF0aDQ2ODEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2ODMiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NjEiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICB5PSI3Ny4wMDAxMjIiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwxLC0xLDAsMCwwKSIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHk9Ii01NiIKICAgICB3aWR0aD0iMTIuOTk5OTkiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgaWQ9InJlY3Q0Njg1IiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0Njg3IgogICAgIGhlaWdodD0iMS45OTk5OTU3IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICB5PSItNjYiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIgogICAgIHg9IjU0IgogICAgIHk9IjgxLjAwMDEyMiIKICAgICB3aWR0aD0iMTEuOTk5OTk5IgogICAgIGhlaWdodD0iMC45OTk5OTI5MSIKICAgICBpZD0icmVjdDQ2ODkiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ3NjEtMSIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTUuOTk5OTkiCiAgICAgeT0iMTAxIgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTAiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjE1Ljk5OTk5IgogICAgIHk9IjEwNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS03IgogICAgIGhlaWdodD0iMS45OTk5OTQ1IgogICAgIHdpZHRoPSI5IgogICAgIHk9IjEwOSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEyIgogICAgIHk9IjEyNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEtNCIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTAiCiAgICAgeT0iMTM3IgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEwIgogICAgIHk9IjEyOSIKICAgICB4PSI4MiIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQtMyIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iOSIKICAgICB5PSIxMzMiCiAgICAgeD0iODIiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuODtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTAwLjAyNTQgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEwMC41OTkxIGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUyIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjUsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU2LDAgNi43MTA0NDIsLTIuNDExMyA3LjY1MDM5MSwtNS45NDE0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3MzYgLTMuNzEwOTM4LC05LjA3MDMgLTEuMTU5Njc4LC0wLjY3MzggLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjg7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDk5Ljk2MjkgYyAtMS4yNzAwODQsMC4wMzkgLTIuNTQxNDkzLDAuMzg4NyAtMy43MDExNzIsMS4wNjI1IC0zLjA5MjQ3NSwxLjc5NjcgLTQuNjUwODg2LDUuNTQwMiAtMy43MTA5MzcsOS4wNzAzIDAuOTM5OTQ5LDMuNTMwMSA0LjA5NzY4LDUuOTQxNCA3LjY0ODQzNyw1Ljk0MTQgbCAwLC0zLjA3NDIgYyAtMi4yOTYyMTQsMCAtNC4yNTY3MTcsLTEuNTQyIC00LjgzMDA3OCwtMy42OTUzIC0wLjU3MzM2MSwtMi4xNTMzIDAuMzM3NDMyLC00LjQwNTYgMi4zMDg1OTQsLTUuNTUwOCAxLjkzNTczMSwtMS4xMjQ2IDQuMzg4NjMsLTAuODEwMiA1Ljk4NjMyNiwwLjcyMDcgbCAtMS44MDY2MzgsMS45MDYzIDcuODI4MTI4LDEuOTA2MiAtMi4zMjQyMiwtNy43MTI5IC0xLjYyNjk2LDEuNzE2OCBjIC0xLjI2MzM4LC0xLjI1MzEgLTIuODQ4OTE3LC0yLjAwODggLTQuNTA1ODU1LC0yLjIyODUgLTAuNDE4Nzc4LC0wLjA1NSAtMC44NDIyNjMsLTAuMDc2IC0xLjI2NTYyNSwtMC4wNjIgeiIKICAgICBpZD0icGF0aDQxMzgtMSIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9Im9wYWNpdHk6MC44O2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS45NjY7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgZD0ibSAxMC41LDEwMCAwLDIgLTIuNDk5OTk5NiwwIEwgMTIsMTA3IGwgNCwtNSAtMi41LDAgMCwtMiAtMywwIHoiCiAgICAgaWQ9InBhdGgzMDU1LTAtNzciIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NTA1NzQsMTA4LjAxNSAxNC4wMjk4ODU2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NDk4NzQsMTMyLjAxNSAxNC4wMjk4ODY2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNS04IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuNDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTIzLjk2MjkgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEyNC41MzY2IGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUzIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjQsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU3LDAgNi43MTA0NDIsLTIuNDA5MyA3LjY1MDM5MSwtNS45Mzk0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3NTYgLTMuNzEwOTM4LC05LjA3MjMgLTEuMTU5Njc4LC0wLjY3MzcgLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgtMTIiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjQ7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDEyMy45NjI5IGMgLTEuMjcwMDg0LDAuMDM5IC0yLjU0MTQ5MywwLjM4ODggLTMuNzAxMTcyLDEuMDYyNSAtMy4wOTI0NzUsMS43OTY3IC00LjY1MDg4Niw1LjU0MjIgLTMuNzEwOTM3LDkuMDcyMyAwLjkzOTk0OSwzLjUzMDEgNC4wOTc2OCw1LjkzOTQgNy42NDg0MzcsNS45Mzk0IGwgMCwtMy4wNzQyIGMgLTIuMjk2MjE0LDAgLTQuMjU2NzE3LC0xLjU0MiAtNC44MzAwNzgsLTMuNjk1MyAtMC41NzMzNjEsLTIuMTUzMyAwLjMzNzQzMiwtNC40MDU1IDIuMzA4NTk0LC01LjU1MDggMS45MzU3MzEsLTEuMTI0NiA0LjM4ODYzLC0wLjgxMDIgNS45ODYzMjYsMC43MjA3IGwgLTEuODA2NjM4LDEuOTA2MyA3LjgyODEyOCwxLjkwNjIgLTIuMzI0MjIsLTcuNzEyOSAtMS42MjY5NiwxLjcxNjggYyAtMS4yNjMzOCwtMS4yNTMxIC0yLjg0ODkxNywtMi4wMDg4IC00LjUwNTg1NSwtMi4yMjg1IC0wLjQxODc3OCwtMC4wNTUgLTAuODQyMjYzLC0wLjA3NiAtMS4yNjU2MjUsLTAuMDYyIHoiCiAgICAgaWQ9InBhdGg0MTM4LTEtMyIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoNjE5MSIKICAgICBkPSJtIDEwLjUsMTE2IDAsLTIgLTIuNDk5OTk5NiwwIEwgMTIsMTA5IGwgNCw1IC0yLjUsMCAwLDIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGQ9Im0gMTAuNSwxMjkgMCwtMiAtMi40OTk5OTk2LDAgTCAxMiwxMjIgbCA0LDUgLTIuNSwwIDAsMiAtMywwIHoiCiAgICAgaWQ9InBhdGg2MTkzIiAvPgogIDxwYXRoCiAgICAgaWQ9InBhdGg2MTk1IgogICAgIGQ9Im0gMTAuNSwxMzUgMCwyIC0yLjQ5OTk5OTYsMCBMIDEyLDE0MiBsIDQsLTUgLTIuNSwwIDAsLTIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwMCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyNDIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSItMS4yNzc5MDI2IiAvPgogIDxwYXRoCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSIxLjI3NzkwMiIKICAgICBkPSJtIC0zMS41MDAwMDQsNjAuMDczMjQyIC0zLjgzMzcwOCwyLjIxMzM5MiAtMy44MzM3MDcsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDcsMi4yMTMzOTIgeiIKICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTpyMj0iMi41NTU4MDUyIgogICAgIHNvZGlwb2RpOnIxPSI1LjExMTYxMDQiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpjeD0iLTM2LjYxMTYxNCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBpZD0icGF0aDQ1MDIiCiAgICAgc3R5bGU9ImZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MC45MDE5NjA3ODtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgc29kaXBvZGk6dHlwZT0ic3RhciIKICAgICB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIiAvPgogIDxwYXRoCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOmZsYXRzaWRlZD0iZmFsc2UiCiAgICAgc29kaXBvZGk6YXJnMj0iMS4wNDcxOTc2IgogICAgIHNvZGlwb2RpOmFyZzE9IjAiCiAgICAgc29kaXBvZGk6cjI9IjIuNTU1ODA1MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOmN5PSI2MC4wNzMyMTIiCiAgICAgc29kaXBvZGk6Y3g9IjExLjU1NTgxIgogICAgIHNvZGlwb2RpOnNpZGVzPSIzIgogICAgIGlkPSJwYXRoNDUwNCIKICAgICBzdHlsZT0iZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eTowLjkwMTk2MDc4O3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDcyLjAwNzQsNzEuNzg3NykiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci15PSIxLjI3NzkwMjkiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii0xLjI3NzkwMjYiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwtMSwtMSwwLDk2LDk2KSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwNiIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzIxMiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2MTUtNSIKICAgICBkPSJtIDE3MS44MjU3NCw2NS4xNzQxOTMgMTYuMzQ4NTQsMCAtOC4xNzQyNywtMTMuMzQ4NDU0IHoiCiAgICAgc3R5bGU9ImZpbGw6I2ZiYjkxNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZiYjkxNztzdHJva2Utd2lkdGg6MS42NTE2MTM5NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjFweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gMTc5LDU1IDAsNiAyLDAgMCwtNiIKICAgICBpZD0icGF0aDQzMDAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSAxNzksNjIgMCwyIDIsMCAwLC0yIgogICAgIGlkPSJwYXRoNDMwMC02IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgo8L3N2Zz4K%29%3Bcolor%3A%23fff%3Bopacity%3A%2E8%3Bfont%2Dfamily%3Aarial%2Csans%2Dserif%3Bfont%2Dsize%3A10pt%3Bfloat%3Aleft%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%3Ahover%2Cdiv%2Ejsoneditor%2Dmenu%3Ediv%2Ejsoneditor%2Dmodes%3Ebutton%3Ahover%7Bbackground%2Dcolor%3Argba%28255%2C255%2C255%2C%2E2%29%3Bborder%3A1px%20solid%20rgba%28255%2C255%2C255%2C%2E4%29%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%3Aactive%2Cdiv%2Ejsoneditor%2Dmenu%3Ebutton%3Afocus%2Cdiv%2Ejsoneditor%2Dmenu%3Ediv%2Ejsoneditor%2Dmodes%3Ebutton%3Aactive%2Cdiv%2Ejsoneditor%2Dmenu%3Ediv%2Ejsoneditor%2Dmodes%3Ebutton%3Afocus%7Bbackground%2Dcolor%3Argba%28255%2C255%2C255%2C%2E3%29%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%3Adisabled%2Cdiv%2Ejsoneditor%2Dmenu%3Ediv%2Ejsoneditor%2Dmodes%3Ebutton%3Adisabled%7Bopacity%3A%2E5%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%2Ejsoneditor%2Dcollapse%2Dall%7Bbackground%2Dposition%3A0%20%2D96px%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%2Ejsoneditor%2Dexpand%2Dall%7Bbackground%2Dposition%3A0%20%2D120px%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%2Ejsoneditor%2Dundo%7Bbackground%2Dposition%3A%2D24px%20%2D96px%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%2Ejsoneditor%2Dundo%3Adisabled%7Bbackground%2Dposition%3A%2D24px%20%2D120px%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%2Ejsoneditor%2Dredo%7Bbackground%2Dposition%3A%2D48px%20%2D96px%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%2Ejsoneditor%2Dredo%3Adisabled%7Bbackground%2Dposition%3A%2D48px%20%2D120px%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%2Ejsoneditor%2Dcompact%7Bbackground%2Dposition%3A%2D72px%20%2D96px%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%2Ejsoneditor%2Dformat%7Bbackground%2Dposition%3A%2D72px%20%2D120px%7Ddiv%2Ejsoneditor%2Dmenu%3Ediv%2Ejsoneditor%2Dmodes%7Bdisplay%3Ainline%2Dblock%3Bfloat%3Aleft%7Ddiv%2Ejsoneditor%2Dmenu%3Ediv%2Ejsoneditor%2Dmodes%3Ebutton%7Bbackground%2Dimage%3Anone%3Bwidth%3Aauto%3Bpadding%2Dleft%3A6px%3Bpadding%2Dright%3A6px%7Ddiv%2Ejsoneditor%2Dmenu%3Ebutton%2Ejsoneditor%2Dseparator%2Cdiv%2Ejsoneditor%2Dmenu%3Ediv%2Ejsoneditor%2Dmodes%3Ebutton%2Ejsoneditor%2Dseparator%7Bmargin%2Dleft%3A10px%7Ddiv%2Ejsoneditor%2Dmenu%20a%7Bfont%2Dfamily%3Aarial%2Csans%2Dserif%3Bfont%2Dsize%3A10pt%3Bcolor%3A%23fff%3Bopacity%3A%2E8%3Bvertical%2Dalign%3Amiddle%7Ddiv%2Ejsoneditor%2Dmenu%20a%3Ahover%7Bopacity%3A1%7Ddiv%2Ejsoneditor%2Dmenu%20a%2Ejsoneditor%2DpoweredBy%7Bfont%2Dsize%3A8pt%3Bposition%3Aabsolute%3Bright%3A0%3Btop%3A0%3Bpadding%3A10px%7Dtable%2Ejsoneditor%2Dsearch%20div%2Ejsoneditor%2Dresults%2Ctable%2Ejsoneditor%2Dsearch%20input%7Bfont%2Dfamily%3Aarial%2Csans%2Dserif%3Bfont%2Dsize%3A10pt%3Bcolor%3A%231A1A1A%3Bbackground%3A0%200%7Dtable%2Ejsoneditor%2Dsearch%20div%2Ejsoneditor%2Dresults%7Bcolor%3A%23fff%3Bpadding%2Dright%3A5px%3Bline%2Dheight%3A24px%7Dtable%2Ejsoneditor%2Dsearch%7Bposition%3Aabsolute%3Bright%3A4px%3Btop%3A4px%3Bborder%2Dcollapse%3Acollapse%3Bborder%2Dspacing%3A0%7Dtable%2Ejsoneditor%2Dsearch%20div%2Ejsoneditor%2Dframe%7Bborder%3A1px%20solid%20transparent%3Bbackground%2Dcolor%3A%23fff%3Bpadding%3A0%202px%3Bmargin%3A0%7Dtable%2Ejsoneditor%2Dsearch%20div%2Ejsoneditor%2Dframe%20table%7Bborder%2Dcollapse%3Acollapse%7Dtable%2Ejsoneditor%2Dsearch%20input%7Bwidth%3A120px%3Bborder%3Anone%3Boutline%3A0%3Bmargin%3A1px%3Bline%2Dheight%3A20px%7Dtable%2Ejsoneditor%2Dsearch%20button%7Bwidth%3A16px%3Bheight%3A24px%3Bpadding%3A0%3Bmargin%3A0%3Bborder%3Anone%3Bbackground%3Aurl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8%2BCjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgd2lkdGg9IjIxNiIKICAgaGVpZ2h0PSIxNDQiCiAgIGlkPSJzdmc0MTM2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlua3NjYXBlOnZlcnNpb249IjAuOTEgciIKICAgc29kaXBvZGk6ZG9jbmFtZT0ianNvbmVkaXRvci1pY29ucy5zdmciPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTY1MTIiPkpTT04gRWRpdG9yIEljb25zPC90aXRsZT4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0MTQ4Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI%2BCiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ%2BCiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT5KU09OIEVkaXRvciBJY29uczwvZGM6dGl0bGU%2BCiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0MTQ2IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI4IgogICAgIGlkPSJuYW1lZHZpZXc0MTQ0IgogICAgIHNob3dncmlkPSJ0cnVlIgogICAgIGlua3NjYXBlOnpvb209IjQiCiAgICAgaW5rc2NhcGU6Y3g9Ijk3LjIxNzI0OCIKICAgICBpbmtzY2FwZTpjeT0iNTkuOTUwMjI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNDEzNiIKICAgICBzaG93Z3VpZGVzPSJmYWxzZSIKICAgICBib3JkZXJsYXllcj0iZmFsc2UiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9InRydWUiCiAgICAgc2hvd2JvcmRlcj0idHJ1ZSI%2BCiAgICA8aW5rc2NhcGU6Z3JpZAogICAgICAgdHlwZT0ieHlncmlkIgogICAgICAgaWQ9ImdyaWQ0NjQwIgogICAgICAgZW1wc3BhY2luZz0iMjQiIC8%2BCiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc%2BCiAgPCEtLSBDcmVhdGVkIHdpdGggU1ZHLWVkaXQgLSBodHRwOi8vc3ZnLWVkaXQuZ29vZ2xlY29kZS5jb20vIC0tPgogIDxnCiAgICAgaWQ9Imc0Mzk0Ij4KICAgIDxyZWN0CiAgICAgICB4PSI0IgogICAgICAgeT0iNCIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEiCiAgICAgICBzdHlsZT0iZmlsbDojMWFhZTFjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNlYzNmMjk7ZmlsbC1vcGFjaXR5OjAuOTQxMTc2NDc7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIyOC4wMDAwMDYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0ic3ZnXzEtNyIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQxNjUiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgeT0iMy45OTk5OTUiCiAgICAgICB4PSI1Mi4wMDAwMDQiCiAgICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxNzIuMDAwMDIiCiAgICAgICB5PSIzLjk5OTk4NTIiCiAgICAgICB3aWR0aD0iMTYiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgaWQ9InJlY3Q0MTc1IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICB4PSIxOTYiCiAgICAgICB5PSIzLjk5OTk5NSIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGhlaWdodD0iMTYiCiAgICAgICBpZD0icmVjdDQxNzUtMyIgLz4KICAgIDxnCiAgICAgICBzdHlsZT0ic3Ryb2tlOm5vbmUiCiAgICAgICBpZD0iZzQyOTkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICAgIHk9IjEwLjk5OTk5OCIKICAgICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgICBpZD0ic3ZnXzEtMS0xIgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8ZwogICAgICAgc3R5bGU9InN0cm9rZTpub25lIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC43MDcxMDY3OCwtMC43MDcxMDY3OCwwLjcwNzEwNjc4LDAuNzA3MTA2NzgsMTkuMDI5NDM1LDEyLjAwMDAwMSkiCiAgICAgICBpZD0iZzQyOTktMyI%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIGlkPSJzdmdfMS0xLTAiCiAgICAgICAgIGhlaWdodD0iMS45OTk5OTg2IgogICAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICAgIHg9IjcuMDAwMDA0OCIgLz4KICAgICAgPHJlY3QKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgICAgaWQ9InN2Z18xLTEtMS05IgogICAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgICAgeT0iNy4wMDAwMTE0IgogICAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgICA8L2c%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjU1LjAwMDAwNCIKICAgICAgIHk9IjcuMDAwMDA0OCIKICAgICAgIHdpZHRoPSI2Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICAgIGlkPSJzdmdfMS03LTUiIC8%2BCiAgICA8cmVjdAogICAgICAgaWQ9InJlY3Q0MzU0IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgeT0iMTAuMDAwMDEiCiAgICAgICB4PSI1OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojM2M4MGRmO3N0cm9rZS13aWR0aDowO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjAuOTQxMTc2NDciCiAgICAgICB4PSI1OC4wMDAwMDQiCiAgICAgICB5PSIxMC4wMDAwMDUiCiAgICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgICBpZD0ic3ZnXzEtNy01LTciIC8%2BCiAgICA8ZwogICAgICAgaWQ9Imc0Mzc4Ij4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InN2Z18xLTctNS0zIgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgeT0iMTAuOTk5OTk5IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICAgIHg9IjE5OCIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB3aWR0aD0iMTEuOTk5OTk1IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgaWQ9InJlY3Q0Mzc0IiAvPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIGlkPSJyZWN0NDM3NiIgLz4KICAgIDwvZz4KICAgIDxnCiAgICAgICBpZD0iZzQzODMiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDIzLjk5OTk5NSkiPgogICAgICA8cmVjdAogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5NjUiCiAgICAgICAgIGlkPSJyZWN0NDM4NSIgLz4KICAgICAgPHJlY3QKICAgICAgICAgaWQ9InJlY3Q0Mzg3IgogICAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgICAgd2lkdGg9IjExLjk5OTk5NSIKICAgICAgICAgeT0iNy4wMDAwMDA1IgogICAgICAgICB4PSIxOTgiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICAgIDxyZWN0CiAgICAgICAgIGlkPSJyZWN0NDM4OSIKICAgICAgICAgaGVpZ2h0PSIxLjk5OTk5OTUiCiAgICAgICAgIHdpZHRoPSIzLjk5OTk5MjgiCiAgICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgICAgeD0iMTk4IgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPC9nPgogICAgPHJlY3QKICAgICAgIHk9IjMuOTk5OTE5OSIKICAgICAgIHg9Ijc2IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC00IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNDM1MSIKICAgICAgIGQ9Im0gODUuMTA0NDcsNi4wMTU3Mzg0IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OSwtMC4yNDAyIDAuMzMwMDgsMy42NTA3OTk2IDIuNDg0MzgsNC41NzgwOTk2IC0yLjE4Njk0LDEuMDkzOCAwLjQ5MTkxLDQuOTA2OSAtMi40NTMxMyw0LjU3ODEgbCAtMC4wMTU2LDEuNDIxOSBjIDUuNzA4MjgsMC41NTkgMS4wMzI2NCwtNS4xMDA1IDQuNzAzMTMsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIC0zLjYxMzAzLC0wLjAyNyAxLjExODkzLC01LjcwNjk5OTYgLTQuNzAzMTMsLTUuMzEyNDk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4yO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpZD0icGF0aDQzNTEtOSIKICAgICAgIGQ9Im0gODIuNzgxMjUsNS45OTg0Mzg0IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA3LDMuNjUwNjk5NiAtMi40ODQzNyw0LjU3ODA5OTYgMi4xODY5NCwxLjA5MzggLTAuNDkxOTIsNC45MDY5IDIuNDUzMTIsNC41NzgxIGwgMC4wMTU2LDEuNDIxOSBjIC01LjcwODI3LDAuNTU5IC0xLjAzMjYzLC01LjEwMDQgLTQuNzAzMTIsLTUuMjY1NiBsIDAsLTEuNDA2MyBjIDMuNjEzMDMsLTAuMDI3IC0xLjExODk0LC01LjcwNzA5OTYgNC43MDMxMiwtNS4zMTI0OTk2IHoiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjI7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxMDAiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTI1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3IgogICAgICAgZD0ibSAxMDMuNzE5LDUuNjcxOTM4NCAwLDEyLjcxODc5OTYgMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAxLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgyOTg3LTEiCiAgICAgICBkPSJtIDExMi4yMTg1LDUuNjcyMTk4NCAwLDEyLjcxODc5OTYgLTMuMDMxMjUsMCAwLC0xLjUzMTMgMS4zNDM3NSwwIDAsLTkuNjI0OTk5NiAtMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cmVjdAogICAgICAgeT0iMy45OTk5MTk5IgogICAgICAgeD0iMTI0IgogICAgICAgaGVpZ2h0PSIxNiIKICAgICAgIHdpZHRoPSIxNiIKICAgICAgIGlkPSJyZWN0Mzc1NC03MyIKICAgICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGgzNzgwIgogICAgICAgZD0ibSAxMjYuMjgyNCwxNy42MDI5MzggMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MSA1LjY1MzY0LDAgMS4xNDg1NiwyLjg2NDEgMS43NjU2NSwwIC00Ljc4Njg3LC0xMS4xNjEwOTk2IC0xLjkxOTAzLDAgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoMzc4MiIKICAgICAgIGQ9Im0gMTI5LjcyNzA0LDEzLjQ3ODgzOCA0LjYwODUyLDAuMDEgLTIuMzA0MjYsLTUuNTQ5Nzk5NiB6IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxyZWN0CiAgICAgICB5PSIzLjk5OTkxOTkiCiAgICAgICB4PSIxNDgiCiAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgd2lkdGg9IjE2IgogICAgICAgaWQ9InJlY3QzNzU0LTM1IgogICAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaWQ9InBhdGg1MDA4LTIiCiAgICAgICBkPSJtIDE1Ni40NzY1NSw1Ljg5MTczODQgMCwyLjE3OTcgMC40NjA5MywyLjM5ODM5OTYgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlkPSJwYXRoNTAwOC0yLTgiCiAgICAgICBkPSJtIDE1Mi41MTU2MSw1Ljg5MDYzODQgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODM5OTYgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4Mzk5NiAwLC0yLjE3OTcgeiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgeD0iNCIKICAgICB5PSIyNy45OTk5OTQiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDMyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjI4LjAwMDAwNiIKICAgICB5PSIyNy45OTk5OSIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICBpZD0icmVjdDQ0MzQiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0MzYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB3aWR0aD0iMTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgeD0iNTIuMDAwMDA0IgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjE3Mi4wMDAwMiIKICAgICB5PSIyNy45OTk5ODEiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxOTYiCiAgICAgeT0iMjcuOTk5OTkiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgaWQ9InJlY3Q0NDQ4IiAvPgogIDxnCiAgICAgaWQ9Imc0NDY2IgogICAgIHN0eWxlPSJzdHJva2U6bm9uZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NjgiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk4NiIKICAgICAgIHdpZHRoPSI5Ljk5OTk5MjQiCiAgICAgICB5PSIxMC45OTk5OTgiCiAgICAgICB4PSI3LjAwMDAwNDgiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICAgIGlkPSJyZWN0NDQ3MCIKICAgICAgIGhlaWdodD0iOS45OTk5ODM4IgogICAgICAgd2lkdGg9IjEuOTk5OTk1NSIKICAgICAgIHk9IjcuMDAwMDExNCIKICAgICAgIHg9IjExLjAwMDAwNSIgLz4KICA8L2c%2BCiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LC0wLjcwNzEwNjc4LDAuNzA3MTA2NzgsMC43MDcxMDY3OCwxOS4wMjk0MzUsMzUuOTk5OTk2KSIKICAgICBpZD0iZzQ0NzIiCiAgICAgc3R5bGU9InN0cm9rZTpub25lIj4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgICAgaWQ9InJlY3Q0NDc0IgogICAgICAgaGVpZ2h0PSIxLjk5OTk5ODYiCiAgICAgICB3aWR0aD0iOS45OTk5OTI0IgogICAgICAgeT0iMTAuOTk5OTk4IgogICAgICAgeD0iNy4wMDAwMDQ4IiAvPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgICBpZD0icmVjdDQ0NzYiCiAgICAgICBoZWlnaHQ9IjkuOTk5OTgzOCIKICAgICAgIHdpZHRoPSIxLjk5OTk5NTUiCiAgICAgICB5PSI3LjAwMDAxMTQiCiAgICAgICB4PSIxMS4wMDAwMDUiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NS4wMDAwMDQiCiAgICAgeT0iMzEiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICBoZWlnaHQ9IjYuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ0NzgiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ0ODAiCiAgICAgaGVpZ2h0PSI2Ljk5OTk5MDUiCiAgICAgd2lkdGg9IjYuOTk5OTkwOSIKICAgICB5PSIzNC4wMDAwMDgiCiAgICAgeD0iNTgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgeD0iNTguMDAwMDA0IgogICAgIHk9IjM0LjAwMDAwNCIKICAgICB3aWR0aD0iNi45OTk5OTA5IgogICAgIGhlaWdodD0iNi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDQ4MiIgLz4KICA8ZwogICAgIGlkPSJnNDQ4NCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDIzLjk5OTk5NSkiPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ4NiIKICAgICAgIGhlaWdodD0iMS45OTk5OTY1IgogICAgICAgd2lkdGg9IjcuOTk5OTkwOSIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjcuMDAwMDAwNSIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIGlkPSJyZWN0NDQ4OCIgLz4KICAgIDxyZWN0CiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIgogICAgICAgeD0iMTk4IgogICAgICAgeT0iMTQuOTk5OTk2IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgaWQ9InJlY3Q0NDkwIiAvPgogIDwvZz4KICA8ZwogICAgIGlkPSJnNDQ5MiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwtMjMuOTk5OTk1LDQ3Ljk5OTk5KSI%2BCiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MCIKICAgICAgIHg9IjE5OCIKICAgICAgIHk9IjEwLjk5OTk5OSIKICAgICAgIHdpZHRoPSI3Ljk5OTk5MDkiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk2NSIKICAgICAgIGlkPSJyZWN0NDQ5NCIgLz4KICAgIDxyZWN0CiAgICAgICBpZD0icmVjdDQ0OTYiCiAgICAgICBoZWlnaHQ9IjEuOTk5OTk0NiIKICAgICAgIHdpZHRoPSIxMS45OTk5OTUiCiAgICAgICB5PSI3LjAwMDAwMDUiCiAgICAgICB4PSIxOTgiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowIiAvPgogICAgPHJlY3QKICAgICAgIGlkPSJyZWN0NDQ5OCIKICAgICAgIGhlaWdodD0iMS45OTk5OTk1IgogICAgICAgd2lkdGg9IjMuOTk5OTkyOCIKICAgICAgIHk9IjE0Ljk5OTk5NiIKICAgICAgIHg9IjE5OCIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPC9nPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtOCIKICAgICB3aWR0aD0iMTYiCiAgICAgaGVpZ2h0PSIxNiIKICAgICB4PSI3NiIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODUuMTA0NDgsMzAuMDE1NTM3IC0wLjAxNTYsMS40MDYzIGMgMy4wMjY2OCwtMC4yNDAyIDAuMzMwMDcsMy42NTA4IDIuNDg0MzgsNC41NzgxIC0yLjE4Njk1LDEuMDkzOCAwLjQ5MTkxLDQuOTA2ODggLTIuNDUzMTMsNC41NzgwOCBsIC0wLjAxNTYsMS40MjE5IGMgNS43MDgyNywwLjU1OSAxLjAzMjYzLC01LjEwMDQ4IDQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAtMy42MTMwNCwtMC4wMjcgMS4xMTg5MywtNS43MDcgLTQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjYyIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gODIuNzgxMjYsMjkuOTk4MjM3IDAuMDE1NiwxLjQwNjMgYyAtMy4wMjY2OCwtMC4yNDAyIC0wLjMzMDA4LDMuNjUwNyAtMi40ODQzOCw0LjU3ODEgMi4xODY5NCwxLjA5MzggLTAuNDkxOTEsNC45MDY4OCAyLjQ1MzEzLDQuNTc4MDggbCAwLjAxNTYsMS40MjE5IGMgLTUuNzA4MjgsMC41NTkgLTEuMDMyNjQsLTUuMTAwMzggLTQuNzAzMTMsLTUuMjY1NTggbCAwLC0xLjQwNjMgYyAzLjYxMzAzLC0wLjAyNyAtMS4xMTg5MywtNS43MDcxIDQuNzAzMTMsLTUuMzEyNSB6IgogICAgIGlkPSJwYXRoNDM1MS05LTUiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNjUiCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTAwIgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEwMy43MTksMjkuNjcxOTM3IDAsMTIuNzE4NzggMy4wMzEyNSwwIDAsLTEuNTMxMyAtMS4zNDM3NSwwIDAsLTkuNjI0OTggMS4zNzUsMCAwLC0xLjU2MjUgeiIKICAgICBpZD0icGF0aDI5ODctOCIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDExMi4yMTg1LDI5LjY3MTkzNyAwLDEyLjcxODc4IC0zLjAzMTI1LDAgMCwtMS41MzEzIDEuMzQzNzUsMCAwLC05LjYyNDk4IC0xLjM3NSwwIDAsLTEuNTYyNSB6IgogICAgIGlkPSJwYXRoMjk4Ny0xLTkiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgaWQ9InJlY3QzNzU0LTkyIgogICAgIHdpZHRoPSIxNiIKICAgICBoZWlnaHQ9IjE2IgogICAgIHg9IjEyNCIKICAgICB5PSIyNy45OTk5MiIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgZD0ibSAxMjYuMjgyNCw0MS42MDI5MTcgMS43ODk1NywwIDEuMTQxNDMsLTIuODY0MDggNS42NTM2NCwwIDEuMTQ4NTYsMi44NjQwOCAxLjc2NTY1LDAgLTQuNzg2ODcsLTExLjE2MTA4IC0xLjkxOTAyLDAgeiIKICAgICBpZD0icGF0aDM3ODAtOSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDEyOS43MjcwNCwzNy40Nzg4MzcgNC42MDg1MiwwLjAxIC0yLjMwNDI2LC01LjU0OTggeiIKICAgICBpZD0icGF0aDM3ODItMiIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBpZD0icmVjdDM3NTQtNDciCiAgICAgd2lkdGg9IjE2IgogICAgIGhlaWdodD0iMTYiCiAgICAgeD0iMTQ4IgogICAgIHk9IjI3Ljk5OTkyIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Ni40NzY1NiwyOS44OTE3MzcgMCwyLjE3OTcgMC40NjA5MywyLjM5ODQgMS44MjgxMywwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi0xIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjY2NjIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICBkPSJtIDE1Mi41MTU2MiwyOS44OTA2MzcgMCwyLjE3OTcgMC40NjA5NCwyLjM5ODQgMS44MjgxMiwwIDAuMzk4NDQsLTIuMzk4NCAwLC0yLjE3OTcgeiIKICAgICBpZD0icGF0aDUwMDgtMi04LTgiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0ic3ZnXzEtNy0yIgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIHdpZHRoPSIxMS45OTk5OTYiCiAgICAgeT0iNjQiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMiIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjUyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgeT0iNTIiCiAgICAgd2lkdGg9IjIuOTk5OTkwNyIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICBpZD0icmVjdDQ1NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICB5PSI1OCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDU2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9IjU4IgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NTY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iNjQiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICB5PSI2NCIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDU2OSIgLz4KICA8Y2lyY2xlCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiM0YzRjNGM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDU3MSIKICAgICBjeD0iMTEwLjA2MDgxIgogICAgIGN5PSI1Ny45MzkyMDkiCiAgICAgcj0iNC43NDM4ODM2IiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSIxMTYuNjQ1NjYiCiAgICAgeT0iLTMxLjc5NzUyIgogICAgIHdpZHRoPSI0LjIyOTcxMyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICBpZD0icmVjdDQ1NjMtMiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTI1LDU2IDEzOC43NzAyNyw1Ni4wOTUgMTMyLDY0IFoiCiAgICAgaWQ9InBhdGg0NjEzIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgogIDxwYXRoCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgaWQ9InBhdGg0NjE1IgogICAgIGQ9Ik0gMTQ5LDY0IDE2Mi43NzAyNyw2My45MDUgMTU2LDU2IFoiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIKICAgICB4PSI1NCIKICAgICB5PSI1MyIKICAgICB3aWR0aD0iMTEuOTk5OTk2IgogICAgIGhlaWdodD0iMS45OTk5OTYxIgogICAgIGlkPSJyZWN0NDYzOCIgLz4KICA8cmVjdAogICAgIGlkPSJzdmdfMS03LTItMjQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgd2lkdGg9IjEyLjk5OTk5IgogICAgIHk9Ii01NiIKICAgICB4PSI1MyIKICAgICBzdHlsZT0iZmlsbDojNGM0YzRjO2ZpbGwtb3BhY2l0eTowLjk4NDMxMzczO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDAsMCkiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIgogICAgIHN0eWxlPSJmaWxsOiM0YzRjNGM7ZmlsbC1vcGFjaXR5OjAuOTg0MzEzNzM7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAiCiAgICAgeD0iNTMiCiAgICAgeT0iLTY2IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICBoZWlnaHQ9IjEuOTk5OTk1NyIKICAgICBpZD0icmVjdDQ2NTciIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2NTkiCiAgICAgaGVpZ2h0PSIwLjk5OTk5MjkxIgogICAgIHdpZHRoPSIxMS45OTk5OTkiCiAgICAgeT0iNTciCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6IzRjNGM0YztmaWxsLW9wYWNpdHk6MC45ODQzMTM3MztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI1NCIKICAgICB5PSI4OC4wMDAxMjIiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICBoZWlnaHQ9IjEuOTk5OTk2MSIKICAgICBpZD0icmVjdDQ2NjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODAuMDAwMDA4IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2MyIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDY2NSIKICAgICBoZWlnaHQ9IjIuOTk5OTkwNSIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIHk9Ijc2LjAwMDEyMiIKICAgICB4PSI4NS4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjY3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODIuMDAwMTIyIgogICAgIHg9IjgwLjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iODUuMDAwMDA4IgogICAgIHk9IjgyLjAwMDEyMiIKICAgICB3aWR0aD0iMi45OTk5OTA3IgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIGlkPSJyZWN0NDY2OSIgLz4KICA8cmVjdAogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB4PSI4MC4wMDAwMDgiCiAgICAgeT0iODguMDAwMTIyIgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgaGVpZ2h0PSIyLjk5OTk5MDUiCiAgICAgaWQ9InJlY3Q0NjcxIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NjczIgogICAgIGhlaWdodD0iMi45OTk5OTA1IgogICAgIHdpZHRoPSIyLjk5OTk5MDciCiAgICAgeT0iODguMDAwMTIyIgogICAgIHg9Ijg1LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPGNpcmNsZQogICAgIHI9IjQuNzQzODgzNiIKICAgICBjeT0iODEuOTM5MzMxIgogICAgIGN4PSIxMTAuMDYwODEiCiAgICAgaWQ9ImNpcmNsZTQ2NzUiCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHJlY3QKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNjc4LDAuNzA3MTA2NzgsLTAuNzA3MTA2NzgsMC43MDcxMDY3OCwwLDApIgogICAgIGlkPSJyZWN0NDY3NyIKICAgICBoZWlnaHQ9IjYuNDA1Mzg4NCIKICAgICB3aWR0aD0iNC4yMjk3MTMiCiAgICAgeT0iLTE0LjgyNjgxNiIKICAgICB4PSIxMzMuNjE2MyIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2NzkiCiAgICAgZD0ibSAxMjUsODAuMDAwMDA1IDEzLjc3MDI3LDAuMDk0OTkgTCAxMzIsODcuOTk5OTkyIFoiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Ik0gMTQ5LDg4LjAwMDIgMTYyLjc3MDI3LDg3LjkwNTIgMTU2LDgwLjAwMDIgWiIKICAgICBpZD0icGF0aDQ2ODEiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ2ODMiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NjEiCiAgICAgd2lkdGg9IjExLjk5OTk5NiIKICAgICB5PSI3Ny4wMDAxMjIiCiAgICAgeD0iNTQiCiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxyZWN0CiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwxLC0xLDAsMCwwKSIKICAgICBzdHlsZT0iZmlsbDojZDNkM2QzO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHk9Ii01NiIKICAgICB3aWR0aD0iMTIuOTk5OTkiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NTciCiAgICAgaWQ9InJlY3Q0Njg1IiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0Njg3IgogICAgIGhlaWdodD0iMS45OTk5OTU3IgogICAgIHdpZHRoPSIxMi45OTk5OSIKICAgICB5PSItNjYiCiAgICAgeD0iNzcuMDAwMTIyIgogICAgIHN0eWxlPSJmaWxsOiNkM2QzZDM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLDEsLTEsMCwwLDApIiAvPgogIDxyZWN0CiAgICAgc3R5bGU9ImZpbGw6I2QzZDNkMztmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MDtzdHJva2Utb3BhY2l0eToxIgogICAgIHg9IjU0IgogICAgIHk9IjgxLjAwMDEyMiIKICAgICB3aWR0aD0iMTEuOTk5OTk5IgogICAgIGhlaWdodD0iMC45OTk5OTI5MSIKICAgICBpZD0icmVjdDQ2ODkiIC8%2BCiAgPHJlY3QKICAgICBpZD0icmVjdDQ3NjEtMSIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTUuOTk5OTkiCiAgICAgeT0iMTAxIgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTAiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjE1Ljk5OTk5IgogICAgIHk9IjEwNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS03IgogICAgIGhlaWdodD0iMS45OTk5OTQ1IgogICAgIHdpZHRoPSI5IgogICAgIHk9IjEwOSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEyIgogICAgIHk9IjEyNSIKICAgICB4PSI3Ni4wMDAwMDgiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cmVjdAogICAgIGlkPSJyZWN0NDc2MS0xLTEtNCIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iMTAiCiAgICAgeT0iMTM3IgogICAgIHg9Ijc2LjAwMDAwOCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQiCiAgICAgaGVpZ2h0PSIxLjk5OTk5NDUiCiAgICAgd2lkdGg9IjEwIgogICAgIHk9IjEyOSIKICAgICB4PSI4MiIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjgwMDAwMDA3O3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowIiAvPgogIDxyZWN0CiAgICAgaWQ9InJlY3Q0NzYxLTEtMS00LTQtMyIKICAgICBoZWlnaHQ9IjEuOTk5OTk0NSIKICAgICB3aWR0aD0iOSIKICAgICB5PSIxMzMiCiAgICAgeD0iODIiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC44MDAwMDAwNztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MCIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuODtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTAwLjAyNTQgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEwMC41OTkxIGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUyIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjUsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU2LDAgNi43MTA0NDIsLTIuNDExMyA3LjY1MDM5MSwtNS45NDE0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3MzYgLTMuNzEwOTM4LC05LjA3MDMgLTEuMTU5Njc4LC0wLjY3MzggLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjg7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDk5Ljk2MjkgYyAtMS4yNzAwODQsMC4wMzkgLTIuNTQxNDkzLDAuMzg4NyAtMy43MDExNzIsMS4wNjI1IC0zLjA5MjQ3NSwxLjc5NjcgLTQuNjUwODg2LDUuNTQwMiAtMy43MTA5MzcsOS4wNzAzIDAuOTM5OTQ5LDMuNTMwMSA0LjA5NzY4LDUuOTQxNCA3LjY0ODQzNyw1Ljk0MTQgbCAwLC0zLjA3NDIgYyAtMi4yOTYyMTQsMCAtNC4yNTY3MTcsLTEuNTQyIC00LjgzMDA3OCwtMy42OTUzIC0wLjU3MzM2MSwtMi4xNTMzIDAuMzM3NDMyLC00LjQwNTYgMi4zMDg1OTQsLTUuNTUwOCAxLjkzNTczMSwtMS4xMjQ2IDQuMzg4NjMsLTAuODEwMiA1Ljk4NjMyNiwwLjcyMDcgbCAtMS44MDY2MzgsMS45MDYzIDcuODI4MTI4LDEuOTA2MiAtMi4zMjQyMiwtNy43MTI5IC0xLjYyNjk2LDEuNzE2OCBjIC0xLjI2MzM4LC0xLjI1MzEgLTIuODQ4OTE3LC0yLjAwODggLTQuNTA1ODU1LC0yLjIyODUgLTAuNDE4Nzc4LC0wLjA1NSAtMC44NDIyNjMsLTAuMDc2IC0xLjI2NTYyNSwtMC4wNjIgeiIKICAgICBpZD0icGF0aDQxMzgtMSIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9Im9wYWNpdHk6MC44O2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS45NjY7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgZD0ibSAxMC41LDEwMCAwLDIgLTIuNDk5OTk5NiwwIEwgMTIsMTA3IGwgNCwtNSAtMi41LDAgMCwtMiAtMywwIHoiCiAgICAgaWQ9InBhdGgzMDU1LTAtNzciIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NTA1NzQsMTA4LjAxNSAxNC4wMjk4ODU2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNSIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eTowLjg7ZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjk2NjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSA0Ljk4NDk4NzQsMTMyLjAxNSAxNC4wMjk4ODY2LC0wLjAzIgogICAgIGlkPSJwYXRoNTI0NC01LTAtNS04IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjYyIgLz4KICA8cGF0aAogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc3R5bGU9ImNvbG9yOiMwMDAwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2RpcmVjdGlvbjpsdHI7YmxvY2stcHJvZ3Jlc3Npb246dGI7d3JpdGluZy1tb2RlOmxyLXRiO2Jhc2VsaW5lLXNoaWZ0OmJhc2VsaW5lO3RleHQtYW5jaG9yOnN0YXJ0O3doaXRlLXNwYWNlOm5vcm1hbDtjbGlwLXJ1bGU6bm9uemVybztkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjAuNDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6IzAwMDAwMDtzb2xpZC1vcGFjaXR5OjE7ZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjY2MTU3ODY2O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvO2VuYWJsZS1iYWNrZ3JvdW5kOmFjY3VtdWxhdGUiCiAgICAgZD0ibSAzNi4zOTg0MzgsMTIzLjk2MjkgYyAtMC40MjMzNjIsLTAuMDEzIC0wLjg0Njg0NywwLjAxIC0xLjI2NTYyNiwwLjA2MiAtMS42NTY1NjIsMC4yMTk2IC0zLjI0NDU2NywwLjk3MzkgLTQuNTA3ODEyLDIuMjI2NiBMIDI5LDEyNC41MzY2IGwgLTIuMzI0MjE5LDcuNzEyOSA3LjgyNjE3MiwtMS45MDYyIC0xLjgwNDY4NywtMS45MDYzIGMgMS41OTc3MDIsLTEuNTMwOCA0LjA0ODcwNiwtMS44NDUzIDUuOTg0Mzc1LC0wLjcyMDcgMS45NzExNjIsMS4xNDUzIDIuODgxOTU0LDMuMzk3NSAyLjMwODU5Myw1LjU1MDggLTAuNTczMzYxLDIuMTUzMyAtMi41MzM4NjQsMy42OTUzIC00LjgzMDA3OCwzLjY5NTMgbCAwLDMuMDc0MiBjIDMuNTUwNzU3LDAgNi43MTA0NDIsLTIuNDA5MyA3LjY1MDM5MSwtNS45Mzk0IDAuOTM5OTQ5LC0zLjUzMDEgLTAuNjE4NDYzLC03LjI3NTYgLTMuNzEwOTM4LC05LjA3MjMgLTEuMTU5Njc4LC0wLjY3MzcgLTIuNDMxMDg3LC0xLjAyMzEgLTMuNzAxMTcxLC0xLjA2MjUgeiIKICAgICBpZD0icGF0aDQxMzgtMTIiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJjb2xvcjojMDAwMDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOm1lZGl1bTtsaW5lLWhlaWdodDpub3JtYWw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10YjtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7Y2xpcC1ydWxlOm5vbnplcm87ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eTowLjQ7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO2NvbG9yLWludGVycG9sYXRpb246c1JHQjtjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6bGluZWFyUkdCO3NvbGlkLWNvbG9yOiMwMDAwMDA7c29saWQtb3BhY2l0eToxO2ZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi42NjE1Nzg2NjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZS1vcGFjaXR5OjE7Y29sb3ItcmVuZGVyaW5nOmF1dG87aW1hZ2UtcmVuZGVyaW5nOmF1dG87c2hhcGUtcmVuZGVyaW5nOmF1dG87dGV4dC1yZW5kZXJpbmc6YXV0bztlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlIgogICAgIGQ9Im0gNTkuNzIyNjU2LDEyMy45NjI5IGMgLTEuMjcwMDg0LDAuMDM5IC0yLjU0MTQ5MywwLjM4ODggLTMuNzAxMTcyLDEuMDYyNSAtMy4wOTI0NzUsMS43OTY3IC00LjY1MDg4Niw1LjU0MjIgLTMuNzEwOTM3LDkuMDcyMyAwLjkzOTk0OSwzLjUzMDEgNC4wOTc2OCw1LjkzOTQgNy42NDg0MzcsNS45Mzk0IGwgMCwtMy4wNzQyIGMgLTIuMjk2MjE0LDAgLTQuMjU2NzE3LC0xLjU0MiAtNC44MzAwNzgsLTMuNjk1MyAtMC41NzMzNjEsLTIuMTUzMyAwLjMzNzQzMiwtNC40MDU1IDIuMzA4NTk0LC01LjU1MDggMS45MzU3MzEsLTEuMTI0NiA0LjM4ODYzLC0wLjgxMDIgNS45ODYzMjYsMC43MjA3IGwgLTEuODA2NjM4LDEuOTA2MyA3LjgyODEyOCwxLjkwNjIgLTIuMzI0MjIsLTcuNzEyOSAtMS42MjY5NiwxLjcxNjggYyAtMS4yNjMzOCwtMS4yNTMxIC0yLjg0ODkxNywtMi4wMDg4IC00LjUwNTg1NSwtMi4yMjg1IC0wLjQxODc3OCwtMC4wNTUgLTAuODQyMjYzLC0wLjA3NiAtMS4yNjU2MjUsLTAuMDYyIHoiCiAgICAgaWQ9InBhdGg0MTM4LTEtMyIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoNjE5MSIKICAgICBkPSJtIDEwLjUsMTE2IDAsLTIgLTIuNDk5OTk5NiwwIEwgMTIsMTA5IGwgNCw1IC0yLjUsMCAwLDIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGQ9Im0gMTAuNSwxMjkgMCwtMiAtMi40OTk5OTk2LDAgTCAxMiwxMjIgbCA0LDUgLTIuNSwwIDAsMiAtMywwIHoiCiAgICAgaWQ9InBhdGg2MTkzIiAvPgogIDxwYXRoCiAgICAgaWQ9InBhdGg2MTk1IgogICAgIGQ9Im0gMTAuNSwxMzUgMCwyIC0yLjQ5OTk5OTYsMCBMIDEyLDE0MiBsIDQsLTUgLTIuNSwwIDAsLTIgLTMsMCB6IgogICAgIHN0eWxlPSJvcGFjaXR5OjAuODtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuOTY2O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwMCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyNDIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSItMS4yNzc5MDI2IiAvPgogIDxwYXRoCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSIxLjI3NzkwMiIKICAgICBkPSJtIC0zMS41MDAwMDQsNjAuMDczMjQyIC0zLjgzMzcwOCwyLjIxMzM5MiAtMy44MzM3MDcsMi4yMTMzOTMgMCwtNC40MjY3ODUgMCwtNC40MjY3ODQgMy44MzM3MDcsMi4yMTMzOTIgeiIKICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTpyMj0iMi41NTU4MDUyIgogICAgIHNvZGlwb2RpOnIxPSI1LjExMTYxMDQiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzI0MiIKICAgICBzb2RpcG9kaTpjeD0iLTM2LjYxMTYxNCIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBpZD0icGF0aDQ1MDIiCiAgICAgc3R5bGU9ImZpbGw6IzRkNGQ0ZDtmaWxsLW9wYWNpdHk6MC45MDE5NjA3ODtzdHJva2U6I2QzZDNkMztzdHJva2Utd2lkdGg6MDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgc29kaXBvZGk6dHlwZT0ic3RhciIKICAgICB0cmFuc2Zvcm09InNjYWxlKC0xLDEpIiAvPgogIDxwYXRoCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiCiAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOmZsYXRzaWRlZD0iZmFsc2UiCiAgICAgc29kaXBvZGk6YXJnMj0iMS4wNDcxOTc2IgogICAgIHNvZGlwb2RpOmFyZzE9IjAiCiAgICAgc29kaXBvZGk6cjI9IjIuNTU1ODA1MiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOmN5PSI2MC4wNzMyMTIiCiAgICAgc29kaXBvZGk6Y3g9IjExLjU1NTgxIgogICAgIHNvZGlwb2RpOnNpZGVzPSIzIgogICAgIGlkPSJwYXRoNDUwNCIKICAgICBzdHlsZT0iZmlsbDojNGQ0ZDRkO2ZpbGwtb3BhY2l0eTowLjkwMTk2MDc4O3N0cm9rZTojZDNkM2QzO3N0cm9rZS13aWR0aDowO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAsMSwtMSwwLDcyLjAwNzQsNzEuNzg3NykiCiAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci15PSIxLjI3NzkwMjkiIC8%2BCiAgPHBhdGgKICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii0xLjI3NzkwMjYiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMCwtMSwtMSwwLDk2LDk2KSIKICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgIHN0eWxlPSJmaWxsOiM0ZDRkNGQ7ZmlsbC1vcGFjaXR5OjAuOTAxOTYwNzg7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgIGlkPSJwYXRoNDUwNiIKICAgICBzb2RpcG9kaTpzaWRlcz0iMyIKICAgICBzb2RpcG9kaTpjeD0iMTEuNTU1ODEiCiAgICAgc29kaXBvZGk6Y3k9IjYwLjA3MzIxMiIKICAgICBzb2RpcG9kaTpyMT0iNS4xMTE2MTA0IgogICAgIHNvZGlwb2RpOnIyPSIyLjU1NTgwNTIiCiAgICAgc29kaXBvZGk6YXJnMT0iMCIKICAgICBzb2RpcG9kaTphcmcyPSIxLjA0NzE5NzYiCiAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgZD0ibSAxNi42Njc0Miw2MC4wNzMyMTIgLTMuODMzNzA4LDIuMjEzMzkyIC0zLjgzMzcwNzIsMi4yMTMzOTIgMCwtNC40MjY3ODQgMCwtNC40MjY3ODUgMy44MzM3MDgyLDIuMjEzMzkyIHoiIC8%2BCiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBpZD0icGF0aDQ2MTUtNSIKICAgICBkPSJtIDE3MS44MjU3NCw2NS4xNzQxOTMgMTYuMzQ4NTQsMCAtOC4xNzQyNywtMTMuMzQ4NDU0IHoiCiAgICAgc3R5bGU9ImZpbGw6I2ZiYjkxNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZiYjkxNztzdHJva2Utd2lkdGg6MS42NTE2MTM5NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjFweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxIgogICAgIGQ9Im0gMTc5LDU1IDAsNiAyLDAgMCwtNiIKICAgICBpZD0icGF0aDQzMDAiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8%2BCiAgPHBhdGgKICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgZD0ibSAxNzksNjIgMCwyIDIsMCAwLC0yIgogICAgIGlkPSJwYXRoNDMwMC02IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjY2NjIiAvPgo8L3N2Zz4K%29%3Bvertical%2Dalign%3Atop%7Dtable%2Ejsoneditor%2Dsearch%20button%3Ahover%7Bbackground%2Dcolor%3Atransparent%7Dtable%2Ejsoneditor%2Dsearch%20button%2Ejsoneditor%2Drefresh%7Bwidth%3A18px%3Bbackground%2Dposition%3A%2D99px%20%2D73px%7Dtable%2Ejsoneditor%2Dsearch%20button%2Ejsoneditor%2Dnext%7Bcursor%3Apointer%3Bbackground%2Dposition%3A%2D124px%20%2D73px%7Dtable%2Ejsoneditor%2Dsearch%20button%2Ejsoneditor%2Dnext%3Ahover%7Bbackground%2Dposition%3A%2D124px%20%2D49px%7Dtable%2Ejsoneditor%2Dsearch%20button%2Ejsoneditor%2Dprevious%7Bcursor%3Apointer%3Bbackground%2Dposition%3A%2D148px%20%2D73px%3Bmargin%2Dright%3A2px%7Dtable%2Ejsoneditor%2Dsearch%20button%2Ejsoneditor%2Dprevious%3Ahover%7Bbackground%2Dposition%3A%2D148px%20%2D49px%7D" rel="stylesheet" /> <script src="data:application/x-javascript;base64,LyohCiAqIGpzb25lZGl0b3IuanMKICoKICogQGJyaWVmCiAqIEpTT05FZGl0b3IgaXMgYSB3ZWItYmFzZWQgdG9vbCB0byB2aWV3LCBlZGl0LCBmb3JtYXQsIGFuZCB2YWxpZGF0ZSBKU09OLgogKiBJdCBoYXMgdmFyaW91cyBtb2RlcyBzdWNoIGFzIGEgdHJlZSBlZGl0b3IsIGEgY29kZSBlZGl0b3IsIGFuZCBhIHBsYWluIHRleHQKICogZWRpdG9yLgogKgogKiBTdXBwb3J0ZWQgYnJvd3NlcnM6IENocm9tZSwgRmlyZWZveCwgU2FmYXJpLCBPcGVyYSwgSW50ZXJuZXQgRXhwbG9yZXIgOCsKICoKICogQGxpY2Vuc2UKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90CiAqIHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5CiAqIG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQKICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlCiAqIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyCiAqIHRoZSBMaWNlbnNlLgogKgogKiBDb3B5cmlnaHQgKGMpIDIwMTEtMjAxNiBKb3MgZGUgSm9uZywgaHR0cDovL2pzb25lZGl0b3JvbmxpbmUub3JnCiAqCiAqIEBhdXRob3IgIEpvcyBkZSBKb25nLCA8d2pvc2Rlam9uZ0BnbWFpbC5jb20+CiAqIEB2ZXJzaW9uIDUuNS41CiAqIEBkYXRlICAgIDIwMTYtMDUtMjQKICovCiFmdW5jdGlvbihlLHQpeyJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmIm9iamVjdCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9dCgpOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtdLHQpOiJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzLkpTT05FZGl0b3I9dCgpOmUuSlNPTkVkaXRvcj10KCl9KHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChuKXtpZihpW25dKXJldHVybiBpW25dLmV4cG9ydHM7dmFyIHI9aVtuXT17ZXhwb3J0czp7fSxpZDpuLGxvYWRlZDohMX07cmV0dXJuIGVbbl0uY2FsbChyLmV4cG9ydHMscixyLmV4cG9ydHMsdCksci5sb2FkZWQ9ITAsci5leHBvcnRzfXZhciBpPXt9O3JldHVybiB0Lm09ZSx0LmM9aSx0LnA9IiIsdCgwKX0oW2Z1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQsaSl7aWYoISh0aGlzIGluc3RhbmNlb2YgbikpdGhyb3cgbmV3IEVycm9yKCdKU09ORWRpdG9yIGNvbnN0cnVjdG9yIGNhbGxlZCB3aXRob3V0ICJuZXciLicpO3ZhciByPWwuZ2V0SW50ZXJuZXRFeHBsb3JlclZlcnNpb24oKTtpZigtMSE9ciYmOT5yKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgYnJvd3NlciwgSUU5IG9yIG5ld2VyIHJlcXVpcmVkLiBQbGVhc2UgaW5zdGFsbCB0aGUgbmV3ZXN0IHZlcnNpb24gb2YgeW91ciBicm93c2VyLiIpO2lmKHQmJih0LmVycm9yJiYoY29uc29sZS53YXJuKCdPcHRpb24gImVycm9yIiBoYXMgYmVlbiByZW5hbWVkIHRvICJvbkVycm9yIicpLHQub25FcnJvcj10LmVycm9yLGRlbGV0ZSB0LmVycm9yKSx0LmNoYW5nZSYmKGNvbnNvbGUud2FybignT3B0aW9uICJjaGFuZ2UiIGhhcyBiZWVuIHJlbmFtZWQgdG8gIm9uQ2hhbmdlIicpLHQub25DaGFuZ2U9dC5jaGFuZ2UsZGVsZXRlIHQuY2hhbmdlKSx0LmVkaXRhYmxlJiYoY29uc29sZS53YXJuKCdPcHRpb24gImVkaXRhYmxlIiBoYXMgYmVlbiByZW5hbWVkIHRvICJvbkVkaXRhYmxlIicpLHQub25FZGl0YWJsZT10LmVkaXRhYmxlLGRlbGV0ZSB0LmVkaXRhYmxlKSx0KSl7dmFyIG89WyJhY2UiLCJ0aGVtZSIsImFqdiIsInNjaGVtYSIsIm9uQ2hhbmdlIiwib25FZGl0YWJsZSIsIm9uRXJyb3IiLCJvbk1vZGVDaGFuZ2UiLCJlc2NhcGVVbmljb2RlIiwiaGlzdG9yeSIsInNlYXJjaCIsIm1vZGUiLCJtb2RlcyIsIm5hbWUiLCJpbmRlbnRhdGlvbiIsInNvcnRPYmplY3RLZXlzIl07T2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihlKXstMT09PW8uaW5kZXhPZihlKSYmY29uc29sZS53YXJuKCdVbmtub3duIG9wdGlvbiAiJytlKyciLiBUaGlzIG9wdGlvbiB3aWxsIGJlIGlnbm9yZWQnKX0pfWFyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZShlLHQsaSl9dmFyIHI7dHJ5e3I9aSgxKX1jYXRjaChvKXt9dmFyIHM9aSg1MSksYT1pKDYyKSxsPWkoNTQpO24ubW9kZXM9e30sbi5wcm90b3R5cGUuREVCT1VOQ0VfSU5URVJWQUw9MTUwLG4ucHJvdG90eXBlLl9jcmVhdGU9ZnVuY3Rpb24oZSx0LGkpe3RoaXMuY29udGFpbmVyPWUsdGhpcy5vcHRpb25zPXR8fHt9LHRoaXMuanNvbj1pfHx7fTt2YXIgbj10aGlzLm9wdGlvbnMubW9kZXx8InRyZWUiO3RoaXMuc2V0TW9kZShuKX0sbi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe30sbi5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGUpe3RoaXMuanNvbj1lfSxuLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qc29ufSxuLnByb3RvdHlwZS5zZXRUZXh0PWZ1bmN0aW9uKGUpe3RoaXMuanNvbj1sLnBhcnNlKGUpfSxuLnByb3RvdHlwZS5nZXRUZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuanNvbil9LG4ucHJvdG90eXBlLnNldE5hbWU9ZnVuY3Rpb24oZSl7dGhpcy5vcHRpb25zfHwodGhpcy5vcHRpb25zPXt9KSx0aGlzLm9wdGlvbnMubmFtZT1lfSxuLnByb3RvdHlwZS5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucyYmdGhpcy5vcHRpb25zLm5hbWV9LG4ucHJvdG90eXBlLnNldE1vZGU9ZnVuY3Rpb24oZSl7dmFyIHQsaSxyPXRoaXMuY29udGFpbmVyLG89bC5leHRlbmQoe30sdGhpcy5vcHRpb25zKSxzPW8ubW9kZTtvLm1vZGU9ZTt2YXIgYT1uLm1vZGVzW2VdO2lmKCFhKXRocm93IG5ldyBFcnJvcignVW5rbm93biBtb2RlICInK28ubW9kZSsnIicpO3RyeXt2YXIgYz0idGV4dCI9PWEuZGF0YTtpZihpPXRoaXMuZ2V0TmFtZSgpLHQ9dGhpc1tjPyJnZXRUZXh0IjoiZ2V0Il0oKSx0aGlzLmRlc3Ryb3koKSxsLmNsZWFyKHRoaXMpLGwuZXh0ZW5kKHRoaXMsYS5taXhpbiksdGhpcy5jcmVhdGUocixvKSx0aGlzLnNldE5hbWUoaSksdGhpc1tjPyJzZXRUZXh0Ijoic2V0Il0odCksImZ1bmN0aW9uIj09dHlwZW9mIGEubG9hZCl0cnl7YS5sb2FkLmNhbGwodGhpcyl9Y2F0Y2goaCl7Y29uc29sZS5lcnJvcihoKX1pZigiZnVuY3Rpb24iPT10eXBlb2Ygby5vbk1vZGVDaGFuZ2UmJmUhPT1zKXRyeXtvLm9uTW9kZUNoYW5nZShlLHMpfWNhdGNoKGgpe2NvbnNvbGUuZXJyb3IoaCl9fWNhdGNoKGgpe3RoaXMuX29uRXJyb3IoaCl9fSxuLnByb3RvdHlwZS5nZXRNb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5tb2RlfSxuLnByb3RvdHlwZS5fb25FcnJvcj1mdW5jdGlvbihlKXtpZighdGhpcy5vcHRpb25zfHwiZnVuY3Rpb24iIT10eXBlb2YgdGhpcy5vcHRpb25zLm9uRXJyb3IpdGhyb3cgZTt0aGlzLm9wdGlvbnMub25FcnJvcihlKX0sbi5wcm90b3R5cGUuc2V0U2NoZW1hPWZ1bmN0aW9uKGUpe2lmKGUpe3ZhciB0O3RyeXt0PXRoaXMub3B0aW9ucy5hanZ8fHIoe2FsbEVycm9yczohMCx2ZXJib3NlOiEwfSl9Y2F0Y2goaSl7Y29uc29sZS53YXJuKCJGYWlsZWQgdG8gY3JlYXRlIGFuIGluc3RhbmNlIG9mIEFqdiwgSlNPTiBTY2hlbWEgdmFsaWRhdGlvbiBpcyBub3QgYXZhaWxhYmxlLiBQbGVhc2UgdXNlIGEgSlNPTkVkaXRvciBidW5kbGUgaW5jbHVkaW5nIEFqdiwgb3IgcGFzcyBhbiBpbnN0YW5jZSBvZiBBanYgYXMgdmlhIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbiBgYWp2YC4iKX10JiYodGhpcy52YWxpZGF0ZVNjaGVtYT10LmNvbXBpbGUoZSksdGhpcy5vcHRpb25zLnNjaGVtYT1lLHRoaXMudmFsaWRhdGUoKSksdGhpcy5yZWZyZXNoKCl9ZWxzZSB0aGlzLnZhbGlkYXRlU2NoZW1hPW51bGwsdGhpcy5vcHRpb25zLnNjaGVtYT1udWxsLHRoaXMudmFsaWRhdGUoKSx0aGlzLnJlZnJlc2goKX0sbi5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oKXt9LG4ucHJvdG90eXBlLnJlZnJlc2g9ZnVuY3Rpb24oKXt9LG4ucmVnaXN0ZXJNb2RlPWZ1bmN0aW9uKGUpe3ZhciB0LGk7aWYobC5pc0FycmF5KGUpKWZvcih0PTA7dDxlLmxlbmd0aDt0Kyspbi5yZWdpc3Rlck1vZGUoZVt0XSk7ZWxzZXtpZighKCJtb2RlImluIGUpKXRocm93IG5ldyBFcnJvcignUHJvcGVydHkgIm1vZGUiIG1pc3NpbmcnKTtpZighKCJtaXhpbiJpbiBlKSl0aHJvdyBuZXcgRXJyb3IoJ1Byb3BlcnR5ICJtaXhpbiIgbWlzc2luZycpO2lmKCEoImRhdGEiaW4gZSkpdGhyb3cgbmV3IEVycm9yKCdQcm9wZXJ0eSAiZGF0YSIgbWlzc2luZycpO3ZhciByPWUubW9kZTtpZihyIGluIG4ubW9kZXMpdGhyb3cgbmV3IEVycm9yKCdNb2RlICInK3IrJyIgYWxyZWFkeSByZWdpc3RlcmVkJyk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUubWl4aW4uY3JlYXRlKXRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgZnVuY3Rpb24gImNyZWF0ZSIgbWlzc2luZyBvbiBtaXhpbicpO3ZhciBvPVsic2V0TW9kZSIsInJlZ2lzdGVyTW9kZSIsIm1vZGVzIl07Zm9yKHQ9MDt0PG8ubGVuZ3RoO3QrKylpZihpPW9bdF0saSBpbiBlLm1peGluKXRocm93IG5ldyBFcnJvcignUmVzZXJ2ZWQgcHJvcGVydHkgIicraSsnIiBub3QgYWxsb3dlZCBpbiBtaXhpbicpO24ubW9kZXNbcl09ZX19LG4ucmVnaXN0ZXJNb2RlKHMpLG4ucmVnaXN0ZXJNb2RlKGEpLGUuZXhwb3J0cz1ufSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIHYudGVzdChlKX1mdW5jdGlvbiByKGUpe2Z1bmN0aW9uIHQoZSx0KXt2YXIgaTtpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKGk9RihlKSwhaSl0aHJvdyBuZXcgRXJyb3IoJ25vIHNjaGVtYSB3aXRoIGtleSBvciByZWYgIicrZSsnIicpfWVsc2V7dmFyIG49RChlKTtpPW4udmFsaWRhdGV8fGsobil9dmFyIHI9aSh0KTtyZXR1cm4gaS5hc3luYz8iKiI9PU0uX29wdHMuYXN5bmM/bShyKTpyOihNLmVycm9ycz1pLmVycm9ycyxyKX1mdW5jdGlvbiB5KGUpe3ZhciB0PUQoZSk7cmV0dXJuIHQudmFsaWRhdGV8fGsodCl9ZnVuY3Rpb24gQShlLHQsaSxuKXtpZihBcnJheS5pc0FycmF5KGUpKWZvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKUEoZVtyXSx2b2lkIDAsaSxuKTtlbHNle3Q9cy5ub3JtYWxpemVJZCh0fHxlLmlkKSxUKHQpO3ZhciBvPU0uX3NjaGVtYXNbdF09RChlLGksITApO28ubWV0YT1ufX1mdW5jdGlvbiBDKGUsdCxpKXtBKGUsdCxpLCEwKX1mdW5jdGlvbiBFKGUsaSl7dmFyIHI9ZS4kc2NoZW1hfHxNLl9vcHRzLmRlZmF1bHRNZXRhfHxiKCksbz1NLl9mb3JtYXRzLnVyaTtNLl9mb3JtYXRzLnVyaT0iZnVuY3Rpb24iPT10eXBlb2Ygbz9uOnY7dmFyIHM9dChyLGUpO2lmKE0uX2Zvcm1hdHMudXJpPW8sIXMmJmkpe3ZhciBhPSJzY2hlbWEgaXMgaW52YWxpZDoiK0IoKTtpZigibG9nIiE9TS5fb3B0cy52YWxpZGF0ZVNjaGVtYSl0aHJvdyBuZXcgRXJyb3IoYSk7Y29uc29sZS5lcnJvcihhKX1yZXR1cm4gc31mdW5jdGlvbiBiKCl7dmFyIGU9TS5fb3B0cy5tZXRhO3JldHVybiBNLl9vcHRzLmRlZmF1bHRNZXRhPSJvYmplY3QiPT10eXBlb2YgZT9lLmlkfHxlOk0uX29wdHMudjU/dS5NRVRBX1NDSEVNQV9JRDpnLE0uX29wdHMuZGVmYXVsdE1ldGF9ZnVuY3Rpb24gRihlKXt2YXIgdD14KGUpO3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJvYmplY3QiOnJldHVybiB0LnZhbGlkYXRlfHxrKHQpO2Nhc2Uic3RyaW5nIjpyZXR1cm4gRih0KX19ZnVuY3Rpb24geChlKXtyZXR1cm4gZT1zLm5vcm1hbGl6ZUlkKGUpLE0uX3NjaGVtYXNbZV18fE0uX3JlZnNbZV19ZnVuY3Rpb24gUyhlKXtzd2l0Y2godHlwZW9mIGUpe2Nhc2UidW5kZWZpbmVkIjpyZXR1cm4gJChNLl9zY2hlbWFzKSwkKE0uX3JlZnMpLHZvaWQgTS5fY2FjaGUuY2xlYXIoKTtjYXNlInN0cmluZyI6dmFyIHQ9eChlKTtyZXR1cm4gdCYmTS5fY2FjaGUuZGVsKHQuanNvblN0ciksZGVsZXRlIE0uX3NjaGVtYXNbZV0sdm9pZCBkZWxldGUgTS5fcmVmc1tlXTtjYXNlIm9iamVjdCI6aWYoZSBpbnN0YW5jZW9mIFJlZ0V4cClyZXR1cm4gJChNLl9zY2hlbWFzLGUpLHZvaWQgJChNLl9yZWZzLGUpO3ZhciBpPWMoZSk7TS5fY2FjaGUuZGVsKGkpO3ZhciBuPWUuaWQ7biYmKG49cy5ub3JtYWxpemVJZChuKSxkZWxldGUgTS5fc2NoZW1hc1tuXSxkZWxldGUgTS5fcmVmc1tuXSl9fWZ1bmN0aW9uICQoZSx0KXtmb3IodmFyIGkgaW4gZSl7dmFyIG49ZVtpXTtuLm1ldGF8fHQmJiF0LnRlc3QoaSl8fChNLl9jYWNoZS5kZWwobi5qc29uU3RyKSxkZWxldGUgZVtpXSl9fWZ1bmN0aW9uIEQoZSx0LGkpe2lmKCJvYmplY3QiIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoInNjaGVtYSBzaG91bGQgYmUgb2JqZWN0Iik7dmFyIG49YyhlKSxyPU0uX2NhY2hlLmdldChuKTtpZihyKXJldHVybiByO2k9aXx8TS5fb3B0cy5hZGRVc2VkU2NoZW1hIT09ITE7dmFyIG89cy5ub3JtYWxpemVJZChlLmlkKTtvJiZpJiZUKG8pLE0uX29wdHMudmFsaWRhdGVTY2hlbWE9PT0hMXx8dHx8RShlLCEwKTt2YXIgYT1zLmlkcy5jYWxsKE0sZSksaD1uZXcgbCh7aWQ6byxzY2hlbWE6ZSxsb2NhbFJlZnM6YSxqc29uU3RyOm59KTtyZXR1cm4iIyIhPW9bMF0mJmkmJihNLl9yZWZzW29dPWgpLE0uX2NhY2hlLnB1dChuLGgpLGh9ZnVuY3Rpb24gayhlLHQpe2Z1bmN0aW9uIGkoKXt2YXIgdD1lLnZhbGlkYXRlLG49dC5hcHBseShudWxsLGFyZ3VtZW50cyk7cmV0dXJuIGkuZXJyb3JzPXQuZXJyb3JzLG59aWYoZS5jb21waWxpbmcpcmV0dXJuIGUudmFsaWRhdGU9aSxpLnNjaGVtYT1lLnNjaGVtYSxpLmVycm9ycz1udWxsLGkucm9vdD10P3Q6aSxlLnNjaGVtYS4kYXN5bmM9PT0hMCYmKGkuYXN5bmM9ITApLGk7ZS5jb21waWxpbmc9ITA7dmFyIG47ZS5tZXRhJiYobj1NLl9vcHRzLE0uX29wdHM9TS5fbWV0YU9wdHMpO3ZhciByO3RyeXtyPW8uY2FsbChNLGUuc2NoZW1hLHQsZS5sb2NhbFJlZnMpfWZpbmFsbHl7ZS5jb21waWxpbmc9ITEsZS5tZXRhJiYoTS5fb3B0cz1uKX1yZXR1cm4gZS52YWxpZGF0ZT1yLGUucmVmcz1yLnJlZnMsZS5yZWZWYWw9ci5yZWZWYWwsZS5yb290PXIucm9vdCxyfWZ1bmN0aW9uIEIoZSx0KXtpZihlPWV8fE0uZXJyb3JzLCFlKXJldHVybiJObyBlcnJvcnMiO3Q9dHx8e307Zm9yKHZhciBpPXZvaWQgMD09PXQuc2VwYXJhdG9yPyIsICI6dC5zZXBhcmF0b3Isbj12b2lkIDA9PT10LmRhdGFWYXI/ImRhdGEiOnQuZGF0YVZhcixyPSIiLG89MDtvPGUubGVuZ3RoO28rKyl7dmFyIHM9ZVtvXTtzJiYocis9bitzLmRhdGFQYXRoKyIgIitzLm1lc3NhZ2UraSl9cmV0dXJuIHIuc2xpY2UoMCwtaS5sZW5ndGgpfWZ1bmN0aW9uIF8oZSx0KXsic3RyaW5nIj09dHlwZW9mIHQmJih0PW5ldyBSZWdFeHAodCkpLE0uX2Zvcm1hdHNbZV09dH1mdW5jdGlvbiBMKCl7aWYoTS5fb3B0cy5tZXRhIT09ITEpe3ZhciBlPWkoNTApO0MoZSxnLCEwKSxNLl9yZWZzWyJodHRwOi8vanNvbi1zY2hlbWEub3JnL3NjaGVtYSJdPWd9dmFyIHQ9TS5fb3B0cy5zY2hlbWFzO2lmKHQpaWYoQXJyYXkuaXNBcnJheSh0KSlBKHQpO2Vsc2UgZm9yKHZhciBuIGluIHQpQSh0W25dLG4pfWZ1bmN0aW9uIFIoKXtmb3IodmFyIGUgaW4gTS5fb3B0cy5mb3JtYXRzKXt2YXIgdD1NLl9vcHRzLmZvcm1hdHNbZV07XyhlLHQpfX1mdW5jdGlvbiBUKGUpe2lmKE0uX3NjaGVtYXNbZV18fE0uX3JlZnNbZV0pdGhyb3cgbmV3IEVycm9yKCdzY2hlbWEgd2l0aCBrZXkgb3IgaWQgIicrZSsnIiBhbHJlYWR5IGV4aXN0cycpfWZ1bmN0aW9uIFAoKXtmb3IodmFyIGU9Zi5jb3B5KE0uX29wdHMpLHQ9MDt0PHcubGVuZ3RoO3QrKylkZWxldGUgZVt3W3RdXTtyZXR1cm4gZX1pZighKHRoaXMgaW5zdGFuY2VvZiByKSlyZXR1cm4gbmV3IHIoZSk7dmFyIE09dGhpcztlPXRoaXMuX29wdHM9Zi5jb3B5KGUpfHx7fSx0aGlzLl9zY2hlbWFzPXt9LHRoaXMuX3JlZnM9e30sdGhpcy5fZm9ybWF0cz1oKGUuZm9ybWF0KSx0aGlzLl9jYWNoZT1lLmNhY2hlfHxuZXcgYSx0aGlzLl9sb2FkaW5nU2NoZW1hcz17fSx0aGlzLlJVTEVTPWQoKSx0aGlzLnZhbGlkYXRlPXQsdGhpcy5jb21waWxlPXksdGhpcy5hZGRTY2hlbWE9QSx0aGlzLmFkZE1ldGFTY2hlbWE9Qyx0aGlzLnZhbGlkYXRlU2NoZW1hPUUsdGhpcy5nZXRTY2hlbWE9Rix0aGlzLnJlbW92ZVNjaGVtYT1TLHRoaXMuYWRkRm9ybWF0PV8sdGhpcy5lcnJvcnNUZXh0PUIsdGhpcy5fYWRkU2NoZW1hPUQsdGhpcy5fY29tcGlsZT1rLGUubG9vcFJlcXVpcmVkPWUubG9vcFJlcXVpcmVkfHwxLzAsKGUuYXN5bmN8fGUudHJhbnNwaWxlKSYmcC5zZXR1cChlKSxlLmJlYXV0aWZ5PT09ITAmJihlLmJlYXV0aWZ5PXtpbmRlbnRfc2l6ZToyfSksInByb3BlcnR5Ij09ZS5lcnJvckRhdGFQYXRoJiYoZS5fZXJyb3JEYXRhUGF0aFByb3BlcnR5PSEwKSx0aGlzLl9tZXRhT3B0cz1QKCksTCgpLGUuZm9ybWF0cyYmUigpLGUudjUmJnUuZW5hYmxlKHRoaXMpLCJvYmplY3QiPT10eXBlb2YgZS5tZXRhJiZDKGUubWV0YSl9dmFyIG89aSgyKSxzPWkoMyksYT1pKDIxKSxsPWkoMTYpLGM9aSgxMiksaD1pKDIyKSxkPWkoMjMpLHU9aSg0MyksZj1pKDExKSxwPWkoMTcpLG09aSgxOSk7ZS5leHBvcnRzPXIsci5wcm90b3R5cGUuY29tcGlsZUFzeW5jPXAuY29tcGlsZSxyLnByb3RvdHlwZS5hZGRLZXl3b3JkPWkoNDkpLHIuVmFsaWRhdGlvbkVycm9yPWkoMjApO3ZhciBnPSJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA0L3NjaGVtYSIsdj0vXig/Oig/OlthLXpdW2EtejAtOSstLl0qOik/XC9cLyk/W15cc10qJC9pLHc9WyJyZW1vdmVBZGRpdGlvbmFsIiwidXNlRGVmYXVsdHMiLCJjb2VyY2VUeXBlcyJdfSxmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gY29tcGlsZShzY2hlbWEscm9vdCxsb2NhbFJlZnMsYmFzZUlkKXtmdW5jdGlvbiBsb2NhbENvbXBpbGUoX3NjaGVtYSxfcm9vdCxsb2NhbFJlZnMsYmFzZUlkKXt2YXIgaXNSb290PSFfcm9vdHx8X3Jvb3QmJl9yb290LnNjaGVtYT09X3NjaGVtYTtpZihfcm9vdC5zY2hlbWEhPXJvb3Quc2NoZW1hKXJldHVybiBjb21waWxlLmNhbGwoc2VsZixfc2NoZW1hLF9yb290LGxvY2FsUmVmcyxiYXNlSWQpO3ZhciAkYXN5bmM9X3NjaGVtYS4kYXN5bmM9PT0hMDskYXN5bmMmJiFvcHRzLnRyYW5zcGlsZSYmYXN5bmMuc2V0dXAob3B0cyk7dmFyIHNvdXJjZUNvZGU9dmFsaWRhdGVHZW5lcmF0b3Ioe2lzVG9wOiEwLHNjaGVtYTpfc2NoZW1hLGlzUm9vdDppc1Jvb3QsYmFzZUlkOmJhc2VJZCxyb290Ol9yb290LHNjaGVtYVBhdGg6IiIsZXJyU2NoZW1hUGF0aDoiIyIsZXJyb3JQYXRoOiciIicsUlVMRVM6UlVMRVMsdmFsaWRhdGU6dmFsaWRhdGVHZW5lcmF0b3IsdXRpbDp1dGlsLHJlc29sdmU6cmVzb2x2ZSxyZXNvbHZlUmVmOnJlc29sdmVSZWYsdXNlUGF0dGVybjp1c2VQYXR0ZXJuLHVzZURlZmF1bHQ6dXNlRGVmYXVsdCx1c2VDdXN0b21SdWxlOnVzZUN1c3RvbVJ1bGUsb3B0czpvcHRzLGZvcm1hdHM6Zm9ybWF0cyxzZWxmOnNlbGZ9KTtzb3VyY2VDb2RlPXZhcnMocmVmVmFsLHJlZlZhbENvZGUpK3ZhcnMocGF0dGVybnMscGF0dGVybkNvZGUpK3ZhcnMoZGVmYXVsdHMsZGVmYXVsdENvZGUpK3ZhcnMoY3VzdG9tUnVsZXMsY3VzdG9tUnVsZUNvZGUpK3NvdXJjZUNvZGUsb3B0cy5iZWF1dGlmeSYmKGJlYXV0aWZ5P3NvdXJjZUNvZGU9YmVhdXRpZnkoc291cmNlQ29kZSxvcHRzLmJlYXV0aWZ5KTpjb25zb2xlLmVycm9yKCcibnBtIGluc3RhbGwganMtYmVhdXRpZnkiIHRvIHVzZSBiZWF1dGlmeSBvcHRpb24nKSk7dmFyIHZhbGlkYXRlLHZhbGlkYXRlQ29kZSx0cmFuc3BpbGU9b3B0cy5fdHJhbnNwaWxlRnVuYzt0cnl7dmFsaWRhdGVDb2RlPSRhc3luYyYmdHJhbnNwaWxlP3RyYW5zcGlsZShzb3VyY2VDb2RlKTpzb3VyY2VDb2RlLGV2YWwodmFsaWRhdGVDb2RlKSxyZWZWYWxbMF09dmFsaWRhdGV9Y2F0Y2goZSl7dGhyb3cgY29uc29sZS5lcnJvcigiRXJyb3IgY29tcGlsaW5nIHNjaGVtYSwgZnVuY3Rpb24gY29kZToiLHZhbGlkYXRlQ29kZSksZX1yZXR1cm4gdmFsaWRhdGUuc2NoZW1hPV9zY2hlbWEsdmFsaWRhdGUuZXJyb3JzPW51bGwsdmFsaWRhdGUucmVmcz1yZWZzLHZhbGlkYXRlLnJlZlZhbD1yZWZWYWwsdmFsaWRhdGUucm9vdD1pc1Jvb3Q/dmFsaWRhdGU6X3Jvb3QsJGFzeW5jJiYodmFsaWRhdGUuYXN5bmM9ITApLHZhbGlkYXRlLnNvdXJjZUNvZGU9c291cmNlQ29kZSx2YWxpZGF0ZX1mdW5jdGlvbiByZXNvbHZlUmVmKGUsdCxpKXt0PXJlc29sdmUudXJsKGUsdCk7dmFyIG4scixvPXJlZnNbdF07aWYodm9pZCAwIT09bylyZXR1cm4gbj1yZWZWYWxbb10scj0icmVmVmFsWyIrbysiXSIscmVzb2x2ZWRSZWYobixyKTtpZighaSl7dmFyIHM9cm9vdC5yZWZzW3RdO2lmKHZvaWQgMCE9PXMpcmV0dXJuIG49cm9vdC5yZWZWYWxbc10scj1hZGRMb2NhbFJlZih0LG4pLHJlc29sdmVkUmVmKG4scil9cj1hZGRMb2NhbFJlZih0KTt2YXIgYT1yZXNvbHZlLmNhbGwoc2VsZixsb2NhbENvbXBpbGUscm9vdCx0KTtpZighYSl7dmFyIGw9bG9jYWxSZWZzJiZsb2NhbFJlZnNbdF07bCYmKGE9cmVzb2x2ZS5pbmxpbmVSZWYobCxvcHRzLmlubGluZVJlZnMpP2w6Y29tcGlsZS5jYWxsKHNlbGYsbCxyb290LGxvY2FsUmVmcyxlKSl9cmV0dXJuIGE/KHJlcGxhY2VMb2NhbFJlZih0LGEpLHJlc29sdmVkUmVmKGEscikpOnZvaWQgMH1mdW5jdGlvbiBhZGRMb2NhbFJlZihlLHQpe3ZhciBpPXJlZlZhbC5sZW5ndGg7cmV0dXJuIHJlZlZhbFtpXT10LHJlZnNbZV09aSwicmVmVmFsIitpfWZ1bmN0aW9uIHJlcGxhY2VMb2NhbFJlZihlLHQpe3ZhciBpPXJlZnNbZV07cmVmVmFsW2ldPXR9ZnVuY3Rpb24gcmVzb2x2ZWRSZWYoZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGU/e2NvZGU6dCxzY2hlbWE6ZSxpbmxpbmU6ITB9Ontjb2RlOnQsYXN5bmM6ZSYmZS5hc3luY319ZnVuY3Rpb24gdXNlUGF0dGVybihlKXt2YXIgdD1wYXR0ZXJuc0hhc2hbZV07cmV0dXJuIHZvaWQgMD09PXQmJih0PXBhdHRlcm5zSGFzaFtlXT1wYXR0ZXJucy5sZW5ndGgscGF0dGVybnNbdF09ZSksInBhdHRlcm4iK3R9ZnVuY3Rpb24gdXNlRGVmYXVsdChlKXtzd2l0Y2godHlwZW9mIGUpe2Nhc2UiYm9vbGVhbiI6Y2FzZSJudW1iZXIiOnJldHVybiIiK2U7Y2FzZSJzdHJpbmciOnJldHVybiB1dGlsLnRvUXVvdGVkU3RyaW5nKGUpO2Nhc2Uib2JqZWN0IjppZihudWxsPT09ZSlyZXR1cm4ibnVsbCI7dmFyIHQ9c3RhYmxlU3RyaW5naWZ5KGUpLGk9ZGVmYXVsdHNIYXNoW3RdO3JldHVybiB2b2lkIDA9PT1pJiYoaT1kZWZhdWx0c0hhc2hbdF09ZGVmYXVsdHMubGVuZ3RoLGRlZmF1bHRzW2ldPWUpLCJkZWZhdWx0IitpfX1mdW5jdGlvbiB1c2VDdXN0b21SdWxlKGUsdCxpLG4pe3ZhciByLG89ZS5kZWZpbml0aW9uLmNvbXBpbGUscz1lLmRlZmluaXRpb24uaW5saW5lLGE9ZS5kZWZpbml0aW9uLm1hY3JvO28/cj1vLmNhbGwoc2VsZix0LGkpOmE/KHI9YS5jYWxsKHNlbGYsdCxpKSxvcHRzLnZhbGlkYXRlU2NoZW1hIT09ITEmJnNlbGYudmFsaWRhdGVTY2hlbWEociwhMCkpOnI9cz9zLmNhbGwoc2VsZixuLGUua2V5d29yZCx0LGkpOmUuZGVmaW5pdGlvbi52YWxpZGF0ZTt2YXIgbD1jdXN0b21SdWxlcy5sZW5ndGg7cmV0dXJuIGN1c3RvbVJ1bGVzW2xdPXIse2NvZGU6ImN1c3RvbVJ1bGUiK2wsdmFsaWRhdGU6cn19dmFyIHNlbGY9dGhpcyxvcHRzPXRoaXMuX29wdHMscmVmVmFsPVt2b2lkIDBdLHJlZnM9e30scGF0dGVybnM9W10scGF0dGVybnNIYXNoPXt9LGRlZmF1bHRzPVtdLGRlZmF1bHRzSGFzaD17fSxjdXN0b21SdWxlcz1bXTtyb290PXJvb3R8fHtzY2hlbWE6c2NoZW1hLHJlZlZhbDpyZWZWYWwscmVmczpyZWZzfTt2YXIgZm9ybWF0cz10aGlzLl9mb3JtYXRzLFJVTEVTPXRoaXMuUlVMRVM7cmV0dXJuIGxvY2FsQ29tcGlsZShzY2hlbWEscm9vdCxsb2NhbFJlZnMsYmFzZUlkKX1mdW5jdGlvbiBwYXR0ZXJuQ29kZShlLHQpe3JldHVybiJ2YXIgcGF0dGVybiIrZSsiID0gbmV3IFJlZ0V4cCgiK3V0aWwudG9RdW90ZWRTdHJpbmcodFtlXSkrIik7In1mdW5jdGlvbiBkZWZhdWx0Q29kZShlKXtyZXR1cm4idmFyIGRlZmF1bHQiK2UrIiA9IGRlZmF1bHRzWyIrZSsiXTsifWZ1bmN0aW9uIHJlZlZhbENvZGUoZSx0KXtyZXR1cm4gdFtlXT8idmFyIHJlZlZhbCIrZSsiID0gcmVmVmFsWyIrZSsiXTsiOiIifWZ1bmN0aW9uIGN1c3RvbVJ1bGVDb2RlKGUpe3JldHVybiJ2YXIgY3VzdG9tUnVsZSIrZSsiID0gY3VzdG9tUnVsZXNbIitlKyJdOyJ9ZnVuY3Rpb24gdmFycyhlLHQpe2lmKCFlLmxlbmd0aClyZXR1cm4iIjtmb3IodmFyIGk9IiIsbj0wO248ZS5sZW5ndGg7bisrKWkrPXQobixlKTtyZXR1cm4gaX12YXIgcmVzb2x2ZT1fX3dlYnBhY2tfcmVxdWlyZV9fKDMpLHV0aWw9X193ZWJwYWNrX3JlcXVpcmVfXygxMSksc3RhYmxlU3RyaW5naWZ5PV9fd2VicGFja19yZXF1aXJlX18oMTIpLGFzeW5jPV9fd2VicGFja19yZXF1aXJlX18oMTcpLGJlYXV0aWZ5PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKCFmdW5jdGlvbigpe3ZhciBlPW5ldyBFcnJvcignQ2Fubm90IGZpbmQgbW9kdWxlICJqcy1iZWF1dGlmeSInKTt0aHJvdyBlLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGV9KCkpLmpzX2JlYXV0aWZ5fWNhdGNoKGUpe319KCksdmFsaWRhdGVHZW5lcmF0b3I9X193ZWJwYWNrX3JlcXVpcmVfXygxOCk7bW9kdWxlLmV4cG9ydHM9Y29tcGlsZTt2YXIgY289X193ZWJwYWNrX3JlcXVpcmVfXygxOSksdWNzMmxlbmd0aD11dGlsLnVjczJsZW5ndGgsZXF1YWw9X193ZWJwYWNrX3JlcXVpcmVfXygxMCksVmFsaWRhdGlvbkVycm9yPV9fd2VicGFja19yZXF1aXJlX18oMjApfSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0LGkpe3ZhciBvPXRoaXMuX3JlZnNbaV07aWYoInN0cmluZyI9PXR5cGVvZiBvKXtpZighdGhpcy5fcmVmc1tvXSlyZXR1cm4gbi5jYWxsKHRoaXMsZSx0LG8pO289dGhpcy5fcmVmc1tvXX1pZihvPW98fHRoaXMuX3NjaGVtYXNbaV0sbyBpbnN0YW5jZW9mIHcpcmV0dXJuIGEoby5zY2hlbWEsdGhpcy5fb3B0cy5pbmxpbmVSZWZzKT9vLnNjaGVtYTpvLnZhbGlkYXRlfHx0aGlzLl9jb21waWxlKG8pO3ZhciBzLGwsYyxoPXIuY2FsbCh0aGlzLHQsaSk7cmV0dXJuIGgmJihzPWguc2NoZW1hLHQ9aC5yb290LGM9aC5iYXNlSWQpLHMgaW5zdGFuY2VvZiB3P2w9cy52YWxpZGF0ZXx8ZS5jYWxsKHRoaXMscy5zY2hlbWEsdCx2b2lkIDAsYyk6cyYmKGw9YShzLHRoaXMuX29wdHMuaW5saW5lUmVmcyk/czplLmNhbGwodGhpcyxzLHQsdm9pZCAwLGMpKSxsfWZ1bmN0aW9uIHIoZSx0KXt2YXIgaT1tLnBhcnNlKHQsITEsITApLG49ZChpKSxyPWgoZS5zY2hlbWEuaWQpO2lmKG4hPT1yKXt2YXIgYT11KG4pLGw9dGhpcy5fcmVmc1thXTtpZigic3RyaW5nIj09dHlwZW9mIGwpcmV0dXJuIG8uY2FsbCh0aGlzLGUsbCxpKTtpZihsIGluc3RhbmNlb2YgdylsLnZhbGlkYXRlfHx0aGlzLl9jb21waWxlKGwpLGU9bDtlbHNlIGlmKGw9dGhpcy5fc2NoZW1hc1thXSxsIGluc3RhbmNlb2Ygdyl7aWYobC52YWxpZGF0ZXx8dGhpcy5fY29tcGlsZShsKSxhPT11KHQpKXJldHVybntzY2hlbWE6bCxyb290OmUsYmFzZUlkOnJ9O2U9bH1pZighZS5zY2hlbWEpcmV0dXJuO3I9aChlLnNjaGVtYS5pZCl9cmV0dXJuIHMuY2FsbCh0aGlzLGkscixlLnNjaGVtYSxlKX1mdW5jdGlvbiBvKGUsdCxpKXt2YXIgbj1yLmNhbGwodGhpcyxlLHQpO2lmKG4pe3ZhciBvPW4uc2NoZW1hLGE9bi5iYXNlSWQ7cmV0dXJuIGU9bi5yb290LG8uaWQmJihhPWYoYSxvLmlkKSkscy5jYWxsKHRoaXMsaSxhLG8sZSl9fWZ1bmN0aW9uIHMoZSx0LGksbil7aWYoZS5oYXNoPWUuaGFzaHx8IiIsIiMvIj09ZS5oYXNoLnNsaWNlKDAsMikpe2Zvcih2YXIgbz1lLmhhc2guc3BsaXQoIi8iKSxzPTE7czxvLmxlbmd0aDtzKyspe3ZhciBhPW9bc107aWYoYSl7aWYoYT12LnVuZXNjYXBlRnJhZ21lbnQoYSksaT1pW2FdLCFpKWJyZWFrO2lmKGkuaWQmJiF5W2FdJiYodD1mKHQsaS5pZCkpLGkuJHJlZil7dmFyIGw9Zih0LGkuJHJlZiksYz1yLmNhbGwodGhpcyxuLGwpO2MmJihpPWMuc2NoZW1hLG49Yy5yb290LHQ9Yy5iYXNlSWQpfX19cmV0dXJuIGkmJmkhPW4uc2NoZW1hP3tzY2hlbWE6aSxyb290Om4sYmFzZUlkOnR9OnZvaWQgMH19ZnVuY3Rpb24gYShlLHQpe3JldHVybiB0PT09ITE/ITE6dm9pZCAwPT09dHx8dD09PSEwP2woZSk6dD9jKGUpPD10OnZvaWQgMH1mdW5jdGlvbiBsKGUpe3ZhciB0O2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7aSsrKWlmKHQ9ZVtpXSwib2JqZWN0Ij09dHlwZW9mIHQmJiFsKHQpKXJldHVybiExfWVsc2UgZm9yKHZhciBuIGluIGUpe2lmKCIkcmVmIj09bilyZXR1cm4hMTtpZih0PWVbbl0sIm9iamVjdCI9PXR5cGVvZiB0JiYhbCh0KSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBjKGUpe3ZhciB0LGk9MDtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKylpZih0PWVbbl0sIm9iamVjdCI9PXR5cGVvZiB0JiYoaSs9Yyh0KSksaT09MS8wKXJldHVybiAxLzB9ZWxzZSBmb3IodmFyIHIgaW4gZSl7aWYoIiRyZWYiPT1yKXJldHVybiAxLzA7aWYoQVtyXSlpKys7ZWxzZSBpZih0PWVbcl0sIm9iamVjdCI9PXR5cGVvZiB0JiYoaSs9Yyh0KSsxKSxpPT0xLzApcmV0dXJuIDEvMH1yZXR1cm4gaX1mdW5jdGlvbiBoKGUsdCl7dCE9PSExJiYoZT11KGUpKTt2YXIgaT1tLnBhcnNlKGUsITEsITApO3JldHVybiBkKGkpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuKGUucHJvdG9jb2x8fCIiKSsoZS5wcm90b2NvbD8iLy8iOiIiKSsoZS5ob3N0fHwiIikrKGUucGF0aHx8IiIpKyIjIn1mdW5jdGlvbiB1KGUpe3JldHVybiBlP2UucmVwbGFjZShDLCIiKToiIn1mdW5jdGlvbiBmKGUsdCl7cmV0dXJuIHQ9dSh0KSxtLnJlc29sdmUoZSx0KX1mdW5jdGlvbiBwKGUpe2Z1bmN0aW9uIHQoZSxpLHIpe2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKHZhciBvPTA7bzxlLmxlbmd0aDtvKyspdC5jYWxsKHRoaXMsZVtvXSxpKyIvIitvLHIpO2Vsc2UgaWYoZSYmIm9iamVjdCI9PXR5cGVvZiBlKXtpZigic3RyaW5nIj09dHlwZW9mIGUuaWQpe3ZhciBzPXI9cj9tLnJlc29sdmUocixlLmlkKTplLmlkO3M9dShzKTt2YXIgYT10aGlzLl9yZWZzW3NdO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmKGE9dGhpcy5fcmVmc1thXSksYSYmYS5zY2hlbWEpe2lmKCFnKGUsYS5zY2hlbWEpKXRocm93IG5ldyBFcnJvcignaWQgIicrcysnIiByZXNvbHZlcyB0byBtb3JlIHRoYW4gb25lIHNjaGVtYScpfWVsc2UgaWYocyE9dShpKSlpZigiIyI9PXNbMF0pe2lmKG5bc10mJiFnKGUsbltzXSkpdGhyb3cgbmV3IEVycm9yKCdpZCAiJytzKyciIHJlc29sdmVzIHRvIG1vcmUgdGhhbiBvbmUgc2NoZW1hJyk7bltzXT1lfWVsc2UgdGhpcy5fcmVmc1tzXT1pfWZvcih2YXIgbCBpbiBlKXQuY2FsbCh0aGlzLGVbbF0saSsiLyIrdi5lc2NhcGVGcmFnbWVudChsKSxyKX19dmFyIGk9dShlLmlkKSxuPXt9O3JldHVybiB0LmNhbGwodGhpcyxlLGgoaSwhMSksaSksbn12YXIgbT1pKDQpLGc9aSgxMCksdj1pKDExKSx3PWkoMTYpO2UuZXhwb3J0cz1uLG4ubm9ybWFsaXplSWQ9dSxuLmZ1bGxQYXRoPWgsbi51cmw9ZixuLmlkcz1wLG4uaW5saW5lUmVmPWE7dmFyIHk9di50b0hhc2goWyJwcm9wZXJ0aWVzIiwicGF0dGVyblByb3BlcnRpZXMiLCJlbnVtIiwiZGVwZW5kZW5jaWVzIiwiZGVmaW5pdGlvbnMiXSksQT12LnRvSGFzaChbInR5cGUiLCJmb3JtYXQiLCJwYXR0ZXJuIiwibWF4TGVuZ3RoIiwibWluTGVuZ3RoIiwibWF4UHJvcGVydGllcyIsIm1pblByb3BlcnRpZXMiLCJtYXhJdGVtcyIsIm1pbkl0ZW1zIiwibWF4aW11bSIsIm1pbmltdW0iLCJ1bmlxdWVJdGVtcyIsIm11bHRpcGxlT2YiLCJyZXF1aXJlZCIsImVudW0iXSksQz0vI1wvPyQvfSxmdW5jdGlvbihlLHQsaSl7ZnVuY3Rpb24gbigpe3RoaXMucHJvdG9jb2w9bnVsbCx0aGlzLnNsYXNoZXM9bnVsbCx0aGlzLmF1dGg9bnVsbCx0aGlzLmhvc3Q9bnVsbCx0aGlzLnBvcnQ9bnVsbCx0aGlzLmhvc3RuYW1lPW51bGwsdGhpcy5oYXNoPW51bGwsdGhpcy5zZWFyY2g9bnVsbCx0aGlzLnF1ZXJ5PW51bGwsdGhpcy5wYXRobmFtZT1udWxsLHRoaXMucGF0aD1udWxsLHRoaXMuaHJlZj1udWxsfWZ1bmN0aW9uIHIoZSx0LGkpe2lmKGUmJmMoZSkmJmUgaW5zdGFuY2VvZiBuKXJldHVybiBlO3ZhciByPW5ldyBuO3JldHVybiByLnBhcnNlKGUsdCxpKSxyfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGwoZSkmJihlPXIoZSkpLGUgaW5zdGFuY2VvZiBuP2UuZm9ybWF0KCk6bi5wcm90b3R5cGUuZm9ybWF0LmNhbGwoZSl9ZnVuY3Rpb24gcyhlLHQpe3JldHVybiByKGUsITEsITApLnJlc29sdmUodCl9ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlP3IoZSwhMSwhMCkucmVzb2x2ZU9iamVjdCh0KTp0fWZ1bmN0aW9uIGwoZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZX1mdW5jdGlvbiBoKGUpe3JldHVybiBudWxsPT09ZX1mdW5jdGlvbiBkKGUpe3JldHVybiBudWxsPT1lfXZhciB1PWkoNSk7dC5wYXJzZT1yLHQucmVzb2x2ZT1zLHQucmVzb2x2ZU9iamVjdD1hLHQuZm9ybWF0PW8sdC5Vcmw9bjt2YXIgZj0vXihbYS16MC05ListXSs6KS9pLHA9LzpbMC05XSokLyxtPVsiPCIsIj4iLCciJywiYCIsIiAiLCJcciIsIlxuIiwiCSJdLGc9WyJ7IiwifSIsInwiLCJcXCIsIl4iLCJgIl0uY29uY2F0KG0pLHY9WyInIl0uY29uY2F0KGcpLHc9WyIlIiwiLyIsIj8iLCI7IiwiIyJdLmNvbmNhdCh2KSx5PVsiLyIsIj8iLCIjIl0sQT0yNTUsQz0vXlthLXowLTlBLVpfLV17MCw2M30kLyxFPS9eKFthLXowLTlBLVpfLV17MCw2M30pKC4qKSQvLGI9e2phdmFzY3JpcHQ6ITAsImphdmFzY3JpcHQ6IjohMH0sRj17amF2YXNjcmlwdDohMCwiamF2YXNjcmlwdDoiOiEwfSx4PXtodHRwOiEwLGh0dHBzOiEwLGZ0cDohMCxnb3BoZXI6ITAsZmlsZTohMCwiaHR0cDoiOiEwLCJodHRwczoiOiEwLCJmdHA6IjohMCwiZ29waGVyOiI6ITAsImZpbGU6IjohMH0sUz1pKDcpO24ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKGUsdCxpKXtpZighbChlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJQYXJhbWV0ZXIgJ3VybCcgbXVzdCBiZSBhIHN0cmluZywgbm90ICIrdHlwZW9mIGUpO3ZhciBuPWU7bj1uLnRyaW0oKTt2YXIgcj1mLmV4ZWMobik7aWYocil7cj1yWzBdO3ZhciBvPXIudG9Mb3dlckNhc2UoKTt0aGlzLnByb3RvY29sPW8sbj1uLnN1YnN0cihyLmxlbmd0aCl9aWYoaXx8cnx8bi5tYXRjaCgvXlwvXC9bXkBcL10rQFteQFwvXSsvKSl7dmFyIHM9Ii8vIj09PW4uc3Vic3RyKDAsMik7IXN8fHImJkZbcl18fChuPW4uc3Vic3RyKDIpLHRoaXMuc2xhc2hlcz0hMCl9aWYoIUZbcl0mJihzfHxyJiYheFtyXSkpe2Zvcih2YXIgYT0tMSxjPTA7Yzx5Lmxlbmd0aDtjKyspe3ZhciBoPW4uaW5kZXhPZih5W2NdKTstMSE9PWgmJigtMT09PWF8fGE+aCkmJihhPWgpfXZhciBkLHA7cD0tMT09PWE/bi5sYXN0SW5kZXhPZigiQCIpOm4ubGFzdEluZGV4T2YoIkAiLGEpLC0xIT09cCYmKGQ9bi5zbGljZSgwLHApLG49bi5zbGljZShwKzEpLHRoaXMuYXV0aD1kZWNvZGVVUklDb21wb25lbnQoZCkpLGE9LTE7Zm9yKHZhciBjPTA7Yzx3Lmxlbmd0aDtjKyspe3ZhciBoPW4uaW5kZXhPZih3W2NdKTstMSE9PWgmJigtMT09PWF8fGE+aCkmJihhPWgpfS0xPT09YSYmKGE9bi5sZW5ndGgpLHRoaXMuaG9zdD1uLnNsaWNlKDAsYSksbj1uLnNsaWNlKGEpLHRoaXMucGFyc2VIb3N0KCksdGhpcy5ob3N0bmFtZT10aGlzLmhvc3RuYW1lfHwiIjt2YXIgbT0iWyI9PT10aGlzLmhvc3RuYW1lWzBdJiYiXSI9PT10aGlzLmhvc3RuYW1lW3RoaXMuaG9zdG5hbWUubGVuZ3RoLTFdO2lmKCFtKWZvcih2YXIgZz10aGlzLmhvc3RuYW1lLnNwbGl0KC9cLi8pLGM9MCwkPWcubGVuZ3RoOyQ+YztjKyspe3ZhciBEPWdbY107aWYoRCYmIUQubWF0Y2goQykpe2Zvcih2YXIgaz0iIixCPTAsXz1ELmxlbmd0aDtfPkI7QisrKWsrPUQuY2hhckNvZGVBdChCKT4xMjc/IngiOkRbQl07aWYoIWsubWF0Y2goQykpe3ZhciBMPWcuc2xpY2UoMCxjKSxSPWcuc2xpY2UoYysxKSxUPUQubWF0Y2goRSk7VCYmKEwucHVzaChUWzFdKSxSLnVuc2hpZnQoVFsyXSkpLFIubGVuZ3RoJiYobj0iLyIrUi5qb2luKCIuIikrbiksdGhpcy5ob3N0bmFtZT1MLmpvaW4oIi4iKTticmVha319fWlmKHRoaXMuaG9zdG5hbWUubGVuZ3RoPkE/dGhpcy5ob3N0bmFtZT0iIjp0aGlzLmhvc3RuYW1lPXRoaXMuaG9zdG5hbWUudG9Mb3dlckNhc2UoKSwhbSl7Zm9yKHZhciBQPXRoaXMuaG9zdG5hbWUuc3BsaXQoIi4iKSxNPVtdLGM9MDtjPFAubGVuZ3RoOysrYyl7dmFyIE89UFtjXTtNLnB1c2goTy5tYXRjaCgvW15BLVphLXowLTlfLV0vKT8ieG4tLSIrdS5lbmNvZGUoTyk6Tyl9dGhpcy5ob3N0bmFtZT1NLmpvaW4oIi4iKX12YXIgTj10aGlzLnBvcnQ/IjoiK3RoaXMucG9ydDoiIixJPXRoaXMuaG9zdG5hbWV8fCIiO3RoaXMuaG9zdD1JK04sdGhpcy5ocmVmKz10aGlzLmhvc3QsbSYmKHRoaXMuaG9zdG5hbWU9dGhpcy5ob3N0bmFtZS5zdWJzdHIoMSx0aGlzLmhvc3RuYW1lLmxlbmd0aC0yKSwiLyIhPT1uWzBdJiYobj0iLyIrbikpfWlmKCFiW29dKWZvcih2YXIgYz0wLCQ9di5sZW5ndGg7JD5jO2MrKyl7dmFyIGo9dltjXSxXPWVuY29kZVVSSUNvbXBvbmVudChqKTtXPT09aiYmKFc9ZXNjYXBlKGopKSxuPW4uc3BsaXQoaikuam9pbihXKX12YXIgSD1uLmluZGV4T2YoIiMiKTstMSE9PUgmJih0aGlzLmhhc2g9bi5zdWJzdHIoSCksbj1uLnNsaWNlKDAsSCkpO3ZhciBWPW4uaW5kZXhPZigiPyIpO2lmKC0xIT09Vj8odGhpcy5zZWFyY2g9bi5zdWJzdHIoViksdGhpcy5xdWVyeT1uLnN1YnN0cihWKzEpLHQmJih0aGlzLnF1ZXJ5PVMucGFyc2UodGhpcy5xdWVyeSkpLG49bi5zbGljZSgwLFYpKTp0JiYodGhpcy5zZWFyY2g9IiIsdGhpcy5xdWVyeT17fSksbiYmKHRoaXMucGF0aG5hbWU9bikseFtvXSYmdGhpcy5ob3N0bmFtZSYmIXRoaXMucGF0aG5hbWUmJih0aGlzLnBhdGhuYW1lPSIvIiksdGhpcy5wYXRobmFtZXx8dGhpcy5zZWFyY2gpe3ZhciBOPXRoaXMucGF0aG5hbWV8fCIiLE89dGhpcy5zZWFyY2h8fCIiO3RoaXMucGF0aD1OK099cmV0dXJuIHRoaXMuaHJlZj10aGlzLmZvcm1hdCgpLHRoaXN9LG4ucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuYXV0aHx8IiI7ZSYmKGU9ZW5jb2RlVVJJQ29tcG9uZW50KGUpLGU9ZS5yZXBsYWNlKC8lM0EvaSwiOiIpLGUrPSJAIik7dmFyIHQ9dGhpcy5wcm90b2NvbHx8IiIsaT10aGlzLnBhdGhuYW1lfHwiIixuPXRoaXMuaGFzaHx8IiIscj0hMSxvPSIiO3RoaXMuaG9zdD9yPWUrdGhpcy5ob3N0OnRoaXMuaG9zdG5hbWUmJihyPWUrKC0xPT09dGhpcy5ob3N0bmFtZS5pbmRleE9mKCI6Iik/dGhpcy5ob3N0bmFtZToiWyIrdGhpcy5ob3N0bmFtZSsiXSIpLHRoaXMucG9ydCYmKHIrPSI6Iit0aGlzLnBvcnQpKSx0aGlzLnF1ZXJ5JiZjKHRoaXMucXVlcnkpJiZPYmplY3Qua2V5cyh0aGlzLnF1ZXJ5KS5sZW5ndGgmJihvPVMuc3RyaW5naWZ5KHRoaXMucXVlcnkpKTt2YXIgcz10aGlzLnNlYXJjaHx8byYmIj8iK298fCIiO3JldHVybiB0JiYiOiIhPT10LnN1YnN0cigtMSkmJih0Kz0iOiIpLHRoaXMuc2xhc2hlc3x8KCF0fHx4W3RdKSYmciE9PSExPyhyPSIvLyIrKHJ8fCIiKSxpJiYiLyIhPT1pLmNoYXJBdCgwKSYmKGk9Ii8iK2kpKTpyfHwocj0iIiksbiYmIiMiIT09bi5jaGFyQXQoMCkmJihuPSIjIituKSxzJiYiPyIhPT1zLmNoYXJBdCgwKSYmKHM9Ij8iK3MpLGk9aS5yZXBsYWNlKC9bPyNdL2csZnVuY3Rpb24oZSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChlKX0pLHM9cy5yZXBsYWNlKCIjIiwiJTIzIiksdCtyK2krcytufSxuLnByb3RvdHlwZS5yZXNvbHZlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlc29sdmVPYmplY3QocihlLCExLCEwKSkuZm9ybWF0KCl9LG4ucHJvdG90eXBlLnJlc29sdmVPYmplY3Q9ZnVuY3Rpb24oZSl7aWYobChlKSl7dmFyIHQ9bmV3IG47dC5wYXJzZShlLCExLCEwKSxlPXR9dmFyIGk9bmV3IG47aWYoT2JqZWN0LmtleXModGhpcykuZm9yRWFjaChmdW5jdGlvbihlKXtpW2VdPXRoaXNbZV19LHRoaXMpLGkuaGFzaD1lLmhhc2gsIiI9PT1lLmhyZWYpcmV0dXJuIGkuaHJlZj1pLmZvcm1hdCgpLGk7aWYoZS5zbGFzaGVzJiYhZS5wcm90b2NvbClyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaChmdW5jdGlvbih0KXsicHJvdG9jb2wiIT09dCYmKGlbdF09ZVt0XSl9KSx4W2kucHJvdG9jb2xdJiZpLmhvc3RuYW1lJiYhaS5wYXRobmFtZSYmKGkucGF0aD1pLnBhdGhuYW1lPSIvIiksaS5ocmVmPWkuZm9ybWF0KCksaTtpZihlLnByb3RvY29sJiZlLnByb3RvY29sIT09aS5wcm90b2NvbCl7aWYoIXhbZS5wcm90b2NvbF0pcmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2goZnVuY3Rpb24odCl7aVt0XT1lW3RdfSksaS5ocmVmPWkuZm9ybWF0KCksaTtpZihpLnByb3RvY29sPWUucHJvdG9jb2wsZS5ob3N0fHxGW2UucHJvdG9jb2xdKWkucGF0aG5hbWU9ZS5wYXRobmFtZTtlbHNle2Zvcih2YXIgcj0oZS5wYXRobmFtZXx8IiIpLnNwbGl0KCIvIik7ci5sZW5ndGgmJiEoZS5ob3N0PXIuc2hpZnQoKSk7KTtlLmhvc3R8fChlLmhvc3Q9IiIpLGUuaG9zdG5hbWV8fChlLmhvc3RuYW1lPSIiKSwiIiE9PXJbMF0mJnIudW5zaGlmdCgiIiksci5sZW5ndGg8MiYmci51bnNoaWZ0KCIiKSxpLnBhdGhuYW1lPXIuam9pbigiLyIpfWlmKGkuc2VhcmNoPWUuc2VhcmNoLGkucXVlcnk9ZS5xdWVyeSxpLmhvc3Q9ZS5ob3N0fHwiIixpLmF1dGg9ZS5hdXRoLGkuaG9zdG5hbWU9ZS5ob3N0bmFtZXx8ZS5ob3N0LGkucG9ydD1lLnBvcnQsaS5wYXRobmFtZXx8aS5zZWFyY2gpe3ZhciBvPWkucGF0aG5hbWV8fCIiLHM9aS5zZWFyY2h8fCIiO2kucGF0aD1vK3N9cmV0dXJuIGkuc2xhc2hlcz1pLnNsYXNoZXN8fGUuc2xhc2hlcyxpLmhyZWY9aS5mb3JtYXQoKSxpfXZhciBhPWkucGF0aG5hbWUmJiIvIj09PWkucGF0aG5hbWUuY2hhckF0KDApLGM9ZS5ob3N0fHxlLnBhdGhuYW1lJiYiLyI9PT1lLnBhdGhuYW1lLmNoYXJBdCgwKSx1PWN8fGF8fGkuaG9zdCYmZS5wYXRobmFtZSxmPXUscD1pLnBhdGhuYW1lJiZpLnBhdGhuYW1lLnNwbGl0KCIvIil8fFtdLHI9ZS5wYXRobmFtZSYmZS5wYXRobmFtZS5zcGxpdCgiLyIpfHxbXSxtPWkucHJvdG9jb2wmJiF4W2kucHJvdG9jb2xdO2lmKG0mJihpLmhvc3RuYW1lPSIiLGkucG9ydD1udWxsLGkuaG9zdCYmKCIiPT09cFswXT9wWzBdPWkuaG9zdDpwLnVuc2hpZnQoaS5ob3N0KSksaS5ob3N0PSIiLGUucHJvdG9jb2wmJihlLmhvc3RuYW1lPW51bGwsZS5wb3J0PW51bGwsZS5ob3N0JiYoIiI9PT1yWzBdP3JbMF09ZS5ob3N0OnIudW5zaGlmdChlLmhvc3QpKSxlLmhvc3Q9bnVsbCksdT11JiYoIiI9PT1yWzBdfHwiIj09PXBbMF0pKSxjKWkuaG9zdD1lLmhvc3R8fCIiPT09ZS5ob3N0P2UuaG9zdDppLmhvc3QsaS5ob3N0bmFtZT1lLmhvc3RuYW1lfHwiIj09PWUuaG9zdG5hbWU/ZS5ob3N0bmFtZTppLmhvc3RuYW1lLGkuc2VhcmNoPWUuc2VhcmNoLGkucXVlcnk9ZS5xdWVyeSxwPXI7ZWxzZSBpZihyLmxlbmd0aClwfHwocD1bXSkscC5wb3AoKSxwPXAuY29uY2F0KHIpLGkuc2VhcmNoPWUuc2VhcmNoLGkucXVlcnk9ZS5xdWVyeTtlbHNlIGlmKCFkKGUuc2VhcmNoKSl7aWYobSl7aS5ob3N0bmFtZT1pLmhvc3Q9cC5zaGlmdCgpO3ZhciBnPWkuaG9zdCYmaS5ob3N0LmluZGV4T2YoIkAiKT4wP2kuaG9zdC5zcGxpdCgiQCIpOiExO2cmJihpLmF1dGg9Zy5zaGlmdCgpLGkuaG9zdD1pLmhvc3RuYW1lPWcuc2hpZnQoKSl9cmV0dXJuIGkuc2VhcmNoPWUuc2VhcmNoLGkucXVlcnk9ZS5xdWVyeSxoKGkucGF0aG5hbWUpJiZoKGkuc2VhcmNoKXx8KGkucGF0aD0oaS5wYXRobmFtZT9pLnBhdGhuYW1lOiIiKSsoaS5zZWFyY2g/aS5zZWFyY2g6IiIpKSxpLmhyZWY9aS5mb3JtYXQoKSxpfWlmKCFwLmxlbmd0aClyZXR1cm4gaS5wYXRobmFtZT1udWxsLGkuc2VhcmNoP2kucGF0aD0iLyIraS5zZWFyY2g6aS5wYXRoPW51bGwsaS5ocmVmPWkuZm9ybWF0KCksaTtmb3IodmFyIHY9cC5zbGljZSgtMSlbMF0sdz0oaS5ob3N0fHxlLmhvc3QpJiYoIi4iPT09dnx8Ii4uIj09PXYpfHwiIj09PXYseT0wLEE9cC5sZW5ndGg7QT49MDtBLS0pdj1wW0FdLCIuIj09dj9wLnNwbGljZShBLDEpOiIuLiI9PT12PyhwLnNwbGljZShBLDEpLHkrKyk6eSYmKHAuc3BsaWNlKEEsMSkseS0tKTtpZighdSYmIWYpZm9yKDt5LS07eSlwLnVuc2hpZnQoIi4uIik7IXV8fCIiPT09cFswXXx8cFswXSYmIi8iPT09cFswXS5jaGFyQXQoMCl8fHAudW5zaGlmdCgiIiksdyYmIi8iIT09cC5qb2luKCIvIikuc3Vic3RyKC0xKSYmcC5wdXNoKCIiKTt2YXIgQz0iIj09PXBbMF18fHBbMF0mJiIvIj09PXBbMF0uY2hhckF0KDApO2lmKG0pe2kuaG9zdG5hbWU9aS5ob3N0PUM/IiI6cC5sZW5ndGg/cC5zaGlmdCgpOiIiO3ZhciBnPWkuaG9zdCYmaS5ob3N0LmluZGV4T2YoIkAiKT4wP2kuaG9zdC5zcGxpdCgiQCIpOiExO2cmJihpLmF1dGg9Zy5zaGlmdCgpLGkuaG9zdD1pLmhvc3RuYW1lPWcuc2hpZnQoKSl9cmV0dXJuIHU9dXx8aS5ob3N0JiZwLmxlbmd0aCx1JiYhQyYmcC51bnNoaWZ0KCIiKSxwLmxlbmd0aD9pLnBhdGhuYW1lPXAuam9pbigiLyIpOihpLnBhdGhuYW1lPW51bGwsaS5wYXRoPW51bGwpLGgoaS5wYXRobmFtZSkmJmgoaS5zZWFyY2gpfHwoaS5wYXRoPShpLnBhdGhuYW1lP2kucGF0aG5hbWU6IiIpKyhpLnNlYXJjaD9pLnNlYXJjaDoiIikpLGkuYXV0aD1lLmF1dGh8fGkuYXV0aCxpLnNsYXNoZXM9aS5zbGFzaGVzfHxlLnNsYXNoZXMsaS5ocmVmPWkuZm9ybWF0KCksaX0sbi5wcm90b3R5cGUucGFyc2VIb3N0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5ob3N0LHQ9cC5leGVjKGUpO3QmJih0PXRbMF0sIjoiIT09dCYmKHRoaXMucG9ydD10LnN1YnN0cigxKSksZT1lLnN1YnN0cigwLGUubGVuZ3RoLXQubGVuZ3RoKSksZSYmKHRoaXMuaG9zdG5hbWU9ZSl9fSxmdW5jdGlvbihlLHQsaSl7dmFyIG47KGZ1bmN0aW9uKGUscil7IWZ1bmN0aW9uKG8pe2Z1bmN0aW9uIHMoZSl7dGhyb3cgUmFuZ2VFcnJvcihMW2VdKX1mdW5jdGlvbiBhKGUsdCl7Zm9yKHZhciBpPWUubGVuZ3RoLG49W107aS0tOyluW2ldPXQoZVtpXSk7cmV0dXJuIG59ZnVuY3Rpb24gbChlLHQpe3ZhciBpPWUuc3BsaXQoIkAiKSxuPSIiO2kubGVuZ3RoPjEmJihuPWlbMF0rIkAiLGU9aVsxXSksZT1lLnJlcGxhY2UoXywiLiIpO3ZhciByPWUuc3BsaXQoIi4iKSxvPWEocix0KS5qb2luKCIuIik7cmV0dXJuIG4rb31mdW5jdGlvbiBjKGUpe2Zvcih2YXIgdCxpLG49W10scj0wLG89ZS5sZW5ndGg7bz5yOyl0PWUuY2hhckNvZGVBdChyKyspLHQ+PTU1Mjk2JiY1NjMxOT49dCYmbz5yPyhpPWUuY2hhckNvZGVBdChyKyspLDU2MzIwPT0oNjQ1MTImaSk/bi5wdXNoKCgoMTAyMyZ0KTw8MTApKygxMDIzJmkpKzY1NTM2KToobi5wdXNoKHQpLHItLSkpOm4ucHVzaCh0KTtyZXR1cm4gbn1mdW5jdGlvbiBoKGUpe3JldHVybiBhKGUsZnVuY3Rpb24oZSl7dmFyIHQ9IiI7cmV0dXJuIGU+NjU1MzUmJihlLT02NTUzNix0Kz1QKGU+Pj4xMCYxMDIzfDU1Mjk2KSxlPTU2MzIwfDEwMjMmZSksdCs9UChlKX0pLmpvaW4oIiIpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIDEwPmUtNDg/ZS0yMjoyNj5lLTY1P2UtNjU6MjY+ZS05Nz9lLTk3OkN9ZnVuY3Rpb24gdShlLHQpe3JldHVybiBlKzIyKzc1KigyNj5lKS0oKDAhPXQpPDw1KX1mdW5jdGlvbiBmKGUsdCxpKXt2YXIgbj0wO2ZvcihlPWk/VChlL3gpOmU+PjEsZSs9VChlL3QpO2U+UipiPj4xO24rPUMpZT1UKGUvUik7cmV0dXJuIFQobisoUisxKSplLyhlK0YpKX1mdW5jdGlvbiBwKGUpe3ZhciB0LGksbixyLG8sYSxsLGMsdSxwLG09W10sZz1lLmxlbmd0aCx2PTAsdz0kLHk9Uztmb3IoaT1lLmxhc3RJbmRleE9mKEQpLDA+aSYmKGk9MCksbj0wO2k+bjsrK24pZS5jaGFyQ29kZUF0KG4pPj0xMjgmJnMoIm5vdC1iYXNpYyIpLG0ucHVzaChlLmNoYXJDb2RlQXQobikpO2ZvcihyPWk+MD9pKzE6MDtnPnI7KXtmb3Iobz12LGE9MSxsPUM7cj49ZyYmcygiaW52YWxpZC1pbnB1dCIpLGM9ZChlLmNoYXJDb2RlQXQocisrKSksKGM+PUN8fGM+VCgoQS12KS9hKSkmJnMoIm92ZXJmbG93Iiksdis9YyphLHU9eT49bD9FOmw+PXkrYj9iOmwteSwhKHU+Yyk7bCs9QylwPUMtdSxhPlQoQS9wKSYmcygib3ZlcmZsb3ciKSxhKj1wO3Q9bS5sZW5ndGgrMSx5PWYodi1vLHQsMD09byksVCh2L3QpPkEtdyYmcygib3ZlcmZsb3ciKSx3Kz1UKHYvdCksdiU9dCxtLnNwbGljZSh2KyssMCx3KX1yZXR1cm4gaChtKX1mdW5jdGlvbiBtKGUpe3ZhciB0LGksbixyLG8sYSxsLGgsZCxwLG0sZyx2LHcseSxGPVtdO2ZvcihlPWMoZSksZz1lLmxlbmd0aCx0PSQsaT0wLG89UyxhPTA7Zz5hOysrYSltPWVbYV0sMTI4Pm0mJkYucHVzaChQKG0pKTtmb3Iobj1yPUYubGVuZ3RoLHImJkYucHVzaChEKTtnPm47KXtmb3IobD1BLGE9MDtnPmE7KythKW09ZVthXSxtPj10JiZsPm0mJihsPW0pO2Zvcih2PW4rMSxsLXQ+VCgoQS1pKS92KSYmcygib3ZlcmZsb3ciKSxpKz0obC10KSp2LHQ9bCxhPTA7Zz5hOysrYSlpZihtPWVbYV0sdD5tJiYrK2k+QSYmcygib3ZlcmZsb3ciKSxtPT10KXtmb3IoaD1pLGQ9QztwPW8+PWQ/RTpkPj1vK2I/YjpkLW8sIShwPmgpO2QrPUMpeT1oLXAsdz1DLXAsRi5wdXNoKFAodShwK3kldywwKSkpLGg9VCh5L3cpO0YucHVzaChQKHUoaCwwKSkpLG89ZihpLHYsbj09ciksaT0wLCsrbn0rK2ksKyt0fXJldHVybiBGLmpvaW4oIiIpfWZ1bmN0aW9uIGcoZSl7cmV0dXJuIGwoZSxmdW5jdGlvbihlKXtyZXR1cm4gay50ZXN0KGUpP3AoZS5zbGljZSg0KS50b0xvd2VyQ2FzZSgpKTplfSl9ZnVuY3Rpb24gdihlKXtyZXR1cm4gbChlLGZ1bmN0aW9uKGUpe3JldHVybiBCLnRlc3QoZSk/InhuLS0iK20oZSk6ZX0pfXZhciB3PSgib2JqZWN0Ij09dHlwZW9mIHQmJnQmJiF0Lm5vZGVUeXBlJiZ0LCJvYmplY3QiPT10eXBlb2YgZSYmZSYmIWUubm9kZVR5cGUmJmUsIm9iamVjdCI9PXR5cGVvZiByJiZyKTt3Lmdsb2JhbCE9PXcmJncud2luZG93IT09dyYmdy5zZWxmIT09d3x8KG89dyk7dmFyIHksQT0yMTQ3NDgzNjQ3LEM9MzYsRT0xLGI9MjYsRj0zOCx4PTcwMCxTPTcyLCQ9MTI4LEQ9Ii0iLGs9L154bi0tLyxCPS9bXlx4MjAtXHg3RV0vLF89L1tceDJFXHUzMDAyXHVGRjBFXHVGRjYxXS9nLEw9e292ZXJmbG93OiJPdmVyZmxvdzogaW5wdXQgbmVlZHMgd2lkZXIgaW50ZWdlcnMgdG8gcHJvY2VzcyIsIm5vdC1iYXNpYyI6IklsbGVnYWwgaW5wdXQgPj0gMHg4MCAobm90IGEgYmFzaWMgY29kZSBwb2ludCkiLCJpbnZhbGlkLWlucHV0IjoiSW52YWxpZCBpbnB1dCJ9LFI9Qy1FLFQ9TWF0aC5mbG9vcixQPVN0cmluZy5mcm9tQ2hhckNvZGU7eT17dmVyc2lvbjoiMS4zLjIiLHVjczI6e2RlY29kZTpjLGVuY29kZTpofSxkZWNvZGU6cCxlbmNvZGU6bSx0b0FTQ0lJOnYsdG9Vbmljb2RlOmd9LG49ZnVuY3Rpb24oKXtyZXR1cm4geX0uY2FsbCh0LGksdCxlKSwhKHZvaWQgMCE9PW4mJihlLmV4cG9ydHM9bikpfSh0aGlzKX0pLmNhbGwodCxpKDYpKGUpLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCkpfSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gZS53ZWJwYWNrUG9seWZpbGx8fChlLmRlcHJlY2F0ZT1mdW5jdGlvbigpe30sZS5wYXRocz1bXSxlLmNoaWxkcmVuPVtdLGUud2VicGFja1BvbHlmaWxsPTEpLGV9fSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO3QuZGVjb2RlPXQucGFyc2U9aSg4KSx0LmVuY29kZT10LnN0cmluZ2lmeT1pKDkpfSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpfWUuZXhwb3J0cz1mdW5jdGlvbihlLHQsbixyKXt0PXR8fCImIixuPW58fCI9Ijt2YXIgbz17fTtpZigic3RyaW5nIiE9dHlwZW9mIGV8fDA9PT1lLmxlbmd0aClyZXR1cm4gbzt2YXIgcz0vXCsvZztlPWUuc3BsaXQodCk7dmFyIGE9MWUzO3ImJiJudW1iZXIiPT10eXBlb2Ygci5tYXhLZXlzJiYoYT1yLm1heEtleXMpO3ZhciBsPWUubGVuZ3RoO2E+MCYmbD5hJiYobD1hKTtmb3IodmFyIGM9MDtsPmM7KytjKXt2YXIgaCxkLHUsZixwPWVbY10ucmVwbGFjZShzLCIlMjAiKSxtPXAuaW5kZXhPZihuKTttPj0wPyhoPXAuc3Vic3RyKDAsbSksZD1wLnN1YnN0cihtKzEpKTooaD1wLGQ9IiIpLHU9ZGVjb2RlVVJJQ29tcG9uZW50KGgpLGY9ZGVjb2RlVVJJQ29tcG9uZW50KGQpLGkobyx1KT9BcnJheS5pc0FycmF5KG9bdV0pP29bdV0ucHVzaChmKTpvW3VdPVtvW3VdLGZdOm9bdV09Zn1yZXR1cm4gb319LGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO3ZhciBpPWZ1bmN0aW9uKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJzdHJpbmciOnJldHVybiBlO2Nhc2UiYm9vbGVhbiI6cmV0dXJuIGU/InRydWUiOiJmYWxzZSI7Y2FzZSJudW1iZXIiOnJldHVybiBpc0Zpbml0ZShlKT9lOiIiO2RlZmF1bHQ6cmV0dXJuIiJ9fTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHQ9dHx8IiYiLG49bnx8Ij0iLG51bGw9PT1lJiYoZT12b2lkIDApLCJvYmplY3QiPT10eXBlb2YgZT9PYmplY3Qua2V5cyhlKS5tYXAoZnVuY3Rpb24ocil7dmFyIG89ZW5jb2RlVVJJQ29tcG9uZW50KGkocikpK247cmV0dXJuIEFycmF5LmlzQXJyYXkoZVtyXSk/ZVtyXS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIG8rZW5jb2RlVVJJQ29tcG9uZW50KGkoZSkpfSkuam9pbih0KTpvK2VuY29kZVVSSUNvbXBvbmVudChpKGVbcl0pKX0pLmpvaW4odCk6cj9lbmNvZGVVUklDb21wb25lbnQoaShyKSkrbitlbmNvZGVVUklDb21wb25lbnQoaShlKSk6IiJ9fSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24gaShlLHQpe2lmKGU9PT10KXJldHVybiEwO3ZhciBuLHI9QXJyYXkuaXNBcnJheShlKSxvPUFycmF5LmlzQXJyYXkodCk7aWYociYmbyl7aWYoZS5sZW5ndGghPXQubGVuZ3RoKXJldHVybiExO2ZvcihuPTA7bjxlLmxlbmd0aDtuKyspaWYoIWkoZVtuXSx0W25dKSlyZXR1cm4hMTtyZXR1cm4hMH1pZihyIT1vKXJldHVybiExO2lmKGUmJnQmJiJvYmplY3QiPT10eXBlb2YgZSYmIm9iamVjdCI9PXR5cGVvZiB0KXt2YXIgcz1PYmplY3Qua2V5cyhlKTtpZihzLmxlbmd0aCE9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm4hMTtmb3Iobj0wO248cy5sZW5ndGg7bisrKWlmKHZvaWQgMD09PXRbc1tuXV0pcmV0dXJuITE7Zm9yKG49MDtuPHMubGVuZ3RoO24rKylpZighaShlW3Nbbl1dLHRbc1tuXV0pKXJldHVybiExO3JldHVybiEwfXJldHVybiExfX0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCl7dD10fHx7fTtmb3IodmFyIGkgaW4gZSl0W2ldPWVbaV07cmV0dXJuIHR9ZnVuY3Rpb24gcihlLHQsaSl7dmFyIG49aT8iICE9PSAiOiIgPT09ICIscj1pPyIgfHwgIjoiICYmICIsbz1pPyIhIjoiIixzPWk/IiI6IiEiO3N3aXRjaChlKXtjYXNlIm51bGwiOnJldHVybiB0K24rIm51bGwiO2Nhc2UiYXJyYXkiOnJldHVybiBvKyJBcnJheS5pc0FycmF5KCIrdCsiKSI7Y2FzZSJvYmplY3QiOnJldHVybiIoIitvK3QrcisidHlwZW9mICIrdCtuKycib2JqZWN0IicrcitzKyJBcnJheS5pc0FycmF5KCIrdCsiKSkiO2Nhc2UiaW50ZWdlciI6cmV0dXJuIih0eXBlb2YgIit0K24rJyJudW1iZXIiJytyK3MrIigiK3QrIiAlIDEpKSI7ZGVmYXVsdDpyZXR1cm4idHlwZW9mICIrdCtuKyciJytlKyciJ319ZnVuY3Rpb24gbyhlLHQpe3N3aXRjaChlLmxlbmd0aCl7Y2FzZSAxOnJldHVybiByKGVbMF0sdCwhMCk7ZGVmYXVsdDp2YXIgaT0iIixuPWEoZSk7bi5hcnJheSYmbi5vYmplY3QmJihpPW5bIm51bGwiXT8iKCI6IighIit0KyIgfHwgIixpKz0idHlwZW9mICIrdCsnICE9PSAib2JqZWN0IiknLGRlbGV0ZSBuWyJudWxsIl0sZGVsZXRlIG4uYXJyYXksZGVsZXRlIG4ub2JqZWN0KSxuLm51bWJlciYmZGVsZXRlIG4uaW50ZWdlcjtmb3IodmFyIG8gaW4gbilpKz0oaT8iICYmICI6IiIpK3Iobyx0LCEwKTtyZXR1cm4gaX19ZnVuY3Rpb24gcyhlKXtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIHQ9W10saT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgbj1lW2ldO3hbbl0mJih0W3QubGVuZ3RoXT1uKX1pZih0Lmxlbmd0aClyZXR1cm4gdH1lbHNlIGlmKHhbZV0pcmV0dXJuW2VdfWZ1bmN0aW9uIGEoZSl7Zm9yKHZhciB0PXt9LGk9MDtpPGUubGVuZ3RoO2krKyl0W2VbaV1dPSEwO3JldHVybiB0fWZ1bmN0aW9uIGwoZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlPyJbIitlKyJdIjpTLnRlc3QoZSk/Ii4iK2U6IlsnIitlLnJlcGxhY2UoJCwiXFwkJiIpKyInXSJ9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5yZXBsYWNlKCQsIlxcJCYiKX1mdW5jdGlvbiBoKGUpe2Zvcih2YXIgdCxpPTAsbj1lLmxlbmd0aCxyPTA7bj5yOylpKyssdD1lLmNoYXJDb2RlQXQocisrKSx0Pj01NTI5NiYmNTYzMTk+PXQmJm4+ciYmKHQ9ZS5jaGFyQ29kZUF0KHIpLDU2MzIwPT0oNjQ1MTImdCkmJnIrKyk7cmV0dXJuIGl9ZnVuY3Rpb24gZChlLHQpe3QrPSJbXjAtOV0iO3ZhciBpPWUubWF0Y2gobmV3IFJlZ0V4cCh0LCJnIikpO3JldHVybiBpP2kubGVuZ3RoOjB9ZnVuY3Rpb24gdShlLHQsaSl7cmV0dXJuIHQrPSIoW14wLTldKSIsaT1pLnJlcGxhY2UoL1wkL2csIiQkJCQiKSxlLnJlcGxhY2UobmV3IFJlZ0V4cCh0LCJnIiksaSsiJDEiKX1mdW5jdGlvbiBmKGUpe3JldHVybiBlLnJlcGxhY2UoRCwiIikucmVwbGFjZShrLCIiKS5yZXBsYWNlKEIsImlmICghKCQxKSkiKX1mdW5jdGlvbiBwKGUsdCl7dmFyIGk9ZS5tYXRjaChfKTtyZXR1cm4gaSYmMj09PWkubGVuZ3RoP3Q/ZS5yZXBsYWNlKFIsIiIpLnJlcGxhY2UoTSxPKTplLnJlcGxhY2UoTCwiIikucmVwbGFjZShULFApOmV9ZnVuY3Rpb24gbShlLHQpe2Zvcih2YXIgaSBpbiBlKWlmKHRbaV0pcmV0dXJuITB9ZnVuY3Rpb24gZyhlKXtyZXR1cm4iJyIrYyhlKSsiJyJ9ZnVuY3Rpb24gdihlLHQsaSxuKXt2YXIgcj1pPyInLycgKyAiK3QrKG4/IiI6Ii5yZXBsYWNlKC9+L2csICd+MCcpLnJlcGxhY2UoL1xcLy9nLCAnfjEnKSIpOm4/IidbJyArICIrdCsiICsgJ10nIjoiJ1tcXCcnICsgIit0KyIgKyAnXFwnXSciO3JldHVybiBBKGUscil9ZnVuY3Rpb24gdyhlLHQsaSl7dmFyIG49ZyhpPyIvIitiKHQpOmwodCkpO3JldHVybiBBKGUsbil9ZnVuY3Rpb24geShlLHQsaSl7dmFyIG49ZS5tYXRjaChOKTtpZighbil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcmVsYXRpdmUgSlNPTi1wb2ludGVyOiAiK2UpO3ZhciByPStuWzFdLG89blsyXTtpZigiIyI9PW8pe2lmKHI+PXQpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgYWNjZXNzIHByb3BlcnR5L2luZGV4ICIrcisiIGxldmVscyB1cCwgY3VycmVudCBsZXZlbCBpcyAiK3QpO3JldHVybiBpW3Qtcl19aWYocj50KXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGFjY2VzcyBkYXRhICIrcisiIGxldmVscyB1cCwgY3VycmVudCBsZXZlbCBpcyAiK3QpO3ZhciBzPSJkYXRhIisodC1yfHwiIik7aWYoIW8pcmV0dXJuIHM7Zm9yKHZhciBhPXMsYz1vLnNwbGl0KCIvIiksaD0wO2g8Yy5sZW5ndGg7aCsrKXt2YXIgZD1jW2hdO2QmJihzKz1sKEYoZCkpLGErPSIgJiYgIitzKX1yZXR1cm4gYX1mdW5jdGlvbiBBKGUsdCl7cmV0dXJuJyIiJz09ZT90OihlKyIgKyAiK3QpLnJlcGxhY2UoLycgXCsgJy9nLCIiKX1mdW5jdGlvbiBDKGUpe3JldHVybiBGKGRlY29kZVVSSUNvbXBvbmVudChlKSl9ZnVuY3Rpb24gRShlKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGIoZSkpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIGUucmVwbGFjZSgvfi9nLCJ+MCIpLnJlcGxhY2UoL1wvL2csIn4xIil9ZnVuY3Rpb24gRihlKXtyZXR1cm4gZS5yZXBsYWNlKC9+MS9nLCIvIikucmVwbGFjZSgvfjAvZywifiIpfWUuZXhwb3J0cz17Y29weTpuLGNoZWNrRGF0YVR5cGU6cixjaGVja0RhdGFUeXBlczpvLGNvZXJjZVRvVHlwZXM6cyx0b0hhc2g6YSxnZXRQcm9wZXJ0eTpsLGVzY2FwZVF1b3RlczpjLHVjczJsZW5ndGg6aCx2YXJPY2N1cmVuY2VzOmQsdmFyUmVwbGFjZTp1LGNsZWFuVXBDb2RlOmYsY2xlYW5VcFZhckVycm9yczpwLHNjaGVtYUhhc1J1bGVzOm0sc3RhYmxlU3RyaW5naWZ5OmkoMTIpLHRvUXVvdGVkU3RyaW5nOmcsZ2V0UGF0aEV4cHI6dixnZXRQYXRoOncsZ2V0RGF0YTp5LHVuZXNjYXBlRnJhZ21lbnQ6Qyxlc2NhcGVGcmFnbWVudDpFLGVzY2FwZUpzb25Qb2ludGVyOmJ9O3ZhciB4PWEoWyJzdHJpbmciLCJudW1iZXIiLCJpbnRlZ2VyIiwiYm9vbGVhbiIsIm51bGwiXSksUz0vXlthLXokX11bYS16JF8wLTldKiQvaSwkPS8nfFxcL2csRD0vZWxzZVxzKntccyp9L2csaz0vaWZccypcKFteKV0rXClccypce1xzKlx9KD8hXHMqZWxzZSkvZyxCPS9pZlxzKlwoKFteKV0rKVwpXHMqXHtccypcfVxzKmVsc2UoPyFccyppZikvZyxfPS9bXnZcLl1lcnJvcnMvZyxMPS92YXIgZXJyb3JzID0gMDt8dmFyIHZFcnJvcnMgPSBudWxsO3x2YWxpZGF0ZS5lcnJvcnMgPSB2RXJyb3JzOy9nLFI9L3ZhciBlcnJvcnMgPSAwO3x2YXIgdkVycm9ycyA9IG51bGw7L2csVD0icmV0dXJuIGVycm9ycyA9PT0gMDsiLFA9InZhbGlkYXRlLmVycm9ycyA9IG51bGw7IHJldHVybiB0cnVlOyIsTT0vaWYgXChlcnJvcnMgPT09IDBcKSByZXR1cm4gdHJ1ZTtccyplbHNlIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3JcKHZFcnJvcnNcKTsvLE89InJldHVybiB0cnVlOyIsTj0vXihbMC05XSspKCN8XC8oPzpbXn5dfH4wfH4xKSopPyQvfSxmdW5jdGlvbihlLHQsaSl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBKU09OP0pTT046aSgxMyk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dHx8KHQ9e30pLCJmdW5jdGlvbiI9PXR5cGVvZiB0JiYodD17Y21wOnR9KTt2YXIgaT10LnNwYWNlfHwiIjsibnVtYmVyIj09dHlwZW9mIGkmJihpPUFycmF5KGkrMSkuam9pbigiICIpKTt2YXIgcz0iYm9vbGVhbiI9PXR5cGVvZiB0LmN5Y2xlcz90LmN5Y2xlczohMSxhPXQucmVwbGFjZXJ8fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR9LGw9dC5jbXAmJmZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oaSxuKXt2YXIgcj17a2V5OmksdmFsdWU6dFtpXX0sbz17a2V5Om4sdmFsdWU6dFtuXX07cmV0dXJuIGUocixvKX19fSh0LmNtcCksYz1bXTtyZXR1cm4gZnVuY3Rpb24gaChlLHQsZCx1KXt2YXIgZj1pPyJcbiIrbmV3IEFycmF5KHUrMSkuam9pbihpKToiIixwPWk/IjogIjoiOiI7aWYoZCYmZC50b0pTT04mJiJmdW5jdGlvbiI9PXR5cGVvZiBkLnRvSlNPTiYmKGQ9ZC50b0pTT04oKSksZD1hLmNhbGwoZSx0LGQpLHZvaWQgMCE9PWQpe2lmKCJvYmplY3QiIT10eXBlb2YgZHx8bnVsbD09PWQpcmV0dXJuIG4uc3RyaW5naWZ5KGQpO2lmKHIoZCkpe2Zvcih2YXIgbT1bXSxnPTA7ZzxkLmxlbmd0aDtnKyspe3ZhciB2PWgoZCxnLGRbZ10sdSsxKXx8bi5zdHJpbmdpZnkobnVsbCk7bS5wdXNoKGYraSt2KX1yZXR1cm4iWyIrbS5qb2luKCIsIikrZisiXSJ9aWYoLTEhPT1jLmluZGV4T2YoZCkpe2lmKHMpcmV0dXJuIG4uc3RyaW5naWZ5KCJfX2N5Y2xlX18iKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OIil9Yy5wdXNoKGQpO2Zvcih2YXIgdz1vKGQpLnNvcnQobCYmbChkKSksbT1bXSxnPTA7Zzx3Lmxlbmd0aDtnKyspe3ZhciB0PXdbZ10seT1oKGQsdCxkW3RdLHUrMSk7aWYoeSl7dmFyIEE9bi5zdHJpbmdpZnkodCkrcCt5O20ucHVzaChmK2krQSl9fXJldHVybiBjLnNwbGljZShjLmluZGV4T2YoZCksMSksInsiK20uam9pbigiLCIpK2YrIn0ifX0oeyIiOmV9LCIiLGUsMCl9O3ZhciByPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT17fS50b1N0cmluZy5jYWxsKGUpfSxvPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5fHxmdW5jdGlvbigpe3JldHVybiEwfSxpPVtdO2Zvcih2YXIgbiBpbiBlKXQuY2FsbChlLG4pJiZpLnB1c2gobik7cmV0dXJuIGl9fSxmdW5jdGlvbihlLHQsaSl7dC5wYXJzZT1pKDE0KSx0LnN0cmluZ2lmeT1pKDE1KX0sZnVuY3Rpb24oZSx0KXt2YXIgaSxuLHIsbyxzPXsnIic6JyInLCJcXCI6IlxcIiwiLyI6Ii8iLGI6IlxiIixmOiJcZiIsbjoiXG4iLHI6IlxyIix0OiIJIn0sYT1mdW5jdGlvbihlKXt0aHJvd3tuYW1lOiJTeW50YXhFcnJvciIsbWVzc2FnZTplLGF0OmksdGV4dDpyfX0sbD1mdW5jdGlvbihlKXtyZXR1cm4gZSYmZSE9PW4mJmEoIkV4cGVjdGVkICciK2UrIicgaW5zdGVhZCBvZiAnIituKyInIiksbj1yLmNoYXJBdChpKSxpKz0xLG59LGM9ZnVuY3Rpb24oKXt2YXIgZSx0PSIiOwpmb3IoIi0iPT09biYmKHQ9Ii0iLGwoIi0iKSk7bj49IjAiJiYiOSI+PW47KXQrPW4sbCgpO2lmKCIuIj09PW4pZm9yKHQrPSIuIjtsKCkmJm4+PSIwIiYmIjkiPj1uOyl0Kz1uO2lmKCJlIj09PW58fCJFIj09PW4pZm9yKHQrPW4sbCgpLCItIiE9PW4mJiIrIiE9PW58fCh0Kz1uLGwoKSk7bj49IjAiJiYiOSI+PW47KXQrPW4sbCgpO3JldHVybiBlPSt0LGlzRmluaXRlKGUpP2U6dm9pZCBhKCJCYWQgbnVtYmVyIil9LGg9ZnVuY3Rpb24oKXt2YXIgZSx0LGkscj0iIjtpZignIic9PT1uKWZvcig7bCgpOyl7aWYoJyInPT09bilyZXR1cm4gbCgpLHI7aWYoIlxcIj09PW4paWYobCgpLCJ1Ij09PW4pe2ZvcihpPTAsdD0wOzQ+dCYmKGU9cGFyc2VJbnQobCgpLDE2KSxpc0Zpbml0ZShlKSk7dCs9MSlpPTE2KmkrZTtyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpfWVsc2V7aWYoInN0cmluZyIhPXR5cGVvZiBzW25dKWJyZWFrO3IrPXNbbl19ZWxzZSByKz1ufWEoIkJhZCBzdHJpbmciKX0sZD1mdW5jdGlvbigpe2Zvcig7biYmIiAiPj1uOylsKCl9LHU9ZnVuY3Rpb24oKXtzd2l0Y2gobil7Y2FzZSJ0IjpyZXR1cm4gbCgidCIpLGwoInIiKSxsKCJ1IiksbCgiZSIpLCEwO2Nhc2UiZiI6cmV0dXJuIGwoImYiKSxsKCJhIiksbCgibCIpLGwoInMiKSxsKCJlIiksITE7Y2FzZSJuIjpyZXR1cm4gbCgibiIpLGwoInUiKSxsKCJsIiksbCgibCIpLG51bGx9YSgiVW5leHBlY3RlZCAnIituKyInIil9LGY9ZnVuY3Rpb24oKXt2YXIgZT1bXTtpZigiWyI9PT1uKXtpZihsKCJbIiksZCgpLCJdIj09PW4pcmV0dXJuIGwoIl0iKSxlO2Zvcig7bjspe2lmKGUucHVzaChvKCkpLGQoKSwiXSI9PT1uKXJldHVybiBsKCJdIiksZTtsKCIsIiksZCgpfX1hKCJCYWQgYXJyYXkiKX0scD1mdW5jdGlvbigpe3ZhciBlLHQ9e307aWYoInsiPT09bil7aWYobCgieyIpLGQoKSwifSI9PT1uKXJldHVybiBsKCJ9IiksdDtmb3IoO247KXtpZihlPWgoKSxkKCksbCgiOiIpLE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSkmJmEoJ0R1cGxpY2F0ZSBrZXkgIicrZSsnIicpLHRbZV09bygpLGQoKSwifSI9PT1uKXJldHVybiBsKCJ9IiksdDtsKCIsIiksZCgpfX1hKCJCYWQgb2JqZWN0Iil9O289ZnVuY3Rpb24oKXtzd2l0Y2goZCgpLG4pe2Nhc2UieyI6cmV0dXJuIHAoKTtjYXNlIlsiOnJldHVybiBmKCk7Y2FzZSciJzpyZXR1cm4gaCgpO2Nhc2UiLSI6cmV0dXJuIGMoKTtkZWZhdWx0OnJldHVybiBuPj0iMCImJiI5Ij49bj9jKCk6dSgpfX0sZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIHM7cmV0dXJuIHI9ZSxpPTAsbj0iICIscz1vKCksZCgpLG4mJmEoIlN5bnRheCBlcnJvciIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uIGwoZSxpKXt2YXIgbixyLG89ZVtpXTtpZihvJiYib2JqZWN0Ij09dHlwZW9mIG8pZm9yKG4gaW4gbylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobyxuKSYmKHI9bChvLG4pLHZvaWQgMCE9PXI/b1tuXT1yOmRlbGV0ZSBvW25dKTtyZXR1cm4gdC5jYWxsKGUsaSxvKX0oeyIiOnN9LCIiKTpzfX0sZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBpKGUpe3JldHVybiBhLmxhc3RJbmRleD0wLGEudGVzdChlKT8nIicrZS5yZXBsYWNlKGEsZnVuY3Rpb24oZSl7dmFyIHQ9bFtlXTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/dDoiXFx1IisoIjAwMDAiK2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC00KX0pKyciJzonIicrZSsnIid9ZnVuY3Rpb24gbihlLHQpe3ZhciBhLGwsYyxoLGQsdT1yLGY9dFtlXTtzd2l0Y2goZiYmIm9iamVjdCI9PXR5cGVvZiBmJiYiZnVuY3Rpb24iPT10eXBlb2YgZi50b0pTT04mJihmPWYudG9KU09OKGUpKSwiZnVuY3Rpb24iPT10eXBlb2YgcyYmKGY9cy5jYWxsKHQsZSxmKSksdHlwZW9mIGYpe2Nhc2Uic3RyaW5nIjpyZXR1cm4gaShmKTtjYXNlIm51bWJlciI6cmV0dXJuIGlzRmluaXRlKGYpP1N0cmluZyhmKToibnVsbCI7Y2FzZSJib29sZWFuIjpjYXNlIm51bGwiOnJldHVybiBTdHJpbmcoZik7Y2FzZSJvYmplY3QiOmlmKCFmKXJldHVybiJudWxsIjtpZihyKz1vLGQ9W10sIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuYXBwbHkoZikpe2ZvcihoPWYubGVuZ3RoLGE9MDtoPmE7YSs9MSlkW2FdPW4oYSxmKXx8Im51bGwiO3JldHVybiBjPTA9PT1kLmxlbmd0aD8iW10iOnI/IltcbiIrcitkLmpvaW4oIixcbiIrcikrIlxuIit1KyJdIjoiWyIrZC5qb2luKCIsIikrIl0iLHI9dSxjfWlmKHMmJiJvYmplY3QiPT10eXBlb2Ygcylmb3IoaD1zLmxlbmd0aCxhPTA7aD5hO2ErPTEpbD1zW2FdLCJzdHJpbmciPT10eXBlb2YgbCYmKGM9bihsLGYpLGMmJmQucHVzaChpKGwpKyhyPyI6ICI6IjoiKStjKSk7ZWxzZSBmb3IobCBpbiBmKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChmLGwpJiYoYz1uKGwsZiksYyYmZC5wdXNoKGkobCkrKHI/IjogIjoiOiIpK2MpKTtyZXR1cm4gYz0wPT09ZC5sZW5ndGg/Int9IjpyPyJ7XG4iK3IrZC5qb2luKCIsXG4iK3IpKyJcbiIrdSsifSI6InsiK2Quam9pbigiLCIpKyJ9IixyPXUsY319dmFyIHIsbyxzLGE9L1tcXFwiXHgwMC1ceDFmXHg3Zi1ceDlmXHUwMGFkXHUwNjAwLVx1MDYwNFx1MDcwZlx1MTdiNFx1MTdiNVx1MjAwYy1cdTIwMGZcdTIwMjgtXHUyMDJmXHUyMDYwLVx1MjA2Zlx1ZmVmZlx1ZmZmMC1cdWZmZmZdL2csbD17IlxiIjoiXFxiIiwiCSI6IlxcdCIsIlxuIjoiXFxuIiwiXGYiOiJcXGYiLCJcciI6IlxcciIsJyInOidcXCInLCJcXCI6IlxcXFwifTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LGkpe3ZhciBhO2lmKHI9IiIsbz0iIiwibnVtYmVyIj09dHlwZW9mIGkpZm9yKGE9MDtpPmE7YSs9MSlvKz0iICI7ZWxzZSJzdHJpbmciPT10eXBlb2YgaSYmKG89aSk7aWYocz10LHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiYoIm9iamVjdCIhPXR5cGVvZiB0fHwibnVtYmVyIiE9dHlwZW9mIHQubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoIkpTT04uc3RyaW5naWZ5Iik7cmV0dXJuIG4oIiIseyIiOmV9KX19LGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyLmNvcHkoZSx0aGlzKX12YXIgcj1pKDExKTtlLmV4cG9ydHM9bn0sZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHNldHVwQXN5bmMoZSx0KXt0IT09ITEmJih0PSEwKTt2YXIgaSxuPWUuYXN5bmMscj1lLnRyYW5zcGlsZTtzd2l0Y2godHlwZW9mIHIpe2Nhc2Uic3RyaW5nIjp2YXIgbz1UUkFOU1BJTEVbcl07aWYoIW8pdGhyb3cgbmV3IEVycm9yKCJiYWQgdHJhbnNwaWxlcjogIityKTtyZXR1cm4gZS5fdHJhbnNwaWxlRnVuYz1vKGUsdCk7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiYm9vbGVhbiI6aWYoInN0cmluZyI9PXR5cGVvZiBuKXtpZihpPUFTWU5DW25dLCFpKXRocm93IG5ldyBFcnJvcigiYmFkIGFzeW5jIG1vZGU6ICIrbik7cmV0dXJuIGUudHJhbnNwaWxlPWkoZSx0KX1mb3IodmFyIHM9MDtzPE1PREVTLmxlbmd0aDtzKyspe3ZhciBhPU1PREVTW3NdO2lmKHNldHVwQXN5bmMoYSwhMSkpcmV0dXJuIHV0aWwuY29weShhLGUpLGUudHJhbnNwaWxlfXRocm93IG5ldyBFcnJvcigiZ2VuZXJhdG9ycywgbm9kZW50IGFuZCByZWdlbmVyYXRvciBhcmUgbm90IGF2YWlsYWJsZSIpO2Nhc2UiZnVuY3Rpb24iOnJldHVybiBlLl90cmFuc3BpbGVGdW5jPWUudHJhbnNwaWxlO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJiYWQgdHJhbnNwaWxlcjogIityKX19ZnVuY3Rpb24gY2hlY2tHZW5lcmF0b3JzKG9wdHMscmVxdWlyZWQpe3RyeXtyZXR1cm4gZXZhbCgiKGZ1bmN0aW9uKigpe30pKCkiKSwhMH1jYXRjaChlKXtpZihyZXF1aXJlZCl0aHJvdyBuZXcgRXJyb3IoImdlbmVyYXRvcnMgbm90IHN1cHBvcnRlZCIpfX1mdW5jdGlvbiBjaGVja0FzeW5jRnVuY3Rpb24ob3B0cyxyZXF1aXJlZCl7dHJ5e3JldHVybiBldmFsKCIoYXN5bmMgZnVuY3Rpb24oKXt9KSgpIiksITB9Y2F0Y2goZSl7aWYocmVxdWlyZWQpdGhyb3cgbmV3IEVycm9yKCJlczcgYXN5bmMgZnVuY3Rpb25zIG5vdCBzdXBwb3J0ZWQiKX19ZnVuY3Rpb24gZ2V0UmVnZW5lcmF0b3IoZSx0KXt0cnl7cmV0dXJuIHJlZ2VuZXJhdG9yfHwocmVnZW5lcmF0b3I9X193ZWJwYWNrX3JlcXVpcmVfXyghZnVuY3Rpb24oKXt2YXIgZT1uZXcgRXJyb3IoJ0Nhbm5vdCBmaW5kIG1vZHVsZSAicmVnZW5lcmF0b3IiJyk7dGhyb3cgZS5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixlfSgpKSxyZWdlbmVyYXRvci5ydW50aW1lKCkpLGUuYXN5bmMmJmUuYXN5bmMhPT0hMHx8KGUuYXN5bmM9ImVzNyIpLHJlZ2VuZXJhdG9yVHJhbnNwaWxlfWNhdGNoKGkpe2lmKHQpdGhyb3cgbmV3IEVycm9yKCJyZWdlbmVyYXRvciBub3QgYXZhaWxhYmxlIil9fWZ1bmN0aW9uIHJlZ2VuZXJhdG9yVHJhbnNwaWxlKGUpe3JldHVybiByZWdlbmVyYXRvci5jb21waWxlKGUpLmNvZGV9ZnVuY3Rpb24gZ2V0Tm9kZW50KGUsdCl7dHJ5e3JldHVybiBub2RlbnR8fChub2RlbnQ9X193ZWJwYWNrX3JlcXVpcmVfXyghZnVuY3Rpb24oKXt2YXIgZT1uZXcgRXJyb3IoJ0Nhbm5vdCBmaW5kIG1vZHVsZSAibm9kZW50IicpO3Rocm93IGUuY29kZT0iTU9EVUxFX05PVF9GT1VORCIsZX0oKSkoe2xvZzohMSxkb250SW5zdGFsbFJlcXVpcmVIb29rOiEwfSkpLCJlczciIT1lLmFzeW5jJiYoZS5hc3luYyYmZS5hc3luYyE9PSEwJiZjb25zb2xlLndhcm4oIm5vZGVudCB0cmFuc3BpbGVzIG9ubHkgZXM3IGFzeW5jIGZ1bmN0aW9ucyIpLGUuYXN5bmM9ImVzNyIpLG5vZGVudFRyYW5zcGlsZX1jYXRjaChpKXtpZih0KXRocm93IG5ldyBFcnJvcigibm9kZW50IG5vdCBhdmFpbGFibGUiKX19ZnVuY3Rpb24gbm9kZW50VHJhbnNwaWxlKGUpe3JldHVybiBub2RlbnQuY29tcGlsZShlLCIiLHtwcm9taXNlczohMCxzb3VyY2VtYXA6ITF9KS5jb2RlfWZ1bmN0aW9uIGNvbXBpbGVBc3luYyhlLHQpe2Z1bmN0aW9uIGkoZSx0LG4pe2Z1bmN0aW9uIG8obil7ZnVuY3Rpb24gbyhuLG8pe2lmKG4pcmV0dXJuIHQobik7aWYoIXIuX3JlZnNbc10mJiFyLl9zY2hlbWFzW3NdKXRyeXtyLmFkZFNjaGVtYShvLHMpfWNhdGNoKGEpe3JldHVybiB2b2lkIHQoYSl9aShlLHQpfXZhciBzPW4ubWlzc2luZ1NjaGVtYTtpZihyLl9yZWZzW3NdfHxyLl9zY2hlbWFzW3NdKXJldHVybiB0KG5ldyBFcnJvcigiU2NoZW1hICIrcysiIGlzIGxvYWRlZCBidXQiK24ubWlzc2luZ1JlZisiY2Fubm90IGJlIHJlc29sdmVkIikpO3ZhciBhPXIuX2xvYWRpbmdTY2hlbWFzW3NdO2E/ImZ1bmN0aW9uIj09dHlwZW9mIGE/ci5fbG9hZGluZ1NjaGVtYXNbc109W2Esb106YVthLmxlbmd0aF09bzooci5fbG9hZGluZ1NjaGVtYXNbc109byxyLl9vcHRzLmxvYWRTY2hlbWEocyxmdW5jdGlvbihlLHQpe3ZhciBpPXIuX2xvYWRpbmdTY2hlbWFzW3NdO2lmKGRlbGV0ZSByLl9sb2FkaW5nU2NoZW1hc1tzXSwiZnVuY3Rpb24iPT10eXBlb2YgaSlpKGUsdCk7ZWxzZSBmb3IodmFyIG49MDtuPGkubGVuZ3RoO24rKylpW25dKGUsdCl9KSl9ZnVuY3Rpb24gcyhlLGkpe3JldHVybiBuP3ZvaWQgc2V0VGltZW91dChmdW5jdGlvbigpe3QoZSxpKX0pOnQoZSxpKX12YXIgYTt0cnl7YT1yLmNvbXBpbGUoZSl9Y2F0Y2gobCl7cmV0dXJuIHZvaWQobC5taXNzaW5nU2NoZW1hP28obCk6cyhsKSl9cyhudWxsLGEpfXZhciBuLHI9dGhpczt0cnl7bj10aGlzLl9hZGRTY2hlbWEoZSl9Y2F0Y2gobyl7cmV0dXJuIHZvaWQgc2V0VGltZW91dChmdW5jdGlvbigpe3Qobyl9KX1pZihuLnZhbGlkYXRlKXNldFRpbWVvdXQoZnVuY3Rpb24oKXt0KG51bGwsbi52YWxpZGF0ZSl9KTtlbHNle2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzLl9vcHRzLmxvYWRTY2hlbWEpdGhyb3cgbmV3IEVycm9yKCJvcHRpb25zLmxvYWRTY2hlbWEgc2hvdWxkIGJlIGEgZnVuY3Rpb24iKTtpKGUsdCwhMCl9fW1vZHVsZS5leHBvcnRzPXtzZXR1cDpzZXR1cEFzeW5jLGNvbXBpbGU6Y29tcGlsZUFzeW5jfTt2YXIgdXRpbD1fX3dlYnBhY2tfcmVxdWlyZV9fKDExKSxBU1lOQz17IioiOmNoZWNrR2VuZXJhdG9ycywiY28qIjpjaGVja0dlbmVyYXRvcnMsZXM3OmNoZWNrQXN5bmNGdW5jdGlvbn0sVFJBTlNQSUxFPXtub2RlbnQ6Z2V0Tm9kZW50LHJlZ2VuZXJhdG9yOmdldFJlZ2VuZXJhdG9yfSxNT0RFUz1be2FzeW5jOiJjbyoifSx7YXN5bmM6ImVzNyIsdHJhbnNwaWxlOiJub2RlbnQifSx7YXN5bmM6ImNvKiIsdHJhbnNwaWxlOiJyZWdlbmVyYXRvciJ9XSxyZWdlbmVyYXRvcixub2RlbnR9LGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIGkoZSl7Zm9yKHZhciB0PTA7dDxlLnJ1bGVzLmxlbmd0aDt0KyspaWYobihlLnJ1bGVzW3RdKSlyZXR1cm4hMH1mdW5jdGlvbiBuKHQpe3JldHVybiB2b2lkIDAhPT1lLnNjaGVtYVt0LmtleXdvcmRdfHwicHJvcGVydGllcyI9PXQua2V5d29yZCYmKGUuc2NoZW1hLmFkZGl0aW9uYWxQcm9wZXJ0aWVzPT09ITF8fCJvYmplY3QiPT10eXBlb2YgZS5zY2hlbWEuYWRkaXRpb25hbFByb3BlcnRpZXN8fGUuc2NoZW1hLnBhdHRlcm5Qcm9wZXJ0aWVzJiZPYmplY3Qua2V5cyhlLnNjaGVtYS5wYXR0ZXJuUHJvcGVydGllcykubGVuZ3RofHxlLm9wdHMudjUmJmUuc2NoZW1hLnBhdHRlcm5Hcm91cHMmJk9iamVjdC5rZXlzKGUuc2NoZW1hLnBhdHRlcm5Hcm91cHMpLmxlbmd0aCl9dmFyIHI9IiIsbz1lLnNjaGVtYS4kYXN5bmM9PT0hMDtpZihlLmlzVG9wKXt2YXIgcz1lLmlzVG9wLGE9ZS5sZXZlbD0wLGw9ZS5kYXRhTGV2ZWw9MCxjPSJkYXRhIjtpZihlLnJvb3RJZD1lLnJlc29sdmUuZnVsbFBhdGgoZS5yb290LnNjaGVtYS5pZCksZS5iYXNlSWQ9ZS5iYXNlSWR8fGUucm9vdElkLG8pe2UuYXN5bmM9ITA7dmFyIGg9ImVzNyI9PWUub3B0cy5hc3luYztlLnlpZWxkQXdhaXQ9aD8iYXdhaXQiOiJ5aWVsZCJ9ZGVsZXRlIGUuaXNUb3AsZS5kYXRhUGF0aEFycj1bdm9pZCAwXSxyKz0iIHZhbGlkYXRlID0gIixvP2g/cis9IiAoYXN5bmMgZnVuY3Rpb24gIjooImNvKiI9PWUub3B0cy5hc3luYyYmKHIrPSJjby53cmFwIikscis9IihmdW5jdGlvbiogIik6cis9IiAoZnVuY3Rpb24gIixyKz0iIChkYXRhLCBkYXRhUGF0aCwgcGFyZW50RGF0YSwgcGFyZW50RGF0YVByb3BlcnR5KSB7ICd1c2Ugc3RyaWN0JzsgdmFyIHZFcnJvcnMgPSBudWxsOyAiLHIrPSIgdmFyIGVycm9ycyA9IDA7ICAgICAifWVsc2V7dmFyIGE9ZS5sZXZlbCxsPWUuZGF0YUxldmVsLGM9ImRhdGEiKyhsfHwiIik7aWYoZS5zY2hlbWEuaWQmJihlLmJhc2VJZD1lLnJlc29sdmUudXJsKGUuYmFzZUlkLGUuc2NoZW1hLmlkKSksbyYmIWUuYXN5bmMpdGhyb3cgbmV3IEVycm9yKCJhc3luYyBzY2hlbWEgaW4gc3luYyBzY2hlbWEiKTtyKz0iIHZhciBlcnJzXyIrYSsiID0gZXJyb3JzOyJ9dmFyIGQsdT0idmFsaWQiK2EsZj0hZS5vcHRzLmFsbEVycm9ycyxwPSIiLG09IiIsZz1lLnNjaGVtYS50eXBlLHY9QXJyYXkuaXNBcnJheShnKTtpZihnJiZlLm9wdHMuY29lcmNlVHlwZXMpe3ZhciB3PWUudXRpbC5jb2VyY2VUb1R5cGVzKGcpO2lmKHcpe3ZhciB5PWUuc2NoZW1hUGF0aCsiLnR5cGUiLEE9ZS5lcnJTY2hlbWFQYXRoKyIvdHlwZSIsQz12PyJjaGVja0RhdGFUeXBlcyI6ImNoZWNrRGF0YVR5cGUiO3IrPSIgaWYgKCIrZS51dGlsW0NdKGcsYywhMCkrIikgeyAgIjt2YXIgRT0iZGF0YVR5cGUiK2EsYj0iY29lcmNlZCIrYTtyKz0iIHZhciAiK0UrIiA9IHR5cGVvZiAiK2MrIjsgdmFyICIrYisiID0gdW5kZWZpbmVkOyAiO3ZhciBGPSIiLHg9dztpZih4KWZvcih2YXIgUywkPS0xLEQ9eC5sZW5ndGgtMTtEPiQ7KVM9eFskKz0xXSwkJiYocis9IiBpZiAoIitiKyIgPT09IHVuZGVmaW5lZCkgeyAiLEYrPSJ9IiksInN0cmluZyI9PVM/cis9IiBpZiAoIitFKyIgPT0gJ251bWJlcicgfHwgIitFKyIgPT0gJ2Jvb2xlYW4nKSAiK2IrIiA9ICcnICsgIitjKyI7IGVsc2UgaWYgKCIrYysiID09PSBudWxsKSAiK2IrIiA9ICcnOyAiOiJudW1iZXIiPT1TfHwiaW50ZWdlciI9PVM/KHIrPSIgaWYgKCIrRSsiID09ICdib29sZWFuJyB8fCAiK2MrIiA9PT0gbnVsbCB8fCAoIitFKyIgPT0gJ3N0cmluZycgJiYgIitjKyIgJiYgIitjKyIgPT0gKyIrYysiICIsImludGVnZXIiPT1TJiYocis9IiAmJiAhKCIrYysiICUgMSkiKSxyKz0iKSkgIitiKyIgPSArIitjKyI7ICIpOiJib29sZWFuIj09Uz9yKz0iIGlmICgiK2MrIiA9PT0gJ2ZhbHNlJyB8fCAiK2MrIiA9PT0gMCB8fCAiK2MrIiA9PT0gbnVsbCkgIitiKyIgPSBmYWxzZTsgZWxzZSBpZiAoIitjKyIgPT09ICd0cnVlJyB8fCAiK2MrIiA9PT0gMSkgIitiKyIgPSB0cnVlOyAiOiJudWxsIj09UyYmKHIrPSIgaWYgKCIrYysiID09PSAnJyB8fCAiK2MrIiA9PT0gMCB8fCAiK2MrIiA9PT0gZmFsc2UpICIrYisiID0gbnVsbDsgIik7cis9IiAiK0YrIiBpZiAoIitiKyIgPT09IHVuZGVmaW5lZCkgeyAgICI7dmFyIGs9a3x8W107ay5wdXNoKHIpLHI9IiIsZS5jcmVhdGVFcnJvcnMhPT0hMT8ocis9IiB7IGtleXdvcmQ6ICciKyhkfHwidHlwZSIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytBKyJcIiAsIHBhcmFtczogeyB0eXBlOiAnIixyKz12PyIiK2cuam9pbigiLCIpOiIiK2cscis9IicgfSAiLGUub3B0cy5tZXNzYWdlcyE9PSExJiYocis9IiAsIG1lc3NhZ2U6ICdzaG91bGQgYmUgIixyKz12PyIiK2cuam9pbigiLCIpOiIiK2cscis9IicgIiksZS5vcHRzLnZlcmJvc2UmJihyKz0iICwgc2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK3krIiAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIitlLnNjaGVtYVBhdGgrIiAsIGRhdGE6ICIrYysiICIpLHIrPSIgfSAiKTpyKz0iIHt9ICI7dmFyIEI9cjtpZihyPWsucG9wKCkscis9IWUuY29tcG9zaXRlUnVsZSYmZj9lLmFzeW5jPyIgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbIitCKyJdKTsgIjoiIHZhbGlkYXRlLmVycm9ycyA9IFsiK0IrIl07IHJldHVybiBmYWxzZTsgIjoiIHZhciBlcnIgPSAiK0IrIjsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAiLHIrPSIgfSBlbHNlIHsgIixsKXt2YXIgXz0iZGF0YSIrKGwtMXx8IiIpLEw9ZS5kYXRhUGF0aEFycltsXTtyKz0iICIrYysiID0gIitfKyJbIitMKyJdID0gIitiKyI7ICJ9ZWxzZSByKz0iIGRhdGEgPSAiK2IrIjsgaWYgKHBhcmVudERhdGEgIT09IHVuZGVmaW5lZCkgcGFyZW50RGF0YVtwYXJlbnREYXRhUHJvcGVydHldID0gIitiKyI7ICI7cis9IiB9IH0gIn19dmFyIFI9ZS5SVUxFUztpZihSKWZvcih2YXIgVCxQPS0xLE09Ui5sZW5ndGgtMTtNPlA7KWlmKFQ9UltQKz0xXSxpKFQpKXtpZihULnR5cGUmJihyKz0iIGlmICgiK2UudXRpbC5jaGVja0RhdGFUeXBlKFQudHlwZSxjKSsiKSB7ICIpLGUub3B0cy51c2VEZWZhdWx0cyYmIWUuY29tcG9zaXRlUnVsZSlpZigib2JqZWN0Ij09VC50eXBlJiZlLnNjaGVtYS5wcm9wZXJ0aWVzKXt2YXIgTz1lLnNjaGVtYS5wcm9wZXJ0aWVzLE49T2JqZWN0LmtleXMoTyksST1OO2lmKEkpZm9yKHZhciBqLFc9LTEsSD1JLmxlbmd0aC0xO0g+Vzspe2o9SVtXKz0xXTt2YXIgVj1PW2pdO2lmKHZvaWQgMCE9PVZbImRlZmF1bHQiXSl7dmFyIHo9YytlLnV0aWwuZ2V0UHJvcGVydHkoaik7cis9IiAgaWYgKCIreisiID09PSB1bmRlZmluZWQpICIreisiID0gIixyKz0iY2xvbmUiPT1lLm9wdHMudXNlRGVmYXVsdHM/IiAiK0pTT04uc3RyaW5naWZ5KFZbImRlZmF1bHQiXSkrIiAiOiIgIitlLnVzZURlZmF1bHQoVlsiZGVmYXVsdCJdKSsiICIscis9IjsgIn19fWVsc2UgaWYoImFycmF5Ij09VC50eXBlJiZBcnJheS5pc0FycmF5KGUuc2NoZW1hLml0ZW1zKSl7dmFyIFU9ZS5zY2hlbWEuaXRlbXM7aWYoVSlmb3IodmFyIFYsJD0tMSxLPVUubGVuZ3RoLTE7Sz4kOylpZihWPVVbJCs9MV0sdm9pZCAwIT09VlsiZGVmYXVsdCJdKXt2YXIgej1jKyJbIiskKyJdIjtyKz0iICBpZiAoIit6KyIgPT09IHVuZGVmaW5lZCkgIit6KyIgPSAiLHIrPSJjbG9uZSI9PWUub3B0cy51c2VEZWZhdWx0cz8iICIrSlNPTi5zdHJpbmdpZnkoVlsiZGVmYXVsdCJdKSsiICI6IiAiK2UudXNlRGVmYXVsdChWWyJkZWZhdWx0Il0pKyIgIixyKz0iOyAifX12YXIgcT1ULnJ1bGVzO2lmKHEpZm9yKHZhciBHLFk9LTEsUT1xLmxlbmd0aC0xO1E+WTspaWYoRz1xW1krPTFdLG4oRykpe2lmKEcuY3VzdG9tKXt2YXIgTz1lLnNjaGVtYVtHLmtleXdvcmRdLEo9ZS51c2VDdXN0b21SdWxlKEcsTyxlLnNjaGVtYSxlKSxYPUouY29kZSsiLmVycm9ycyIseT1lLnNjaGVtYVBhdGgrIi4iK0cua2V5d29yZCxBPWUuZXJyU2NoZW1hUGF0aCsiLyIrRy5rZXl3b3JkLFo9ImVycnMiK2EsJD0iaSIrYSxlZT0icnVsZUVyciIrYSx0ZT1HLmRlZmluaXRpb24saWU9dGUuYXN5bmMsbmU9dGUuaW5saW5lLHJlPXRlLm1hY3JvO2lmKGllJiYhZS5hc3luYyl0aHJvdyBuZXcgRXJyb3IoImFzeW5jIGtleXdvcmQgaW4gc3luYyBzY2hlbWEiKTtpZihuZXx8cmV8fChyKz0iIitYKyIgPSBudWxsOyIpLHIrPSJ2YXIgIitaKyIgPSBlcnJvcnM7dmFyIHZhbGlkIithKyI7IixuZSYmdGUuc3RhdGVtZW50cylyKz0iICIrSi52YWxpZGF0ZTtlbHNlIGlmKHJlKXt2YXIgb2U9ZS51dGlsLmNvcHkoZSk7b2UubGV2ZWwrKyxvZS5zY2hlbWE9Si52YWxpZGF0ZSxvZS5zY2hlbWFQYXRoPSIiO3ZhciBzZT1lLmNvbXBvc2l0ZVJ1bGU7ZS5jb21wb3NpdGVSdWxlPW9lLmNvbXBvc2l0ZVJ1bGU9ITA7dmFyIGFlPWUudmFsaWRhdGUob2UpLnJlcGxhY2UoL3ZhbGlkYXRlXC5zY2hlbWEvZyxKLmNvZGUpO2UuY29tcG9zaXRlUnVsZT1vZS5jb21wb3NpdGVSdWxlPXNlLHIrPSIgIithZX1lbHNlIGlmKHRlLmNvbXBpbGV8fHRlLnZhbGlkYXRlKXt2YXIgaz1rfHxbXTtrLnB1c2gocikscj0iIixyKz0iICAiK0ouY29kZSsiLmNhbGwoICIscis9ZS5vcHRzLnBhc3NDb250ZXh0PyJ0aGlzIjoic2VsZiI7Si52YWxpZGF0ZS5sZW5ndGg7cis9dGUuY29tcGlsZXx8dGUuc2NoZW1hPT09ITE/IiAsICIrYysiICI6IiAsIHZhbGlkYXRlLnNjaGVtYSIreSsiICwgIitjKyIgLCB2YWxpZGF0ZS5zY2hlbWEiK2Uuc2NoZW1hUGF0aCsiICIscis9IiAsIChkYXRhUGF0aCB8fCAnJykiLCciIichPWUuZXJyb3JQYXRoJiYocis9IiArICIrZS5lcnJvclBhdGgpLHIrPWw/IiAsIGRhdGEiKyhsLTF8fCIiKSsiICwgIitlLmRhdGFQYXRoQXJyW2xdKyIgIjoiICwgcGFyZW50RGF0YSAsIHBhcmVudERhdGFQcm9wZXJ0eSAiLHIrPSIgKSAgIjt2YXIgbGU9cjtyPWsucG9wKCksdGUuZXJyb3JzIT09ITEmJihpZT8oWD0iY3VzdG9tRXJyb3JzIithLHIrPSIgdmFyICIrWCsiID0gbnVsbDsgdHJ5IHsgdmFsaWQiK2ErIiA9ICIrZS55aWVsZEF3YWl0K2xlKyI7IH0gY2F0Y2ggKGUpIHsgdmFsaWQiK2ErIiA9IGZhbHNlOyBpZiAoZSBpbnN0YW5jZW9mIFZhbGlkYXRpb25FcnJvcikgIitYKyIgPSBlLmVycm9yczsgZWxzZSB0aHJvdyBlOyB9ICIpOnIrPSIgIitKLmNvZGUrIi5lcnJvcnMgPSBudWxsOyAiKX1yKz0iaWYgKCEgIixyKz1uZT90ZS5zdGF0ZW1lbnRzPyIgdmFsaWQiK2ErIiAiOiIgKCIrSi52YWxpZGF0ZSsiKSAiOnJlPyIgdmFsaWQiK29lLmxldmVsKyIgIjppZT90ZS5lcnJvcnM9PT0hMT8iICgiK2UueWllbGRBd2FpdCtsZSsiKSAiOiIgdmFsaWQiK2ErIiAiOiIgIitsZSsiICIscis9IikgeyAiLGQ9Ry5rZXl3b3JkO3ZhciBrPWt8fFtdO2sucHVzaChyKSxyPSIiO3ZhciBrPWt8fFtdO2sucHVzaChyKSxyPSIiLGUuY3JlYXRlRXJyb3JzIT09ITE/KHIrPSIgeyBrZXl3b3JkOiAnIisoZHx8ImN1c3RvbSIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytBKyJcIiAsIHBhcmFtczogeyBrZXl3b3JkOiAnIitHLmtleXdvcmQrIicgfSAiLGUub3B0cy5tZXNzYWdlcyE9PSExJiYocis9IiAsIG1lc3NhZ2U6ICdzaG91bGQgcGFzcyBcIiIrRy5rZXl3b3JkKyJcIiBrZXl3b3JkIHZhbGlkYXRpb24nICIpLGUub3B0cy52ZXJib3NlJiYocis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIit5KyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2MrIiAiKSxyKz0iIH0gIik6cis9IiB7fSAiO3ZhciBCPXI7cj1rLnBvcCgpLHIrPSFlLmNvbXBvc2l0ZVJ1bGUmJmY/ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWyIrQisiXSk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSBbIitCKyJdOyByZXR1cm4gZmFsc2U7ICI6IiB2YXIgZXJyID0gIitCKyI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIjt2YXIgY2U9cjtyPWsucG9wKCksbmU/dGUuZXJyb3JzPyJmdWxsIiE9dGUuZXJyb3JzJiYocis9IiAgZm9yICh2YXIgIiskKyI9IitaKyI7ICIrJCsiPGVycm9yczsgIiskKyIrKykgeyB2YXIgIitlZSsiID0gdkVycm9yc1siKyQrIl07IGlmICgiK2VlKyIuZGF0YVBhdGggPT09IHVuZGVmaW5lZCkgeyAiK2VlKyIuZGF0YVBhdGggPSAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsiOyB9IGlmICgiK2VlKyIuc2NoZW1hUGF0aCA9PT0gdW5kZWZpbmVkKSB7ICIrZWUrJy5zY2hlbWFQYXRoID0gIicrQSsnIjsgfSAnLGUub3B0cy52ZXJib3NlJiYocis9IiAiK2VlKyIuc2NoZW1hID0gdmFsaWRhdGUuc2NoZW1hIit5KyI7ICIrZWUrIi5kYXRhID0gIitjKyI7ICIpLHIrPSIgfSAiKTp0ZS5lcnJvcnM9PT0hMT9yKz0iICIrY2UrIiAiOihyKz0iIGlmICgiK1orIiA9PSBlcnJvcnMpIHsgIitjZSsiIH0gZWxzZSB7ICBmb3IgKHZhciAiKyQrIj0iK1orIjsgIiskKyI8ZXJyb3JzOyAiKyQrIisrKSB7IHZhciAiK2VlKyIgPSB2RXJyb3JzWyIrJCsiXTsgaWYgKCIrZWUrIi5kYXRhUGF0aCA9PT0gdW5kZWZpbmVkKSB7ICIrZWUrIi5kYXRhUGF0aCA9IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKyI7IH0gaWYgKCIrZWUrIi5zY2hlbWFQYXRoID09PSB1bmRlZmluZWQpIHsgIitlZSsnLnNjaGVtYVBhdGggPSAiJytBKyciOyB9ICcsZS5vcHRzLnZlcmJvc2UmJihyKz0iICIrZWUrIi5zY2hlbWEgPSB2YWxpZGF0ZS5zY2hlbWEiK3krIjsgIitlZSsiLmRhdGEgPSAiK2MrIjsgIikscis9IiB9IH0gIik6cmU/KHIrPSIgICB2YXIgZXJyID0gICAiLGUuY3JlYXRlRXJyb3JzIT09ITE/KHIrPSIgeyBrZXl3b3JkOiAnIisoZHx8ImN1c3RvbSIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytBKyJcIiAsIHBhcmFtczogeyBrZXl3b3JkOiAnIitHLmtleXdvcmQrIicgfSAiLGUub3B0cy5tZXNzYWdlcyE9PSExJiYocis9IiAsIG1lc3NhZ2U6ICdzaG91bGQgcGFzcyBcIiIrRy5rZXl3b3JkKyJcIiBrZXl3b3JkIHZhbGlkYXRpb24nICIpLGUub3B0cy52ZXJib3NlJiYocis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIit5KyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2MrIiAiKSxyKz0iIH0gIik6cis9IiB7fSAiLHIrPSI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIiwhZS5jb21wb3NpdGVSdWxlJiZmJiYocis9ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IodkVycm9ycyk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSB2RXJyb3JzOyByZXR1cm4gZmFsc2UgIikpOnRlLmVycm9ycz09PSExP3IrPSIgIitjZSsiICI6KHIrPSIgaWYgKEFycmF5LmlzQXJyYXkoIitYKyIpKSB7IGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gIitYKyI7IGVsc2UgdkVycm9ycy5jb25jYXQoIitYKyIpOyBlcnJvcnMgPSB2RXJyb3JzLmxlbmd0aDsgIGZvciAodmFyICIrJCsiPSIrWisiOyAiKyQrIjxlcnJvcnM7ICIrJCsiKyspIHsgdmFyICIrZWUrIiA9IHZFcnJvcnNbIiskKyJdOyAgIitlZSsiLmRhdGFQYXRoID0gKGRhdGFQYXRoIHx8ICcnKSArICIrZS5lcnJvclBhdGgrIjsgICAiK2VlKycuc2NoZW1hUGF0aCA9ICInK0ErJyI7ICAnLGUub3B0cy52ZXJib3NlJiYocis9IiAiK2VlKyIuc2NoZW1hID0gdmFsaWRhdGUuc2NoZW1hIit5KyI7ICIrZWUrIi5kYXRhID0gIitjKyI7ICIpLHIrPSIgfSB9IGVsc2UgeyAiK2NlKyIgfSAiKSxkPXZvaWQgMCxyKz0iIH0gIixmJiYocis9IiBlbHNlIHsgIil9ZWxzZSByKz0iICIrRy5jb2RlKGUsRy5rZXl3b3JkKSsiICI7ZiYmKHArPSJ9Iil9aWYoZiYmKHIrPSIgIitwKyIgIixwPSIiKSxULnR5cGUmJihyKz0iIH0gIixnJiZnPT09VC50eXBlKSl7dmFyIGhlPSEwO3IrPSIgZWxzZSB7ICI7dmFyIHk9ZS5zY2hlbWFQYXRoKyIudHlwZSIsQT1lLmVyclNjaGVtYVBhdGgrIi90eXBlIixrPWt8fFtdO2sucHVzaChyKSxyPSIiLGUuY3JlYXRlRXJyb3JzIT09ITE/KHIrPSIgeyBrZXl3b3JkOiAnIisoZHx8InR5cGUiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrQSsiXCIgLCBwYXJhbXM6IHsgdHlwZTogJyIscis9dj8iIitnLmpvaW4oIiwiKToiIitnLHIrPSInIH0gIixlLm9wdHMubWVzc2FnZXMhPT0hMSYmKHIrPSIgLCBtZXNzYWdlOiAnc2hvdWxkIGJlICIscis9dj8iIitnLmpvaW4oIiwiKToiIitnLHIrPSInICIpLGUub3B0cy52ZXJib3NlJiYocis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIit5KyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2MrIiAiKSxyKz0iIH0gIik6cis9IiB7fSAiO3ZhciBCPXI7cj1rLnBvcCgpLHIrPSFlLmNvbXBvc2l0ZVJ1bGUmJmY/ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWyIrQisiXSk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSBbIitCKyJdOyByZXR1cm4gZmFsc2U7ICI6IiB2YXIgZXJyID0gIitCKyI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIixyKz0iIH0gIn1mJiYocis9IiBpZiAoZXJyb3JzID09PSAiLHIrPXM/IjAiOiJlcnJzXyIrYSxyKz0iKSB7ICIsbSs9In0iKX1pZihnJiYhaGUmJighZS5vcHRzLmNvZXJjZVR5cGVzfHwhdykpe3ZhciB5PWUuc2NoZW1hUGF0aCsiLnR5cGUiLEE9ZS5lcnJTY2hlbWFQYXRoKyIvdHlwZSIsQz12PyJjaGVja0RhdGFUeXBlcyI6ImNoZWNrRGF0YVR5cGUiO3IrPSIgaWYgKCIrZS51dGlsW0NdKGcsYywhMCkrIikgeyAgICI7dmFyIGs9a3x8W107ay5wdXNoKHIpLHI9IiIsZS5jcmVhdGVFcnJvcnMhPT0hMT8ocis9IiB7IGtleXdvcmQ6ICciKyhkfHwidHlwZSIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytBKyJcIiAsIHBhcmFtczogeyB0eXBlOiAnIixyKz12PyIiK2cuam9pbigiLCIpOiIiK2cscis9IicgfSAiLGUub3B0cy5tZXNzYWdlcyE9PSExJiYocis9IiAsIG1lc3NhZ2U6ICdzaG91bGQgYmUgIixyKz12PyIiK2cuam9pbigiLCIpOiIiK2cscis9IicgIiksZS5vcHRzLnZlcmJvc2UmJihyKz0iICwgc2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK3krIiAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIitlLnNjaGVtYVBhdGgrIiAsIGRhdGE6ICIrYysiICIpLHIrPSIgfSAiKTpyKz0iIHt9ICI7dmFyIEI9cjtyPWsucG9wKCkscis9IWUuY29tcG9zaXRlUnVsZSYmZj9lLmFzeW5jPyIgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbIitCKyJdKTsgIjoiIHZhbGlkYXRlLmVycm9ycyA9IFsiK0IrIl07IHJldHVybiBmYWxzZTsgIjoiIHZhciBlcnIgPSAiK0IrIjsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAiLHIrPSIgfSJ9cmV0dXJuIGYmJihyKz0iICIrbSsiICIpLHM/KG8/KHIrPSIgaWYgKGVycm9ycyA9PT0gMCkgcmV0dXJuIHRydWU7ICAgICAgICAgICAiLHIrPSIgZWxzZSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKHZFcnJvcnMpOyAiKToocis9IiB2YWxpZGF0ZS5lcnJvcnMgPSB2RXJyb3JzOyAiLHIrPSIgcmV0dXJuIGVycm9ycyA9PT0gMDsgICAgICAgIikscis9IiB9KTsiKTpyKz0iIHZhciAiK3UrIiA9IGVycm9ycyA9PT0gZXJyc18iK2ErIjsiLHI9ZS51dGlsLmNsZWFuVXBDb2RlKHIpLHMmJmYmJihyPWUudXRpbC5jbGVhblVwVmFyRXJyb3JzKHIsbykpLHJ9fSxmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIGkoZSl7dmFyIHQ9dGhpcyxpPWQuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsbyl7ZnVuY3Rpb24gcyh0KXt2YXIgaTt0cnl7aT1lLm5leHQodCl9Y2F0Y2gobil7cmV0dXJuIG8obil9YyhpKX1mdW5jdGlvbiBsKHQpe3ZhciBpO3RyeXtpPWVbInRocm93Il0odCl9Y2F0Y2gobil7cmV0dXJuIG8obil9YyhpKX1mdW5jdGlvbiBjKGUpe2lmKGUuZG9uZSlyZXR1cm4gcihlLnZhbHVlKTt2YXIgaT1uLmNhbGwodCxlLnZhbHVlKTtyZXR1cm4gaSYmYShpKT9pLnRoZW4ocyxsKTpsKG5ldyBUeXBlRXJyb3IoJ1lvdSBtYXkgb25seSB5aWVsZCBhIGZ1bmN0aW9uLCBwcm9taXNlLCBnZW5lcmF0b3IsIGFycmF5LCBvciBvYmplY3QsIGJ1dCB0aGUgZm9sbG93aW5nIG9iamVjdCB3YXMgcGFzc2VkOiAiJytTdHJpbmcoZS52YWx1ZSkrJyInKSl9cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWUuYXBwbHkodCxpKSksZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUubmV4dD92b2lkIHMoKTpyKGUpfSl9ZnVuY3Rpb24gbihlKXtyZXR1cm4gZT9hKGUpP2U6YyhlKXx8bChlKT9pLmNhbGwodGhpcyxlKToiZnVuY3Rpb24iPT10eXBlb2YgZT9yLmNhbGwodGhpcyxlKTpBcnJheS5pc0FycmF5KGUpP28uY2FsbCh0aGlzLGUpOmgoZSk/cy5jYWxsKHRoaXMsZSk6ZTplfWZ1bmN0aW9uIHIoZSl7dmFyIHQ9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oaSxuKXtlLmNhbGwodCxmdW5jdGlvbihlLHQpe3JldHVybiBlP24oZSk6KGFyZ3VtZW50cy5sZW5ndGg+MiYmKHQ9ZC5jYWxsKGFyZ3VtZW50cywxKSksdm9pZCBpKHQpKX0pfSl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAobix0aGlzKSl9ZnVuY3Rpb24gcyhlKXtmdW5jdGlvbiB0KGUsdCl7aVt0XT12b2lkIDAsby5wdXNoKGUudGhlbihmdW5jdGlvbihlKXtpW3RdPWV9KSl9Zm9yKHZhciBpPW5ldyBlLmNvbnN0cnVjdG9yLHI9T2JqZWN0LmtleXMoZSksbz1bXSxzPTA7czxyLmxlbmd0aDtzKyspe3ZhciBsPXJbc10sYz1uLmNhbGwodGhpcyxlW2xdKTtjJiZhKGMpP3QoYyxsKTppW2xdPWVbbF19cmV0dXJuIFByb21pc2UuYWxsKG8pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gaX0pfWZ1bmN0aW9uIGEoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbn1mdW5jdGlvbiBsKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlLm5leHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBlWyJ0aHJvdyJdfWZ1bmN0aW9uIGMoZSl7dmFyIHQ9ZS5jb25zdHJ1Y3RvcjtyZXR1cm4gdD8iR2VuZXJhdG9yRnVuY3Rpb24iPT09dC5uYW1lfHwiR2VuZXJhdG9yRnVuY3Rpb24iPT09dC5kaXNwbGF5TmFtZT8hMDpsKHQucHJvdG90eXBlKTohMX1mdW5jdGlvbiBoKGUpe3JldHVybiBPYmplY3Q9PWUuY29uc3RydWN0b3J9dmFyIGQ9QXJyYXkucHJvdG90eXBlLnNsaWNlO2UuZXhwb3J0cz1pWyJkZWZhdWx0Il09aS5jbz1pLGkud3JhcD1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7cmV0dXJuIGkuY2FsbCh0aGlzLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX1yZXR1cm4gdC5fX2dlbmVyYXRvckZ1bmN0aW9uX189ZSx0fX0sZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXt0aGlzLm1lc3NhZ2U9InZhbGlkYXRpb24gZmFpbGVkIix0aGlzLmVycm9ycz1lLHRoaXMuYWp2PXRoaXMudmFsaWRhdGlvbj0hMH1lLmV4cG9ydHM9aSxpLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEVycm9yLnByb3RvdHlwZSksaS5wcm90b3R5cGUuY29uc3RydWN0b3I9aX0sZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7dmFyIGk9ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dGhpcy5fY2FjaGU9e319O2kucHJvdG90eXBlLnB1dD1mdW5jdGlvbihlLHQpe3RoaXMuX2NhY2hlW2VdPXR9LGkucHJvdG90eXBlLmdldD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fY2FjaGVbZV19LGkucHJvdG90eXBlLmRlbD1mdW5jdGlvbihlKXtkZWxldGUgdGhpcy5fY2FjaGVbZV19LGkucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5fY2FjaGU9e319fSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7ZT0iZnVsbCI9PWU/ImZ1bGwiOiJmYXN0Ijt2YXIgdD1mLmNvcHkobltlXSk7Zm9yKHZhciBpIGluIG4uY29tcGFyZSl0W2ldPXt2YWxpZGF0ZTp0W2ldLGNvbXBhcmU6bi5jb21wYXJlW2ldfTtyZXR1cm4gdH1mdW5jdGlvbiByKGUpe3ZhciB0PWUubWF0Y2gocCk7aWYoIXQpcmV0dXJuITE7dmFyIGk9K3RbMV0sbj0rdFsyXTtyZXR1cm4gaT49MSYmMTI+PWkmJm4+PTEmJm48PW1baV19ZnVuY3Rpb24gbyhlLHQpe3ZhciBpPWUubWF0Y2goZyk7aWYoIWkpcmV0dXJuITE7dmFyIG49aVsxXSxyPWlbMl0sbz1pWzNdLHM9aVs1XTtyZXR1cm4gMjM+PW4mJjU5Pj1yJiY1OT49byYmKCF0fHxzKX1mdW5jdGlvbiBzKGUpe3ZhciB0PWUuc3BsaXQoRSk7cmV0dXJuIHIodFswXSkmJm8odFsxXSwhMCl9ZnVuY3Rpb24gYShlKXtyZXR1cm4gZS5sZW5ndGg8PTI1NSYmdi50ZXN0KGUpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGIudGVzdChlKSYmdy50ZXN0KGUpfWZ1bmN0aW9uIGMoZSl7dHJ5e3JldHVybiBuZXcgUmVnRXhwKGUpLCEwfWNhdGNoKHQpe3JldHVybiExfX1mdW5jdGlvbiBoKGUsdCl7cmV0dXJuIGUmJnQ/ZT50PzE6dD5lPy0xOmU9PT10PzA6dm9pZCAwOnZvaWQgMH1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIGUmJnQmJihlPWUubWF0Y2goZyksdD10Lm1hdGNoKGcpLGUmJnQpPyhlPWVbMV0rZVsyXStlWzNdKyhlWzRdfHwiIiksdD10WzFdK3RbMl0rdFszXSsodFs0XXx8IiIpLGU+dD8xOnQ+ZT8tMTplPT09dD8wOnZvaWQgMCk6dm9pZCAwfWZ1bmN0aW9uIHUoZSx0KXtpZihlJiZ0KXtlPWUuc3BsaXQoRSksdD10LnNwbGl0KEUpO3ZhciBpPWgoZVswXSx0WzBdKTtpZih2b2lkIDAhPT1pKXJldHVybiBpfHxkKGVbMV0sdFsxXSl9fXZhciBmPWkoMTEpLHA9L15cZFxkXGRcZC0oXGRcZCktKFxkXGQpJC8sbT1bMCwzMSwyOSwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sZz0vXihcZFxkKTooXGRcZCk6KFxkXGQpKFwuXGQrKT8oenxbKy1dXGRcZDpcZFxkKT8kL2ksdj0vXlthLXpdKD86KD86Wy0wLTlhLXpdezAsNjF9KT9bMC05YS16XSk/KFwuW2Etel0oPzooPzpbLTAtOWEtel17MCw2MX0pP1swLTlhLXpdKT8pKiQvaSx3PS9eKD86W2Etel1bYS16MC05K1wtLl0qOik/KD86XC8/XC8oPzooPzpbYS16MC05XC0uX34hJCYnKCkqKyw7PTpdfCVbMC05YS1mXXsyfSkqQCk/KD86XFsoPzooPzooPzooPzpbMC05YS1mXXsxLDR9Oil7Nn18OjooPzpbMC05YS1mXXsxLDR9Oil7NX18KD86WzAtOWEtZl17MSw0fSk/OjooPzpbMC05YS1mXXsxLDR9Oil7NH18KD86KD86WzAtOWEtZl17MSw0fTopezAsMX1bMC05YS1mXXsxLDR9KT86Oig/OlswLTlhLWZdezEsNH06KXszfXwoPzooPzpbMC05YS1mXXsxLDR9Oil7MCwyfVswLTlhLWZdezEsNH0pPzo6KD86WzAtOWEtZl17MSw0fTopezJ9fCg/Oig/OlswLTlhLWZdezEsNH06KXswLDN9WzAtOWEtZl17MSw0fSk/OjpbMC05YS1mXXsxLDR9OnwoPzooPzpbMC05YS1mXXsxLDR9Oil7MCw0fVswLTlhLWZdezEsNH0pPzo6KSg/OlswLTlhLWZdezEsNH06WzAtOWEtZl17MSw0fXwoPzooPzoyNVswLTVdfDJbMC00XVxkfFswMV0/XGRcZD8pXC4pezN9KD86MjVbMC01XXwyWzAtNF1cZHxbMDFdP1xkXGQ/KSl8KD86KD86WzAtOWEtZl17MSw0fTopezAsNX1bMC05YS1mXXsxLDR9KT86OlswLTlhLWZdezEsNH18KD86KD86WzAtOWEtZl17MSw0fTopezAsNn1bMC05YS1mXXsxLDR9KT86Oil8W1Z2XVswLTlhLWZdK1wuW2EtejAtOVwtLl9+ISQmJygpKissOz06XSspXF18KD86KD86MjVbMC01XXwyWzAtNF1cZHxbMDFdP1xkXGQ/KVwuKXszfSg/OjI1WzAtNV18MlswLTRdXGR8WzAxXT9cZFxkPyl8KD86W2EtejAtOVwtLl9+ISQmJygpKissOz1dfCVbMC05YS1mXXsyfSkqKSg/OjpcZCopPyg/OlwvKD86W2EtejAtOVwtLl9+ISQmJygpKissOz06QF18JVswLTlhLWZdezJ9KSopKnxcLyg/Oig/OlthLXowLTlcLS5ffiEkJicoKSorLDs9OkBdfCVbMC05YS1mXXsyfSkrKD86XC8oPzpbYS16MC05XC0uX34hJCYnKCkqKyw7PTpAXXwlWzAtOWEtZl17Mn0pKikqKT98KD86W2EtejAtOVwtLl9+ISQmJygpKissOz06QF18JVswLTlhLWZdezJ9KSsoPzpcLyg/OlthLXowLTlcLS5ffiEkJicoKSorLDs9OkBdfCVbMC05YS1mXXsyfSkqKSopKD86XD8oPzpbYS16MC05XC0uX34hJCYnKCkqKyw7PTpAXC8/XXwlWzAtOWEtZl17Mn0pKik/KD86XCMoPzpbYS16MC05XC0uX34hJCYnKCkqKyw7PTpAXC8/XXwlWzAtOWEtZl17Mn0pKik/JC9pLHk9L14oPzp1cm5cOnV1aWRcOik/WzAtOWEtZl17OH0tKD86WzAtOWEtZl17NH0tKXszfVswLTlhLWZdezEyfSQvaSxBPS9eKD86XC8oPzpbXn5cL118fjB8fjEpKykqKD86XC8pPyR8XlwjKD86XC8oPzpbYS16MC05X1wtXC4hJCYnKCkqKyw7Oj1AXXwlWzAtOWEtZl17Mn18fjB8fjEpKykqKD86XC8pPyQvaSxDPS9eKD86MHxbMS05XVswLTldKikoPzpcI3woPzpcLyg/OlteflwvXXx+MHx+MSkrKSooPzpcLyk/KSQvO2UuZXhwb3J0cz1uLG4uZmFzdD17ZGF0ZTovXlxkXGRcZFxkLVswLTFdXGQtWzAtM11cZCQvLHRpbWU6L15bMC0yXVxkOlswLTVdXGQ6WzAtNV1cZCg/OlwuXGQrKT8oPzp6fFsrLV1cZFxkOlxkXGQpPyQvaSwiZGF0ZS10aW1lIjovXlxkXGRcZFxkLVswLTFdXGQtWzAtM11cZFt0XHNdWzAtMl1cZDpbMC01XVxkOlswLTVdXGQoPzpcLlxkKyk/KD86enxbKy1dXGRcZDpcZFxkKSQvaSx1cmk6L14oPzpbYS16XVthLXowLTkrLS5dKik/KD86XDp8XC8pXC8/W15cc10qJC9pLGVtYWlsOi9eW2EtejAtOS4hIyQlJicqK1wvPT9eX2B7fH1+LV0rQFthLXowLTldKD86W2EtejAtOS1dezAsNjF9W2EtejAtOV0pPyg/OlwuW2EtejAtOV0oPzpbYS16MC05LV17MCw2MX1bYS16MC05XSk/KSokL2ksaG9zdG5hbWU6dixpcHY0Oi9eKD86KD86MjVbMC01XXwyWzAtNF1cZHxbMDFdP1xkXGQ/KVwuKXszfSg/OjI1WzAtNV18MlswLTRdXGR8WzAxXT9cZFxkPykkLyxpcHY2Oi9eXHMqKD86KD86KD86WzAtOWEtZl17MSw0fTopezd9KD86WzAtOWEtZl17MSw0fXw6KSl8KD86KD86WzAtOWEtZl17MSw0fTopezZ9KD86OlswLTlhLWZdezEsNH18KD86KD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkoPzpcLig/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSl8OikpfCg/Oig/OlswLTlhLWZdezEsNH06KXs1fSg/Oig/Oig/OjpbMC05YS1mXXsxLDR9KXsxLDJ9KXw6KD86KD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkoPzpcLig/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSl8OikpfCg/Oig/OlswLTlhLWZdezEsNH06KXs0fSg/Oig/Oig/OjpbMC05YS1mXXsxLDR9KXsxLDN9KXwoPzooPzo6WzAtOWEtZl17MSw0fSk/Oig/Oig/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKD86XC4oPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pKXw6KSl8KD86KD86WzAtOWEtZl17MSw0fTopezN9KD86KD86KD86OlswLTlhLWZdezEsNH0pezEsNH0pfCg/Oig/OjpbMC05YS1mXXsxLDR9KXswLDJ9Oig/Oig/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKD86XC4oPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pKXw6KSl8KD86KD86WzAtOWEtZl17MSw0fTopezJ9KD86KD86KD86OlswLTlhLWZdezEsNH0pezEsNX0pfCg/Oig/OjpbMC05YS1mXXsxLDR9KXswLDN9Oig/Oig/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKD86XC4oPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pKXw6KSl8KD86KD86WzAtOWEtZl17MSw0fTopezF9KD86KD86KD86OlswLTlhLWZdezEsNH0pezEsNn0pfCg/Oig/OjpbMC05YS1mXXsxLDR9KXswLDR9Oig/Oig/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKD86XC4oPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pKXw6KSl8KD86Oig/Oig/Oig/OjpbMC05YS1mXXsxLDR9KXsxLDd9KXwoPzooPzo6WzAtOWEtZl17MSw0fSl7MCw1fTooPzooPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSg/OlwuKD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkpezN9KSl8OikpKSg/OiUuKyk/XHMqJC9pLHJlZ2V4OmMsdXVpZDp5LCJqc29uLXBvaW50ZXIiOkEsInJlbGF0aXZlLWpzb24tcG9pbnRlciI6Q30sbi5mdWxsPXtkYXRlOnIsdGltZTpvLCJkYXRlLXRpbWUiOnMsdXJpOmwsZW1haWw6L15bYS16MC05ISMkJSYnKitcLz0/Xl9ge3x9fi1dKyg/OlwuW2EtejAtOSEjJCUmJycqK1wvPT9eX2B7fH1+LV0rKSpAKD86W2EtejAtOV0oPzpbYS16MC05LV0qW2EtejAtOV0pP1wuKStbYS16MC05XSg/OlthLXowLTktXSpbYS16MC05XSk/JC9pLGhvc3RuYW1lOmEsaXB2NDovXig/Oig/OjI1WzAtNV18MlswLTRdXGR8WzAxXT9cZFxkPylcLil7M30oPzoyNVswLTVdfDJbMC00XVxkfFswMV0/XGRcZD8pJC8saXB2NjovXlxzKig/Oig/Oig/OlswLTlhLWZdezEsNH06KXs3fSg/OlswLTlhLWZdezEsNH18OikpfCg/Oig/OlswLTlhLWZdezEsNH06KXs2fSg/OjpbMC05YS1mXXsxLDR9fCg/Oig/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKD86XC4oPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pfDopKXwoPzooPzpbMC05YS1mXXsxLDR9Oil7NX0oPzooPzooPzo6WzAtOWEtZl17MSw0fSl7MSwyfSl8Oig/Oig/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKD86XC4oPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pfDopKXwoPzooPzpbMC05YS1mXXsxLDR9Oil7NH0oPzooPzooPzo6WzAtOWEtZl17MSw0fSl7MSwzfSl8KD86KD86OlswLTlhLWZdezEsNH0pPzooPzooPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSg/OlwuKD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkpezN9KSl8OikpfCg/Oig/OlswLTlhLWZdezEsNH06KXszfSg/Oig/Oig/OjpbMC05YS1mXXsxLDR9KXsxLDR9KXwoPzooPzo6WzAtOWEtZl17MSw0fSl7MCwyfTooPzooPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSg/OlwuKD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkpezN9KSl8OikpfCg/Oig/OlswLTlhLWZdezEsNH06KXsyfSg/Oig/Oig/OjpbMC05YS1mXXsxLDR9KXsxLDV9KXwoPzooPzo6WzAtOWEtZl17MSw0fSl7MCwzfTooPzooPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSg/OlwuKD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkpezN9KSl8OikpfCg/Oig/OlswLTlhLWZdezEsNH06KXsxfSg/Oig/Oig/OjpbMC05YS1mXXsxLDR9KXsxLDZ9KXwoPzooPzo6WzAtOWEtZl17MSw0fSl7MCw0fTooPzooPzoyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSg/OlwuKD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkpezN9KSl8OikpfCg/OjooPzooPzooPzo6WzAtOWEtZl17MSw0fSl7MSw3fSl8KD86KD86OlswLTlhLWZdezEsNH0pezAsNX06KD86KD86MjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkoPzpcLig/OjI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSkpfDopKSkoPzolLispP1xzKiQvaSxyZWdleDpjLHV1aWQ6eSwianNvbi1wb2ludGVyIjpBLCJyZWxhdGl2ZS1qc29uLXBvaW50ZXIiOkN9LG4uY29tcGFyZT17ZGF0ZTpoLHRpbWU6ZCwiZGF0ZS10aW1lIjp1fTt2YXIgRT0vdHxccy9pLGI9L1wvfFw6L30sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKDI0KSxyPWkoMTEpO2UuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciBlPVt7dHlwZToibnVtYmVyIixydWxlczpbIm1heGltdW0iLCJtaW5pbXVtIiwibXVsdGlwbGVPZiJdfSx7dHlwZToic3RyaW5nIixydWxlczpbIm1heExlbmd0aCIsIm1pbkxlbmd0aCIsInBhdHRlcm4iLCJmb3JtYXQiXX0se3R5cGU6ImFycmF5IixydWxlczpbIm1heEl0ZW1zIiwibWluSXRlbXMiLCJ1bmlxdWVJdGVtcyIsIml0ZW1zIl19LHt0eXBlOiJvYmplY3QiLHJ1bGVzOlsibWF4UHJvcGVydGllcyIsIm1pblByb3BlcnRpZXMiLCJyZXF1aXJlZCIsImRlcGVuZGVuY2llcyIsInByb3BlcnRpZXMiXX0se3J1bGVzOlsiJHJlZiIsImVudW0iLCJub3QiLCJhbnlPZiIsIm9uZU9mIiwiYWxsT2YiXX1dO3JldHVybiBlLmFsbD1bInR5cGUiLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsInBhdHRlcm5Qcm9wZXJ0aWVzIl0sZS5rZXl3b3Jkcz1bImFkZGl0aW9uYWxJdGVtcyIsIiRzY2hlbWEiLCJpZCIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJkZWZhdWx0Il0sZS50eXBlcz1bIm51bWJlciIsImludGVnZXIiLCJzdHJpbmciLCJhcnJheSIsIm9iamVjdCIsImJvb2xlYW4iLCJudWxsIl0sZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QucnVsZXM9dC5ydWxlcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGUuYWxsLnB1c2godCkse2tleXdvcmQ6dCxjb2RlOm5bdF19fSl9KSxlLmtleXdvcmRzPXIudG9IYXNoKGUuYWxsLmNvbmNhdChlLmtleXdvcmRzKSksZS5hbGw9ci50b0hhc2goZS5hbGwpLGUudHlwZXM9ci50b0hhc2goZS50eXBlcyksZX19LGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXskcmVmOmkoMjUpLGFsbE9mOmkoMjYpLGFueU9mOmkoMjcpLGRlcGVuZGVuY2llczppKDI4KSwiZW51bSI6aSgyOSksZm9ybWF0OmkoMzApLGl0ZW1zOmkoMzEpLG1heGltdW06aSgzMiksbWluaW11bTppKDMyKSxtYXhJdGVtczppKDMzKSxtaW5JdGVtczppKDMzKSxtYXhMZW5ndGg6aSgzNCksbWluTGVuZ3RoOmkoMzQpLG1heFByb3BlcnRpZXM6aSgzNSksbWluUHJvcGVydGllczppKDM1KSxtdWx0aXBsZU9mOmkoMzYpLG5vdDppKDM3KSxvbmVPZjppKDM4KSxwYXR0ZXJuOmkoMzkpLHByb3BlcnRpZXM6aSg0MCkscmVxdWlyZWQ6aSg0MSksdW5pcXVlSXRlbXM6aSg0MiksdmFsaWRhdGU6aSgxOCl9fSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgaSxuLHIsbz0iICIscz1lLmxldmVsLGE9ZS5kYXRhTGV2ZWwsbD1lLnNjaGVtYVt0XSxjPWUuZXJyU2NoZW1hUGF0aCsiLyIrdCxoPSFlLm9wdHMuYWxsRXJyb3JzLGQ9ImRhdGEiKyhhfHwiIiksdT0idmFsaWQiK3M7aWYoIiMiPT1sfHwiIy8iPT1sKWUuaXNSb290PyhuPWUuYXN5bmMscj0idmFsaWRhdGUiKToobj1lLnJvb3Quc2NoZW1hLiRhc3luYz09PSEwLHI9InJvb3QucmVmVmFsWzBdIik7ZWxzZXt2YXIgZj1lLnJlc29sdmVSZWYoZS5iYXNlSWQsbCxlLmlzUm9vdCk7aWYodm9pZCAwPT09Zil7dmFyIHA9ImNhbid0IHJlc29sdmUgcmVmZXJlbmNlICIrbCsiIGZyb20gaWQgIitlLmJhc2VJZDtpZigiZmFpbCI9PWUub3B0cy5taXNzaW5nUmVmcyl7Y29uc29sZS5sb2cocCk7dmFyIG09bXx8W107bS5wdXNoKG8pLG89IiIsZS5jcmVhdGVFcnJvcnMhPT0hMT8obys9IiB7IGtleXdvcmQ6ICciKyhpfHwiJHJlZiIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytjKyJcIiAsIHBhcmFtczogeyByZWY6ICciK2UudXRpbC5lc2NhcGVRdW90ZXMobCkrIicgfSAiLGUub3B0cy5tZXNzYWdlcyE9PSExJiYobys9IiAsIG1lc3NhZ2U6ICdjYW5cXCd0IHJlc29sdmUgcmVmZXJlbmNlICIrZS51dGlsLmVzY2FwZVF1b3RlcyhsKSsiJyAiKSxlLm9wdHMudmVyYm9zZSYmKG8rPSIgLCBzY2hlbWE6ICIrZS51dGlsLnRvUXVvdGVkU3RyaW5nKGwpKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2QrIiAiKSxvKz0iIH0gIik6bys9IiB7fSAiO3ZhciBnPW87bz1tLnBvcCgpLG8rPSFlLmNvbXBvc2l0ZVJ1bGUmJmg/ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWyIrZysiXSk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSBbIitnKyJdOyByZXR1cm4gZmFsc2U7ICI6IiB2YXIgZXJyID0gIitnKyI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIixoJiYobys9IiBpZiAoZmFsc2UpIHsgIil9ZWxzZXtpZigiaWdub3JlIiE9ZS5vcHRzLm1pc3NpbmdSZWZzKXt2YXIgdj1uZXcgRXJyb3IocCk7dGhyb3cgdi5taXNzaW5nUmVmPWUucmVzb2x2ZS51cmwoZS5iYXNlSWQsbCksdi5taXNzaW5nU2NoZW1hPWUucmVzb2x2ZS5ub3JtYWxpemVJZChlLnJlc29sdmUuZnVsbFBhdGgodi5taXNzaW5nUmVmKSksdn1jb25zb2xlLmxvZyhwKSxoJiYobys9IiBpZiAodHJ1ZSkgeyAiKX19ZWxzZSBpZihmLmlubGluZSl7dmFyIHc9ZS51dGlsLmNvcHkoZSk7dy5sZXZlbCsrLHcuc2NoZW1hPWYuc2NoZW1hLHcuc2NoZW1hUGF0aD0iIix3LmVyclNjaGVtYVBhdGg9bDt2YXIgeT1lLnZhbGlkYXRlKHcpLnJlcGxhY2UoL3ZhbGlkYXRlXC5zY2hlbWEvZyxmLmNvZGUpO28rPSIgIit5KyIgIixoJiYobys9IiBpZiAodmFsaWQiK3cubGV2ZWwrIikgeyAiKX1lbHNlIG49Zi5hc3luYyxyPWYuY29kZX1pZihyKXt2YXIgbT1tfHxbXTttLnB1c2gobyksbz0iIixvKz1lLm9wdHMucGFzc0NvbnRleHQ/IiAiK3IrIi5jYWxsKHRoaXMsICI6IiAiK3IrIiggIixvKz0iICIrZCsiLCAoZGF0YVBhdGggfHwgJycpIiwnIiInIT1lLmVycm9yUGF0aCYmKG8rPSIgKyAiK2UuZXJyb3JQYXRoKSxvKz1hPyIgLCBkYXRhIisoYS0xfHwiIikrIiAsICIrZS5kYXRhUGF0aEFyclthXSsiICI6IiAsIHBhcmVudERhdGEgLCBwYXJlbnREYXRhUHJvcGVydHkgIixvKz0iKSAgIjt2YXIgQT1vO2lmKG89bS5wb3AoKSxuKXtpZighZS5hc3luYyl0aHJvdyBuZXcgRXJyb3IoImFzeW5jIHNjaGVtYSByZWZlcmVuY2VkIGJ5IHN5bmMgc2NoZW1hIik7bys9IiB0cnkgeyAiLGgmJihvKz0idmFyICIrdSsiID0iKSxvKz0iICIrZS55aWVsZEF3YWl0KyIgIitBKyI7IH0gY2F0Y2ggKGUpIHsgaWYgKCEoZSBpbnN0YW5jZW9mIFZhbGlkYXRpb25FcnJvcikpIHRocm93IGU7IGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gZS5lcnJvcnM7IGVsc2UgdkVycm9ycyA9IHZFcnJvcnMuY29uY2F0KGUuZXJyb3JzKTsgZXJyb3JzID0gdkVycm9ycy5sZW5ndGg7IH0gIixoJiYobys9IiBpZiAoIit1KyIpIHsgIil9ZWxzZSBvKz0iIGlmICghIitBKyIpIHsgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSAiK3IrIi5lcnJvcnM7IGVsc2UgdkVycm9ycyA9IHZFcnJvcnMuY29uY2F0KCIrcisiLmVycm9ycyk7IGVycm9ycyA9IHZFcnJvcnMubGVuZ3RoOyB9ICIsaCYmKG8rPSIgZWxzZSB7ICIpfXJldHVybiBvfX0sZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIGk9IiAiLG49ZS5zY2hlbWFbdF0scj1lLnNjaGVtYVBhdGgrIi4iK3Qsbz1lLmVyclNjaGVtYVBhdGgrIi8iK3Qscz0hZS5vcHRzLmFsbEVycm9ycyxhPWUudXRpbC5jb3B5KGUpLGw9IiI7YS5sZXZlbCsrO3ZhciBjPW47aWYoYylmb3IodmFyIGgsZD0tMSx1PWMubGVuZ3RoLTE7dT5kOyloPWNbZCs9MV0sZS51dGlsLnNjaGVtYUhhc1J1bGVzKGgsZS5SVUxFUy5hbGwpJiYoYS5zY2hlbWE9aCxhLnNjaGVtYVBhdGg9cisiWyIrZCsiXSIsYS5lcnJTY2hlbWFQYXRoPW8rIi8iK2QsaSs9IiAiK2UudmFsaWRhdGUoYSkrIiAgIixzJiYoaSs9IiBpZiAodmFsaWQiK2EubGV2ZWwrIikgeyAiLGwrPSJ9IikpO3JldHVybiBzJiYoaSs9IiAiK2wuc2xpY2UoMCwtMSkpLGk9ZS51dGlsLmNsZWFuVXBDb2RlKGkpfX0sZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIGksbj0iICIscj1lLmxldmVsLG89ZS5kYXRhTGV2ZWwscz1lLnNjaGVtYVt0XSxhPWUuc2NoZW1hUGF0aCsiLiIrdCxsPWUuZXJyU2NoZW1hUGF0aCsiLyIrdCxjPSFlLm9wdHMuYWxsRXJyb3JzLGg9ImRhdGEiKyhvfHwiIiksZD0idmFsaWQiK3IsdT0iZXJyc19fIityLGY9ZS51dGlsLmNvcHkoZSkscD0iIjtmLmxldmVsKys7dmFyIG09cy5ldmVyeShmdW5jdGlvbih0KXtyZXR1cm4gZS51dGlsLnNjaGVtYUhhc1J1bGVzKHQsZS5SVUxFUy5hbGwpfSk7aWYobSl7bis9IiB2YXIgIit1KyIgPSBlcnJvcnM7IHZhciAiK2QrIiA9IGZhbHNlOyAgIjt2YXIgZz1lLmNvbXBvc2l0ZVJ1bGU7ZS5jb21wb3NpdGVSdWxlPWYuY29tcG9zaXRlUnVsZT0hMDt2YXIgdj1zO2lmKHYpZm9yKHZhciB3LHk9LTEsQT12Lmxlbmd0aC0xO0E+eTspdz12W3krPTFdLGYuc2NoZW1hPXcsZi5zY2hlbWFQYXRoPWErIlsiK3krIl0iLGYuZXJyU2NoZW1hUGF0aD1sKyIvIit5LG4rPSIgIitlLnZhbGlkYXRlKGYpKyIgIitkKyIgPSAiK2QrIiB8fCB2YWxpZCIrZi5sZXZlbCsiOyBpZiAoISIrZCsiKSB7ICIscCs9In0iO2UuY29tcG9zaXRlUnVsZT1mLmNvbXBvc2l0ZVJ1bGU9ZyxuKz0iICIrcCsiIGlmICghIitkKyIpIHsgIHZhciBlcnIgPSAgICIsZS5jcmVhdGVFcnJvcnMhPT0hMT8obis9IiB7IGtleXdvcmQ6ICciKyhpfHwiYW55T2YiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsnIiAsIHBhcmFtczoge30gJyxlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnc2hvdWxkIG1hdGNoIHNvbWUgc2NoZW1hIGluIGFueU9mJyAiKSxlLm9wdHMudmVyYm9zZSYmKG4rPSIgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrYSsiICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK2Uuc2NoZW1hUGF0aCsiICwgZGF0YTogIitoKyIgIiksbis9IiB9ICIpOm4rPSIge30gIixuKz0iOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7IH0gZWxzZSB7ICBlcnJvcnMgPSAiK3UrIjsgaWYgKHZFcnJvcnMgIT09IG51bGwpIHsgaWYgKCIrdSsiKSB2RXJyb3JzLmxlbmd0aCA9ICIrdSsiOyBlbHNlIHZFcnJvcnMgPSBudWxsOyB9ICIsZS5vcHRzLmFsbEVycm9ycyYmKG4rPSIgfSAiKSxuPWUudXRpbC5jbGVhblVwQ29kZShuKX1lbHNlIGMmJihuKz0iIGlmICh0cnVlKSB7ICIpO3JldHVybiBufX0sZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIGksbj0iICIscj1lLmxldmVsLG89ZS5kYXRhTGV2ZWwscz1lLnNjaGVtYVt0XSxhPWUuc2NoZW1hUGF0aCsiLiIrdCxsPWUuZXJyU2NoZW1hUGF0aCsiLyIrdCxjPSFlLm9wdHMuYWxsRXJyb3JzLGg9ImRhdGEiKyhvfHwiIiksZD0iZXJyc19fIityLHU9ZS51dGlsLmNvcHkoZSksZj0iIjt1LmxldmVsKys7dmFyIHA9e30sbT17fTtmb3IoeSBpbiBzKXt2YXIgZz1zW3ldLHY9QXJyYXkuaXNBcnJheShnKT9tOnA7dlt5XT1nfW4rPSJ2YXIgIitkKyIgPSBlcnJvcnM7Ijt2YXIgdz1lLmVycm9yUGF0aDtuKz0idmFyIG1pc3NpbmciK3IrIjsiO2Zvcih2YXIgeSBpbiBtKXt2PW1beV0sbis9IiBpZiAoIitoK2UudXRpbC5nZXRQcm9wZXJ0eSh5KSsiICE9PSB1bmRlZmluZWQgJiYgKCAiO3ZhciBBPXY7aWYoQSlmb3IodmFyIEMsRT0tMSxiPUEubGVuZ3RoLTE7Yj5FOyl7Qz1BW0UrPTFdLEUmJihuKz0iIHx8ICIpO3ZhciBGPWUudXRpbC5nZXRQcm9wZXJ0eShDKTtuKz0iICggIitoK0YrIiA9PT0gdW5kZWZpbmVkICYmIChtaXNzaW5nIityKyIgPSAiK2UudXRpbC50b1F1b3RlZFN0cmluZyhlLm9wdHMuanNvblBvaW50ZXJzP0M6RikrIikgKSAifW4rPSIpKSB7ICAiO3ZhciB4PSJtaXNzaW5nIityLFM9IicgKyAiK3grIiArICciO2Uub3B0cy5fZXJyb3JEYXRhUGF0aFByb3BlcnR5JiYoZS5lcnJvclBhdGg9ZS5vcHRzLmpzb25Qb2ludGVycz9lLnV0aWwuZ2V0UGF0aEV4cHIodyx4LCEwKTp3KyIgKyAiK3gpO3ZhciAkPSR8fFtdOyQucHVzaChuKSxuPSIiLGUuY3JlYXRlRXJyb3JzIT09ITE/KG4rPSIgeyBrZXl3b3JkOiAnIisoaXx8ImRlcGVuZGVuY2llcyIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytsKyJcIiAsIHBhcmFtczogeyBwcm9wZXJ0eTogJyIrZS51dGlsLmVzY2FwZVF1b3Rlcyh5KSsiJywgbWlzc2luZ1Byb3BlcnR5OiAnIitTKyInLCBkZXBzQ291bnQ6ICIrdi5sZW5ndGgrIiwgZGVwczogJyIrZS51dGlsLmVzY2FwZVF1b3RlcygxPT12Lmxlbmd0aD92WzBdOnYuam9pbigiLCAiKSkrIicgfSAiLGUub3B0cy5tZXNzYWdlcyE9PSExJiYobis9IiAsIG1lc3NhZ2U6ICdzaG91bGQgaGF2ZSAiLG4rPTE9PXYubGVuZ3RoPyJwcm9wZXJ0eSAiK2UudXRpbC5lc2NhcGVRdW90ZXModlswXSk6InByb3BlcnRpZXMgIitlLnV0aWwuZXNjYXBlUXVvdGVzKHYuam9pbigiLCAiKSksbis9IiB3aGVuIHByb3BlcnR5ICIrZS51dGlsLmVzY2FwZVF1b3Rlcyh5KSsiIGlzIHByZXNlbnQnICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIithKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciBEPW47bj0kLnBvcCgpLG4rPSFlLmNvbXBvc2l0ZVJ1bGUmJmM/ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWyIrRCsiXSk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSBbIitEKyJdOyByZXR1cm4gZmFsc2U7ICI6IiB2YXIgZXJyID0gIitEKyI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIixuKz0iIH0gICAiLGMmJihmKz0ifSIsbis9IiBlbHNlIHsgIil9ZS5lcnJvclBhdGg9dztmb3IodmFyIHkgaW4gcCl7dmFyIGc9cFt5XTtlLnV0aWwuc2NoZW1hSGFzUnVsZXMoZyxlLlJVTEVTLmFsbCkmJihuKz0iIHZhbGlkIit1LmxldmVsKyIgPSB0cnVlOyBpZiAoIitoKyJbJyIreSsiJ10gIT09IHVuZGVmaW5lZCkgeyAiLHUuc2NoZW1hPWcsdS5zY2hlbWFQYXRoPWErZS51dGlsLmdldFByb3BlcnR5KHkpLHUuZXJyU2NoZW1hUGF0aD1sKyIvIitlLnV0aWwuZXNjYXBlRnJhZ21lbnQoeSksbis9IiAiK2UudmFsaWRhdGUodSkrIiB9ICAiLGMmJihuKz0iIGlmICh2YWxpZCIrdS5sZXZlbCsiKSB7ICIsZis9In0iKSl9cmV0dXJuIGMmJihuKz0iICAgIitmKyIgaWYgKCIrZCsiID09IGVycm9ycykgeyIpLG49ZS51dGlsLmNsZWFuVXBDb2RlKG4pfX0sZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIGksbj0iICIscj1lLmxldmVsLG89ZS5kYXRhTGV2ZWwscz1lLnNjaGVtYVt0XSxhPWUuc2NoZW1hUGF0aCsiLiIrdCxsPWUuZXJyU2NoZW1hUGF0aCsiLyIrdCxjPSFlLm9wdHMuYWxsRXJyb3JzLGg9ImRhdGEiKyhvfHwiIiksZD0idmFsaWQiK3IsdT1lLm9wdHMudjUmJnMuJGRhdGEsZj11P2UudXRpbC5nZXREYXRhKHMuJGRhdGEsbyxlLmRhdGFQYXRoQXJyKTpzOwp1JiYobis9IiB2YXIgc2NoZW1hIityKyIgPSAiK2YrIjsgIixmPSJzY2hlbWEiK3IpO3ZhciBwPSJpIityO3V8fChuKz0iIHZhciBzY2hlbWEiK3IrIiA9IHZhbGlkYXRlLnNjaGVtYSIrYSsiOyIpLG4rPSJ2YXIgIitkKyI7Iix1JiYobis9IiBpZiAoc2NoZW1hIityKyIgPT09IHVuZGVmaW5lZCkgIitkKyIgPSB0cnVlOyBlbHNlIGlmICghQXJyYXkuaXNBcnJheShzY2hlbWEiK3IrIikpICIrZCsiID0gZmFsc2U7IGVsc2UgeyIpLG4rPSIiK2QrIiA9IGZhbHNlO2ZvciAodmFyICIrcCsiPTA7ICIrcCsiPHNjaGVtYSIrcisiLmxlbmd0aDsgIitwKyIrKykgaWYgKGVxdWFsKCIraCsiLCBzY2hlbWEiK3IrIlsiK3ArIl0pKSB7ICIrZCsiID0gdHJ1ZTsgYnJlYWs7IH0iLHUmJihuKz0iICB9ICAiKSxuKz0iIGlmICghIitkKyIpIHsgICAiO3ZhciBtPW18fFtdO20ucHVzaChuKSxuPSIiLGUuY3JlYXRlRXJyb3JzIT09ITE/KG4rPSIgeyBrZXl3b3JkOiAnIisoaXx8ImVudW0iKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsnIiAsIHBhcmFtczoge30gJyxlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnc2hvdWxkIGJlIGVxdWFsIHRvIG9uZSBvZiB0aGUgYWxsb3dlZCB2YWx1ZXMnICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIithKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciBnPW47cmV0dXJuIG49bS5wb3AoKSxuKz0hZS5jb21wb3NpdGVSdWxlJiZjP2UuYXN5bmM/IiB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsiK2crIl0pOyAiOiIgdmFsaWRhdGUuZXJyb3JzID0gWyIrZysiXTsgcmV0dXJuIGZhbHNlOyAiOiIgdmFyIGVyciA9ICIrZysiOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICIsbis9IiB9IixjJiYobis9IiBlbHNlIHsgIiksbn19LGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBpLG49IiAiLHI9ZS5sZXZlbCxvPWUuZGF0YUxldmVsLHM9ZS5zY2hlbWFbdF0sYT1lLnNjaGVtYVBhdGgrIi4iK3QsbD1lLmVyclNjaGVtYVBhdGgrIi8iK3QsYz0hZS5vcHRzLmFsbEVycm9ycyxoPSJkYXRhIisob3x8IiIpO2lmKGUub3B0cy5mb3JtYXQ9PT0hMSlyZXR1cm4gYyYmKG4rPSIgaWYgKHRydWUpIHsgIiksbjt2YXIgZD1lLm9wdHMudjUmJnMuJGRhdGEsdT1kP2UudXRpbC5nZXREYXRhKHMuJGRhdGEsbyxlLmRhdGFQYXRoQXJyKTpzO2lmKGQmJihuKz0iIHZhciBzY2hlbWEiK3IrIiA9ICIrdSsiOyAiLHU9InNjaGVtYSIrciksZCl7dmFyIGY9ImZvcm1hdCIrcjtuKz0iIHZhciAiK2YrIiA9IGZvcm1hdHNbIit1KyJdOyB2YXIgaXNPYmplY3QiK3IrIiA9IHR5cGVvZiAiK2YrIiA9PSAnb2JqZWN0JyAmJiAhKCIrZisiIGluc3RhbmNlb2YgUmVnRXhwKSAmJiAiK2YrIi52YWxpZGF0ZTsgaWYgKGlzT2JqZWN0IityKyIpIHsgdmFyIGFzeW5jIityKyIgPSAiK2YrIi5hc3luYzsgIitmKyIgPSAiK2YrIi52YWxpZGF0ZTsgfSBpZiAoICAiLGQmJihuKz0iICgiK3UrIiAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiAiK3UrIiAhPSAnc3RyaW5nJykgfHwgIiksbis9IiAoIitmKyIgJiYgISh0eXBlb2YgIitmKyIgPT0gJ2Z1bmN0aW9uJyA/ICIsbis9ZS5hc3luYz8iIChhc3luYyIrcisiID8gIitlLnlpZWxkQXdhaXQrIiAiK2YrIigiK2grIikgOiAiK2YrIigiK2grIikpICI6IiAiK2YrIigiK2grIikgIixuKz0iIDogIitmKyIudGVzdCgiK2grIikpKSkgeyJ9ZWxzZXt2YXIgZj1lLmZvcm1hdHNbc107aWYoIWYpcmV0dXJuIGMmJihuKz0iIGlmICh0cnVlKSB7ICIpLG47dmFyIHA9Im9iamVjdCI9PXR5cGVvZiBmJiYhKGYgaW5zdGFuY2VvZiBSZWdFeHApJiZmLnZhbGlkYXRlO2lmKHApe3ZhciBtPWYuYXN5bmM9PT0hMDtmPWYudmFsaWRhdGV9aWYobSl7aWYoIWUuYXN5bmMpdGhyb3cgbmV3IEVycm9yKCJhc3luYyBmb3JtYXQgaW4gc3luYyBzY2hlbWEiKTt2YXIgZz0iZm9ybWF0cyIrZS51dGlsLmdldFByb3BlcnR5KHMpKyIudmFsaWRhdGUiO24rPSIgaWYgKCEoIitlLnlpZWxkQXdhaXQrIiAiK2crIigiK2grIikpKSB7ICJ9ZWxzZXtuKz0iIGlmICghICI7dmFyIGc9ImZvcm1hdHMiK2UudXRpbC5nZXRQcm9wZXJ0eShzKTtwJiYoZys9Ii52YWxpZGF0ZSIpLG4rPSJmdW5jdGlvbiI9PXR5cGVvZiBmPyIgIitnKyIoIitoKyIpICI6IiAiK2crIi50ZXN0KCIraCsiKSAiLG4rPSIpIHsgIn19dmFyIHY9dnx8W107di5wdXNoKG4pLG49IiIsZS5jcmVhdGVFcnJvcnMhPT0hMT8obis9IiB7IGtleXdvcmQ6ICciKyhpfHwiZm9ybWF0IikrIicgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8ICcnKSArICIrZS5lcnJvclBhdGgrJyAsIHNjaGVtYVBhdGg6ICInK2wrJyIgLCBwYXJhbXM6IHsgZm9ybWF0OiAgJyxuKz1kPyIiK3U6IiIrZS51dGlsLnRvUXVvdGVkU3RyaW5nKHMpLG4rPSIgIH0gIixlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnc2hvdWxkIG1hdGNoIGZvcm1hdCBcIiIsbis9ZD8iJyArICIrdSsiICsgJyI6IiIrZS51dGlsLmVzY2FwZVF1b3RlcyhzKSxuKz0iXCInICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogICIsbis9ZD8idmFsaWRhdGUuc2NoZW1hIithOiIiK2UudXRpbC50b1F1b3RlZFN0cmluZyhzKSxuKz0iICAgICAgICAgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciB3PW47cmV0dXJuIG49di5wb3AoKSxuKz0hZS5jb21wb3NpdGVSdWxlJiZjP2UuYXN5bmM/IiB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsiK3crIl0pOyAiOiIgdmFsaWRhdGUuZXJyb3JzID0gWyIrdysiXTsgcmV0dXJuIGZhbHNlOyAiOiIgdmFyIGVyciA9ICIrdysiOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICIsbis9IiB9ICIsYyYmKG4rPSIgZWxzZSB7ICIpLG59fSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgaSxuPSIgIixyPWUubGV2ZWwsbz1lLmRhdGFMZXZlbCxzPWUuc2NoZW1hW3RdLGE9ZS5zY2hlbWFQYXRoKyIuIit0LGw9ZS5lcnJTY2hlbWFQYXRoKyIvIit0LGM9IWUub3B0cy5hbGxFcnJvcnMsaD0iZGF0YSIrKG98fCIiKSxkPSJ2YWxpZCIrcix1PSJlcnJzX18iK3IsZj1lLnV0aWwuY29weShlKSxwPSIiO2YubGV2ZWwrKzt2YXIgbT1mLmRhdGFMZXZlbD1lLmRhdGFMZXZlbCsxLGc9ImRhdGEiK207aWYobis9InZhciAiK3UrIiA9IGVycm9yczt2YXIgIitkKyI7IixBcnJheS5pc0FycmF5KHMpKXt2YXIgdj1lLnNjaGVtYS5hZGRpdGlvbmFsSXRlbXM7aWYodj09PSExKXtuKz0iICIrZCsiID0gIitoKyIubGVuZ3RoIDw9ICIrcy5sZW5ndGgrIjsgIjt2YXIgdz1sO2w9ZS5lcnJTY2hlbWFQYXRoKyIvYWRkaXRpb25hbEl0ZW1zIixuKz0iICBpZiAoISIrZCsiKSB7ICAgIjt2YXIgeT15fHxbXTt5LnB1c2gobiksbj0iIixlLmNyZWF0ZUVycm9ycyE9PSExPyhuKz0iIHsga2V5d29yZDogJyIrKGl8fCJhZGRpdGlvbmFsSXRlbXMiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsnIiAsIHBhcmFtczogeyBsaW1pdDogJytzLmxlbmd0aCsiIH0gIixlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnc2hvdWxkIE5PVCBoYXZlIG1vcmUgdGhhbiAiK3MubGVuZ3RoKyIgaXRlbXMnICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogZmFsc2UgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciBBPW47bj15LnBvcCgpLG4rPSFlLmNvbXBvc2l0ZVJ1bGUmJmM/ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWyIrQSsiXSk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSBbIitBKyJdOyByZXR1cm4gZmFsc2U7ICI6IiB2YXIgZXJyID0gIitBKyI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIixuKz0iIH0gIixsPXcsYyYmKHArPSJ9IixuKz0iIGVsc2UgeyAiKX12YXIgQz1zO2lmKEMpZm9yKHZhciBFLGI9LTEsRj1DLmxlbmd0aC0xO0Y+YjspaWYoRT1DW2IrPTFdLGUudXRpbC5zY2hlbWFIYXNSdWxlcyhFLGUuUlVMRVMuYWxsKSl7bis9IiB2YWxpZCIrZi5sZXZlbCsiID0gdHJ1ZTsgaWYgKCIraCsiLmxlbmd0aCA+ICIrYisiKSB7ICI7dmFyIHg9aCsiWyIrYisiXSI7Zi5zY2hlbWE9RSxmLnNjaGVtYVBhdGg9YSsiWyIrYisiXSIsZi5lcnJTY2hlbWFQYXRoPWwrIi8iK2IsZi5lcnJvclBhdGg9ZS51dGlsLmdldFBhdGhFeHByKGUuZXJyb3JQYXRoLGIsZS5vcHRzLmpzb25Qb2ludGVycywhMCksZi5kYXRhUGF0aEFyclttXT1iO3ZhciBTPWUudmFsaWRhdGUoZik7bis9ZS51dGlsLnZhck9jY3VyZW5jZXMoUyxnKTwyPyIgIitlLnV0aWwudmFyUmVwbGFjZShTLGcseCkrIiAiOiIgdmFyICIrZysiID0gIit4KyI7ICIrUysiICIsbis9IiB9ICAiLGMmJihuKz0iIGlmICh2YWxpZCIrZi5sZXZlbCsiKSB7ICIscCs9In0iKX1pZigib2JqZWN0Ij09dHlwZW9mIHYmJmUudXRpbC5zY2hlbWFIYXNSdWxlcyh2LGUuUlVMRVMuYWxsKSl7Zi5zY2hlbWE9dixmLnNjaGVtYVBhdGg9ZS5zY2hlbWFQYXRoKyIuYWRkaXRpb25hbEl0ZW1zIixmLmVyclNjaGVtYVBhdGg9ZS5lcnJTY2hlbWFQYXRoKyIvYWRkaXRpb25hbEl0ZW1zIixuKz0iIHZhbGlkIitmLmxldmVsKyIgPSB0cnVlOyBpZiAoIitoKyIubGVuZ3RoID4gIitzLmxlbmd0aCsiKSB7ICBmb3IgKHZhciBpIityKyIgPSAiK3MubGVuZ3RoKyI7IGkiK3IrIiA8ICIraCsiLmxlbmd0aDsgaSIrcisiKyspIHsgIixmLmVycm9yUGF0aD1lLnV0aWwuZ2V0UGF0aEV4cHIoZS5lcnJvclBhdGgsImkiK3IsZS5vcHRzLmpzb25Qb2ludGVycywhMCk7dmFyIHg9aCsiW2kiK3IrIl0iO2YuZGF0YVBhdGhBcnJbbV09ImkiK3I7dmFyIFM9ZS52YWxpZGF0ZShmKTtuKz1lLnV0aWwudmFyT2NjdXJlbmNlcyhTLGcpPDI/IiAiK2UudXRpbC52YXJSZXBsYWNlKFMsZyx4KSsiICI6IiB2YXIgIitnKyIgPSAiK3grIjsgIitTKyIgIixjJiYobis9IiBpZiAoIXZhbGlkIitmLmxldmVsKyIpIGJyZWFrOyAiKSxuKz0iIH0gfSAgIixjJiYobis9IiBpZiAodmFsaWQiK2YubGV2ZWwrIikgeyAiLHArPSJ9Iil9fWVsc2UgaWYoZS51dGlsLnNjaGVtYUhhc1J1bGVzKHMsZS5SVUxFUy5hbGwpKXtmLnNjaGVtYT1zLGYuc2NoZW1hUGF0aD1hLGYuZXJyU2NoZW1hUGF0aD1sLG4rPSIgIGZvciAodmFyIGkiK3IrIiA9IDA7IGkiK3IrIiA8ICIraCsiLmxlbmd0aDsgaSIrcisiKyspIHsgIixmLmVycm9yUGF0aD1lLnV0aWwuZ2V0UGF0aEV4cHIoZS5lcnJvclBhdGgsImkiK3IsZS5vcHRzLmpzb25Qb2ludGVycywhMCk7dmFyIHg9aCsiW2kiK3IrIl0iO2YuZGF0YVBhdGhBcnJbbV09ImkiK3I7dmFyIFM9ZS52YWxpZGF0ZShmKTtuKz1lLnV0aWwudmFyT2NjdXJlbmNlcyhTLGcpPDI/IiAiK2UudXRpbC52YXJSZXBsYWNlKFMsZyx4KSsiICI6IiB2YXIgIitnKyIgPSAiK3grIjsgIitTKyIgIixjJiYobis9IiBpZiAoIXZhbGlkIitmLmxldmVsKyIpIGJyZWFrOyAiKSxuKz0iIH0gICIsYyYmKG4rPSIgaWYgKHZhbGlkIitmLmxldmVsKyIpIHsgIixwKz0ifSIpfXJldHVybiBjJiYobis9IiAiK3ArIiBpZiAoIit1KyIgPT0gZXJyb3JzKSB7Iiksbj1lLnV0aWwuY2xlYW5VcENvZGUobil9fSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgaSxuPSIgIixyPWUubGV2ZWwsbz1lLmRhdGFMZXZlbCxzPWUuc2NoZW1hW3RdLGE9ZS5zY2hlbWFQYXRoKyIuIit0LGw9ZS5lcnJTY2hlbWFQYXRoKyIvIit0LGM9IWUub3B0cy5hbGxFcnJvcnMsaD0iZGF0YSIrKG98fCIiKSxkPWUub3B0cy52NSYmcy4kZGF0YSx1PWQ/ZS51dGlsLmdldERhdGEocy4kZGF0YSxvLGUuZGF0YVBhdGhBcnIpOnM7ZCYmKG4rPSIgdmFyIHNjaGVtYSIrcisiID0gIit1KyI7ICIsdT0ic2NoZW1hIityKTt2YXIgZj0ibWF4aW11bSI9PXQscD1mPyJleGNsdXNpdmVNYXhpbXVtIjoiZXhjbHVzaXZlTWluaW11bSIsbT1lLnNjaGVtYVtwXSxnPWUub3B0cy52NSYmbSYmbS4kZGF0YSx2PWY/IjwiOiI+Iix3PWY/Ij4iOiI8IjtpZihnKXt2YXIgeT1lLnV0aWwuZ2V0RGF0YShtLiRkYXRhLG8sZS5kYXRhUGF0aEFyciksQT0iZXhjbHVzaXZlIityLEM9Im9wIityLEU9IicgKyAiK0MrIiArICciO24rPSIgdmFyIHNjaGVtYUV4Y2wiK3IrIiA9ICIreSsiOyAiLHk9InNjaGVtYUV4Y2wiK3Isbis9IiB2YXIgZXhjbHVzaXZlIityKyI7IGlmICh0eXBlb2YgIit5KyIgIT0gJ2Jvb2xlYW4nICYmIHR5cGVvZiAiK3krIiAhPSAndW5kZWZpbmVkJykgeyAiO3ZhciBpPXAsYj1ifHxbXTtiLnB1c2gobiksbj0iIixlLmNyZWF0ZUVycm9ycyE9PSExPyhuKz0iIHsga2V5d29yZDogJyIrKGl8fCJfZXhjbHVzaXZlTGltaXQiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsnIiAsIHBhcmFtczoge30gJyxlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnIitwKyIgc2hvdWxkIGJlIGJvb2xlYW4nICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIithKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciBGPW47bj1iLnBvcCgpLG4rPSFlLmNvbXBvc2l0ZVJ1bGUmJmM/ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWyIrRisiXSk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSBbIitGKyJdOyByZXR1cm4gZmFsc2U7ICI6IiB2YXIgZXJyID0gIitGKyI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIixuKz0iIH0gZWxzZSBpZiggIixkJiYobis9IiAoIit1KyIgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgIit1KyIgIT0gJ251bWJlcicpIHx8ICIpLG4rPSIgKChleGNsdXNpdmUiK3IrIiA9ICIreSsiID09PSB0cnVlKSA/ICIraCsiICIrdysiPSAiK3UrIiA6ICIraCsiICIrdysiICIrdSsiKSkgeyB2YXIgb3AiK3IrIiA9IGV4Y2x1c2l2ZSIrcisiID8gJyIrdisiJyA6ICciK3YrIj0nOyJ9ZWxzZXt2YXIgQT1tPT09ITAsRT12O0F8fChFKz0iPSIpO3ZhciBDPSInIitFKyInIjtuKz0iIGlmICggIixkJiYobis9IiAoIit1KyIgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgIit1KyIgIT0gJ251bWJlcicpIHx8ICIpLG4rPSIgIitoKyIgIit3LEEmJihuKz0iPSIpLG4rPSIgIit1KyIpIHsifXZhciBpPXQsYj1ifHxbXTtiLnB1c2gobiksbj0iIixlLmNyZWF0ZUVycm9ycyE9PSExPyhuKz0iIHsga2V5d29yZDogJyIrKGl8fCJfbGltaXQiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsnIiAsIHBhcmFtczogeyBjb21wYXJpc29uOiAnK0MrIiwgbGltaXQ6ICIrdSsiLCBleGNsdXNpdmU6ICIrQSsiIH0gIixlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnc2hvdWxkIGJlICIrRSsiICIsbis9ZD8iJyArICIrdToiIitzKyInIiksZS5vcHRzLnZlcmJvc2UmJihuKz0iICwgc2NoZW1hOiAgIixuKz1kPyJ2YWxpZGF0ZS5zY2hlbWEiK2E6IiIrcyxuKz0iICAgICAgICAgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciBGPW47cmV0dXJuIG49Yi5wb3AoKSxuKz0hZS5jb21wb3NpdGVSdWxlJiZjP2UuYXN5bmM/IiB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsiK0YrIl0pOyAiOiIgdmFsaWRhdGUuZXJyb3JzID0gWyIrRisiXTsgcmV0dXJuIGZhbHNlOyAiOiIgdmFyIGVyciA9ICIrRisiOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICIsbis9IiB9ICIsYyYmKG4rPSIgZWxzZSB7ICIpLG59fSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgaSxuPSIgIixyPWUubGV2ZWwsbz1lLmRhdGFMZXZlbCxzPWUuc2NoZW1hW3RdLGE9ZS5zY2hlbWFQYXRoKyIuIit0LGw9ZS5lcnJTY2hlbWFQYXRoKyIvIit0LGM9IWUub3B0cy5hbGxFcnJvcnMsaD0iZGF0YSIrKG98fCIiKSxkPWUub3B0cy52NSYmcy4kZGF0YSx1PWQ/ZS51dGlsLmdldERhdGEocy4kZGF0YSxvLGUuZGF0YVBhdGhBcnIpOnM7ZCYmKG4rPSIgdmFyIHNjaGVtYSIrcisiID0gIit1KyI7ICIsdT0ic2NoZW1hIityKTt2YXIgZj0ibWF4SXRlbXMiPT10PyI+IjoiPCI7bis9ImlmICggIixkJiYobis9IiAoIit1KyIgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgIit1KyIgIT0gJ251bWJlcicpIHx8ICIpLG4rPSIgIitoKyIubGVuZ3RoICIrZisiICIrdSsiKSB7ICI7dmFyIGk9dCxwPXB8fFtdO3AucHVzaChuKSxuPSIiLGUuY3JlYXRlRXJyb3JzIT09ITE/KG4rPSIgeyBrZXl3b3JkOiAnIisoaXx8Il9saW1pdEl0ZW1zIikrIicgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8ICcnKSArICIrZS5lcnJvclBhdGgrJyAsIHNjaGVtYVBhdGg6ICInK2wrJyIgLCBwYXJhbXM6IHsgbGltaXQ6ICcrdSsiIH0gIixlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnc2hvdWxkIE5PVCBoYXZlICIsbis9Im1heEl0ZW1zIj09dD8ibW9yZSI6Imxlc3MiLG4rPSIgdGhhbiAiLG4rPWQ/IicgKyAiK3UrIiArICciOiIiK3Msbis9IiBpdGVtcycgIiksZS5vcHRzLnZlcmJvc2UmJihuKz0iICwgc2NoZW1hOiAgIixuKz1kPyJ2YWxpZGF0ZS5zY2hlbWEiK2E6IiIrcyxuKz0iICAgICAgICAgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciBtPW47cmV0dXJuIG49cC5wb3AoKSxuKz0hZS5jb21wb3NpdGVSdWxlJiZjP2UuYXN5bmM/IiB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsiK20rIl0pOyAiOiIgdmFsaWRhdGUuZXJyb3JzID0gWyIrbSsiXTsgcmV0dXJuIGZhbHNlOyAiOiIgdmFyIGVyciA9ICIrbSsiOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICIsbis9In0gIixjJiYobis9IiBlbHNlIHsgIiksbn19LGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBpLG49IiAiLHI9ZS5sZXZlbCxvPWUuZGF0YUxldmVsLHM9ZS5zY2hlbWFbdF0sYT1lLnNjaGVtYVBhdGgrIi4iK3QsbD1lLmVyclNjaGVtYVBhdGgrIi8iK3QsYz0hZS5vcHRzLmFsbEVycm9ycyxoPSJkYXRhIisob3x8IiIpLGQ9ZS5vcHRzLnY1JiZzLiRkYXRhLHU9ZD9lLnV0aWwuZ2V0RGF0YShzLiRkYXRhLG8sZS5kYXRhUGF0aEFycik6cztkJiYobis9IiB2YXIgc2NoZW1hIityKyIgPSAiK3UrIjsgIix1PSJzY2hlbWEiK3IpO3ZhciBmPSJtYXhMZW5ndGgiPT10PyI+IjoiPCI7bis9ImlmICggIixkJiYobis9IiAoIit1KyIgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgIit1KyIgIT0gJ251bWJlcicpIHx8ICIpLG4rPWUub3B0cy51bmljb2RlPT09ITE/IiAiK2grIi5sZW5ndGggIjoiIHVjczJsZW5ndGgoIitoKyIpICIsbis9IiAiK2YrIiAiK3UrIikgeyAiO3ZhciBpPXQscD1wfHxbXTtwLnB1c2gobiksbj0iIixlLmNyZWF0ZUVycm9ycyE9PSExPyhuKz0iIHsga2V5d29yZDogJyIrKGl8fCJfbGltaXRMZW5ndGgiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsnIiAsIHBhcmFtczogeyBsaW1pdDogJyt1KyIgfSAiLGUub3B0cy5tZXNzYWdlcyE9PSExJiYobis9IiAsIG1lc3NhZ2U6ICdzaG91bGQgTk9UIGJlICIsbis9Im1heExlbmd0aCI9PXQ/ImxvbmdlciI6InNob3J0ZXIiLG4rPSIgdGhhbiAiLG4rPWQ/IicgKyAiK3UrIiArICciOiIiK3Msbis9IiBjaGFyYWN0ZXJzJyAiKSxlLm9wdHMudmVyYm9zZSYmKG4rPSIgLCBzY2hlbWE6ICAiLG4rPWQ/InZhbGlkYXRlLnNjaGVtYSIrYToiIitzLG4rPSIgICAgICAgICAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIitlLnNjaGVtYVBhdGgrIiAsIGRhdGE6ICIraCsiICIpLG4rPSIgfSAiKTpuKz0iIHt9ICI7dmFyIG09bjtyZXR1cm4gbj1wLnBvcCgpLG4rPSFlLmNvbXBvc2l0ZVJ1bGUmJmM/ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWyIrbSsiXSk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSBbIittKyJdOyByZXR1cm4gZmFsc2U7ICI6IiB2YXIgZXJyID0gIittKyI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIixuKz0ifSAiLGMmJihuKz0iIGVsc2UgeyAiKSxufX0sZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIGksbj0iICIscj1lLmxldmVsLG89ZS5kYXRhTGV2ZWwscz1lLnNjaGVtYVt0XSxhPWUuc2NoZW1hUGF0aCsiLiIrdCxsPWUuZXJyU2NoZW1hUGF0aCsiLyIrdCxjPSFlLm9wdHMuYWxsRXJyb3JzLGg9ImRhdGEiKyhvfHwiIiksZD1lLm9wdHMudjUmJnMuJGRhdGEsdT1kP2UudXRpbC5nZXREYXRhKHMuJGRhdGEsbyxlLmRhdGFQYXRoQXJyKTpzO2QmJihuKz0iIHZhciBzY2hlbWEiK3IrIiA9ICIrdSsiOyAiLHU9InNjaGVtYSIrcik7dmFyIGY9Im1heFByb3BlcnRpZXMiPT10PyI+IjoiPCI7bis9ImlmICggIixkJiYobis9IiAoIit1KyIgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgIit1KyIgIT0gJ251bWJlcicpIHx8ICIpLG4rPSIgT2JqZWN0LmtleXMoIitoKyIpLmxlbmd0aCAiK2YrIiAiK3UrIikgeyAiO3ZhciBpPXQscD1wfHxbXTtwLnB1c2gobiksbj0iIixlLmNyZWF0ZUVycm9ycyE9PSExPyhuKz0iIHsga2V5d29yZDogJyIrKGl8fCJfbGltaXRQcm9wZXJ0aWVzIikrIicgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8ICcnKSArICIrZS5lcnJvclBhdGgrJyAsIHNjaGVtYVBhdGg6ICInK2wrJyIgLCBwYXJhbXM6IHsgbGltaXQ6ICcrdSsiIH0gIixlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnc2hvdWxkIE5PVCBoYXZlICIsbis9Im1heFByb3BlcnRpZXMiPT10PyJtb3JlIjoibGVzcyIsbis9IiB0aGFuICIsbis9ZD8iJyArICIrdSsiICsgJyI6IiIrcyxuKz0iIHByb3BlcnRpZXMnICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogICIsbis9ZD8idmFsaWRhdGUuc2NoZW1hIithOiIiK3Msbis9IiAgICAgICAgICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK2Uuc2NoZW1hUGF0aCsiICwgZGF0YTogIitoKyIgIiksbis9IiB9ICIpOm4rPSIge30gIjt2YXIgbT1uO3JldHVybiBuPXAucG9wKCksbis9IWUuY29tcG9zaXRlUnVsZSYmYz9lLmFzeW5jPyIgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbIittKyJdKTsgIjoiIHZhbGlkYXRlLmVycm9ycyA9IFsiK20rIl07IHJldHVybiBmYWxzZTsgIjoiIHZhciBlcnIgPSAiK20rIjsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAiLG4rPSJ9ICIsYyYmKG4rPSIgZWxzZSB7ICIpLG59fSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgaSxuPSIgIixyPWUubGV2ZWwsbz1lLmRhdGFMZXZlbCxzPWUuc2NoZW1hW3RdLGE9ZS5zY2hlbWFQYXRoKyIuIit0LGw9ZS5lcnJTY2hlbWFQYXRoKyIvIit0LGM9IWUub3B0cy5hbGxFcnJvcnMsaD0iZGF0YSIrKG98fCIiKSxkPWUub3B0cy52NSYmcy4kZGF0YSx1PWQ/ZS51dGlsLmdldERhdGEocy4kZGF0YSxvLGUuZGF0YVBhdGhBcnIpOnM7ZCYmKG4rPSIgdmFyIHNjaGVtYSIrcisiID0gIit1KyI7ICIsdT0ic2NoZW1hIityKSxuKz0idmFyIGRpdmlzaW9uIityKyI7aWYgKCIsZCYmKG4rPSIgIit1KyIgIT09IHVuZGVmaW5lZCAmJiAoIHR5cGVvZiAiK3UrIiAhPSAnbnVtYmVyJyB8fCAiKSxuKz0iIChkaXZpc2lvbiIrcisiID0gIitoKyIgLyAiK3UrIiwgIixuKz1lLm9wdHMubXVsdGlwbGVPZlByZWNpc2lvbj8iIE1hdGguYWJzKE1hdGgucm91bmQoZGl2aXNpb24iK3IrIikgLSBkaXZpc2lvbiIrcisiKSA+IDFlLSIrZS5vcHRzLm11bHRpcGxlT2ZQcmVjaXNpb24rIiAiOiIgZGl2aXNpb24iK3IrIiAhPT0gcGFyc2VJbnQoZGl2aXNpb24iK3IrIikgIixuKz0iICkgIixkJiYobis9IiAgKSAgIiksbis9IiApIHsgICAiO3ZhciBmPWZ8fFtdO2YucHVzaChuKSxuPSIiLGUuY3JlYXRlRXJyb3JzIT09ITE/KG4rPSIgeyBrZXl3b3JkOiAnIisoaXx8Im11bHRpcGxlT2YiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsnIiAsIHBhcmFtczogeyBtdWx0aXBsZU9mOiAnK3UrIiB9ICIsZS5vcHRzLm1lc3NhZ2VzIT09ITEmJihuKz0iICwgbWVzc2FnZTogJ3Nob3VsZCBiZSBtdWx0aXBsZSBvZiAiLG4rPWQ/IicgKyAiK3U6IiIrcysiJyIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogICIsbis9ZD8idmFsaWRhdGUuc2NoZW1hIithOiIiK3Msbis9IiAgICAgICAgICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK2Uuc2NoZW1hUGF0aCsiICwgZGF0YTogIitoKyIgIiksbis9IiB9ICIpOm4rPSIge30gIjt2YXIgcD1uO3JldHVybiBuPWYucG9wKCksbis9IWUuY29tcG9zaXRlUnVsZSYmYz9lLmFzeW5jPyIgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbIitwKyJdKTsgIjoiIHZhbGlkYXRlLmVycm9ycyA9IFsiK3ArIl07IHJldHVybiBmYWxzZTsgIjoiIHZhciBlcnIgPSAiK3ArIjsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAiLG4rPSJ9ICIsYyYmKG4rPSIgZWxzZSB7ICIpLG59fSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgaSxuPSIgIixyPWUubGV2ZWwsbz1lLmRhdGFMZXZlbCxzPWUuc2NoZW1hW3RdLGE9ZS5zY2hlbWFQYXRoKyIuIit0LGw9ZS5lcnJTY2hlbWFQYXRoKyIvIit0LGM9IWUub3B0cy5hbGxFcnJvcnMsaD0iZGF0YSIrKG98fCIiKSxkPSJlcnJzX18iK3IsdT1lLnV0aWwuY29weShlKTtpZih1LmxldmVsKyssZS51dGlsLnNjaGVtYUhhc1J1bGVzKHMsZS5SVUxFUy5hbGwpKXt1LnNjaGVtYT1zLHUuc2NoZW1hUGF0aD1hLHUuZXJyU2NoZW1hUGF0aD1sLG4rPSIgdmFyICIrZCsiID0gZXJyb3JzOyAgIjt2YXIgZj1lLmNvbXBvc2l0ZVJ1bGU7ZS5jb21wb3NpdGVSdWxlPXUuY29tcG9zaXRlUnVsZT0hMCx1LmNyZWF0ZUVycm9ycz0hMTt2YXIgcDt1Lm9wdHMuYWxsRXJyb3JzJiYocD11Lm9wdHMuYWxsRXJyb3JzLHUub3B0cy5hbGxFcnJvcnM9ITEpLG4rPSIgIitlLnZhbGlkYXRlKHUpKyIgIix1LmNyZWF0ZUVycm9ycz0hMCxwJiYodS5vcHRzLmFsbEVycm9ycz1wKSxlLmNvbXBvc2l0ZVJ1bGU9dS5jb21wb3NpdGVSdWxlPWYsbis9IiBpZiAodmFsaWQiK3UubGV2ZWwrIikgeyAgICI7dmFyIG09bXx8W107bS5wdXNoKG4pLG49IiIsZS5jcmVhdGVFcnJvcnMhPT0hMT8obis9IiB7IGtleXdvcmQ6ICciKyhpfHwibm90IikrIicgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8ICcnKSArICIrZS5lcnJvclBhdGgrJyAsIHNjaGVtYVBhdGg6ICInK2wrJyIgLCBwYXJhbXM6IHt9ICcsZS5vcHRzLm1lc3NhZ2VzIT09ITEmJihuKz0iICwgbWVzc2FnZTogJ3Nob3VsZCBOT1QgYmUgdmFsaWQnICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIithKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciBnPW47bj1tLnBvcCgpLG4rPSFlLmNvbXBvc2l0ZVJ1bGUmJmM/ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWyIrZysiXSk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSBbIitnKyJdOyByZXR1cm4gZmFsc2U7ICI6IiB2YXIgZXJyID0gIitnKyI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIixuKz0iIH0gZWxzZSB7ICBlcnJvcnMgPSAiK2QrIjsgaWYgKHZFcnJvcnMgIT09IG51bGwpIHsgaWYgKCIrZCsiKSB2RXJyb3JzLmxlbmd0aCA9ICIrZCsiOyBlbHNlIHZFcnJvcnMgPSBudWxsOyB9ICIsZS5vcHRzLmFsbEVycm9ycyYmKG4rPSIgfSAiKX1lbHNlIG4rPSIgIHZhciBlcnIgPSAgICIsZS5jcmVhdGVFcnJvcnMhPT0hMT8obis9IiB7IGtleXdvcmQ6ICciKyhpfHwibm90IikrIicgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8ICcnKSArICIrZS5lcnJvclBhdGgrJyAsIHNjaGVtYVBhdGg6ICInK2wrJyIgLCBwYXJhbXM6IHt9ICcsZS5vcHRzLm1lc3NhZ2VzIT09ITEmJihuKz0iICwgbWVzc2FnZTogJ3Nob3VsZCBOT1QgYmUgdmFsaWQnICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIithKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiLG4rPSI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIixjJiYobis9IiBpZiAoZmFsc2UpIHsgIik7cmV0dXJuIG59fSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgaSxuPSIgIixyPWUubGV2ZWwsbz1lLmRhdGFMZXZlbCxzPWUuc2NoZW1hW3RdLGE9ZS5zY2hlbWFQYXRoKyIuIit0LGw9ZS5lcnJTY2hlbWFQYXRoKyIvIit0LGM9IWUub3B0cy5hbGxFcnJvcnMsaD0iZGF0YSIrKG98fCIiKSxkPSJ2YWxpZCIrcix1PSJlcnJzX18iK3IsZj1lLnV0aWwuY29weShlKSxwPSIiO2YubGV2ZWwrKyxuKz0idmFyICIrdSsiID0gZXJyb3JzO3ZhciBwcmV2VmFsaWQiK3IrIiA9IGZhbHNlO3ZhciAiK2QrIiA9IGZhbHNlOyAiO3ZhciBtPWUuY29tcG9zaXRlUnVsZTtlLmNvbXBvc2l0ZVJ1bGU9Zi5jb21wb3NpdGVSdWxlPSEwO3ZhciBnPXM7aWYoZylmb3IodmFyIHYsdz0tMSx5PWcubGVuZ3RoLTE7eT53Oyl2PWdbdys9MV0sZS51dGlsLnNjaGVtYUhhc1J1bGVzKHYsZS5SVUxFUy5hbGwpPyhmLnNjaGVtYT12LGYuc2NoZW1hUGF0aD1hKyJbIit3KyJdIixmLmVyclNjaGVtYVBhdGg9bCsiLyIrdyxuKz0iICIrZS52YWxpZGF0ZShmKSsiICIpOm4rPSIgdmFyIHZhbGlkIitmLmxldmVsKyIgPSB0cnVlOyAiLHcmJihuKz0iIGlmICh2YWxpZCIrZi5sZXZlbCsiICYmIHByZXZWYWxpZCIrcisiKSAiK2QrIiA9IGZhbHNlOyBlbHNlIHsgIixwKz0ifSIpLG4rPSIgaWYgKHZhbGlkIitmLmxldmVsKyIpICIrZCsiID0gcHJldlZhbGlkIityKyIgPSB0cnVlOyI7ZS5jb21wb3NpdGVSdWxlPWYuY29tcG9zaXRlUnVsZT1tLG4rPSIiK3ArImlmICghIitkKyIpIHsgICAiO3ZhciBBPUF8fFtdO0EucHVzaChuKSxuPSIiLGUuY3JlYXRlRXJyb3JzIT09ITE/KG4rPSIgeyBrZXl3b3JkOiAnIisoaXx8Im9uZU9mIikrIicgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8ICcnKSArICIrZS5lcnJvclBhdGgrJyAsIHNjaGVtYVBhdGg6ICInK2wrJyIgLCBwYXJhbXM6IHt9ICcsZS5vcHRzLm1lc3NhZ2VzIT09ITEmJihuKz0iICwgbWVzc2FnZTogJ3Nob3VsZCBtYXRjaCBleGFjdGx5IG9uZSBzY2hlbWEgaW4gb25lT2YnICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIithKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciBDPW47cmV0dXJuIG49QS5wb3AoKSxuKz0hZS5jb21wb3NpdGVSdWxlJiZjP2UuYXN5bmM/IiB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsiK0MrIl0pOyAiOiIgdmFsaWRhdGUuZXJyb3JzID0gWyIrQysiXTsgcmV0dXJuIGZhbHNlOyAiOiIgdmFyIGVyciA9ICIrQysiOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICIsbis9In0gZWxzZSB7ICBlcnJvcnMgPSAiK3UrIjsgaWYgKHZFcnJvcnMgIT09IG51bGwpIHsgaWYgKCIrdSsiKSB2RXJyb3JzLmxlbmd0aCA9ICIrdSsiOyBlbHNlIHZFcnJvcnMgPSBudWxsOyB9IixlLm9wdHMuYWxsRXJyb3JzJiYobis9IiB9ICIpLG59fSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgaSxuPSIgIixyPWUubGV2ZWwsbz1lLmRhdGFMZXZlbCxzPWUuc2NoZW1hW3RdLGE9ZS5zY2hlbWFQYXRoKyIuIit0LGw9ZS5lcnJTY2hlbWFQYXRoKyIvIit0LGM9IWUub3B0cy5hbGxFcnJvcnMsaD0iZGF0YSIrKG98fCIiKSxkPWUub3B0cy52NSYmcy4kZGF0YSx1PWQ/ZS51dGlsLmdldERhdGEocy4kZGF0YSxvLGUuZGF0YVBhdGhBcnIpOnM7ZCYmKG4rPSIgdmFyIHNjaGVtYSIrcisiID0gIit1KyI7ICIsdT0ic2NoZW1hIityKTt2YXIgZj1kPyIobmV3IFJlZ0V4cCgiK3UrIikpIjplLnVzZVBhdHRlcm4ocyk7bis9ImlmICggIixkJiYobis9IiAoIit1KyIgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgIit1KyIgIT0gJ3N0cmluZycpIHx8ICIpLG4rPSIgISIrZisiLnRlc3QoIitoKyIpICkgeyAgICI7dmFyIHA9cHx8W107cC5wdXNoKG4pLG49IiIsZS5jcmVhdGVFcnJvcnMhPT0hMT8obis9IiB7IGtleXdvcmQ6ICciKyhpfHwicGF0dGVybiIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytsKyciICwgcGFyYW1zOiB7IHBhdHRlcm46ICAnLG4rPWQ/IiIrdToiIitlLnV0aWwudG9RdW90ZWRTdHJpbmcocyksbis9IiAgfSAiLGUub3B0cy5tZXNzYWdlcyE9PSExJiYobis9IiAsIG1lc3NhZ2U6ICdzaG91bGQgbWF0Y2ggcGF0dGVybiBcIiIsbis9ZD8iJyArICIrdSsiICsgJyI6IiIrZS51dGlsLmVzY2FwZVF1b3RlcyhzKSxuKz0iXCInICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogICIsbis9ZD8idmFsaWRhdGUuc2NoZW1hIithOiIiK2UudXRpbC50b1F1b3RlZFN0cmluZyhzKSxuKz0iICAgICAgICAgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciBtPW47cmV0dXJuIG49cC5wb3AoKSxuKz0hZS5jb21wb3NpdGVSdWxlJiZjP2UuYXN5bmM/IiB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsiK20rIl0pOyAiOiIgdmFsaWRhdGUuZXJyb3JzID0gWyIrbSsiXTsgcmV0dXJuIGZhbHNlOyAiOiIgdmFyIGVyciA9ICIrbSsiOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICIsbis9In0gIixjJiYobis9IiBlbHNlIHsgIiksbn19LGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBpLG49IiAiLHI9ZS5sZXZlbCxvPWUuZGF0YUxldmVsLHM9ZS5zY2hlbWFbdF0sYT1lLnNjaGVtYVBhdGgrIi4iK3QsbD1lLmVyclNjaGVtYVBhdGgrIi8iK3QsYz0hZS5vcHRzLmFsbEVycm9ycyxoPSJkYXRhIisob3x8IiIpLGQ9InZhbGlkIityLHU9ImVycnNfXyIrcixmPWUudXRpbC5jb3B5KGUpLHA9IiI7Zi5sZXZlbCsrO3ZhciBtPWYuZGF0YUxldmVsPWUuZGF0YUxldmVsKzEsZz0iZGF0YSIrbSx2PU9iamVjdC5rZXlzKHN8fHt9KSx3PWUuc2NoZW1hLnBhdHRlcm5Qcm9wZXJ0aWVzfHx7fSx5PU9iamVjdC5rZXlzKHcpLEE9ZS5zY2hlbWEuYWRkaXRpb25hbFByb3BlcnRpZXMsQz12Lmxlbmd0aHx8eS5sZW5ndGgsRT1BPT09ITEsYj0ib2JqZWN0Ij09dHlwZW9mIEEmJk9iamVjdC5rZXlzKEEpLmxlbmd0aCxGPWUub3B0cy5yZW1vdmVBZGRpdGlvbmFsLHg9RXx8Ynx8RixTPWUuc2NoZW1hLnJlcXVpcmVkO2lmKFMmJighZS5vcHRzLnY1fHwhUy4kZGF0YSkmJlMubGVuZ3RoPGUub3B0cy5sb29wUmVxdWlyZWQpdmFyICQ9ZS51dGlsLnRvSGFzaChTKTtpZihlLm9wdHMudjUpdmFyIEQ9ZS5zY2hlbWEucGF0dGVybkdyb3Vwc3x8e30saz1PYmplY3Qua2V5cyhEKTtpZihuKz0idmFyICIrdSsiID0gZXJyb3JzO3ZhciB2YWxpZCIrZi5sZXZlbCsiID0gdHJ1ZTsiLHgpe2lmKG4rPSIgZm9yICh2YXIga2V5IityKyIgaW4gIitoKyIpIHsgIixDKXtpZihuKz0iIHZhciBpc0FkZGl0aW9uYWwiK3IrIiA9ICEoZmFsc2UgIix2Lmxlbmd0aClpZih2Lmxlbmd0aD41KW4rPSIgfHwgdmFsaWRhdGUuc2NoZW1hIithKyJba2V5IityKyJdICI7ZWxzZXt2YXIgQj12O2lmKEIpZm9yKHZhciBfLEw9LTEsUj1CLmxlbmd0aC0xO1I+TDspXz1CW0wrPTFdLG4rPSIgfHwga2V5IityKyIgPT0gIitlLnV0aWwudG9RdW90ZWRTdHJpbmcoXykrIiAifWlmKHkubGVuZ3RoKXt2YXIgVD15O2lmKFQpZm9yKHZhciBQLE09LTEsTz1ULmxlbmd0aC0xO08+TTspUD1UW00rPTFdLG4rPSIgfHwgIitlLnVzZVBhdHRlcm4oUCkrIi50ZXN0KGtleSIrcisiKSAifWlmKGUub3B0cy52NSYmayYmay5sZW5ndGgpe3ZhciBOPWs7aWYoTilmb3IodmFyIEksTT0tMSxqPU4ubGVuZ3RoLTE7aj5NOylJPU5bTSs9MV0sbis9IiB8fCAiK2UudXNlUGF0dGVybihJKSsiLnRlc3Qoa2V5IityKyIpICJ9bis9IiApOyBpZiAoaXNBZGRpdGlvbmFsIityKyIpIHsgIn1pZigiYWxsIj09RiluKz0iIGRlbGV0ZSAiK2grIltrZXkiK3IrIl07ICI7ZWxzZXt2YXIgVz1lLmVycm9yUGF0aCxIPSInICsga2V5IityKyIgKyAnIjtpZihlLm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eSYmKGUuZXJyb3JQYXRoPWUudXRpbC5nZXRQYXRoRXhwcihlLmVycm9yUGF0aCwia2V5IityLGUub3B0cy5qc29uUG9pbnRlcnMpKSxFKWlmKEYpbis9IiBkZWxldGUgIitoKyJba2V5IityKyJdOyAiO2Vsc2V7bis9IiB2YWxpZCIrZi5sZXZlbCsiID0gZmFsc2U7ICI7dmFyIFY9bDtsPWUuZXJyU2NoZW1hUGF0aCsiL2FkZGl0aW9uYWxQcm9wZXJ0aWVzIjt2YXIgej16fHxbXTt6LnB1c2gobiksbj0iIixlLmNyZWF0ZUVycm9ycyE9PSExPyhuKz0iIHsga2V5d29yZDogJyIrKGl8fCJhZGRpdGlvbmFsUHJvcGVydGllcyIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytsKyJcIiAsIHBhcmFtczogeyBhZGRpdGlvbmFsUHJvcGVydHk6ICciK0grIicgfSAiLGUub3B0cy5tZXNzYWdlcyE9PSExJiYobis9IiAsIG1lc3NhZ2U6ICdzaG91bGQgTk9UIGhhdmUgYWRkaXRpb25hbCBwcm9wZXJ0aWVzJyAiKSxlLm9wdHMudmVyYm9zZSYmKG4rPSIgLCBzY2hlbWE6IGZhbHNlICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK2Uuc2NoZW1hUGF0aCsiICwgZGF0YTogIitoKyIgIiksbis9IiB9ICIpOm4rPSIge30gIjt2YXIgVT1uO249ei5wb3AoKSxuKz0hZS5jb21wb3NpdGVSdWxlJiZjP2UuYXN5bmM/IiB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsiK1UrIl0pOyAiOiIgdmFsaWRhdGUuZXJyb3JzID0gWyIrVSsiXTsgcmV0dXJuIGZhbHNlOyAiOiIgdmFyIGVyciA9ICIrVSsiOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICIsbD1WLGMmJihuKz0iIGJyZWFrOyAiKX1lbHNlIGlmKGIpaWYoImZhaWxpbmciPT1GKXtuKz0iIHZhciAiK3UrIiA9IGVycm9yczsgICI7dmFyIEs9ZS5jb21wb3NpdGVSdWxlO2UuY29tcG9zaXRlUnVsZT1mLmNvbXBvc2l0ZVJ1bGU9ITAsZi5zY2hlbWE9QSxmLnNjaGVtYVBhdGg9ZS5zY2hlbWFQYXRoKyIuYWRkaXRpb25hbFByb3BlcnRpZXMiLGYuZXJyU2NoZW1hUGF0aD1lLmVyclNjaGVtYVBhdGgrIi9hZGRpdGlvbmFsUHJvcGVydGllcyIsZi5lcnJvclBhdGg9ZS5vcHRzLl9lcnJvckRhdGFQYXRoUHJvcGVydHk/ZS5lcnJvclBhdGg6ZS51dGlsLmdldFBhdGhFeHByKGUuZXJyb3JQYXRoLCJrZXkiK3IsZS5vcHRzLmpzb25Qb2ludGVycyk7dmFyIHE9aCsiW2tleSIrcisiXSI7Zi5kYXRhUGF0aEFyclttXT0ia2V5IityO3ZhciBHPWUudmFsaWRhdGUoZik7bis9ZS51dGlsLnZhck9jY3VyZW5jZXMoRyxnKTwyPyIgIitlLnV0aWwudmFyUmVwbGFjZShHLGcscSkrIiAiOiIgdmFyICIrZysiID0gIitxKyI7ICIrRysiICIsbis9IiBpZiAoIXZhbGlkIitmLmxldmVsKyIpIHsgZXJyb3JzID0gIit1KyI7IGlmICh2YWxpZGF0ZS5lcnJvcnMgIT09IG51bGwpIHsgaWYgKGVycm9ycykgdmFsaWRhdGUuZXJyb3JzLmxlbmd0aCA9IGVycm9yczsgZWxzZSB2YWxpZGF0ZS5lcnJvcnMgPSBudWxsOyB9IGRlbGV0ZSAiK2grIltrZXkiK3IrIl07IH0gICIsZS5jb21wb3NpdGVSdWxlPWYuY29tcG9zaXRlUnVsZT1LfWVsc2V7Zi5zY2hlbWE9QSxmLnNjaGVtYVBhdGg9ZS5zY2hlbWFQYXRoKyIuYWRkaXRpb25hbFByb3BlcnRpZXMiLGYuZXJyU2NoZW1hUGF0aD1lLmVyclNjaGVtYVBhdGgrIi9hZGRpdGlvbmFsUHJvcGVydGllcyIsZi5lcnJvclBhdGg9ZS5vcHRzLl9lcnJvckRhdGFQYXRoUHJvcGVydHk/ZS5lcnJvclBhdGg6ZS51dGlsLmdldFBhdGhFeHByKGUuZXJyb3JQYXRoLCJrZXkiK3IsZS5vcHRzLmpzb25Qb2ludGVycyk7dmFyIHE9aCsiW2tleSIrcisiXSI7Zi5kYXRhUGF0aEFyclttXT0ia2V5IityO3ZhciBHPWUudmFsaWRhdGUoZik7bis9ZS51dGlsLnZhck9jY3VyZW5jZXMoRyxnKTwyPyIgIitlLnV0aWwudmFyUmVwbGFjZShHLGcscSkrIiAiOiIgdmFyICIrZysiID0gIitxKyI7ICIrRysiICIsYyYmKG4rPSIgaWYgKCF2YWxpZCIrZi5sZXZlbCsiKSBicmVhazsgIil9ZS5lcnJvclBhdGg9V31DJiYobis9IiB9ICIpLG4rPSIgfSAgIixjJiYobis9IiBpZiAodmFsaWQiK2YubGV2ZWwrIikgeyAiLHArPSJ9Iil9dmFyIFk9ZS5vcHRzLnVzZURlZmF1bHRzJiYhZS5jb21wb3NpdGVSdWxlO2lmKHYubGVuZ3RoKXt2YXIgUT12O2lmKFEpZm9yKHZhciBfLEo9LTEsWD1RLmxlbmd0aC0xO1g+Sjspe189UVtKKz0xXTt2YXIgWj1zW19dO2lmKGUudXRpbC5zY2hlbWFIYXNSdWxlcyhaLGUuUlVMRVMuYWxsKSl7dmFyIGVlPWUudXRpbC5nZXRQcm9wZXJ0eShfKSxxPWgrZWUsdGU9WSYmdm9pZCAwIT09WlsiZGVmYXVsdCJdO2Yuc2NoZW1hPVosZi5zY2hlbWFQYXRoPWErZWUsZi5lcnJTY2hlbWFQYXRoPWwrIi8iK2UudXRpbC5lc2NhcGVGcmFnbWVudChfKSxmLmVycm9yUGF0aD1lLnV0aWwuZ2V0UGF0aChlLmVycm9yUGF0aCxfLGUub3B0cy5qc29uUG9pbnRlcnMpLGYuZGF0YVBhdGhBcnJbbV09ZS51dGlsLnRvUXVvdGVkU3RyaW5nKF8pO3ZhciBHPWUudmFsaWRhdGUoZik7aWYoZS51dGlsLnZhck9jY3VyZW5jZXMoRyxnKTwyKXtHPWUudXRpbC52YXJSZXBsYWNlKEcsZyxxKTt2YXIgaWU9cX1lbHNle3ZhciBpZT1nO24rPSIgdmFyICIrZysiID0gIitxKyI7ICJ9aWYodGUpbis9IiAiK0crIiAiO2Vsc2V7aWYoJCYmJFtfXSl7bis9IiBpZiAoIitpZSsiID09PSB1bmRlZmluZWQpIHsgdmFsaWQiK2YubGV2ZWwrIiA9IGZhbHNlOyAiO3ZhciBXPWUuZXJyb3JQYXRoLFY9bCxuZT1lLnV0aWwuZXNjYXBlUXVvdGVzKF8pO2Uub3B0cy5fZXJyb3JEYXRhUGF0aFByb3BlcnR5JiYoZS5lcnJvclBhdGg9ZS51dGlsLmdldFBhdGgoVyxfLGUub3B0cy5qc29uUG9pbnRlcnMpKSxsPWUuZXJyU2NoZW1hUGF0aCsiL3JlcXVpcmVkIjt2YXIgej16fHxbXTt6LnB1c2gobiksbj0iIixlLmNyZWF0ZUVycm9ycyE9PSExPyhuKz0iIHsga2V5d29yZDogJyIrKGl8fCJyZXF1aXJlZCIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytsKyJcIiAsIHBhcmFtczogeyBtaXNzaW5nUHJvcGVydHk6ICciK25lKyInIH0gIixlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnIixuKz1lLm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eT8iaXMgYSByZXF1aXJlZCBwcm9wZXJ0eSI6InNob3VsZCBoYXZlIHJlcXVpcmVkIHByb3BlcnR5IFxcJyIrbmUrIlxcJyIsbis9IicgIiksZS5vcHRzLnZlcmJvc2UmJihuKz0iICwgc2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK2ErIiAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIitlLnNjaGVtYVBhdGgrIiAsIGRhdGE6ICIraCsiICIpLG4rPSIgfSAiKTpuKz0iIHt9ICI7dmFyIFU9bjtuPXoucG9wKCksbis9IWUuY29tcG9zaXRlUnVsZSYmYz9lLmFzeW5jPyIgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbIitVKyJdKTsgIjoiIHZhbGlkYXRlLmVycm9ycyA9IFsiK1UrIl07IHJldHVybiBmYWxzZTsgIjoiIHZhciBlcnIgPSAiK1UrIjsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAiLGw9VixlLmVycm9yUGF0aD1XLG4rPSIgfSBlbHNlIHsgIn1lbHNlIG4rPWM/IiBpZiAoIitpZSsiID09PSB1bmRlZmluZWQpIHsgdmFsaWQiK2YubGV2ZWwrIiA9IHRydWU7IH0gZWxzZSB7ICI6IiBpZiAoIitpZSsiICE9PSB1bmRlZmluZWQpIHsgIjtuKz0iICIrRysiIH0gIn19YyYmKG4rPSIgaWYgKHZhbGlkIitmLmxldmVsKyIpIHsgIixwKz0ifSIpfX12YXIgcmU9eTtpZihyZSlmb3IodmFyIFAsb2U9LTEsc2U9cmUubGVuZ3RoLTE7c2U+b2U7KXtQPXJlW29lKz0xXTt2YXIgWj13W1BdO2lmKGUudXRpbC5zY2hlbWFIYXNSdWxlcyhaLGUuUlVMRVMuYWxsKSl7Zi5zY2hlbWE9WixmLnNjaGVtYVBhdGg9ZS5zY2hlbWFQYXRoKyIucGF0dGVyblByb3BlcnRpZXMiK2UudXRpbC5nZXRQcm9wZXJ0eShQKSxmLmVyclNjaGVtYVBhdGg9ZS5lcnJTY2hlbWFQYXRoKyIvcGF0dGVyblByb3BlcnRpZXMvIitlLnV0aWwuZXNjYXBlRnJhZ21lbnQoUCksbis9IiBmb3IgKHZhciBrZXkiK3IrIiBpbiAiK2grIikgeyBpZiAoIitlLnVzZVBhdHRlcm4oUCkrIi50ZXN0KGtleSIrcisiKSkgeyAiLGYuZXJyb3JQYXRoPWUudXRpbC5nZXRQYXRoRXhwcihlLmVycm9yUGF0aCwia2V5IityLGUub3B0cy5qc29uUG9pbnRlcnMpO3ZhciBxPWgrIltrZXkiK3IrIl0iO2YuZGF0YVBhdGhBcnJbbV09ImtleSIrcjt2YXIgRz1lLnZhbGlkYXRlKGYpO24rPWUudXRpbC52YXJPY2N1cmVuY2VzKEcsZyk8Mj8iICIrZS51dGlsLnZhclJlcGxhY2UoRyxnLHEpKyIgIjoiIHZhciAiK2crIiA9ICIrcSsiOyAiK0crIiAiLGMmJihuKz0iIGlmICghdmFsaWQiK2YubGV2ZWwrIikgYnJlYWs7ICIpLG4rPSIgfSAiLGMmJihuKz0iIGVsc2UgdmFsaWQiK2YubGV2ZWwrIiA9IHRydWU7ICIpLG4rPSIgfSAgIixjJiYobis9IiBpZiAodmFsaWQiK2YubGV2ZWwrIikgeyAiLHArPSJ9Iil9fWlmKGUub3B0cy52NSl7dmFyIGFlPWs7aWYoYWUpZm9yKHZhciBJLGxlPS0xLGNlPWFlLmxlbmd0aC0xO2NlPmxlOyl7ST1hZVtsZSs9MV07dmFyIGhlPURbSV0sWj1oZS5zY2hlbWE7aWYoZS51dGlsLnNjaGVtYUhhc1J1bGVzKFosZS5SVUxFUy5hbGwpKXtmLnNjaGVtYT1aLGYuc2NoZW1hUGF0aD1lLnNjaGVtYVBhdGgrIi5wYXR0ZXJuR3JvdXBzIitlLnV0aWwuZ2V0UHJvcGVydHkoSSkrIi5zY2hlbWEiLGYuZXJyU2NoZW1hUGF0aD1lLmVyclNjaGVtYVBhdGgrIi9wYXR0ZXJuR3JvdXBzLyIrZS51dGlsLmVzY2FwZUZyYWdtZW50KEkpKyIvc2NoZW1hIixuKz0iIHZhciBwZ1Byb3BDb3VudCIrcisiID0gMDsgZm9yICh2YXIga2V5IityKyIgaW4gIitoKyIpIHsgaWYgKCIrZS51c2VQYXR0ZXJuKEkpKyIudGVzdChrZXkiK3IrIikpIHsgcGdQcm9wQ291bnQiK3IrIisrOyAiLGYuZXJyb3JQYXRoPWUudXRpbC5nZXRQYXRoRXhwcihlLmVycm9yUGF0aCwia2V5IityLGUub3B0cy5qc29uUG9pbnRlcnMpO3ZhciBxPWgrIltrZXkiK3IrIl0iO2YuZGF0YVBhdGhBcnJbbV09ImtleSIrcjt2YXIgRz1lLnZhbGlkYXRlKGYpO24rPWUudXRpbC52YXJPY2N1cmVuY2VzKEcsZyk8Mj8iICIrZS51dGlsLnZhclJlcGxhY2UoRyxnLHEpKyIgIjoiIHZhciAiK2crIiA9ICIrcSsiOyAiK0crIiAiLGMmJihuKz0iIGlmICghdmFsaWQiK2YubGV2ZWwrIikgYnJlYWs7ICIpLG4rPSIgfSAiLGMmJihuKz0iIGVsc2UgdmFsaWQiK2YubGV2ZWwrIiA9IHRydWU7ICIpLG4rPSIgfSAgIixjJiYobis9IiBpZiAodmFsaWQiK2YubGV2ZWwrIikgeyAiLHArPSJ9Iik7dmFyIGRlPWhlLm1pbmltdW0sdWU9aGUubWF4aW11bTtpZih2b2lkIDAhPT1kZXx8dm9pZCAwIT09dWUpe24rPSIgdmFyICIrZCsiID0gdHJ1ZTsgIjt2YXIgVj1sO2lmKHZvaWQgMCE9PWRlKXt2YXIgZmU9ZGUscGU9Im1pbmltdW0iLG1lPSJsZXNzIjtuKz0iICIrZCsiID0gcGdQcm9wQ291bnQiK3IrIiA+PSAiK2RlKyI7ICIsbD1lLmVyclNjaGVtYVBhdGgrIi9wYXR0ZXJuR3JvdXBzL21pbmltdW0iLG4rPSIgIGlmICghIitkKyIpIHsgICAiO3ZhciB6PXp8fFtdO3oucHVzaChuKSxuPSIiLGUuY3JlYXRlRXJyb3JzIT09ITE/KG4rPSIgeyBrZXl3b3JkOiAnIisoaXx8InBhdHRlcm5Hcm91cHMiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsiXCIgLCBwYXJhbXM6IHsgcmVhc29uOiAnIitwZSsiJywgbGltaXQ6ICIrZmUrIiwgcGF0dGVybjogJyIrZS51dGlsLmVzY2FwZVF1b3RlcyhJKSsiJyB9ICIsZS5vcHRzLm1lc3NhZ2VzIT09ITEmJihuKz0iICwgbWVzc2FnZTogJ3Nob3VsZCBOT1QgaGF2ZSAiK21lKyIgdGhhbiAiK2ZlKycgcHJvcGVydGllcyBtYXRjaGluZyBwYXR0ZXJuICInK2UudXRpbC5lc2NhcGVRdW90ZXMoSSkrIlwiJyAiKSxlLm9wdHMudmVyYm9zZSYmKG4rPSIgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrYSsiICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK2Uuc2NoZW1hUGF0aCsiICwgZGF0YTogIitoKyIgIiksbis9IiB9ICIpOm4rPSIge30gIjt2YXIgVT1uO249ei5wb3AoKSxuKz0hZS5jb21wb3NpdGVSdWxlJiZjP2UuYXN5bmM/IiB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsiK1UrIl0pOyAiOiIgdmFsaWRhdGUuZXJyb3JzID0gWyIrVSsiXTsgcmV0dXJuIGZhbHNlOyAiOiIgdmFyIGVyciA9ICIrVSsiOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICIsbis9IiB9ICIsdm9pZCAwIT09dWUmJihuKz0iIGVsc2UgIil9aWYodm9pZCAwIT09dWUpe3ZhciBmZT11ZSxwZT0ibWF4aW11bSIsbWU9Im1vcmUiO24rPSIgIitkKyIgPSBwZ1Byb3BDb3VudCIrcisiIDw9ICIrdWUrIjsgIixsPWUuZXJyU2NoZW1hUGF0aCsiL3BhdHRlcm5Hcm91cHMvbWF4aW11bSIsbis9IiAgaWYgKCEiK2QrIikgeyAgICI7dmFyIHo9enx8W107ei5wdXNoKG4pLG49IiIsZS5jcmVhdGVFcnJvcnMhPT0hMT8obis9IiB7IGtleXdvcmQ6ICciKyhpfHwicGF0dGVybkdyb3VwcyIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytsKyJcIiAsIHBhcmFtczogeyByZWFzb246ICciK3BlKyInLCBsaW1pdDogIitmZSsiLCBwYXR0ZXJuOiAnIitlLnV0aWwuZXNjYXBlUXVvdGVzKEkpKyInIH0gIixlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnc2hvdWxkIE5PVCBoYXZlICIrbWUrIiB0aGFuICIrZmUrJyBwcm9wZXJ0aWVzIG1hdGNoaW5nIHBhdHRlcm4gIicrZS51dGlsLmVzY2FwZVF1b3RlcyhJKSsiXCInICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIithKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciBVPW47bj16LnBvcCgpLG4rPSFlLmNvbXBvc2l0ZVJ1bGUmJmM/ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWyIrVSsiXSk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSBbIitVKyJdOyByZXR1cm4gZmFsc2U7ICI6IiB2YXIgZXJyID0gIitVKyI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIixuKz0iIH0gIn1sPVYsYyYmKG4rPSIgaWYgKCIrZCsiKSB7ICIscCs9In0iKX19fX1yZXR1cm4gYyYmKG4rPSIgIitwKyIgaWYgKCIrdSsiID09IGVycm9ycykgeyIpLG49ZS51dGlsLmNsZWFuVXBDb2RlKG4pfX0sZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIGksbj0iICIscj1lLmxldmVsLG89ZS5kYXRhTGV2ZWwscz1lLnNjaGVtYVt0XSxhPWUuc2NoZW1hUGF0aCsiLiIrdCxsPWUuZXJyU2NoZW1hUGF0aCsiLyIrdCxjPSFlLm9wdHMuYWxsRXJyb3JzLGg9ImRhdGEiKyhvfHwiIiksZD0idmFsaWQiK3IsdT1lLm9wdHMudjUmJnMuJGRhdGEsZj11P2UudXRpbC5nZXREYXRhKHMuJGRhdGEsbyxlLmRhdGFQYXRoQXJyKTpzO2lmKHUmJihuKz0iIHZhciBzY2hlbWEiK3IrIiA9ICIrZisiOyAiLGY9InNjaGVtYSIrciksIXUpaWYocy5sZW5ndGg8ZS5vcHRzLmxvb3BSZXF1aXJlZCYmZS5zY2hlbWEucHJvcGVydGllcyYmT2JqZWN0LmtleXMoZS5zY2hlbWEucHJvcGVydGllcykubGVuZ3RoKXt2YXIgcD1bXSxtPXM7aWYobSlmb3IodmFyIGcsdj0tMSx3PW0ubGVuZ3RoLTE7dz52Oyl7Zz1tW3YrPTFdO3ZhciB5PWUuc2NoZW1hLnByb3BlcnRpZXNbZ107eSYmZS51dGlsLnNjaGVtYUhhc1J1bGVzKHksZS5SVUxFUy5hbGwpfHwocFtwLmxlbmd0aF09Zyl9fWVsc2UgdmFyIHA9cztpZih1fHxwLmxlbmd0aCl7dmFyIEE9ZS5lcnJvclBhdGgsQz11fHxwLmxlbmd0aD49ZS5vcHRzLmxvb3BSZXF1aXJlZDtpZihjKWlmKG4rPSIgdmFyIG1pc3NpbmciK3IrIjsgIixDKXt1fHwobis9IiB2YXIgc2NoZW1hIityKyIgPSB2YWxpZGF0ZS5zY2hlbWEiK2ErIjsgIik7dmFyIEU9ImkiK3IsYj0ic2NoZW1hIityKyJbIitFKyJdIixGPSInICsgIitiKyIgKyAnIjtlLm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eSYmKGUuZXJyb3JQYXRoPWUudXRpbC5nZXRQYXRoRXhwcihBLGIsZS5vcHRzLmpzb25Qb2ludGVycykpLG4rPSIgdmFyICIrZCsiID0gdHJ1ZTsgIix1JiYobis9IiBpZiAoc2NoZW1hIityKyIgPT09IHVuZGVmaW5lZCkgIitkKyIgPSB0cnVlOyBlbHNlIGlmICghQXJyYXkuaXNBcnJheShzY2hlbWEiK3IrIikpICIrZCsiID0gZmFsc2U7IGVsc2UgeyIpLG4rPSIgZm9yICh2YXIgIitFKyIgPSAwOyAiK0UrIiA8IHNjaGVtYSIrcisiLmxlbmd0aDsgIitFKyIrKykgeyAiK2QrIiA9ICIraCsiW3NjaGVtYSIrcisiWyIrRSsiXV0gIT09IHVuZGVmaW5lZDsgaWYgKCEiK2QrIikgYnJlYWs7IH0gIix1JiYobis9IiAgfSAgIiksbis9IiAgaWYgKCEiK2QrIikgeyAgICI7dmFyIHg9eHx8W107eC5wdXNoKG4pLG49IiIsZS5jcmVhdGVFcnJvcnMhPT0hMT8obis9IiB7IGtleXdvcmQ6ICciKyhpfHwicmVxdWlyZWQiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsiXCIgLCBwYXJhbXM6IHsgbWlzc2luZ1Byb3BlcnR5OiAnIitGKyInIH0gIixlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnIixuKz1lLm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eT8iaXMgYSByZXF1aXJlZCBwcm9wZXJ0eSI6InNob3VsZCBoYXZlIHJlcXVpcmVkIHByb3BlcnR5IFxcJyIrRisiXFwnIixuKz0iJyAiKSxlLm9wdHMudmVyYm9zZSYmKG4rPSIgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrYSsiICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK2Uuc2NoZW1hUGF0aCsiICwgZGF0YTogIitoKyIgIiksbis9IiB9ICIpOm4rPSIge30gIjt2YXIgUz1uO249eC5wb3AoKSxuKz0hZS5jb21wb3NpdGVSdWxlJiZjP2UuYXN5bmM/IiB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsiK1MrIl0pOyAiOiIgdmFsaWRhdGUuZXJyb3JzID0gWyIrUysiXTsgcmV0dXJuIGZhbHNlOyAiOiIgdmFyIGVyciA9ICIrUysiOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICIsbis9IiB9IGVsc2UgeyAifWVsc2V7bis9IiBpZiAoICI7dmFyICQ9cDtpZigkKWZvcih2YXIgRCxFPS0xLGs9JC5sZW5ndGgtMTtrPkU7KXtEPSRbRSs9MV0sRSYmKG4rPSIgfHwgIik7dmFyIEI9ZS51dGlsLmdldFByb3BlcnR5KEQpO24rPSIgKCAiK2grQisiID09PSB1bmRlZmluZWQgJiYgKG1pc3NpbmciK3IrIiA9ICIrZS51dGlsLnRvUXVvdGVkU3RyaW5nKGUub3B0cy5qc29uUG9pbnRlcnM/RDpCKSsiKSApICJ9bis9IikgeyAgIjt2YXIgYj0ibWlzc2luZyIrcixGPSInICsgIitiKyIgKyAnIjtlLm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eSYmKGUuZXJyb3JQYXRoPWUub3B0cy5qc29uUG9pbnRlcnM/ZS51dGlsLmdldFBhdGhFeHByKEEsYiwhMCk6QSsiICsgIitiKTt2YXIgeD14fHxbXTt4LnB1c2gobiksbj0iIixlLmNyZWF0ZUVycm9ycyE9PSExPyhuKz0iIHsga2V5d29yZDogJyIrKGl8fCJyZXF1aXJlZCIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytsKyJcIiAsIHBhcmFtczogeyBtaXNzaW5nUHJvcGVydHk6ICciK0YrIicgfSAiLGUub3B0cy5tZXNzYWdlcyE9PSExJiYobis9IiAsIG1lc3NhZ2U6ICciLG4rPWUub3B0cy5fZXJyb3JEYXRhUGF0aFByb3BlcnR5PyJpcyBhIHJlcXVpcmVkIHByb3BlcnR5Ijoic2hvdWxkIGhhdmUgcmVxdWlyZWQgcHJvcGVydHkgXFwnIitGKyJcXCciLG4rPSInICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIithKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciBTPW47bj14LnBvcCgpLG4rPSFlLmNvbXBvc2l0ZVJ1bGUmJmM/ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWyIrUysiXSk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSBbIitTKyJdOyByZXR1cm4gZmFsc2U7ICI6IiB2YXIgZXJyID0gIitTKyI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIixuKz0iIH0gZWxzZSB7ICJ9ZWxzZSBpZihDKXt1fHwobis9IiB2YXIgc2NoZW1hIityKyIgPSB2YWxpZGF0ZS5zY2hlbWEiK2ErIjsgIik7dmFyIEU9ImkiK3IsYj0ic2NoZW1hIityKyJbIitFKyJdIixGPSInICsgIitiKyIgKyAnIjtlLm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eSYmKGUuZXJyb3JQYXRoPWUudXRpbC5nZXRQYXRoRXhwcihBLGIsZS5vcHRzLmpzb25Qb2ludGVycykpLHUmJihuKz0iIGlmIChzY2hlbWEiK3IrIiAmJiAhQXJyYXkuaXNBcnJheShzY2hlbWEiK3IrIikpIHsgIHZhciBlcnIgPSAgICIsZS5jcmVhdGVFcnJvcnMhPT0hMT8obis9IiB7IGtleXdvcmQ6ICciKyhpfHwicmVxdWlyZWQiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsiXCIgLCBwYXJhbXM6IHsgbWlzc2luZ1Byb3BlcnR5OiAnIitGKyInIH0gIixlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnIixuKz1lLm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eT8iaXMgYSByZXF1aXJlZCBwcm9wZXJ0eSI6InNob3VsZCBoYXZlIHJlcXVpcmVkIHByb3BlcnR5IFxcJyIrRisiXFwnIixuKz0iJyAiKSxlLm9wdHMudmVyYm9zZSYmKG4rPSIgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrYSsiICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK2Uuc2NoZW1hUGF0aCsiICwgZGF0YTogIitoKyIgIiksbis9IiB9ICIpOm4rPSIge30gIixuKz0iOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7IH0gZWxzZSBpZiAoc2NoZW1hIityKyIgIT09IHVuZGVmaW5lZCkgeyAiKSxuKz0iIGZvciAodmFyICIrRSsiID0gMDsgIitFKyIgPCBzY2hlbWEiK3IrIi5sZW5ndGg7ICIrRSsiKyspIHsgaWYgKCIraCsiW3NjaGVtYSIrcisiWyIrRSsiXV0gPT09IHVuZGVmaW5lZCkgeyAgdmFyIGVyciA9ICAgIixlLmNyZWF0ZUVycm9ycyE9PSExPyhuKz0iIHsga2V5d29yZDogJyIrKGl8fCJyZXF1aXJlZCIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytsKyJcIiAsIHBhcmFtczogeyBtaXNzaW5nUHJvcGVydHk6ICciK0YrIicgfSAiLGUub3B0cy5tZXNzYWdlcyE9PSExJiYobis9IiAsIG1lc3NhZ2U6ICciLG4rPWUub3B0cy5fZXJyb3JEYXRhUGF0aFByb3BlcnR5PyJpcyBhIHJlcXVpcmVkIHByb3BlcnR5Ijoic2hvdWxkIGhhdmUgcmVxdWlyZWQgcHJvcGVydHkgXFwnIitGKyJcXCciLG4rPSInICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIithKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiLG4rPSI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgfSB9ICIsdSYmKG4rPSIgIH0gICIpfWVsc2V7dmFyIF89cDtpZihfKWZvcih2YXIgZyxFPS0xLEw9Xy5sZW5ndGgtMTtMPkU7KXtnPV9bRSs9MV07dmFyIEI9ZS51dGlsLmdldFByb3BlcnR5KGcpLEY9ZS51dGlsLmVzY2FwZVF1b3RlcyhnKTtlLm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eSYmKGUuZXJyb3JQYXRoPWUudXRpbC5nZXRQYXRoKEEsZyxlLm9wdHMuanNvblBvaW50ZXJzKSksbis9IiBpZiAoIitoK0IrIiA9PT0gdW5kZWZpbmVkKSB7ICB2YXIgZXJyID0gICAiLGUuY3JlYXRlRXJyb3JzIT09ITE/KG4rPSIgeyBrZXl3b3JkOiAnIisoaXx8InJlcXVpcmVkIikrIicgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8ICcnKSArICIrZS5lcnJvclBhdGgrJyAsIHNjaGVtYVBhdGg6ICInK2wrIlwiICwgcGFyYW1zOiB7IG1pc3NpbmdQcm9wZXJ0eTogJyIrRisiJyB9ICIsZS5vcHRzLm1lc3NhZ2VzIT09ITEmJihuKz0iICwgbWVzc2FnZTogJyIsbis9ZS5vcHRzLl9lcnJvckRhdGFQYXRoUHJvcGVydHk/ImlzIGEgcmVxdWlyZWQgcHJvcGVydHkiOiJzaG91bGQgaGF2ZSByZXF1aXJlZCBwcm9wZXJ0eSBcXCciK0YrIlxcJyIsCm4rPSInICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIithKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiLG4rPSI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgfSAifX1lLmVycm9yUGF0aD1BfWVsc2UgYyYmKG4rPSIgaWYgKHRydWUpIHsiKTtyZXR1cm4gbn19LGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBpLG49IiAiLHI9ZS5sZXZlbCxvPWUuZGF0YUxldmVsLHM9ZS5zY2hlbWFbdF0sYT1lLnNjaGVtYVBhdGgrIi4iK3QsbD1lLmVyclNjaGVtYVBhdGgrIi8iK3QsYz0hZS5vcHRzLmFsbEVycm9ycyxoPSJkYXRhIisob3x8IiIpLGQ9InZhbGlkIityLHU9ZS5vcHRzLnY1JiZzLiRkYXRhLGY9dT9lLnV0aWwuZ2V0RGF0YShzLiRkYXRhLG8sZS5kYXRhUGF0aEFycik6cztpZih1JiYobis9IiB2YXIgc2NoZW1hIityKyIgPSAiK2YrIjsgIixmPSJzY2hlbWEiK3IpLChzfHx1KSYmZS5vcHRzLnVuaXF1ZUl0ZW1zIT09ITEpe3UmJihuKz0iIHZhciAiK2QrIjsgaWYgKCIrZisiID09PSBmYWxzZSB8fCAiK2YrIiA9PT0gdW5kZWZpbmVkKSAiK2QrIiA9IHRydWU7IGVsc2UgaWYgKHR5cGVvZiAiK2YrIiAhPSAnYm9vbGVhbicpICIrZCsiID0gZmFsc2U7IGVsc2UgeyAiKSxuKz0iIHZhciAiK2QrIiA9IHRydWU7IGlmICgiK2grIi5sZW5ndGggPiAxKSB7IHZhciBpID0gIitoKyIubGVuZ3RoLCBqOyBvdXRlcjogZm9yICg7aS0tOykgeyBmb3IgKGogPSBpOyBqLS07KSB7IGlmIChlcXVhbCgiK2grIltpXSwgIitoKyJbal0pKSB7ICIrZCsiID0gZmFsc2U7IGJyZWFrIG91dGVyOyB9IH0gfSB9ICIsdSYmKG4rPSIgIH0gICIpLG4rPSIgaWYgKCEiK2QrIikgeyAgICI7dmFyIHA9cHx8W107cC5wdXNoKG4pLG49IiIsZS5jcmVhdGVFcnJvcnMhPT0hMT8obis9IiB7IGtleXdvcmQ6ICciKyhpfHwidW5pcXVlSXRlbXMiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsnIiAsIHBhcmFtczogeyBpOiBpLCBqOiBqIH0gJyxlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnc2hvdWxkIE5PVCBoYXZlIGR1cGxpY2F0ZSBpdGVtcyAoaXRlbXMgIyMgJyArIGogKyAnIGFuZCAnICsgaSArICcgYXJlIGlkZW50aWNhbCknICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogICIsbis9dT8idmFsaWRhdGUuc2NoZW1hIithOiIiK3Msbis9IiAgICAgICAgICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK2Uuc2NoZW1hUGF0aCsiICwgZGF0YTogIitoKyIgIiksbis9IiB9ICIpOm4rPSIge30gIjt2YXIgbT1uO249cC5wb3AoKSxuKz0hZS5jb21wb3NpdGVSdWxlJiZjP2UuYXN5bmM/IiB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsiK20rIl0pOyAiOiIgdmFsaWRhdGUuZXJyb3JzID0gWyIrbSsiXTsgcmV0dXJuIGZhbHNlOyAiOiIgdmFyIGVyciA9ICIrbSsiOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICIsbis9IiB9ICIsYyYmKG4rPSIgZWxzZSB7ICIpfWVsc2UgYyYmKG4rPSIgaWYgKHRydWUpIHsgIik7cmV0dXJuIG59fSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7ZnVuY3Rpb24gdCh0LGkscil7dmFyIG89e2lubGluZTpyfHxuW3RdLHN0YXRlbWVudHM6ITAsZXJyb3JzOiJmdWxsIn07aSYmKG8udHlwZT1pKSxlLmFkZEtleXdvcmQodCxvKX12YXIgbj17InN3aXRjaCI6aSg0NCksY29uc3RhbnQ6aSg0NSksX2Zvcm1hdExpbWl0OmkoNDYpLHBhdHRlcm5SZXF1aXJlZDppKDQ3KX07aWYoZS5fb3B0cy5tZXRhIT09ITEpe3ZhciBzPWkoNDgpO2UuYWRkTWV0YVNjaGVtYShzLG8pfXQoImNvbnN0YW50IiksZS5hZGRLZXl3b3JkKCJjb250YWlucyIse3R5cGU6ImFycmF5IixtYWNybzpyfSksdCgiZm9ybWF0TWF4aW11bSIsInN0cmluZyIsbi5fZm9ybWF0TGltaXQpLHQoImZvcm1hdE1pbmltdW0iLCJzdHJpbmciLG4uX2Zvcm1hdExpbWl0KSxlLmFkZEtleXdvcmQoImV4Y2x1c2l2ZUZvcm1hdE1heGltdW0iKSxlLmFkZEtleXdvcmQoImV4Y2x1c2l2ZUZvcm1hdE1pbmltdW0iKSxlLmFkZEtleXdvcmQoInBhdHRlcm5Hcm91cHMiKSx0KCJwYXR0ZXJuUmVxdWlyZWQiLCJvYmplY3QiKSx0KCJzd2l0Y2giKX1mdW5jdGlvbiByKGUpe3JldHVybntub3Q6e2l0ZW1zOntub3Q6ZX19fX12YXIgbz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vwb2JlcmV6a2luL2Fqdi9tYXN0ZXIvbGliL3JlZnMvanNvbi1zY2hlbWEtdjUuanNvbiI7ZS5leHBvcnRzPXtlbmFibGU6bixNRVRBX1NDSEVNQV9JRDpvfX0sZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIGksbj0iICIscj1lLmxldmVsLG89ZS5kYXRhTGV2ZWwscz1lLnNjaGVtYVt0XSxhPWUuc2NoZW1hUGF0aCsiLiIrdCxsPWUuZXJyU2NoZW1hUGF0aCsiLyIrdCxjPSFlLm9wdHMuYWxsRXJyb3JzLGg9ImRhdGEiKyhvfHwiIiksZD0idmFsaWQiK3IsdT0iZXJyc19fIityLGY9ZS51dGlsLmNvcHkoZSkscD0iIjtmLmxldmVsKys7dmFyIG0sZz0iaWZQYXNzZWQiK2UubGV2ZWw7bis9InZhciAiK2crIjsiO3ZhciB2PXM7aWYodilmb3IodmFyIHcseT0tMSxBPXYubGVuZ3RoLTE7QT55Oyl7aWYodz12W3krPTFdLHkmJiFtJiYobis9IiBpZiAoISIrZysiKSB7ICIscCs9In0iKSx3WyJpZiJdJiZlLnV0aWwuc2NoZW1hSGFzUnVsZXMod1siaWYiXSxlLlJVTEVTLmFsbCkpe24rPSIgdmFyICIrdSsiID0gZXJyb3JzOyAgICI7dmFyIEM9ZS5jb21wb3NpdGVSdWxlO2lmKGUuY29tcG9zaXRlUnVsZT1mLmNvbXBvc2l0ZVJ1bGU9ITAsZi5jcmVhdGVFcnJvcnM9ITEsZi5zY2hlbWE9d1siaWYiXSxmLnNjaGVtYVBhdGg9YSsiWyIreSsiXS5pZiIsZi5lcnJTY2hlbWFQYXRoPWwrIi8iK3krIi9pZiIsbis9IiAiK2UudmFsaWRhdGUoZikrIiAiLGYuY3JlYXRlRXJyb3JzPSEwLGUuY29tcG9zaXRlUnVsZT1mLmNvbXBvc2l0ZVJ1bGU9QyxuKz0iICIrZysiID0gdmFsaWQiK2YubGV2ZWwrIjsgaWYgKCIrZysiKSB7ICAiLCJib29sZWFuIj09dHlwZW9mIHcudGhlbil7aWYody50aGVuPT09ITEpe3ZhciBFPUV8fFtdO0UucHVzaChuKSxuPSIiLGUuY3JlYXRlRXJyb3JzIT09ITE/KG4rPSIgeyBrZXl3b3JkOiAnIisoaXx8InN3aXRjaCIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytsKyciICwgcGFyYW1zOiB7IGNhc2VJbmRleDogJyt5KyIgfSAiLGUub3B0cy5tZXNzYWdlcyE9PSExJiYobis9IiAsIG1lc3NhZ2U6ICdzaG91bGQgcGFzcyBcInN3aXRjaFwiIGtleXdvcmQgdmFsaWRhdGlvbicgIiksZS5vcHRzLnZlcmJvc2UmJihuKz0iICwgc2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK2ErIiAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIitlLnNjaGVtYVBhdGgrIiAsIGRhdGE6ICIraCsiICIpLG4rPSIgfSAiKTpuKz0iIHt9ICI7dmFyIGI9bjtuPUUucG9wKCksbis9IWUuY29tcG9zaXRlUnVsZSYmYz9lLmFzeW5jPyIgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbIitiKyJdKTsgIjoiIHZhbGlkYXRlLmVycm9ycyA9IFsiK2IrIl07IHJldHVybiBmYWxzZTsgIjoiIHZhciBlcnIgPSAiK2IrIjsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAifW4rPSIgdmFyIHZhbGlkIitmLmxldmVsKyIgPSAiK3cudGhlbisiOyAifWVsc2UgZi5zY2hlbWE9dy50aGVuLGYuc2NoZW1hUGF0aD1hKyJbIit5KyJdLnRoZW4iLGYuZXJyU2NoZW1hUGF0aD1sKyIvIit5KyIvdGhlbiIsbis9IiAiK2UudmFsaWRhdGUoZikrIiAiO24rPSIgIH0gZWxzZSB7ICBlcnJvcnMgPSAiK3UrIjsgaWYgKHZFcnJvcnMgIT09IG51bGwpIHsgaWYgKCIrdSsiKSB2RXJyb3JzLmxlbmd0aCA9ICIrdSsiOyBlbHNlIHZFcnJvcnMgPSBudWxsOyB9IH0gIn1lbHNlIGlmKG4rPSIgIitnKyIgPSB0cnVlOyAgIiwiYm9vbGVhbiI9PXR5cGVvZiB3LnRoZW4pe2lmKHcudGhlbj09PSExKXt2YXIgRT1FfHxbXTtFLnB1c2gobiksbj0iIixlLmNyZWF0ZUVycm9ycyE9PSExPyhuKz0iIHsga2V5d29yZDogJyIrKGl8fCJzd2l0Y2giKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsnIiAsIHBhcmFtczogeyBjYXNlSW5kZXg6ICcreSsiIH0gIixlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnc2hvdWxkIHBhc3MgXCJzd2l0Y2hcIiBrZXl3b3JkIHZhbGlkYXRpb24nICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIithKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiO3ZhciBiPW47bj1FLnBvcCgpLG4rPSFlLmNvbXBvc2l0ZVJ1bGUmJmM/ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWyIrYisiXSk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSBbIitiKyJdOyByZXR1cm4gZmFsc2U7ICI6IiB2YXIgZXJyID0gIitiKyI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIn1uKz0iIHZhciB2YWxpZCIrZi5sZXZlbCsiID0gIit3LnRoZW4rIjsgIn1lbHNlIGYuc2NoZW1hPXcudGhlbixmLnNjaGVtYVBhdGg9YSsiWyIreSsiXS50aGVuIixmLmVyclNjaGVtYVBhdGg9bCsiLyIreSsiL3RoZW4iLG4rPSIgIitlLnZhbGlkYXRlKGYpKyIgIjttPXdbImNvbnRpbnVlIl19cmV0dXJuIG4rPSIiK3ArInZhciAiK2QrIiA9IHZhbGlkIitmLmxldmVsKyI7ICIsbj1lLnV0aWwuY2xlYW5VcENvZGUobil9fSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgaSxuPSIgIixyPWUubGV2ZWwsbz1lLmRhdGFMZXZlbCxzPWUuc2NoZW1hW3RdLGE9ZS5zY2hlbWFQYXRoKyIuIit0LGw9ZS5lcnJTY2hlbWFQYXRoKyIvIit0LGM9IWUub3B0cy5hbGxFcnJvcnMsaD0iZGF0YSIrKG98fCIiKSxkPSJ2YWxpZCIrcix1PWUub3B0cy52NSYmcy4kZGF0YSxmPXU/ZS51dGlsLmdldERhdGEocy4kZGF0YSxvLGUuZGF0YVBhdGhBcnIpOnM7dSYmKG4rPSIgdmFyIHNjaGVtYSIrcisiID0gIitmKyI7ICIsZj0ic2NoZW1hIityKSx1fHwobis9IiB2YXIgc2NoZW1hIityKyIgPSB2YWxpZGF0ZS5zY2hlbWEiK2ErIjsiKSxuKz0idmFyICIrZCsiID0gZXF1YWwoIitoKyIsIHNjaGVtYSIrcisiKTsgaWYgKCEiK2QrIikgeyAgICI7dmFyIHA9cHx8W107cC5wdXNoKG4pLG49IiIsZS5jcmVhdGVFcnJvcnMhPT0hMT8obis9IiB7IGtleXdvcmQ6ICciKyhpfHwiY29uc3RhbnQiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsnIiAsIHBhcmFtczoge30gJyxlLm9wdHMubWVzc2FnZXMhPT0hMSYmKG4rPSIgLCBtZXNzYWdlOiAnc2hvdWxkIGJlIGVxdWFsIHRvIGNvbnN0YW50JyAiKSxlLm9wdHMudmVyYm9zZSYmKG4rPSIgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrYSsiICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK2Uuc2NoZW1hUGF0aCsiICwgZGF0YTogIitoKyIgIiksbis9IiB9ICIpOm4rPSIge30gIjt2YXIgbT1uO3JldHVybiBuPXAucG9wKCksbis9IWUuY29tcG9zaXRlUnVsZSYmYz9lLmFzeW5jPyIgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbIittKyJdKTsgIjoiIHZhbGlkYXRlLmVycm9ycyA9IFsiK20rIl07IHJldHVybiBmYWxzZTsgIjoiIHZhciBlcnIgPSAiK20rIjsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAiLG4rPSIgfSJ9fSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgaSxuPSIgIixyPWUubGV2ZWwsbz1lLmRhdGFMZXZlbCxzPWUuc2NoZW1hW3RdLGE9ZS5zY2hlbWFQYXRoKyIuIit0LGw9ZS5lcnJTY2hlbWFQYXRoKyIvIit0LGM9IWUub3B0cy5hbGxFcnJvcnMsaD0iZGF0YSIrKG98fCIiKSxkPSJ2YWxpZCIrcjtpZihuKz0idmFyICIrZCsiID0gdW5kZWZpbmVkOyIsZS5vcHRzLmZvcm1hdD09PSExKXJldHVybiBuKz0iICIrZCsiID0gdHJ1ZTsgIjt2YXIgdT1lLnNjaGVtYS5mb3JtYXQsZj1lLm9wdHMudjUmJnUuJGRhdGEscD0iIjtpZihmKXt2YXIgbT1lLnV0aWwuZ2V0RGF0YSh1LiRkYXRhLG8sZS5kYXRhUGF0aEFyciksZz0iZm9ybWF0IityLHY9ImNvbXBhcmUiK3I7bis9IiB2YXIgIitnKyIgPSBmb3JtYXRzWyIrbSsiXSAsICIrdisiID0gIitnKyIgJiYgIitnKyIuY29tcGFyZTsifWVsc2V7dmFyIGc9ZS5mb3JtYXRzW3VdO2lmKCFnfHwhZy5jb21wYXJlKXJldHVybiBuKz0iICAiK2QrIiA9IHRydWU7ICI7dmFyIHY9ImZvcm1hdHMiK2UudXRpbC5nZXRQcm9wZXJ0eSh1KSsiLmNvbXBhcmUifXZhciB3PSJmb3JtYXRNYXhpbXVtIj09dCx5PSJleGNsdXNpdmVGb3JtYXQiKyh3PyJNYXhpbXVtIjoiTWluaW11bSIpLEE9ZS5zY2hlbWFbeV0sQz1lLm9wdHMudjUmJkEmJkEuJGRhdGEsRT13PyI8IjoiPiIsYj0icmVzdWx0IityLEY9ZS5vcHRzLnY1JiZzLiRkYXRhLHg9Rj9lLnV0aWwuZ2V0RGF0YShzLiRkYXRhLG8sZS5kYXRhUGF0aEFycik6cztpZihGJiYobis9IiB2YXIgc2NoZW1hIityKyIgPSAiK3grIjsgIix4PSJzY2hlbWEiK3IpLEMpe3ZhciBTPWUudXRpbC5nZXREYXRhKEEuJGRhdGEsbyxlLmRhdGFQYXRoQXJyKSwkPSJleGNsdXNpdmUiK3IsRD0ib3AiK3Isaz0iJyArICIrRCsiICsgJyI7bis9IiB2YXIgc2NoZW1hRXhjbCIrcisiID0gIitTKyI7ICIsUz0ic2NoZW1hRXhjbCIrcixuKz0iIGlmICh0eXBlb2YgIitTKyIgIT0gJ2Jvb2xlYW4nICYmICIrUysiICE9PSB1bmRlZmluZWQpIHsgIitkKyIgPSBmYWxzZTsgIjt2YXIgaT15LEI9Qnx8W107Qi5wdXNoKG4pLG49IiIsZS5jcmVhdGVFcnJvcnMhPT0hMT8obis9IiB7IGtleXdvcmQ6ICciKyhpfHwiX2V4Y2x1c2l2ZUZvcm1hdExpbWl0IikrIicgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8ICcnKSArICIrZS5lcnJvclBhdGgrJyAsIHNjaGVtYVBhdGg6ICInK2wrJyIgLCBwYXJhbXM6IHt9ICcsZS5vcHRzLm1lc3NhZ2VzIT09ITEmJihuKz0iICwgbWVzc2FnZTogJyIreSsiIHNob3VsZCBiZSBib29sZWFuJyAiKSxlLm9wdHMudmVyYm9zZSYmKG4rPSIgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrYSsiICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEiK2Uuc2NoZW1hUGF0aCsiICwgZGF0YTogIitoKyIgIiksbis9IiB9ICIpOm4rPSIge30gIjt2YXIgXz1uO249Qi5wb3AoKSxuKz0hZS5jb21wb3NpdGVSdWxlJiZjP2UuYXN5bmM/IiB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsiK18rIl0pOyAiOiIgdmFsaWRhdGUuZXJyb3JzID0gWyIrXysiXTsgcmV0dXJuIGZhbHNlOyAiOiIgdmFyIGVyciA9ICIrXysiOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICIsbis9IiB9ICAiLGMmJihwKz0ifSIsbis9IiBlbHNlIHsgIiksRiYmKG4rPSIgaWYgKCIreCsiID09PSB1bmRlZmluZWQpICIrZCsiID0gdHJ1ZTsgZWxzZSBpZiAodHlwZW9mICIreCsiICE9ICdzdHJpbmcnKSAiK2QrIiA9IGZhbHNlOyBlbHNlIHsgIixwKz0ifSIpLGYmJihuKz0iIGlmICghIit2KyIpICIrZCsiID0gdHJ1ZTsgZWxzZSB7ICIscCs9In0iKSxuKz0iIHZhciAiK2IrIiA9ICIrdisiKCIraCsiLCAgIixuKz1GPyIiK3g6IiIrZS51dGlsLnRvUXVvdGVkU3RyaW5nKHMpLG4rPSIgKTsgaWYgKCIrYisiID09PSB1bmRlZmluZWQpICIrZCsiID0gZmFsc2U7IHZhciBleGNsdXNpdmUiK3IrIiA9ICIrUysiID09PSB0cnVlOyBpZiAoIitkKyIgPT09IHVuZGVmaW5lZCkgeyAiK2QrIiA9IGV4Y2x1c2l2ZSIrcisiID8gIitiKyIgIitFKyIgMCA6ICIrYisiICIrRSsiPSAwOyB9IGlmICghIitkKyIpIHZhciBvcCIrcisiID0gZXhjbHVzaXZlIityKyIgPyAnIitFKyInIDogJyIrRSsiPSc7In1lbHNle3ZhciAkPUE9PT0hMCxrPUU7JHx8KGsrPSI9Iik7dmFyIEQ9IiciK2srIiciO0YmJihuKz0iIGlmICgiK3grIiA9PT0gdW5kZWZpbmVkKSAiK2QrIiA9IHRydWU7IGVsc2UgaWYgKHR5cGVvZiAiK3grIiAhPSAnc3RyaW5nJykgIitkKyIgPSBmYWxzZTsgZWxzZSB7ICIscCs9In0iKSxmJiYobis9IiBpZiAoISIrdisiKSAiK2QrIiA9IHRydWU7IGVsc2UgeyAiLHArPSJ9Iiksbis9IiB2YXIgIitiKyIgPSAiK3YrIigiK2grIiwgICIsbis9Rj8iIit4OiIiK2UudXRpbC50b1F1b3RlZFN0cmluZyhzKSxuKz0iICk7IGlmICgiK2IrIiA9PT0gdW5kZWZpbmVkKSAiK2QrIiA9IGZhbHNlOyBpZiAoIitkKyIgPT09IHVuZGVmaW5lZCkgIitkKyIgPSAiK2IrIiAiK0UsJHx8KG4rPSI9Iiksbis9IiAwOyJ9bis9IiIrcCsiaWYgKCEiK2QrIikgeyAiO3ZhciBpPXQsQj1CfHxbXTtCLnB1c2gobiksbj0iIixlLmNyZWF0ZUVycm9ycyE9PSExPyhuKz0iIHsga2V5d29yZDogJyIrKGl8fCJfZm9ybWF0TGltaXQiKSsiJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgJycpICsgIitlLmVycm9yUGF0aCsnICwgc2NoZW1hUGF0aDogIicrbCsnIiAsIHBhcmFtczogeyBsaW1pdDogICcsbis9Rj8iIit4OiIiK2UudXRpbC50b1F1b3RlZFN0cmluZyhzKSxuKz0iICB9ICIsZS5vcHRzLm1lc3NhZ2VzIT09ITEmJihuKz0iICwgbWVzc2FnZTogJ3Nob3VsZCBiZSAiK2srJyAiJyxuKz1GPyInICsgIit4KyIgKyAnIjoiIitlLnV0aWwuZXNjYXBlUXVvdGVzKHMpLG4rPSJcIicgIiksZS5vcHRzLnZlcmJvc2UmJihuKz0iICwgc2NoZW1hOiAgIixuKz1GPyJ2YWxpZGF0ZS5zY2hlbWEiK2E6IiIrZS51dGlsLnRvUXVvdGVkU3RyaW5nKHMpLG4rPSIgICAgICAgICAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIitlLnNjaGVtYVBhdGgrIiAsIGRhdGE6ICIraCsiICIpLG4rPSIgfSAiKTpuKz0iIHt9ICI7dmFyIF89bjtyZXR1cm4gbj1CLnBvcCgpLG4rPSFlLmNvbXBvc2l0ZVJ1bGUmJmM/ZS5hc3luYz8iIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWyIrXysiXSk7ICI6IiB2YWxpZGF0ZS5lcnJvcnMgPSBbIitfKyJdOyByZXR1cm4gZmFsc2U7ICI6IiB2YXIgZXJyID0gIitfKyI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgIixuKz0ifSJ9fSxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgaSxuPSIgIixyPWUubGV2ZWwsbz1lLmRhdGFMZXZlbCxzPWUuc2NoZW1hW3RdLGE9ZS5zY2hlbWFQYXRoKyIuIit0LGw9ZS5lcnJTY2hlbWFQYXRoKyIvIit0LGM9IWUub3B0cy5hbGxFcnJvcnMsaD0iZGF0YSIrKG98fCIiKSxkPSJ2YWxpZCIrcix1PSJrZXkiK3IsZj0icGF0dGVybk1hdGNoZWQiK3IscD0iIjtuKz0idmFyICIrZCsiID0gdHJ1ZTsiO3ZhciBtPXM7aWYobSlmb3IodmFyIGcsdj0tMSx3PW0ubGVuZ3RoLTE7dz52Oyl7Zz1tW3YrPTFdLG4rPSIgdmFyICIrZisiID0gZmFsc2U7IGZvciAodmFyICIrdSsiIGluICIraCsiKSB7ICIrZisiID0gIitlLnVzZVBhdHRlcm4oZykrIi50ZXN0KCIrdSsiKTsgaWYgKCIrZisiKSBicmVhazsgfSAiO3ZhciB5PWUudXRpbC5lc2NhcGVRdW90ZXMoZyk7bis9IiBpZiAoISIrZisiKSB7ICIrZCsiID0gZmFsc2U7ICB2YXIgZXJyID0gICAiLGUuY3JlYXRlRXJyb3JzIT09ITE/KG4rPSIgeyBrZXl3b3JkOiAnIisoaXx8InBhdHRlcm5SZXF1aXJlZCIpKyInICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCAnJykgKyAiK2UuZXJyb3JQYXRoKycgLCBzY2hlbWFQYXRoOiAiJytsKyJcIiAsIHBhcmFtczogeyBtaXNzaW5nUGF0dGVybjogJyIreSsiJyB9ICIsZS5vcHRzLm1lc3NhZ2VzIT09ITEmJihuKz0iICwgbWVzc2FnZTogJ3Nob3VsZCBoYXZlIHByb3BlcnR5IG1hdGNoaW5nIHBhdHRlcm4gXFwnIit5KyJcXCcnICIpLGUub3B0cy52ZXJib3NlJiYobis9IiAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hIithKyIgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYSIrZS5zY2hlbWFQYXRoKyIgLCBkYXRhOiAiK2grIiAiKSxuKz0iIH0gIik6bis9IiB7fSAiLG4rPSI7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgfSAgICIsYyYmKHArPSJ9IixuKz0iIGVsc2UgeyAiKX1yZXR1cm4gbis9IiIrcH19LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPXtpZDoiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vwb2JlcmV6a2luL2Fqdi9tYXN0ZXIvbGliL3JlZnMvanNvbi1zY2hlbWEtdjUuanNvbiMiLCRzY2hlbWE6Imh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDQvc2NoZW1hIyIsZGVzY3JpcHRpb246IkNvcmUgc2NoZW1hIG1ldGEtc2NoZW1hICh2NSBwcm9wb3NhbHMpIixkZWZpbml0aW9uczp7c2NoZW1hQXJyYXk6e3R5cGU6ImFycmF5IixtaW5JdGVtczoxLGl0ZW1zOnskcmVmOiIjIn19LHBvc2l0aXZlSW50ZWdlcjp7dHlwZToiaW50ZWdlciIsbWluaW11bTowfSxwb3NpdGl2ZUludGVnZXJEZWZhdWx0MDp7YWxsT2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlciJ9LHsiZGVmYXVsdCI6MH1dfSxzaW1wbGVUeXBlczp7ImVudW0iOlsiYXJyYXkiLCJib29sZWFuIiwiaW50ZWdlciIsIm51bGwiLCJudW1iZXIiLCJvYmplY3QiLCJzdHJpbmciXX0sc3RyaW5nQXJyYXk6e3R5cGU6ImFycmF5IixpdGVtczp7dHlwZToic3RyaW5nIn0sbWluSXRlbXM6MSx1bmlxdWVJdGVtczohMH0sJGRhdGE6e3R5cGU6Im9iamVjdCIscmVxdWlyZWQ6WyIkZGF0YSJdLHByb3BlcnRpZXM6eyRkYXRhOnt0eXBlOiJzdHJpbmciLGZvcm1hdDoicmVsYXRpdmUtanNvbi1wb2ludGVyIn19LGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiExfX0sdHlwZToib2JqZWN0Iixwcm9wZXJ0aWVzOntpZDp7dHlwZToic3RyaW5nIixmb3JtYXQ6InVyaSJ9LCRzY2hlbWE6e3R5cGU6InN0cmluZyIsZm9ybWF0OiJ1cmkifSx0aXRsZTp7dHlwZToic3RyaW5nIn0sZGVzY3JpcHRpb246e3R5cGU6InN0cmluZyJ9LCJkZWZhdWx0Ijp7fSxtdWx0aXBsZU9mOnthbnlPZjpbe3R5cGU6Im51bWJlciIsbWluaW11bTowLGV4Y2x1c2l2ZU1pbmltdW06ITB9LHskcmVmOiIjL2RlZmluaXRpb25zLyRkYXRhIn1dfSxtYXhpbXVtOnthbnlPZjpbe3R5cGU6Im51bWJlciJ9LHskcmVmOiIjL2RlZmluaXRpb25zLyRkYXRhIn1dfSxleGNsdXNpdmVNYXhpbXVtOnthbnlPZjpbe3R5cGU6ImJvb2xlYW4iLCJkZWZhdWx0IjohMX0seyRyZWY6IiMvZGVmaW5pdGlvbnMvJGRhdGEifV19LG1pbmltdW06e2FueU9mOlt7dHlwZToibnVtYmVyIn0seyRyZWY6IiMvZGVmaW5pdGlvbnMvJGRhdGEifV19LGV4Y2x1c2l2ZU1pbmltdW06e2FueU9mOlt7dHlwZToiYm9vbGVhbiIsImRlZmF1bHQiOiExfSx7JHJlZjoiIy9kZWZpbml0aW9ucy8kZGF0YSJ9XX0sbWF4TGVuZ3RoOnthbnlPZjpbeyRyZWY6IiMvZGVmaW5pdGlvbnMvcG9zaXRpdmVJbnRlZ2VyIn0seyRyZWY6IiMvZGVmaW5pdGlvbnMvJGRhdGEifV19LG1pbkxlbmd0aDp7YW55T2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlckRlZmF1bHQwIn0seyRyZWY6IiMvZGVmaW5pdGlvbnMvJGRhdGEifV19LHBhdHRlcm46e2FueU9mOlt7dHlwZToic3RyaW5nIixmb3JtYXQ6InJlZ2V4In0seyRyZWY6IiMvZGVmaW5pdGlvbnMvJGRhdGEifV19LGFkZGl0aW9uYWxJdGVtczp7YW55T2Y6W3t0eXBlOiJib29sZWFuIn0seyRyZWY6IiMifSx7JHJlZjoiIy9kZWZpbml0aW9ucy8kZGF0YSJ9XSwiZGVmYXVsdCI6e319LGl0ZW1zOnthbnlPZjpbeyRyZWY6IiMifSx7JHJlZjoiIy9kZWZpbml0aW9ucy9zY2hlbWFBcnJheSJ9XSwiZGVmYXVsdCI6e319LG1heEl0ZW1zOnthbnlPZjpbeyRyZWY6IiMvZGVmaW5pdGlvbnMvcG9zaXRpdmVJbnRlZ2VyIn0seyRyZWY6IiMvZGVmaW5pdGlvbnMvJGRhdGEifV19LG1pbkl0ZW1zOnthbnlPZjpbeyRyZWY6IiMvZGVmaW5pdGlvbnMvcG9zaXRpdmVJbnRlZ2VyRGVmYXVsdDAifSx7JHJlZjoiIy9kZWZpbml0aW9ucy8kZGF0YSJ9XX0sdW5pcXVlSXRlbXM6e2FueU9mOlt7dHlwZToiYm9vbGVhbiIsImRlZmF1bHQiOiExfSx7JHJlZjoiIy9kZWZpbml0aW9ucy8kZGF0YSJ9XX0sbWF4UHJvcGVydGllczp7YW55T2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlciJ9LHskcmVmOiIjL2RlZmluaXRpb25zLyRkYXRhIn1dfSxtaW5Qcm9wZXJ0aWVzOnthbnlPZjpbeyRyZWY6IiMvZGVmaW5pdGlvbnMvcG9zaXRpdmVJbnRlZ2VyRGVmYXVsdDAifSx7JHJlZjoiIy9kZWZpbml0aW9ucy8kZGF0YSJ9XX0scmVxdWlyZWQ6e2FueU9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9zdHJpbmdBcnJheSJ9LHskcmVmOiIjL2RlZmluaXRpb25zLyRkYXRhIn1dfSxhZGRpdGlvbmFsUHJvcGVydGllczp7YW55T2Y6W3t0eXBlOiJib29sZWFuIn0seyRyZWY6IiMifSx7JHJlZjoiIy9kZWZpbml0aW9ucy8kZGF0YSJ9XSwiZGVmYXVsdCI6e319LGRlZmluaXRpb25zOnt0eXBlOiJvYmplY3QiLGFkZGl0aW9uYWxQcm9wZXJ0aWVzOnskcmVmOiIjIn0sImRlZmF1bHQiOnt9fSxwcm9wZXJ0aWVzOnt0eXBlOiJvYmplY3QiLGFkZGl0aW9uYWxQcm9wZXJ0aWVzOnskcmVmOiIjIn0sImRlZmF1bHQiOnt9fSxwYXR0ZXJuUHJvcGVydGllczp7dHlwZToib2JqZWN0IixhZGRpdGlvbmFsUHJvcGVydGllczp7JHJlZjoiIyJ9LCJkZWZhdWx0Ijp7fX0sZGVwZW5kZW5jaWVzOnt0eXBlOiJvYmplY3QiLGFkZGl0aW9uYWxQcm9wZXJ0aWVzOnthbnlPZjpbeyRyZWY6IiMifSx7JHJlZjoiIy9kZWZpbml0aW9ucy9zdHJpbmdBcnJheSJ9XX19LCJlbnVtIjp7YW55T2Y6W3t0eXBlOiJhcnJheSIsbWluSXRlbXM6MSx1bmlxdWVJdGVtczohMH0seyRyZWY6IiMvZGVmaW5pdGlvbnMvJGRhdGEifV19LHR5cGU6e2FueU9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9zaW1wbGVUeXBlcyJ9LHt0eXBlOiJhcnJheSIsaXRlbXM6eyRyZWY6IiMvZGVmaW5pdGlvbnMvc2ltcGxlVHlwZXMifSxtaW5JdGVtczoxLHVuaXF1ZUl0ZW1zOiEwfV19LGFsbE9mOnskcmVmOiIjL2RlZmluaXRpb25zL3NjaGVtYUFycmF5In0sYW55T2Y6eyRyZWY6IiMvZGVmaW5pdGlvbnMvc2NoZW1hQXJyYXkifSxvbmVPZjp7JHJlZjoiIy9kZWZpbml0aW9ucy9zY2hlbWFBcnJheSJ9LG5vdDp7JHJlZjoiIyJ9LGZvcm1hdDp7YW55T2Y6W3t0eXBlOiJzdHJpbmcifSx7JHJlZjoiIy9kZWZpbml0aW9ucy8kZGF0YSJ9XX0sZm9ybWF0TWF4aW11bTp7YW55T2Y6W3t0eXBlOiJzdHJpbmcifSx7JHJlZjoiIy9kZWZpbml0aW9ucy8kZGF0YSJ9XX0sZm9ybWF0TWluaW11bTp7YW55T2Y6W3t0eXBlOiJzdHJpbmcifSx7JHJlZjoiIy9kZWZpbml0aW9ucy8kZGF0YSJ9XX0sZXhjbHVzaXZlRm9ybWF0TWF4aW11bTp7YW55T2Y6W3t0eXBlOiJib29sZWFuIiwiZGVmYXVsdCI6ITF9LHskcmVmOiIjL2RlZmluaXRpb25zLyRkYXRhIn1dfSxleGNsdXNpdmVGb3JtYXRNaW5pbXVtOnthbnlPZjpbe3R5cGU6ImJvb2xlYW4iLCJkZWZhdWx0IjohMX0seyRyZWY6IiMvZGVmaW5pdGlvbnMvJGRhdGEifV19LGNvbnN0YW50OnthbnlPZjpbe30seyRyZWY6IiMvZGVmaW5pdGlvbnMvJGRhdGEifV19LGNvbnRhaW5zOnskcmVmOiIjIn0scGF0dGVybkdyb3Vwczp7dHlwZToib2JqZWN0IixhZGRpdGlvbmFsUHJvcGVydGllczp7dHlwZToib2JqZWN0IixyZXF1aXJlZDpbInNjaGVtYSJdLHByb3BlcnRpZXM6e21heGltdW06e2FueU9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9wb3NpdGl2ZUludGVnZXIifSx7JHJlZjoiIy9kZWZpbml0aW9ucy8kZGF0YSJ9XX0sbWluaW11bTp7YW55T2Y6W3skcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlckRlZmF1bHQwIn0seyRyZWY6IiMvZGVmaW5pdGlvbnMvJGRhdGEifV19LHNjaGVtYTp7JHJlZjoiIyJ9fSxhZGRpdGlvbmFsUHJvcGVydGllczohMX0sImRlZmF1bHQiOnt9fSwic3dpdGNoIjp7dHlwZToiYXJyYXkiLGl0ZW1zOntyZXF1aXJlZDpbInRoZW4iXSxwcm9wZXJ0aWVzOnsiaWYiOnskcmVmOiIjIn0sdGhlbjp7YW55T2Y6W3t0eXBlOiJib29sZWFuIn0seyRyZWY6IiMifV19LCJjb250aW51ZSI6e3R5cGU6ImJvb2xlYW4ifX0sYWRkaXRpb25hbFByb3BlcnRpZXM6ITEsZGVwZW5kZW5jaWVzOnsiY29udGludWUiOlsiaWYiXX19fX0sZGVwZW5kZW5jaWVzOntleGNsdXNpdmVNYXhpbXVtOlsibWF4aW11bSJdLGV4Y2x1c2l2ZU1pbmltdW06WyJtaW5pbXVtIl0sZm9ybWF0TWF4aW11bTpbImZvcm1hdCJdLGZvcm1hdE1pbmltdW06WyJmb3JtYXQiXSxleGNsdXNpdmVGb3JtYXRNYXhpbXVtOlsiZm9ybWF0TWF4aW11bSJdLGV4Y2x1c2l2ZUZvcm1hdE1pbmltdW06WyJmb3JtYXRNaW5pbXVtIl19LCJkZWZhdWx0Ijp7fX19LGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO3ZhciBpPS9eW2Etel8kXVthLXowLTlfJF0qJC9pO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4oZSx0LGkpe2Zvcih2YXIgbixyPTA7cjxvLlJVTEVTLmxlbmd0aDtyKyspe3ZhciBzPW8uUlVMRVNbcl07aWYocy50eXBlPT10KXtuPXM7YnJlYWt9fW58fChuPXt0eXBlOnQscnVsZXM6W119LG8uUlVMRVMucHVzaChuKSk7dmFyIGE9e2tleXdvcmQ6ZSxkZWZpbml0aW9uOmksY3VzdG9tOiEwfTtuLnJ1bGVzLnB1c2goYSl9ZnVuY3Rpb24gcihlKXtpZighby5SVUxFUy50eXBlc1tlXSl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gdHlwZSAiK2UpfXZhciBvPXRoaXM7aWYodGhpcy5SVUxFUy5rZXl3b3Jkc1tlXSl0aHJvdyBuZXcgRXJyb3IoIktleXdvcmQgIitlKyIgaXMgYWxyZWFkeSBkZWZpbmVkIik7aWYoIWkudGVzdChlKSl0aHJvdyBuZXcgRXJyb3IoIktleXdvcmQgIitlKyIgaXMgbm90IGEgdmFsaWQgaWRlbnRpZmllciIpO2lmKHQpe3ZhciBzPXQudHlwZTtpZihBcnJheS5pc0FycmF5KHMpKXt2YXIgYSxsPXMubGVuZ3RoO2ZvcihhPTA7bD5hO2ErKylyKHNbYV0pO2ZvcihhPTA7bD5hO2ErKyluKGUsc1thXSx0KX1lbHNlIHMmJnIocyksbihlLHMsdCl9dGhpcy5SVUxFUy5rZXl3b3Jkc1tlXT0hMCx0aGlzLlJVTEVTLmFsbFtlXT0hMH19LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPXtpZDoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNC9zY2hlbWEjIiwkc2NoZW1hOiJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA0L3NjaGVtYSMiLGRlc2NyaXB0aW9uOiJDb3JlIHNjaGVtYSBtZXRhLXNjaGVtYSIsZGVmaW5pdGlvbnM6e3NjaGVtYUFycmF5Ont0eXBlOiJhcnJheSIsbWluSXRlbXM6MSxpdGVtczp7JHJlZjoiIyJ9fSxwb3NpdGl2ZUludGVnZXI6e3R5cGU6ImludGVnZXIiLG1pbmltdW06MH0scG9zaXRpdmVJbnRlZ2VyRGVmYXVsdDA6e2FsbE9mOlt7JHJlZjoiIy9kZWZpbml0aW9ucy9wb3NpdGl2ZUludGVnZXIifSx7ImRlZmF1bHQiOjB9XX0sc2ltcGxlVHlwZXM6eyJlbnVtIjpbImFycmF5IiwiYm9vbGVhbiIsImludGVnZXIiLCJudWxsIiwibnVtYmVyIiwib2JqZWN0Iiwic3RyaW5nIl19LHN0cmluZ0FycmF5Ont0eXBlOiJhcnJheSIsaXRlbXM6e3R5cGU6InN0cmluZyJ9LG1pbkl0ZW1zOjEsdW5pcXVlSXRlbXM6ITB9fSx0eXBlOiJvYmplY3QiLHByb3BlcnRpZXM6e2lkOnt0eXBlOiJzdHJpbmciLGZvcm1hdDoidXJpIn0sJHNjaGVtYTp7dHlwZToic3RyaW5nIixmb3JtYXQ6InVyaSJ9LHRpdGxlOnt0eXBlOiJzdHJpbmcifSxkZXNjcmlwdGlvbjp7dHlwZToic3RyaW5nIn0sImRlZmF1bHQiOnt9LG11bHRpcGxlT2Y6e3R5cGU6Im51bWJlciIsbWluaW11bTowLGV4Y2x1c2l2ZU1pbmltdW06ITB9LG1heGltdW06e3R5cGU6Im51bWJlciJ9LGV4Y2x1c2l2ZU1heGltdW06e3R5cGU6ImJvb2xlYW4iLCJkZWZhdWx0IjohMX0sbWluaW11bTp7dHlwZToibnVtYmVyIn0sZXhjbHVzaXZlTWluaW11bTp7dHlwZToiYm9vbGVhbiIsImRlZmF1bHQiOiExfSxtYXhMZW5ndGg6eyRyZWY6IiMvZGVmaW5pdGlvbnMvcG9zaXRpdmVJbnRlZ2VyIn0sbWluTGVuZ3RoOnskcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlckRlZmF1bHQwIn0scGF0dGVybjp7dHlwZToic3RyaW5nIixmb3JtYXQ6InJlZ2V4In0sYWRkaXRpb25hbEl0ZW1zOnthbnlPZjpbe3R5cGU6ImJvb2xlYW4ifSx7JHJlZjoiIyJ9XSwiZGVmYXVsdCI6e319LGl0ZW1zOnthbnlPZjpbeyRyZWY6IiMifSx7JHJlZjoiIy9kZWZpbml0aW9ucy9zY2hlbWFBcnJheSJ9XSwiZGVmYXVsdCI6e319LG1heEl0ZW1zOnskcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlciJ9LG1pbkl0ZW1zOnskcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlckRlZmF1bHQwIn0sdW5pcXVlSXRlbXM6e3R5cGU6ImJvb2xlYW4iLCJkZWZhdWx0IjohMX0sbWF4UHJvcGVydGllczp7JHJlZjoiIy9kZWZpbml0aW9ucy9wb3NpdGl2ZUludGVnZXIifSxtaW5Qcm9wZXJ0aWVzOnskcmVmOiIjL2RlZmluaXRpb25zL3Bvc2l0aXZlSW50ZWdlckRlZmF1bHQwIn0scmVxdWlyZWQ6eyRyZWY6IiMvZGVmaW5pdGlvbnMvc3RyaW5nQXJyYXkifSxhZGRpdGlvbmFsUHJvcGVydGllczp7YW55T2Y6W3t0eXBlOiJib29sZWFuIn0seyRyZWY6IiMifV0sImRlZmF1bHQiOnt9fSxkZWZpbml0aW9uczp7dHlwZToib2JqZWN0IixhZGRpdGlvbmFsUHJvcGVydGllczp7JHJlZjoiIyJ9LCJkZWZhdWx0Ijp7fX0scHJvcGVydGllczp7dHlwZToib2JqZWN0IixhZGRpdGlvbmFsUHJvcGVydGllczp7JHJlZjoiIyJ9LCJkZWZhdWx0Ijp7fX0scGF0dGVyblByb3BlcnRpZXM6e3R5cGU6Im9iamVjdCIsYWRkaXRpb25hbFByb3BlcnRpZXM6eyRyZWY6IiMifSwiZGVmYXVsdCI6e319LGRlcGVuZGVuY2llczp7dHlwZToib2JqZWN0IixhZGRpdGlvbmFsUHJvcGVydGllczp7YW55T2Y6W3skcmVmOiIjIn0seyRyZWY6IiMvZGVmaW5pdGlvbnMvc3RyaW5nQXJyYXkifV19fSwiZW51bSI6e3R5cGU6ImFycmF5IixtaW5JdGVtczoxLHVuaXF1ZUl0ZW1zOiEwfSx0eXBlOnthbnlPZjpbeyRyZWY6IiMvZGVmaW5pdGlvbnMvc2ltcGxlVHlwZXMifSx7dHlwZToiYXJyYXkiLGl0ZW1zOnskcmVmOiIjL2RlZmluaXRpb25zL3NpbXBsZVR5cGVzIn0sbWluSXRlbXM6MSx1bmlxdWVJdGVtczohMH1dfSxhbGxPZjp7JHJlZjoiIy9kZWZpbml0aW9ucy9zY2hlbWFBcnJheSJ9LGFueU9mOnskcmVmOiIjL2RlZmluaXRpb25zL3NjaGVtYUFycmF5In0sb25lT2Y6eyRyZWY6IiMvZGVmaW5pdGlvbnMvc2NoZW1hQXJyYXkifSxub3Q6eyRyZWY6IiMifX0sZGVwZW5kZW5jaWVzOntleGNsdXNpdmVNYXhpbXVtOlsibWF4aW11bSJdLGV4Y2x1c2l2ZU1pbmltdW06WyJtaW5pbXVtIl19LCJkZWZhdWx0Ijp7fX19LGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIG49aSg1Mikscj1pKDUzKSxvPWkoNTYpLHM9aSg1NyksYT1pKDU4KSxsPWkoNjEpLGM9aSg1NCksaD17fTtoLmNyZWF0ZT1mdW5jdGlvbihlLHQpe2lmKCFlKXRocm93IG5ldyBFcnJvcigiTm8gY29udGFpbmVyIGVsZW1lbnQgcHJvdmlkZWQuIik7dGhpcy5jb250YWluZXI9ZSx0aGlzLmRvbT17fSx0aGlzLmhpZ2hsaWdodGVyPW5ldyBuLHRoaXMuc2VsZWN0aW9uPXZvaWQgMCx0aGlzLm11bHRpc2VsZWN0aW9uPXtub2RlczpbXX0sdGhpcy52YWxpZGF0ZVNjaGVtYT1udWxsLHRoaXMuZXJyb3JOb2Rlcz1bXSx0aGlzLm5vZGU9bnVsbCx0aGlzLmZvY3VzVGFyZ2V0PW51bGwsdGhpcy5fc2V0T3B0aW9ucyh0KSx0aGlzLm9wdGlvbnMuaGlzdG9yeSYmInZpZXciIT09dGhpcy5vcHRpb25zLm1vZGUmJih0aGlzLmhpc3Rvcnk9bmV3IHIodGhpcykpLHRoaXMuX2NyZWF0ZUZyYW1lKCksdGhpcy5fY3JlYXRlVGFibGUoKX0saC5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5mcmFtZSYmdGhpcy5jb250YWluZXImJnRoaXMuZnJhbWUucGFyZW50Tm9kZT09dGhpcy5jb250YWluZXImJih0aGlzLmNvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLmZyYW1lKSx0aGlzLmZyYW1lPW51bGwpLHRoaXMuY29udGFpbmVyPW51bGwsdGhpcy5kb209bnVsbCx0aGlzLmNsZWFyKCksdGhpcy5ub2RlPW51bGwsdGhpcy5mb2N1c1RhcmdldD1udWxsLHRoaXMuc2VsZWN0aW9uPW51bGwsdGhpcy5tdWx0aXNlbGVjdGlvbj1udWxsLHRoaXMuZXJyb3JOb2Rlcz1udWxsLHRoaXMudmFsaWRhdGVTY2hlbWE9bnVsbCx0aGlzLl9kZWJvdW5jZWRWYWxpZGF0ZT1udWxsLHRoaXMuaGlzdG9yeSYmKHRoaXMuaGlzdG9yeS5kZXN0cm95KCksdGhpcy5oaXN0b3J5PW51bGwpLHRoaXMuc2VhcmNoQm94JiYodGhpcy5zZWFyY2hCb3guZGVzdHJveSgpLHRoaXMuc2VhcmNoQm94PW51bGwpLHRoaXMubW9kZVN3aXRjaGVyJiYodGhpcy5tb2RlU3dpdGNoZXIuZGVzdHJveSgpLHRoaXMubW9kZVN3aXRjaGVyPW51bGwpfSxoLl9zZXRPcHRpb25zPWZ1bmN0aW9uKGUpe2lmKHRoaXMub3B0aW9ucz17c2VhcmNoOiEwLGhpc3Rvcnk6ITAsbW9kZToidHJlZSIsbmFtZTp2b2lkIDAsc2NoZW1hOm51bGx9LGUpZm9yKHZhciB0IGluIGUpZS5oYXNPd25Qcm9wZXJ0eSh0KSYmKHRoaXMub3B0aW9uc1t0XT1lW3RdKTt0aGlzLnNldFNjaGVtYSh0aGlzLm9wdGlvbnMuc2NoZW1hKSx0aGlzLl9kZWJvdW5jZWRWYWxpZGF0ZT1jLmRlYm91bmNlKHRoaXMudmFsaWRhdGUuYmluZCh0aGlzKSx0aGlzLkRFQk9VTkNFX0lOVEVSVkFMKX0saC5zZXQ9ZnVuY3Rpb24oZSx0KXtpZih0JiYoY29uc29sZS53YXJuKCdTZWNvbmQgcGFyYW1ldGVyICJuYW1lIiBpcyBkZXByZWNhdGVkLiBVc2Ugc2V0TmFtZShuYW1lKSBpbnN0ZWFkLicpLHRoaXMub3B0aW9ucy5uYW1lPXQpLGUgaW5zdGFuY2VvZiBGdW5jdGlvbnx8dm9pZCAwPT09ZSl0aGlzLmNsZWFyKCk7ZWxzZXt0aGlzLmNvbnRlbnQucmVtb3ZlQ2hpbGQodGhpcy50YWJsZSk7dmFyIGk9e2ZpZWxkOnRoaXMub3B0aW9ucy5uYW1lLHZhbHVlOmV9LG49bmV3IGEodGhpcyxpKTt0aGlzLl9zZXRSb290KG4pLHRoaXMudmFsaWRhdGUoKTt2YXIgcj0hMTt0aGlzLm5vZGUuZXhwYW5kKHIpLHRoaXMuY29udGVudC5hcHBlbmRDaGlsZCh0aGlzLnRhYmxlKX10aGlzLmhpc3RvcnkmJnRoaXMuaGlzdG9yeS5jbGVhcigpLHRoaXMuc2VhcmNoQm94JiZ0aGlzLnNlYXJjaEJveC5jbGVhcigpfSxoLmdldD1mdW5jdGlvbigpe2lmKHRoaXMuZm9jdXNUYXJnZXQpe3ZhciBlPWEuZ2V0Tm9kZUZyb21UYXJnZXQodGhpcy5mb2N1c1RhcmdldCk7ZSYmZS5ibHVyKCl9cmV0dXJuIHRoaXMubm9kZT90aGlzLm5vZGUuZ2V0VmFsdWUoKTp2b2lkIDB9LGguZ2V0VGV4dD1mdW5jdGlvbigpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLmdldCgpKX0saC5zZXRUZXh0PWZ1bmN0aW9uKGUpe3RoaXMuc2V0KGMucGFyc2UoZSkpfSxoLnNldE5hbWU9ZnVuY3Rpb24oZSl7dGhpcy5vcHRpb25zLm5hbWU9ZSx0aGlzLm5vZGUmJnRoaXMubm9kZS51cGRhdGVGaWVsZCh0aGlzLm9wdGlvbnMubmFtZSl9LGguZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMubmFtZX0saC5mb2N1cz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuY29udGVudC5xdWVyeVNlbGVjdG9yKCJbY29udGVudGVkaXRhYmxlPXRydWVdIik7ZT9lLmZvY3VzKCk6dGhpcy5ub2RlLmRvbS5leHBhbmQ/dGhpcy5ub2RlLmRvbS5leHBhbmQuZm9jdXMoKTp0aGlzLm5vZGUuZG9tLm1lbnU/dGhpcy5ub2RlLmRvbS5tZW51LmZvY3VzKCk6KGU9dGhpcy5mcmFtZS5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSxlJiZlLmZvY3VzKCkpfSxoLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5ub2RlJiYodGhpcy5ub2RlLmNvbGxhcHNlKCksdGhpcy50Ym9keS5yZW1vdmVDaGlsZCh0aGlzLm5vZGUuZ2V0RG9tKCkpLGRlbGV0ZSB0aGlzLm5vZGUpfSxoLl9zZXRSb290PWZ1bmN0aW9uKGUpe3RoaXMuY2xlYXIoKSx0aGlzLm5vZGU9ZSx0aGlzLnRib2R5LmFwcGVuZENoaWxkKGUuZ2V0RG9tKCkpfSxoLnNlYXJjaD1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdGhpcy5ub2RlPyh0aGlzLmNvbnRlbnQucmVtb3ZlQ2hpbGQodGhpcy50YWJsZSksdD10aGlzLm5vZGUuc2VhcmNoKGUpLHRoaXMuY29udGVudC5hcHBlbmRDaGlsZCh0aGlzLnRhYmxlKSk6dD1bXSx0fSxoLmV4cGFuZEFsbD1mdW5jdGlvbigpe3RoaXMubm9kZSYmKHRoaXMuY29udGVudC5yZW1vdmVDaGlsZCh0aGlzLnRhYmxlKSx0aGlzLm5vZGUuZXhwYW5kKCksdGhpcy5jb250ZW50LmFwcGVuZENoaWxkKHRoaXMudGFibGUpKX0saC5jb2xsYXBzZUFsbD1mdW5jdGlvbigpe3RoaXMubm9kZSYmKHRoaXMuY29udGVudC5yZW1vdmVDaGlsZCh0aGlzLnRhYmxlKSx0aGlzLm5vZGUuY29sbGFwc2UoKSx0aGlzLmNvbnRlbnQuYXBwZW5kQ2hpbGQodGhpcy50YWJsZSkpfSxoLl9vbkFjdGlvbj1mdW5jdGlvbihlLHQpe3RoaXMuaGlzdG9yeSYmdGhpcy5oaXN0b3J5LmFkZChlLHQpLHRoaXMuX29uQ2hhbmdlKCl9LGguX29uQ2hhbmdlPWZ1bmN0aW9uKCl7aWYodGhpcy5fZGVib3VuY2VkVmFsaWRhdGUoKSx0aGlzLm9wdGlvbnMub25DaGFuZ2UpdHJ5e3RoaXMub3B0aW9ucy5vbkNoYW5nZSgpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGluIG9uQ2hhbmdlIGNhbGxiYWNrOiAiLGUpfX0saC52YWxpZGF0ZT1mdW5jdGlvbigpe3RoaXMuZXJyb3JOb2RlcyYmdGhpcy5lcnJvck5vZGVzLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5zZXRFcnJvcihudWxsKX0pO3ZhciBlPXRoaXMubm9kZTtpZihlKXt2YXIgdD1lLnZhbGlkYXRlKCksaT1bXTtpZih0aGlzLnZhbGlkYXRlU2NoZW1hKXt2YXIgbj10aGlzLnZhbGlkYXRlU2NoZW1hKGUuZ2V0VmFsdWUoKSk7bnx8KGk9dGhpcy52YWxpZGF0ZVNjaGVtYS5lcnJvcnMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBjLmltcHJvdmVTY2hlbWFFcnJvcihlKX0pLm1hcChmdW5jdGlvbih0KXtyZXR1cm57bm9kZTplLmZpbmROb2RlKHQuZGF0YVBhdGgpLGVycm9yOnR9fSkuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lLm5vZGV9KSl9dGhpcy5lcnJvck5vZGVzPXQuY29uY2F0KGkpLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiB0Lm5vZGUuZmluZFBhcmVudHMoKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue25vZGU6ZSxjaGlsZDp0Lm5vZGUsZXJyb3I6e21lc3NhZ2U6Im9iamVjdCI9PT1lLnR5cGU/IkNvbnRhaW5zIGludmFsaWQgcHJvcGVydGllcyI6IkNvbnRhaW5zIGludmFsaWQgaXRlbXMifX19KS5jb25jYXQoZSxbdF0pfSxbXSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5vZGUuc2V0RXJyb3IoZS5lcnJvcixlLmNoaWxkKSxlLm5vZGV9KX19LGgucmVmcmVzaD1mdW5jdGlvbigpe3RoaXMubm9kZSYmdGhpcy5ub2RlLnVwZGF0ZURvbSh7cmVjdXJzZTohMH0pfSxoLnN0YXJ0QXV0b1Njcm9sbD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLGk9dGhpcy5jb250ZW50LG49Yy5nZXRBYnNvbHV0ZVRvcChpKSxyPWkuY2xpZW50SGVpZ2h0LG89bityLHM9MjQsYT01MDtuK3M+ZSYmaS5zY3JvbGxUb3A+MD90aGlzLmF1dG9TY3JvbGxTdGVwPShuK3MtZSkvMzplPm8tcyYmcitpLnNjcm9sbFRvcDxpLnNjcm9sbEhlaWdodD90aGlzLmF1dG9TY3JvbGxTdGVwPShvLXMtZSkvMzp0aGlzLmF1dG9TY3JvbGxTdGVwPXZvaWQgMCx0aGlzLmF1dG9TY3JvbGxTdGVwP3RoaXMuYXV0b1Njcm9sbFRpbWVyfHwodGhpcy5hdXRvU2Nyb2xsVGltZXI9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXt0LmF1dG9TY3JvbGxTdGVwP2kuc2Nyb2xsVG9wLT10LmF1dG9TY3JvbGxTdGVwOnQuc3RvcEF1dG9TY3JvbGwoKX0sYSkpOnRoaXMuc3RvcEF1dG9TY3JvbGwoKX0saC5zdG9wQXV0b1Njcm9sbD1mdW5jdGlvbigpe3RoaXMuYXV0b1Njcm9sbFRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMuYXV0b1Njcm9sbFRpbWVyKSxkZWxldGUgdGhpcy5hdXRvU2Nyb2xsVGltZXIpLHRoaXMuYXV0b1Njcm9sbFN0ZXAmJmRlbGV0ZSB0aGlzLmF1dG9TY3JvbGxTdGVwfSxoLnNldFNlbGVjdGlvbj1mdW5jdGlvbihlKXtlJiYoInNjcm9sbFRvcCJpbiBlJiZ0aGlzLmNvbnRlbnQmJih0aGlzLmNvbnRlbnQuc2Nyb2xsVG9wPWUuc2Nyb2xsVG9wKSxlLm5vZGVzJiZ0aGlzLnNlbGVjdChlLm5vZGVzKSxlLnJhbmdlJiZjLnNldFNlbGVjdGlvbk9mZnNldChlLnJhbmdlKSxlLmRvbSYmZS5kb20uZm9jdXMoKSl9LGguZ2V0U2VsZWN0aW9uPWZ1bmN0aW9uKCl7dmFyIGU9Yy5nZXRTZWxlY3Rpb25PZmZzZXQoKTtyZXR1cm4gZSYmIkRJViIhPT1lLmNvbnRhaW5lci5ub2RlTmFtZSYmKGU9bnVsbCkse2RvbTp0aGlzLmZvY3VzVGFyZ2V0LHJhbmdlOmUsbm9kZXM6dGhpcy5tdWx0aXNlbGVjdGlvbi5ub2Rlcy5zbGljZSgwKSxzY3JvbGxUb3A6dGhpcy5jb250ZW50P3RoaXMuY29udGVudC5zY3JvbGxUb3A6MH19LGguc2Nyb2xsVG89ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLmNvbnRlbnQ7aWYoaSl7dmFyIG49dGhpcztuLmFuaW1hdGVUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KG4uYW5pbWF0ZVRpbWVvdXQpLGRlbGV0ZSBuLmFuaW1hdGVUaW1lb3V0KSxuLmFuaW1hdGVDYWxsYmFjayYmKG4uYW5pbWF0ZUNhbGxiYWNrKCExKSxkZWxldGUgbi5hbmltYXRlQ2FsbGJhY2spO3ZhciByPWkuY2xpZW50SGVpZ2h0LG89aS5zY3JvbGxIZWlnaHQtcixzPU1hdGgubWluKE1hdGgubWF4KGUtci80LDApLG8pLGE9ZnVuY3Rpb24oKXt2YXIgZT1pLnNjcm9sbFRvcCxyPXMtZTtNYXRoLmFicyhyKT4zPyhpLnNjcm9sbFRvcCs9ci8zLG4uYW5pbWF0ZUNhbGxiYWNrPXQsbi5hbmltYXRlVGltZW91dD1zZXRUaW1lb3V0KGEsNTApKToodCYmdCghMCksaS5zY3JvbGxUb3A9cyxkZWxldGUgbi5hbmltYXRlVGltZW91dCxkZWxldGUgbi5hbmltYXRlQ2FsbGJhY2spfTthKCl9ZWxzZSB0JiZ0KCExKX0saC5fY3JlYXRlRnJhbWU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3QuX29uRXZlbnQmJnQuX29uRXZlbnQoZSl9dGhpcy5mcmFtZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLmZyYW1lLmNsYXNzTmFtZT0ianNvbmVkaXRvciBqc29uZWRpdG9yLW1vZGUtIit0aGlzLm9wdGlvbnMubW9kZSx0aGlzLmNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLmZyYW1lKTt2YXIgdD10aGlzO3RoaXMuZnJhbWUub25jbGljaz1mdW5jdGlvbih0KXt2YXIgaT10LnRhcmdldDtlKHQpLCJCVVRUT04iPT1pLm5vZGVOYW1lJiZ0LnByZXZlbnREZWZhdWx0KCl9LHRoaXMuZnJhbWUub25pbnB1dD1lLHRoaXMuZnJhbWUub25jaGFuZ2U9ZSx0aGlzLmZyYW1lLm9ua2V5ZG93bj1lLHRoaXMuZnJhbWUub25rZXl1cD1lLHRoaXMuZnJhbWUub25jdXQ9ZSx0aGlzLmZyYW1lLm9ucGFzdGU9ZSx0aGlzLmZyYW1lLm9ubW91c2Vkb3duPWUsdGhpcy5mcmFtZS5vbm1vdXNldXA9ZSx0aGlzLmZyYW1lLm9ubW91c2VvdmVyPWUsdGhpcy5mcmFtZS5vbm1vdXNlb3V0PWUsYy5hZGRFdmVudExpc3RlbmVyKHRoaXMuZnJhbWUsImZvY3VzIixlLCEwKSxjLmFkZEV2ZW50TGlzdGVuZXIodGhpcy5mcmFtZSwiYmx1ciIsZSwhMCksdGhpcy5mcmFtZS5vbmZvY3VzaW49ZSx0aGlzLmZyYW1lLm9uZm9jdXNvdXQ9ZSx0aGlzLm1lbnU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5tZW51LmNsYXNzTmFtZT0ianNvbmVkaXRvci1tZW51Iix0aGlzLmZyYW1lLmFwcGVuZENoaWxkKHRoaXMubWVudSk7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7aS5jbGFzc05hbWU9Impzb25lZGl0b3ItZXhwYW5kLWFsbCIsaS50aXRsZT0iRXhwYW5kIGFsbCBmaWVsZHMiLGkub25jbGljaz1mdW5jdGlvbigpe3QuZXhwYW5kQWxsKCl9LHRoaXMubWVudS5hcHBlbmRDaGlsZChpKTt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTtpZihuLnRpdGxlPSJDb2xsYXBzZSBhbGwgZmllbGRzIixuLmNsYXNzTmFtZT0ianNvbmVkaXRvci1jb2xsYXBzZS1hbGwiLG4ub25jbGljaz1mdW5jdGlvbigpe3QuY29sbGFwc2VBbGwoKX0sdGhpcy5tZW51LmFwcGVuZENoaWxkKG4pLHRoaXMuaGlzdG9yeSl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7ci5jbGFzc05hbWU9Impzb25lZGl0b3ItdW5kbyBqc29uZWRpdG9yLXNlcGFyYXRvciIsci50aXRsZT0iVW5kbyBsYXN0IGFjdGlvbiAoQ3RybCtaKSIsci5vbmNsaWNrPWZ1bmN0aW9uKCl7dC5fb25VbmRvKCl9LHRoaXMubWVudS5hcHBlbmRDaGlsZChyKSx0aGlzLmRvbS51bmRvPXI7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7cy5jbGFzc05hbWU9Impzb25lZGl0b3ItcmVkbyIscy50aXRsZT0iUmVkbyAoQ3RybCtTaGlmdCtaKSIscy5vbmNsaWNrPWZ1bmN0aW9uKCl7dC5fb25SZWRvKCl9LHRoaXMubWVudS5hcHBlbmRDaGlsZChzKSx0aGlzLmRvbS5yZWRvPXMsdGhpcy5oaXN0b3J5Lm9uQ2hhbmdlPWZ1bmN0aW9uKCl7ci5kaXNhYmxlZD0hdC5oaXN0b3J5LmNhblVuZG8oKSxzLmRpc2FibGVkPSF0Lmhpc3RvcnkuY2FuUmVkbygpfSx0aGlzLmhpc3Rvcnkub25DaGFuZ2UoKX1pZih0aGlzLm9wdGlvbnMmJnRoaXMub3B0aW9ucy5tb2RlcyYmdGhpcy5vcHRpb25zLm1vZGVzLmxlbmd0aCl7dmFyIGE9dGhpczt0aGlzLm1vZGVTd2l0Y2hlcj1uZXcgbCh0aGlzLm1lbnUsdGhpcy5vcHRpb25zLm1vZGVzLHRoaXMub3B0aW9ucy5tb2RlLGZ1bmN0aW9uKGUpe2EubW9kZVN3aXRjaGVyLmRlc3Ryb3koKSxhLnNldE1vZGUoZSksYS5tb2RlU3dpdGNoZXIuZm9jdXMoKX0pfXRoaXMub3B0aW9ucy5zZWFyY2gmJih0aGlzLnNlYXJjaEJveD1uZXcgbyh0aGlzLHRoaXMubWVudSkpfSxoLl9vblVuZG89ZnVuY3Rpb24oKXt0aGlzLmhpc3RvcnkmJih0aGlzLmhpc3RvcnkudW5kbygpLHRoaXMuX29uQ2hhbmdlKCkpfSxoLl9vblJlZG89ZnVuY3Rpb24oKXt0aGlzLmhpc3RvcnkmJih0aGlzLmhpc3RvcnkucmVkbygpLHRoaXMuX29uQ2hhbmdlKCkpfSxoLl9vbkV2ZW50PWZ1bmN0aW9uKGUpeyJrZXlkb3duIj09ZS50eXBlJiZ0aGlzLl9vbktleURvd24oZSksImZvY3VzIj09ZS50eXBlJiYodGhpcy5mb2N1c1RhcmdldD1lLnRhcmdldCksIm1vdXNlZG93biI9PWUudHlwZSYmdGhpcy5fc3RhcnREcmFnRGlzdGFuY2UoZSksIm1vdXNlbW92ZSIhPWUudHlwZSYmIm1vdXNldXAiIT1lLnR5cGUmJiJjbGljayIhPWUudHlwZXx8dGhpcy5fdXBkYXRlRHJhZ0Rpc3RhbmNlKGUpO3ZhciB0PWEuZ2V0Tm9kZUZyb21UYXJnZXQoZS50YXJnZXQpO2lmKHQmJnQuc2VsZWN0ZWQpe2lmKCJjbGljayI9PWUudHlwZSl7aWYoZS50YXJnZXQ9PXQuZG9tLm1lbnUpcmV0dXJuIHZvaWQgdGhpcy5zaG93Q29udGV4dE1lbnUoZS50YXJnZXQpO2UuaGFzTW92ZWR8fHRoaXMuZGVzZWxlY3QoKX0ibW91c2Vkb3duIj09ZS50eXBlJiZhLm9uRHJhZ1N0YXJ0KHRoaXMubXVsdGlzZWxlY3Rpb24ubm9kZXMsZSl9ZWxzZSJtb3VzZWRvd24iPT1lLnR5cGUmJih0aGlzLmRlc2VsZWN0KCksdCYmZS50YXJnZXQ9PXQuZG9tLmRyYWc/YS5vbkRyYWdTdGFydCh0LGUpOighdHx8ZS50YXJnZXQhPXQuZG9tLmZpZWxkJiZlLnRhcmdldCE9dC5kb20udmFsdWUmJmUudGFyZ2V0IT10LmRvbS5zZWxlY3QpJiZ0aGlzLl9vbk11bHRpU2VsZWN0U3RhcnQoZSkpO3QmJnQub25FdmVudChlKX0saC5fc3RhcnREcmFnRGlzdGFuY2U9ZnVuY3Rpb24oZSl7dGhpcy5kcmFnRGlzdGFuY2VFdmVudD17aW5pdGlhbFRhcmdldDplLnRhcmdldCxpbml0aWFsUGFnZVg6ZS5wYWdlWCxpbml0aWFsUGFnZVk6ZS5wYWdlWSxkcmFnRGlzdGFuY2U6MCxoYXNNb3ZlZDohMX19LGguX3VwZGF0ZURyYWdEaXN0YW5jZT1mdW5jdGlvbihlKXt0aGlzLmRyYWdEaXN0YW5jZUV2ZW50fHx0aGlzLl9zdGFydERyYWdEaXN0YW5jZShlKTt2YXIgdD1lLnBhZ2VYLXRoaXMuZHJhZ0Rpc3RhbmNlRXZlbnQuaW5pdGlhbFBhZ2VYLGk9ZS5wYWdlWS10aGlzLmRyYWdEaXN0YW5jZUV2ZW50LmluaXRpYWxQYWdlWTtyZXR1cm4gdGhpcy5kcmFnRGlzdGFuY2VFdmVudC5kcmFnRGlzdGFuY2U9TWF0aC5zcXJ0KHQqdCtpKmkpLHRoaXMuZHJhZ0Rpc3RhbmNlRXZlbnQuaGFzTW92ZWQ9dGhpcy5kcmFnRGlzdGFuY2VFdmVudC5oYXNNb3ZlZHx8dGhpcy5kcmFnRGlzdGFuY2VFdmVudC5kcmFnRGlzdGFuY2U+MTAsZS5kcmFnRGlzdGFuY2U9dGhpcy5kcmFnRGlzdGFuY2VFdmVudC5kcmFnRGlzdGFuY2UsZS5oYXNNb3ZlZD10aGlzLmRyYWdEaXN0YW5jZUV2ZW50Lmhhc01vdmVkLGUuZHJhZ0Rpc3RhbmNlfSxoLl9vbk11bHRpU2VsZWN0U3RhcnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9YS5nZXROb2RlRnJvbVRhcmdldChlLnRhcmdldCk7aWYoInRyZWUiPT09dGhpcy5vcHRpb25zLm1vZGUmJnZvaWQgMD09PXRoaXMub3B0aW9ucy5vbkVkaXRhYmxlKXt0aGlzLm11bHRpc2VsZWN0aW9uPXtzdGFydDp0fHxudWxsLGVuZDpudWxsLG5vZGVzOltdfSx0aGlzLl9zdGFydERyYWdEaXN0YW5jZShlKTt2YXIgaT10aGlzO3RoaXMubW91c2Vtb3ZlfHwodGhpcy5tb3VzZW1vdmU9Yy5hZGRFdmVudExpc3RlbmVyKHdpbmRvdywibW91c2Vtb3ZlIixmdW5jdGlvbihlKXtpLl9vbk11bHRpU2VsZWN0KGUpfSkpLHRoaXMubW91c2V1cHx8KHRoaXMubW91c2V1cD1jLmFkZEV2ZW50TGlzdGVuZXIod2luZG93LCJtb3VzZXVwIixmdW5jdGlvbihlKXtpLl9vbk11bHRpU2VsZWN0RW5kKGUpfSkpfX0saC5fb25NdWx0aVNlbGVjdD1mdW5jdGlvbihlKXtpZihlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fdXBkYXRlRHJhZ0Rpc3RhbmNlKGUpLGUuaGFzTW92ZWQpe3ZhciB0PWEuZ2V0Tm9kZUZyb21UYXJnZXQoZS50YXJnZXQpO3QmJihudWxsPT10aGlzLm11bHRpc2VsZWN0aW9uLnN0YXJ0JiYodGhpcy5tdWx0aXNlbGVjdGlvbi5zdGFydD10KSx0aGlzLm11bHRpc2VsZWN0aW9uLmVuZD10KSx0aGlzLmRlc2VsZWN0KCk7dmFyIGk9dGhpcy5tdWx0aXNlbGVjdGlvbi5zdGFydCxuPXRoaXMubXVsdGlzZWxlY3Rpb24uZW5kfHx0aGlzLm11bHRpc2VsZWN0aW9uLnN0YXJ0O2kmJm4mJih0aGlzLm11bHRpc2VsZWN0aW9uLm5vZGVzPXRoaXMuX2ZpbmRUb3BMZXZlbE5vZGVzKGksbiksdGhpcy5zZWxlY3QodGhpcy5tdWx0aXNlbGVjdGlvbi5ub2RlcykpfX0saC5fb25NdWx0aVNlbGVjdEVuZD1mdW5jdGlvbihlKXt0aGlzLm11bHRpc2VsZWN0aW9uLm5vZGVzWzBdJiZ0aGlzLm11bHRpc2VsZWN0aW9uLm5vZGVzWzBdLmRvbS5tZW51LmZvY3VzKCksdGhpcy5tdWx0aXNlbGVjdGlvbi5zdGFydD1udWxsLHRoaXMubXVsdGlzZWxlY3Rpb24uZW5kPW51bGwsdGhpcy5tb3VzZW1vdmUmJihjLnJlbW92ZUV2ZW50TGlzdGVuZXIod2luZG93LCJtb3VzZW1vdmUiLHRoaXMubW91c2Vtb3ZlKSxkZWxldGUgdGhpcy5tb3VzZW1vdmUpLHRoaXMubW91c2V1cCYmKGMucmVtb3ZlRXZlbnRMaXN0ZW5lcih3aW5kb3csIm1vdXNldXAiLHRoaXMubW91c2V1cCksZGVsZXRlIHRoaXMubW91c2V1cCl9LGguZGVzZWxlY3Q9ZnVuY3Rpb24oZSl7dGhpcy5tdWx0aXNlbGVjdGlvbi5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Uuc2V0U2VsZWN0ZWQoITEpfSksdGhpcy5tdWx0aXNlbGVjdGlvbi5ub2Rlcz1bXSxlJiYodGhpcy5tdWx0aXNlbGVjdGlvbi5zdGFydD1udWxsLHRoaXMubXVsdGlzZWxlY3Rpb24uZW5kPW51bGwpfSxoLnNlbGVjdD1mdW5jdGlvbihlKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gdGhpcy5zZWxlY3QoW2VdKTtpZihlKXt0aGlzLmRlc2VsZWN0KCksdGhpcy5tdWx0aXNlbGVjdGlvbi5ub2Rlcz1lLnNsaWNlKDApO3ZhciB0PWVbMF07ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Uuc2V0U2VsZWN0ZWQoITAsZT09PXQpfSl9fSxoLl9maW5kVG9wTGV2ZWxOb2Rlcz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgaT1lLmdldE5vZGVQYXRoKCksbj10LmdldE5vZGVQYXRoKCkscj0wO3I8aS5sZW5ndGgmJmlbcl09PT1uW3JdOylyKys7dmFyIG89aVtyLTFdLHM9aVtyXSxhPW5bcl07aWYocyYmYXx8KG8ucGFyZW50PyhzPW8sYT1vLG89by5wYXJlbnQpOihzPW8uY2hpbGRzWzBdLGE9by5jaGlsZHNbby5jaGlsZHMubGVuZ3RoLTFdKSksbyYmcyYmYSl7dmFyIGw9by5jaGlsZHMuaW5kZXhPZihzKSxjPW8uY2hpbGRzLmluZGV4T2YoYSksaD1NYXRoLm1pbihsLGMpLGQ9TWF0aC5tYXgobCxjKTtyZXR1cm4gby5jaGlsZHMuc2xpY2UoaCxkKzEpfXJldHVybltdfSxoLl9vbktleURvd249ZnVuY3Rpb24oZSl7dmFyIHQ9ZS53aGljaHx8ZS5rZXlDb2RlLGk9ZS5jdHJsS2V5LG49ZS5zaGlmdEtleSxyPSExO2lmKDk9PXQpe3ZhciBvPXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe2Muc2VsZWN0Q29udGVudEVkaXRhYmxlKG8uZm9jdXNUYXJnZXQpfSwwKX1pZih0aGlzLnNlYXJjaEJveClpZihpJiY3MD09dCl0aGlzLnNlYXJjaEJveC5kb20uc2VhcmNoLmZvY3VzKCksdGhpcy5zZWFyY2hCb3guZG9tLnNlYXJjaC5zZWxlY3QoKSxyPSEwO2Vsc2UgaWYoMTE0PT10fHxpJiY3MT09dCl7dmFyIHM9ITA7bj90aGlzLnNlYXJjaEJveC5wcmV2aW91cyhzKTp0aGlzLnNlYXJjaEJveC5uZXh0KHMpLHI9ITB9dGhpcy5oaXN0b3J5JiYoaSYmIW4mJjkwPT10Pyh0aGlzLl9vblVuZG8oKSxyPSEwKTppJiZuJiY5MD09dCYmKHRoaXMuX29uUmVkbygpLHI9ITApKSxyJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkpfSxoLl9jcmVhdGVUYWJsZT1mdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2UuY2xhc3NOYW1lPSJqc29uZWRpdG9yLW91dGVyIix0aGlzLmNvbnRlbnRPdXRlcj1lLHRoaXMuY29udGVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLmNvbnRlbnQuY2xhc3NOYW1lPSJqc29uZWRpdG9yLXRyZWUiLGUuYXBwZW5kQ2hpbGQodGhpcy5jb250ZW50KSx0aGlzLnRhYmxlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIiksdGhpcy50YWJsZS5jbGFzc05hbWU9Impzb25lZGl0b3ItdHJlZSIsdGhpcy5jb250ZW50LmFwcGVuZENoaWxkKHRoaXMudGFibGUpO3ZhciB0O3RoaXMuY29sZ3JvdXBDb250ZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNvbGdyb3VwIiksInRyZWUiPT09dGhpcy5vcHRpb25zLm1vZGUmJih0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNvbCIpLHQud2lkdGg9IjI0cHgiLHRoaXMuY29sZ3JvdXBDb250ZW50LmFwcGVuZENoaWxkKHQpKSx0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNvbCIpLHQud2lkdGg9IjI0cHgiLHRoaXMuY29sZ3JvdXBDb250ZW50LmFwcGVuZENoaWxkKHQpLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY29sIiksdGhpcy5jb2xncm91cENvbnRlbnQuYXBwZW5kQ2hpbGQodCksdGhpcy50YWJsZS5hcHBlbmRDaGlsZCh0aGlzLmNvbGdyb3VwQ29udGVudCksdGhpcy50Ym9keT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Ym9keSIpLHRoaXMudGFibGUuYXBwZW5kQ2hpbGQodGhpcy50Ym9keSksdGhpcy5mcmFtZS5hcHBlbmRDaGlsZChlKX0saC5zaG93Q29udGV4dE1lbnU9ZnVuY3Rpb24oZSx0KXt2YXIgaT1bXSxuPXRoaXM7aS5wdXNoKHt0ZXh0OiJEdXBsaWNhdGUiLHRpdGxlOiJEdXBsaWNhdGUgc2VsZWN0ZWQgZmllbGRzIChDdHJsK0QpIixjbGFzc05hbWU6Impzb25lZGl0b3ItZHVwbGljYXRlIixjbGljazpmdW5jdGlvbigpe2Eub25EdXBsaWNhdGUobi5tdWx0aXNlbGVjdGlvbi5ub2Rlcyl9fSksaS5wdXNoKHt0ZXh0OiJSZW1vdmUiLHRpdGxlOiJSZW1vdmUgc2VsZWN0ZWQgZmllbGRzIChDdHJsK0RlbCkiLGNsYXNzTmFtZToianNvbmVkaXRvci1yZW1vdmUiLGNsaWNrOmZ1bmN0aW9uKCl7YS5vblJlbW92ZShuLm11bHRpc2VsZWN0aW9uLm5vZGVzKX19KTt2YXIgcj1uZXcgcyhpLHtjbG9zZTp0fSk7ci5zaG93KGUsdGhpcy5jb250ZW50KX0sZS5leHBvcnRzPVt7bW9kZToidHJlZSIsbWl4aW46aCxkYXRhOiJqc29uIn0se21vZGU6InZpZXciLG1peGluOmgsZGF0YToianNvbiJ9LHttb2RlOiJmb3JtIixtaXhpbjpoLGRhdGE6Impzb24ifV19LGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoKXt0aGlzLmxvY2tlZD0hMX1pLnByb3RvdHlwZS5oaWdobGlnaHQ9ZnVuY3Rpb24oZSl7dGhpcy5sb2NrZWR8fCh0aGlzLm5vZGUhPWUmJih0aGlzLm5vZGUmJnRoaXMubm9kZS5zZXRIaWdobGlnaHQoITEpLHRoaXMubm9kZT1lLHRoaXMubm9kZS5zZXRIaWdobGlnaHQoITApKSx0aGlzLl9jYW5jZWxVbmhpZ2hsaWdodCgpKX0saS5wcm90b3R5cGUudW5oaWdobGlnaHQ9ZnVuY3Rpb24oKXtpZighdGhpcy5sb2NrZWQpe3ZhciBlPXRoaXM7dGhpcy5ub2RlJiYodGhpcy5fY2FuY2VsVW5oaWdobGlnaHQoKSx0aGlzLnVuaGlnaGxpZ2h0VGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2Uubm9kZS5zZXRIaWdobGlnaHQoITEpLGUubm9kZT12b2lkIDAsZS51bmhpZ2hsaWdodFRpbWVyPXZvaWQgMH0sMCkpfX0saS5wcm90b3R5cGUuX2NhbmNlbFVuaGlnaGxpZ2h0PWZ1bmN0aW9uKCl7dGhpcy51bmhpZ2hsaWdodFRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudW5oaWdobGlnaHRUaW1lciksdGhpcy51bmhpZ2hsaWdodFRpbWVyPXZvaWQgMCl9LGkucHJvdG90eXBlLmxvY2s9ZnVuY3Rpb24oKXt0aGlzLmxvY2tlZD0hMH0saS5wcm90b3R5cGUudW5sb2NrPWZ1bmN0aW9uKCl7dGhpcy5sb2NrZWQ9ITF9LGUuZXhwb3J0cz1pfSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7dGhpcy5lZGl0b3I9ZSx0aGlzLmhpc3Rvcnk9W10sdGhpcy5pbmRleD0tMSx0aGlzLmNsZWFyKCksdGhpcy5hY3Rpb25zPXtlZGl0RmllbGQ6e3VuZG86ZnVuY3Rpb24oZSl7ZS5ub2RlLnVwZGF0ZUZpZWxkKGUub2xkVmFsdWUpfSxyZWRvOmZ1bmN0aW9uKGUpe2Uubm9kZS51cGRhdGVGaWVsZChlLm5ld1ZhbHVlKX19LGVkaXRWYWx1ZTp7dW5kbzpmdW5jdGlvbihlKXtlLm5vZGUudXBkYXRlVmFsdWUoZS5vbGRWYWx1ZSl9LHJlZG86ZnVuY3Rpb24oZSl7ZS5ub2RlLnVwZGF0ZVZhbHVlKGUubmV3VmFsdWUpfX0sY2hhbmdlVHlwZTp7dW5kbzpmdW5jdGlvbihlKXtlLm5vZGUuY2hhbmdlVHlwZShlLm9sZFR5cGUpfSxyZWRvOmZ1bmN0aW9uKGUpe2Uubm9kZS5jaGFuZ2VUeXBlKGUubmV3VHlwZSl9fSxhcHBlbmROb2Rlczp7dW5kbzpmdW5jdGlvbihlKXtlLm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7ZS5wYXJlbnQucmVtb3ZlQ2hpbGQodCl9KX0scmVkbzpmdW5jdGlvbihlKXtlLm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7ZS5wYXJlbnQuYXBwZW5kQ2hpbGQodCl9KX19LGluc2VydEJlZm9yZU5vZGVzOnt1bmRvOmZ1bmN0aW9uKGUpe2Uubm9kZXMuZm9yRWFjaChmdW5jdGlvbih0KXtlLnBhcmVudC5yZW1vdmVDaGlsZCh0KX0pfSxyZWRvOmZ1bmN0aW9uKGUpe2Uubm9kZXMuZm9yRWFjaChmdW5jdGlvbih0KXtlLnBhcmVudC5pbnNlcnRCZWZvcmUodCxlLmJlZm9yZU5vZGUpfSl9fSxpbnNlcnRBZnRlck5vZGVzOnt1bmRvOmZ1bmN0aW9uKGUpe2Uubm9kZXMuZm9yRWFjaChmdW5jdGlvbih0KXtlLnBhcmVudC5yZW1vdmVDaGlsZCh0KTsKfSl9LHJlZG86ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5hZnRlck5vZGU7ZS5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKGkpe2UucGFyZW50Lmluc2VydEFmdGVyKGUubm9kZSx0KSx0PWl9KX19LHJlbW92ZU5vZGVzOnt1bmRvOmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50LGk9dC5jaGlsZHNbZS5pbmRleF18fHQuYXBwZW5kO2Uubm9kZXMuZm9yRWFjaChmdW5jdGlvbihlKXt0Lmluc2VydEJlZm9yZShlLGkpfSl9LHJlZG86ZnVuY3Rpb24oZSl7ZS5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UucGFyZW50LnJlbW92ZUNoaWxkKHQpfSl9fSxkdXBsaWNhdGVOb2Rlczp7dW5kbzpmdW5jdGlvbihlKXtlLm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7ZS5wYXJlbnQucmVtb3ZlQ2hpbGQodCl9KX0scmVkbzpmdW5jdGlvbihlKXt2YXIgdD1lLmFmdGVyTm9kZTtlLm5vZGVzLmZvckVhY2goZnVuY3Rpb24oaSl7ZS5wYXJlbnQuaW5zZXJ0QWZ0ZXIoaSx0KSx0PWl9KX19LG1vdmVOb2Rlczp7dW5kbzpmdW5jdGlvbihlKXtlLm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7ZS5vbGRCZWZvcmVOb2RlLnBhcmVudC5tb3ZlQmVmb3JlKHQsZS5vbGRCZWZvcmVOb2RlKX0pfSxyZWRvOmZ1bmN0aW9uKGUpe2Uubm9kZXMuZm9yRWFjaChmdW5jdGlvbih0KXtlLm5ld0JlZm9yZU5vZGUucGFyZW50Lm1vdmVCZWZvcmUodCxlLm5ld0JlZm9yZU5vZGUpfSl9fSxzb3J0Ont1bmRvOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZTt0LmhpZGVDaGlsZHMoKSx0LnNvcnQ9ZS5vbGRTb3J0LHQuY2hpbGRzPWUub2xkQ2hpbGRzLHQuc2hvd0NoaWxkcygpfSxyZWRvOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZTt0LmhpZGVDaGlsZHMoKSx0LnNvcnQ9ZS5uZXdTb3J0LHQuY2hpbGRzPWUubmV3Q2hpbGRzLHQuc2hvd0NoaWxkcygpfX19fWkoNTQpO24ucHJvdG90eXBlLm9uQ2hhbmdlPWZ1bmN0aW9uKCl7fSxuLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oZSx0KXt0aGlzLmluZGV4KyssdGhpcy5oaXN0b3J5W3RoaXMuaW5kZXhdPXthY3Rpb246ZSxwYXJhbXM6dCx0aW1lc3RhbXA6bmV3IERhdGV9LHRoaXMuaW5kZXg8dGhpcy5oaXN0b3J5Lmxlbmd0aC0xJiZ0aGlzLmhpc3Rvcnkuc3BsaWNlKHRoaXMuaW5kZXgrMSx0aGlzLmhpc3RvcnkubGVuZ3RoLXRoaXMuaW5kZXgtMSksdGhpcy5vbkNoYW5nZSgpfSxuLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuaGlzdG9yeT1bXSx0aGlzLmluZGV4PS0xLHRoaXMub25DaGFuZ2UoKX0sbi5wcm90b3R5cGUuY2FuVW5kbz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmluZGV4Pj0wfSxuLnByb3RvdHlwZS5jYW5SZWRvPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5kZXg8dGhpcy5oaXN0b3J5Lmxlbmd0aC0xfSxuLnByb3RvdHlwZS51bmRvPWZ1bmN0aW9uKCl7aWYodGhpcy5jYW5VbmRvKCkpe3ZhciBlPXRoaXMuaGlzdG9yeVt0aGlzLmluZGV4XTtpZihlKXt2YXIgdD10aGlzLmFjdGlvbnNbZS5hY3Rpb25dO3QmJnQudW5kbz8odC51bmRvKGUucGFyYW1zKSxlLnBhcmFtcy5vbGRTZWxlY3Rpb24mJnRoaXMuZWRpdG9yLnNldFNlbGVjdGlvbihlLnBhcmFtcy5vbGRTZWxlY3Rpb24pKTpjb25zb2xlLmVycm9yKG5ldyBFcnJvcigndW5rbm93biBhY3Rpb24gIicrZS5hY3Rpb24rJyInKSl9dGhpcy5pbmRleC0tLHRoaXMub25DaGFuZ2UoKX19LG4ucHJvdG90eXBlLnJlZG89ZnVuY3Rpb24oKXtpZih0aGlzLmNhblJlZG8oKSl7dGhpcy5pbmRleCsrO3ZhciBlPXRoaXMuaGlzdG9yeVt0aGlzLmluZGV4XTtpZihlKXt2YXIgdD10aGlzLmFjdGlvbnNbZS5hY3Rpb25dO3QmJnQucmVkbz8odC5yZWRvKGUucGFyYW1zKSxlLnBhcmFtcy5uZXdTZWxlY3Rpb24mJnRoaXMuZWRpdG9yLnNldFNlbGVjdGlvbihlLnBhcmFtcy5uZXdTZWxlY3Rpb24pKTpjb25zb2xlLmVycm9yKG5ldyBFcnJvcigndW5rbm93biBhY3Rpb24gIicrZS5hY3Rpb24rJyInKSl9dGhpcy5vbkNoYW5nZSgpfX0sbi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3RoaXMuZWRpdG9yPW51bGwsdGhpcy5oaXN0b3J5PVtdLHRoaXMuaW5kZXg9LTF9LGUuZXhwb3J0cz1ufSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWkoNTUpO3QucGFyc2U9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoKGkpe3Rocm93IHQudmFsaWRhdGUoZSksaX19LHQuc2FuaXRpemU9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe3JldHVybiBlLmNoYXJBdChoKX1mdW5jdGlvbiBpKCl7cmV0dXJuIGUuY2hhckF0KGgrMSl9ZnVuY3Rpb24gbigpe3JldHVybiBlLmNoYXJBdChoLTEpfWZ1bmN0aW9uIHIoKXtmb3IodmFyIGU9Yy5sZW5ndGgtMTtlPj0wOyl7dmFyIHQ9Y1tlXTtpZigiICIhPT10JiYiXG4iIT09dCYmIlxyIiE9PXQmJiIJIiE9PXQpcmV0dXJuIHQ7ZS0tfXJldHVybiIifWZ1bmN0aW9uIG8oKXtmb3IoaCs9MjtoPGUubGVuZ3RoJiYoIioiIT09dCgpfHwiLyIhPT1pKCkpOyloKys7aCs9Mn1mdW5jdGlvbiBzKCl7Zm9yKGgrPTI7aDxlLmxlbmd0aCYmIlxuIiE9PXQoKTspaCsrfWZ1bmN0aW9uIGEoaSl7Yy5wdXNoKCciJyksaCsrO2Zvcih2YXIgcj10KCk7aDxlLmxlbmd0aCYmciE9PWk7KSciJz09PXImJiJcXCIhPT1uKCkmJmMucHVzaCgiXFwiKSwiXFwiPT09ciYmKGgrKyxyPXQoKSwiJyIhPT1yJiZjLnB1c2goIlxcIikpLGMucHVzaChyKSxoKysscj10KCk7cj09PWkmJihjLnB1c2goJyInKSxoKyspfWZ1bmN0aW9uIGwoKXtmb3IodmFyIGU9WyJudWxsIiwidHJ1ZSIsImZhbHNlIl0saT0iIixuPXQoKSxyPS9bYS16QS1aXyRcZF0vO3IudGVzdChuKTspaSs9bixoKyssbj10KCk7LTE9PT1lLmluZGV4T2YoaSk/Yy5wdXNoKCciJytpKyciJyk6Yy5wdXNoKGkpfXZhciBjPVtdLGg9MCxkPWUubWF0Y2goL15ccyooXC9cKigufFtcclxuXSkqP1wqXC8pP1xzKltcZGEtekEtWl8kXStccypcKChbXHNcU10qKVwpXHMqOz9ccyokLyk7Zm9yKGQmJihlPWRbM10pO2g8ZS5sZW5ndGg7KXt2YXIgdT10KCk7Ii8iPT09dSYmIioiPT09aSgpP28oKToiLyI9PT11JiYiLyI9PT1pKCk/cygpOiInIj09PXV8fCciJz09PXU/YSh1KTovW2EtekEtWl8kXS8udGVzdCh1KSYmLTEhPT1bInsiLCIsIl0uaW5kZXhPZihyKCkpP2woKTooYy5wdXNoKHUpLGgrKyl9cmV0dXJuIGMuam9pbigiIil9LHQuZXNjYXBlVW5pY29kZUNoYXJzPWZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoL1tcdTAwN0YtXHVGRkZGXS9nLGZ1bmN0aW9uKGUpe3JldHVybiJcXHUiKygiMDAwMCIrZS5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTQpfSl9LHQudmFsaWRhdGU9ZnVuY3Rpb24oZSl7InVuZGVmaW5lZCIhPXR5cGVvZiBuP24ucGFyc2UoZSk6SlNPTi5wYXJzZShlKX0sdC5leHRlbmQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIGkgaW4gdCl0Lmhhc093blByb3BlcnR5KGkpJiYoZVtpXT10W2ldKTtyZXR1cm4gZX0sdC5jbGVhcj1mdW5jdGlvbihlKXtmb3IodmFyIHQgaW4gZSllLmhhc093blByb3BlcnR5KHQpJiZkZWxldGUgZVt0XTtyZXR1cm4gZX0sdC50eXBlPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZT8ibnVsbCI6dm9pZCAwPT09ZT8idW5kZWZpbmVkIjplIGluc3RhbmNlb2YgTnVtYmVyfHwibnVtYmVyIj09dHlwZW9mIGU/Im51bWJlciI6ZSBpbnN0YW5jZW9mIFN0cmluZ3x8InN0cmluZyI9PXR5cGVvZiBlPyJzdHJpbmciOmUgaW5zdGFuY2VvZiBCb29sZWFufHwiYm9vbGVhbiI9PXR5cGVvZiBlPyJib29sZWFuIjplIGluc3RhbmNlb2YgUmVnRXhwfHwicmVnZXhwIj09dHlwZW9mIGU/InJlZ2V4cCI6dC5pc0FycmF5KGUpPyJhcnJheSI6Im9iamVjdCJ9O3ZhciByPS9eaHR0cHM/OlwvXC9cUyskLzt0LmlzVXJsPWZ1bmN0aW9uKGUpe3JldHVybigic3RyaW5nIj09dHlwZW9mIGV8fGUgaW5zdGFuY2VvZiBTdHJpbmcpJiZyLnRlc3QoZSl9LHQuaXNBcnJheT1mdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfSx0LmdldEFic29sdXRlTGVmdD1mdW5jdGlvbihlKXt2YXIgdD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiB0LmxlZnQrd2luZG93LnBhZ2VYT2Zmc2V0fHxkb2N1bWVudC5zY3JvbGxMZWZ0fHwwfSx0LmdldEFic29sdXRlVG9wPWZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIHQudG9wK3dpbmRvdy5wYWdlWU9mZnNldHx8ZG9jdW1lbnQuc2Nyb2xsVG9wfHwwfSx0LmFkZENsYXNzTmFtZT1mdW5jdGlvbihlLHQpe3ZhciBpPWUuY2xhc3NOYW1lLnNwbGl0KCIgIik7LTE9PWkuaW5kZXhPZih0KSYmKGkucHVzaCh0KSxlLmNsYXNzTmFtZT1pLmpvaW4oIiAiKSl9LHQucmVtb3ZlQ2xhc3NOYW1lPWZ1bmN0aW9uKGUsdCl7dmFyIGk9ZS5jbGFzc05hbWUuc3BsaXQoIiAiKSxuPWkuaW5kZXhPZih0KTstMSE9biYmKGkuc3BsaWNlKG4sMSksZS5jbGFzc05hbWU9aS5qb2luKCIgIikpfSx0LnN0cmlwRm9ybWF0dGluZz1mdW5jdGlvbihlKXtmb3IodmFyIGk9ZS5jaGlsZE5vZGVzLG49MCxyPWkubGVuZ3RoO3I+bjtuKyspe3ZhciBvPWlbbl07by5zdHlsZSYmby5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIik7dmFyIHM9by5hdHRyaWJ1dGVzO2lmKHMpZm9yKHZhciBhPXMubGVuZ3RoLTE7YT49MDthLS0pe3ZhciBsPXNbYV07bC5zcGVjaWZpZWQ9PT0hMCYmby5yZW1vdmVBdHRyaWJ1dGUobC5uYW1lKX10LnN0cmlwRm9ybWF0dGluZyhvKX19LHQuc2V0RW5kT2ZDb250ZW50RWRpdGFibGU9ZnVuY3Rpb24oZSl7dmFyIHQsaTtkb2N1bWVudC5jcmVhdGVSYW5nZSYmKHQ9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSx0LnNlbGVjdE5vZGVDb250ZW50cyhlKSx0LmNvbGxhcHNlKCExKSxpPXdpbmRvdy5nZXRTZWxlY3Rpb24oKSxpLnJlbW92ZUFsbFJhbmdlcygpLGkuYWRkUmFuZ2UodCkpfSx0LnNlbGVjdENvbnRlbnRFZGl0YWJsZT1mdW5jdGlvbihlKXtpZihlJiYiRElWIj09ZS5ub2RlTmFtZSl7dmFyIHQsaTt3aW5kb3cuZ2V0U2VsZWN0aW9uJiZkb2N1bWVudC5jcmVhdGVSYW5nZSYmKGk9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxpLnNlbGVjdE5vZGVDb250ZW50cyhlKSx0PXdpbmRvdy5nZXRTZWxlY3Rpb24oKSx0LnJlbW92ZUFsbFJhbmdlcygpLHQuYWRkUmFuZ2UoaSkpfX0sdC5nZXRTZWxlY3Rpb249ZnVuY3Rpb24oKXtpZih3aW5kb3cuZ2V0U2VsZWN0aW9uKXt2YXIgZT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoZS5nZXRSYW5nZUF0JiZlLnJhbmdlQ291bnQpcmV0dXJuIGUuZ2V0UmFuZ2VBdCgwKX1yZXR1cm4gbnVsbH0sdC5zZXRTZWxlY3Rpb249ZnVuY3Rpb24oZSl7aWYoZSYmd2luZG93LmdldFNlbGVjdGlvbil7dmFyIHQ9d2luZG93LmdldFNlbGVjdGlvbigpO3QucmVtb3ZlQWxsUmFuZ2VzKCksdC5hZGRSYW5nZShlKX19LHQuZ2V0U2VsZWN0aW9uT2Zmc2V0PWZ1bmN0aW9uKCl7dmFyIGU9dC5nZXRTZWxlY3Rpb24oKTtyZXR1cm4gZSYmInN0YXJ0T2Zmc2V0ImluIGUmJiJlbmRPZmZzZXQiaW4gZSYmZS5zdGFydENvbnRhaW5lciYmZS5zdGFydENvbnRhaW5lcj09ZS5lbmRDb250YWluZXI/e3N0YXJ0T2Zmc2V0OmUuc3RhcnRPZmZzZXQsZW5kT2Zmc2V0OmUuZW5kT2Zmc2V0LGNvbnRhaW5lcjplLnN0YXJ0Q29udGFpbmVyLnBhcmVudE5vZGV9Om51bGx9LHQuc2V0U2VsZWN0aW9uT2Zmc2V0PWZ1bmN0aW9uKGUpe2lmKGRvY3VtZW50LmNyZWF0ZVJhbmdlJiZ3aW5kb3cuZ2V0U2VsZWN0aW9uKXt2YXIgaT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoaSl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtlLmNvbnRhaW5lci5maXJzdENoaWxkfHxlLmNvbnRhaW5lci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIikpLG4uc2V0U3RhcnQoZS5jb250YWluZXIuZmlyc3RDaGlsZCxlLnN0YXJ0T2Zmc2V0KSxuLnNldEVuZChlLmNvbnRhaW5lci5maXJzdENoaWxkLGUuZW5kT2Zmc2V0KSx0LnNldFNlbGVjdGlvbihuKX19fSx0LmdldElubmVyVGV4dD1mdW5jdGlvbihlLGkpe3ZhciBuPXZvaWQgMD09aTtpZihuJiYoaT17dGV4dDoiIixmbHVzaDpmdW5jdGlvbigpe3ZhciBlPXRoaXMudGV4dDtyZXR1cm4gdGhpcy50ZXh0PSIiLGV9LHNldDpmdW5jdGlvbihlKXt0aGlzLnRleHQ9ZX19KSxlLm5vZGVWYWx1ZSlyZXR1cm4gaS5mbHVzaCgpK2Uubm9kZVZhbHVlO2lmKGUuaGFzQ2hpbGROb2RlcygpKXtmb3IodmFyIHI9ZS5jaGlsZE5vZGVzLG89IiIscz0wLGE9ci5sZW5ndGg7YT5zO3MrKyl7dmFyIGw9cltzXTtpZigiRElWIj09bC5ub2RlTmFtZXx8IlAiPT1sLm5vZGVOYW1lKXt2YXIgYz1yW3MtMV0saD1jP2Mubm9kZU5hbWU6dm9pZCAwO2gmJiJESVYiIT1oJiYiUCIhPWgmJiJCUiIhPWgmJihvKz0iXG4iLGkuZmx1c2goKSksbys9dC5nZXRJbm5lclRleHQobCxpKSxpLnNldCgiXG4iKX1lbHNlIkJSIj09bC5ub2RlTmFtZT8obys9aS5mbHVzaCgpLGkuc2V0KCJcbiIpKTpvKz10LmdldElubmVyVGV4dChsLGkpfXJldHVybiBvfXJldHVybiJQIj09ZS5ub2RlTmFtZSYmLTEhPXQuZ2V0SW50ZXJuZXRFeHBsb3JlclZlcnNpb24oKT9pLmZsdXNoKCk6IiJ9LHQuZ2V0SW50ZXJuZXRFeHBsb3JlclZlcnNpb249ZnVuY3Rpb24oKXtpZigtMT09byl7dmFyIGU9LTE7aWYoIk1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciI9PW5hdmlnYXRvci5hcHBOYW1lKXt2YXIgdD1uYXZpZ2F0b3IudXNlckFnZW50LGk9bmV3IFJlZ0V4cCgiTVNJRSAoWzAtOV17MSx9Wy4wLTldezAsfSkiKTtudWxsIT1pLmV4ZWModCkmJihlPXBhcnNlRmxvYXQoUmVnRXhwLiQxKSl9bz1lfXJldHVybiBvfSx0LmlzRmlyZWZveD1mdW5jdGlvbigpe3JldHVybi0xIT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZpcmVmb3giKX07dmFyIG89LTE7dC5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsaSxuLHIpe2lmKGUuYWRkRXZlbnRMaXN0ZW5lcilyZXR1cm4gdm9pZCAwPT09ciYmKHI9ITEpLCJtb3VzZXdoZWVsIj09PWkmJnQuaXNGaXJlZm94KCkmJihpPSJET01Nb3VzZVNjcm9sbCIpLGUuYWRkRXZlbnRMaXN0ZW5lcihpLG4sciksbjtpZihlLmF0dGFjaEV2ZW50KXt2YXIgbz1mdW5jdGlvbigpe3JldHVybiBuLmNhbGwoZSx3aW5kb3cuZXZlbnQpfTtyZXR1cm4gZS5hdHRhY2hFdmVudCgib24iK2ksbyksb319LHQucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLGksbixyKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXI/KHZvaWQgMD09PXImJihyPSExKSwibW91c2V3aGVlbCI9PT1pJiZ0LmlzRmlyZWZveCgpJiYoaT0iRE9NTW91c2VTY3JvbGwiKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoaSxuLHIpKTplLmRldGFjaEV2ZW50JiZlLmRldGFjaEV2ZW50KCJvbiIraSxuKX0sdC5wYXJzZVBhdGg9ZnVuY3Rpb24gcyhlKXt2YXIgdCxpO2lmKDA9PT1lLmxlbmd0aClyZXR1cm5bXTt2YXIgbj1lLm1hdGNoKC9eXC4oXHcrKS8pO2lmKG4pdD1uWzFdLGk9ZS5zdWJzdHIodC5sZW5ndGgrMSk7ZWxzZXtpZigiWyIhPT1lWzBdKXRocm93IG5ldyBTeW50YXhFcnJvcigiRmFpbGVkIHRvIHBhcnNlIHBhdGgiKTt2YXIgcj1lLmluZGV4T2YoIl0iKTtpZigtMT09PXIpdGhyb3cgbmV3IFN5bnRheEVycm9yKCJDaGFyYWN0ZXIgXSBleHBlY3RlZCBpbiBwYXRoIik7aWYoMT09PXIpdGhyb3cgbmV3IFN5bnRheEVycm9yKCJJbmRleCBleHBlY3RlZCBhZnRlciBbIik7dmFyIG89ZS5zdWJzdHJpbmcoMSxyKTt0PSIqIj09PW8/bzpKU09OLnBhcnNlKG8pLGk9ZS5zdWJzdHIocisxKX1yZXR1cm5bdF0uY29uY2F0KHMoaSkpfSx0LmltcHJvdmVTY2hlbWFFcnJvcj1mdW5jdGlvbihlKXtpZigiZW51bSI9PT1lLmtleXdvcmQmJkFycmF5LmlzQXJyYXkoZS5zY2hlbWEpKXt2YXIgdD1lLnNjaGVtYTtpZih0KXtpZih0PXQubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShlKX0pLHQubGVuZ3RoPjUpe3ZhciBpPVsiKCIrKHQubGVuZ3RoLTUpKyIgbW9yZS4uLikiXTt0PXQuc2xpY2UoMCw1KSx0LnB1c2goaSl9ZS5tZXNzYWdlPSJzaG91bGQgYmUgZXF1YWwgdG8gb25lIG9mOiAiK3Quam9pbigiLCAiKX19cmV0dXJuImFkZGl0aW9uYWxQcm9wZXJ0aWVzIj09PWUua2V5d29yZCYmKGUubWVzc2FnZT0ic2hvdWxkIE5PVCBoYXZlIGFkZGl0aW9uYWwgcHJvcGVydHk6ICIrZS5wYXJhbXMuYWRkaXRpb25hbFByb3BlcnR5KSxlfSx0Lmluc2lkZVJlY3Q9ZnVuY3Rpb24oZSx0LGkpe3ZhciBuPXZvaWQgMCE9PWk/aTowO3JldHVybiB0LmxlZnQtbj49ZS5sZWZ0JiZ0LnJpZ2h0K248PWUucmlnaHQmJnQudG9wLW4+PWUudG9wJiZ0LmJvdHRvbStuPD1lLmJvdHRvbX0sdC5kZWJvdW5jZT1mdW5jdGlvbihlLHQsaSl7dmFyIG47cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxvPWFyZ3VtZW50cyxzPWZ1bmN0aW9uKCl7bj1udWxsLGl8fGUuYXBwbHkocixvKX0sYT1pJiYhbjtjbGVhclRpbWVvdXQobiksbj1zZXRUaW1lb3V0KHMsdCksYSYmZS5hcHBseShyLG8pfX0sdC50ZXh0RGlmZj1mdW5jdGlvbihlLHQpe2Zvcih2YXIgaT10Lmxlbmd0aCxuPTAscj1lLmxlbmd0aCxvPXQubGVuZ3RoO3QuY2hhckF0KG4pPT09ZS5jaGFyQXQobikmJmk+bjspbisrO2Zvcig7dC5jaGFyQXQoby0xKT09PWUuY2hhckF0KHItMSkmJm8+biYmcj4wOylvLS0sci0tO3JldHVybntzdGFydDpuLGVuZDpvfX19LGZ1bmN0aW9uKGUsdCxpKXt2YXIgbj1mdW5jdGlvbigpe3ZhciBlPXt0cmFjZTpmdW5jdGlvbigpe30seXk6e30sc3ltYm9sc186e2Vycm9yOjIsSlNPTlN0cmluZzozLFNUUklORzo0LEpTT05OdW1iZXI6NSxOVU1CRVI6NixKU09OTnVsbExpdGVyYWw6NyxOVUxMOjgsSlNPTkJvb2xlYW5MaXRlcmFsOjksVFJVRToxMCxGQUxTRToxMSxKU09OVGV4dDoxMixKU09OVmFsdWU6MTMsRU9GOjE0LEpTT05PYmplY3Q6MTUsSlNPTkFycmF5OjE2LCJ7IjoxNywifSI6MTgsSlNPTk1lbWJlckxpc3Q6MTksSlNPTk1lbWJlcjoyMCwiOiI6MjEsIiwiOjIyLCJbIjoyMywiXSI6MjQsSlNPTkVsZW1lbnRMaXN0OjI1LCRhY2NlcHQ6MCwkZW5kOjF9LHRlcm1pbmFsc186ezI6ImVycm9yIiw0OiJTVFJJTkciLDY6Ik5VTUJFUiIsODoiTlVMTCIsMTA6IlRSVUUiLDExOiJGQUxTRSIsMTQ6IkVPRiIsMTc6InsiLDE4OiJ9IiwyMToiOiIsMjI6IiwiLDIzOiJbIiwyNDoiXSJ9LHByb2R1Y3Rpb25zXzpbMCxbMywxXSxbNSwxXSxbNywxXSxbOSwxXSxbOSwxXSxbMTIsMl0sWzEzLDFdLFsxMywxXSxbMTMsMV0sWzEzLDFdLFsxMywxXSxbMTMsMV0sWzE1LDJdLFsxNSwzXSxbMjAsM10sWzE5LDFdLFsxOSwzXSxbMTYsMl0sWzE2LDNdLFsyNSwxXSxbMjUsM11dLHBlcmZvcm1BY3Rpb246ZnVuY3Rpb24oZSx0LGksbixyLG8scyl7dmFyIGE9by5sZW5ndGgtMTtzd2l0Y2gocil7Y2FzZSAxOnRoaXMuJD1lLnJlcGxhY2UoL1xcKFxcfCIpL2csIiQxIikucmVwbGFjZSgvXFxuL2csIlxuIikucmVwbGFjZSgvXFxyL2csIlxyIikucmVwbGFjZSgvXFx0L2csIgkiKS5yZXBsYWNlKC9cXHYvZywiXHgwQiIpLnJlcGxhY2UoL1xcZi9nLCJcZiIpLnJlcGxhY2UoL1xcYi9nLCJcYiIpO2JyZWFrO2Nhc2UgMjp0aGlzLiQ9TnVtYmVyKGUpO2JyZWFrO2Nhc2UgMzp0aGlzLiQ9bnVsbDticmVhaztjYXNlIDQ6dGhpcy4kPSEwO2JyZWFrO2Nhc2UgNTp0aGlzLiQ9ITE7YnJlYWs7Y2FzZSA2OnJldHVybiB0aGlzLiQ9b1thLTFdO2Nhc2UgMTM6dGhpcy4kPXt9O2JyZWFrO2Nhc2UgMTQ6dGhpcy4kPW9bYS0xXTticmVhaztjYXNlIDE1OnRoaXMuJD1bb1thLTJdLG9bYV1dO2JyZWFrO2Nhc2UgMTY6dGhpcy4kPXt9LHRoaXMuJFtvW2FdWzBdXT1vW2FdWzFdO2JyZWFrO2Nhc2UgMTc6dGhpcy4kPW9bYS0yXSxvW2EtMl1bb1thXVswXV09b1thXVsxXTticmVhaztjYXNlIDE4OnRoaXMuJD1bXTticmVhaztjYXNlIDE5OnRoaXMuJD1vW2EtMV07YnJlYWs7Y2FzZSAyMDp0aGlzLiQ9W29bYV1dO2JyZWFrO2Nhc2UgMjE6dGhpcy4kPW9bYS0yXSxvW2EtMl0ucHVzaChvW2FdKX19LHRhYmxlOlt7Mzo1LDQ6WzEsMTJdLDU6Niw2OlsxLDEzXSw3OjMsODpbMSw5XSw5OjQsMTA6WzEsMTBdLDExOlsxLDExXSwxMjoxLDEzOjIsMTU6NywxNjo4LDE3OlsxLDE0XSwyMzpbMSwxNV19LHsxOlszXX0sezE0OlsxLDE2XX0sezE0OlsyLDddLDE4OlsyLDddLDIyOlsyLDddLDI0OlsyLDddfSx7MTQ6WzIsOF0sMTg6WzIsOF0sMjI6WzIsOF0sMjQ6WzIsOF19LHsxNDpbMiw5XSwxODpbMiw5XSwyMjpbMiw5XSwyNDpbMiw5XX0sezE0OlsyLDEwXSwxODpbMiwxMF0sMjI6WzIsMTBdLDI0OlsyLDEwXX0sezE0OlsyLDExXSwxODpbMiwxMV0sMjI6WzIsMTFdLDI0OlsyLDExXX0sezE0OlsyLDEyXSwxODpbMiwxMl0sMjI6WzIsMTJdLDI0OlsyLDEyXX0sezE0OlsyLDNdLDE4OlsyLDNdLDIyOlsyLDNdLDI0OlsyLDNdfSx7MTQ6WzIsNF0sMTg6WzIsNF0sMjI6WzIsNF0sMjQ6WzIsNF19LHsxNDpbMiw1XSwxODpbMiw1XSwyMjpbMiw1XSwyNDpbMiw1XX0sezE0OlsyLDFdLDE4OlsyLDFdLDIxOlsyLDFdLDIyOlsyLDFdLDI0OlsyLDFdfSx7MTQ6WzIsMl0sMTg6WzIsMl0sMjI6WzIsMl0sMjQ6WzIsMl19LHszOjIwLDQ6WzEsMTJdLDE4OlsxLDE3XSwxOToxOCwyMDoxOX0sezM6NSw0OlsxLDEyXSw1OjYsNjpbMSwxM10sNzozLDg6WzEsOV0sOTo0LDEwOlsxLDEwXSwxMTpbMSwxMV0sMTM6MjMsMTU6NywxNjo4LDE3OlsxLDE0XSwyMzpbMSwxNV0sMjQ6WzEsMjFdLDI1OjIyfSx7MTpbMiw2XX0sezE0OlsyLDEzXSwxODpbMiwxM10sMjI6WzIsMTNdLDI0OlsyLDEzXX0sezE4OlsxLDI0XSwyMjpbMSwyNV19LHsxODpbMiwxNl0sMjI6WzIsMTZdfSx7MjE6WzEsMjZdfSx7MTQ6WzIsMThdLDE4OlsyLDE4XSwyMjpbMiwxOF0sMjQ6WzIsMThdfSx7MjI6WzEsMjhdLDI0OlsxLDI3XX0sezIyOlsyLDIwXSwyNDpbMiwyMF19LHsxNDpbMiwxNF0sMTg6WzIsMTRdLDIyOlsyLDE0XSwyNDpbMiwxNF19LHszOjIwLDQ6WzEsMTJdLDIwOjI5fSx7Mzo1LDQ6WzEsMTJdLDU6Niw2OlsxLDEzXSw3OjMsODpbMSw5XSw5OjQsMTA6WzEsMTBdLDExOlsxLDExXSwxMzozMCwxNTo3LDE2OjgsMTc6WzEsMTRdLDIzOlsxLDE1XX0sezE0OlsyLDE5XSwxODpbMiwxOV0sMjI6WzIsMTldLDI0OlsyLDE5XX0sezM6NSw0OlsxLDEyXSw1OjYsNjpbMSwxM10sNzozLDg6WzEsOV0sOTo0LDEwOlsxLDEwXSwxMTpbMSwxMV0sMTM6MzEsMTU6NywxNjo4LDE3OlsxLDE0XSwyMzpbMSwxNV19LHsxODpbMiwxN10sMjI6WzIsMTddfSx7MTg6WzIsMTVdLDIyOlsyLDE1XX0sezIyOlsyLDIxXSwyNDpbMiwyMV19XSxkZWZhdWx0QWN0aW9uczp7MTY6WzIsNl19LHBhcnNlRXJyb3I6ZnVuY3Rpb24oZSx0KXt0aHJvdyBuZXcgRXJyb3IoZSl9LHBhcnNlOmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7ci5sZW5ndGg9ci5sZW5ndGgtMiplLG8ubGVuZ3RoPW8ubGVuZ3RoLWUscy5sZW5ndGg9cy5sZW5ndGgtZX1mdW5jdGlvbiBpKCl7dmFyIGU7cmV0dXJuIGU9bi5sZXhlci5sZXgoKXx8MSwibnVtYmVyIiE9dHlwZW9mIGUmJihlPW4uc3ltYm9sc19bZV18fGUpLGV9dmFyIG49dGhpcyxyPVswXSxvPVtudWxsXSxzPVtdLGE9dGhpcy50YWJsZSxsPSIiLGM9MCxoPTAsZD0wLHU9MixmPTE7dGhpcy5sZXhlci5zZXRJbnB1dChlKSx0aGlzLmxleGVyLnl5PXRoaXMueXksdGhpcy55eS5sZXhlcj10aGlzLmxleGVyLCJ1bmRlZmluZWQiPT10eXBlb2YgdGhpcy5sZXhlci55eWxsb2MmJih0aGlzLmxleGVyLnl5bGxvYz17fSk7dmFyIHA9dGhpcy5sZXhlci55eWxsb2M7cy5wdXNoKHApLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnl5LnBhcnNlRXJyb3ImJih0aGlzLnBhcnNlRXJyb3I9dGhpcy55eS5wYXJzZUVycm9yKTtmb3IodmFyIG0sZyx2LHcseSxBLEMsRSxiLEY9e307Oyl7aWYodj1yW3IubGVuZ3RoLTFdLHRoaXMuZGVmYXVsdEFjdGlvbnNbdl0/dz10aGlzLmRlZmF1bHRBY3Rpb25zW3ZdOihudWxsPT1tJiYobT1pKCkpLHc9YVt2XSYmYVt2XVttXSksInVuZGVmaW5lZCI9PXR5cGVvZiB3fHwhdy5sZW5ndGh8fCF3WzBdKXtpZighZCl7Yj1bXTtmb3IoQSBpbiBhW3ZdKXRoaXMudGVybWluYWxzX1tBXSYmQT4yJiZiLnB1c2goIiciK3RoaXMudGVybWluYWxzX1tBXSsiJyIpO3ZhciB4PSIiO3g9dGhpcy5sZXhlci5zaG93UG9zaXRpb24/IlBhcnNlIGVycm9yIG9uIGxpbmUgIisoYysxKSsiOlxuIit0aGlzLmxleGVyLnNob3dQb3NpdGlvbigpKyJcbkV4cGVjdGluZyAiK2Iuam9pbigiLCAiKSsiLCBnb3QgJyIrdGhpcy50ZXJtaW5hbHNfW21dKyInIjoiUGFyc2UgZXJyb3Igb24gbGluZSAiKyhjKzEpKyI6IFVuZXhwZWN0ZWQgIisoMT09bT8iZW5kIG9mIGlucHV0IjoiJyIrKHRoaXMudGVybWluYWxzX1ttXXx8bSkrIiciKSx0aGlzLnBhcnNlRXJyb3IoeCx7dGV4dDp0aGlzLmxleGVyLm1hdGNoLHRva2VuOnRoaXMudGVybWluYWxzX1ttXXx8bSxsaW5lOnRoaXMubGV4ZXIueXlsaW5lbm8sbG9jOnAsZXhwZWN0ZWQ6Yn0pfWlmKDM9PWQpe2lmKG09PWYpdGhyb3cgbmV3IEVycm9yKHh8fCJQYXJzaW5nIGhhbHRlZC4iKTtoPXRoaXMubGV4ZXIueXlsZW5nLGw9dGhpcy5sZXhlci55eXRleHQsYz10aGlzLmxleGVyLnl5bGluZW5vLHA9dGhpcy5sZXhlci55eWxsb2MsbT1pKCl9Zm9yKDs7KXtpZih1LnRvU3RyaW5nKClpbiBhW3ZdKWJyZWFrO2lmKDA9PXYpdGhyb3cgbmV3IEVycm9yKHh8fCJQYXJzaW5nIGhhbHRlZC4iKTt0KDEpLHY9cltyLmxlbmd0aC0xXX1nPW0sbT11LHY9cltyLmxlbmd0aC0xXSx3PWFbdl0mJmFbdl1bdV0sZD0zfWlmKHdbMF1pbnN0YW5jZW9mIEFycmF5JiZ3Lmxlbmd0aD4xKXRocm93IG5ldyBFcnJvcigiUGFyc2UgRXJyb3I6IG11bHRpcGxlIGFjdGlvbnMgcG9zc2libGUgYXQgc3RhdGU6ICIrdisiLCB0b2tlbjogIittKTtzd2l0Y2god1swXSl7Y2FzZSAxOnIucHVzaChtKSxvLnB1c2godGhpcy5sZXhlci55eXRleHQpLHMucHVzaCh0aGlzLmxleGVyLnl5bGxvYyksci5wdXNoKHdbMV0pLG09bnVsbCxnPyhtPWcsZz1udWxsKTooaD10aGlzLmxleGVyLnl5bGVuZyxsPXRoaXMubGV4ZXIueXl0ZXh0LGM9dGhpcy5sZXhlci55eWxpbmVubyxwPXRoaXMubGV4ZXIueXlsbG9jLGQ+MCYmZC0tKTticmVhaztjYXNlIDI6aWYoQz10aGlzLnByb2R1Y3Rpb25zX1t3WzFdXVsxXSxGLiQ9b1tvLmxlbmd0aC1DXSxGLl8kPXtmaXJzdF9saW5lOnNbcy5sZW5ndGgtKEN8fDEpXS5maXJzdF9saW5lLGxhc3RfbGluZTpzW3MubGVuZ3RoLTFdLmxhc3RfbGluZSxmaXJzdF9jb2x1bW46c1tzLmxlbmd0aC0oQ3x8MSldLmZpcnN0X2NvbHVtbixsYXN0X2NvbHVtbjpzW3MubGVuZ3RoLTFdLmxhc3RfY29sdW1ufSx5PXRoaXMucGVyZm9ybUFjdGlvbi5jYWxsKEYsbCxoLGMsdGhpcy55eSx3WzFdLG8scyksInVuZGVmaW5lZCIhPXR5cGVvZiB5KXJldHVybiB5O0MmJihyPXIuc2xpY2UoMCwtMSpDKjIpLG89by5zbGljZSgwLC0xKkMpLHM9cy5zbGljZSgwLC0xKkMpKSxyLnB1c2godGhpcy5wcm9kdWN0aW9uc19bd1sxXV1bMF0pLG8ucHVzaChGLiQpLHMucHVzaChGLl8kKSxFPWFbcltyLmxlbmd0aC0yXV1bcltyLmxlbmd0aC0xXV0sci5wdXNoKEUpO2JyZWFrO2Nhc2UgMzpyZXR1cm4hMH19cmV0dXJuITB9fSx0PWZ1bmN0aW9uKCl7dmFyIGU9e0VPRjoxLHBhcnNlRXJyb3I6ZnVuY3Rpb24oZSx0KXtpZighdGhpcy55eS5wYXJzZUVycm9yKXRocm93IG5ldyBFcnJvcihlKTt0aGlzLnl5LnBhcnNlRXJyb3IoZSx0KX0sc2V0SW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2lucHV0PWUsdGhpcy5fbW9yZT10aGlzLl9sZXNzPXRoaXMuZG9uZT0hMSx0aGlzLnl5bGluZW5vPXRoaXMueXlsZW5nPTAsdGhpcy55eXRleHQ9dGhpcy5tYXRjaGVkPXRoaXMubWF0Y2g9IiIsdGhpcy5jb25kaXRpb25TdGFjaz1bIklOSVRJQUwiXSx0aGlzLnl5bGxvYz17Zmlyc3RfbGluZToxLGZpcnN0X2NvbHVtbjowLGxhc3RfbGluZToxLGxhc3RfY29sdW1uOjB9LHRoaXN9LGlucHV0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW5wdXRbMF07dGhpcy55eXRleHQrPWUsdGhpcy55eWxlbmcrKyx0aGlzLm1hdGNoKz1lLHRoaXMubWF0Y2hlZCs9ZTt2YXIgdD1lLm1hdGNoKC9cbi8pO3JldHVybiB0JiZ0aGlzLnl5bGluZW5vKyssdGhpcy5faW5wdXQ9dGhpcy5faW5wdXQuc2xpY2UoMSksZX0sdW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2lucHV0PWUrdGhpcy5faW5wdXQsdGhpc30sbW9yZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tb3JlPSEwLHRoaXN9LGxlc3M6ZnVuY3Rpb24oZSl7dGhpcy5faW5wdXQ9dGhpcy5tYXRjaC5zbGljZShlKSt0aGlzLl9pbnB1dH0scGFzdElucHV0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5tYXRjaGVkLnN1YnN0cigwLHRoaXMubWF0Y2hlZC5sZW5ndGgtdGhpcy5tYXRjaC5sZW5ndGgpO3JldHVybihlLmxlbmd0aD4yMD8iLi4uIjoiIikrZS5zdWJzdHIoLTIwKS5yZXBsYWNlKC9cbi9nLCIiKX0sdXBjb21pbmdJbnB1dDpmdW5jdGlvbigpe3ZhciBlPXRoaXMubWF0Y2g7cmV0dXJuIGUubGVuZ3RoPDIwJiYoZSs9dGhpcy5faW5wdXQuc3Vic3RyKDAsMjAtZS5sZW5ndGgpKSwoZS5zdWJzdHIoMCwyMCkrKGUubGVuZ3RoPjIwPyIuLi4iOiIiKSkucmVwbGFjZSgvXG4vZywiIil9LHNob3dQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMucGFzdElucHV0KCksdD1uZXcgQXJyYXkoZS5sZW5ndGgrMSkuam9pbigiLSIpO3JldHVybiBlK3RoaXMudXBjb21pbmdJbnB1dCgpKyJcbiIrdCsiXiJ9LG5leHQ6ZnVuY3Rpb24oKXtpZih0aGlzLmRvbmUpcmV0dXJuIHRoaXMuRU9GO3RoaXMuX2lucHV0fHwodGhpcy5kb25lPSEwKTt2YXIgZSx0LGksbixyO3RoaXMuX21vcmV8fCh0aGlzLnl5dGV4dD0iIix0aGlzLm1hdGNoPSIiKTtmb3IodmFyIG89dGhpcy5fY3VycmVudFJ1bGVzKCkscz0wO3M8by5sZW5ndGgmJihpPXRoaXMuX2lucHV0Lm1hdGNoKHRoaXMucnVsZXNbb1tzXV0pLCFpfHx0JiYhKGlbMF0ubGVuZ3RoPnRbMF0ubGVuZ3RoKXx8KHQ9aSxuPXMsdGhpcy5vcHRpb25zLmZsZXgpKTtzKyspO3JldHVybiB0PyhyPXRbMF0ubWF0Y2goL1xuLiovZyksciYmKHRoaXMueXlsaW5lbm8rPXIubGVuZ3RoKSx0aGlzLnl5bGxvYz17Zmlyc3RfbGluZTp0aGlzLnl5bGxvYy5sYXN0X2xpbmUsbGFzdF9saW5lOnRoaXMueXlsaW5lbm8rMSxmaXJzdF9jb2x1bW46dGhpcy55eWxsb2MubGFzdF9jb2x1bW4sbGFzdF9jb2x1bW46cj9yW3IubGVuZ3RoLTFdLmxlbmd0aC0xOnRoaXMueXlsbG9jLmxhc3RfY29sdW1uK3RbMF0ubGVuZ3RofSx0aGlzLnl5dGV4dCs9dFswXSx0aGlzLm1hdGNoKz10WzBdLHRoaXMueXlsZW5nPXRoaXMueXl0ZXh0Lmxlbmd0aCx0aGlzLl9tb3JlPSExLHRoaXMuX2lucHV0PXRoaXMuX2lucHV0LnNsaWNlKHRbMF0ubGVuZ3RoKSx0aGlzLm1hdGNoZWQrPXRbMF0sZT10aGlzLnBlcmZvcm1BY3Rpb24uY2FsbCh0aGlzLHRoaXMueXksdGhpcyxvW25dLHRoaXMuY29uZGl0aW9uU3RhY2tbdGhpcy5jb25kaXRpb25TdGFjay5sZW5ndGgtMV0pLHRoaXMuZG9uZSYmdGhpcy5faW5wdXQmJih0aGlzLmRvbmU9ITEpLGU/ZTp2b2lkIDApOiIiPT09dGhpcy5faW5wdXQ/dGhpcy5FT0Y6dm9pZCB0aGlzLnBhcnNlRXJyb3IoIkxleGljYWwgZXJyb3Igb24gbGluZSAiKyh0aGlzLnl5bGluZW5vKzEpKyIuIFVucmVjb2duaXplZCB0ZXh0LlxuIit0aGlzLnNob3dQb3NpdGlvbigpLHt0ZXh0OiIiLHRva2VuOm51bGwsbGluZTp0aGlzLnl5bGluZW5vfSl9LGxleDpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmV4dCgpO3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgZT9lOnRoaXMubGV4KCl9LGJlZ2luOmZ1bmN0aW9uKGUpe3RoaXMuY29uZGl0aW9uU3RhY2sucHVzaChlKX0scG9wU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25kaXRpb25TdGFjay5wb3AoKX0sX2N1cnJlbnRSdWxlczpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbmRpdGlvbnNbdGhpcy5jb25kaXRpb25TdGFja1t0aGlzLmNvbmRpdGlvblN0YWNrLmxlbmd0aC0xXV0ucnVsZXN9LHRvcFN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29uZGl0aW9uU3RhY2tbdGhpcy5jb25kaXRpb25TdGFjay5sZW5ndGgtMl19LHB1c2hTdGF0ZTpmdW5jdGlvbihlKXt0aGlzLmJlZ2luKGUpfX07cmV0dXJuIGUub3B0aW9ucz17fSxlLnBlcmZvcm1BY3Rpb249ZnVuY3Rpb24oZSx0LGksbil7c3dpdGNoKGkpe2Nhc2UgMDpicmVhaztjYXNlIDE6cmV0dXJuIDY7Y2FzZSAyOnJldHVybiB0Lnl5dGV4dD10Lnl5dGV4dC5zdWJzdHIoMSx0Lnl5bGVuZy0yKSw0O2Nhc2UgMzpyZXR1cm4gMTc7Y2FzZSA0OnJldHVybiAxODtjYXNlIDU6cmV0dXJuIDIzO2Nhc2UgNjpyZXR1cm4gMjQ7Y2FzZSA3OnJldHVybiAyMjtjYXNlIDg6cmV0dXJuIDIxO2Nhc2UgOTpyZXR1cm4gMTA7Y2FzZSAxMDpyZXR1cm4gMTE7Y2FzZSAxMTpyZXR1cm4gODtjYXNlIDEyOnJldHVybiAxNDtjYXNlIDEzOnJldHVybiJJTlZBTElEIn19LGUucnVsZXM9Wy9eKD86XHMrKS8sL14oPzooLT8oWzAtOV18WzEtOV1bMC05XSspKShcLlswLTldKyk/KFtlRV1bLStdP1swLTldKyk/XGIpLywvXig/OiIoPzpcXFtcXCJiZm5ydFwvXXxcXHVbYS1mQS1GMC05XXs0fXxbXlxcXDAtXHgwOVx4MGEtXHgxZiJdKSoiKS8sL14oPzpceykvLC9eKD86XH0pLywvXig/OlxbKS8sL14oPzpcXSkvLC9eKD86LCkvLC9eKD86OikvLC9eKD86dHJ1ZVxiKS8sL14oPzpmYWxzZVxiKS8sL14oPzpudWxsXGIpLywvXig/OiQpLywvXig/Oi4pL10sZS5jb25kaXRpb25zPXtJTklUSUFMOntydWxlczpbMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxM10saW5jbHVzaXZlOiEwfX0sZX0oKTtyZXR1cm4gZS5sZXhlcj10LGV9KCk7dC5wYXJzZXI9bix0LnBhcnNlPW4ucGFyc2UuYmluZChuKX0sZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQpe3ZhciBpPXRoaXM7dGhpcy5lZGl0b3I9ZSx0aGlzLnRpbWVvdXQ9dm9pZCAwLHRoaXMuZGVsYXk9MjAwLHRoaXMubGFzdFRleHQ9dm9pZCAwLHRoaXMuZG9tPXt9LHRoaXMuZG9tLmNvbnRhaW5lcj10O3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIik7dGhpcy5kb20udGFibGU9bixuLmNsYXNzTmFtZT0ianNvbmVkaXRvci1zZWFyY2giLHQuYXBwZW5kQ2hpbGQobik7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKTt0aGlzLmRvbS50Ym9keT1yLG4uYXBwZW5kQ2hpbGQocik7dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKTtyLmFwcGVuZENoaWxkKG8pO3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7by5hcHBlbmRDaGlsZChzKTt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmRvbS5yZXN1bHRzPWEsYS5jbGFzc05hbWU9Impzb25lZGl0b3ItcmVzdWx0cyIscy5hcHBlbmRDaGlsZChhKSxzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIiksby5hcHBlbmRDaGlsZChzKTt2YXIgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmRvbS5pbnB1dD1sLGwuY2xhc3NOYW1lPSJqc29uZWRpdG9yLWZyYW1lIixsLnRpdGxlPSJTZWFyY2ggZmllbGRzIGFuZCB2YWx1ZXMiLHMuYXBwZW5kQ2hpbGQobCk7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKTtsLmFwcGVuZENoaWxkKGMpO3ZhciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5Iik7Yy5hcHBlbmRDaGlsZChoKSxvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIiksaC5hcHBlbmRDaGlsZChvKTt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTtkLmNsYXNzTmFtZT0ianNvbmVkaXRvci1yZWZyZXNoIixzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikscy5hcHBlbmRDaGlsZChkKSxvLmFwcGVuZENoaWxkKHMpO3ZhciB1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7dGhpcy5kb20uc2VhcmNoPXUsdS5vbmlucHV0PWZ1bmN0aW9uKGUpe2kuX29uRGVsYXllZFNlYXJjaChlKX0sdS5vbmNoYW5nZT1mdW5jdGlvbihlKXtpLl9vblNlYXJjaCgpfSx1Lm9ua2V5ZG93bj1mdW5jdGlvbihlKXtpLl9vbktleURvd24oZSl9LHUub25rZXl1cD1mdW5jdGlvbihlKXtpLl9vbktleVVwKGUpfSxkLm9uY2xpY2s9ZnVuY3Rpb24oZSl7dS5zZWxlY3QoKX0scz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHMuYXBwZW5kQ2hpbGQodSksby5hcHBlbmRDaGlsZChzKTt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTtmLnRpdGxlPSJOZXh0IHJlc3VsdCAoRW50ZXIpIixmLmNsYXNzTmFtZT0ianNvbmVkaXRvci1uZXh0IixmLm9uY2xpY2s9ZnVuY3Rpb24oKXtpLm5leHQoKX0scz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHMuYXBwZW5kQ2hpbGQoZiksby5hcHBlbmRDaGlsZChzKTt2YXIgcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTtwLnRpdGxlPSJQcmV2aW91cyByZXN1bHQgKFNoaWZ0K0VudGVyKSIscC5jbGFzc05hbWU9Impzb25lZGl0b3ItcHJldmlvdXMiLHAub25jbGljaz1mdW5jdGlvbigpe2kucHJldmlvdXMoKX0scz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHMuYXBwZW5kQ2hpbGQocCksby5hcHBlbmRDaGlsZChzKX1pLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9dGhpcy5yZXN1bHRzKXt2YXIgdD12b2lkIDAhPXRoaXMucmVzdWx0SW5kZXg/dGhpcy5yZXN1bHRJbmRleCsxOjA7dD50aGlzLnJlc3VsdHMubGVuZ3RoLTEmJih0PTApLHRoaXMuX3NldEFjdGl2ZVJlc3VsdCh0LGUpfX0saS5wcm90b3R5cGUucHJldmlvdXM9ZnVuY3Rpb24oZSl7aWYodm9pZCAwIT10aGlzLnJlc3VsdHMpe3ZhciB0PXRoaXMucmVzdWx0cy5sZW5ndGgtMSxpPXZvaWQgMCE9dGhpcy5yZXN1bHRJbmRleD90aGlzLnJlc3VsdEluZGV4LTE6dDswPmkmJihpPXQpLHRoaXMuX3NldEFjdGl2ZVJlc3VsdChpLGUpfX0saS5wcm90b3R5cGUuX3NldEFjdGl2ZVJlc3VsdD1mdW5jdGlvbihlLHQpe2lmKHRoaXMuYWN0aXZlUmVzdWx0KXt2YXIgaT10aGlzLmFjdGl2ZVJlc3VsdC5ub2RlLG49dGhpcy5hY3RpdmVSZXN1bHQuZWxlbTsiZmllbGQiPT1uP2RlbGV0ZSBpLnNlYXJjaEZpZWxkQWN0aXZlOmRlbGV0ZSBpLnNlYXJjaFZhbHVlQWN0aXZlLGkudXBkYXRlRG9tKCl9aWYoIXRoaXMucmVzdWx0c3x8IXRoaXMucmVzdWx0c1tlXSlyZXR1cm4gdGhpcy5yZXN1bHRJbmRleD12b2lkIDAsdm9pZCh0aGlzLmFjdGl2ZVJlc3VsdD12b2lkIDApO3RoaXMucmVzdWx0SW5kZXg9ZTt2YXIgcj10aGlzLnJlc3VsdHNbdGhpcy5yZXN1bHRJbmRleF0ubm9kZSxvPXRoaXMucmVzdWx0c1t0aGlzLnJlc3VsdEluZGV4XS5lbGVtOyJmaWVsZCI9PW8/ci5zZWFyY2hGaWVsZEFjdGl2ZT0hMDpyLnNlYXJjaFZhbHVlQWN0aXZlPSEwLHRoaXMuYWN0aXZlUmVzdWx0PXRoaXMucmVzdWx0c1t0aGlzLnJlc3VsdEluZGV4XSxyLnVwZGF0ZURvbSgpLHIuc2Nyb2xsVG8oZnVuY3Rpb24oKXt0JiZyLmZvY3VzKG8pfSl9LGkucHJvdG90eXBlLl9jbGVhckRlbGF5PWZ1bmN0aW9uKCl7dm9pZCAwIT10aGlzLnRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KSxkZWxldGUgdGhpcy50aW1lb3V0KX0saS5wcm90b3R5cGUuX29uRGVsYXllZFNlYXJjaD1mdW5jdGlvbihlKXt0aGlzLl9jbGVhckRlbGF5KCk7dmFyIHQ9dGhpczt0aGlzLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbihlKXt0Ll9vblNlYXJjaCgpfSx0aGlzLmRlbGF5KX0saS5wcm90b3R5cGUuX29uU2VhcmNoPWZ1bmN0aW9uKGUpe3RoaXMuX2NsZWFyRGVsYXkoKTt2YXIgdD10aGlzLmRvbS5zZWFyY2gudmFsdWUsaT10Lmxlbmd0aD4wP3Q6dm9pZCAwO2lmKGkhPXRoaXMubGFzdFRleHR8fGUpaWYodGhpcy5sYXN0VGV4dD1pLHRoaXMucmVzdWx0cz10aGlzLmVkaXRvci5zZWFyY2goaSksdGhpcy5fc2V0QWN0aXZlUmVzdWx0KHZvaWQgMCksdm9pZCAwIT1pKXt2YXIgbj10aGlzLnJlc3VsdHMubGVuZ3RoO3N3aXRjaChuKXtjYXNlIDA6dGhpcy5kb20ucmVzdWx0cy5pbm5lckhUTUw9Im5vJm5ic3A7cmVzdWx0cyI7YnJlYWs7Y2FzZSAxOnRoaXMuZG9tLnJlc3VsdHMuaW5uZXJIVE1MPSIxJm5ic3A7cmVzdWx0IjticmVhaztkZWZhdWx0OnRoaXMuZG9tLnJlc3VsdHMuaW5uZXJIVE1MPW4rIiZuYnNwO3Jlc3VsdHMifX1lbHNlIHRoaXMuZG9tLnJlc3VsdHMuaW5uZXJIVE1MPSIifSxpLnByb3RvdHlwZS5fb25LZXlEb3duPWZ1bmN0aW9uKGUpe3ZhciB0PWUud2hpY2g7Mjc9PXQ/KHRoaXMuZG9tLnNlYXJjaC52YWx1ZT0iIix0aGlzLl9vblNlYXJjaCgpLGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKToxMz09dCYmKGUuY3RybEtleT90aGlzLl9vblNlYXJjaCghMCk6ZS5zaGlmdEtleT90aGlzLnByZXZpb3VzKCk6dGhpcy5uZXh0KCksZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkpfSxpLnByb3RvdHlwZS5fb25LZXlVcD1mdW5jdGlvbihlKXt2YXIgdD1lLmtleUNvZGU7MjchPXQmJjEzIT10JiZ0aGlzLl9vbkRlbGF5ZWRTZWFyY2goZSl9LGkucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5kb20uc2VhcmNoLnZhbHVlPSIiLHRoaXMuX29uU2VhcmNoKCl9LGkucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLmVkaXRvcj1udWxsLHRoaXMuZG9tLmNvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLmRvbS50YWJsZSksdGhpcy5kb209bnVsbCx0aGlzLnJlc3VsdHM9bnVsbCx0aGlzLmFjdGl2ZVJlc3VsdD1udWxsLHRoaXMuX2NsZWFyRGVsYXkoKX0sZS5leHBvcnRzPWl9LGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe2Z1bmN0aW9uIGkoZSx0LHIpe3IuZm9yRWFjaChmdW5jdGlvbihyKXtpZigic2VwYXJhdG9yIj09ci50eXBlKXt2YXIgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtvLmNsYXNzTmFtZT0ianNvbmVkaXRvci1zZXBhcmF0b3IiLGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGkiKSxhLmFwcGVuZENoaWxkKG8pLGUuYXBwZW5kQ2hpbGQoYSl9ZWxzZXt2YXIgcz17fSxhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7ZS5hcHBlbmRDaGlsZChhKTt2YXIgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTtpZihsLmNsYXNzTmFtZT1yLmNsYXNzTmFtZSxzLmJ1dHRvbj1sLHIudGl0bGUmJihsLnRpdGxlPXIudGl0bGUpLHIuY2xpY2smJihsLm9uY2xpY2s9ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLG4uaGlkZSgpLHIuY2xpY2soKX0pLGEuYXBwZW5kQ2hpbGQobCksci5zdWJtZW51KXt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtjLmNsYXNzTmFtZT0ianNvbmVkaXRvci1pY29uIixsLmFwcGVuZENoaWxkKGMpLGwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoci50ZXh0KSk7dmFyIGg7aWYoci5jbGljayl7bC5jbGFzc05hbWUrPSIganNvbmVkaXRvci1kZWZhdWx0Ijt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTtzLmJ1dHRvbkV4cGFuZD1kLGQuY2xhc3NOYW1lPSJqc29uZWRpdG9yLWV4cGFuZCIsZC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9Impzb25lZGl0b3ItZXhwYW5kIj48L2Rpdj4nLGEuYXBwZW5kQ2hpbGQoZCksci5zdWJtZW51VGl0bGUmJihkLnRpdGxlPXIuc3VibWVudVRpdGxlKSxoPWR9ZWxzZXt2YXIgdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt1LmNsYXNzTmFtZT0ianNvbmVkaXRvci1leHBhbmQiLGwuYXBwZW5kQ2hpbGQodSksaD1sfWgub25jbGljaz1mdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksbi5fb25FeHBhbmRJdGVtKHMpLGguZm9jdXMoKX07dmFyIGY9W107cy5zdWJJdGVtcz1mO3ZhciBwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInVsIik7cy51bD1wLHAuY2xhc3NOYW1lPSJqc29uZWRpdG9yLW1lbnUiLHAuc3R5bGUuaGVpZ2h0PSIwIixhLmFwcGVuZENoaWxkKHApLGkocCxmLHIuc3VibWVudSl9ZWxzZSBsLmlubmVySFRNTD0nPGRpdiBjbGFzcz0ianNvbmVkaXRvci1pY29uIj48L2Rpdj4nK3IudGV4dDt0LnB1c2gocyl9fSl9dGhpcy5kb209e307dmFyIG49dGhpcyxyPXRoaXMuZG9tO3RoaXMuYW5jaG9yPXZvaWQgMCx0aGlzLml0ZW1zPWUsdGhpcy5ldmVudExpc3RlbmVycz17fSx0aGlzLnNlbGVjdGlvbj12b2lkIDAsdGhpcy5vbkNsb3NlPXQ/dC5jbG9zZTp2b2lkIDA7dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7by5jbGFzc05hbWU9Impzb25lZGl0b3ItY29udGV4dG1lbnUtcm9vdCIsci5yb290PW87dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cy5jbGFzc05hbWU9Impzb25lZGl0b3ItY29udGV4dG1lbnUiLHIubWVudT1zLG8uYXBwZW5kQ2hpbGQocyk7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidWwiKTthLmNsYXNzTmFtZT0ianNvbmVkaXRvci1tZW51IixzLmFwcGVuZENoaWxkKGEpLHIubGlzdD1hLHIuaXRlbXM9W107dmFyIGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7ci5mb2N1c0J1dHRvbj1sO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7Yy5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixjLnN0eWxlLmhlaWdodD0iMCIsYy5hcHBlbmRDaGlsZChsKSxhLmFwcGVuZENoaWxkKGMpLGkoYSx0aGlzLmRvbS5pdGVtcyxlKSx0aGlzLm1heEhlaWdodD0wLGUuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgaT0yNCooZS5sZW5ndGgrKHQuc3VibWVudT90LnN1Ym1lbnUubGVuZ3RoOjApKTtuLm1heEhlaWdodD1NYXRoLm1heChuLm1heEhlaWdodCxpKX0pfXZhciByPWkoNTQpO24ucHJvdG90eXBlLl9nZXRWaXNpYmxlQnV0dG9ucz1mdW5jdGlvbigpe3ZhciBlPVtdLHQ9dGhpcztyZXR1cm4gdGhpcy5kb20uaXRlbXMuZm9yRWFjaChmdW5jdGlvbihpKXtlLnB1c2goaS5idXR0b24pLGkuYnV0dG9uRXhwYW5kJiZlLnB1c2goaS5idXR0b25FeHBhbmQpLGkuc3ViSXRlbXMmJmk9PXQuZXhwYW5kZWRJdGVtJiZpLnN1Ykl0ZW1zLmZvckVhY2goZnVuY3Rpb24odCl7ZS5wdXNoKHQuYnV0dG9uKSx0LmJ1dHRvbkV4cGFuZCYmZS5wdXNoKHQuYnV0dG9uRXhwYW5kKX0pfSksZX0sbi52aXNpYmxlTWVudT12b2lkIDAsbi5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbihlLHQpe3RoaXMuaGlkZSgpO3ZhciBpPSEwO2lmKHQpe3ZhciBvPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscz10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO28uYm90dG9tK3RoaXMubWF4SGVpZ2h0PHMuYm90dG9tfHxvLnRvcC10aGlzLm1heEhlaWdodD5zLnRvcCYmKGk9ITEpfWlmKGkpe3ZhciBhPWUub2Zmc2V0SGVpZ2h0O3RoaXMuZG9tLm1lbnUuc3R5bGUubGVmdD0iMHB4Iix0aGlzLmRvbS5tZW51LnN0eWxlLnRvcD1hKyJweCIsdGhpcy5kb20ubWVudS5zdHlsZS5ib3R0b209IiJ9ZWxzZSB0aGlzLmRvbS5tZW51LnN0eWxlLmxlZnQ9IjBweCIsdGhpcy5kb20ubWVudS5zdHlsZS50b3A9IiIsdGhpcy5kb20ubWVudS5zdHlsZS5ib3R0b209IjBweCI7dmFyIGw9ZS5wYXJlbnROb2RlO2wuaW5zZXJ0QmVmb3JlKHRoaXMuZG9tLnJvb3QsbC5maXJzdENoaWxkKTt2YXIgYz10aGlzLGg9dGhpcy5kb20ubGlzdDt0aGlzLmV2ZW50TGlzdGVuZXJzLm1vdXNlZG93bj1yLmFkZEV2ZW50TGlzdGVuZXIod2luZG93LCJtb3VzZWRvd24iLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O3Q9PWh8fGMuX2lzQ2hpbGRPZih0LGgpfHwoYy5oaWRlKCksZS5zdG9wUHJvcGFnYXRpb24oKSxlLnByZXZlbnREZWZhdWx0KCkpfSksdGhpcy5ldmVudExpc3RlbmVycy5rZXlkb3duPXIuYWRkRXZlbnRMaXN0ZW5lcih3aW5kb3csImtleWRvd24iLGZ1bmN0aW9uKGUpe2MuX29uS2V5RG93bihlKX0pLHRoaXMuc2VsZWN0aW9uPXIuZ2V0U2VsZWN0aW9uKCksdGhpcy5hbmNob3I9ZSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5kb20uZm9jdXNCdXR0b24uZm9jdXMoKX0sMCksbi52aXNpYmxlTWVudSYmbi52aXNpYmxlTWVudS5oaWRlKCksbi52aXNpYmxlTWVudT10aGlzfSxuLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKCl7dGhpcy5kb20ucm9vdC5wYXJlbnROb2RlJiYodGhpcy5kb20ucm9vdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZG9tLnJvb3QpLHRoaXMub25DbG9zZSYmdGhpcy5vbkNsb3NlKCkpO2Zvcih2YXIgZSBpbiB0aGlzLmV2ZW50TGlzdGVuZXJzKWlmKHRoaXMuZXZlbnRMaXN0ZW5lcnMuaGFzT3duUHJvcGVydHkoZSkpe3ZhciB0PXRoaXMuZXZlbnRMaXN0ZW5lcnNbZV07dCYmci5yZW1vdmVFdmVudExpc3RlbmVyKHdpbmRvdyxlLHQpLGRlbGV0ZSB0aGlzLmV2ZW50TGlzdGVuZXJzW2VdfW4udmlzaWJsZU1lbnU9PXRoaXMmJihuLnZpc2libGVNZW51PXZvaWQgMCl9LG4ucHJvdG90eXBlLl9vbkV4cGFuZEl0ZW09ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxpPWU9PXRoaXMuZXhwYW5kZWRJdGVtLG49dGhpcy5leHBhbmRlZEl0ZW07aWYobiYmKG4udWwuc3R5bGUuaGVpZ2h0PSIwIixuLnVsLnN0eWxlLnBhZGRpbmc9IiIsc2V0VGltZW91dChmdW5jdGlvbigpe3QuZXhwYW5kZWRJdGVtIT1uJiYobi51bC5zdHlsZS5kaXNwbGF5PSIiLHIucmVtb3ZlQ2xhc3NOYW1lKG4udWwucGFyZW50Tm9kZSwianNvbmVkaXRvci1zZWxlY3RlZCIpKX0sMzAwKSx0aGlzLmV4cGFuZGVkSXRlbT12b2lkIDApLCFpKXt2YXIgbz1lLnVsO28uc3R5bGUuZGlzcGxheT0iYmxvY2siO28uY2xpZW50SGVpZ2h0O3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmV4cGFuZGVkSXRlbT09ZSYmKG8uc3R5bGUuaGVpZ2h0PTI0Km8uY2hpbGROb2Rlcy5sZW5ndGgrInB4IixvLnN0eWxlLnBhZGRpbmc9IjVweCAxMHB4Iil9LDApLHIuYWRkQ2xhc3NOYW1lKG8ucGFyZW50Tm9kZSwianNvbmVkaXRvci1zZWxlY3RlZCIpLHRoaXMuZXhwYW5kZWRJdGVtPWV9fSxuLnByb3RvdHlwZS5fb25LZXlEb3duPWZ1bmN0aW9uKGUpe3ZhciB0LGksbixvLHM9ZS50YXJnZXQsYT1lLndoaWNoLGw9ITE7Mjc9PWE/KHRoaXMuc2VsZWN0aW9uJiZyLnNldFNlbGVjdGlvbih0aGlzLnNlbGVjdGlvbiksdGhpcy5hbmNob3ImJnRoaXMuYW5jaG9yLmZvY3VzKCksdGhpcy5oaWRlKCksbD0hMCk6OT09YT9lLnNoaWZ0S2V5Pyh0PXRoaXMuX2dldFZpc2libGVCdXR0b25zKCksaT10LmluZGV4T2YocyksMD09aSYmKHRbdC5sZW5ndGgtMV0uZm9jdXMoKSxsPSEwKSk6KHQ9dGhpcy5fZ2V0VmlzaWJsZUJ1dHRvbnMoKSxpPXQuaW5kZXhPZihzKSxpPT10Lmxlbmd0aC0xJiYodFswXS5mb2N1cygpLGw9ITApKTozNz09YT8oImpzb25lZGl0b3ItZXhwYW5kIj09cy5jbGFzc05hbWUmJih0PXRoaXMuX2dldFZpc2libGVCdXR0b25zKCksaT10LmluZGV4T2Yocyksbj10W2ktMV0sbiYmbi5mb2N1cygpKSxsPSEwKTozOD09YT8odD10aGlzLl9nZXRWaXNpYmxlQnV0dG9ucygpLGk9dC5pbmRleE9mKHMpLG49dFtpLTFdLG4mJiJqc29uZWRpdG9yLWV4cGFuZCI9PW4uY2xhc3NOYW1lJiYobj10W2ktMl0pLG58fChuPXRbdC5sZW5ndGgtMV0pLG4mJm4uZm9jdXMoKSxsPSEwKTozOT09YT8odD10aGlzLl9nZXRWaXNpYmxlQnV0dG9ucygpLGk9dC5pbmRleE9mKHMpLG89dFtpKzFdLG8mJiJqc29uZWRpdG9yLWV4cGFuZCI9PW8uY2xhc3NOYW1lJiZvLmZvY3VzKCksbD0hMCk6NDA9PWEmJih0PXRoaXMuX2dldFZpc2libGVCdXR0b25zKCksaT10LmluZGV4T2Yocyksbz10W2krMV0sbyYmImpzb25lZGl0b3ItZXhwYW5kIj09by5jbGFzc05hbWUmJihvPXRbaSsyXSksb3x8KG89dFswXSksbyYmKG8uZm9jdXMoKSxsPSEwKSxsPSEwKSxsJiYoZS5zdG9wUHJvcGFnYXRpb24oKSxlLnByZXZlbnREZWZhdWx0KCkpfSxuLnByb3RvdHlwZS5faXNDaGlsZE9mPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpPWUucGFyZW50Tm9kZTtpOyl7aWYoaT09dClyZXR1cm4hMDtpPWkucGFyZW50Tm9kZX1yZXR1cm4hMX0sZS5leHBvcnRzPW59LGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe3RoaXMuZWRpdG9yPWUsdGhpcy5kb209e30sdGhpcy5leHBhbmRlZD0hMSx0JiZ0IGluc3RhbmNlb2YgT2JqZWN0Pyh0aGlzLnNldEZpZWxkKHQuZmllbGQsdC5maWVsZEVkaXRhYmxlKSx0aGlzLnNldFZhbHVlKHQudmFsdWUsdC50eXBlKSk6KHRoaXMuc2V0RmllbGQoIiIpLHRoaXMuc2V0VmFsdWUobnVsbCkpLHRoaXMuX2RlYm91bmNlZE9uQ2hhbmdlVmFsdWU9YS5kZWJvdW5jZSh0aGlzLl9vbkNoYW5nZVZhbHVlLmJpbmQodGhpcyksbi5wcm90b3R5cGUuREVCT1VOQ0VfSU5URVJWQUwpLHRoaXMuX2RlYm91bmNlZE9uQ2hhbmdlRmllbGQ9YS5kZWJvdW5jZSh0aGlzLl9vbkNoYW5nZUZpZWxkLmJpbmQodGhpcyksbi5wcm90b3R5cGUuREVCT1VOQ0VfSU5URVJWQUwpfXZhciByPWkoNTkpLG89aSg1Nykscz1pKDYwKSxhPWkoNTQpO24ucHJvdG90eXBlLkRFQk9VTkNFX0lOVEVSVkFMPTE1MCxuLnByb3RvdHlwZS5fdXBkYXRlRWRpdGFiaWxpdHk9ZnVuY3Rpb24oKXtpZih0aGlzLmVkaXRhYmxlPXtmaWVsZDohMCx2YWx1ZTohMH0sdGhpcy5lZGl0b3ImJih0aGlzLmVkaXRhYmxlLmZpZWxkPSJ0cmVlIj09PXRoaXMuZWRpdG9yLm9wdGlvbnMubW9kZSx0aGlzLmVkaXRhYmxlLnZhbHVlPSJ2aWV3IiE9PXRoaXMuZWRpdG9yLm9wdGlvbnMubW9kZSwoInRyZWUiPT09dGhpcy5lZGl0b3Iub3B0aW9ucy5tb2RlfHwiZm9ybSI9PT10aGlzLmVkaXRvci5vcHRpb25zLm1vZGUpJiYiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5lZGl0b3Iub3B0aW9ucy5vbkVkaXRhYmxlKSl7dmFyIGU9dGhpcy5lZGl0b3Iub3B0aW9ucy5vbkVkaXRhYmxlKHtmaWVsZDp0aGlzLmZpZWxkLHZhbHVlOnRoaXMudmFsdWUscGF0aDp0aGlzLmdldFBhdGgoKX0pOyJib29sZWFuIj09dHlwZW9mIGU/KHRoaXMuZWRpdGFibGUuZmllbGQ9ZSx0aGlzLmVkaXRhYmxlLnZhbHVlPWUpOigiYm9vbGVhbiI9PXR5cGVvZiBlLmZpZWxkJiYodGhpcy5lZGl0YWJsZS5maWVsZD1lLmZpZWxkKSwiYm9vbGVhbiI9PXR5cGVvZiBlLnZhbHVlJiYodGhpcy5lZGl0YWJsZS52YWx1ZT1lLnZhbHVlKSl9fSxuLnByb3RvdHlwZS5nZXRQYXRoPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMsdD1bXTtlOyl7dmFyIGk9ZS5wYXJlbnQ/ImFycmF5IiE9ZS5wYXJlbnQudHlwZT9lLmZpZWxkOmUuaW5kZXg6dm9pZCAwO3ZvaWQgMCE9PWkmJnQudW5zaGlmdChpKSxlPWUucGFyZW50fXJldHVybiB0fSxuLnByb3RvdHlwZS5maW5kTm9kZT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9YS5wYXJzZVBhdGgoZSksaT10aGlzO2kmJnQubGVuZ3RoPjA7KXt2YXIgbj10LnNoaWZ0KCk7aWYoIm51bWJlciI9PXR5cGVvZiBuKXtpZigiYXJyYXkiIT09aS50eXBlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGdldCBjaGlsZCBub2RlIGF0IGluZGV4ICIrbisiOiBub2RlIGlzIG5vIGFycmF5Iik7aT1pLmNoaWxkc1tuXX1lbHNle2lmKCJvYmplY3QiIT09aS50eXBlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGdldCBjaGlsZCBub2RlICIrbisiOiBub2RlIGlzIG5vIG9iamVjdCIpO2k9aS5jaGlsZHMuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLmZpZWxkPT09bn0pWzBdfX1yZXR1cm4gaX0sbi5wcm90b3R5cGUuZmluZFBhcmVudHM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD10aGlzLnBhcmVudDt0OyllLnVuc2hpZnQodCksdD10LnBhcmVudDtyZXR1cm4gZX0sbi5wcm90b3R5cGUuc2V0RXJyb3I9ZnVuY3Rpb24oZSx0KXt0aGlzLmdldERvbSgpLHRoaXMuZXJyb3I9ZTt2YXIgaT10aGlzLmRvbS50ZEVycm9yO2lmKGUpe2l8fChpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIiksdGhpcy5kb20udGRFcnJvcj1pLHRoaXMuZG9tLnRkVmFsdWUucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChpKSk7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bi5jbGFzc05hbWU9Impzb25lZGl0b3ItcG9wb3ZlciBqc29uZWRpdG9yLXJpZ2h0IixuLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUubWVzc2FnZSkpO3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO2ZvcihyLmNsYXNzTmFtZT0ianNvbmVkaXRvci1zY2hlbWEtZXJyb3IiLHIuYXBwZW5kQ2hpbGQobiksci5vbm1vdXNlb3Zlcj1yLm9uZm9jdXM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9WyJyaWdodCIsImFib3ZlIiwiYmVsb3ciLCJsZWZ0Il0sdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgaT1lW3RdO24uY2xhc3NOYW1lPSJqc29uZWRpdG9yLXBvcG92ZXIganNvbmVkaXRvci0iK2k7dmFyIHI9dGhpcy5lZGl0b3IuY29udGVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscz0yMCxsPWEuaW5zaWRlUmVjdChyLG8scyk7aWYobClicmVha319LmJpbmQodGhpcyksdCYmKHIub25jbGljaz1mdW5jdGlvbigpe3QuZmluZFBhcmVudHMoKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuZXhwYW5kKCExKX0pLHQuc2Nyb2xsVG8oZnVuY3Rpb24oKXt0LmZvY3VzKCl9KX0pO2kuZmlyc3RDaGlsZDspaS5yZW1vdmVDaGlsZChpLmZpcnN0Q2hpbGQpO2kuYXBwZW5kQ2hpbGQocil9ZWxzZSBpJiYodGhpcy5kb20udGRFcnJvci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZG9tLnRkRXJyb3IpLGRlbGV0ZSB0aGlzLmRvbS50ZEVycm9yKX0sbi5wcm90b3R5cGUuZ2V0SW5kZXg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuY2hpbGRzLmluZGV4T2YodGhpcyk6LTF9LG4ucHJvdG90eXBlLnNldFBhcmVudD1mdW5jdGlvbihlKXt0aGlzLnBhcmVudD1lfSxuLnByb3RvdHlwZS5zZXRGaWVsZD1mdW5jdGlvbihlLHQpe3RoaXMuZmllbGQ9ZSx0aGlzLnByZXZpb3VzRmllbGQ9ZSx0aGlzLmZpZWxkRWRpdGFibGU9dD09PSEwfSxuLnByb3RvdHlwZS5nZXRGaWVsZD1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT10aGlzLmZpZWxkJiZ0aGlzLl9nZXREb21GaWVsZCgpLHRoaXMuZmllbGR9LG4ucHJvdG90eXBlLnNldFZhbHVlPWZ1bmN0aW9uKGUsdCl7dmFyIGkscixvPXRoaXMuY2hpbGRzO2lmKG8pZm9yKDtvLmxlbmd0aDspdGhpcy5yZW1vdmVDaGlsZChvWzBdKTtpZih0aGlzLnR5cGU9dGhpcy5fZ2V0VHlwZShlKSx0JiZ0IT10aGlzLnR5cGUpe2lmKCJzdHJpbmciIT10fHwiYXV0byIhPXRoaXMudHlwZSl0aHJvdyBuZXcgRXJyb3IoJ1R5cGUgbWlzbWF0Y2g6IGNhbm5vdCBjYXN0IHZhbHVlIG9mIHR5cGUgIicrdGhpcy50eXBlKycgdG8gdGhlIHNwZWNpZmllZCB0eXBlICInK3QrJyInKTt0aGlzLnR5cGU9dH1pZigiYXJyYXkiPT10aGlzLnR5cGUpe3RoaXMuY2hpbGRzPVtdO2Zvcih2YXIgcz0wLGE9ZS5sZW5ndGg7YT5zO3MrKylpPWVbc10sdm9pZCAwPT09aXx8aSBpbnN0YW5jZW9mIEZ1bmN0aW9ufHwocj1uZXcgbih0aGlzLmVkaXRvcix7dmFsdWU6aX0pLHRoaXMuYXBwZW5kQ2hpbGQocikpO3RoaXMudmFsdWU9IiJ9ZWxzZSBpZigib2JqZWN0Ij09dGhpcy50eXBlKXt0aGlzLmNoaWxkcz1bXTtmb3IodmFyIGwgaW4gZSllLmhhc093blByb3BlcnR5KGwpJiYoaT1lW2xdLHZvaWQgMD09PWl8fGkgaW5zdGFuY2VvZiBGdW5jdGlvbnx8KHI9bmV3IG4odGhpcy5lZGl0b3Ise2ZpZWxkOmwsdmFsdWU6aX0pLHRoaXMuYXBwZW5kQ2hpbGQocikpKTt0aGlzLnZhbHVlPSIiLHRoaXMuZWRpdG9yLm9wdGlvbnMuc29ydE9iamVjdEtleXM9PT0hMCYmdGhpcy5zb3J0KCJhc2MiKX1lbHNlIHRoaXMuY2hpbGRzPXZvaWQgMCx0aGlzLnZhbHVlPWU7dGhpcy5wcmV2aW91c1ZhbHVlPXRoaXMudmFsdWV9LG4ucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7aWYoImFycmF5Ij09dGhpcy50eXBlKXt2YXIgZT1bXTtyZXR1cm4gdGhpcy5jaGlsZHMuZm9yRWFjaChmdW5jdGlvbih0KXtlLnB1c2godC5nZXRWYWx1ZSgpKX0pLGV9aWYoIm9iamVjdCI9PXRoaXMudHlwZSl7dmFyIHQ9e307cmV0dXJuIHRoaXMuY2hpbGRzLmZvckVhY2goZnVuY3Rpb24oZSl7dFtlLmdldEZpZWxkKCldPWUuZ2V0VmFsdWUoKX0pLHR9cmV0dXJuIHZvaWQgMD09PXRoaXMudmFsdWUmJnRoaXMuX2dldERvbVZhbHVlKCksdGhpcy52YWx1ZX0sbi5wcm90b3R5cGUuZ2V0TGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0TGV2ZWwoKSsxOjB9LG4ucHJvdG90eXBlLmdldE5vZGVQYXRoPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0Tm9kZVBhdGgoKTpbXTtyZXR1cm4gZS5wdXNoKHRoaXMpLGV9LG4ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIGU9bmV3IG4odGhpcy5lZGl0b3IpO2lmKGUudHlwZT10aGlzLnR5cGUsZS5maWVsZD10aGlzLmZpZWxkLGUuZmllbGRJbm5lclRleHQ9dGhpcy5maWVsZElubmVyVGV4dCxlLmZpZWxkRWRpdGFibGU9dGhpcy5maWVsZEVkaXRhYmxlLGUudmFsdWU9dGhpcy52YWx1ZSxlLnZhbHVlSW5uZXJUZXh0PXRoaXMudmFsdWVJbm5lclRleHQsZS5leHBhbmRlZD10aGlzLmV4cGFuZGVkLHRoaXMuY2hpbGRzKXt2YXIgdD1bXTt0aGlzLmNoaWxkcy5mb3JFYWNoKGZ1bmN0aW9uKGkpe3ZhciBuPWkuY2xvbmUoKTtuLnNldFBhcmVudChlKSx0LnB1c2gobil9KSxlLmNoaWxkcz10fWVsc2UgZS5jaGlsZHM9dm9pZCAwO3JldHVybiBlfSxuLnByb3RvdHlwZS5leHBhbmQ9ZnVuY3Rpb24oZSl7dGhpcy5jaGlsZHMmJih0aGlzLmV4cGFuZGVkPSEwLHRoaXMuZG9tLmV4cGFuZCYmKHRoaXMuZG9tLmV4cGFuZC5jbGFzc05hbWU9Impzb25lZGl0b3ItZXhwYW5kZWQiKSx0aGlzLnNob3dDaGlsZHMoKSxlIT09ITEmJnRoaXMuY2hpbGRzLmZvckVhY2goZnVuY3Rpb24odCl7dC5leHBhbmQoZSl9KSl9LG4ucHJvdG90eXBlLmNvbGxhcHNlPWZ1bmN0aW9uKGUpe3RoaXMuY2hpbGRzJiYodGhpcy5oaWRlQ2hpbGRzKCksZSE9PSExJiZ0aGlzLmNoaWxkcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuY29sbGFwc2UoZSl9KSx0aGlzLmRvbS5leHBhbmQmJih0aGlzLmRvbS5leHBhbmQuY2xhc3NOYW1lPSJqc29uZWRpdG9yLWNvbGxhcHNlZCIpLHRoaXMuZXhwYW5kZWQ9ITEpfSxuLnByb3RvdHlwZS5zaG93Q2hpbGRzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5jaGlsZHM7aWYoZSYmdGhpcy5leHBhbmRlZCl7dmFyIHQ9dGhpcy5kb20udHIsaT10P3QucGFyZW50Tm9kZTp2b2lkIDA7aWYoaSl7dmFyIG49dGhpcy5nZXRBcHBlbmQoKSxyPXQubmV4dFNpYmxpbmc7cj9pLmluc2VydEJlZm9yZShuLHIpOmkuYXBwZW5kQ2hpbGQobiksdGhpcy5jaGlsZHMuZm9yRWFjaChmdW5jdGlvbihlKXtpLmluc2VydEJlZm9yZShlLmdldERvbSgpLG4pLGUuc2hvd0NoaWxkcygpfSl9fX0sbi5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZG9tLnRyLHQ9ZT9lLnBhcmVudE5vZGU6dm9pZCAwO3QmJnQucmVtb3ZlQ2hpbGQoZSksdGhpcy5oaWRlQ2hpbGRzKCl9LG4ucHJvdG90eXBlLmhpZGVDaGlsZHM9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmNoaWxkcztpZihlJiZ0aGlzLmV4cGFuZGVkKXt2YXIgdD10aGlzLmdldEFwcGVuZCgpO3QucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLHRoaXMuY2hpbGRzLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5oaWRlKCl9KX19LG4ucHJvdG90eXBlLmFwcGVuZENoaWxkPWZ1bmN0aW9uKGUpe2lmKHRoaXMuX2hhc0NoaWxkcygpKXtpZihlLnNldFBhcmVudCh0aGlzKSxlLmZpZWxkRWRpdGFibGU9Im9iamVjdCI9PXRoaXMudHlwZSwiYXJyYXkiPT10aGlzLnR5cGUmJihlLmluZGV4PXRoaXMuY2hpbGRzLmxlbmd0aCksdGhpcy5jaGlsZHMucHVzaChlKSx0aGlzLmV4cGFuZGVkKXt2YXIgdD1lLmdldERvbSgpLGk9dGhpcy5nZXRBcHBlbmQoKSxuPWk/aS5wYXJlbnROb2RlOnZvaWQgMDsKaSYmbiYmbi5pbnNlcnRCZWZvcmUodCxpKSxlLnNob3dDaGlsZHMoKX10aGlzLnVwZGF0ZURvbSh7dXBkYXRlSW5kZXhlczohMH0pLGUudXBkYXRlRG9tKHtyZWN1cnNlOiEwfSl9fSxuLnByb3RvdHlwZS5tb3ZlQmVmb3JlPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5faGFzQ2hpbGRzKCkpe3ZhciBpPXRoaXMuZG9tLnRyP3RoaXMuZG9tLnRyLnBhcmVudE5vZGU6dm9pZCAwO2lmKGkpe3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIik7bi5zdHlsZS5oZWlnaHQ9aS5jbGllbnRIZWlnaHQrInB4IixpLmFwcGVuZENoaWxkKG4pfWUucGFyZW50JiZlLnBhcmVudC5yZW1vdmVDaGlsZChlKSx0IGluc3RhbmNlb2YgbD90aGlzLmFwcGVuZENoaWxkKGUpOnRoaXMuaW5zZXJ0QmVmb3JlKGUsdCksaSYmaS5yZW1vdmVDaGlsZChuKX19LG4ucHJvdG90eXBlLm1vdmVUbz1mdW5jdGlvbihlLHQpe2lmKGUucGFyZW50PT10aGlzKXt2YXIgaT10aGlzLmNoaWxkcy5pbmRleE9mKGUpO3Q+aSYmdCsrfXZhciBuPXRoaXMuY2hpbGRzW3RdfHx0aGlzLmFwcGVuZDt0aGlzLm1vdmVCZWZvcmUoZSxuKX0sbi5wcm90b3R5cGUuaW5zZXJ0QmVmb3JlPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5faGFzQ2hpbGRzKCkpe2lmKHQ9PXRoaXMuYXBwZW5kKWUuc2V0UGFyZW50KHRoaXMpLGUuZmllbGRFZGl0YWJsZT0ib2JqZWN0Ij09dGhpcy50eXBlLHRoaXMuY2hpbGRzLnB1c2goZSk7ZWxzZXt2YXIgaT10aGlzLmNoaWxkcy5pbmRleE9mKHQpO2lmKC0xPT1pKXRocm93IG5ldyBFcnJvcigiTm9kZSBub3QgZm91bmQiKTtlLnNldFBhcmVudCh0aGlzKSxlLmZpZWxkRWRpdGFibGU9Im9iamVjdCI9PXRoaXMudHlwZSx0aGlzLmNoaWxkcy5zcGxpY2UoaSwwLGUpfWlmKHRoaXMuZXhwYW5kZWQpe3ZhciBuPWUuZ2V0RG9tKCkscj10LmdldERvbSgpLG89cj9yLnBhcmVudE5vZGU6dm9pZCAwO3ImJm8mJm8uaW5zZXJ0QmVmb3JlKG4sciksZS5zaG93Q2hpbGRzKCl9dGhpcy51cGRhdGVEb20oe3VwZGF0ZUluZGV4ZXM6ITB9KSxlLnVwZGF0ZURvbSh7cmVjdXJzZTohMH0pfX0sbi5wcm90b3R5cGUuaW5zZXJ0QWZ0ZXI9ZnVuY3Rpb24oZSx0KXtpZih0aGlzLl9oYXNDaGlsZHMoKSl7dmFyIGk9dGhpcy5jaGlsZHMuaW5kZXhPZih0KSxuPXRoaXMuY2hpbGRzW2krMV07bj90aGlzLmluc2VydEJlZm9yZShlLG4pOnRoaXMuYXBwZW5kQ2hpbGQoZSl9fSxuLnByb3RvdHlwZS5zZWFyY2g9ZnVuY3Rpb24oZSl7dmFyIHQsaT1bXSxuPWU/ZS50b0xvd2VyQ2FzZSgpOnZvaWQgMDtpZihkZWxldGUgdGhpcy5zZWFyY2hGaWVsZCxkZWxldGUgdGhpcy5zZWFyY2hWYWx1ZSx2b2lkIDAhPXRoaXMuZmllbGQpe3ZhciByPVN0cmluZyh0aGlzLmZpZWxkKS50b0xvd2VyQ2FzZSgpO3Q9ci5pbmRleE9mKG4pLC0xIT10JiYodGhpcy5zZWFyY2hGaWVsZD0hMCxpLnB1c2goe25vZGU6dGhpcyxlbGVtOiJmaWVsZCJ9KSksdGhpcy5fdXBkYXRlRG9tRmllbGQoKX1pZih0aGlzLl9oYXNDaGlsZHMoKSl7aWYodGhpcy5jaGlsZHMpe3ZhciBvPVtdO3RoaXMuY2hpbGRzLmZvckVhY2goZnVuY3Rpb24odCl7bz1vLmNvbmNhdCh0LnNlYXJjaChlKSl9KSxpPWkuY29uY2F0KG8pfWlmKHZvaWQgMCE9bil7dmFyIHM9ITE7MD09by5sZW5ndGg/dGhpcy5jb2xsYXBzZShzKTp0aGlzLmV4cGFuZChzKX19ZWxzZXtpZih2b2lkIDAhPXRoaXMudmFsdWUpe3ZhciBhPVN0cmluZyh0aGlzLnZhbHVlKS50b0xvd2VyQ2FzZSgpO3Q9YS5pbmRleE9mKG4pLC0xIT10JiYodGhpcy5zZWFyY2hWYWx1ZT0hMCxpLnB1c2goe25vZGU6dGhpcyxlbGVtOiJ2YWx1ZSJ9KSl9dGhpcy5fdXBkYXRlRG9tVmFsdWUoKX1yZXR1cm4gaX0sbi5wcm90b3R5cGUuc2Nyb2xsVG89ZnVuY3Rpb24oZSl7aWYoIXRoaXMuZG9tLnRyfHwhdGhpcy5kb20udHIucGFyZW50Tm9kZSlmb3IodmFyIHQ9dGhpcy5wYXJlbnQsaT0hMTt0Oyl0LmV4cGFuZChpKSx0PXQucGFyZW50O3RoaXMuZG9tLnRyJiZ0aGlzLmRvbS50ci5wYXJlbnROb2RlJiZ0aGlzLmVkaXRvci5zY3JvbGxUbyh0aGlzLmRvbS50ci5vZmZzZXRUb3AsZSl9LG4uZm9jdXNFbGVtZW50PXZvaWQgMCxuLnByb3RvdHlwZS5mb2N1cz1mdW5jdGlvbihlKXtpZihuLmZvY3VzRWxlbWVudD1lLHRoaXMuZG9tLnRyJiZ0aGlzLmRvbS50ci5wYXJlbnROb2RlKXt2YXIgdD10aGlzLmRvbTtzd2l0Y2goZSl7Y2FzZSJkcmFnIjp0LmRyYWc/dC5kcmFnLmZvY3VzKCk6dC5tZW51LmZvY3VzKCk7YnJlYWs7Y2FzZSJtZW51Ijp0Lm1lbnUuZm9jdXMoKTticmVhaztjYXNlImV4cGFuZCI6dGhpcy5faGFzQ2hpbGRzKCk/dC5leHBhbmQuZm9jdXMoKTp0LmZpZWxkJiZ0aGlzLmZpZWxkRWRpdGFibGU/KHQuZmllbGQuZm9jdXMoKSxhLnNlbGVjdENvbnRlbnRFZGl0YWJsZSh0LmZpZWxkKSk6dC52YWx1ZSYmIXRoaXMuX2hhc0NoaWxkcygpPyh0LnZhbHVlLmZvY3VzKCksYS5zZWxlY3RDb250ZW50RWRpdGFibGUodC52YWx1ZSkpOnQubWVudS5mb2N1cygpO2JyZWFrO2Nhc2UiZmllbGQiOnQuZmllbGQmJnRoaXMuZmllbGRFZGl0YWJsZT8odC5maWVsZC5mb2N1cygpLGEuc2VsZWN0Q29udGVudEVkaXRhYmxlKHQuZmllbGQpKTp0LnZhbHVlJiYhdGhpcy5faGFzQ2hpbGRzKCk/KHQudmFsdWUuZm9jdXMoKSxhLnNlbGVjdENvbnRlbnRFZGl0YWJsZSh0LnZhbHVlKSk6dGhpcy5faGFzQ2hpbGRzKCk/dC5leHBhbmQuZm9jdXMoKTp0Lm1lbnUuZm9jdXMoKTticmVhaztjYXNlInZhbHVlIjpkZWZhdWx0OnQudmFsdWUmJiF0aGlzLl9oYXNDaGlsZHMoKT8odC52YWx1ZS5mb2N1cygpLGEuc2VsZWN0Q29udGVudEVkaXRhYmxlKHQudmFsdWUpKTp0LmZpZWxkJiZ0aGlzLmZpZWxkRWRpdGFibGU/KHQuZmllbGQuZm9jdXMoKSxhLnNlbGVjdENvbnRlbnRFZGl0YWJsZSh0LmZpZWxkKSk6dGhpcy5faGFzQ2hpbGRzKCk/dC5leHBhbmQuZm9jdXMoKTp0Lm1lbnUuZm9jdXMoKX19fSxuLnNlbGVjdD1mdW5jdGlvbihlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5zZWxlY3RDb250ZW50RWRpdGFibGUoZSl9LDApfSxuLnByb3RvdHlwZS5ibHVyPWZ1bmN0aW9uKCl7dGhpcy5fZ2V0RG9tVmFsdWUoITEpLHRoaXMuX2dldERvbUZpZWxkKCExKX0sbi5wcm90b3R5cGUuY29udGFpbnNOb2RlPWZ1bmN0aW9uKGUpe2lmKHRoaXM9PWUpcmV0dXJuITA7dmFyIHQ9dGhpcy5jaGlsZHM7aWYodClmb3IodmFyIGk9MCxuPXQubGVuZ3RoO24+aTtpKyspaWYodFtpXS5jb250YWluc05vZGUoZSkpcmV0dXJuITA7cmV0dXJuITF9LG4ucHJvdG90eXBlLl9tb3ZlPWZ1bmN0aW9uKGUsdCl7aWYoZSE9dCl7aWYoZS5jb250YWluc05vZGUodGhpcykpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgbW92ZSBhIGZpZWxkIGludG8gYSBjaGlsZCBvZiBpdHNlbGYiKTtlLnBhcmVudCYmZS5wYXJlbnQucmVtb3ZlQ2hpbGQoZSk7dmFyIGk9ZS5jbG9uZSgpO2UuY2xlYXJEb20oKSx0P3RoaXMuaW5zZXJ0QmVmb3JlKGksdCk6dGhpcy5hcHBlbmRDaGlsZChpKX19LG4ucHJvdG90eXBlLnJlbW92ZUNoaWxkPWZ1bmN0aW9uKGUpe2lmKHRoaXMuY2hpbGRzKXt2YXIgdD10aGlzLmNoaWxkcy5pbmRleE9mKGUpO2lmKC0xIT10KXtlLmhpZGUoKSxkZWxldGUgZS5zZWFyY2hGaWVsZCxkZWxldGUgZS5zZWFyY2hWYWx1ZTt2YXIgaT10aGlzLmNoaWxkcy5zcGxpY2UodCwxKVswXTtyZXR1cm4gaS5wYXJlbnQ9bnVsbCx0aGlzLnVwZGF0ZURvbSh7dXBkYXRlSW5kZXhlczohMH0pLGl9fX0sbi5wcm90b3R5cGUuX3JlbW92ZT1mdW5jdGlvbihlKXt0aGlzLnJlbW92ZUNoaWxkKGUpfSxuLnByb3RvdHlwZS5jaGFuZ2VUeXBlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMudHlwZTtpZih0IT1lKXtpZigic3RyaW5nIiE9ZSYmImF1dG8iIT1lfHwic3RyaW5nIiE9dCYmImF1dG8iIT10KXt2YXIgaSxuPXRoaXMuZG9tLnRyP3RoaXMuZG9tLnRyLnBhcmVudE5vZGU6dm9pZCAwO2k9dGhpcy5leHBhbmRlZD90aGlzLmdldEFwcGVuZCgpOnRoaXMuZ2V0RG9tKCk7dmFyIHI9aSYmaS5wYXJlbnROb2RlP2kubmV4dFNpYmxpbmc6dm9pZCAwO3RoaXMuaGlkZSgpLHRoaXMuY2xlYXJEb20oKSx0aGlzLnR5cGU9ZSwib2JqZWN0Ij09ZT8odGhpcy5jaGlsZHN8fCh0aGlzLmNoaWxkcz1bXSksdGhpcy5jaGlsZHMuZm9yRWFjaChmdW5jdGlvbihlLHQpe2UuY2xlYXJEb20oKSxkZWxldGUgZS5pbmRleCxlLmZpZWxkRWRpdGFibGU9ITAsdm9pZCAwPT1lLmZpZWxkJiYoZS5maWVsZD0iIil9KSwic3RyaW5nIiE9dCYmImF1dG8iIT10fHwodGhpcy5leHBhbmRlZD0hMCkpOiJhcnJheSI9PWU/KHRoaXMuY2hpbGRzfHwodGhpcy5jaGlsZHM9W10pLHRoaXMuY2hpbGRzLmZvckVhY2goZnVuY3Rpb24oZSx0KXtlLmNsZWFyRG9tKCksZS5maWVsZEVkaXRhYmxlPSExLGUuaW5kZXg9dH0pLCJzdHJpbmciIT10JiYiYXV0byIhPXR8fCh0aGlzLmV4cGFuZGVkPSEwKSk6dGhpcy5leHBhbmRlZD0hMSxuJiYocj9uLmluc2VydEJlZm9yZSh0aGlzLmdldERvbSgpLHIpOm4uYXBwZW5kQ2hpbGQodGhpcy5nZXREb20oKSkpLHRoaXMuc2hvd0NoaWxkcygpfWVsc2UgdGhpcy50eXBlPWU7ImF1dG8iIT1lJiYic3RyaW5nIiE9ZXx8KCJzdHJpbmciPT1lP3RoaXMudmFsdWU9U3RyaW5nKHRoaXMudmFsdWUpOnRoaXMudmFsdWU9dGhpcy5fc3RyaW5nQ2FzdChTdHJpbmcodGhpcy52YWx1ZSkpLHRoaXMuZm9jdXMoKSksdGhpcy51cGRhdGVEb20oe3VwZGF0ZUluZGV4ZXM6ITB9KX19LG4ucHJvdG90eXBlLl9nZXREb21WYWx1ZT1mdW5jdGlvbihlKXtpZih0aGlzLmRvbS52YWx1ZSYmImFycmF5IiE9dGhpcy50eXBlJiYib2JqZWN0IiE9dGhpcy50eXBlJiYodGhpcy52YWx1ZUlubmVyVGV4dD1hLmdldElubmVyVGV4dCh0aGlzLmRvbS52YWx1ZSkpLHZvaWQgMCE9dGhpcy52YWx1ZUlubmVyVGV4dCl0cnl7dmFyIHQ7aWYoInN0cmluZyI9PXRoaXMudHlwZSl0PXRoaXMuX3VuZXNjYXBlSFRNTCh0aGlzLnZhbHVlSW5uZXJUZXh0KTtlbHNle3ZhciBpPXRoaXMuX3VuZXNjYXBlSFRNTCh0aGlzLnZhbHVlSW5uZXJUZXh0KTt0PXRoaXMuX3N0cmluZ0Nhc3QoaSl9dCE9PXRoaXMudmFsdWUmJih0aGlzLnZhbHVlPXQsdGhpcy5fZGVib3VuY2VkT25DaGFuZ2VWYWx1ZSgpKX1jYXRjaChuKXtpZih0aGlzLnZhbHVlPXZvaWQgMCxlIT09ITApdGhyb3cgbn19LG4ucHJvdG90eXBlLl9vbkNoYW5nZVZhbHVlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKCk7aWYoZS5yYW5nZSl7dmFyIHQ9YS50ZXh0RGlmZihTdHJpbmcodGhpcy52YWx1ZSksU3RyaW5nKHRoaXMucHJldmlvdXNWYWx1ZSkpO2UucmFuZ2Uuc3RhcnRPZmZzZXQ9dC5zdGFydCxlLnJhbmdlLmVuZE9mZnNldD10LmVuZH12YXIgaT10aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24oKTtpZihpLnJhbmdlKXt2YXIgbj1hLnRleHREaWZmKFN0cmluZyh0aGlzLnByZXZpb3VzVmFsdWUpLFN0cmluZyh0aGlzLnZhbHVlKSk7aS5yYW5nZS5zdGFydE9mZnNldD1uLnN0YXJ0LGkucmFuZ2UuZW5kT2Zmc2V0PW4uZW5kfXRoaXMuZWRpdG9yLl9vbkFjdGlvbigiZWRpdFZhbHVlIix7bm9kZTp0aGlzLG9sZFZhbHVlOnRoaXMucHJldmlvdXNWYWx1ZSxuZXdWYWx1ZTp0aGlzLnZhbHVlLG9sZFNlbGVjdGlvbjplLG5ld1NlbGVjdGlvbjppfSksdGhpcy5wcmV2aW91c1ZhbHVlPXRoaXMudmFsdWV9LG4ucHJvdG90eXBlLl9vbkNoYW5nZUZpZWxkPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKCk7aWYoZS5yYW5nZSl7dmFyIHQ9YS50ZXh0RGlmZih0aGlzLmZpZWxkLHRoaXMucHJldmlvdXNGaWVsZCk7ZS5yYW5nZS5zdGFydE9mZnNldD10LnN0YXJ0LGUucmFuZ2UuZW5kT2Zmc2V0PXQuZW5kfXZhciBpPXRoaXMuZWRpdG9yLmdldFNlbGVjdGlvbigpO2lmKGkucmFuZ2Upe3ZhciBuPWEudGV4dERpZmYodGhpcy5wcmV2aW91c0ZpZWxkLHRoaXMuZmllbGQpO2kucmFuZ2Uuc3RhcnRPZmZzZXQ9bi5zdGFydCxpLnJhbmdlLmVuZE9mZnNldD1uLmVuZH10aGlzLmVkaXRvci5fb25BY3Rpb24oImVkaXRGaWVsZCIse25vZGU6dGhpcyxvbGRWYWx1ZTp0aGlzLnByZXZpb3VzRmllbGQsbmV3VmFsdWU6dGhpcy5maWVsZCxvbGRTZWxlY3Rpb246ZSxuZXdTZWxlY3Rpb246aX0pLHRoaXMucHJldmlvdXNGaWVsZD10aGlzLmZpZWxkfSxuLnByb3RvdHlwZS5fdXBkYXRlRG9tVmFsdWU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmRvbS52YWx1ZTtpZihlKXt2YXIgdD1bImpzb25lZGl0b3ItdmFsdWUiXSxpPXRoaXMudmFsdWUsbj0iYXV0byI9PXRoaXMudHlwZT9hLnR5cGUoaSk6dGhpcy50eXBlLHI9InN0cmluZyI9PW4mJmEuaXNVcmwoaSk7dC5wdXNoKCJqc29uZWRpdG9yLSIrbiksciYmdC5wdXNoKCJqc29uZWRpdG9yLXVybCIpO3ZhciBvPSIiPT1TdHJpbmcodGhpcy52YWx1ZSkmJiJhcnJheSIhPXRoaXMudHlwZSYmIm9iamVjdCIhPXRoaXMudHlwZTtpZihvJiZ0LnB1c2goImpzb25lZGl0b3ItZW1wdHkiKSx0aGlzLnNlYXJjaFZhbHVlQWN0aXZlJiZ0LnB1c2goImpzb25lZGl0b3ItaGlnaGxpZ2h0LWFjdGl2ZSIpLHRoaXMuc2VhcmNoVmFsdWUmJnQucHVzaCgianNvbmVkaXRvci1oaWdobGlnaHQiKSxlLmNsYXNzTmFtZT10LmpvaW4oIiAiKSwiYXJyYXkiPT1ufHwib2JqZWN0Ij09bil7dmFyIHM9dGhpcy5jaGlsZHM/dGhpcy5jaGlsZHMubGVuZ3RoOjA7ZS50aXRsZT10aGlzLnR5cGUrIiBjb250YWluaW5nICIrcysiIGl0ZW1zIn1lbHNlIHImJnRoaXMuZWRpdGFibGUudmFsdWU/ZS50aXRsZT0iQ3RybCtDbGljayBvciBDdHJsK0VudGVyIHRvIG9wZW4gdXJsIGluIG5ldyB3aW5kb3ciOmUudGl0bGU9IiI7aWYoImJvb2xlYW4iPT09biYmdGhpcy5lZGl0YWJsZS52YWx1ZT8odGhpcy5kb20uY2hlY2tib3h8fCh0aGlzLmRvbS5jaGVja2JveD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLHRoaXMuZG9tLmNoZWNrYm94LnR5cGU9ImNoZWNrYm94Iix0aGlzLmRvbS50ZENoZWNrYm94PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIiksdGhpcy5kb20udGRDaGVja2JveC5jbGFzc05hbWU9Impzb25lZGl0b3ItdHJlZSIsdGhpcy5kb20udGRDaGVja2JveC5hcHBlbmRDaGlsZCh0aGlzLmRvbS5jaGVja2JveCksdGhpcy5kb20udGRWYWx1ZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmRvbS50ZENoZWNrYm94LHRoaXMuZG9tLnRkVmFsdWUpKSx0aGlzLmRvbS5jaGVja2JveC5jaGVja2VkPXRoaXMudmFsdWUpOnRoaXMuZG9tLnRkQ2hlY2tib3gmJih0aGlzLmRvbS50ZENoZWNrYm94LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5kb20udGRDaGVja2JveCksZGVsZXRlIHRoaXMuZG9tLnRkQ2hlY2tib3gsZGVsZXRlIHRoaXMuZG9tLmNoZWNrYm94KSx0aGlzWyJlbnVtIl0mJnRoaXMuZWRpdGFibGUudmFsdWUpe2lmKCF0aGlzLmRvbS5zZWxlY3Qpe3RoaXMuZG9tLnNlbGVjdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKSx0aGlzLmlkPXRoaXMuZmllbGQrIl8iKyhuZXcgRGF0ZSkuZ2V0VVRDTWlsbGlzZWNvbmRzKCksdGhpcy5kb20uc2VsZWN0LmlkPXRoaXMuaWQsdGhpcy5kb20uc2VsZWN0Lm5hbWU9dGhpcy5kb20uc2VsZWN0LmlkLHRoaXMuZG9tLnNlbGVjdC5vcHRpb249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIiksdGhpcy5kb20uc2VsZWN0Lm9wdGlvbi52YWx1ZT0iIix0aGlzLmRvbS5zZWxlY3Qub3B0aW9uLmlubmVySFRNTD0iLS0iLHRoaXMuZG9tLnNlbGVjdC5hcHBlbmRDaGlsZCh0aGlzLmRvbS5zZWxlY3Qub3B0aW9uKTtmb3IodmFyIGw9MDtsPHRoaXNbImVudW0iXS5sZW5ndGg7bCsrKXRoaXMuZG9tLnNlbGVjdC5vcHRpb249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIiksdGhpcy5kb20uc2VsZWN0Lm9wdGlvbi52YWx1ZT10aGlzWyJlbnVtIl1bbF0sdGhpcy5kb20uc2VsZWN0Lm9wdGlvbi5pbm5lckhUTUw9dGhpc1siZW51bSJdW2xdLHRoaXMuZG9tLnNlbGVjdC5vcHRpb24udmFsdWU9PXRoaXMudmFsdWUmJih0aGlzLmRvbS5zZWxlY3Qub3B0aW9uLnNlbGVjdGVkPSEwKSx0aGlzLmRvbS5zZWxlY3QuYXBwZW5kQ2hpbGQodGhpcy5kb20uc2VsZWN0Lm9wdGlvbik7dGhpcy5kb20udGRTZWxlY3Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSx0aGlzLmRvbS50ZFNlbGVjdC5jbGFzc05hbWU9Impzb25lZGl0b3ItdHJlZSIsdGhpcy5kb20udGRTZWxlY3QuYXBwZW5kQ2hpbGQodGhpcy5kb20uc2VsZWN0KSx0aGlzLmRvbS50ZFZhbHVlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuZG9tLnRkU2VsZWN0LHRoaXMuZG9tLnRkVmFsdWUpfSF0aGlzLnNjaGVtYXx8dGhpcy5zY2hlbWEuaGFzT3duUHJvcGVydHkoIm9uZU9mIil8fHRoaXMuc2NoZW1hLmhhc093blByb3BlcnR5KCJhbnlPZiIpfHx0aGlzLnNjaGVtYS5oYXNPd25Qcm9wZXJ0eSgiYWxsT2YiKT9kZWxldGUgdGhpcy52YWx1ZUZpZWxkSFRNTDoodGhpcy52YWx1ZUZpZWxkSFRNTD10aGlzLmRvbS50ZFZhbHVlLmlubmVySFRNTCx0aGlzLmRvbS50ZFZhbHVlLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsdGhpcy5kb20udGRWYWx1ZS5pbm5lckhUTUw9IiIpfWVsc2UgdGhpcy5kb20udGRTZWxlY3QmJih0aGlzLmRvbS50ZFNlbGVjdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZG9tLnRkU2VsZWN0KSxkZWxldGUgdGhpcy5kb20udGRTZWxlY3QsZGVsZXRlIHRoaXMuZG9tLnNlbGVjdCx0aGlzLmRvbS50ZFZhbHVlLmlubmVySFRNTD10aGlzLnZhbHVlRmllbGRIVE1MLHRoaXMuZG9tLnRkVmFsdWUuc3R5bGUudmlzaWJpbGl0eT0iIixkZWxldGUgdGhpcy52YWx1ZUZpZWxkSFRNTCk7YS5zdHJpcEZvcm1hdHRpbmcoZSl9fSxuLnByb3RvdHlwZS5fdXBkYXRlRG9tRmllbGQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmRvbS5maWVsZDtpZihlKXt2YXIgdD0iIj09U3RyaW5nKHRoaXMuZmllbGQpJiYiYXJyYXkiIT10aGlzLnBhcmVudC50eXBlO3Q/YS5hZGRDbGFzc05hbWUoZSwianNvbmVkaXRvci1lbXB0eSIpOmEucmVtb3ZlQ2xhc3NOYW1lKGUsImpzb25lZGl0b3ItZW1wdHkiKSx0aGlzLnNlYXJjaEZpZWxkQWN0aXZlP2EuYWRkQ2xhc3NOYW1lKGUsImpzb25lZGl0b3ItaGlnaGxpZ2h0LWFjdGl2ZSIpOmEucmVtb3ZlQ2xhc3NOYW1lKGUsImpzb25lZGl0b3ItaGlnaGxpZ2h0LWFjdGl2ZSIpLHRoaXMuc2VhcmNoRmllbGQ/YS5hZGRDbGFzc05hbWUoZSwianNvbmVkaXRvci1oaWdobGlnaHQiKTphLnJlbW92ZUNsYXNzTmFtZShlLCJqc29uZWRpdG9yLWhpZ2hsaWdodCIpLGEuc3RyaXBGb3JtYXR0aW5nKGUpfX0sbi5wcm90b3R5cGUuX2dldERvbUZpZWxkPWZ1bmN0aW9uKGUpe2lmKHRoaXMuZG9tLmZpZWxkJiZ0aGlzLmZpZWxkRWRpdGFibGUmJih0aGlzLmZpZWxkSW5uZXJUZXh0PWEuZ2V0SW5uZXJUZXh0KHRoaXMuZG9tLmZpZWxkKSksdm9pZCAwIT10aGlzLmZpZWxkSW5uZXJUZXh0KXRyeXt2YXIgdD10aGlzLl91bmVzY2FwZUhUTUwodGhpcy5maWVsZElubmVyVGV4dCk7dCE9PXRoaXMuZmllbGQmJih0aGlzLmZpZWxkPXQsdGhpcy5fZGVib3VuY2VkT25DaGFuZ2VGaWVsZCgpKX1jYXRjaChpKXtpZih0aGlzLmZpZWxkPXZvaWQgMCxlIT09ITApdGhyb3cgaX19LG4ucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uKCl7dmFyIGU9W107aWYoIm9iamVjdCI9PT10aGlzLnR5cGUpe2Zvcih2YXIgdD17fSxpPVtdLG49MDtuPHRoaXMuY2hpbGRzLmxlbmd0aDtuKyspe3ZhciByPXRoaXMuY2hpbGRzW25dO3Rbci5maWVsZF0mJmkucHVzaChyLmZpZWxkKSx0W3IuZmllbGRdPSEwfWkubGVuZ3RoPjAmJihlPXRoaXMuY2hpbGRzLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4tMSE9PWkuaW5kZXhPZihlLmZpZWxkKX0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm57bm9kZTplLGVycm9yOnttZXNzYWdlOidkdXBsaWNhdGUga2V5ICInK2UuZmllbGQrJyInfX19KSl9aWYodGhpcy5jaGlsZHMpZm9yKHZhciBuPTA7bjx0aGlzLmNoaWxkcy5sZW5ndGg7bisrKXt2YXIgbz10aGlzLmNoaWxkc1tuXS52YWxpZGF0ZSgpO28ubGVuZ3RoPjAmJihlPWUuY29uY2F0KG8pKX1yZXR1cm4gZX0sbi5wcm90b3R5cGUuY2xlYXJEb209ZnVuY3Rpb24oKXt0aGlzLmRvbT17fX0sbi5wcm90b3R5cGUuZ2V0RG9tPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5kb207aWYoZS50cilyZXR1cm4gZS50cjtpZih0aGlzLl91cGRhdGVFZGl0YWJpbGl0eSgpLGUudHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKSxlLnRyLm5vZGU9dGhpcywidHJlZSI9PT10aGlzLmVkaXRvci5vcHRpb25zLm1vZGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7aWYodGhpcy5lZGl0YWJsZS5maWVsZCYmdGhpcy5wYXJlbnQpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO2UuZHJhZz1pLGkuY2xhc3NOYW1lPSJqc29uZWRpdG9yLWRyYWdhcmVhIixpLnRpdGxlPSJEcmFnIHRvIG1vdmUgdGhpcyBmaWVsZCAoQWx0K1NoaWZ0K0Fycm93cykiLHQuYXBwZW5kQ2hpbGQoaSl9ZS50ci5hcHBlbmRDaGlsZCh0KTt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7ZS5tZW51PXIsci5jbGFzc05hbWU9Impzb25lZGl0b3ItY29udGV4dG1lbnUiLHIudGl0bGU9IkNsaWNrIHRvIG9wZW4gdGhlIGFjdGlvbnMgbWVudSAoQ3RybCtNKSIsbi5hcHBlbmRDaGlsZChlLm1lbnUpLGUudHIuYXBwZW5kQ2hpbGQobil9dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtyZXR1cm4gZS50ci5hcHBlbmRDaGlsZChvKSxlLnRyZWU9dGhpcy5fY3JlYXRlRG9tVHJlZSgpLG8uYXBwZW5kQ2hpbGQoZS50cmVlKSx0aGlzLnVwZGF0ZURvbSh7dXBkYXRlSW5kZXhlczohMH0pLGUudHJ9LG4ub25EcmFnU3RhcnQ9ZnVuY3Rpb24oZSx0KXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gbi5vbkRyYWdTdGFydChbZV0sdCk7aWYoMCE9PWUubGVuZ3RoKXt2YXIgaT1lWzBdLHI9ZVtlLmxlbmd0aC0xXSxvPW4uZ2V0Tm9kZUZyb21UYXJnZXQodC50YXJnZXQpLHM9ci5fbmV4dFNpYmxpbmcoKSxsPWkuZWRpdG9yLGM9YS5nZXRBYnNvbHV0ZVRvcChvLmRvbS50ciktYS5nZXRBYnNvbHV0ZVRvcChpLmRvbS50cik7bC5tb3VzZW1vdmV8fChsLm1vdXNlbW92ZT1hLmFkZEV2ZW50TGlzdGVuZXIod2luZG93LCJtb3VzZW1vdmUiLGZ1bmN0aW9uKHQpe24ub25EcmFnKGUsdCl9KSksbC5tb3VzZXVwfHwobC5tb3VzZXVwPWEuYWRkRXZlbnRMaXN0ZW5lcih3aW5kb3csIm1vdXNldXAiLGZ1bmN0aW9uKHQpe24ub25EcmFnRW5kKGUsdCl9KSksbC5oaWdobGlnaHRlci5sb2NrKCksbC5kcmFnPXtvbGRDdXJzb3I6ZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3Isb2xkU2VsZWN0aW9uOmwuZ2V0U2VsZWN0aW9uKCksb2xkQmVmb3JlTm9kZTpzLG1vdXNlWDp0LnBhZ2VYLG9mZnNldFk6YyxsZXZlbDppLmdldExldmVsKCl9LGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yPSJtb3ZlIix0LnByZXZlbnREZWZhdWx0KCl9fSxuLm9uRHJhZz1mdW5jdGlvbihlLHQpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiBuLm9uRHJhZyhbZV0sdCk7aWYoMCE9PWUubGVuZ3RoKXt2YXIgaSxyLG8scyxjLGgsZCx1LGYscCxtLGcsdix3LHk9ZVswXS5lZGl0b3IsQT10LnBhZ2VZLXkuZHJhZy5vZmZzZXRZLEM9dC5wYWdlWCxFPSExLGI9ZVswXTtpZihpPWIuZG9tLnRyLGY9YS5nZXRBYnNvbHV0ZVRvcChpKSxnPWkub2Zmc2V0SGVpZ2h0LGY+QSl7cj1pO2RvIHI9ci5wcmV2aW91c1NpYmxpbmcsZD1uLmdldE5vZGVGcm9tVGFyZ2V0KHIpLHA9cj9hLmdldEFic29sdXRlVG9wKHIpOjA7d2hpbGUociYmcD5BKTtkJiYhZC5wYXJlbnQmJihkPXZvaWQgMCksZHx8KGg9aS5wYXJlbnROb2RlLmZpcnN0Q2hpbGQscj1oP2gubmV4dFNpYmxpbmc6dm9pZCAwLGQ9bi5nZXROb2RlRnJvbVRhcmdldChyKSxkPT1iJiYoZD12b2lkIDApKSxkJiYocj1kLmRvbS50cixwPXI/YS5nZXRBYnNvbHV0ZVRvcChyKTowLEE+cCtnJiYoZD12b2lkIDApKSxkJiYoZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2QucGFyZW50Lm1vdmVCZWZvcmUoZSxkKX0pLEU9ITApfWVsc2V7dmFyIEY9ZVtlLmxlbmd0aC0xXTtpZihjPUYuZXhwYW5kZWQmJkYuYXBwZW5kP0YuYXBwZW5kLmdldERvbSgpOkYuZG9tLnRyLHM9Yz9jLm5leHRTaWJsaW5nOnZvaWQgMCl7bT1hLmdldEFic29sdXRlVG9wKHMpLG89cztkbyB1PW4uZ2V0Tm9kZUZyb21UYXJnZXQobyksbyYmKHY9by5uZXh0U2libGluZz9hLmdldEFic29sdXRlVG9wKG8ubmV4dFNpYmxpbmcpOjAsdz1vP3YtbTowLHUucGFyZW50LmNoaWxkcy5sZW5ndGg9PWUubGVuZ3RoJiZ1LnBhcmVudC5jaGlsZHNbZS5sZW5ndGgtMV09PUYmJihmKz0yNykpLG89by5uZXh0U2libGluZzt3aGlsZShvJiZBPmYrdyk7aWYodSYmdS5wYXJlbnQpe3ZhciB4PUMteS5kcmFnLm1vdXNlWCxTPU1hdGgucm91bmQoeC8yNC8yKSwkPXkuZHJhZy5sZXZlbCtTLEQ9dS5nZXRMZXZlbCgpO2ZvcihyPXUuZG9tLnRyLnByZXZpb3VzU2libGluZzskPkQmJnI7KXtkPW4uZ2V0Tm9kZUZyb21UYXJnZXQocik7dmFyIGs9ZS5zb21lKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09ZHx8ZC5faXNDaGlsZE9mKGUpfSk7aWYoayk7ZWxzZXtpZighKGQgaW5zdGFuY2VvZiBsKSlicmVhazt2YXIgQj1kLnBhcmVudC5jaGlsZHM7aWYoQi5sZW5ndGg9PWUubGVuZ3RoJiZCW2UubGVuZ3RoLTFdPT1GKWJyZWFrO3U9bi5nZXROb2RlRnJvbVRhcmdldChyKSxEPXUuZ2V0TGV2ZWwoKX1yPXIucHJldmlvdXNTaWJsaW5nfWMubmV4dFNpYmxpbmchPXUuZG9tLnRyJiYoZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3UucGFyZW50Lm1vdmVCZWZvcmUoZSx1KX0pLEU9ITApfX19RSYmKHkuZHJhZy5tb3VzZVg9Qyx5LmRyYWcubGV2ZWw9Yi5nZXRMZXZlbCgpKSx5LnN0YXJ0QXV0b1Njcm9sbChBKSx0LnByZXZlbnREZWZhdWx0KCl9fSxuLm9uRHJhZ0VuZD1mdW5jdGlvbihlLHQpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiBuLm9uRHJhZyhbZV0sdCk7aWYoMCE9PWUubGVuZ3RoKXt2YXIgaT1lWzBdLHI9aS5lZGl0b3Isbz1pLnBhcmVudCxzPW8uY2hpbGRzLmluZGV4T2YoaSksbD1vLmNoaWxkc1tzK2UubGVuZ3RoXXx8by5hcHBlbmQ7ZVswXSYmZVswXS5kb20ubWVudS5mb2N1cygpO3ZhciBjPXtub2RlczplLG9sZFNlbGVjdGlvbjpyLmRyYWcub2xkU2VsZWN0aW9uLG5ld1NlbGVjdGlvbjpyLmdldFNlbGVjdGlvbigpLG9sZEJlZm9yZU5vZGU6ci5kcmFnLm9sZEJlZm9yZU5vZGUsbmV3QmVmb3JlTm9kZTpsfTtjLm9sZEJlZm9yZU5vZGUhPWMubmV3QmVmb3JlTm9kZSYmci5fb25BY3Rpb24oIm1vdmVOb2RlcyIsYyksZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9ci5kcmFnLm9sZEN1cnNvcixyLmhpZ2hsaWdodGVyLnVubG9jaygpLGUuZm9yRWFjaChmdW5jdGlvbihlKXt0LnRhcmdldCE9PWUuZG9tLmRyYWcmJnQudGFyZ2V0IT09ZS5kb20ubWVudSYmci5oaWdobGlnaHRlci51bmhpZ2hsaWdodCgpfSksZGVsZXRlIHIuZHJhZyxyLm1vdXNlbW92ZSYmKGEucmVtb3ZlRXZlbnRMaXN0ZW5lcih3aW5kb3csIm1vdXNlbW92ZSIsci5tb3VzZW1vdmUpLGRlbGV0ZSByLm1vdXNlbW92ZSksci5tb3VzZXVwJiYoYS5yZW1vdmVFdmVudExpc3RlbmVyKHdpbmRvdywibW91c2V1cCIsci5tb3VzZXVwKSxkZWxldGUgci5tb3VzZXVwKSxyLnN0b3BBdXRvU2Nyb2xsKCksdC5wcmV2ZW50RGVmYXVsdCgpfX0sbi5wcm90b3R5cGUuX2lzQ2hpbGRPZj1mdW5jdGlvbihlKXtmb3IodmFyIHQ9dGhpcy5wYXJlbnQ7dDspe2lmKHQ9PWUpcmV0dXJuITA7dD10LnBhcmVudH1yZXR1cm4hMX0sbi5wcm90b3R5cGUuX2NyZWF0ZURvbUZpZWxkPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpfSxuLnByb3RvdHlwZS5zZXRIaWdobGlnaHQ9ZnVuY3Rpb24oZSl7dGhpcy5kb20udHImJihlP2EuYWRkQ2xhc3NOYW1lKHRoaXMuZG9tLnRyLCJqc29uZWRpdG9yLWhpZ2hsaWdodCIpOmEucmVtb3ZlQ2xhc3NOYW1lKHRoaXMuZG9tLnRyLCJqc29uZWRpdG9yLWhpZ2hsaWdodCIpLHRoaXMuYXBwZW5kJiZ0aGlzLmFwcGVuZC5zZXRIaWdobGlnaHQoZSksdGhpcy5jaGlsZHMmJnRoaXMuY2hpbGRzLmZvckVhY2goZnVuY3Rpb24odCl7dC5zZXRIaWdobGlnaHQoZSl9KSl9LG4ucHJvdG90eXBlLnNldFNlbGVjdGVkPWZ1bmN0aW9uKGUsdCl7dGhpcy5zZWxlY3RlZD1lLHRoaXMuZG9tLnRyJiYoZT9hLmFkZENsYXNzTmFtZSh0aGlzLmRvbS50ciwianNvbmVkaXRvci1zZWxlY3RlZCIpOmEucmVtb3ZlQ2xhc3NOYW1lKHRoaXMuZG9tLnRyLCJqc29uZWRpdG9yLXNlbGVjdGVkIiksdD9hLmFkZENsYXNzTmFtZSh0aGlzLmRvbS50ciwianNvbmVkaXRvci1maXJzdCIpOmEucmVtb3ZlQ2xhc3NOYW1lKHRoaXMuZG9tLnRyLCJqc29uZWRpdG9yLWZpcnN0IiksdGhpcy5hcHBlbmQmJnRoaXMuYXBwZW5kLnNldFNlbGVjdGVkKGUpLHRoaXMuY2hpbGRzJiZ0aGlzLmNoaWxkcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3Quc2V0U2VsZWN0ZWQoZSl9KSl9LG4ucHJvdG90eXBlLnVwZGF0ZVZhbHVlPWZ1bmN0aW9uKGUpe3RoaXMudmFsdWU9ZSx0aGlzLnVwZGF0ZURvbSgpfSxuLnByb3RvdHlwZS51cGRhdGVGaWVsZD1mdW5jdGlvbihlKXt0aGlzLmZpZWxkPWUsdGhpcy51cGRhdGVEb20oKX0sbi5wcm90b3R5cGUudXBkYXRlRG9tPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZG9tLnRyZWU7dCYmKHQuc3R5bGUubWFyZ2luTGVmdD0yNCp0aGlzLmdldExldmVsKCkrInB4Iik7dmFyIGk9dGhpcy5kb20uZmllbGQ7aWYoaSl7dGhpcy5maWVsZEVkaXRhYmxlPyhpLmNvbnRlbnRFZGl0YWJsZT10aGlzLmVkaXRhYmxlLmZpZWxkLGkuc3BlbGxjaGVjaz0hMSxpLmNsYXNzTmFtZT0ianNvbmVkaXRvci1maWVsZCIpOmkuY2xhc3NOYW1lPSJqc29uZWRpdG9yLXJlYWRvbmx5Ijt2YXIgbjtuPXZvaWQgMCE9dGhpcy5pbmRleD90aGlzLmluZGV4OnZvaWQgMCE9dGhpcy5maWVsZD90aGlzLmZpZWxkOnRoaXMuX2hhc0NoaWxkcygpP3RoaXMudHlwZToiIixpLmlubmVySFRNTD10aGlzLl9lc2NhcGVIVE1MKG4pLHRoaXMuX3VwZGF0ZVNjaGVtYSgpfXZhciByPXRoaXMuZG9tLnZhbHVlO2lmKHIpe3ZhciBvPXRoaXMuY2hpbGRzP3RoaXMuY2hpbGRzLmxlbmd0aDowOyJhcnJheSI9PXRoaXMudHlwZT8oci5pbm5lckhUTUw9IlsiK28rIl0iLGEuYWRkQ2xhc3NOYW1lKHRoaXMuZG9tLnRyLCJqc29uZWRpdG9yLWV4cGFuZGFibGUiKSk6Im9iamVjdCI9PXRoaXMudHlwZT8oci5pbm5lckhUTUw9InsiK28rIn0iLGEuYWRkQ2xhc3NOYW1lKHRoaXMuZG9tLnRyLCJqc29uZWRpdG9yLWV4cGFuZGFibGUiKSk6KHIuaW5uZXJIVE1MPXRoaXMuX2VzY2FwZUhUTUwodGhpcy52YWx1ZSksYS5yZW1vdmVDbGFzc05hbWUodGhpcy5kb20udHIsImpzb25lZGl0b3ItZXhwYW5kYWJsZSIpKX10aGlzLl91cGRhdGVEb21GaWVsZCgpLHRoaXMuX3VwZGF0ZURvbVZhbHVlKCksZSYmZS51cGRhdGVJbmRleGVzPT09ITAmJnRoaXMuX3VwZGF0ZURvbUluZGV4ZXMoKSxlJiZlLnJlY3Vyc2U9PT0hMCYmdGhpcy5jaGlsZHMmJnRoaXMuY2hpbGRzLmZvckVhY2goZnVuY3Rpb24odCl7dC51cGRhdGVEb20oZSl9KSx0aGlzLmFwcGVuZCYmdGhpcy5hcHBlbmQudXBkYXRlRG9tKCl9LG4ucHJvdG90eXBlLl91cGRhdGVTY2hlbWE9ZnVuY3Rpb24oKXt0aGlzLmVkaXRvciYmdGhpcy5lZGl0b3Iub3B0aW9ucyYmKHRoaXMuc2NoZW1hPW4uX2ZpbmRTY2hlbWEodGhpcy5lZGl0b3Iub3B0aW9ucy5zY2hlbWEsdGhpcy5nZXRQYXRoKCkpLHRoaXMuc2NoZW1hP3RoaXNbImVudW0iXT1uLl9maW5kRW51bSh0aGlzLnNjaGVtYSk6ZGVsZXRlIHRoaXNbImVudW0iXSl9LG4uX2ZpbmRFbnVtPWZ1bmN0aW9uKGUpe2lmKGVbImVudW0iXSlyZXR1cm4gZVsiZW51bSJdO3ZhciB0PWUub25lT2Z8fGUuYW55T2Z8fGUuYWxsT2Y7aWYodCl7dmFyIGk9dC5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGVbImVudW0iXX0pO2lmKGkubGVuZ3RoPjApcmV0dXJuIGlbMF1bImVudW0iXX1yZXR1cm4gbnVsbH0sbi5fZmluZFNjaGVtYT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgaT1lLG49MDtuPHQubGVuZ3RoJiZpO24rKyl7dmFyIHI9dFtuXTsic3RyaW5nIj09dHlwZW9mIHImJmkucHJvcGVydGllcz9pPWkucHJvcGVydGllc1tyXXx8bnVsbDoibnVtYmVyIj09dHlwZW9mIHImJmkuaXRlbXMmJihpPWkuaXRlbXMpfXJldHVybiBpfSxuLnByb3RvdHlwZS5fdXBkYXRlRG9tSW5kZXhlcz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZG9tLnZhbHVlLHQ9dGhpcy5jaGlsZHM7ZSYmdCYmKCJhcnJheSI9PXRoaXMudHlwZT90LmZvckVhY2goZnVuY3Rpb24oZSx0KXtlLmluZGV4PXQ7dmFyIGk9ZS5kb20uZmllbGQ7aSYmKGkuaW5uZXJIVE1MPXQpfSk6Im9iamVjdCI9PXRoaXMudHlwZSYmdC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZvaWQgMCE9ZS5pbmRleCYmKGRlbGV0ZSBlLmluZGV4LHZvaWQgMD09ZS5maWVsZCYmKGUuZmllbGQ9IiIpKX0pKX0sbi5wcm90b3R5cGUuX2NyZWF0ZURvbVZhbHVlPWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuImFycmF5Ij09dGhpcy50eXBlPyhlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuaW5uZXJIVE1MPSJbLi4uXSIpOiJvYmplY3QiPT10aGlzLnR5cGU/KGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5pbm5lckhUTUw9InsuLi59Iik6IXRoaXMuZWRpdGFibGUudmFsdWUmJmEuaXNVcmwodGhpcy52YWx1ZSk/KGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLGUuaHJlZj10aGlzLnZhbHVlLGUudGFyZ2V0PSJfYmxhbmsiLGUuaW5uZXJIVE1MPXRoaXMuX2VzY2FwZUhUTUwodGhpcy52YWx1ZSkpOihlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuY29udGVudEVkaXRhYmxlPXRoaXMuZWRpdGFibGUudmFsdWUsZS5zcGVsbGNoZWNrPSExLGUuaW5uZXJIVE1MPXRoaXMuX2VzY2FwZUhUTUwodGhpcy52YWx1ZSkpLGV9LG4ucHJvdG90eXBlLl9jcmVhdGVEb21FeHBhbmRCdXR0b249ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTtyZXR1cm4gdGhpcy5faGFzQ2hpbGRzKCk/KGUuY2xhc3NOYW1lPXRoaXMuZXhwYW5kZWQ/Impzb25lZGl0b3ItZXhwYW5kZWQiOiJqc29uZWRpdG9yLWNvbGxhcHNlZCIsZS50aXRsZT0iQ2xpY2sgdG8gZXhwYW5kL2NvbGxhcHNlIHRoaXMgZmllbGQgKEN0cmwrRSkuIFxuQ3RybCtDbGljayB0byBleHBhbmQvY29sbGFwc2UgaW5jbHVkaW5nIGFsbCBjaGlsZHMuIik6KGUuY2xhc3NOYW1lPSJqc29uZWRpdG9yLWludmlzaWJsZSIsZS50aXRsZT0iIiksZX0sbi5wcm90b3R5cGUuX2NyZWF0ZURvbVRyZWU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmRvbSx0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIiksaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Ym9keSIpO3Quc3R5bGUuYm9yZGVyQ29sbGFwc2U9ImNvbGxhcHNlIix0LmNsYXNzTmFtZT0ianNvbmVkaXRvci12YWx1ZXMiLHQuYXBwZW5kQ2hpbGQoaSk7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKTtpLmFwcGVuZENoaWxkKG4pO3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7ci5jbGFzc05hbWU9Impzb25lZGl0b3ItdHJlZSIsbi5hcHBlbmRDaGlsZChyKSxlLmV4cGFuZD10aGlzLl9jcmVhdGVEb21FeHBhbmRCdXR0b24oKSxyLmFwcGVuZENoaWxkKGUuZXhwYW5kKSxlLnRkRXhwYW5kPXI7dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtvLmNsYXNzTmFtZT0ianNvbmVkaXRvci10cmVlIixuLmFwcGVuZENoaWxkKG8pLGUuZmllbGQ9dGhpcy5fY3JlYXRlRG9tRmllbGQoKSxvLmFwcGVuZENoaWxkKGUuZmllbGQpLGUudGRGaWVsZD1vO3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7cy5jbGFzc05hbWU9Impzb25lZGl0b3ItdHJlZSIsbi5hcHBlbmRDaGlsZChzKSwib2JqZWN0IiE9dGhpcy50eXBlJiYiYXJyYXkiIT10aGlzLnR5cGUmJihzLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCI6IikpLHMuY2xhc3NOYW1lPSJqc29uZWRpdG9yLXNlcGFyYXRvciIpLGUudGRTZXBhcmF0b3I9czt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpO3JldHVybiBhLmNsYXNzTmFtZT0ianNvbmVkaXRvci10cmVlIixuLmFwcGVuZENoaWxkKGEpLGUudmFsdWU9dGhpcy5fY3JlYXRlRG9tVmFsdWUoKSxhLmFwcGVuZENoaWxkKGUudmFsdWUpLGUudGRWYWx1ZT1hLHR9LG4ucHJvdG90eXBlLm9uRXZlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50eXBlLGk9ZS50YXJnZXR8fGUuc3JjRWxlbWVudCxuPXRoaXMuZG9tLHI9dGhpcyxvPXRoaXMuX2hhc0NoaWxkcygpO2lmKGkhPW4uZHJhZyYmaSE9bi5tZW51fHwoIm1vdXNlb3ZlciI9PXQ/dGhpcy5lZGl0b3IuaGlnaGxpZ2h0ZXIuaGlnaGxpZ2h0KHRoaXMpOiJtb3VzZW91dCI9PXQmJnRoaXMuZWRpdG9yLmhpZ2hsaWdodGVyLnVuaGlnaGxpZ2h0KCkpLCJjbGljayI9PXQmJmk9PW4ubWVudSl7dmFyIHM9ci5lZGl0b3IuaGlnaGxpZ2h0ZXI7cy5oaWdobGlnaHQocikscy5sb2NrKCksYS5hZGRDbGFzc05hbWUobi5tZW51LCJqc29uZWRpdG9yLXNlbGVjdGVkIiksdGhpcy5zaG93Q29udGV4dE1lbnUobi5tZW51LGZ1bmN0aW9uKCl7YS5yZW1vdmVDbGFzc05hbWUobi5tZW51LCJqc29uZWRpdG9yLXNlbGVjdGVkIikscy51bmxvY2soKSxzLnVuaGlnaGxpZ2h0KCl9KX1pZigiY2xpY2siPT10JiYoaT09bi5leHBhbmR8fCgidmlldyI9PT1yLmVkaXRvci5vcHRpb25zLm1vZGV8fCJmb3JtIj09PXIuZWRpdG9yLm9wdGlvbnMubW9kZSkmJiJESVYiPT09aS5ub2RlTmFtZSkmJm8pe3ZhciBsPWUuY3RybEtleTt0aGlzLl9vbkV4cGFuZChsKX0iY2hhbmdlIj09dCYmaT09bi5jaGVja2JveCYmKHRoaXMuZG9tLnZhbHVlLmlubmVySFRNTD0hdGhpcy52YWx1ZSx0aGlzLl9nZXREb21WYWx1ZSgpKSwiY2hhbmdlIj09dCYmaT09bi5zZWxlY3QmJih0aGlzLmRvbS52YWx1ZS5pbm5lckhUTUw9bi5zZWxlY3QudmFsdWUsdGhpcy5fZ2V0RG9tVmFsdWUoKSx0aGlzLl91cGRhdGVEb21WYWx1ZSgpKTt2YXIgYz1uLnZhbHVlO2lmKGk9PWMpc3dpdGNoKHQpe2Nhc2UiYmx1ciI6Y2FzZSJjaGFuZ2UiOnRoaXMuX2dldERvbVZhbHVlKCEwKSx0aGlzLl91cGRhdGVEb21WYWx1ZSgpLHRoaXMudmFsdWUmJihjLmlubmVySFRNTD10aGlzLl9lc2NhcGVIVE1MKHRoaXMudmFsdWUpKTticmVhaztjYXNlImlucHV0Ijp0aGlzLl9nZXREb21WYWx1ZSghMCksdGhpcy5fdXBkYXRlRG9tVmFsdWUoKTticmVhaztjYXNlImtleWRvd24iOmNhc2UibW91c2Vkb3duIjp0aGlzLmVkaXRvci5zZWxlY3Rpb249dGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKCk7YnJlYWs7Y2FzZSJjbGljayI6IWUuY3RybEtleSYmdGhpcy5lZGl0YWJsZS52YWx1ZXx8YS5pc1VybCh0aGlzLnZhbHVlKSYmd2luZG93Lm9wZW4odGhpcy52YWx1ZSwiX2JsYW5rIik7YnJlYWs7Y2FzZSJrZXl1cCI6dGhpcy5fZ2V0RG9tVmFsdWUoITApLHRoaXMuX3VwZGF0ZURvbVZhbHVlKCk7YnJlYWs7Y2FzZSJjdXQiOmNhc2UicGFzdGUiOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLl9nZXREb21WYWx1ZSghMCksci5fdXBkYXRlRG9tVmFsdWUoKX0sMSl9dmFyIGg9bi5maWVsZDtpZihpPT1oKXN3aXRjaCh0KXtjYXNlImJsdXIiOmNhc2UiY2hhbmdlIjp0aGlzLl9nZXREb21GaWVsZCghMCksdGhpcy5fdXBkYXRlRG9tRmllbGQoKSx0aGlzLmZpZWxkJiYoaC5pbm5lckhUTUw9dGhpcy5fZXNjYXBlSFRNTCh0aGlzLmZpZWxkKSk7YnJlYWs7Y2FzZSJpbnB1dCI6dGhpcy5fZ2V0RG9tRmllbGQoITApLHRoaXMuX3VwZGF0ZVNjaGVtYSgpLHRoaXMuX3VwZGF0ZURvbUZpZWxkKCksdGhpcy5fdXBkYXRlRG9tVmFsdWUoKTticmVhaztjYXNlImtleWRvd24iOmNhc2UibW91c2Vkb3duIjp0aGlzLmVkaXRvci5zZWxlY3Rpb249dGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKCk7YnJlYWs7Y2FzZSJrZXl1cCI6dGhpcy5fZ2V0RG9tRmllbGQoITApLHRoaXMuX3VwZGF0ZURvbUZpZWxkKCk7YnJlYWs7Y2FzZSJjdXQiOmNhc2UicGFzdGUiOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLl9nZXREb21GaWVsZCghMCksci5fdXBkYXRlRG9tRmllbGQoKX0sMSl9dmFyIGQ9bi50cmVlO2lmKGk9PWQucGFyZW50Tm9kZSYmImNsaWNrIj09dCYmIWUuaGFzTW92ZWQpe3ZhciB1PXZvaWQgMCE9ZS5vZmZzZXRYP2Uub2Zmc2V0WDwyNCoodGhpcy5nZXRMZXZlbCgpKzEpOmUucGFnZVg8YS5nZXRBYnNvbHV0ZUxlZnQobi50ZFNlcGFyYXRvcik7dXx8bz9oJiYoYS5zZXRFbmRPZkNvbnRlbnRFZGl0YWJsZShoKSxoLmZvY3VzKCkpOmMmJiF0aGlzWyJlbnVtIl0mJihhLnNldEVuZE9mQ29udGVudEVkaXRhYmxlKGMpLGMuZm9jdXMoKSl9KGkhPW4udGRFeHBhbmR8fG8pJiZpIT1uLnRkRmllbGQmJmkhPW4udGRTZXBhcmF0b3J8fCJjbGljayIhPXR8fGUuaGFzTW92ZWR8fGgmJihhLnNldEVuZE9mQ29udGVudEVkaXRhYmxlKGgpLGguZm9jdXMoKSksImtleWRvd24iPT10JiZ0aGlzLm9uS2V5RG93bihlKX0sbi5wcm90b3R5cGUub25LZXlEb3duPWZ1bmN0aW9uKGUpe3ZhciB0LGkscixvLHMsYyxoLGQsdT1lLndoaWNofHxlLmtleUNvZGUsZj1lLnRhcmdldHx8ZS5zcmNFbGVtZW50LHA9ZS5jdHJsS2V5LG09ZS5zaGlmdEtleSxnPWUuYWx0S2V5LHY9ITEsdz0idHJlZSI9PT10aGlzLmVkaXRvci5vcHRpb25zLm1vZGUseT10aGlzLmVkaXRvci5tdWx0aXNlbGVjdGlvbi5ub2Rlcy5sZW5ndGg+MD90aGlzLmVkaXRvci5tdWx0aXNlbGVjdGlvbi5ub2RlczpbdGhpc10sQT15WzBdLEM9eVt5Lmxlbmd0aC0xXTtpZigxMz09dSl7aWYoZj09dGhpcy5kb20udmFsdWUpdGhpcy5lZGl0YWJsZS52YWx1ZSYmIWUuY3RybEtleXx8YS5pc1VybCh0aGlzLnZhbHVlKSYmKHdpbmRvdy5vcGVuKHRoaXMudmFsdWUsIl9ibGFuayIpLHY9ITApO2Vsc2UgaWYoZj09dGhpcy5kb20uZXhwYW5kKXt2YXIgRT10aGlzLl9oYXNDaGlsZHMoKTtpZihFKXt2YXIgYj1lLmN0cmxLZXk7dGhpcy5fb25FeHBhbmQoYiksZi5mb2N1cygpLHY9ITB9fX1lbHNlIGlmKDY4PT11KXAmJncmJihuLm9uRHVwbGljYXRlKHkpLHY9ITApO2Vsc2UgaWYoNjk9PXUpcCYmKHRoaXMuX29uRXhwYW5kKG0pLGYuZm9jdXMoKSx2PSEwKTtlbHNlIGlmKDc3PT11JiZ3KXAmJih0aGlzLnNob3dDb250ZXh0TWVudShmKSx2PSEwKTtlbHNlIGlmKDQ2PT11JiZ3KXAmJihuLm9uUmVtb3ZlKHkpLHY9ITApO2Vsc2UgaWYoNDU9PXUmJncpcCYmIW0/KHRoaXMuX29uSW5zZXJ0QmVmb3JlKCksdj0hMCk6cCYmbSYmKHRoaXMuX29uSW5zZXJ0QWZ0ZXIoKSx2PSEwKTtlbHNlIGlmKDM1PT11KXtpZihnKXt2YXIgRj10aGlzLl9sYXN0Tm9kZSgpO0YmJkYuZm9jdXMobi5mb2N1c0VsZW1lbnR8fHRoaXMuX2dldEVsZW1lbnROYW1lKGYpKSx2PSEwfX1lbHNlIGlmKDM2PT11KXtpZihnKXt2YXIgeD10aGlzLl9maXJzdE5vZGUoKTt4JiZ4LmZvY3VzKG4uZm9jdXNFbGVtZW50fHx0aGlzLl9nZXRFbGVtZW50TmFtZShmKSksdj0hMH19ZWxzZSBpZigzNz09dSl7aWYoZyYmIW0pe3ZhciBTPXRoaXMuX3ByZXZpb3VzRWxlbWVudChmKTtTJiZ0aGlzLmZvY3VzKHRoaXMuX2dldEVsZW1lbnROYW1lKFMpKSx2PSEwfWVsc2UgaWYoZyYmbSYmdyl7aWYoQy5leHBhbmRlZCl7dmFyICQ9Qy5nZXRBcHBlbmQoKTtyPSQ/JC5uZXh0U2libGluZzp2b2lkIDB9ZWxzZXt2YXIgRD1DLmdldERvbSgpO3I9RC5uZXh0U2libGluZ31yJiYoaT1uLmdldE5vZGVGcm9tVGFyZ2V0KHIpLG89ci5uZXh0U2libGluZyxfPW4uZ2V0Tm9kZUZyb21UYXJnZXQobyksaSYmaSBpbnN0YW5jZW9mIGwmJjEhPUMucGFyZW50LmNoaWxkcy5sZW5ndGgmJl8mJl8ucGFyZW50JiYocz10aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24oKSxjPUMuX25leHRTaWJsaW5nKCkseS5mb3JFYWNoKGZ1bmN0aW9uKGUpe18ucGFyZW50Lm1vdmVCZWZvcmUoZSxfKX0pLHRoaXMuZm9jdXMobi5mb2N1c0VsZW1lbnR8fHRoaXMuX2dldEVsZW1lbnROYW1lKGYpKSx0aGlzLmVkaXRvci5fb25BY3Rpb24oIm1vdmVOb2RlcyIse25vZGVzOnksb2xkQmVmb3JlTm9kZTpjLG5ld0JlZm9yZU5vZGU6XyxvbGRTZWxlY3Rpb246cyxuZXdTZWxlY3Rpb246dGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKCl9KSkpfX1lbHNlIGlmKDM4PT11KWcmJiFtPyh0PXRoaXMuX3ByZXZpb3VzTm9kZSgpLHQmJih0aGlzLmVkaXRvci5kZXNlbGVjdCghMCksdC5mb2N1cyhuLmZvY3VzRWxlbWVudHx8dGhpcy5fZ2V0RWxlbWVudE5hbWUoZikpKSx2PSEwKTohZyYmcCYmbSYmdz8odD10aGlzLl9wcmV2aW91c05vZGUoKSx0JiYoZD10aGlzLmVkaXRvci5tdWx0aXNlbGVjdGlvbixkLnN0YXJ0PWQuc3RhcnR8fHRoaXMsZC5lbmQ9dCxoPXRoaXMuZWRpdG9yLl9maW5kVG9wTGV2ZWxOb2RlcyhkLnN0YXJ0LGQuZW5kKSx0aGlzLmVkaXRvci5zZWxlY3QoaCksdC5mb2N1cygiZmllbGQiKSksdj0hMCk6ZyYmbSYmdyYmKHQ9QS5fcHJldmlvdXNOb2RlKCksdCYmdC5wYXJlbnQmJihzPXRoaXMuZWRpdG9yLmdldFNlbGVjdGlvbigpLGM9Qy5fbmV4dFNpYmxpbmcoKSx5LmZvckVhY2goZnVuY3Rpb24oZSl7dC5wYXJlbnQubW92ZUJlZm9yZShlLHQpfSksdGhpcy5mb2N1cyhuLmZvY3VzRWxlbWVudHx8dGhpcy5fZ2V0RWxlbWVudE5hbWUoZikpLHRoaXMuZWRpdG9yLl9vbkFjdGlvbigibW92ZU5vZGVzIix7bm9kZXM6eSxvbGRCZWZvcmVOb2RlOmMsbmV3QmVmb3JlTm9kZTp0LG9sZFNlbGVjdGlvbjpzLG5ld1NlbGVjdGlvbjp0aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24oKX0pKSx2PSEwKTtlbHNlIGlmKDM5PT11KXtpZihnJiYhbSl7dmFyIGs9dGhpcy5fbmV4dEVsZW1lbnQoZik7ayYmdGhpcy5mb2N1cyh0aGlzLl9nZXRFbGVtZW50TmFtZShrKSksdj0hMH1lbHNlIGlmKGcmJm0mJncpe0Q9QS5nZXREb20oKTt2YXIgQj1ELnByZXZpb3VzU2libGluZztCJiYodD1uLmdldE5vZGVGcm9tVGFyZ2V0KEIpLHQmJnQucGFyZW50JiZ0IGluc3RhbmNlb2YgbCYmIXQuaXNWaXNpYmxlKCkmJihzPXRoaXMuZWRpdG9yLmdldFNlbGVjdGlvbigpLGM9Qy5fbmV4dFNpYmxpbmcoKSx5LmZvckVhY2goZnVuY3Rpb24oZSl7dC5wYXJlbnQubW92ZUJlZm9yZShlLHQpfSksdGhpcy5mb2N1cyhuLmZvY3VzRWxlbWVudHx8dGhpcy5fZ2V0RWxlbWVudE5hbWUoZikpLHRoaXMuZWRpdG9yLl9vbkFjdGlvbigibW92ZU5vZGVzIix7bm9kZXM6eSxvbGRCZWZvcmVOb2RlOmMsbmV3QmVmb3JlTm9kZTp0LG9sZFNlbGVjdGlvbjpzLG5ld1NlbGVjdGlvbjp0aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24oKX0pKSl9fWVsc2UgaWYoNDA9PXUpaWYoZyYmIW0paT10aGlzLl9uZXh0Tm9kZSgpLGkmJih0aGlzLmVkaXRvci5kZXNlbGVjdCghMCksaS5mb2N1cyhuLmZvY3VzRWxlbWVudHx8dGhpcy5fZ2V0RWxlbWVudE5hbWUoZikpKSx2PSEwO2Vsc2UgaWYoIWcmJnAmJm0mJncpaT10aGlzLl9uZXh0Tm9kZSgpLGkmJihkPXRoaXMuZWRpdG9yLm11bHRpc2VsZWN0aW9uLGQuc3RhcnQ9ZC5zdGFydHx8dGhpcyxkLmVuZD1pLGg9dGhpcy5lZGl0b3IuX2ZpbmRUb3BMZXZlbE5vZGVzKGQuc3RhcnQsZC5lbmQpLHRoaXMuZWRpdG9yLnNlbGVjdChoKSxpLmZvY3VzKCJmaWVsZCIpKSx2PSEwO2Vsc2UgaWYoZyYmbSYmdyl7aT1DLmV4cGFuZGVkP0MuYXBwZW5kP0MuYXBwZW5kLl9uZXh0Tm9kZSgpOnZvaWQgMDpDLl9uZXh0Tm9kZSgpO3ZhciBfPWkmJihpLl9uZXh0Tm9kZSgpfHxpLnBhcmVudC5hcHBlbmQpO18mJl8ucGFyZW50JiYocz10aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24oKSxjPUMuX25leHRTaWJsaW5nKCkseS5mb3JFYWNoKGZ1bmN0aW9uKGUpe18ucGFyZW50Lm1vdmVCZWZvcmUoZSxfKX0pLHRoaXMuZm9jdXMobi5mb2N1c0VsZW1lbnR8fHRoaXMuX2dldEVsZW1lbnROYW1lKGYpKSx0aGlzLmVkaXRvci5fb25BY3Rpb24oIm1vdmVOb2RlcyIse25vZGVzOnksb2xkQmVmb3JlTm9kZTpjLG5ld0JlZm9yZU5vZGU6XyxvbGRTZWxlY3Rpb246cyxuZXdTZWxlY3Rpb246dGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKCl9KSksdj0hMH12JiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkpfSxuLnByb3RvdHlwZS5fb25FeHBhbmQ9ZnVuY3Rpb24oZSl7aWYoZSl7dmFyIHQ9dGhpcy5kb20udHIucGFyZW50Tm9kZSxpPXQucGFyZW50Tm9kZSxuPWkuc2Nyb2xsVG9wO2kucmVtb3ZlQ2hpbGQodCl9dGhpcy5leHBhbmRlZD90aGlzLmNvbGxhcHNlKGUpOnRoaXMuZXhwYW5kKGUpLGUmJihpLmFwcGVuZENoaWxkKHQpLGkuc2Nyb2xsVG9wPW4pfSxuLm9uUmVtb3ZlPWZ1bmN0aW9uKGUpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiBuLm9uUmVtb3ZlKFtlXSk7aWYoZSYmZS5sZW5ndGg+MCl7dmFyIHQ9ZVswXSxpPXQucGFyZW50LHI9dC5lZGl0b3Isbz10LmdldEluZGV4KCk7ci5oaWdobGlnaHRlci51bmhpZ2hsaWdodCgpO3ZhciBzPXIuZ2V0U2VsZWN0aW9uKCk7bi5ibHVyTm9kZXMoZSk7dmFyIGE9ci5nZXRTZWxlY3Rpb24oKTtlLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5wYXJlbnQuX3JlbW92ZShlKX0pLHIuX29uQWN0aW9uKCJyZW1vdmVOb2RlcyIse25vZGVzOmUuc2xpY2UoMCkscGFyZW50OmksaW5kZXg6byxvbGRTZWxlY3Rpb246cyxuZXdTZWxlY3Rpb246YX0pfX0sbi5vbkR1cGxpY2F0ZT1mdW5jdGlvbihlKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gbi5vbkR1cGxpY2F0ZShbZV0pO2lmKGUmJmUubGVuZ3RoPjApe3ZhciB0PWVbZS5sZW5ndGgtMV0saT10LnBhcmVudCxyPXQuZWRpdG9yO3IuZGVzZWxlY3Qoci5tdWx0aXNlbGVjdGlvbi5ub2Rlcyk7dmFyIG89ci5nZXRTZWxlY3Rpb24oKSxzPXQsYT1lLm1hcChmdW5jdGlvbihlKXt2YXIgdD1lLmNsb25lKCk7cmV0dXJuIGkuaW5zZXJ0QWZ0ZXIodCxzKSxzPXQsdH0pOzE9PT1lLmxlbmd0aD9hWzBdLmZvY3VzKCk6ci5zZWxlY3QoYSk7dmFyIGw9ci5nZXRTZWxlY3Rpb24oKTtyLl9vbkFjdGlvbigiZHVwbGljYXRlTm9kZXMiLHthZnRlck5vZGU6dCxub2RlczphLHBhcmVudDppLG9sZFNlbGVjdGlvbjpvLG5ld1NlbGVjdGlvbjpsfSl9fSxuLnByb3RvdHlwZS5fb25JbnNlcnRCZWZvcmU9ZnVuY3Rpb24oZSx0LGkpe3ZhciByPXRoaXMuZWRpdG9yLmdldFNlbGVjdGlvbigpLG89bmV3IG4odGhpcy5lZGl0b3Ise2ZpZWxkOnZvaWQgMCE9ZT9lOiIiLHZhbHVlOnZvaWQgMCE9dD90OiIiLHR5cGU6aX0pO28uZXhwYW5kKCEwKSx0aGlzLnBhcmVudC5pbnNlcnRCZWZvcmUobyx0aGlzKSx0aGlzLmVkaXRvci5oaWdobGlnaHRlci51bmhpZ2hsaWdodCgpLG8uZm9jdXMoImZpZWxkIik7dmFyIHM9dGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKCk7dGhpcy5lZGl0b3IuX29uQWN0aW9uKCJpbnNlcnRCZWZvcmVOb2RlcyIse25vZGVzOltvXSxiZWZvcmVOb2RlOnRoaXMscGFyZW50OnRoaXMucGFyZW50LG9sZFNlbGVjdGlvbjpyLG5ld1NlbGVjdGlvbjpzfSl9LG4ucHJvdG90eXBlLl9vbkluc2VydEFmdGVyPWZ1bmN0aW9uKGUsdCxpKXt2YXIgcj10aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24oKSxvPW5ldyBuKHRoaXMuZWRpdG9yLHtmaWVsZDp2b2lkIDAhPWU/ZToiIix2YWx1ZTp2b2lkIDAhPXQ/dDoiIix0eXBlOml9KTtvLmV4cGFuZCghMCksdGhpcy5wYXJlbnQuaW5zZXJ0QWZ0ZXIobyx0aGlzKSx0aGlzLmVkaXRvci5oaWdobGlnaHRlci51bmhpZ2hsaWdodCgpLG8uZm9jdXMoImZpZWxkIik7dmFyIHM9dGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKCk7dGhpcy5lZGl0b3IuX29uQWN0aW9uKCJpbnNlcnRBZnRlck5vZGVzIix7bm9kZXM6W29dLGFmdGVyTm9kZTp0aGlzLHBhcmVudDp0aGlzLnBhcmVudCxvbGRTZWxlY3Rpb246cixuZXdTZWxlY3Rpb246c30pfSxuLnByb3RvdHlwZS5fb25BcHBlbmQ9ZnVuY3Rpb24oZSx0LGkpe3ZhciByPXRoaXMuZWRpdG9yLmdldFNlbGVjdGlvbigpLG89bmV3IG4odGhpcy5lZGl0b3Ise2ZpZWxkOnZvaWQgMCE9ZT9lOiIiLHZhbHVlOnZvaWQgMCE9dD90OiIiLHR5cGU6aX0pO28uZXhwYW5kKCEwKSx0aGlzLnBhcmVudC5hcHBlbmRDaGlsZChvKSx0aGlzLmVkaXRvci5oaWdobGlnaHRlci51bmhpZ2hsaWdodCgpLG8uZm9jdXMoImZpZWxkIik7dmFyIHM9dGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKCk7dGhpcy5lZGl0b3IuX29uQWN0aW9uKCJhcHBlbmROb2RlcyIse25vZGVzOltvXSxwYXJlbnQ6dGhpcy5wYXJlbnQsb2xkU2VsZWN0aW9uOnIsbmV3U2VsZWN0aW9uOnN9KX0sbi5wcm90b3R5cGUuX29uQ2hhbmdlVHlwZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnR5cGU7aWYoZSE9dCl7dmFyIGk9dGhpcy5lZGl0b3IuZ2V0U2VsZWN0aW9uKCk7dGhpcy5jaGFuZ2VUeXBlKGUpO3ZhciBuPXRoaXMuZWRpdG9yLmdldFNlbGVjdGlvbigpO3RoaXMuZWRpdG9yLl9vbkFjdGlvbigiY2hhbmdlVHlwZSIse25vZGU6dGhpcyxvbGRUeXBlOnQsbmV3VHlwZTplLG9sZFNlbGVjdGlvbjppLG5ld1NlbGVjdGlvbjpufSl9fSxuLnByb3RvdHlwZS5zb3J0PWZ1bmN0aW9uKGUpe2lmKHRoaXMuX2hhc0NoaWxkcygpKXt2YXIgdD0iZGVzYyI9PWU/LTE6MSxpPSJhcnJheSI9PXRoaXMudHlwZT8idmFsdWUiOiJmaWVsZCI7dGhpcy5oaWRlQ2hpbGRzKCk7dmFyIG49dGhpcy5jaGlsZHMsbz10aGlzLnNvcnRPcmRlcjt0aGlzLmNoaWxkcz10aGlzLmNoaWxkcy5jb25jYXQoKSx0aGlzLmNoaWxkcy5zb3J0KGZ1bmN0aW9uKGUsbil7cmV0dXJuIHQqcihlW2ldLG5baV0pfSksdGhpcy5zb3J0T3JkZXI9MT09dD8iYXNjIjoiZGVzYyIsdGhpcy5lZGl0b3IuX29uQWN0aW9uKCJzb3J0Iix7bm9kZTp0aGlzLG9sZENoaWxkczpuLG9sZFNvcnQ6byxuZXdDaGlsZHM6dGhpcy5jaGlsZHMsbmV3U29ydDp0aGlzLnNvcnRPcmRlcn0pLHRoaXMuc2hvd0NoaWxkcygpfX0sbi5wcm90b3R5cGUuZ2V0QXBwZW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXBwZW5kfHwodGhpcy5hcHBlbmQ9bmV3IGwodGhpcy5lZGl0b3IpLHRoaXMuYXBwZW5kLnNldFBhcmVudCh0aGlzKSksdGhpcy5hcHBlbmQuZ2V0RG9tKCl9LG4uZ2V0Tm9kZUZyb21UYXJnZXQ9ZnVuY3Rpb24oZSl7Zm9yKDtlOyl7aWYoZS5ub2RlKXJldHVybiBlLm5vZGU7ZT1lLnBhcmVudE5vZGV9fSxuLmJsdXJOb2Rlcz1mdW5jdGlvbihlKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gdm9pZCBuLmJsdXJOb2RlcyhbZV0pO3ZhciB0PWVbMF0saT10LnBhcmVudCxyPXQuZ2V0SW5kZXgoKTtpLmNoaWxkc1tyK2UubGVuZ3RoXT9pLmNoaWxkc1tyK2UubGVuZ3RoXS5mb2N1cygpOmkuY2hpbGRzW3ItMV0/aS5jaGlsZHNbci0xXS5mb2N1cygpOmkuZm9jdXMoKX0sbi5wcm90b3R5cGUuX25leHRTaWJsaW5nPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5wYXJlbnQuY2hpbGRzLmluZGV4T2YodGhpcyk7cmV0dXJuIHRoaXMucGFyZW50LmNoaWxkc1tlKzFdfHx0aGlzLnBhcmVudC5hcHBlbmR9LG4ucHJvdG90eXBlLl9wcmV2aW91c05vZGU9ZnVuY3Rpb24oKXt2YXIgZT1udWxsLHQ9dGhpcy5nZXREb20oKTtpZih0JiZ0LnBhcmVudE5vZGUpe3ZhciBpPXQ7ZG8gaT1pLnByZXZpb3VzU2libGluZyxlPW4uZ2V0Tm9kZUZyb21UYXJnZXQoaSk7d2hpbGUoaSYmZSBpbnN0YW5jZW9mIGwmJiFlLmlzVmlzaWJsZSgpKX1yZXR1cm4gZX0sbi5wcm90b3R5cGUuX25leHROb2RlPWZ1bmN0aW9uKCl7dmFyIGU9bnVsbCx0PXRoaXMuZ2V0RG9tKCk7aWYodCYmdC5wYXJlbnROb2RlKXt2YXIgaT10O2RvIGk9aS5uZXh0U2libGluZyxlPW4uZ2V0Tm9kZUZyb21UYXJnZXQoaSk7d2hpbGUoaSYmZSBpbnN0YW5jZW9mIGwmJiFlLmlzVmlzaWJsZSgpKX1yZXR1cm4gZX0sbi5wcm90b3R5cGUuX2ZpcnN0Tm9kZT1mdW5jdGlvbigpe3ZhciBlPW51bGwsdD10aGlzLmdldERvbSgpO2lmKHQmJnQucGFyZW50Tm9kZSl7dmFyIGk9dC5wYXJlbnROb2RlLmZpcnN0Q2hpbGQ7ZT1uLmdldE5vZGVGcm9tVGFyZ2V0KGkpfXJldHVybiBlfSxuLnByb3RvdHlwZS5fbGFzdE5vZGU9ZnVuY3Rpb24oKXt2YXIgZT1udWxsLHQ9dGhpcy5nZXREb20oKTtpZih0JiZ0LnBhcmVudE5vZGUpe3ZhciBpPXQucGFyZW50Tm9kZS5sYXN0Q2hpbGQ7Zm9yKGU9bi5nZXROb2RlRnJvbVRhcmdldChpKTtpJiZlIGluc3RhbmNlb2YgbCYmIWUuaXNWaXNpYmxlKCk7KWk9aS5wcmV2aW91c1NpYmxpbmcsZT1uLmdldE5vZGVGcm9tVGFyZ2V0KGkpfXJldHVybiBlfSxuLnByb3RvdHlwZS5fcHJldmlvdXNFbGVtZW50PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZG9tO3N3aXRjaChlKXtjYXNlIHQudmFsdWU6aWYodGhpcy5maWVsZEVkaXRhYmxlKXJldHVybiB0LmZpZWxkO2Nhc2UgdC5maWVsZDppZih0aGlzLl9oYXNDaGlsZHMoKSlyZXR1cm4gdC5leHBhbmQ7Y2FzZSB0LmV4cGFuZDpyZXR1cm4gdC5tZW51O2Nhc2UgdC5tZW51OmlmKHQuZHJhZylyZXR1cm4gdC5kcmFnO2RlZmF1bHQ6cmV0dXJuIG51bGx9fSxuLnByb3RvdHlwZS5fbmV4dEVsZW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5kb207c3dpdGNoKGUpe2Nhc2UgdC5kcmFnOnJldHVybiB0Lm1lbnU7Y2FzZSB0Lm1lbnU6aWYodGhpcy5faGFzQ2hpbGRzKCkpcmV0dXJuIHQuZXhwYW5kO2Nhc2UgdC5leHBhbmQ6aWYodGhpcy5maWVsZEVkaXRhYmxlKXJldHVybiB0LmZpZWxkO2Nhc2UgdC5maWVsZDppZighdGhpcy5faGFzQ2hpbGRzKCkpcmV0dXJuIHQudmFsdWU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19LG4ucHJvdG90eXBlLl9nZXRFbGVtZW50TmFtZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLmRvbTtmb3IodmFyIGkgaW4gdClpZih0Lmhhc093blByb3BlcnR5KGkpJiZ0W2ldPT1lKXJldHVybiBpO3JldHVybiBudWxsfSxuLnByb3RvdHlwZS5faGFzQ2hpbGRzPWZ1bmN0aW9uKCl7cmV0dXJuImFycmF5Ij09dGhpcy50eXBlfHwib2JqZWN0Ij09dGhpcy50eXBlfSxuLlRZUEVfVElUTEVTPXthdXRvOidGaWVsZCB0eXBlICJhdXRvIi4gVGhlIGZpZWxkIHR5cGUgaXMgYXV0b21hdGljYWxseSBkZXRlcm1pbmVkIGZyb20gdGhlIHZhbHVlIGFuZCBjYW4gYmUgYSBzdHJpbmcsIG51bWJlciwgYm9vbGVhbiwgb3IgbnVsbC4nLG9iamVjdDonRmllbGQgdHlwZSAib2JqZWN0Ii4gQW4gb2JqZWN0IGNvbnRhaW5zIGFuIHVub3JkZXJlZCBzZXQgb2Yga2V5L3ZhbHVlIHBhaXJzLicsYXJyYXk6J0ZpZWxkIHR5cGUgImFycmF5Ii4gQW4gYXJyYXkgY29udGFpbnMgYW4gb3JkZXJlZCBjb2xsZWN0aW9uIG9mIHZhbHVlcy4nLHN0cmluZzonRmllbGQgdHlwZSAic3RyaW5nIi4gRmllbGQgdHlwZSBpcyBub3QgZGV0ZXJtaW5lZCBmcm9tIHRoZSB2YWx1ZSwgYnV0IGFsd2F5cyByZXR1cm5lZCBhcyBzdHJpbmcuJ30sbi5wcm90b3R5cGUuc2hvd0NvbnRleHRNZW51PWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcyxyPW4uVFlQRV9USVRMRVMscz1bXTtpZih0aGlzLmVkaXRhYmxlLnZhbHVlJiZzLnB1c2goe3RleHQ6IlR5cGUiLHRpdGxlOiJDaGFuZ2UgdGhlIHR5cGUgb2YgdGhpcyBmaWVsZCIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLXR5cGUtIit0aGlzLnR5cGUsc3VibWVudTpbe3RleHQ6IkF1dG8iLGNsYXNzTmFtZToianNvbmVkaXRvci10eXBlLWF1dG8iKygiYXV0byI9PXRoaXMudHlwZT8iIGpzb25lZGl0b3Itc2VsZWN0ZWQiOiIiKSx0aXRsZTpyLmF1dG8sY2xpY2s6ZnVuY3Rpb24oKXtpLl9vbkNoYW5nZVR5cGUoImF1dG8iKX19LHt0ZXh0OiJBcnJheSIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLXR5cGUtYXJyYXkiKygiYXJyYXkiPT10aGlzLnR5cGU/IiBqc29uZWRpdG9yLXNlbGVjdGVkIjoiIiksdGl0bGU6ci5hcnJheSxjbGljazpmdW5jdGlvbigpe2kuX29uQ2hhbmdlVHlwZSgiYXJyYXkiKX19LHt0ZXh0OiJPYmplY3QiLGNsYXNzTmFtZToianNvbmVkaXRvci10eXBlLW9iamVjdCIrKCJvYmplY3QiPT10aGlzLnR5cGU/IiBqc29uZWRpdG9yLXNlbGVjdGVkIjoiIiksdGl0bGU6ci5vYmplY3QsY2xpY2s6ZnVuY3Rpb24oKXtpLl9vbkNoYW5nZVR5cGUoIm9iamVjdCIpfX0se3RleHQ6IlN0cmluZyIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLXR5cGUtc3RyaW5nIisoInN0cmluZyI9PXRoaXMudHlwZT8iIGpzb25lZGl0b3Itc2VsZWN0ZWQiOiIiKSx0aXRsZTpyLnN0cmluZyxjbGljazpmdW5jdGlvbigpe2kuX29uQ2hhbmdlVHlwZSgic3RyaW5nIil9fV19KSx0aGlzLl9oYXNDaGlsZHMoKSl7dmFyIGE9ImFzYyI9PXRoaXMuc29ydE9yZGVyPyJkZXNjIjoiYXNjIjtzLnB1c2goe3RleHQ6IlNvcnQiLHRpdGxlOiJTb3J0IHRoZSBjaGlsZHMgb2YgdGhpcyAiK3RoaXMudHlwZSxjbGFzc05hbWU6Impzb25lZGl0b3Itc29ydC0iK2EsY2xpY2s6ZnVuY3Rpb24oKXtpLnNvcnQoYSl9LHN1Ym1lbnU6W3t0ZXh0OiJBc2NlbmRpbmciLGNsYXNzTmFtZToianNvbmVkaXRvci1zb3J0LWFzYyIsdGl0bGU6IlNvcnQgdGhlIGNoaWxkcyBvZiB0aGlzICIrdGhpcy50eXBlKyIgaW4gYXNjZW5kaW5nIG9yZGVyIixjbGljazpmdW5jdGlvbigpe2kuc29ydCgiYXNjIil9fSx7dGV4dDoiRGVzY2VuZGluZyIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLXNvcnQtZGVzYyIsdGl0bGU6IlNvcnQgdGhlIGNoaWxkcyBvZiB0aGlzICIrdGhpcy50eXBlKyIgaW4gZGVzY2VuZGluZyBvcmRlciIsY2xpY2s6ZnVuY3Rpb24oKXtpLnNvcnQoImRlc2MiKX19XX0pfWlmKHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5faGFzQ2hpbGRzKCkpe3MubGVuZ3RoJiZzLnB1c2goe3R5cGU6InNlcGFyYXRvciJ9KTt2YXIgbD1pLnBhcmVudC5jaGlsZHM7aT09bFtsLmxlbmd0aC0xXSYmcy5wdXNoKHt0ZXh0OiJBcHBlbmQiLHRpdGxlOiJBcHBlbmQgYSBuZXcgZmllbGQgd2l0aCB0eXBlICdhdXRvJyBhZnRlciB0aGlzIGZpZWxkIChDdHJsK1NoaWZ0K0lucykiLHN1Ym1lbnVUaXRsZToiU2VsZWN0IHRoZSB0eXBlIG9mIHRoZSBmaWVsZCB0byBiZSBhcHBlbmRlZCIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLWFwcGVuZCIsY2xpY2s6ZnVuY3Rpb24oKXtpLl9vbkFwcGVuZCgiIiwiIiwiYXV0byIpfSxzdWJtZW51Olt7dGV4dDoiQXV0byIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLXR5cGUtYXV0byIsdGl0bGU6ci5hdXRvLGNsaWNrOmZ1bmN0aW9uKCl7aS5fb25BcHBlbmQoIiIsIiIsImF1dG8iKX19LHt0ZXh0OiJBcnJheSIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLXR5cGUtYXJyYXkiLHRpdGxlOnIuYXJyYXksY2xpY2s6ZnVuY3Rpb24oKXtpLl9vbkFwcGVuZCgiIixbXSl9fSx7dGV4dDoiT2JqZWN0IixjbGFzc05hbWU6Impzb25lZGl0b3ItdHlwZS1vYmplY3QiLHRpdGxlOnIub2JqZWN0LGNsaWNrOmZ1bmN0aW9uKCl7aS5fb25BcHBlbmQoIiIse30pfX0se3RleHQ6IlN0cmluZyIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLXR5cGUtc3RyaW5nIix0aXRsZTpyLnN0cmluZyxjbGljazpmdW5jdGlvbigpe2kuX29uQXBwZW5kKCIiLCIiLCJzdHJpbmciKX19XX0pLHMucHVzaCh7dGV4dDoiSW5zZXJ0Iix0aXRsZToiSW5zZXJ0IGEgbmV3IGZpZWxkIHdpdGggdHlwZSAnYXV0bycgYmVmb3JlIHRoaXMgZmllbGQgKEN0cmwrSW5zKSIsc3VibWVudVRpdGxlOiJTZWxlY3QgdGhlIHR5cGUgb2YgdGhlIGZpZWxkIHRvIGJlIGluc2VydGVkIixjbGFzc05hbWU6Impzb25lZGl0b3ItaW5zZXJ0IixjbGljazpmdW5jdGlvbigpe2kuX29uSW5zZXJ0QmVmb3JlKCIiLCIiLCJhdXRvIil9LHN1Ym1lbnU6W3t0ZXh0OiJBdXRvIixjbGFzc05hbWU6Impzb25lZGl0b3ItdHlwZS1hdXRvIix0aXRsZTpyLmF1dG8sY2xpY2s6ZnVuY3Rpb24oKXtpLl9vbkluc2VydEJlZm9yZSgiIiwiIiwiYXV0byIpfX0se3RleHQ6IkFycmF5IixjbGFzc05hbWU6Impzb25lZGl0b3ItdHlwZS1hcnJheSIsCnRpdGxlOnIuYXJyYXksY2xpY2s6ZnVuY3Rpb24oKXtpLl9vbkluc2VydEJlZm9yZSgiIixbXSl9fSx7dGV4dDoiT2JqZWN0IixjbGFzc05hbWU6Impzb25lZGl0b3ItdHlwZS1vYmplY3QiLHRpdGxlOnIub2JqZWN0LGNsaWNrOmZ1bmN0aW9uKCl7aS5fb25JbnNlcnRCZWZvcmUoIiIse30pfX0se3RleHQ6IlN0cmluZyIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLXR5cGUtc3RyaW5nIix0aXRsZTpyLnN0cmluZyxjbGljazpmdW5jdGlvbigpe2kuX29uSW5zZXJ0QmVmb3JlKCIiLCIiLCJzdHJpbmciKX19XX0pLHRoaXMuZWRpdGFibGUuZmllbGQmJihzLnB1c2goe3RleHQ6IkR1cGxpY2F0ZSIsdGl0bGU6IkR1cGxpY2F0ZSB0aGlzIGZpZWxkIChDdHJsK0QpIixjbGFzc05hbWU6Impzb25lZGl0b3ItZHVwbGljYXRlIixjbGljazpmdW5jdGlvbigpe24ub25EdXBsaWNhdGUoaSl9fSkscy5wdXNoKHt0ZXh0OiJSZW1vdmUiLHRpdGxlOiJSZW1vdmUgdGhpcyBmaWVsZCAoQ3RybCtEZWwpIixjbGFzc05hbWU6Impzb25lZGl0b3ItcmVtb3ZlIixjbGljazpmdW5jdGlvbigpe24ub25SZW1vdmUoaSl9fSkpfXZhciBjPW5ldyBvKHMse2Nsb3NlOnR9KTtjLnNob3coZSx0aGlzLmVkaXRvci5jb250ZW50KX0sbi5wcm90b3R5cGUuX2dldFR5cGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBBcnJheT8iYXJyYXkiOmUgaW5zdGFuY2VvZiBPYmplY3Q/Im9iamVjdCI6InN0cmluZyI9PXR5cGVvZiBlJiYic3RyaW5nIiE9dHlwZW9mIHRoaXMuX3N0cmluZ0Nhc3QoZSk/InN0cmluZyI6ImF1dG8ifSxuLnByb3RvdHlwZS5fc3RyaW5nQ2FzdD1mdW5jdGlvbihlKXt2YXIgdD1lLnRvTG93ZXJDYXNlKCksaT1OdW1iZXIoZSksbj1wYXJzZUZsb2F0KGUpO3JldHVybiIiPT1lPyIiOiJudWxsIj09dD9udWxsOiJ0cnVlIj09dD8hMDoiZmFsc2UiPT10PyExOmlzTmFOKGkpfHxpc05hTihuKT9lOml9LG4ucHJvdG90eXBlLl9lc2NhcGVIVE1MPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gU3RyaW5nKGUpO3ZhciB0PVN0cmluZyhlKS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7IikucmVwbGFjZSgvICAvZywiICZuYnNwOyIpLnJlcGxhY2UoL14gLywiJm5ic3A7IikucmVwbGFjZSgvICQvLCImbmJzcDsiKSxpPUpTT04uc3RyaW5naWZ5KHQpLG49aS5zdWJzdHJpbmcoMSxpLmxlbmd0aC0xKTtyZXR1cm4gdGhpcy5lZGl0b3Iub3B0aW9ucy5lc2NhcGVVbmljb2RlPT09ITAmJihuPWEuZXNjYXBlVW5pY29kZUNoYXJzKG4pKSxufSxuLnByb3RvdHlwZS5fdW5lc2NhcGVIVE1MPWZ1bmN0aW9uKGUpe3ZhciB0PSciJyt0aGlzLl9lc2NhcGVKU09OKGUpKyciJyxpPWEucGFyc2UodCk7cmV0dXJuIGkucmVwbGFjZSgvJmx0Oy9nLCI8IikucmVwbGFjZSgvJmd0Oy9nLCI+IikucmVwbGFjZSgvJm5ic3A7fFx1MDBBMC9nLCIgIikucmVwbGFjZSgvJmFtcDsvZywiJiIpfSxuLnByb3RvdHlwZS5fZXNjYXBlSlNPTj1mdW5jdGlvbihlKXtmb3IodmFyIHQ9IiIsaT0wO2k8ZS5sZW5ndGg7KXt2YXIgbj1lLmNoYXJBdChpKTsiXG4iPT1uP3QrPSJcXG4iOiJcXCI9PW4/KHQrPW4saSsrLG49ZS5jaGFyQXQoaSksIiIhPT1uJiYtMSE9JyJcXC9iZm5ydHUnLmluZGV4T2Yobil8fCh0Kz0iXFwiKSx0Kz1uKTp0Kz0nIic9PW4/J1xcIic6bixpKyt9cmV0dXJuIHR9O3ZhciBsPXMobik7ZS5leHBvcnRzPW59LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uIGkoZSx0KXsidXNlIHN0cmljdCI7dmFyIG4scixvPS8oXihbK1wtXT8oPzowfFsxLTldXGQqKSg/OlwuXGQqKT8oPzpbZUVdWytcLV0/XGQrKT8pPyR8XjB4WzAtOWEtZl0rJHxcZCspL2dpLHM9LyheWyBdKnxbIF0qJCkvZyxhPS8oXihbXHcgXSssP1tcdyBdKyk/W1x3IF0rLD9bXHcgXStcZCs6XGQrKDpcZCspP1tcdyBdP3xeXGR7MSw0fVtcL1wtXVxkezEsNH1bXC9cLV1cZHsxLDR9fF5cdyssIFx3KyBcZCssIFxkezR9KS8sbD0vXjB4WzAtOWEtZl0rJC9pLGM9L14wLyxoPWZ1bmN0aW9uKGUpe3JldHVybiBpLmluc2Vuc2l0aXZlJiYoIiIrZSkudG9Mb3dlckNhc2UoKXx8IiIrZX0sZD1oKGUpLnJlcGxhY2UocywiIil8fCIiLHU9aCh0KS5yZXBsYWNlKHMsIiIpfHwiIixmPWQucmVwbGFjZShvLCJceDAwJDFceDAwIikucmVwbGFjZSgvXDAkLywiIikucmVwbGFjZSgvXlwwLywiIikuc3BsaXQoIlx4MDAiKSxwPXUucmVwbGFjZShvLCJceDAwJDFceDAwIikucmVwbGFjZSgvXDAkLywiIikucmVwbGFjZSgvXlwwLywiIikuc3BsaXQoIlx4MDAiKSxtPXBhcnNlSW50KGQubWF0Y2gobCksMTYpfHwxIT09Zi5sZW5ndGgmJmQubWF0Y2goYSkmJkRhdGUucGFyc2UoZCksZz1wYXJzZUludCh1Lm1hdGNoKGwpLDE2KXx8bSYmdS5tYXRjaChhKSYmRGF0ZS5wYXJzZSh1KXx8bnVsbDtpZihnKXtpZihnPm0pcmV0dXJuLTE7aWYobT5nKXJldHVybiAxfWZvcih2YXIgdj0wLHc9TWF0aC5tYXgoZi5sZW5ndGgscC5sZW5ndGgpO3c+djt2Kyspe2lmKG49IShmW3ZdfHwiIikubWF0Y2goYykmJnBhcnNlRmxvYXQoZlt2XSl8fGZbdl18fDAscj0hKHBbdl18fCIiKS5tYXRjaChjKSYmcGFyc2VGbG9hdChwW3ZdKXx8cFt2XXx8MCxpc05hTihuKSE9PWlzTmFOKHIpKXJldHVybiBpc05hTihuKT8xOi0xO2lmKHR5cGVvZiBuIT10eXBlb2YgciYmKG4rPSIiLHIrPSIiKSxyPm4pcmV0dXJuLTE7aWYobj5yKXJldHVybiAxfXJldHVybiAwfX0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe2Z1bmN0aW9uIHQoZSl7dGhpcy5lZGl0b3I9ZSx0aGlzLmRvbT17fX1yZXR1cm4gdC5wcm90b3R5cGU9bmV3IGUsdC5wcm90b3R5cGUuZ2V0RG9tPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5kb207aWYoZS50cilyZXR1cm4gZS50cjt0aGlzLl91cGRhdGVFZGl0YWJpbGl0eSgpO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIik7aWYodC5ub2RlPXRoaXMsZS50cj10LHRoaXMuZWRpdGFibGUuZmllbGQpe2UudGREcmFnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtlLnRkTWVudT1pO3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO24uY2xhc3NOYW1lPSJqc29uZWRpdG9yLWNvbnRleHRtZW51IixuLnRpdGxlPSJDbGljayB0byBvcGVuIHRoZSBhY3Rpb25zIG1lbnUgKEN0cmwrTSkiLGUubWVudT1uLGkuYXBwZW5kQ2hpbGQoZS5tZW51KX12YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIG8uaW5uZXJIVE1MPSIoZW1wdHkpIixvLmNsYXNzTmFtZT0ianNvbmVkaXRvci1yZWFkb25seSIsci5hcHBlbmRDaGlsZChvKSxlLnRkPXIsZS50ZXh0PW8sdGhpcy51cGRhdGVEb20oKSx0fSx0LnByb3RvdHlwZS51cGRhdGVEb209ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmRvbSx0PWUudGQ7dCYmKHQuc3R5bGUucGFkZGluZ0xlZnQ9MjQqdGhpcy5nZXRMZXZlbCgpKzI2KyJweCIpO3ZhciBpPWUudGV4dDtpJiYoaS5pbm5lckhUTUw9IihlbXB0eSAiK3RoaXMucGFyZW50LnR5cGUrIikiKTt2YXIgbj1lLnRyO3RoaXMuaXNWaXNpYmxlKCk/ZS50ci5maXJzdENoaWxkfHwoZS50ZERyYWcmJm4uYXBwZW5kQ2hpbGQoZS50ZERyYWcpLGUudGRNZW51JiZuLmFwcGVuZENoaWxkKGUudGRNZW51KSxuLmFwcGVuZENoaWxkKHQpKTplLnRyLmZpcnN0Q2hpbGQmJihlLnRkRHJhZyYmbi5yZW1vdmVDaGlsZChlLnRkRHJhZyksZS50ZE1lbnUmJm4ucmVtb3ZlQ2hpbGQoZS50ZE1lbnUpLG4ucmVtb3ZlQ2hpbGQodCkpfSx0LnByb3RvdHlwZS5pc1Zpc2libGU9ZnVuY3Rpb24oKXtyZXR1cm4gMD09dGhpcy5wYXJlbnQuY2hpbGRzLmxlbmd0aH0sdC5wcm90b3R5cGUuc2hvd0NvbnRleHRNZW51PWZ1bmN0aW9uKHQsaSl7dmFyIG49dGhpcyxyPWUuVFlQRV9USVRMRVMscz1be3RleHQ6IkFwcGVuZCIsdGl0bGU6IkFwcGVuZCBhIG5ldyBmaWVsZCB3aXRoIHR5cGUgJ2F1dG8nIChDdHJsK1NoaWZ0K0lucykiLHN1Ym1lbnVUaXRsZToiU2VsZWN0IHRoZSB0eXBlIG9mIHRoZSBmaWVsZCB0byBiZSBhcHBlbmRlZCIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLWluc2VydCIsY2xpY2s6ZnVuY3Rpb24oKXtuLl9vbkFwcGVuZCgiIiwiIiwiYXV0byIpfSxzdWJtZW51Olt7dGV4dDoiQXV0byIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLXR5cGUtYXV0byIsdGl0bGU6ci5hdXRvLGNsaWNrOmZ1bmN0aW9uKCl7bi5fb25BcHBlbmQoIiIsIiIsImF1dG8iKX19LHt0ZXh0OiJBcnJheSIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLXR5cGUtYXJyYXkiLHRpdGxlOnIuYXJyYXksY2xpY2s6ZnVuY3Rpb24oKXtuLl9vbkFwcGVuZCgiIixbXSl9fSx7dGV4dDoiT2JqZWN0IixjbGFzc05hbWU6Impzb25lZGl0b3ItdHlwZS1vYmplY3QiLHRpdGxlOnIub2JqZWN0LGNsaWNrOmZ1bmN0aW9uKCl7bi5fb25BcHBlbmQoIiIse30pfX0se3RleHQ6IlN0cmluZyIsY2xhc3NOYW1lOiJqc29uZWRpdG9yLXR5cGUtc3RyaW5nIix0aXRsZTpyLnN0cmluZyxjbGljazpmdW5jdGlvbigpe24uX29uQXBwZW5kKCIiLCIiLCJzdHJpbmciKX19XX1dLGE9bmV3IG8ocyx7Y2xvc2U6aX0pO2Euc2hvdyh0LHRoaXMuZWRpdG9yLmNvbnRlbnQpfSx0LnByb3RvdHlwZS5vbkV2ZW50PWZ1bmN0aW9uKGUpe3ZhciB0PWUudHlwZSxpPWUudGFyZ2V0fHxlLnNyY0VsZW1lbnQsbj10aGlzLmRvbSxvPW4ubWVudTtpZihpPT1vJiYoIm1vdXNlb3ZlciI9PXQ/dGhpcy5lZGl0b3IuaGlnaGxpZ2h0ZXIuaGlnaGxpZ2h0KHRoaXMucGFyZW50KToibW91c2VvdXQiPT10JiZ0aGlzLmVkaXRvci5oaWdobGlnaHRlci51bmhpZ2hsaWdodCgpKSwiY2xpY2siPT10JiZpPT1uLm1lbnUpe3ZhciBzPXRoaXMuZWRpdG9yLmhpZ2hsaWdodGVyO3MuaGlnaGxpZ2h0KHRoaXMucGFyZW50KSxzLmxvY2soKSxyLmFkZENsYXNzTmFtZShuLm1lbnUsImpzb25lZGl0b3Itc2VsZWN0ZWQiKSx0aGlzLnNob3dDb250ZXh0TWVudShuLm1lbnUsZnVuY3Rpb24oKXtyLnJlbW92ZUNsYXNzTmFtZShuLm1lbnUsImpzb25lZGl0b3Itc2VsZWN0ZWQiKSxzLnVubG9jaygpLHMudW5oaWdobGlnaHQoKX0pfSJrZXlkb3duIj09dCYmdGhpcy5vbktleURvd24oZSl9LHR9dmFyIHI9aSg1NCksbz1pKDU3KTtlLmV4cG9ydHM9bn0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCxpLG4pe2Zvcih2YXIgbz17Y29kZTp7dGV4dDoiQ29kZSIsdGl0bGU6IlN3aXRjaCB0byBjb2RlIGhpZ2hsaWdodGVyIixjbGljazpmdW5jdGlvbigpe24oImNvZGUiKX19LGZvcm06e3RleHQ6IkZvcm0iLHRpdGxlOiJTd2l0Y2ggdG8gZm9ybSBlZGl0b3IiLGNsaWNrOmZ1bmN0aW9uKCl7bigiZm9ybSIpfX0sdGV4dDp7dGV4dDoiVGV4dCIsdGl0bGU6IlN3aXRjaCB0byBwbGFpbiB0ZXh0IGVkaXRvciIsY2xpY2s6ZnVuY3Rpb24oKXtuKCJ0ZXh0Iil9fSx0cmVlOnt0ZXh0OiJUcmVlIix0aXRsZToiU3dpdGNoIHRvIHRyZWUgZWRpdG9yIixjbGljazpmdW5jdGlvbigpe24oInRyZWUiKX19LHZpZXc6e3RleHQ6IlZpZXciLHRpdGxlOiJTd2l0Y2ggdG8gdHJlZSB2aWV3IixjbGljazpmdW5jdGlvbigpe24oInZpZXciKX19fSxzPVtdLGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIGw9dFthXSxjPW9bbF07aWYoIWMpdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIG1vZGUgIicrbCsnIicpO2MuY2xhc3NOYW1lPSJqc29uZWRpdG9yLXR5cGUtbW9kZXMiKyhpPT1sPyIganNvbmVkaXRvci1zZWxlY3RlZCI6IiIpLHMucHVzaChjKX12YXIgaD1vW2ldO2lmKCFoKXRocm93IG5ldyBFcnJvcignVW5rbm93biBtb2RlICInK2krJyInKTt2YXIgZD1oLnRleHQsdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTt1LmNsYXNzTmFtZT0ianNvbmVkaXRvci1tb2RlcyBqc29uZWRpdG9yLXNlcGFyYXRvciIsdS5pbm5lckhUTUw9ZCsiICYjeDI1QkU7Iix1LnRpdGxlPSJTd2l0Y2ggZWRpdG9yIG1vZGUiLHUub25jbGljaz1mdW5jdGlvbigpe3ZhciBlPW5ldyByKHMpO2Uuc2hvdyh1KX07dmFyIGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zi5jbGFzc05hbWU9Impzb25lZGl0b3ItbW9kZXMiLGYuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIixmLmFwcGVuZENoaWxkKHUpLGUuYXBwZW5kQ2hpbGQoZiksdGhpcy5kb209e2NvbnRhaW5lcjplLGJveDp1LGZyYW1lOmZ9fXZhciByPWkoNTcpO24ucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKCl7dGhpcy5kb20uYm94LmZvY3VzKCl9LG4ucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLmRvbSYmdGhpcy5kb20uZnJhbWUmJnRoaXMuZG9tLmZyYW1lLnBhcmVudE5vZGUmJnRoaXMuZG9tLmZyYW1lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5kb20uZnJhbWUpLHRoaXMuZG9tPW51bGx9LGUuZXhwb3J0cz1ufSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBuO3RyeXtuPWkoNjMpfWNhdGNoKHIpe312YXIgbz1pKDYxKSxzPWkoNTQpLGE9e30sbD0zO2EuY3JlYXRlPWZ1bmN0aW9uKGUsdCl7dD10fHx7fSx0aGlzLm9wdGlvbnM9dCx0LmluZGVudGF0aW9uP3RoaXMuaW5kZW50YXRpb249TnVtYmVyKHQuaW5kZW50YXRpb24pOnRoaXMuaW5kZW50YXRpb249Mjt2YXIgaT10LmFjZT90LmFjZTpuO3RoaXMubW9kZT0iY29kZSI9PXQubW9kZT8iY29kZSI6InRleHQiLCJjb2RlIj09dGhpcy5tb2RlJiYidW5kZWZpbmVkIj09dHlwZW9mIGkmJih0aGlzLm1vZGU9InRleHQiLGNvbnNvbGUud2FybigiRmFpbGVkIHRvIGxvYWQgQWNlIGVkaXRvciwgZmFsbGluZyBiYWNrIHRvIHBsYWluIHRleHQgbW9kZS4gUGxlYXNlIHVzZSBhIEpTT05FZGl0b3IgYnVuZGxlIGluY2x1ZGluZyBBY2UsIG9yIHBhc3MgQWNlIGFzIHZpYSB0aGUgY29uZmlndXJhdGlvbiBvcHRpb24gYGFjZWAuIikpLHRoaXMudGhlbWU9dC50aGVtZXx8ImFjZS90aGVtZS9qc29uZWRpdG9yIjt2YXIgcj10aGlzO3RoaXMuY29udGFpbmVyPWUsdGhpcy5kb209e30sdGhpcy5hY2VFZGl0b3I9dm9pZCAwLHRoaXMudGV4dGFyZWE9dm9pZCAwLHRoaXMudmFsaWRhdGVTY2hlbWE9bnVsbCx0aGlzLl9kZWJvdW5jZWRWYWxpZGF0ZT1zLmRlYm91bmNlKHRoaXMudmFsaWRhdGUuYmluZCh0aGlzKSx0aGlzLkRFQk9VTkNFX0lOVEVSVkFMKSx0aGlzLndpZHRoPWUuY2xpZW50V2lkdGgsdGhpcy5oZWlnaHQ9ZS5jbGllbnRIZWlnaHQsdGhpcy5mcmFtZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLmZyYW1lLmNsYXNzTmFtZT0ianNvbmVkaXRvciBqc29uZWRpdG9yLW1vZGUtIit0aGlzLm9wdGlvbnMubW9kZSx0aGlzLmZyYW1lLm9uY2xpY2s9ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpfSx0aGlzLmZyYW1lLm9ua2V5ZG93bj1mdW5jdGlvbihlKXtyLl9vbktleURvd24oZSl9LHRoaXMubWVudT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLm1lbnUuY2xhc3NOYW1lPSJqc29uZWRpdG9yLW1lbnUiLHRoaXMuZnJhbWUuYXBwZW5kQ2hpbGQodGhpcy5tZW51KTt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTthLmNsYXNzTmFtZT0ianNvbmVkaXRvci1mb3JtYXQiLGEudGl0bGU9IkZvcm1hdCBKU09OIGRhdGEsIHdpdGggcHJvcGVyIGluZGVudGF0aW9uIGFuZCBsaW5lIGZlZWRzIChDdHJsK1xcKSIsdGhpcy5tZW51LmFwcGVuZENoaWxkKGEpLGEub25jbGljaz1mdW5jdGlvbigpe3RyeXtyLmZvcm1hdCgpLHIuX29uQ2hhbmdlKCl9Y2F0Y2goZSl7ci5fb25FcnJvcihlKX19O3ZhciBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO2lmKGwuY2xhc3NOYW1lPSJqc29uZWRpdG9yLWNvbXBhY3QiLGwudGl0bGU9IkNvbXBhY3QgSlNPTiBkYXRhLCByZW1vdmUgYWxsIHdoaXRlc3BhY2VzIChDdHJsK1NoaWZ0K1xcKSIsdGhpcy5tZW51LmFwcGVuZENoaWxkKGwpLGwub25jbGljaz1mdW5jdGlvbigpe3RyeXtyLmNvbXBhY3QoKSxyLl9vbkNoYW5nZSgpfWNhdGNoKGUpe3IuX29uRXJyb3IoZSl9fSx0aGlzLm9wdGlvbnMmJnRoaXMub3B0aW9ucy5tb2RlcyYmdGhpcy5vcHRpb25zLm1vZGVzLmxlbmd0aCYmKHRoaXMubW9kZVN3aXRjaGVyPW5ldyBvKHRoaXMubWVudSx0aGlzLm9wdGlvbnMubW9kZXMsdGhpcy5vcHRpb25zLm1vZGUsZnVuY3Rpb24oZSl7ci5zZXRNb2RlKGUpLHIubW9kZVN3aXRjaGVyLmZvY3VzKCl9KSksdGhpcy5jb250ZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuY29udGVudC5jbGFzc05hbWU9Impzb25lZGl0b3Itb3V0ZXIiLHRoaXMuZnJhbWUuYXBwZW5kQ2hpbGQodGhpcy5jb250ZW50KSx0aGlzLmNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLmZyYW1lKSwiY29kZSI9PXRoaXMubW9kZSl7dGhpcy5lZGl0b3JEb209ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5lZGl0b3JEb20uc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLmVkaXRvckRvbS5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5jb250ZW50LmFwcGVuZENoaWxkKHRoaXMuZWRpdG9yRG9tKTt2YXIgYz1pLmVkaXQodGhpcy5lZGl0b3JEb20pO2MuJGJsb2NrU2Nyb2xsaW5nPTEvMCxjLnNldFRoZW1lKHRoaXMudGhlbWUpLGMuc2V0U2hvd1ByaW50TWFyZ2luKCExKSxjLnNldEZvbnRTaXplKDEzKSxjLmdldFNlc3Npb24oKS5zZXRNb2RlKCJhY2UvbW9kZS9qc29uIiksYy5nZXRTZXNzaW9uKCkuc2V0VGFiU2l6ZSh0aGlzLmluZGVudGF0aW9uKSxjLmdldFNlc3Npb24oKS5zZXRVc2VTb2Z0VGFicyghMCksYy5nZXRTZXNzaW9uKCkuc2V0VXNlV3JhcE1vZGUoITApLGMuY29tbWFuZHMuYmluZEtleSgiQ3RybC1MIixudWxsKSxjLmNvbW1hbmRzLmJpbmRLZXkoIkNvbW1hbmQtTCIsbnVsbCksdGhpcy5hY2VFZGl0b3I9Yyx0aGlzLmhhc093blByb3BlcnR5KCJlZGl0b3IiKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImVkaXRvciIse2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oJ1Byb3BlcnR5ICJlZGl0b3IiIGhhcyBiZWVuIHJlbmFtZWQgdG8gImFjZUVkaXRvciIuJyksci5hY2VFZGl0b3J9LHNldDpmdW5jdGlvbihlKXtjb25zb2xlLndhcm4oJ1Byb3BlcnR5ICJlZGl0b3IiIGhhcyBiZWVuIHJlbmFtZWQgdG8gImFjZUVkaXRvciIuJyksci5hY2VFZGl0b3I9ZX19KTt2YXIgaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7aC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgicG93ZXJlZCBieSBhY2UiKSksaC5ocmVmPSJodHRwOi8vYWNlLmFqYXgub3JnIixoLnRhcmdldD0iX2JsYW5rIixoLmNsYXNzTmFtZT0ianNvbmVkaXRvci1wb3dlcmVkQnkiLGgub25jbGljaz1mdW5jdGlvbigpe3dpbmRvdy5vcGVuKGguaHJlZixoLnRhcmdldCl9LHRoaXMubWVudS5hcHBlbmRDaGlsZChoKSxjLm9uKCJjaGFuZ2UiLHRoaXMuX29uQ2hhbmdlLmJpbmQodGhpcykpfWVsc2V7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTtkLmNsYXNzTmFtZT0ianNvbmVkaXRvci10ZXh0IixkLnNwZWxsY2hlY2s9ITEsdGhpcy5jb250ZW50LmFwcGVuZENoaWxkKGQpLHRoaXMudGV4dGFyZWE9ZCxudWxsPT09dGhpcy50ZXh0YXJlYS5vbmlucHV0P3RoaXMudGV4dGFyZWEub25pbnB1dD10aGlzLl9vbkNoYW5nZS5iaW5kKHRoaXMpOnRoaXMudGV4dGFyZWEub25jaGFuZ2U9dGhpcy5fb25DaGFuZ2UuYmluZCh0aGlzKX10aGlzLnNldFNjaGVtYSh0aGlzLm9wdGlvbnMuc2NoZW1hKX0sYS5fb25DaGFuZ2U9ZnVuY3Rpb24oKXtpZih0aGlzLl9kZWJvdW5jZWRWYWxpZGF0ZSgpLHRoaXMub3B0aW9ucy5vbkNoYW5nZSl0cnl7dGhpcy5vcHRpb25zLm9uQ2hhbmdlKCl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcigiRXJyb3IgaW4gb25DaGFuZ2UgY2FsbGJhY2s6ICIsZSl9fSxhLl9vbktleURvd249ZnVuY3Rpb24oZSl7dmFyIHQ9ZS53aGljaHx8ZS5rZXlDb2RlLGk9ITE7MjIwPT10JiZlLmN0cmxLZXkmJihlLnNoaWZ0S2V5Pyh0aGlzLmNvbXBhY3QoKSx0aGlzLl9vbkNoYW5nZSgpKToodGhpcy5mb3JtYXQoKSx0aGlzLl9vbkNoYW5nZSgpKSxpPSEwKSxpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkpfSxhLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLmFjZUVkaXRvciYmKHRoaXMuYWNlRWRpdG9yLmRlc3Ryb3koKSx0aGlzLmFjZUVkaXRvcj1udWxsKSx0aGlzLmZyYW1lJiZ0aGlzLmNvbnRhaW5lciYmdGhpcy5mcmFtZS5wYXJlbnROb2RlPT10aGlzLmNvbnRhaW5lciYmdGhpcy5jb250YWluZXIucmVtb3ZlQ2hpbGQodGhpcy5mcmFtZSksdGhpcy5tb2RlU3dpdGNoZXImJih0aGlzLm1vZGVTd2l0Y2hlci5kZXN0cm95KCksdGhpcy5tb2RlU3dpdGNoZXI9bnVsbCksdGhpcy50ZXh0YXJlYT1udWxsLHRoaXMuX2RlYm91bmNlZFZhbGlkYXRlPW51bGx9LGEuY29tcGFjdD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0KCksdD1KU09OLnN0cmluZ2lmeShlKTt0aGlzLnNldFRleHQodCl9LGEuZm9ybWF0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5nZXQoKSx0PUpTT04uc3RyaW5naWZ5KGUsbnVsbCx0aGlzLmluZGVudGF0aW9uKTt0aGlzLnNldFRleHQodCl9LGEuZm9jdXM9ZnVuY3Rpb24oKXt0aGlzLnRleHRhcmVhJiZ0aGlzLnRleHRhcmVhLmZvY3VzKCksdGhpcy5hY2VFZGl0b3ImJnRoaXMuYWNlRWRpdG9yLmZvY3VzKCl9LGEucmVzaXplPWZ1bmN0aW9uKCl7aWYodGhpcy5hY2VFZGl0b3Ipe3ZhciBlPSExO3RoaXMuYWNlRWRpdG9yLnJlc2l6ZShlKX19LGEuc2V0PWZ1bmN0aW9uKGUpe3RoaXMuc2V0VGV4dChKU09OLnN0cmluZ2lmeShlLG51bGwsdGhpcy5pbmRlbnRhdGlvbikpfSxhLmdldD1mdW5jdGlvbigpe3ZhciBlLHQ9dGhpcy5nZXRUZXh0KCk7dHJ5e2U9cy5wYXJzZSh0KX1jYXRjaChpKXt0PXMuc2FuaXRpemUodCksZT1zLnBhcnNlKHQpfXJldHVybiBlfSxhLmdldFRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50ZXh0YXJlYT90aGlzLnRleHRhcmVhLnZhbHVlOnRoaXMuYWNlRWRpdG9yP3RoaXMuYWNlRWRpdG9yLmdldFZhbHVlKCk6IiJ9LGEuc2V0VGV4dD1mdW5jdGlvbihlKXt2YXIgdDtpZih0PXRoaXMub3B0aW9ucy5lc2NhcGVVbmljb2RlPT09ITA/cy5lc2NhcGVVbmljb2RlQ2hhcnMoZSk6ZSx0aGlzLnRleHRhcmVhJiYodGhpcy50ZXh0YXJlYS52YWx1ZT10KSx0aGlzLmFjZUVkaXRvcil7dmFyIGk9dGhpcy5vcHRpb25zLm9uQ2hhbmdlO3RoaXMub3B0aW9ucy5vbkNoYW5nZT1udWxsLHRoaXMuYWNlRWRpdG9yLnNldFZhbHVlKHQsLTEpLHRoaXMub3B0aW9ucy5vbkNoYW5nZT1pfXRoaXMudmFsaWRhdGUoKX0sYS52YWxpZGF0ZT1mdW5jdGlvbigpe3RoaXMuZG9tLnZhbGlkYXRpb25FcnJvcnMmJih0aGlzLmRvbS52YWxpZGF0aW9uRXJyb3JzLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5kb20udmFsaWRhdGlvbkVycm9ycyksdGhpcy5kb20udmFsaWRhdGlvbkVycm9ycz1udWxsLHRoaXMuY29udGVudC5zdHlsZS5tYXJnaW5Cb3R0b209IiIsdGhpcy5jb250ZW50LnN0eWxlLnBhZGRpbmdCb3R0b209IiIpO3ZhciBlLHQ9ITEsaT1bXTt0cnl7ZT10aGlzLmdldCgpLHQ9ITB9Y2F0Y2gobil7fWlmKHQmJnRoaXMudmFsaWRhdGVTY2hlbWEpe3ZhciByPXRoaXMudmFsaWRhdGVTY2hlbWEoZSk7cnx8KGk9dGhpcy52YWxpZGF0ZVNjaGVtYS5lcnJvcnMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBzLmltcHJvdmVTY2hlbWFFcnJvcihlKX0pKX1pZihpLmxlbmd0aD4wKXt2YXIgbz1pLmxlbmd0aD5sO2lmKG8pe2k9aS5zbGljZSgwLGwpO3ZhciBhPXRoaXMudmFsaWRhdGVTY2hlbWEuZXJyb3JzLmxlbmd0aC1sO2kucHVzaCgiKCIrYSsiIG1vcmUgZXJyb3JzLi4uKSIpfXZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2MuaW5uZXJIVE1MPSc8dGFibGUgY2xhc3M9Impzb25lZGl0b3ItdGV4dC1lcnJvcnMiPjx0Ym9keT4nK2kubWFwKGZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0PSJzdHJpbmciPT10eXBlb2YgZT8nPHRkIGNvbHNwYW49IjIiPjxwcmU+JytlKyI8L3ByZT48L3RkPiI6Ijx0ZD4iK2UuZGF0YVBhdGgrIjwvdGQ+PHRkPiIrZS5tZXNzYWdlKyI8L3RkPiIsJzx0cj48dGQ+PGJ1dHRvbiBjbGFzcz0ianNvbmVkaXRvci1zY2hlbWEtZXJyb3IiPjwvYnV0dG9uPjwvdGQ+Jyt0KyI8L3RyPiJ9KS5qb2luKCIiKSsiPC90Ym9keT48L3RhYmxlPiIsdGhpcy5kb20udmFsaWRhdGlvbkVycm9ycz1jLHRoaXMuZnJhbWUuYXBwZW5kQ2hpbGQoYyk7dmFyIGg9Yy5jbGllbnRIZWlnaHQ7dGhpcy5jb250ZW50LnN0eWxlLm1hcmdpbkJvdHRvbT0taCsicHgiLHRoaXMuY29udGVudC5zdHlsZS5wYWRkaW5nQm90dG9tPWgrInB4In1pZih0aGlzLmFjZUVkaXRvcil7dmFyIGQ9ITE7dGhpcy5hY2VFZGl0b3IucmVzaXplKGQpfX0sZS5leHBvcnRzPVt7bW9kZToidGV4dCIsbWl4aW46YSxkYXRhOiJ0ZXh0Iixsb2FkOmEuZm9ybWF0fSx7bW9kZToiY29kZSIsbWl4aW46YSxkYXRhOiJ0ZXh0Iixsb2FkOmEuZm9ybWF0fV19LGZ1bmN0aW9uKGUsdCxpKXt2YXIgbj1pKDY0KTtpKDY3KSxpKDY5KSxpKDcwKSxlLmV4cG9ydHM9bn0sZnVuY3Rpb24oZSx0LGkpeyFmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIHQ9aTtlJiYoaVtlXXx8KGlbZV09e30pLHQ9aVtlXSksdC5kZWZpbmUmJnQuZGVmaW5lLnBhY2thZ2VkfHwobi5vcmlnaW5hbD10LmRlZmluZSx0LmRlZmluZT1uLHQuZGVmaW5lLnBhY2thZ2VkPSEwKSx0LmFjZXF1aXJlJiZ0LmFjZXF1aXJlLnBhY2thZ2VkfHwoby5vcmlnaW5hbD10LmFjZXF1aXJlLHQuYWNlcXVpcmU9byx0LmFjZXF1aXJlLnBhY2thZ2VkPSEwKX12YXIgdD0iYWNlIixpPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCk7aWYoaXx8InVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3d8fChpPXdpbmRvdyksdHx8InVuZGVmaW5lZCI9PXR5cGVvZiBhY2VxdWlyZWpzKXt2YXIgbj1mdW5jdGlvbihlLHQsaSl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlP3ZvaWQobi5vcmlnaW5hbD9uLm9yaWdpbmFsLmFwcGx5KHRoaXMsYXJndW1lbnRzKTooY29uc29sZS5lcnJvcigiZHJvcHBpbmcgbW9kdWxlIGJlY2F1c2UgZGVmaW5lIHdhc24ndCBhIHN0cmluZy4iKSxjb25zb2xlLnRyYWNlKCkpKTooMj09YXJndW1lbnRzLmxlbmd0aCYmKGk9dCksdm9pZChuLm1vZHVsZXNbZV18fChuLnBheWxvYWRzW2VdPWksbi5tb2R1bGVzW2VdPW51bGwpKSl9O24ubW9kdWxlcz17fSxuLnBheWxvYWRzPXt9O3ZhciByPWZ1bmN0aW9uKGUsdCxpKXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBuPWEoZSx0KTtpZih2b2lkIDAhPW4pcmV0dXJuIGkmJmkoKSxufWVsc2UgaWYoIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSl7Zm9yKHZhciByPVtdLHM9MCxsPXQubGVuZ3RoO2w+czsrK3Mpe3ZhciBjPWEoZSx0W3NdKTtpZih2b2lkIDA9PWMmJm8ub3JpZ2luYWwpcmV0dXJuO3IucHVzaChjKX1yZXR1cm4gaSYmaS5hcHBseShudWxsLHIpfHwhMH19LG89ZnVuY3Rpb24oZSx0KXt2YXIgaT1yKCIiLGUsdCk7cmV0dXJuIHZvaWQgMD09aSYmby5vcmlnaW5hbD9vLm9yaWdpbmFsLmFwcGx5KHRoaXMsYXJndW1lbnRzKTppfSxzPWZ1bmN0aW9uKGUsdCl7aWYoLTEhPT10LmluZGV4T2YoIiEiKSl7dmFyIGk9dC5zcGxpdCgiISIpO3JldHVybiBzKGUsaVswXSkrIiEiK3MoZSxpWzFdKX1pZigiLiI9PXQuY2hhckF0KDApKXt2YXIgbj1lLnNwbGl0KCIvIikuc2xpY2UoMCwtMSkuam9pbigiLyIpO2Zvcih0PW4rIi8iK3Q7LTEhPT10LmluZGV4T2YoIi4iKSYmciE9dDspe3ZhciByPXQ7dD10LnJlcGxhY2UoL1wvXC5cLy8sIi8iKS5yZXBsYWNlKC9bXlwvXStcL1wuXC5cLy8sIiIpfX1yZXR1cm4gdH0sYT1mdW5jdGlvbihlLHQpe3Q9cyhlLHQpO3ZhciBpPW4ubW9kdWxlc1t0XTtpZighaSl7aWYoaT1uLnBheWxvYWRzW3RdLCJmdW5jdGlvbiI9PXR5cGVvZiBpKXt2YXIgbz17fSxhPXtpZDp0LHVyaToiIixleHBvcnRzOm8scGFja2FnZWQ6ITB9LGw9ZnVuY3Rpb24oZSxpKXtyZXR1cm4gcih0LGUsaSl9LGM9aShsLG8sYSk7bz1jfHxhLmV4cG9ydHMsbi5tb2R1bGVzW3RdPW8sZGVsZXRlIG4ucGF5bG9hZHNbdF19aT1uLm1vZHVsZXNbdF09b3x8aX1yZXR1cm4gaX07ZSh0KX19KCksYWNlLmRlZmluZSgiYWNlL2xpYi9yZWdleHAiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuKGUuZ2xvYmFsPyJnIjoiIikrKGUuaWdub3JlQ2FzZT8iaSI6IiIpKyhlLm11bHRpbGluZT8ibSI6IiIpKyhlLmV4dGVuZGVkPyJ4IjoiIikrKGUuc3RpY2t5PyJ5IjoiIil9ZnVuY3Rpb24gcihlLHQsaSl7aWYoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpcmV0dXJuIGUuaW5kZXhPZih0LGkpO2Zvcih2YXIgbj1pfHwwO248ZS5sZW5ndGg7bisrKWlmKGVbbl09PT10KXJldHVybiBuO3JldHVybi0xfXZhciBvPXtleGVjOlJlZ0V4cC5wcm90b3R5cGUuZXhlYyx0ZXN0OlJlZ0V4cC5wcm90b3R5cGUudGVzdCxtYXRjaDpTdHJpbmcucHJvdG90eXBlLm1hdGNoLHJlcGxhY2U6U3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLHNwbGl0OlN0cmluZy5wcm90b3R5cGUuc3BsaXR9LHM9dm9pZCAwPT09by5leGVjLmNhbGwoLygpPz8vLCIiKVsxXSxhPWZ1bmN0aW9uKCl7dmFyIGU9L14vZztyZXR1cm4gby50ZXN0LmNhbGwoZSwiIiksIWUubGFzdEluZGV4fSgpO2EmJnN8fChSZWdFeHAucHJvdG90eXBlLmV4ZWM9ZnVuY3Rpb24oZSl7dmFyIHQsaSxsPW8uZXhlYy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7aWYoInN0cmluZyI9PXR5cGVvZiBlJiZsKXtpZighcyYmbC5sZW5ndGg+MSYmcihsLCIiKT4tMSYmKGk9UmVnRXhwKHRoaXMuc291cmNlLG8ucmVwbGFjZS5jYWxsKG4odGhpcyksImciLCIiKSksby5yZXBsYWNlLmNhbGwoZS5zbGljZShsLmluZGV4KSxpLGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoLTI7ZSsrKXZvaWQgMD09PWFyZ3VtZW50c1tlXSYmKGxbZV09dm9pZCAwKX0pKSx0aGlzLl94cmVnZXhwJiZ0aGlzLl94cmVnZXhwLmNhcHR1cmVOYW1lcylmb3IodmFyIGM9MTtjPGwubGVuZ3RoO2MrKyl0PXRoaXMuX3hyZWdleHAuY2FwdHVyZU5hbWVzW2MtMV0sdCYmKGxbdF09bFtjXSk7IWEmJnRoaXMuZ2xvYmFsJiYhbFswXS5sZW5ndGgmJnRoaXMubGFzdEluZGV4PmwuaW5kZXgmJnRoaXMubGFzdEluZGV4LS19cmV0dXJuIGx9LGF8fChSZWdFeHAucHJvdG90eXBlLnRlc3Q9ZnVuY3Rpb24oZSl7dmFyIHQ9by5leGVjLmNhbGwodGhpcyxlKTtyZXR1cm4gdCYmdGhpcy5nbG9iYWwmJiF0WzBdLmxlbmd0aCYmdGhpcy5sYXN0SW5kZXg+dC5pbmRleCYmdGhpcy5sYXN0SW5kZXgtLSwhIXR9KSl9KSxhY2UuZGVmaW5lKCJhY2UvbGliL2VzNS1zaGltIixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIl0sZnVuY3Rpb24oZSx0LGkpe2Z1bmN0aW9uIG4oKXt9ZnVuY3Rpb24gcihlKXt0cnl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJzZW50aW5lbCIse30pLCJzZW50aW5lbCJpbiBlfWNhdGNoKHQpe319ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZT0rZSxlIT09ZT9lPTA6MCE9PWUmJmUhPT0xLzAmJmUhPT0tKDEvMCkmJihlPShlPjB8fC0xKSpNYXRoLmZsb29yKE1hdGguYWJzKGUpKSksZX1GdW5jdGlvbi5wcm90b3R5cGUuYmluZHx8KEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgY2FsbGVkIG9uIGluY29tcGF0aWJsZSAiK3QpO3ZhciBpPXAuY2FsbChhcmd1bWVudHMsMSkscj1mdW5jdGlvbigpe2lmKHRoaXMgaW5zdGFuY2VvZiByKXt2YXIgbj10LmFwcGx5KHRoaXMsaS5jb25jYXQocC5jYWxsKGFyZ3VtZW50cykpKTtyZXR1cm4gT2JqZWN0KG4pPT09bj9uOnRoaXN9cmV0dXJuIHQuYXBwbHkoZSxpLmNvbmNhdChwLmNhbGwoYXJndW1lbnRzKSkpfTtyZXR1cm4gdC5wcm90b3R5cGUmJihuLnByb3RvdHlwZT10LnByb3RvdHlwZSxyLnByb3RvdHlwZT1uZXcgbixuLnByb3RvdHlwZT1udWxsKSxyfSk7dmFyIHMsYSxsLGMsaCxkPUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLHU9QXJyYXkucHJvdG90eXBlLGY9T2JqZWN0LnByb3RvdHlwZSxwPXUuc2xpY2UsbT1kLmJpbmQoZi50b1N0cmluZyksZz1kLmJpbmQoZi5oYXNPd25Qcm9wZXJ0eSk7aWYoKGg9ZyhmLCJfX2RlZmluZUdldHRlcl9fIikpJiYocz1kLmJpbmQoZi5fX2RlZmluZUdldHRlcl9fKSxhPWQuYmluZChmLl9fZGVmaW5lU2V0dGVyX18pLGw9ZC5iaW5kKGYuX19sb29rdXBHZXR0ZXJfXyksYz1kLmJpbmQoZi5fX2xvb2t1cFNldHRlcl9fKSksMiE9WzEsMl0uc3BsaWNlKDApLmxlbmd0aClpZihmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIHQ9bmV3IEFycmF5KGUrMik7cmV0dXJuIHRbMF09dFsxXT0wLHR9dmFyIHQsaT1bXTtyZXR1cm4gaS5zcGxpY2UuYXBwbHkoaSxlKDIwKSksaS5zcGxpY2UuYXBwbHkoaSxlKDI2KSksdD1pLmxlbmd0aCxpLnNwbGljZSg1LDAsIlhYWCIpLHQrMT09aS5sZW5ndGgsdCsxPT1pLmxlbmd0aD8hMDp2b2lkIDB9KCkpe3ZhciB2PUFycmF5LnByb3RvdHlwZS5zcGxpY2U7QXJyYXkucHJvdG90eXBlLnNwbGljZT1mdW5jdGlvbihlLHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3YuYXBwbHkodGhpcyxbdm9pZCAwPT09ZT8wOmUsdm9pZCAwPT09dD90aGlzLmxlbmd0aC1lOnRdLmNvbmNhdChwLmNhbGwoYXJndW1lbnRzLDIpKSk6W119fWVsc2UgQXJyYXkucHJvdG90eXBlLnNwbGljZT1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMubGVuZ3RoO2U+MD9lPmkmJihlPWkpOnZvaWQgMD09ZT9lPTA6MD5lJiYoZT1NYXRoLm1heChpK2UsMCkpLGk+ZSt0fHwodD1pLWUpO3ZhciBuPXRoaXMuc2xpY2UoZSxlK3QpLHI9cC5jYWxsKGFyZ3VtZW50cywyKSxvPXIubGVuZ3RoO2lmKGU9PT1pKW8mJnRoaXMucHVzaC5hcHBseSh0aGlzLHIpO2Vsc2V7dmFyIHM9TWF0aC5taW4odCxpLWUpLGE9ZStzLGw9YStvLXMsYz1pLWEsaD1pLXM7aWYoYT5sKWZvcih2YXIgZD0wO2M+ZDsrK2QpdGhpc1tsK2RdPXRoaXNbYStkXTtlbHNlIGlmKGw+YSlmb3IoZD1jO2QtLTspdGhpc1tsK2RdPXRoaXNbYStkXTtpZihvJiZlPT09aCl0aGlzLmxlbmd0aD1oLHRoaXMucHVzaC5hcHBseSh0aGlzLHIpO2Vsc2UgZm9yKHRoaXMubGVuZ3RoPWgrbyxkPTA7bz5kOysrZCl0aGlzW2UrZF09cltkXX1yZXR1cm4gbn07QXJyYXkuaXNBcnJheXx8KEFycmF5LmlzQXJyYXk9ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09bShlKX0pO3ZhciB3PU9iamVjdCgiYSIpLHk9ImEiIT13WzBdfHwhKDAgaW4gdyk7aWYoQXJyYXkucHJvdG90eXBlLmZvckVhY2h8fChBcnJheS5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihlKXt2YXIgdD1NKHRoaXMpLGk9eSYmIltvYmplY3QgU3RyaW5nXSI9PW0odGhpcyk/dGhpcy5zcGxpdCgiIik6dCxuPWFyZ3VtZW50c1sxXSxyPS0xLG89aS5sZW5ndGg+Pj4wO2lmKCJbb2JqZWN0IEZ1bmN0aW9uXSIhPW0oZSkpdGhyb3cgbmV3IFR5cGVFcnJvcjtmb3IoOysrcjxvOylyIGluIGkmJmUuY2FsbChuLGlbcl0scix0KX0pLEFycmF5LnByb3RvdHlwZS5tYXB8fChBcnJheS5wcm90b3R5cGUubWFwPWZ1bmN0aW9uKGUpe3ZhciB0PU0odGhpcyksaT15JiYiW29iamVjdCBTdHJpbmddIj09bSh0aGlzKT90aGlzLnNwbGl0KCIiKTp0LG49aS5sZW5ndGg+Pj4wLHI9QXJyYXkobiksbz1hcmd1bWVudHNbMV07aWYoIltvYmplY3QgRnVuY3Rpb25dIiE9bShlKSl0aHJvdyBuZXcgVHlwZUVycm9yKGUrIiBpcyBub3QgYSBmdW5jdGlvbiIpO2Zvcih2YXIgcz0wO24+cztzKyspcyBpbiBpJiYocltzXT1lLmNhbGwobyxpW3NdLHMsdCkpO3JldHVybiByfSksQXJyYXkucHJvdG90eXBlLmZpbHRlcnx8KEFycmF5LnByb3RvdHlwZS5maWx0ZXI9ZnVuY3Rpb24oZSl7dmFyIHQsaT1NKHRoaXMpLG49eSYmIltvYmplY3QgU3RyaW5nXSI9PW0odGhpcyk/dGhpcy5zcGxpdCgiIik6aSxyPW4ubGVuZ3RoPj4+MCxvPVtdLHM9YXJndW1lbnRzWzFdO2lmKCJbb2JqZWN0IEZ1bmN0aW9uXSIhPW0oZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihlKyIgaXMgbm90IGEgZnVuY3Rpb24iKTtmb3IodmFyIGE9MDtyPmE7YSsrKWEgaW4gbiYmKHQ9blthXSxlLmNhbGwocyx0LGEsaSkmJm8ucHVzaCh0KSk7cmV0dXJuIG99KSxBcnJheS5wcm90b3R5cGUuZXZlcnl8fChBcnJheS5wcm90b3R5cGUuZXZlcnk9ZnVuY3Rpb24oZSl7dmFyIHQ9TSh0aGlzKSxpPXkmJiJbb2JqZWN0IFN0cmluZ10iPT1tKHRoaXMpP3RoaXMuc3BsaXQoIiIpOnQsbj1pLmxlbmd0aD4+PjAscj1hcmd1bWVudHNbMV07aWYoIltvYmplY3QgRnVuY3Rpb25dIiE9bShlKSl0aHJvdyBuZXcgVHlwZUVycm9yKGUrIiBpcyBub3QgYSBmdW5jdGlvbiIpO2Zvcih2YXIgbz0wO24+bztvKyspaWYobyBpbiBpJiYhZS5jYWxsKHIsaVtvXSxvLHQpKXJldHVybiExO3JldHVybiEwfSksQXJyYXkucHJvdG90eXBlLnNvbWV8fChBcnJheS5wcm90b3R5cGUuc29tZT1mdW5jdGlvbihlKXt2YXIgdD1NKHRoaXMpLGk9eSYmIltvYmplY3QgU3RyaW5nXSI9PW0odGhpcyk/dGhpcy5zcGxpdCgiIik6dCxuPWkubGVuZ3RoPj4+MCxyPWFyZ3VtZW50c1sxXTtpZigiW29iamVjdCBGdW5jdGlvbl0iIT1tKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoZSsiIGlzIG5vdCBhIGZ1bmN0aW9uIik7Zm9yKHZhciBvPTA7bj5vO28rKylpZihvIGluIGkmJmUuY2FsbChyLGlbb10sbyx0KSlyZXR1cm4hMDtyZXR1cm4hMX0pLEFycmF5LnByb3RvdHlwZS5yZWR1Y2V8fChBcnJheS5wcm90b3R5cGUucmVkdWNlPWZ1bmN0aW9uKGUpe3ZhciB0PU0odGhpcyksaT15JiYiW29iamVjdCBTdHJpbmddIj09bSh0aGlzKT90aGlzLnNwbGl0KCIiKTp0LG49aS5sZW5ndGg+Pj4wO2lmKCJbb2JqZWN0IEZ1bmN0aW9uXSIhPW0oZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihlKyIgaXMgbm90IGEgZnVuY3Rpb24iKTtpZighbiYmMT09YXJndW1lbnRzLmxlbmd0aCl0aHJvdyBuZXcgVHlwZUVycm9yKCJyZWR1Y2Ugb2YgZW1wdHkgYXJyYXkgd2l0aCBubyBpbml0aWFsIHZhbHVlIik7dmFyIHIsbz0wO2lmKGFyZ3VtZW50cy5sZW5ndGg+PTIpcj1hcmd1bWVudHNbMV07ZWxzZSBmb3IoOzspe2lmKG8gaW4gaSl7cj1pW28rK107YnJlYWt9aWYoKytvPj1uKXRocm93IG5ldyBUeXBlRXJyb3IoInJlZHVjZSBvZiBlbXB0eSBhcnJheSB3aXRoIG5vIGluaXRpYWwgdmFsdWUiKX1mb3IoO24+bztvKyspbyBpbiBpJiYocj1lLmNhbGwodm9pZCAwLHIsaVtvXSxvLHQpKTtyZXR1cm4gcn0pLEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodHx8KEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodD1mdW5jdGlvbihlKXt2YXIgdD1NKHRoaXMpLGk9eSYmIltvYmplY3QgU3RyaW5nXSI9PW0odGhpcyk/dGhpcy5zcGxpdCgiIik6dCxuPWkubGVuZ3RoPj4+MDtpZigiW29iamVjdCBGdW5jdGlvbl0iIT1tKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoZSsiIGlzIG5vdCBhIGZ1bmN0aW9uIik7aWYoIW4mJjE9PWFyZ3VtZW50cy5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcigicmVkdWNlUmlnaHQgb2YgZW1wdHkgYXJyYXkgd2l0aCBubyBpbml0aWFsIHZhbHVlIik7dmFyIHIsbz1uLTE7aWYoYXJndW1lbnRzLmxlbmd0aD49MilyPWFyZ3VtZW50c1sxXTtlbHNlIGZvcig7Oyl7aWYobyBpbiBpKXtyPWlbby0tXTticmVha31pZigtLW88MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJyZWR1Y2VSaWdodCBvZiBlbXB0eSBhcnJheSB3aXRoIG5vIGluaXRpYWwgdmFsdWUiKX1kbyBvIGluIHRoaXMmJihyPWUuY2FsbCh2b2lkIDAscixpW29dLG8sdCkpO3doaWxlKG8tLSk7cmV0dXJuIHJ9KSxBcnJheS5wcm90b3R5cGUuaW5kZXhPZiYmLTE9PVswLDFdLmluZGV4T2YoMSwyKXx8KEFycmF5LnByb3RvdHlwZS5pbmRleE9mPWZ1bmN0aW9uKGUpe3ZhciB0PXkmJiJbb2JqZWN0IFN0cmluZ10iPT1tKHRoaXMpP3RoaXMuc3BsaXQoIiIpOk0odGhpcyksaT10Lmxlbmd0aD4+PjA7aWYoIWkpcmV0dXJuLTE7dmFyIG49MDtmb3IoYXJndW1lbnRzLmxlbmd0aD4xJiYobj1vKGFyZ3VtZW50c1sxXSkpLG49bj49MD9uOk1hdGgubWF4KDAsaStuKTtpPm47bisrKWlmKG4gaW4gdCYmdFtuXT09PWUpcmV0dXJuIG47cmV0dXJuLTF9KSxBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YmJi0xPT1bMCwxXS5sYXN0SW5kZXhPZigwLC0zKXx8KEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZj1mdW5jdGlvbihlKXt2YXIgdD15JiYiW29iamVjdCBTdHJpbmddIj09bSh0aGlzKT90aGlzLnNwbGl0KCIiKTpNKHRoaXMpLGk9dC5sZW5ndGg+Pj4wO2lmKCFpKXJldHVybi0xO3ZhciBuPWktMTtmb3IoYXJndW1lbnRzLmxlbmd0aD4xJiYobj1NYXRoLm1pbihuLG8oYXJndW1lbnRzWzFdKSkpLG49bj49MD9uOmktTWF0aC5hYnMobik7bj49MDtuLS0paWYobiBpbiB0JiZlPT09dFtuXSlyZXR1cm4gbjtyZXR1cm4tMX0pLE9iamVjdC5nZXRQcm90b3R5cGVPZnx8KE9iamVjdC5nZXRQcm90b3R5cGVPZj1mdW5jdGlvbihlKXtyZXR1cm4gZS5fX3Byb3RvX198fChlLmNvbnN0cnVjdG9yP2UuY29uc3RydWN0b3IucHJvdG90eXBlOmYpfSksIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ipe3ZhciBBPSJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIGNhbGxlZCBvbiBhIG5vbi1vYmplY3Q6ICI7T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcj1mdW5jdGlvbihlLHQpe2lmKCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGV8fG51bGw9PT1lKXRocm93IG5ldyBUeXBlRXJyb3IoQStlKTtpZihnKGUsdCkpe3ZhciBpLG4scjtpZihpPXtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0saCl7dmFyIG89ZS5fX3Byb3RvX187ZS5fX3Byb3RvX189Zjt2YXIgbj1sKGUsdCkscj1jKGUsdCk7aWYoZS5fX3Byb3RvX189byxufHxyKXJldHVybiBuJiYoaS5nZXQ9biksciYmKGkuc2V0PXIpLGl9cmV0dXJuIGkudmFsdWU9ZVt0XSxpfX19aWYoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXN8fChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcz1mdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmtleXMoZSl9KSwhT2JqZWN0LmNyZWF0ZSl7dmFyIEM7Qz1udWxsPT09T2JqZWN0LnByb3RvdHlwZS5fX3Byb3RvX18/ZnVuY3Rpb24oKXtyZXR1cm57X19wcm90b19fOm51bGx9fTpmdW5jdGlvbigpe3ZhciBlPXt9O2Zvcih2YXIgdCBpbiBlKWVbdF09bnVsbDtyZXR1cm4gZS5jb25zdHJ1Y3Rvcj1lLmhhc093blByb3BlcnR5PWUucHJvcGVydHlJc0VudW1lcmFibGU9ZS5pc1Byb3RvdHlwZU9mPWUudG9Mb2NhbGVTdHJpbmc9ZS50b1N0cmluZz1lLnZhbHVlT2Y9ZS5fX3Byb3RvX189bnVsbCxlfSxPYmplY3QuY3JlYXRlPWZ1bmN0aW9uKGUsdCl7dmFyIGk7aWYobnVsbD09PWUpaT1DKCk7ZWxzZXtpZigib2JqZWN0IiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigidHlwZW9mIHByb3RvdHlwZVsiK3R5cGVvZiBlKyJdICE9ICdvYmplY3QnIik7dmFyIG49ZnVuY3Rpb24oKXt9O24ucHJvdG90eXBlPWUsaT1uZXcgbixpLl9fcHJvdG9fXz1lfXJldHVybiB2b2lkIDAhPT10JiZPYmplY3QuZGVmaW5lUHJvcGVydGllcyhpLHQpLGl9fWlmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSl7dmFyIEU9cih7fSksYj0idW5kZWZpbmVkIj09dHlwZW9mIGRvY3VtZW50fHxyKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTtpZighRXx8IWIpdmFyIEY9T2JqZWN0LmRlZmluZVByb3BlcnR5fWlmKCFPYmplY3QuZGVmaW5lUHJvcGVydHl8fEYpe3ZhciB4PSJQcm9wZXJ0eSBkZXNjcmlwdGlvbiBtdXN0IGJlIGFuIG9iamVjdDogIixTPSJPYmplY3QuZGVmaW5lUHJvcGVydHkgY2FsbGVkIG9uIG5vbi1vYmplY3Q6ICIsJD0iZ2V0dGVycyAmIHNldHRlcnMgY2FuIG5vdCBiZSBkZWZpbmVkIG9uIHRoaXMgamF2YXNjcmlwdCBlbmdpbmUiO09iamVjdC5kZWZpbmVQcm9wZXJ0eT1mdW5jdGlvbihlLHQsaSl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZXx8bnVsbD09PWUpdGhyb3cgbmV3IFR5cGVFcnJvcihTK2UpO2lmKCJvYmplY3QiIT10eXBlb2YgaSYmImZ1bmN0aW9uIiE9dHlwZW9mIGl8fG51bGw9PT1pKXRocm93IG5ldyBUeXBlRXJyb3IoeCtpKTtpZihGKXRyeXtyZXR1cm4gRi5jYWxsKE9iamVjdCxlLHQsaSl9Y2F0Y2gobil7fWlmKGcoaSwidmFsdWUiKSlpZihoJiYobChlLHQpfHxjKGUsdCkpKXt2YXIgcj1lLl9fcHJvdG9fXztlLl9fcHJvdG9fXz1mLGRlbGV0ZSBlW3RdLGVbdF09aS52YWx1ZSxlLl9fcHJvdG9fXz1yfWVsc2UgZVt0XT1pLnZhbHVlO2Vsc2V7aWYoIWgpdGhyb3cgbmV3IFR5cGVFcnJvcigkKTtnKGksImdldCIpJiZzKGUsdCxpLmdldCksZyhpLCJzZXQiKSYmYShlLHQsaS5zZXQpfXJldHVybiBlfX1PYmplY3QuZGVmaW5lUHJvcGVydGllc3x8KE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpIGluIHQpZyh0LGkpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxpLHRbaV0pO3JldHVybiBlfSksT2JqZWN0LnNlYWx8fChPYmplY3Quc2VhbD1mdW5jdGlvbihlKXtyZXR1cm4gZX0pLE9iamVjdC5mcmVlemV8fChPYmplY3QuZnJlZXplPWZ1bmN0aW9uKGUpe3JldHVybiBlfSk7dHJ5e09iamVjdC5mcmVlemUoZnVuY3Rpb24oKXt9KX1jYXRjaChEKXtPYmplY3QuZnJlZXplPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90OmUodCl9fShPYmplY3QuZnJlZXplKX1pZihPYmplY3QucHJldmVudEV4dGVuc2lvbnN8fChPYmplY3QucHJldmVudEV4dGVuc2lvbnM9ZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSxPYmplY3QuaXNTZWFsZWR8fChPYmplY3QuaXNTZWFsZWQ9ZnVuY3Rpb24oZSl7cmV0dXJuITF9KSxPYmplY3QuaXNGcm96ZW58fChPYmplY3QuaXNGcm96ZW49ZnVuY3Rpb24oZSl7cmV0dXJuITF9KSxPYmplY3QuaXNFeHRlbnNpYmxlfHwoT2JqZWN0LmlzRXh0ZW5zaWJsZT1mdW5jdGlvbihlKXtpZihPYmplY3QoZSk9PT1lKXRocm93IG5ldyBUeXBlRXJyb3I7Zm9yKHZhciB0PSIiO2coZSx0KTspdCs9Ij8iO2VbdF09ITA7dmFyIGk9ZyhlLHQpO3JldHVybiBkZWxldGUgZVt0XSxpfSksIU9iamVjdC5rZXlzKXt2YXIgaz0hMCxCPVsidG9TdHJpbmciLCJ0b0xvY2FsZVN0cmluZyIsInZhbHVlT2YiLCJoYXNPd25Qcm9wZXJ0eSIsImlzUHJvdG90eXBlT2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImNvbnN0cnVjdG9yIl0sXz1CLmxlbmd0aDtmb3IodmFyIEwgaW57dG9TdHJpbmc6bnVsbH0paz0hMTtPYmplY3Qua2V5cz1mdW5jdGlvbiBPKGUpe2lmKCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGV8fG51bGw9PT1lKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdC5rZXlzIGNhbGxlZCBvbiBhIG5vbi1vYmplY3QiKTt2YXIgTz1bXTtmb3IodmFyIHQgaW4gZSlnKGUsdCkmJk8ucHVzaCh0KTtpZihrKWZvcih2YXIgaT0wLG49XztuPmk7aSsrKXt2YXIgcj1CW2ldO2coZSxyKSYmTy5wdXNoKHIpfXJldHVybiBPfX1EYXRlLm5vd3x8KERhdGUubm93PWZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9KTt2YXIgUj0iCVxuXHgwQlxmXHIgwqDhmoDhoI7igIDigIHigILigIPigITigIXigIbigIfigIjigInigIrigK/igZ/jgIBcdTIwMjhcdTIwMjlcdWZlZmYiO2lmKCFTdHJpbmcucHJvdG90eXBlLnRyaW18fFIudHJpbSgpKXtSPSJbIitSKyJdIjt2YXIgVD1uZXcgUmVnRXhwKCJeIitSK1IrIioiKSxQPW5ldyBSZWdFeHAoUitSKyIqJCIpO1N0cmluZy5wcm90b3R5cGUudHJpbT1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcodGhpcykucmVwbGFjZShULCIiKS5yZXBsYWNlKFAsIiIpfX12YXIgTT1mdW5jdGlvbihlKXtpZihudWxsPT1lKXRocm93IG5ldyBUeXBlRXJyb3IoImNhbid0IGNvbnZlcnQgIitlKyIgdG8gb2JqZWN0Iik7cmV0dXJuIE9iamVjdChlKX19KSxhY2UuZGVmaW5lKCJhY2UvbGliL2ZpeG9sZGJyb3dzZXJzIixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIiwiYWNlL2xpYi9yZWdleHAiLCJhY2UvbGliL2VzNS1zaGltIl0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0IjtlKCIuL3JlZ2V4cCIpLGUoIi4vZXM1LXNoaW0iKX0pLGFjZS5kZWZpbmUoImFjZS9saWIvZG9tIixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIl0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI7cmV0dXJuIHQuZ2V0RG9jdW1lbnRIZWFkPWZ1bmN0aW9uKGUpe3JldHVybiBlfHwoZT1kb2N1bWVudCksZS5oZWFkfHxlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGUuZG9jdW1lbnRFbGVtZW50fSx0LmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TP2RvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh0fHxuLGUpOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSl9LHQuaGFzQ3NzQ2xhc3M9ZnVuY3Rpb24oZSx0KXt2YXIgaT0oZS5jbGFzc05hbWV8fCIiKS5zcGxpdCgvXHMrL2cpO3JldHVybi0xIT09aS5pbmRleE9mKHQpfSx0LmFkZENzc0NsYXNzPWZ1bmN0aW9uKGUsaSl7dC5oYXNDc3NDbGFzcyhlLGkpfHwoZS5jbGFzc05hbWUrPSIgIitpKX0sdC5yZW1vdmVDc3NDbGFzcz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgaT1lLmNsYXNzTmFtZS5zcGxpdCgvXHMrL2cpOzspe3ZhciBuPWkuaW5kZXhPZih0KTtpZigtMT09bilicmVhaztpLnNwbGljZShuLDEpfWUuY2xhc3NOYW1lPWkuam9pbigiICIpfSx0LnRvZ2dsZUNzc0NsYXNzPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpPWUuY2xhc3NOYW1lLnNwbGl0KC9ccysvZyksbj0hMDs7KXt2YXIgcj1pLmluZGV4T2YodCk7aWYoLTE9PXIpYnJlYWs7bj0hMSxpLnNwbGljZShyLDEpfXJldHVybiBuJiZpLnB1c2godCksZS5jbGFzc05hbWU9aS5qb2luKCIgIiksbn0sdC5zZXRDc3NDbGFzcz1mdW5jdGlvbihlLGksbil7bj90LmFkZENzc0NsYXNzKGUsaSk6dC5yZW1vdmVDc3NDbGFzcyhlLGkpfSx0Lmhhc0Nzc1N0cmluZz1mdW5jdGlvbihlLHQpe3ZhciBpLG49MDtpZih0PXR8fGRvY3VtZW50LHQuY3JlYXRlU3R5bGVTaGVldCYmKGk9dC5zdHlsZVNoZWV0cykpe2Zvcig7bjxpLmxlbmd0aDspaWYoaVtuKytdLm93bmluZ0VsZW1lbnQuaWQ9PT1lKXJldHVybiEwfWVsc2UgaWYoaT10LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzdHlsZSIpKWZvcig7bjxpLmxlbmd0aDspaWYoaVtuKytdLmlkPT09ZSlyZXR1cm4hMDtyZXR1cm4hMX0sdC5pbXBvcnRDc3NTdHJpbmc9ZnVuY3Rpb24oZSxpLG4pe2lmKG49bnx8ZG9jdW1lbnQsaSYmdC5oYXNDc3NTdHJpbmcoaSxuKSlyZXR1cm4gbnVsbDt2YXIgcjtpJiYoZSs9IlxuLyojIHNvdXJjZVVSTD1hY2UvY3NzLyIraSsiICovIiksbi5jcmVhdGVTdHlsZVNoZWV0PyhyPW4uY3JlYXRlU3R5bGVTaGVldCgpLHIuY3NzVGV4dD1lLGkmJihyLm93bmluZ0VsZW1lbnQuaWQ9aSkpOihyPXQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxyLmFwcGVuZENoaWxkKG4uY3JlYXRlVGV4dE5vZGUoZSkpLGkmJihyLmlkPWkpLHQuZ2V0RG9jdW1lbnRIZWFkKG4pLmFwcGVuZENoaWxkKHIpKX0sdC5pbXBvcnRDc3NTdHlsc2hlZXQ9ZnVuY3Rpb24oZSxpKXtpZihpLmNyZWF0ZVN0eWxlU2hlZXQpaS5jcmVhdGVTdHlsZVNoZWV0KGUpO2Vsc2V7dmFyIG49dC5jcmVhdGVFbGVtZW50KCJsaW5rIik7bi5yZWw9InN0eWxlc2hlZXQiLG4uaHJlZj1lLHQuZ2V0RG9jdW1lbnRIZWFkKGkpLmFwcGVuZENoaWxkKG4pfX0sdC5nZXRJbm5lcldpZHRoPWZ1bmN0aW9uKGUpe3JldHVybiBwYXJzZUludCh0LmNvbXB1dGVkU3R5bGUoZSwicGFkZGluZ0xlZnQiKSwxMCkrcGFyc2VJbnQodC5jb21wdXRlZFN0eWxlKGUsInBhZGRpbmdSaWdodCIpLDEwKStlLmNsaWVudFdpZHRofSx0LmdldElubmVySGVpZ2h0PWZ1bmN0aW9uKGUpe3JldHVybiBwYXJzZUludCh0LmNvbXB1dGVkU3R5bGUoZSwicGFkZGluZ1RvcCIpLDEwKStwYXJzZUludCh0LmNvbXB1dGVkU3R5bGUoZSwicGFkZGluZ0JvdHRvbSIpLDEwKStlLmNsaWVudEhlaWdodH0sdC5zY3JvbGxiYXJXaWR0aD1mdW5jdGlvbihlKXt2YXIgaT10LmNyZWF0ZUVsZW1lbnQoImFjZV9pbm5lciIpO2kuc3R5bGUud2lkdGg9IjEwMCUiLGkuc3R5bGUubWluV2lkdGg9IjBweCIsaS5zdHlsZS5oZWlnaHQ9IjIwMHB4IixpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjt2YXIgbj10LmNyZWF0ZUVsZW1lbnQoImFjZV9vdXRlciIpLHI9bi5zdHlsZTtyLnBvc2l0aW9uPSJhYnNvbHV0ZSIsci5sZWZ0PSItMTAwMDBweCIsci5vdmVyZmxvdz0iaGlkZGVuIixyLndpZHRoPSIyMDBweCIsci5taW5XaWR0aD0iMHB4IixyLmhlaWdodD0iMTUwcHgiLHIuZGlzcGxheT0iYmxvY2siLG4uYXBwZW5kQ2hpbGQoaSk7dmFyIG89ZS5kb2N1bWVudEVsZW1lbnQ7by5hcHBlbmRDaGlsZChuKTt2YXIgcz1pLm9mZnNldFdpZHRoO3Iub3ZlcmZsb3c9InNjcm9sbCI7dmFyIGE9aS5vZmZzZXRXaWR0aDtyZXR1cm4gcz09YSYmKGE9bi5jbGllbnRXaWR0aCksby5yZW1vdmVDaGlsZChuKSxzLWF9LCJ1bmRlZmluZWQiPT10eXBlb2YgZG9jdW1lbnQ/dm9pZCh0LmltcG9ydENzc1N0cmluZz1mdW5jdGlvbigpe30pOih2b2lkIDAhPT13aW5kb3cucGFnZVlPZmZzZXQ/KHQuZ2V0UGFnZVNjcm9sbFRvcD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cucGFnZVlPZmZzZXR9LHQuZ2V0UGFnZVNjcm9sbExlZnQ9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LnBhZ2VYT2Zmc2V0fSk6KHQuZ2V0UGFnZVNjcm9sbFRvcD1mdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcH0sdC5nZXRQYWdlU2Nyb2xsTGVmdD1mdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnR9KSx3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZT90LmNvbXB1dGVkU3R5bGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD8od2luZG93LmdldENvbXB1dGVkU3R5bGUoZSwiIil8fHt9KVt0XXx8IiI6d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSwiIil8fHt9fTp0LmNvbXB1dGVkU3R5bGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD9lLmN1cnJlbnRTdHlsZVt0XTplLmN1cnJlbnRTdHlsZX0sdC5zZXRJbm5lckh0bWw9ZnVuY3Rpb24oZSx0KXt2YXIgaT1lLmNsb25lTm9kZSghMSk7cmV0dXJuIGkuaW5uZXJIVE1MPXQsZS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChpLGUpLGl9LCJ0ZXh0Q29udGVudCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ/KHQuc2V0SW5uZXJUZXh0PWZ1bmN0aW9uKGUsdCl7ZS50ZXh0Q29udGVudD10fSx0LmdldElubmVyVGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gZS50ZXh0Q29udGVudH0pOih0LnNldElubmVyVGV4dD1mdW5jdGlvbihlLHQpe2UuaW5uZXJUZXh0PXR9LHQuZ2V0SW5uZXJUZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVyVGV4dH0pLHZvaWQodC5nZXRQYXJlbnRXaW5kb3c9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZGVmYXVsdFZpZXd8fGUucGFyZW50V2luZG93fSkpfSksYWNlLmRlZmluZSgiYWNlL2xpYi9vb3AiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO3QuaW5oZXJpdHM9ZnVuY3Rpb24oZSx0KXtlLnN1cGVyXz10LGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTplLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pfSx0Lm1peGluPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpIGluIHQpZVtpXT10W2ldO3JldHVybiBlfSx0LmltcGxlbWVudD1mdW5jdGlvbihlLGkpe3QubWl4aW4oZSxpKX19KSxhY2UuZGVmaW5lKCJhY2UvbGliL2tleXMiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJhY2UvbGliL2ZpeG9sZGJyb3dzZXJzIiwiYWNlL2xpYi9vb3AiXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO2UoIi4vZml4b2xkYnJvd3NlcnMiKTt2YXIgbj1lKCIuL29vcCIpLHI9ZnVuY3Rpb24oKXt2YXIgZSx0LGk9e01PRElGSUVSX0tFWVM6ezE2OiJTaGlmdCIsMTc6IkN0cmwiLDE4OiJBbHQiLDIyNDoiTWV0YSJ9LEtFWV9NT0RTOntjdHJsOjEsYWx0OjIsb3B0aW9uOjIsc2hpZnQ6NCwic3VwZXIiOjgsbWV0YTo4LGNvbW1hbmQ6OCxjbWQ6OH0sRlVOQ1RJT05fS0VZUzp7ODoiQmFja3NwYWNlIiw5OiJUYWIiLDEzOiJSZXR1cm4iLDE5OiJQYXVzZSIsMjc6IkVzYyIsMzI6IlNwYWNlIiwzMzoiUGFnZVVwIiwzNDoiUGFnZURvd24iLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiTGVmdCIsMzg6IlVwIiwzOToiUmlnaHQiLDQwOiJEb3duIiw0NDoiUHJpbnQiLDQ1OiJJbnNlcnQiLDQ2OiJEZWxldGUiLDk2OiJOdW1wYWQwIiw5NzoiTnVtcGFkMSIsOTg6Ik51bXBhZDIiLDk5OiJOdW1wYWQzIiwxMDA6Ik51bXBhZDQiLDEwMToiTnVtcGFkNSIsMTAyOiJOdW1wYWQ2IiwxMDM6Ik51bXBhZDciLDEwNDoiTnVtcGFkOCIsMTA1OiJOdW1wYWQ5IiwiLTEzIjoiTnVtcGFkRW50ZXIiLDExMjoiRjEiLDExMzoiRjIiLDExNDoiRjMiLDExNToiRjQiLDExNjoiRjUiLDExNzoiRjYiLDExODoiRjciLDExOToiRjgiLDEyMDoiRjkiLDEyMToiRjEwIiwxMjI6IkYxMSIsMTIzOiJGMTIiLDE0NDoiTnVtbG9jayIsMTQ1OiJTY3JvbGxsb2NrIn0sUFJJTlRBQkxFX0tFWVM6ezMyOiIgIiw0ODoiMCIsNDk6IjEiLDUwOiIyIiw1MToiMyIsNTI6IjQiLDUzOiI1Iiw1NDoiNiIsNTU6IjciLDU2OiI4Iiw1NzoiOSIsNTk6IjsiLDYxOiI9Iiw2NToiYSIsNjY6ImIiLDY3OiJjIiw2ODoiZCIsNjk6ImUiLDcwOiJmIiw3MToiZyIsNzI6ImgiLDczOiJpIiw3NDoiaiIsNzU6ImsiLDc2OiJsIiw3NzoibSIsNzg6Im4iLDc5OiJvIiw4MDoicCIsODE6InEiLDgyOiJyIiw4MzoicyIsODQ6InQiLDg1OiJ1Iiw4NjoidiIsODc6InciLDg4OiJ4Iiw4OToieSIsOTA6InoiLDEwNzoiKyIsMTA5OiItIiwxMTA6Ii4iLDE4NjoiOyIsMTg3OiI9IiwxODg6IiwiLDE4OToiLSIsMTkwOiIuIiwxOTE6Ii8iLDE5MjoiYCIsMjE5OiJbIiwyMjA6IlxcIiwyMjE6Il0iLDIyMjoiJyIsMTExOiIvIiwxMDY6IioifX07Zm9yKHQgaW4gaS5GVU5DVElPTl9LRVlTKWU9aS5GVU5DVElPTl9LRVlTW3RdLnRvTG93ZXJDYXNlKCksaVtlXT1wYXJzZUludCh0LDEwKTtmb3IodCBpbiBpLlBSSU5UQUJMRV9LRVlTKWU9aS5QUklOVEFCTEVfS0VZU1t0XS50b0xvd2VyQ2FzZSgpLGlbZV09cGFyc2VJbnQodCwxMCk7cmV0dXJuIG4ubWl4aW4oaSxpLk1PRElGSUVSX0tFWVMpLG4ubWl4aW4oaSxpLlBSSU5UQUJMRV9LRVlTKSxuLm1peGluKGksaS5GVU5DVElPTl9LRVlTKSxpLmVudGVyPWlbInJldHVybiJdLGkuZXNjYXBlPWkuZXNjLGkuZGVsPWlbImRlbGV0ZSJdLGlbMTczXT0iLSIsZnVuY3Rpb24oKXtmb3IodmFyIGU9WyJjbWQiLCJjdHJsIiwiYWx0Iiwic2hpZnQiXSx0PU1hdGgucG93KDIsZS5sZW5ndGgpO3QtLTspaS5LRVlfTU9EU1t0XT1lLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gdCZpLktFWV9NT0RTW2VdfSkuam9pbigiLSIpKyItIn0oKSxpLktFWV9NT0RTWzBdPSIiLGkuS0VZX01PRFNbLTFdPSJpbnB1dC0iLGl9KCk7bi5taXhpbih0LHIpLHQua2V5Q29kZVRvU3RyaW5nPWZ1bmN0aW9uKGUpe3ZhciB0PXJbZV07cmV0dXJuInN0cmluZyIhPXR5cGVvZiB0JiYodD1TdHJpbmcuZnJvbUNoYXJDb2RlKGUpKSx0LnRvTG93ZXJDYXNlKCl9fSksYWNlLmRlZmluZSgiYWNlL2xpYi91c2VyYWdlbnQiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO2lmKHQuT1M9e0xJTlVYOiJMSU5VWCIsTUFDOiJNQUMiLFdJTkRPV1M6IldJTkRPV1MifSx0LmdldE9TPWZ1bmN0aW9uKCl7cmV0dXJuIHQuaXNNYWM/dC5PUy5NQUM6dC5pc0xpbnV4P3QuT1MuTElOVVg6dC5PUy5XSU5ET1dTfSwib2JqZWN0Ij09dHlwZW9mIG5hdmlnYXRvcil7dmFyIG49KG5hdmlnYXRvci5wbGF0Zm9ybS5tYXRjaCgvbWFjfHdpbnxsaW51eC9pKXx8WyJvdGhlciJdKVswXS50b0xvd2VyQ2FzZSgpLHI9bmF2aWdhdG9yLnVzZXJBZ2VudDt0LmlzV2luPSJ3aW4iPT1uLHQuaXNNYWM9Im1hYyI9PW4sdC5pc0xpbnV4PSJsaW51eCI9PW4sdC5pc0lFPSJNaWNyb3NvZnQgSW50ZXJuZXQgRXhwbG9yZXIiPT1uYXZpZ2F0b3IuYXBwTmFtZXx8bmF2aWdhdG9yLmFwcE5hbWUuaW5kZXhPZigiTVNBcHBIb3N0Iik+PTA/cGFyc2VGbG9hdCgoci5tYXRjaCgvKD86TVNJRSB8VHJpZGVudFwvWzAtOV0rW1wuMC05XSs7LipydjopKFswLTldK1tcLjAtOV0rKS8pfHxbXSlbMV0pOnBhcnNlRmxvYXQoKHIubWF0Y2goLyg/OlRyaWRlbnRcL1swLTldK1tcLjAtOV0rOy4qcnY6KShbMC05XStbXC4wLTldKykvKXx8W10pWzFdKSx0LmlzT2xkSUU9dC5pc0lFJiZ0LmlzSUU8OSx0LmlzR2Vja289dC5pc01vemlsbGE9KHdpbmRvdy5Db250cm9sbGVyc3x8d2luZG93LmNvbnRyb2xsZXJzKSYmIkdlY2tvIj09PXdpbmRvdy5uYXZpZ2F0b3IucHJvZHVjdCx0LmlzT2xkR2Vja289dC5pc0dlY2tvJiZwYXJzZUludCgoci5tYXRjaCgvcnZcOihcZCspLyl8fFtdKVsxXSwxMCk8NCx0LmlzT3BlcmE9d2luZG93Lm9wZXJhJiYiW29iamVjdCBPcGVyYV0iPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwod2luZG93Lm9wZXJhKSx0LmlzV2ViS2l0PXBhcnNlRmxvYXQoci5zcGxpdCgiV2ViS2l0LyIpWzFdKXx8dm9pZCAwLHQuaXNDaHJvbWU9cGFyc2VGbG9hdChyLnNwbGl0KCIgQ2hyb21lLyIpWzFdKXx8dm9pZCAwLHQuaXNBSVI9ci5pbmRleE9mKCJBZG9iZUFJUiIpPj0wLHQuaXNJUGFkPXIuaW5kZXhPZigiaVBhZCIpPj0wLHQuaXNUb3VjaFBhZD1yLmluZGV4T2YoIlRvdWNoUGFkIik+PTAsdC5pc0Nocm9tZU9TPXIuaW5kZXhPZigiIENyT1MgIik+PTB9fSksYWNlLmRlZmluZSgiYWNlL2xpYi9ldmVudCIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSIsImFjZS9saWIva2V5cyIsImFjZS9saWIvdXNlcmFnZW50Il0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCxpKXt2YXIgbj1jKHQpO2lmKCFzLmlzTWFjJiZhKXtpZihhLk9TS2V5JiYobnw9OCksYS5hbHRHcil7aWYoMz09KDMmbikpcmV0dXJuO2EuYWx0R3I9MH1pZigxOD09PWl8fDE3PT09aSl7dmFyIHI9ImxvY2F0aW9uImluIHQ/dC5sb2NhdGlvbjp0LmtleUxvY2F0aW9uO2lmKDE3PT09aSYmMT09PXIpMT09YVtpXSYmKGw9dC50aW1lU3RhbXApO2Vsc2UgaWYoMTg9PT1pJiYzPT09biYmMj09PXIpe3ZhciBoPXQudGltZVN0YW1wLWw7NTA+aCYmKGEuYWx0R3I9ITApfX19aWYoaSBpbiBvLk1PRElGSUVSX0tFWVMmJihpPS0xKSw4Jm4mJmk+PTkxJiY5Mz49aSYmKGk9LTEpLCFuJiYxMz09PWkpe3ZhciByPSJsb2NhdGlvbiJpbiB0P3QubG9jYXRpb246dC5rZXlMb2NhdGlvbjtpZigzPT09ciYmKGUodCxuLC1pKSx0LmRlZmF1bHRQcmV2ZW50ZWQpKXJldHVybn1pZihzLmlzQ2hyb21lT1MmJjgmbil7aWYoZSh0LG4saSksdC5kZWZhdWx0UHJldmVudGVkKXJldHVybjtuJj0tOX1yZXR1cm4gbnx8aSBpbiBvLkZVTkNUSU9OX0tFWVN8fGkgaW4gby5QUklOVEFCTEVfS0VZUz9lKHQsbixpKTohMX1mdW5jdGlvbiByKCl7YT1PYmplY3QuY3JlYXRlKG51bGwpLGEuY291bnQ9MCxhLmxhc3RUPTB9dmFyIG89ZSgiLi9rZXlzIikscz1lKCIuL3VzZXJhZ2VudCIpLGE9bnVsbCxsPTA7CnQuYWRkTGlzdGVuZXI9ZnVuY3Rpb24oZSx0LGkpe2lmKGUuYWRkRXZlbnRMaXN0ZW5lcilyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKHQsaSwhMSk7aWYoZS5hdHRhY2hFdmVudCl7dmFyIG49ZnVuY3Rpb24oKXtpLmNhbGwoZSx3aW5kb3cuZXZlbnQpfTtpLl93cmFwcGVyPW4sZS5hdHRhY2hFdmVudCgib24iK3Qsbil9fSx0LnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCxpKXtyZXR1cm4gZS5yZW1vdmVFdmVudExpc3RlbmVyP2UucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGksITEpOnZvaWQoZS5kZXRhY2hFdmVudCYmZS5kZXRhY2hFdmVudCgib24iK3QsaS5fd3JhcHBlcnx8aSkpfSx0LnN0b3BFdmVudD1mdW5jdGlvbihlKXtyZXR1cm4gdC5zdG9wUHJvcGFnYXRpb24oZSksdC5wcmV2ZW50RGVmYXVsdChlKSwhMX0sdC5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24/ZS5zdG9wUHJvcGFnYXRpb24oKTplLmNhbmNlbEJ1YmJsZT0hMH0sdC5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0P2UucHJldmVudERlZmF1bHQoKTplLnJldHVyblZhbHVlPSExfSx0LmdldEJ1dHRvbj1mdW5jdGlvbihlKXtyZXR1cm4iZGJsY2xpY2siPT1lLnR5cGU/MDoiY29udGV4dG1lbnUiPT1lLnR5cGV8fHMuaXNNYWMmJmUuY3RybEtleSYmIWUuYWx0S2V5JiYhZS5zaGlmdEtleT8yOmUucHJldmVudERlZmF1bHQ/ZS5idXR0b246ezE6MCwyOjIsNDoxfVtlLmJ1dHRvbl19LHQuY2FwdHVyZT1mdW5jdGlvbihlLGksbil7ZnVuY3Rpb24gcihlKXtpJiZpKGUpLG4mJm4oZSksdC5yZW1vdmVMaXN0ZW5lcihkb2N1bWVudCwibW91c2Vtb3ZlIixpLCEwKSx0LnJlbW92ZUxpc3RlbmVyKGRvY3VtZW50LCJtb3VzZXVwIixyLCEwKSx0LnJlbW92ZUxpc3RlbmVyKGRvY3VtZW50LCJkcmFnc3RhcnQiLHIsITApfXJldHVybiB0LmFkZExpc3RlbmVyKGRvY3VtZW50LCJtb3VzZW1vdmUiLGksITApLHQuYWRkTGlzdGVuZXIoZG9jdW1lbnQsIm1vdXNldXAiLHIsITApLHQuYWRkTGlzdGVuZXIoZG9jdW1lbnQsImRyYWdzdGFydCIsciwhMCkscn0sdC5hZGRUb3VjaE1vdmVMaXN0ZW5lcj1mdW5jdGlvbihlLGkpe2lmKCJvbnRvdWNobW92ZSJpbiBlKXt2YXIgbixyO3QuYWRkTGlzdGVuZXIoZSwidG91Y2hzdGFydCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGFuZ2VkVG91Y2hlc1swXTtuPXQuY2xpZW50WCxyPXQuY2xpZW50WX0pLHQuYWRkTGlzdGVuZXIoZSwidG91Y2htb3ZlIixmdW5jdGlvbihlKXt2YXIgdD0xLG89ZS5jaGFuZ2VkVG91Y2hlc1swXTtlLndoZWVsWD0tKG8uY2xpZW50WC1uKS90LGUud2hlZWxZPS0oby5jbGllbnRZLXIpL3Qsbj1vLmNsaWVudFgscj1vLmNsaWVudFksaShlKX0pfX0sdC5hZGRNb3VzZVdoZWVsTGlzdGVuZXI9ZnVuY3Rpb24oZSxpKXsib25tb3VzZXdoZWVsImluIGU/dC5hZGRMaXN0ZW5lcihlLCJtb3VzZXdoZWVsIixmdW5jdGlvbihlKXt2YXIgdD04O3ZvaWQgMCE9PWUud2hlZWxEZWx0YVg/KGUud2hlZWxYPS1lLndoZWVsRGVsdGFYL3QsZS53aGVlbFk9LWUud2hlZWxEZWx0YVkvdCk6KGUud2hlZWxYPTAsZS53aGVlbFk9LWUud2hlZWxEZWx0YS90KSxpKGUpfSk6Im9ud2hlZWwiaW4gZT90LmFkZExpc3RlbmVyKGUsIndoZWVsIixmdW5jdGlvbihlKXt2YXIgdD0uMzU7c3dpdGNoKGUuZGVsdGFNb2RlKXtjYXNlIGUuRE9NX0RFTFRBX1BJWEVMOmUud2hlZWxYPWUuZGVsdGFYKnR8fDAsZS53aGVlbFk9ZS5kZWx0YVkqdHx8MDticmVhaztjYXNlIGUuRE9NX0RFTFRBX0xJTkU6Y2FzZSBlLkRPTV9ERUxUQV9QQUdFOmUud2hlZWxYPTUqKGUuZGVsdGFYfHwwKSxlLndoZWVsWT01KihlLmRlbHRhWXx8MCl9aShlKX0pOnQuYWRkTGlzdGVuZXIoZSwiRE9NTW91c2VTY3JvbGwiLGZ1bmN0aW9uKGUpe2UuYXhpcyYmZS5heGlzPT1lLkhPUklaT05UQUxfQVhJUz8oZS53aGVlbFg9NSooZS5kZXRhaWx8fDApLGUud2hlZWxZPTApOihlLndoZWVsWD0wLGUud2hlZWxZPTUqKGUuZGV0YWlsfHwwKSksaShlKX0pfSx0LmFkZE11bHRpTW91c2VEb3duTGlzdGVuZXI9ZnVuY3Rpb24oZSxpLG4scil7ZnVuY3Rpb24gbyhlKXtpZigwIT09dC5nZXRCdXR0b24oZSk/ZD0wOmUuZGV0YWlsPjE/KGQrKyxkPjQmJihkPTEpKTpkPTEscy5pc0lFKXt2YXIgbz1NYXRoLmFicyhlLmNsaWVudFgtbCk+NXx8TWF0aC5hYnMoZS5jbGllbnRZLWMpPjU7aCYmIW98fChkPTEpLGgmJmNsZWFyVGltZW91dChoKSxoPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtoPW51bGx9LGlbZC0xXXx8NjAwKSwxPT1kJiYobD1lLmNsaWVudFgsYz1lLmNsaWVudFkpfWlmKGUuX2NsaWNrcz1kLG5bcl0oIm1vdXNlZG93biIsZSksZD40KWQ9MDtlbHNlIGlmKGQ+MSlyZXR1cm4gbltyXSh1W2RdLGUpfWZ1bmN0aW9uIGEoZSl7ZD0yLGgmJmNsZWFyVGltZW91dChoKSxoPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtoPW51bGx9LGlbZC0xXXx8NjAwKSxuW3JdKCJtb3VzZWRvd24iLGUpLG5bcl0odVtkXSxlKX12YXIgbCxjLGgsZD0wLHU9ezI6ImRibGNsaWNrIiwzOiJ0cmlwbGVjbGljayIsNDoicXVhZGNsaWNrIn07QXJyYXkuaXNBcnJheShlKXx8KGU9W2VdKSxlLmZvckVhY2goZnVuY3Rpb24oZSl7dC5hZGRMaXN0ZW5lcihlLCJtb3VzZWRvd24iLG8pLHMuaXNPbGRJRSYmdC5hZGRMaXN0ZW5lcihlLCJkYmxjbGljayIsYSl9KX07dmFyIGM9IXMuaXNNYWN8fCFzLmlzT3BlcmF8fCJLZXlib2FyZEV2ZW50ImluIHdpbmRvdz9mdW5jdGlvbihlKXtyZXR1cm4gMHwoZS5jdHJsS2V5PzE6MCl8KGUuYWx0S2V5PzI6MCl8KGUuc2hpZnRLZXk/NDowKXwoZS5tZXRhS2V5Pzg6MCl9OmZ1bmN0aW9uKGUpe3JldHVybiAwfChlLm1ldGFLZXk/MTowKXwoZS5hbHRLZXk/MjowKXwoZS5zaGlmdEtleT80OjApfChlLmN0cmxLZXk/ODowKX07aWYodC5nZXRNb2RpZmllclN0cmluZz1mdW5jdGlvbihlKXtyZXR1cm4gby5LRVlfTU9EU1tjKGUpXX0sdC5hZGRDb21tYW5kS2V5TGlzdGVuZXI9ZnVuY3Rpb24oZSxpKXt2YXIgbz10LmFkZExpc3RlbmVyO2lmKHMuaXNPbGRHZWNrb3x8cy5pc09wZXJhJiYhKCJLZXlib2FyZEV2ZW50ImluIHdpbmRvdykpe3ZhciBsPW51bGw7byhlLCJrZXlkb3duIixmdW5jdGlvbihlKXtsPWUua2V5Q29kZX0pLG8oZSwia2V5cHJlc3MiLGZ1bmN0aW9uKGUpe3JldHVybiBuKGksZSxsKX0pfWVsc2V7dmFyIGM9bnVsbDtvKGUsImtleWRvd24iLGZ1bmN0aW9uKGUpe3ZhciB0PWUua2V5Q29kZTthW3RdPShhW3RdfHwwKSsxLDkxPT10fHw5Mj09dD9hLk9TS2V5PSEwOmEuT1NLZXkmJmUudGltZVN0YW1wLWEubGFzdFQ+MjAwJiYxPT1hLmNvdW50JiZyKCksMT09YVt0XSYmYS5jb3VudCsrLGEubGFzdFQ9ZS50aW1lU3RhbXA7dmFyIG89bihpLGUsdCk7cmV0dXJuIGM9ZS5kZWZhdWx0UHJldmVudGVkLG99KSxvKGUsImtleXByZXNzIixmdW5jdGlvbihlKXtjJiYoZS5jdHJsS2V5fHxlLmFsdEtleXx8ZS5zaGlmdEtleXx8ZS5tZXRhS2V5KSYmKHQuc3RvcEV2ZW50KGUpLGM9bnVsbCl9KSxvKGUsImtleXVwIixmdW5jdGlvbihlKXt2YXIgdD1lLmtleUNvZGU7YVt0XT9hLmNvdW50PU1hdGgubWF4KGEuY291bnQtMSwwKTpyKCksOTEhPXQmJjkyIT10fHwoYS5PU0tleT0hMSksYVt0XT1udWxsfSksYXx8KHIoKSxvKHdpbmRvdywiZm9jdXMiLHIpKX19LCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cucG9zdE1lc3NhZ2UmJiFzLmlzT2xkSUUpe3ZhciBoPTE7dC5uZXh0VGljaz1mdW5jdGlvbihlLGkpe2k9aXx8d2luZG93O3ZhciBuPSJ6ZXJvLXRpbWVvdXQtbWVzc2FnZS0iK2g7dC5hZGRMaXN0ZW5lcihpLCJtZXNzYWdlIixmdW5jdGlvbiByKG8pe28uZGF0YT09biYmKHQuc3RvcFByb3BhZ2F0aW9uKG8pLHQucmVtb3ZlTGlzdGVuZXIoaSwibWVzc2FnZSIsciksZSgpKX0pLGkucG9zdE1lc3NhZ2UobiwiKiIpfX10Lm5leHRGcmFtZT0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5tc1JlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93Lm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWUpLHQubmV4dEZyYW1lP3QubmV4dEZyYW1lPXQubmV4dEZyYW1lLmJpbmQod2luZG93KTp0Lm5leHRGcmFtZT1mdW5jdGlvbihlKXtzZXRUaW1lb3V0KGUsMTcpfX0pLGFjZS5kZWZpbmUoImFjZS9saWIvbGFuZyIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSJdLGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7dC5sYXN0PWZ1bmN0aW9uKGUpe3JldHVybiBlW2UubGVuZ3RoLTFdfSx0LnN0cmluZ1JldmVyc2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3BsaXQoIiIpLnJldmVyc2UoKS5qb2luKCIiKX0sdC5zdHJpbmdSZXBlYXQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIGk9IiI7dD4wOykxJnQmJihpKz1lKSwodD4+PTEpJiYoZSs9ZSk7cmV0dXJuIGl9O3ZhciBuPS9eXHNccyovLHI9L1xzXHMqJC87dC5zdHJpbmdUcmltTGVmdD1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKG4sIiIpfSx0LnN0cmluZ1RyaW1SaWdodD1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKHIsIiIpfSx0LmNvcHlPYmplY3Q9ZnVuY3Rpb24oZSl7dmFyIHQ9e307Zm9yKHZhciBpIGluIGUpdFtpXT1lW2ldO3JldHVybiB0fSx0LmNvcHlBcnJheT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9W10saT0wLG49ZS5sZW5ndGg7bj5pO2krKyllW2ldJiYib2JqZWN0Ij09dHlwZW9mIGVbaV0/dFtpXT10aGlzLmNvcHlPYmplY3QoZVtpXSk6dFtpXT1lW2ldO3JldHVybiB0fSx0LmRlZXBDb3B5PWZ1bmN0aW9uIG8oZSl7aWYoIm9iamVjdCIhPXR5cGVvZiBlfHwhZSlyZXR1cm4gZTt2YXIgdDtpZihBcnJheS5pc0FycmF5KGUpKXt0PVtdO2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7aSsrKXRbaV09byhlW2ldKTtyZXR1cm4gdH12YXIgbj1lLmNvbnN0cnVjdG9yO2lmKG49PT1SZWdFeHApcmV0dXJuIGU7dD1uKCk7Zm9yKHZhciBpIGluIGUpdFtpXT1vKGVbaV0pO3JldHVybiB0fSx0LmFycmF5VG9NYXA9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXt9LGk9MDtpPGUubGVuZ3RoO2krKyl0W2VbaV1dPTE7cmV0dXJuIHR9LHQuY3JlYXRlTWFwPWZ1bmN0aW9uKGUpe3ZhciB0PU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKHZhciBpIGluIGUpdFtpXT1lW2ldO3JldHVybiB0fSx0LmFycmF5UmVtb3ZlPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpPTA7aTw9ZS5sZW5ndGg7aSsrKXQ9PT1lW2ldJiZlLnNwbGljZShpLDEpfSx0LmVzY2FwZVJlZ0V4cD1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC8oWy4qKz9eJHt9KCl8W1xdXC9cXF0pL2csIlxcJDEiKX0sdC5lc2NhcGVIVE1MPWZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoLyYvZywiJiMzODsiKS5yZXBsYWNlKC8iL2csIiYjMzQ7IikucmVwbGFjZSgvJy9nLCImIzM5OyIpLnJlcGxhY2UoLzwvZywiJiM2MDsiKX0sdC5nZXRNYXRjaE9mZnNldHM9ZnVuY3Rpb24oZSx0KXt2YXIgaT1bXTtyZXR1cm4gZS5yZXBsYWNlKHQsZnVuY3Rpb24oZSl7aS5wdXNoKHtvZmZzZXQ6YXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGgtMl0sbGVuZ3RoOmUubGVuZ3RofSl9KSxpfSx0LmRlZmVycmVkQ2FsbD1mdW5jdGlvbihlKXt2YXIgdD1udWxsLGk9ZnVuY3Rpb24oKXt0PW51bGwsZSgpfSxuPWZ1bmN0aW9uKGUpe3JldHVybiBuLmNhbmNlbCgpLHQ9c2V0VGltZW91dChpLGV8fDApLG59O3JldHVybiBuLnNjaGVkdWxlPW4sbi5jYWxsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2FuY2VsKCksZSgpLG59LG4uY2FuY2VsPWZ1bmN0aW9uKCl7cmV0dXJuIGNsZWFyVGltZW91dCh0KSx0PW51bGwsbn0sbi5pc1BlbmRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbn0sdC5kZWxheWVkQ2FsbD1mdW5jdGlvbihlLHQpe3ZhciBpPW51bGwsbj1mdW5jdGlvbigpe2k9bnVsbCxlKCl9LHI9ZnVuY3Rpb24oZSl7bnVsbD09aSYmKGk9c2V0VGltZW91dChuLGV8fHQpKX07cmV0dXJuIHIuZGVsYXk9ZnVuY3Rpb24oZSl7aSYmY2xlYXJUaW1lb3V0KGkpLGk9c2V0VGltZW91dChuLGV8fHQpfSxyLnNjaGVkdWxlPXIsci5jYWxsPWZ1bmN0aW9uKCl7dGhpcy5jYW5jZWwoKSxlKCl9LHIuY2FuY2VsPWZ1bmN0aW9uKCl7aSYmY2xlYXJUaW1lb3V0KGkpLGk9bnVsbH0sci5pc1BlbmRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gaX0scn19KSxhY2UuZGVmaW5lKCJhY2Uva2V5Ym9hcmQvdGV4dGlucHV0IixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIiwiYWNlL2xpYi9ldmVudCIsImFjZS9saWIvdXNlcmFnZW50IiwiYWNlL2xpYi9kb20iLCJhY2UvbGliL2xhbmciXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWUoIi4uL2xpYi9ldmVudCIpLHI9ZSgiLi4vbGliL3VzZXJhZ2VudCIpLG89ZSgiLi4vbGliL2RvbSIpLHM9ZSgiLi4vbGliL2xhbmciKSxhPXIuaXNDaHJvbWU8MTgsbD1yLmlzSUUsYz1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIGkoZSl7aWYoIW0pe2lmKG09ITAsRCl0PTAsaT1lPzA6ZC52YWx1ZS5sZW5ndGgtMTtlbHNlIHZhciB0PWU/MjoxLGk9Mjt0cnl7ZC5zZXRTZWxlY3Rpb25SYW5nZSh0LGkpfWNhdGNoKG4pe31tPSExfX1mdW5jdGlvbiBjKCl7bXx8KGQudmFsdWU9dSxyLmlzV2ViS2l0JiZDLnNjaGVkdWxlKCkpfWZ1bmN0aW9uIGgoKXtjbGVhclRpbWVvdXQoVyksVz1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZyYmKGQuc3R5bGUuY3NzVGV4dD1nLGc9IiIpLG51bGw9PXQucmVuZGVyZXIuJGtlZXBUZXh0QXJlYUF0Q3Vyc29yJiYodC5yZW5kZXJlci4ka2VlcFRleHRBcmVhQXRDdXJzb3I9ITAsdC5yZW5kZXJlci4kbW92ZVRleHRBcmVhVG9DdXJzb3IoKSl9LHIuaXNPbGRJRT8yMDA6MCl9dmFyIGQ9by5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpO2QuY2xhc3NOYW1lPSJhY2VfdGV4dC1pbnB1dCIsci5pc1RvdWNoUGFkJiZkLnNldEF0dHJpYnV0ZSgieC1wYWxtLWRpc2FibGUtYXV0by1jYXAiLCEwKSxkLnNldEF0dHJpYnV0ZSgid3JhcCIsIm9mZiIpLGQuc2V0QXR0cmlidXRlKCJhdXRvY29ycmVjdCIsIm9mZiIpLGQuc2V0QXR0cmlidXRlKCJhdXRvY2FwaXRhbGl6ZSIsIm9mZiIpLGQuc2V0QXR0cmlidXRlKCJzcGVsbGNoZWNrIiwhMSksZC5zdHlsZS5vcGFjaXR5PSIwIixyLmlzT2xkSUUmJihkLnN0eWxlLnRvcD0iLTEwMDBweCIpLGUuaW5zZXJ0QmVmb3JlKGQsZS5maXJzdENoaWxkKTt2YXIgdT0iAQEiLGY9ITEscD0hMSxtPSExLGc9IiIsdj0hMDt0cnl7dmFyIHc9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWR9Y2F0Y2goeSl7fW4uYWRkTGlzdGVuZXIoZCwiYmx1ciIsZnVuY3Rpb24oZSl7dC5vbkJsdXIoZSksdz0hMX0pLG4uYWRkTGlzdGVuZXIoZCwiZm9jdXMiLGZ1bmN0aW9uKGUpe3c9ITAsdC5vbkZvY3VzKGUpLGkoKX0pLHRoaXMuZm9jdXM9ZnVuY3Rpb24oKXtpZihnKXJldHVybiBkLmZvY3VzKCk7dmFyIGU9ZC5zdHlsZS50b3A7ZC5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLGQuc3R5bGUudG9wPSIwcHgiLGQuZm9jdXMoKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5zdHlsZS5wb3NpdGlvbj0iIiwiMHB4Ij09ZC5zdHlsZS50b3AmJihkLnN0eWxlLnRvcD1lKX0sMCl9LHRoaXMuYmx1cj1mdW5jdGlvbigpe2QuYmx1cigpfSx0aGlzLmlzRm9jdXNlZD1mdW5jdGlvbigpe3JldHVybiB3fTt2YXIgQT1zLmRlbGF5ZWRDYWxsKGZ1bmN0aW9uKCl7dyYmaSh2KX0pLEM9cy5kZWxheWVkQ2FsbChmdW5jdGlvbigpe218fChkLnZhbHVlPXUsdyYmaSgpKX0pO3IuaXNXZWJLaXR8fHQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlU2VsZWN0aW9uIixmdW5jdGlvbigpe3Quc2VsZWN0aW9uLmlzRW1wdHkoKSE9diYmKHY9IXYsQS5zY2hlZHVsZSgpKX0pLGMoKSx3JiZ0Lm9uRm9jdXMoKTt2YXIgRT1mdW5jdGlvbihlKXtyZXR1cm4gMD09PWUuc2VsZWN0aW9uU3RhcnQmJmUuc2VsZWN0aW9uRW5kPT09ZS52YWx1ZS5sZW5ndGh9O2lmKCFkLnNldFNlbGVjdGlvblJhbmdlJiZkLmNyZWF0ZVRleHRSYW5nZSYmKGQuc2V0U2VsZWN0aW9uUmFuZ2U9ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLmNyZWF0ZVRleHRSYW5nZSgpO2kuY29sbGFwc2UoITApLGkubW92ZVN0YXJ0KCJjaGFyYWN0ZXIiLGUpLGkubW92ZUVuZCgiY2hhcmFjdGVyIix0KSxpLnNlbGVjdCgpfSxFPWZ1bmN0aW9uKGUpe3RyeXt2YXIgdD1lLm93bmVyRG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCl9Y2F0Y2goaSl7fXJldHVybiB0JiZ0LnBhcmVudEVsZW1lbnQoKT09ZT90LnRleHQ9PWUudmFsdWU6ITF9KSxyLmlzT2xkSUUpe3ZhciBiPSExLEY9ZnVuY3Rpb24oZSl7aWYoIWIpe3ZhciB0PWQudmFsdWU7aWYoIW0mJnQmJnQhPXUpe2lmKGUmJnQ9PXVbMF0pcmV0dXJuIHguc2NoZWR1bGUoKTtCKHQpLGI9ITAsYygpLGI9ITF9fX0seD1zLmRlbGF5ZWRDYWxsKEYpO24uYWRkTGlzdGVuZXIoZCwicHJvcGVydHljaGFuZ2UiLEYpO3ZhciBTPXsxMzoxLDI3OjF9O24uYWRkTGlzdGVuZXIoZCwia2V5dXAiLGZ1bmN0aW9uKGUpe3JldHVybiFtfHxkLnZhbHVlJiYhU1tlLmtleUNvZGVdfHxzZXRUaW1lb3V0KEksMCksKGQudmFsdWUuY2hhckNvZGVBdCgwKXx8MCk8MTI5P3guY2FsbCgpOnZvaWQobT9OKCk6TygpKX0pLG4uYWRkTGlzdGVuZXIoZCwia2V5ZG93biIsZnVuY3Rpb24oZSl7eC5zY2hlZHVsZSg1MCl9KX12YXIgJD1mdW5jdGlvbihlKXtmP2Y9ITE6RShkKT8odC5zZWxlY3RBbGwoKSxpKCkpOkQmJmkodC5zZWxlY3Rpb24uaXNFbXB0eSgpKX0sRD1udWxsO3RoaXMuc2V0SW5wdXRIYW5kbGVyPWZ1bmN0aW9uKGUpe0Q9ZX0sdGhpcy5nZXRJbnB1dEhhbmRsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gRH07dmFyIGs9ITEsQj1mdW5jdGlvbihlKXtEJiYoZT1EKGUpLEQ9bnVsbCkscD8oaSgpLGUmJnQub25QYXN0ZShlKSxwPSExKTplPT11LmNoYXJBdCgwKT9rP3QuZXhlY0NvbW1hbmQoImRlbCIse3NvdXJjZToiYWNlIn0pOnQuZXhlY0NvbW1hbmQoImJhY2tzcGFjZSIse3NvdXJjZToiYWNlIn0pOihlLnN1YnN0cmluZygwLDIpPT11P2U9ZS5zdWJzdHIoMik6ZS5jaGFyQXQoMCk9PXUuY2hhckF0KDApP2U9ZS5zdWJzdHIoMSk6ZS5jaGFyQXQoZS5sZW5ndGgtMSk9PXUuY2hhckF0KDApJiYoZT1lLnNsaWNlKDAsLTEpKSxlLmNoYXJBdChlLmxlbmd0aC0xKT09dS5jaGFyQXQoMCkmJihlPWUuc2xpY2UoMCwtMSkpLGUmJnQub25UZXh0SW5wdXQoZSkpLGsmJihrPSExKX0sXz1mdW5jdGlvbihlKXtpZighbSl7dmFyIHQ9ZC52YWx1ZTtCKHQpLGMoKX19LEw9ZnVuY3Rpb24oZSx0KXt2YXIgaT1lLmNsaXBib2FyZERhdGF8fHdpbmRvdy5jbGlwYm9hcmREYXRhO2lmKGkmJiFhKXt2YXIgbj1sPyJUZXh0IjoidGV4dC9wbGFpbiI7cmV0dXJuIHQ/aS5zZXREYXRhKG4sdCkhPT0hMTppLmdldERhdGEobil9fSxSPWZ1bmN0aW9uKGUscil7dmFyIG89dC5nZXRDb3B5VGV4dCgpO3JldHVybiBvP3ZvaWQoTChlLG8pPyhyP3Qub25DdXQoKTp0Lm9uQ29weSgpLG4ucHJldmVudERlZmF1bHQoZSkpOihmPSEwLGQudmFsdWU9byxkLnNlbGVjdCgpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtmPSExLGMoKSxpKCkscj90Lm9uQ3V0KCk6dC5vbkNvcHkoKX0pKSk6bi5wcmV2ZW50RGVmYXVsdChlKX0sVD1mdW5jdGlvbihlKXtSKGUsITApfSxQPWZ1bmN0aW9uKGUpe1IoZSwhMSl9LE09ZnVuY3Rpb24oZSl7dmFyIG89TChlKTsic3RyaW5nIj09dHlwZW9mIG8/KG8mJnQub25QYXN0ZShvLGUpLHIuaXNJRSYmc2V0VGltZW91dChpKSxuLnByZXZlbnREZWZhdWx0KGUpKTooZC52YWx1ZT0iIixwPSEwKX07bi5hZGRDb21tYW5kS2V5TGlzdGVuZXIoZCx0Lm9uQ29tbWFuZEtleS5iaW5kKHQpKSxuLmFkZExpc3RlbmVyKGQsInNlbGVjdCIsJCksbi5hZGRMaXN0ZW5lcihkLCJpbnB1dCIsXyksbi5hZGRMaXN0ZW5lcihkLCJjdXQiLFQpLG4uYWRkTGlzdGVuZXIoZCwiY29weSIsUCksbi5hZGRMaXN0ZW5lcihkLCJwYXN0ZSIsTSksIm9uY3V0ImluIGQmJiJvbmNvcHkiaW4gZCYmIm9ucGFzdGUiaW4gZHx8bi5hZGRMaXN0ZW5lcihlLCJrZXlkb3duIixmdW5jdGlvbihlKXtpZigoIXIuaXNNYWN8fGUubWV0YUtleSkmJmUuY3RybEtleSlzd2l0Y2goZS5rZXlDb2RlKXtjYXNlIDY3OlAoZSk7YnJlYWs7Y2FzZSA4NjpNKGUpO2JyZWFrO2Nhc2UgODg6VChlKX19KTt2YXIgTz1mdW5jdGlvbihlKXttfHwhdC5vbkNvbXBvc2l0aW9uU3RhcnR8fHQuJHJlYWRPbmx5fHwobT17fSx0Lm9uQ29tcG9zaXRpb25TdGFydCgpLHNldFRpbWVvdXQoTiwwKSx0Lm9uKCJtb3VzZWRvd24iLEkpLHQuc2VsZWN0aW9uLmlzRW1wdHkoKXx8KHQuaW5zZXJ0KCIiKSx0LnNlc3Npb24ubWFya1VuZG9Hcm91cCgpLHQuc2VsZWN0aW9uLmNsZWFyU2VsZWN0aW9uKCkpLHQuc2Vzc2lvbi5tYXJrVW5kb0dyb3VwKCkpfSxOPWZ1bmN0aW9uKCl7aWYobSYmdC5vbkNvbXBvc2l0aW9uVXBkYXRlJiYhdC4kcmVhZE9ubHkpe3ZhciBlPWQudmFsdWUucmVwbGFjZSgvXHgwMS9nLCIiKTtpZihtLmxhc3RWYWx1ZSE9PWUmJih0Lm9uQ29tcG9zaXRpb25VcGRhdGUoZSksbS5sYXN0VmFsdWUmJnQudW5kbygpLG0ubGFzdFZhbHVlPWUsbS5sYXN0VmFsdWUpKXt2YXIgaT10LnNlbGVjdGlvbi5nZXRSYW5nZSgpO3QuaW5zZXJ0KG0ubGFzdFZhbHVlKSx0LnNlc3Npb24ubWFya1VuZG9Hcm91cCgpLG0ucmFuZ2U9dC5zZWxlY3Rpb24uZ2V0UmFuZ2UoKSx0LnNlbGVjdGlvbi5zZXRSYW5nZShpKSx0LnNlbGVjdGlvbi5jbGVhclNlbGVjdGlvbigpfX19LEk9ZnVuY3Rpb24oZSl7aWYodC5vbkNvbXBvc2l0aW9uRW5kJiYhdC4kcmVhZE9ubHkpe3ZhciBpPW07bT0hMTt2YXIgbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bj1udWxsO3ZhciBlPWQudmFsdWUucmVwbGFjZSgvXHgwMS9nLCIiKTttfHwoZT09aS5sYXN0VmFsdWU/YygpOiFpLmxhc3RWYWx1ZSYmZSYmKGMoKSxCKGUpKSl9KTtEPWZ1bmN0aW9uKGUpe3JldHVybiBuJiZjbGVhclRpbWVvdXQobiksZT1lLnJlcGxhY2UoL1x4MDEvZywiIiksZT09aS5sYXN0VmFsdWU/IiI6KGkubGFzdFZhbHVlJiZuJiZ0LnVuZG8oKSxlKX0sdC5vbkNvbXBvc2l0aW9uRW5kKCksdC5yZW1vdmVMaXN0ZW5lcigibW91c2Vkb3duIixJKSwiY29tcG9zaXRpb25lbmQiPT1lLnR5cGUmJmkucmFuZ2UmJnQuc2VsZWN0aW9uLnNldFJhbmdlKGkucmFuZ2UpfX0saj1zLmRlbGF5ZWRDYWxsKE4sNTApO24uYWRkTGlzdGVuZXIoZCwiY29tcG9zaXRpb25zdGFydCIsTyksci5pc0dlY2tvP24uYWRkTGlzdGVuZXIoZCwidGV4dCIsZnVuY3Rpb24oKXtqLnNjaGVkdWxlKCl9KToobi5hZGRMaXN0ZW5lcihkLCJrZXl1cCIsZnVuY3Rpb24oKXtqLnNjaGVkdWxlKCl9KSxuLmFkZExpc3RlbmVyKGQsImtleWRvd24iLGZ1bmN0aW9uKCl7ai5zY2hlZHVsZSgpfSkpLG4uYWRkTGlzdGVuZXIoZCwiY29tcG9zaXRpb25lbmQiLEkpLHRoaXMuZ2V0RWxlbWVudD1mdW5jdGlvbigpe3JldHVybiBkfSx0aGlzLnNldFJlYWRPbmx5PWZ1bmN0aW9uKGUpe2QucmVhZE9ubHk9ZX0sdGhpcy5vbkNvbnRleHRNZW51PWZ1bmN0aW9uKGUpe2s9ITAsaSh0LnNlbGVjdGlvbi5pc0VtcHR5KCkpLHQuX2VtaXQoIm5hdGl2ZWNvbnRleHRtZW51Iix7dGFyZ2V0OnQsZG9tRXZlbnQ6ZX0pLHRoaXMubW92ZVRvTW91c2UoZSwhMCl9LHRoaXMubW92ZVRvTW91c2U9ZnVuY3Rpb24oZSxpKXtpZihpfHwhci5pc09sZElFKXtnfHwoZz1kLnN0eWxlLmNzc1RleHQpLGQuc3R5bGUuY3NzVGV4dD0oaT8iei1pbmRleDoxMDAwMDA7IjoiIikrImhlaWdodDoiK2Quc3R5bGUuaGVpZ2h0KyI7Iisoci5pc0lFPyJvcGFjaXR5OjAuMTsiOiIiKTt2YXIgcz10LmNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxhPW8uY29tcHV0ZWRTdHlsZSh0LmNvbnRhaW5lciksbD1zLnRvcCsocGFyc2VJbnQoYS5ib3JkZXJUb3BXaWR0aCl8fDApLGM9cy5sZWZ0KyhwYXJzZUludChzLmJvcmRlckxlZnRXaWR0aCl8fDApLHU9cy5ib3R0b20tbC1kLmNsaWVudEhlaWdodC0yLGY9ZnVuY3Rpb24oZSl7ZC5zdHlsZS5sZWZ0PWUuY2xpZW50WC1jLTIrInB4IixkLnN0eWxlLnRvcD1NYXRoLm1pbihlLmNsaWVudFktbC0yLHUpKyJweCJ9O2YoZSksIm1vdXNlZG93biI9PWUudHlwZSYmKHQucmVuZGVyZXIuJGtlZXBUZXh0QXJlYUF0Q3Vyc29yJiYodC5yZW5kZXJlci4ka2VlcFRleHRBcmVhQXRDdXJzb3I9bnVsbCksY2xlYXJUaW1lb3V0KFcpLHIuaXNXaW4mJiFyLmlzT2xkSUUmJm4uY2FwdHVyZSh0LmNvbnRhaW5lcixmLGgpKX19LHRoaXMub25Db250ZXh0TWVudUNsb3NlPWg7dmFyIFcsSD1mdW5jdGlvbihlKXt0LnRleHRJbnB1dC5vbkNvbnRleHRNZW51KGUpLGgoKX07bi5hZGRMaXN0ZW5lcihkLCJtb3VzZXVwIixIKSxuLmFkZExpc3RlbmVyKGQsIm1vdXNlZG93biIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGgoKX0pLG4uYWRkTGlzdGVuZXIodC5yZW5kZXJlci5zY3JvbGxlciwiY29udGV4dG1lbnUiLEgpLG4uYWRkTGlzdGVuZXIoZCwiY29udGV4dG1lbnUiLEgpfTt0LlRleHRJbnB1dD1jfSksYWNlLmRlZmluZSgiYWNlL21vdXNlL2RlZmF1bHRfaGFuZGxlcnMiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJhY2UvbGliL2RvbSIsImFjZS9saWIvZXZlbnQiLCJhY2UvbGliL3VzZXJhZ2VudCJdLGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtlLiRjbGlja1NlbGVjdGlvbj1udWxsO3ZhciB0PWUuZWRpdG9yO3Quc2V0RGVmYXVsdEhhbmRsZXIoIm1vdXNlZG93biIsdGhpcy5vbk1vdXNlRG93bi5iaW5kKGUpKSx0LnNldERlZmF1bHRIYW5kbGVyKCJkYmxjbGljayIsdGhpcy5vbkRvdWJsZUNsaWNrLmJpbmQoZSkpLHQuc2V0RGVmYXVsdEhhbmRsZXIoInRyaXBsZWNsaWNrIix0aGlzLm9uVHJpcGxlQ2xpY2suYmluZChlKSksdC5zZXREZWZhdWx0SGFuZGxlcigicXVhZGNsaWNrIix0aGlzLm9uUXVhZENsaWNrLmJpbmQoZSkpLHQuc2V0RGVmYXVsdEhhbmRsZXIoIm1vdXNld2hlZWwiLHRoaXMub25Nb3VzZVdoZWVsLmJpbmQoZSkpLHQuc2V0RGVmYXVsdEhhbmRsZXIoInRvdWNobW92ZSIsdGhpcy5vblRvdWNoTW92ZS5iaW5kKGUpKTt2YXIgaT1bInNlbGVjdCIsInN0YXJ0U2VsZWN0Iiwic2VsZWN0RW5kIiwic2VsZWN0QWxsRW5kIiwic2VsZWN0QnlXb3Jkc0VuZCIsInNlbGVjdEJ5TGluZXNFbmQiLCJkcmFnV2FpdCIsImRyYWdXYWl0RW5kIiwiZm9jdXNXYWl0Il07aS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2VbdF09dGhpc1t0XX0sdGhpcyksZS5zZWxlY3RCeUxpbmVzPXRoaXMuZXh0ZW5kU2VsZWN0aW9uQnkuYmluZChlLCJnZXRMaW5lUmFuZ2UiKSxlLnNlbGVjdEJ5V29yZHM9dGhpcy5leHRlbmRTZWxlY3Rpb25CeS5iaW5kKGUsImdldFdvcmRSYW5nZSIpfWZ1bmN0aW9uIHIoZSx0LGksbil7cmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhpLWUsMikrTWF0aC5wb3cobi10LDIpKX1mdW5jdGlvbiBvKGUsdCl7aWYoZS5zdGFydC5yb3c9PWUuZW5kLnJvdyl2YXIgaT0yKnQuY29sdW1uLWUuc3RhcnQuY29sdW1uLWUuZW5kLmNvbHVtbjtlbHNlIGlmKGUuc3RhcnQucm93IT1lLmVuZC5yb3ctMXx8ZS5zdGFydC5jb2x1bW58fGUuZW5kLmNvbHVtbil2YXIgaT0yKnQucm93LWUuc3RhcnQucm93LWUuZW5kLnJvdztlbHNlIHZhciBpPXQuY29sdW1uLTQ7cmV0dXJuIDA+aT97Y3Vyc29yOmUuc3RhcnQsYW5jaG9yOmUuZW5kfTp7Y3Vyc29yOmUuZW5kLGFuY2hvcjplLnN0YXJ0fX12YXIgcz0oZSgiLi4vbGliL2RvbSIpLGUoIi4uL2xpYi9ldmVudCIpLGUoIi4uL2xpYi91c2VyYWdlbnQiKSwwKTsoZnVuY3Rpb24oKXt0aGlzLm9uTW91c2VEb3duPWZ1bmN0aW9uKGUpe3ZhciB0PWUuaW5TZWxlY3Rpb24oKSxpPWUuZ2V0RG9jdW1lbnRQb3NpdGlvbigpO3RoaXMubW91c2Vkb3duRXZlbnQ9ZTt2YXIgbj10aGlzLmVkaXRvcixyPWUuZ2V0QnV0dG9uKCk7aWYoMCE9PXIpe3ZhciBvPW4uZ2V0U2VsZWN0aW9uUmFuZ2UoKSxzPW8uaXNFbXB0eSgpO3JldHVybiBuLiRibG9ja1Njcm9sbGluZysrLChzfHwxPT1yKSYmbi5zZWxlY3Rpb24ubW92ZVRvUG9zaXRpb24oaSksbi4kYmxvY2tTY3JvbGxpbmctLSx2b2lkKDI9PXImJm4udGV4dElucHV0Lm9uQ29udGV4dE1lbnUoZS5kb21FdmVudCkpfXJldHVybiB0aGlzLm1vdXNlZG93bkV2ZW50LnRpbWU9RGF0ZS5ub3coKSwhdHx8bi5pc0ZvY3VzZWQoKXx8KG4uZm9jdXMoKSwhdGhpcy4kZm9jdXNUaW1vdXR8fHRoaXMuJGNsaWNrU2VsZWN0aW9ufHxuLmluTXVsdGlTZWxlY3RNb2RlKT8odGhpcy5jYXB0dXJlTW91c2UoZSksdGhpcy5zdGFydFNlbGVjdChpLGUuZG9tRXZlbnQuX2NsaWNrcz4xKSxlLnByZXZlbnREZWZhdWx0KCkpOih0aGlzLnNldFN0YXRlKCJmb2N1c1dhaXQiKSx2b2lkIHRoaXMuY2FwdHVyZU1vdXNlKGUpKX0sdGhpcy5zdGFydFNlbGVjdD1mdW5jdGlvbihlLHQpe2U9ZXx8dGhpcy5lZGl0b3IucmVuZGVyZXIuc2NyZWVuVG9UZXh0Q29vcmRpbmF0ZXModGhpcy54LHRoaXMueSk7dmFyIGk9dGhpcy5lZGl0b3I7aS4kYmxvY2tTY3JvbGxpbmcrKyx0aGlzLm1vdXNlZG93bkV2ZW50LmdldFNoaWZ0S2V5KCk/aS5zZWxlY3Rpb24uc2VsZWN0VG9Qb3NpdGlvbihlKTp0fHxpLnNlbGVjdGlvbi5tb3ZlVG9Qb3NpdGlvbihlKSx0fHx0aGlzLnNlbGVjdCgpLGkucmVuZGVyZXIuc2Nyb2xsZXIuc2V0Q2FwdHVyZSYmaS5yZW5kZXJlci5zY3JvbGxlci5zZXRDYXB0dXJlKCksaS5zZXRTdHlsZSgiYWNlX3NlbGVjdGluZyIpLHRoaXMuc2V0U3RhdGUoInNlbGVjdCIpLGkuJGJsb2NrU2Nyb2xsaW5nLS19LHRoaXMuc2VsZWN0PWZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLmVkaXRvcixpPXQucmVuZGVyZXIuc2NyZWVuVG9UZXh0Q29vcmRpbmF0ZXModGhpcy54LHRoaXMueSk7aWYodC4kYmxvY2tTY3JvbGxpbmcrKyx0aGlzLiRjbGlja1NlbGVjdGlvbil7dmFyIG49dGhpcy4kY2xpY2tTZWxlY3Rpb24uY29tcGFyZVBvaW50KGkpO2lmKC0xPT1uKWU9dGhpcy4kY2xpY2tTZWxlY3Rpb24uZW5kO2Vsc2UgaWYoMT09billPXRoaXMuJGNsaWNrU2VsZWN0aW9uLnN0YXJ0O2Vsc2V7dmFyIHI9byh0aGlzLiRjbGlja1NlbGVjdGlvbixpKTtpPXIuY3Vyc29yLGU9ci5hbmNob3J9dC5zZWxlY3Rpb24uc2V0U2VsZWN0aW9uQW5jaG9yKGUucm93LGUuY29sdW1uKX10LnNlbGVjdGlvbi5zZWxlY3RUb1Bvc2l0aW9uKGkpLHQuJGJsb2NrU2Nyb2xsaW5nLS0sdC5yZW5kZXJlci5zY3JvbGxDdXJzb3JJbnRvVmlldygpfSx0aGlzLmV4dGVuZFNlbGVjdGlvbkJ5PWZ1bmN0aW9uKGUpe3ZhciB0LGk9dGhpcy5lZGl0b3Isbj1pLnJlbmRlcmVyLnNjcmVlblRvVGV4dENvb3JkaW5hdGVzKHRoaXMueCx0aGlzLnkpLHI9aS5zZWxlY3Rpb25bZV0obi5yb3csbi5jb2x1bW4pO2lmKGkuJGJsb2NrU2Nyb2xsaW5nKyssdGhpcy4kY2xpY2tTZWxlY3Rpb24pe3ZhciBzPXRoaXMuJGNsaWNrU2VsZWN0aW9uLmNvbXBhcmVQb2ludChyLnN0YXJ0KSxhPXRoaXMuJGNsaWNrU2VsZWN0aW9uLmNvbXBhcmVQb2ludChyLmVuZCk7aWYoLTE9PXMmJjA+PWEpdD10aGlzLiRjbGlja1NlbGVjdGlvbi5lbmQsci5lbmQucm93PT1uLnJvdyYmci5lbmQuY29sdW1uPT1uLmNvbHVtbnx8KG49ci5zdGFydCk7ZWxzZSBpZigxPT1hJiZzPj0wKXQ9dGhpcy4kY2xpY2tTZWxlY3Rpb24uc3RhcnQsci5zdGFydC5yb3c9PW4ucm93JiZyLnN0YXJ0LmNvbHVtbj09bi5jb2x1bW58fChuPXIuZW5kKTtlbHNlIGlmKC0xPT1zJiYxPT1hKW49ci5lbmQsdD1yLnN0YXJ0O2Vsc2V7dmFyIGw9byh0aGlzLiRjbGlja1NlbGVjdGlvbixuKTtuPWwuY3Vyc29yLHQ9bC5hbmNob3J9aS5zZWxlY3Rpb24uc2V0U2VsZWN0aW9uQW5jaG9yKHQucm93LHQuY29sdW1uKX1pLnNlbGVjdGlvbi5zZWxlY3RUb1Bvc2l0aW9uKG4pLGkuJGJsb2NrU2Nyb2xsaW5nLS0saS5yZW5kZXJlci5zY3JvbGxDdXJzb3JJbnRvVmlldygpfSx0aGlzLnNlbGVjdEVuZD10aGlzLnNlbGVjdEFsbEVuZD10aGlzLnNlbGVjdEJ5V29yZHNFbmQ9dGhpcy5zZWxlY3RCeUxpbmVzRW5kPWZ1bmN0aW9uKCl7dGhpcy4kY2xpY2tTZWxlY3Rpb249bnVsbCx0aGlzLmVkaXRvci51bnNldFN0eWxlKCJhY2Vfc2VsZWN0aW5nIiksdGhpcy5lZGl0b3IucmVuZGVyZXIuc2Nyb2xsZXIucmVsZWFzZUNhcHR1cmUmJnRoaXMuZWRpdG9yLnJlbmRlcmVyLnNjcm9sbGVyLnJlbGVhc2VDYXB0dXJlKCl9LHRoaXMuZm9jdXNXYWl0PWZ1bmN0aW9uKCl7dmFyIGU9cih0aGlzLm1vdXNlZG93bkV2ZW50LngsdGhpcy5tb3VzZWRvd25FdmVudC55LHRoaXMueCx0aGlzLnkpLHQ9RGF0ZS5ub3coKTsoZT5zfHx0LXRoaXMubW91c2Vkb3duRXZlbnQudGltZT50aGlzLiRmb2N1c1RpbW91dCkmJnRoaXMuc3RhcnRTZWxlY3QodGhpcy5tb3VzZWRvd25FdmVudC5nZXREb2N1bWVudFBvc2l0aW9uKCkpfSx0aGlzLm9uRG91YmxlQ2xpY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXREb2N1bWVudFBvc2l0aW9uKCksaT10aGlzLmVkaXRvcixuPWkuc2Vzc2lvbixyPW4uZ2V0QnJhY2tldFJhbmdlKHQpO3I/KHIuaXNFbXB0eSgpJiYoci5zdGFydC5jb2x1bW4tLSxyLmVuZC5jb2x1bW4rKyksdGhpcy5zZXRTdGF0ZSgic2VsZWN0IikpOihyPWkuc2VsZWN0aW9uLmdldFdvcmRSYW5nZSh0LnJvdyx0LmNvbHVtbiksdGhpcy5zZXRTdGF0ZSgic2VsZWN0QnlXb3JkcyIpKSx0aGlzLiRjbGlja1NlbGVjdGlvbj1yLHRoaXMuc2VsZWN0KCl9LHRoaXMub25UcmlwbGVDbGljaz1mdW5jdGlvbihlKXt2YXIgdD1lLmdldERvY3VtZW50UG9zaXRpb24oKSxpPXRoaXMuZWRpdG9yO3RoaXMuc2V0U3RhdGUoInNlbGVjdEJ5TGluZXMiKTt2YXIgbj1pLmdldFNlbGVjdGlvblJhbmdlKCk7bi5pc011bHRpTGluZSgpJiZuLmNvbnRhaW5zKHQucm93LHQuY29sdW1uKT8odGhpcy4kY2xpY2tTZWxlY3Rpb249aS5zZWxlY3Rpb24uZ2V0TGluZVJhbmdlKG4uc3RhcnQucm93KSx0aGlzLiRjbGlja1NlbGVjdGlvbi5lbmQ9aS5zZWxlY3Rpb24uZ2V0TGluZVJhbmdlKG4uZW5kLnJvdykuZW5kKTp0aGlzLiRjbGlja1NlbGVjdGlvbj1pLnNlbGVjdGlvbi5nZXRMaW5lUmFuZ2UodC5yb3cpLHRoaXMuc2VsZWN0KCl9LHRoaXMub25RdWFkQ2xpY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5lZGl0b3I7dC5zZWxlY3RBbGwoKSx0aGlzLiRjbGlja1NlbGVjdGlvbj10LmdldFNlbGVjdGlvblJhbmdlKCksdGhpcy5zZXRTdGF0ZSgic2VsZWN0QWxsIil9LHRoaXMub25Nb3VzZVdoZWVsPWZ1bmN0aW9uKGUpe2lmKCFlLmdldEFjY2VsS2V5KCkpe2UuZ2V0U2hpZnRLZXkoKSYmZS53aGVlbFkmJiFlLndoZWVsWCYmKGUud2hlZWxYPWUud2hlZWxZLGUud2hlZWxZPTApO3ZhciB0PWUuZG9tRXZlbnQudGltZVN0YW1wLGk9dC0odGhpcy4kbGFzdFNjcm9sbFRpbWV8fDApLG49dGhpcy5lZGl0b3Iscj1uLnJlbmRlcmVyLmlzU2Nyb2xsYWJsZUJ5KGUud2hlZWxYKmUuc3BlZWQsZS53aGVlbFkqZS5zcGVlZCk7cmV0dXJuIHJ8fDIwMD5pPyh0aGlzLiRsYXN0U2Nyb2xsVGltZT10LG4ucmVuZGVyZXIuc2Nyb2xsQnkoZS53aGVlbFgqZS5zcGVlZCxlLndoZWVsWSplLnNwZWVkKSxlLnN0b3AoKSk6dm9pZCAwfX0sdGhpcy5vblRvdWNoTW92ZT1mdW5jdGlvbihlKXt2YXIgdD1lLmRvbUV2ZW50LnRpbWVTdGFtcCxpPXQtKHRoaXMuJGxhc3RTY3JvbGxUaW1lfHwwKSxuPXRoaXMuZWRpdG9yLHI9bi5yZW5kZXJlci5pc1Njcm9sbGFibGVCeShlLndoZWVsWCplLnNwZWVkLGUud2hlZWxZKmUuc3BlZWQpO3JldHVybiByfHwyMDA+aT8odGhpcy4kbGFzdFNjcm9sbFRpbWU9dCxuLnJlbmRlcmVyLnNjcm9sbEJ5KGUud2hlZWxYKmUuc3BlZWQsZS53aGVlbFkqZS5zcGVlZCksZS5zdG9wKCkpOnZvaWQgMH19KS5jYWxsKG4ucHJvdG90eXBlKSx0LkRlZmF1bHRIYW5kbGVycz1ufSksYWNlLmRlZmluZSgiYWNlL3Rvb2x0aXAiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJhY2UvbGliL29vcCIsImFjZS9saWIvZG9tIl0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe3RoaXMuaXNPcGVuPSExLHRoaXMuJGVsZW1lbnQ9bnVsbCx0aGlzLiRwYXJlbnROb2RlPWV9dmFyIHI9KGUoIi4vbGliL29vcCIpLGUoIi4vbGliL2RvbSIpKTsoZnVuY3Rpb24oKXt0aGlzLiRpbml0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGVsZW1lbnQ9ci5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLiRlbGVtZW50LmNsYXNzTmFtZT0iYWNlX3Rvb2x0aXAiLHRoaXMuJGVsZW1lbnQuc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy4kcGFyZW50Tm9kZS5hcHBlbmRDaGlsZCh0aGlzLiRlbGVtZW50KSx0aGlzLiRlbGVtZW50fSx0aGlzLmdldEVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZWxlbWVudHx8dGhpcy4kaW5pdCgpfSx0aGlzLnNldFRleHQ9ZnVuY3Rpb24oZSl7ci5zZXRJbm5lclRleHQodGhpcy5nZXRFbGVtZW50KCksZSl9LHRoaXMuc2V0SHRtbD1mdW5jdGlvbihlKXt0aGlzLmdldEVsZW1lbnQoKS5pbm5lckhUTUw9ZX0sdGhpcy5zZXRQb3NpdGlvbj1mdW5jdGlvbihlLHQpe3RoaXMuZ2V0RWxlbWVudCgpLnN0eWxlLmxlZnQ9ZSsicHgiLHRoaXMuZ2V0RWxlbWVudCgpLnN0eWxlLnRvcD10KyJweCJ9LHRoaXMuc2V0Q2xhc3NOYW1lPWZ1bmN0aW9uKGUpe3IuYWRkQ3NzQ2xhc3ModGhpcy5nZXRFbGVtZW50KCksZSl9LHRoaXMuc2hvdz1mdW5jdGlvbihlLHQsaSl7bnVsbCE9ZSYmdGhpcy5zZXRUZXh0KGUpLG51bGwhPXQmJm51bGwhPWkmJnRoaXMuc2V0UG9zaXRpb24odCxpKSx0aGlzLmlzT3Blbnx8KHRoaXMuZ2V0RWxlbWVudCgpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0aGlzLmlzT3Blbj0hMCl9LHRoaXMuaGlkZT1mdW5jdGlvbigpe3RoaXMuaXNPcGVuJiYodGhpcy5nZXRFbGVtZW50KCkuc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy5pc09wZW49ITEpfSx0aGlzLmdldEhlaWdodD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEVsZW1lbnQoKS5vZmZzZXRIZWlnaHR9LHRoaXMuZ2V0V2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRFbGVtZW50KCkub2Zmc2V0V2lkdGh9fSkuY2FsbChuLnByb3RvdHlwZSksdC5Ub29sdGlwPW59KSxhY2UuZGVmaW5lKCJhY2UvbW91c2UvZGVmYXVsdF9ndXR0ZXJfaGFuZGxlciIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSIsImFjZS9saWIvZG9tIiwiYWNlL2xpYi9vb3AiLCJhY2UvbGliL2V2ZW50IiwiYWNlL3Rvb2x0aXAiXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7ZnVuY3Rpb24gdCgpe3ZhciB0PWQuZ2V0RG9jdW1lbnRQb3NpdGlvbigpLnJvdyxyPWwuJGFubm90YXRpb25zW3RdO2lmKCFyKXJldHVybiBpKCk7dmFyIG89cy5zZXNzaW9uLmdldExlbmd0aCgpO2lmKHQ9PW8pe3ZhciBhPXMucmVuZGVyZXIucGl4ZWxUb1NjcmVlbkNvb3JkaW5hdGVzKDAsZC55KS5yb3csaD1kLiRwb3M7aWYoYT5zLnNlc3Npb24uZG9jdW1lbnRUb1NjcmVlblJvdyhoLnJvdyxoLmNvbHVtbikpcmV0dXJuIGkoKX1pZih1IT1yKWlmKHU9ci50ZXh0LmpvaW4oIjxici8+IiksYy5zZXRIdG1sKHUpLGMuc2hvdygpLHMub24oIm1vdXNld2hlZWwiLGkpLGUuJHRvb2x0aXBGb2xsb3dzTW91c2UpbihkKTtlbHNle3ZhciBmPWQuZG9tRXZlbnQudGFyZ2V0LHA9Zi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxtPWMuZ2V0RWxlbWVudCgpLnN0eWxlO20ubGVmdD1wLnJpZ2h0KyJweCIsbS50b3A9cC5ib3R0b20rInB4In19ZnVuY3Rpb24gaSgpe2gmJihoPWNsZWFyVGltZW91dChoKSksdSYmKGMuaGlkZSgpLHU9bnVsbCxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNld2hlZWwiLGkpKX1mdW5jdGlvbiBuKGUpe2Muc2V0UG9zaXRpb24oZS54LGUueSl9dmFyIHM9ZS5lZGl0b3IsbD1zLnJlbmRlcmVyLiRndXR0ZXJMYXllcixjPW5ldyByKHMuY29udGFpbmVyKTtlLmVkaXRvci5zZXREZWZhdWx0SGFuZGxlcigiZ3V0dGVybW91c2Vkb3duIixmdW5jdGlvbih0KXtpZihzLmlzRm9jdXNlZCgpJiYwPT10LmdldEJ1dHRvbigpKXt2YXIgaT1sLmdldFJlZ2lvbih0KTtpZigiZm9sZFdpZGdldHMiIT1pKXt2YXIgbj10LmdldERvY3VtZW50UG9zaXRpb24oKS5yb3cscj1zLnNlc3Npb24uc2VsZWN0aW9uO2lmKHQuZ2V0U2hpZnRLZXkoKSlyLnNlbGVjdFRvKG4sMCk7ZWxzZXtpZigyPT10LmRvbUV2ZW50LmRldGFpbClyZXR1cm4gcy5zZWxlY3RBbGwoKSx0LnByZXZlbnREZWZhdWx0KCk7ZS4kY2xpY2tTZWxlY3Rpb249cy5zZWxlY3Rpb24uZ2V0TGluZVJhbmdlKG4pfXJldHVybiBlLnNldFN0YXRlKCJzZWxlY3RCeUxpbmVzIiksZS5jYXB0dXJlTW91c2UodCksdC5wcmV2ZW50RGVmYXVsdCgpfX19KTt2YXIgaCxkLHU7ZS5lZGl0b3Iuc2V0RGVmYXVsdEhhbmRsZXIoImd1dHRlcm1vdXNlbW92ZSIsZnVuY3Rpb24ocil7dmFyIHM9ci5kb21FdmVudC50YXJnZXR8fHIuZG9tRXZlbnQuc3JjRWxlbWVudDtyZXR1cm4gby5oYXNDc3NDbGFzcyhzLCJhY2VfZm9sZC13aWRnZXQiKT9pKCk6KHUmJmUuJHRvb2x0aXBGb2xsb3dzTW91c2UmJm4ociksZD1yLHZvaWQoaHx8KGg9c2V0VGltZW91dChmdW5jdGlvbigpe2g9bnVsbCxkJiYhZS5pc01vdXNlUHJlc3NlZD90KCk6aSgpfSw1MCkpKSl9KSxhLmFkZExpc3RlbmVyKHMucmVuZGVyZXIuJGd1dHRlciwibW91c2VvdXQiLGZ1bmN0aW9uKGUpe2Q9bnVsbCx1JiYhaCYmKGg9c2V0VGltZW91dChmdW5jdGlvbigpe2g9bnVsbCxpKCl9LDUwKSl9KSxzLm9uKCJjaGFuZ2VTZXNzaW9uIixpKX1mdW5jdGlvbiByKGUpe2wuY2FsbCh0aGlzLGUpfXZhciBvPWUoIi4uL2xpYi9kb20iKSxzPWUoIi4uL2xpYi9vb3AiKSxhPWUoIi4uL2xpYi9ldmVudCIpLGw9ZSgiLi4vdG9vbHRpcCIpLlRvb2x0aXA7cy5pbmhlcml0cyhyLGwpLGZ1bmN0aW9uKCl7dGhpcy5zZXRQb3NpdGlvbj1mdW5jdGlvbihlLHQpe3ZhciBpPXdpbmRvdy5pbm5lcldpZHRofHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsbj13aW5kb3cuaW5uZXJIZWlnaHR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQscj10aGlzLmdldFdpZHRoKCksbz10aGlzLmdldEhlaWdodCgpO2UrPTE1LHQrPTE1LGUrcj5pJiYoZS09ZStyLWkpLHQrbz5uJiYodC09MjArbyksbC5wcm90b3R5cGUuc2V0UG9zaXRpb24uY2FsbCh0aGlzLGUsdCl9fS5jYWxsKHIucHJvdG90eXBlKSx0Lkd1dHRlckhhbmRsZXI9bn0pLGFjZS5kZWZpbmUoImFjZS9tb3VzZS9tb3VzZV9ldmVudCIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSIsImFjZS9saWIvZXZlbnQiLCJhY2UvbGliL3VzZXJhZ2VudCJdLGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIG49ZSgiLi4vbGliL2V2ZW50Iikscj1lKCIuLi9saWIvdXNlcmFnZW50Iiksbz10Lk1vdXNlRXZlbnQ9ZnVuY3Rpb24oZSx0KXt0aGlzLmRvbUV2ZW50PWUsdGhpcy5lZGl0b3I9dCx0aGlzLng9dGhpcy5jbGllbnRYPWUuY2xpZW50WCx0aGlzLnk9dGhpcy5jbGllbnRZPWUuY2xpZW50WSx0aGlzLiRwb3M9bnVsbCx0aGlzLiRpblNlbGVjdGlvbj1udWxsLHRoaXMucHJvcGFnYXRpb25TdG9wcGVkPSExLHRoaXMuZGVmYXVsdFByZXZlbnRlZD0hMX07KGZ1bmN0aW9uKCl7dGhpcy5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtuLnN0b3BQcm9wYWdhdGlvbih0aGlzLmRvbUV2ZW50KSx0aGlzLnByb3BhZ2F0aW9uU3RvcHBlZD0hMH0sdGhpcy5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe24ucHJldmVudERlZmF1bHQodGhpcy5kb21FdmVudCksdGhpcy5kZWZhdWx0UHJldmVudGVkPSEwfSx0aGlzLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMucHJldmVudERlZmF1bHQoKX0sdGhpcy5nZXREb2N1bWVudFBvc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJHBvcz90aGlzLiRwb3M6KHRoaXMuJHBvcz10aGlzLmVkaXRvci5yZW5kZXJlci5zY3JlZW5Ub1RleHRDb29yZGluYXRlcyh0aGlzLmNsaWVudFgsdGhpcy5jbGllbnRZKSx0aGlzLiRwb3MpfSx0aGlzLmluU2VsZWN0aW9uPWZ1bmN0aW9uKCl7aWYobnVsbCE9PXRoaXMuJGluU2VsZWN0aW9uKXJldHVybiB0aGlzLiRpblNlbGVjdGlvbjt2YXIgZT10aGlzLmVkaXRvcix0PWUuZ2V0U2VsZWN0aW9uUmFuZ2UoKTtpZih0LmlzRW1wdHkoKSl0aGlzLiRpblNlbGVjdGlvbj0hMTtlbHNle3ZhciBpPXRoaXMuZ2V0RG9jdW1lbnRQb3NpdGlvbigpO3RoaXMuJGluU2VsZWN0aW9uPXQuY29udGFpbnMoaS5yb3csaS5jb2x1bW4pfXJldHVybiB0aGlzLiRpblNlbGVjdGlvbn0sdGhpcy5nZXRCdXR0b249ZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXRCdXR0b24odGhpcy5kb21FdmVudCl9LHRoaXMuZ2V0U2hpZnRLZXk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21FdmVudC5zaGlmdEtleX0sdGhpcy5nZXRBY2NlbEtleT1yLmlzTWFjP2Z1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tRXZlbnQubWV0YUtleX06ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21FdmVudC5jdHJsS2V5fX0pLmNhbGwoby5wcm90b3R5cGUpfSksYWNlLmRlZmluZSgiYWNlL21vdXNlL2RyYWdkcm9wX2hhbmRsZXIiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJhY2UvbGliL2RvbSIsImFjZS9saWIvZXZlbnQiLCJhY2UvbGliL3VzZXJhZ2VudCJdLGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtmdW5jdGlvbiB0KGUsdCl7dmFyIGk9RGF0ZS5ub3coKSxuPSF0fHxlLnJvdyE9dC5yb3csbz0hdHx8ZS5jb2x1bW4hPXQuY29sdW1uO2lmKCFEfHxufHxvKWcuJGJsb2NrU2Nyb2xsaW5nKz0xLGcubW92ZUN1cnNvclRvUG9zaXRpb24oZSksZy4kYmxvY2tTY3JvbGxpbmctPTEsRD1pLGs9e3g6QSx5OkN9O2Vsc2V7dmFyIHM9cihrLngsay55LEEsQyk7cz5oP0Q9bnVsbDppLUQ+PWMmJihnLnJlbmRlcmVyLnNjcm9sbEN1cnNvckludG9WaWV3KCksRD1udWxsKX19ZnVuY3Rpb24gaShlLHQpe3ZhciBpPURhdGUubm93KCksbj1nLnJlbmRlcmVyLmxheWVyQ29uZmlnLmxpbmVIZWlnaHQscj1nLnJlbmRlcmVyLmxheWVyQ29uZmlnLmNoYXJhY3RlcldpZHRoLG89Zy5yZW5kZXJlci5zY3JvbGxlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxzPXt4OntsZWZ0OkEtby5sZWZ0LHJpZ2h0Om8ucmlnaHQtQX0seTp7dG9wOkMtby50b3AsYm90dG9tOm8uYm90dG9tLUN9fSxhPU1hdGgubWluKHMueC5sZWZ0LHMueC5yaWdodCksYz1NYXRoLm1pbihzLnkudG9wLHMueS5ib3R0b20pLGg9e3JvdzplLnJvdyxjb2x1bW46ZS5jb2x1bW59OzI+PWEvciYmKGguY29sdW1uKz1zLngubGVmdDxzLngucmlnaHQ/LTM6MiksMT49Yy9uJiYoaC5yb3crPXMueS50b3A8cy55LmJvdHRvbT8tMToxKTt2YXIgZD1lLnJvdyE9aC5yb3csdT1lLmNvbHVtbiE9aC5jb2x1bW4sZj0hdHx8ZS5yb3chPXQucm93O2R8fHUmJiFmPyQ/aS0kPj1sJiZnLnJlbmRlcmVyLnNjcm9sbEN1cnNvckludG9WaWV3KGgpOiQ9aTokPW51bGx9ZnVuY3Rpb24gbigpe3ZhciBlPUY7Rj1nLnJlbmRlcmVyLnNjcmVlblRvVGV4dENvb3JkaW5hdGVzKEEsQyksdChGLGUpLGkoRixlKX1mdW5jdGlvbiBkKCl7Yj1nLnNlbGVjdGlvbi50b09yaWVudGVkUmFuZ2UoKSx5PWcuc2Vzc2lvbi5hZGRNYXJrZXIoYiwiYWNlX3NlbGVjdGlvbiIsZy5nZXRTZWxlY3Rpb25TdHlsZSgpKSxnLmNsZWFyU2VsZWN0aW9uKCksZy5pc0ZvY3VzZWQoKSYmZy5yZW5kZXJlci4kY3Vyc29yTGF5ZXIuc2V0QmxpbmtpbmcoITEpLGNsZWFySW50ZXJ2YWwoRSksbigpLEU9c2V0SW50ZXJ2YWwobiwyMCksXz0wLHMuYWRkTGlzdGVuZXIoZG9jdW1lbnQsIm1vdXNlbW92ZSIsZil9ZnVuY3Rpb24gdSgpe2NsZWFySW50ZXJ2YWwoRSksZy5zZXNzaW9uLnJlbW92ZU1hcmtlcih5KSx5PW51bGwsZy4kYmxvY2tTY3JvbGxpbmcrPTEsZy5zZWxlY3Rpb24uZnJvbU9yaWVudGVkUmFuZ2UoYiksZy4kYmxvY2tTY3JvbGxpbmctPTEsZy5pc0ZvY3VzZWQoKSYmIVMmJmcucmVuZGVyZXIuJGN1cnNvckxheWVyLnNldEJsaW5raW5nKCFnLmdldFJlYWRPbmx5KCkpLGI9bnVsbCxGPW51bGwsXz0wLCQ9bnVsbCxEPW51bGwscy5yZW1vdmVMaXN0ZW5lcihkb2N1bWVudCwibW91c2Vtb3ZlIixmKX1mdW5jdGlvbiBmKCl7bnVsbD09TCYmKEw9c2V0VGltZW91dChmdW5jdGlvbigpe251bGwhPUwmJnkmJnUoKX0sMjApKX1mdW5jdGlvbiBwKGUpe3ZhciB0PWUudHlwZXM7cmV0dXJuIXR8fEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwodCxmdW5jdGlvbihlKXtyZXR1cm4idGV4dC9wbGFpbiI9PWV8fCJUZXh0Ij09ZX0pfWZ1bmN0aW9uIG0oZSl7dmFyIHQ9WyJjb3B5IiwiY29weW1vdmUiLCJhbGwiLCJ1bmluaXRpYWxpemVkIl0saT1bIm1vdmUiLCJjb3B5bW92ZSIsImxpbmttb3ZlIiwiYWxsIiwidW5pbml0aWFsaXplZCJdLG49YS5pc01hYz9lLmFsdEtleTplLmN0cmxLZXkscj0idW5pbml0aWFsaXplZCI7dHJ5e3I9ZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZC50b0xvd2VyQ2FzZSgpfWNhdGNoKGUpe312YXIgbz0ibm9uZSI7cmV0dXJuIG4mJnQuaW5kZXhPZihyKT49MD9vPSJjb3B5IjppLmluZGV4T2Yocik+PTA/bz0ibW92ZSI6dC5pbmRleE9mKHIpPj0wJiYobz0iY29weSIpLG99dmFyIGc9ZS5lZGl0b3Isdj1vLmNyZWF0ZUVsZW1lbnQoImltZyIpO3Yuc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIsYS5pc09wZXJhJiYodi5zdHlsZS5jc3NUZXh0PSJ3aWR0aDoxcHg7aGVpZ2h0OjFweDtwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7ei1pbmRleDoyMTQ3NDgzNjQ3O29wYWNpdHk6MDsiKTt2YXIgdz1bImRyYWdXYWl0IiwiZHJhZ1dhaXRFbmQiLCJzdGFydERyYWciLCJkcmFnUmVhZHlFbmQiLCJvbk1vdXNlRHJhZyJdO3cuZm9yRWFjaChmdW5jdGlvbih0KXtlW3RdPXRoaXNbdF19LHRoaXMpLGcuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLm9uTW91c2VEb3duLmJpbmQoZSkpO3ZhciB5LEEsQyxFLGIsRix4LFMsJCxELGssQj1nLmNvbnRhaW5lcixfPTA7dGhpcy5vbkRyYWdTdGFydD1mdW5jdGlvbihlKXtpZih0aGlzLmNhbmNlbERyYWd8fCFCLmRyYWdnYWJsZSl7dmFyIHQ9dGhpcztyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe3Quc3RhcnRTZWxlY3QoKSx0LmNhcHR1cmVNb3VzZShlKX0sMCksZS5wcmV2ZW50RGVmYXVsdCgpfWI9Zy5nZXRTZWxlY3Rpb25SYW5nZSgpO3ZhciBpPWUuZGF0YVRyYW5zZmVyO2kuZWZmZWN0QWxsb3dlZD1nLmdldFJlYWRPbmx5KCk/ImNvcHkiOiJjb3B5TW92ZSIsYS5pc09wZXJhJiYoZy5jb250YWluZXIuYXBwZW5kQ2hpbGQodiksdi5zY3JvbGxUb3A9MCksaS5zZXREcmFnSW1hZ2UmJmkuc2V0RHJhZ0ltYWdlKHYsMCwwKSxhLmlzT3BlcmEmJmcuY29udGFpbmVyLnJlbW92ZUNoaWxkKHYpLGkuY2xlYXJEYXRhKCksaS5zZXREYXRhKCJUZXh0IixnLnNlc3Npb24uZ2V0VGV4dFJhbmdlKCkpLFM9ITAsdGhpcy5zZXRTdGF0ZSgiZHJhZyIpfSx0aGlzLm9uRHJhZ0VuZD1mdW5jdGlvbihlKXtpZihCLmRyYWdnYWJsZT0hMSxTPSExLHRoaXMuc2V0U3RhdGUobnVsbCksIWcuZ2V0UmVhZE9ubHkoKSl7dmFyIHQ9ZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdDt4fHwibW92ZSIhPXR8fGcuc2Vzc2lvbi5yZW1vdmUoZy5nZXRTZWxlY3Rpb25SYW5nZSgpKSxnLnJlbmRlcmVyLiRjdXJzb3JMYXllci5zZXRCbGlua2luZyghMCl9dGhpcy5lZGl0b3IudW5zZXRTdHlsZSgiYWNlX2RyYWdnaW5nIiksdGhpcy5lZGl0b3IucmVuZGVyZXIuc2V0Q3Vyc29yU3R5bGUoIiIpfSx0aGlzLm9uRHJhZ0VudGVyPWZ1bmN0aW9uKGUpe3JldHVybiFnLmdldFJlYWRPbmx5KCkmJnAoZS5kYXRhVHJhbnNmZXIpPyhBPWUuY2xpZW50WCxDPWUuY2xpZW50WSx5fHxkKCksXysrLGUuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9eD1tKGUpLHMucHJldmVudERlZmF1bHQoZSkpOnZvaWQgMH0sdGhpcy5vbkRyYWdPdmVyPWZ1bmN0aW9uKGUpe3JldHVybiFnLmdldFJlYWRPbmx5KCkmJnAoZS5kYXRhVHJhbnNmZXIpPyhBPWUuY2xpZW50WCxDPWUuY2xpZW50WSx5fHwoZCgpLF8rKyksbnVsbCE9PUwmJihMPW51bGwpLGUuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9eD1tKGUpLHMucHJldmVudERlZmF1bHQoZSkpOnZvaWQgMH0sdGhpcy5vbkRyYWdMZWF2ZT1mdW5jdGlvbihlKXtyZXR1cm4gXy0tLDA+PV8mJnk/KHUoKSx4PW51bGwscy5wcmV2ZW50RGVmYXVsdChlKSk6dm9pZCAwfSx0aGlzLm9uRHJvcD1mdW5jdGlvbihlKXtpZihGKXt2YXIgdD1lLmRhdGFUcmFuc2ZlcjtpZihTKXN3aXRjaCh4KXtjYXNlIm1vdmUiOmI9Yi5jb250YWlucyhGLnJvdyxGLmNvbHVtbik/e3N0YXJ0OkYsZW5kOkZ9OmcubW92ZVRleHQoYixGKTticmVhaztjYXNlImNvcHkiOmI9Zy5tb3ZlVGV4dChiLEYsITApfWVsc2V7dmFyIGk9dC5nZXREYXRhKCJUZXh0Iik7Yj17c3RhcnQ6RixlbmQ6Zy5zZXNzaW9uLmluc2VydChGLGkpfSxnLmZvY3VzKCkseD1udWxsfXJldHVybiB1KCkscy5wcmV2ZW50RGVmYXVsdChlKX19LHMuYWRkTGlzdGVuZXIoQiwiZHJhZ3N0YXJ0Iix0aGlzLm9uRHJhZ1N0YXJ0LmJpbmQoZSkpLHMuYWRkTGlzdGVuZXIoQiwiZHJhZ2VuZCIsdGhpcy5vbkRyYWdFbmQuYmluZChlKSkscy5hZGRMaXN0ZW5lcihCLCJkcmFnZW50ZXIiLHRoaXMub25EcmFnRW50ZXIuYmluZChlKSkscy5hZGRMaXN0ZW5lcihCLCJkcmFnb3ZlciIsdGhpcy5vbkRyYWdPdmVyLmJpbmQoZSkpLHMuYWRkTGlzdGVuZXIoQiwiZHJhZ2xlYXZlIix0aGlzLm9uRHJhZ0xlYXZlLmJpbmQoZSkpLHMuYWRkTGlzdGVuZXIoQiwiZHJvcCIsdGhpcy5vbkRyb3AuYmluZChlKSk7dmFyIEw9bnVsbH1mdW5jdGlvbiByKGUsdCxpLG4pe3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3coaS1lLDIpK01hdGgucG93KG4tdCwyKSl9dmFyIG89ZSgiLi4vbGliL2RvbSIpLHM9ZSgiLi4vbGliL2V2ZW50IiksYT1lKCIuLi9saWIvdXNlcmFnZW50IiksbD0yMDAsYz0yMDAsaD01OyhmdW5jdGlvbigpe3RoaXMuZHJhZ1dhaXQ9ZnVuY3Rpb24oKXt2YXIgZT1EYXRlLm5vdygpLXRoaXMubW91c2Vkb3duRXZlbnQudGltZTtlPnRoaXMuZWRpdG9yLmdldERyYWdEZWxheSgpJiZ0aGlzLnN0YXJ0RHJhZygpfSx0aGlzLmRyYWdXYWl0RW5kPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5lZGl0b3IuY29udGFpbmVyO2UuZHJhZ2dhYmxlPSExLHRoaXMuc3RhcnRTZWxlY3QodGhpcy5tb3VzZWRvd25FdmVudC5nZXREb2N1bWVudFBvc2l0aW9uKCkpLHRoaXMuc2VsZWN0RW5kKCl9LHRoaXMuZHJhZ1JlYWR5RW5kPWZ1bmN0aW9uKGUpe3RoaXMuZWRpdG9yLnJlbmRlcmVyLiRjdXJzb3JMYXllci5zZXRCbGlua2luZyghdGhpcy5lZGl0b3IuZ2V0UmVhZE9ubHkoKSksdGhpcy5lZGl0b3IudW5zZXRTdHlsZSgiYWNlX2RyYWdnaW5nIiksdGhpcy5lZGl0b3IucmVuZGVyZXIuc2V0Q3Vyc29yU3R5bGUoIiIpLHRoaXMuZHJhZ1dhaXRFbmQoKX0sdGhpcy5zdGFydERyYWc9ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbERyYWc9ITE7dmFyIGU9dGhpcy5lZGl0b3IsdD1lLmNvbnRhaW5lcjt0LmRyYWdnYWJsZT0hMCxlLnJlbmRlcmVyLiRjdXJzb3JMYXllci5zZXRCbGlua2luZyghMSksZS5zZXRTdHlsZSgiYWNlX2RyYWdnaW5nIik7dmFyIGk9YS5pc1dpbj8iZGVmYXVsdCI6Im1vdmUiO2UucmVuZGVyZXIuc2V0Q3Vyc29yU3R5bGUoaSksdGhpcy5zZXRTdGF0ZSgiZHJhZ1JlYWR5Iil9LHRoaXMub25Nb3VzZURyYWc9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5lZGl0b3IuY29udGFpbmVyO2lmKGEuaXNJRSYmImRyYWdSZWFkeSI9PXRoaXMuc3RhdGUpe3ZhciBpPXIodGhpcy5tb3VzZWRvd25FdmVudC54LHRoaXMubW91c2Vkb3duRXZlbnQueSx0aGlzLngsdGhpcy55KTtpPjMmJnQuZHJhZ0Ryb3AoKX1pZigiZHJhZ1dhaXQiPT09dGhpcy5zdGF0ZSl7dmFyIGk9cih0aGlzLm1vdXNlZG93bkV2ZW50LngsdGhpcy5tb3VzZWRvd25FdmVudC55LHRoaXMueCx0aGlzLnkpO2k+MCYmKHQuZHJhZ2dhYmxlPSExLHRoaXMuc3RhcnRTZWxlY3QodGhpcy5tb3VzZWRvd25FdmVudC5nZXREb2N1bWVudFBvc2l0aW9uKCkpKX19LHRoaXMub25Nb3VzZURvd249ZnVuY3Rpb24oZSl7aWYodGhpcy4kZHJhZ0VuYWJsZWQpe3RoaXMubW91c2Vkb3duRXZlbnQ9ZTt2YXIgdD10aGlzLmVkaXRvcixpPWUuaW5TZWxlY3Rpb24oKSxuPWUuZ2V0QnV0dG9uKCkscj1lLmRvbUV2ZW50LmRldGFpbHx8MTtpZigxPT09ciYmMD09PW4mJmkpe2lmKGUuZWRpdG9yLmluTXVsdGlTZWxlY3RNb2RlJiYoZS5nZXRBY2NlbEtleSgpfHxlLmdldFNoaWZ0S2V5KCkpKXJldHVybjt0aGlzLm1vdXNlZG93bkV2ZW50LnRpbWU9RGF0ZS5ub3coKTt2YXIgbz1lLmRvbUV2ZW50LnRhcmdldHx8ZS5kb21FdmVudC5zcmNFbGVtZW50O2lmKCJ1bnNlbGVjdGFibGUiaW4gbyYmKG8udW5zZWxlY3RhYmxlPSJvbiIpLHQuZ2V0RHJhZ0RlbGF5KCkpe2lmKGEuaXNXZWJLaXQpe3RoaXMuY2FuY2VsRHJhZz0hMDt2YXIgcz10LmNvbnRhaW5lcjtzLmRyYWdnYWJsZT0hMH10aGlzLnNldFN0YXRlKCJkcmFnV2FpdCIpfWVsc2UgdGhpcy5zdGFydERyYWcoKTt0aGlzLmNhcHR1cmVNb3VzZShlLHRoaXMub25Nb3VzZURyYWcuYmluZCh0aGlzKSksZS5kZWZhdWx0UHJldmVudGVkPSEwfX19fSkuY2FsbChuLnByb3RvdHlwZSksdC5EcmFnZHJvcEhhbmRsZXI9bn0pLGFjZS5kZWZpbmUoImFjZS9saWIvbmV0IixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIiwiYWNlL2xpYi9kb20iXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWUoIi4vZG9tIik7dC5nZXQ9ZnVuY3Rpb24oZSx0KXt2YXIgaT1uZXcgWE1MSHR0cFJlcXVlc3Q7aS5vcGVuKCJHRVQiLGUsITApLGkub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWkucmVhZHlTdGF0ZSYmdChpLnJlc3BvbnNlVGV4dCl9LGkuc2VuZChudWxsKX0sdC5sb2FkU2NyaXB0PWZ1bmN0aW9uKGUsdCl7dmFyIGk9bi5nZXREb2N1bWVudEhlYWQoKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3Iuc3JjPWUsaS5hcHBlbmRDaGlsZChyKSxyLm9ubG9hZD1yLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbihlLGkpeyFpJiZyLnJlYWR5U3RhdGUmJiJsb2FkZWQiIT1yLnJlYWR5U3RhdGUmJiJjb21wbGV0ZSIhPXIucmVhZHlTdGF0ZXx8KHI9ci5vbmxvYWQ9ci5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxpfHx0KCkpfX0sdC5xdWFsaWZ5VVJMPWZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtyZXR1cm4gdC5ocmVmPWUsdC5ocmVmfX0pLGFjZS5kZWZpbmUoImFjZS9saWIvZXZlbnRfZW1pdHRlciIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSJdLGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIG49e30scj1mdW5jdGlvbigpe3RoaXMucHJvcGFnYXRpb25TdG9wcGVkPSEwfSxvPWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwfTtuLl9lbWl0PW4uX2Rpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oZSx0KXt0aGlzLl9ldmVudFJlZ2lzdHJ5fHwodGhpcy5fZXZlbnRSZWdpc3RyeT17fSksdGhpcy5fZGVmYXVsdEhhbmRsZXJzfHwodGhpcy5fZGVmYXVsdEhhbmRsZXJzPXt9KTt2YXIgaT10aGlzLl9ldmVudFJlZ2lzdHJ5W2VdfHxbXSxuPXRoaXMuX2RlZmF1bHRIYW5kbGVyc1tlXTtpZihpLmxlbmd0aHx8bil7Im9iamVjdCI9PXR5cGVvZiB0JiZ0fHwodD17fSksdC50eXBlfHwodC50eXBlPWUpLHQuc3RvcFByb3BhZ2F0aW9ufHwodC5zdG9wUHJvcGFnYXRpb249ciksdC5wcmV2ZW50RGVmYXVsdHx8KHQucHJldmVudERlZmF1bHQ9byksaT1pLnNsaWNlKCk7Zm9yKHZhciBzPTA7czxpLmxlbmd0aCYmKGlbc10odCx0aGlzKSwhdC5wcm9wYWdhdGlvblN0b3BwZWQpO3MrKyk7cmV0dXJuIG4mJiF0LmRlZmF1bHRQcmV2ZW50ZWQ/bih0LHRoaXMpOnZvaWQgMH19LG4uX3NpZ25hbD1mdW5jdGlvbihlLHQpe3ZhciBpPSh0aGlzLl9ldmVudFJlZ2lzdHJ5fHx7fSlbZV07aWYoaSl7aT1pLnNsaWNlKCk7Zm9yKHZhciBuPTA7bjxpLmxlbmd0aDtuKyspaVtuXSh0LHRoaXMpfX0sbi5vbmNlPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpczt0JiZ0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZSxmdW5jdGlvbiBuKCl7aS5yZW1vdmVFdmVudExpc3RlbmVyKGUsbiksdC5hcHBseShudWxsLGFyZ3VtZW50cyl9KX0sbi5zZXREZWZhdWx0SGFuZGxlcj1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMuX2RlZmF1bHRIYW5kbGVycztpZihpfHwoaT10aGlzLl9kZWZhdWx0SGFuZGxlcnM9e19kaXNhYmxlZF86e319KSxpW2VdKXt2YXIgbj1pW2VdLHI9aS5fZGlzYWJsZWRfW2VdO3J8fChpLl9kaXNhYmxlZF9bZV09cj1bXSksci5wdXNoKG4pO3ZhciBvPXIuaW5kZXhPZih0KTstMSE9byYmci5zcGxpY2UobywxKX1pW2VdPXR9LG4ucmVtb3ZlRGVmYXVsdEhhbmRsZXI9ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLl9kZWZhdWx0SGFuZGxlcnM7aWYoaSl7dmFyIG49aS5fZGlzYWJsZWRfW2VdO2lmKGlbZV09PXQpe2lbZV07biYmdGhpcy5zZXREZWZhdWx0SGFuZGxlcihlLG4ucG9wKCkpfWVsc2UgaWYobil7dmFyIHI9bi5pbmRleE9mKHQpOy0xIT1yJiZuLnNwbGljZShyLDEpfX19LG4ub249bi5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCxpKXt0aGlzLl9ldmVudFJlZ2lzdHJ5PXRoaXMuX2V2ZW50UmVnaXN0cnl8fHt9O3ZhciBuPXRoaXMuX2V2ZW50UmVnaXN0cnlbZV07cmV0dXJuIG58fChuPXRoaXMuX2V2ZW50UmVnaXN0cnlbZV09W10pLC0xPT1uLmluZGV4T2YodCkmJm5baT8idW5zaGlmdCI6InB1c2giXSh0KSx0fSxuLm9mZj1uLnJlbW92ZUxpc3RlbmVyPW4ucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3RoaXMuX2V2ZW50UmVnaXN0cnk9dGhpcy5fZXZlbnRSZWdpc3RyeXx8e307dmFyIGk9dGhpcy5fZXZlbnRSZWdpc3RyeVtlXTtpZihpKXt2YXIgbj1pLmluZGV4T2YodCk7LTEhPT1uJiZpLnNwbGljZShuLDEpfX0sbi5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7dGhpcy5fZXZlbnRSZWdpc3RyeSYmKHRoaXMuX2V2ZW50UmVnaXN0cnlbZV09W10pfSx0LkV2ZW50RW1pdHRlcj1ufSksYWNlLmRlZmluZSgiYWNlL2xpYi9hcHBfY29uZmlnIixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIiwiYWNlL2xpYi9vb3AiLCJhY2UvbGliL2V2ZW50X2VtaXR0ZXIiXSxmdW5jdGlvbihlLHQsaSl7Im5vIHVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlLndhcm4mJmNvbnNvbGUud2Fybi5hcHBseShjb25zb2xlLGFyZ3VtZW50cyl9ZnVuY3Rpb24gcihlLHQpe3ZhciBpPW5ldyBFcnJvcihlKTtpLmRhdGE9dCwib2JqZWN0Ij09dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUuZXJyb3ImJmNvbnNvbGUuZXJyb3IoaSksc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGl9KX12YXIgbz1lKCIuL29vcCIpLHM9ZSgiLi9ldmVudF9lbWl0dGVyIikuRXZlbnRFbWl0dGVyLGE9e3NldE9wdGlvbnM6ZnVuY3Rpb24oZSl7T2JqZWN0LmtleXMoZSkuZm9yRWFjaChmdW5jdGlvbih0KXt0aGlzLnNldE9wdGlvbih0LGVbdF0pfSx0aGlzKX0sZ2V0T3B0aW9uczpmdW5jdGlvbihlKXt2YXIgdD17fTtyZXR1cm4gZT9BcnJheS5pc0FycmF5KGUpfHwodD1lLGU9T2JqZWN0LmtleXModCkpOmU9T2JqZWN0LmtleXModGhpcy4kb3B0aW9ucyksZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3RbZV09dGhpcy5nZXRPcHRpb24oZSl9LHRoaXMpLHR9LHNldE9wdGlvbjpmdW5jdGlvbihlLHQpe2lmKHRoaXNbIiQiK2VdIT09dCl7CnZhciBpPXRoaXMuJG9wdGlvbnNbZV07aWYoIWkpcmV0dXJuIG4oJ21pc3NwZWxsZWQgb3B0aW9uICInK2UrJyInKTtpZihpLmZvcndhcmRUbylyZXR1cm4gdGhpc1tpLmZvcndhcmRUb10mJnRoaXNbaS5mb3J3YXJkVG9dLnNldE9wdGlvbihlLHQpO2kuaGFuZGxlc1NldHx8KHRoaXNbIiQiK2VdPXQpLGkmJmkuc2V0JiZpLnNldC5jYWxsKHRoaXMsdCl9fSxnZXRPcHRpb246ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy4kb3B0aW9uc1tlXTtyZXR1cm4gdD90LmZvcndhcmRUbz90aGlzW3QuZm9yd2FyZFRvXSYmdGhpc1t0LmZvcndhcmRUb10uZ2V0T3B0aW9uKGUpOnQmJnQuZ2V0P3QuZ2V0LmNhbGwodGhpcyk6dGhpc1siJCIrZV06bignbWlzc3BlbGxlZCBvcHRpb24gIicrZSsnIicpfX0sbD1mdW5jdGlvbigpe3RoaXMuJGRlZmF1bHRPcHRpb25zPXt9fTsoZnVuY3Rpb24oKXtvLmltcGxlbWVudCh0aGlzLHMpLHRoaXMuZGVmaW5lT3B0aW9ucz1mdW5jdGlvbihlLHQsaSl7cmV0dXJuIGUuJG9wdGlvbnN8fCh0aGlzLiRkZWZhdWx0T3B0aW9uc1t0XT1lLiRvcHRpb25zPXt9KSxPYmplY3Qua2V5cyhpKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBuPWlbdF07InN0cmluZyI9PXR5cGVvZiBuJiYobj17Zm9yd2FyZFRvOm59KSxuLm5hbWV8fChuLm5hbWU9dCksZS4kb3B0aW9uc1tuLm5hbWVdPW4sImluaXRpYWxWYWx1ZSJpbiBuJiYoZVsiJCIrbi5uYW1lXT1uLmluaXRpYWxWYWx1ZSl9KSxvLmltcGxlbWVudChlLGEpLHRoaXN9LHRoaXMucmVzZXRPcHRpb25zPWZ1bmN0aW9uKGUpe09iamVjdC5rZXlzKGUuJG9wdGlvbnMpLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGk9ZS4kb3B0aW9uc1t0XTsidmFsdWUiaW4gaSYmZS5zZXRPcHRpb24odCxpLnZhbHVlKX0pfSx0aGlzLnNldERlZmF1bHRWYWx1ZT1mdW5jdGlvbihlLHQsaSl7dmFyIG49dGhpcy4kZGVmYXVsdE9wdGlvbnNbZV18fCh0aGlzLiRkZWZhdWx0T3B0aW9uc1tlXT17fSk7blt0XSYmKG4uZm9yd2FyZFRvP3RoaXMuc2V0RGVmYXVsdFZhbHVlKG4uZm9yd2FyZFRvLHQsaSk6blt0XS52YWx1ZT1pKX0sdGhpcy5zZXREZWZhdWx0VmFsdWVzPWZ1bmN0aW9uKGUsdCl7T2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihpKXt0aGlzLnNldERlZmF1bHRWYWx1ZShlLGksdFtpXSl9LHRoaXMpfSx0aGlzLndhcm49bix0aGlzLnJlcG9ydEVycm9yPXJ9KS5jYWxsKGwucHJvdG90eXBlKSx0LkFwcENvbmZpZz1sfSksYWNlLmRlZmluZSgiYWNlL2NvbmZpZyIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSIsImFjZS9saWIvbGFuZyIsImFjZS9saWIvb29wIiwiYWNlL2xpYi9uZXQiLCJhY2UvbGliL2FwcF9jb25maWciXSxmdW5jdGlvbihlLHQsbil7Im5vIHVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIocil7aWYoYyYmYy5kb2N1bWVudCl7aC5wYWNrYWdlZD1yfHxlLnBhY2thZ2VkfHxuLnBhY2thZ2VkfHxjLmRlZmluZSYmaSg2NSkucGFja2FnZWQ7Zm9yKHZhciBzPXt9LGE9IiIsbD1kb2N1bWVudC5jdXJyZW50U2NyaXB0fHxkb2N1bWVudC5fY3VycmVudFNjcmlwdCxkPWwmJmwub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQsdT1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxmPTA7Zjx1Lmxlbmd0aDtmKyspe3ZhciBwPXVbZl0sbT1wLnNyY3x8cC5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKG0pe2Zvcih2YXIgZz1wLmF0dHJpYnV0ZXMsdj0wLHc9Zy5sZW5ndGg7dz52O3YrKyl7dmFyIHk9Z1t2XTswPT09eS5uYW1lLmluZGV4T2YoImRhdGEtYWNlLSIpJiYoc1tvKHkubmFtZS5yZXBsYWNlKC9eZGF0YS1hY2UtLywiIikpXT15LnZhbHVlKX12YXIgQT1tLm1hdGNoKC9eKC4qKVwvYWNlKFwtXHcrKT9cLmpzKFw/fCQpLyk7QSYmKGE9QVsxXSl9fWEmJihzLmJhc2U9cy5iYXNlfHxhLHMucGFja2FnZWQ9ITApLHMuYmFzZVBhdGg9cy5iYXNlLHMud29ya2VyUGF0aD1zLndvcmtlclBhdGh8fHMuYmFzZSxzLm1vZGVQYXRoPXMubW9kZVBhdGh8fHMuYmFzZSxzLnRoZW1lUGF0aD1zLnRoZW1lUGF0aHx8cy5iYXNlLGRlbGV0ZSBzLmJhc2U7Zm9yKHZhciBDIGluIHMpInVuZGVmaW5lZCIhPXR5cGVvZiBzW0NdJiZ0LnNldChDLHNbQ10pfX1mdW5jdGlvbiBvKGUpe3JldHVybiBlLnJlcGxhY2UoLy0oLikvZyxmdW5jdGlvbihlLHQpe3JldHVybiB0LnRvVXBwZXJDYXNlKCl9KX12YXIgcz1lKCIuL2xpYi9sYW5nIiksYT0oZSgiLi9saWIvb29wIiksZSgiLi9saWIvbmV0IikpLGw9ZSgiLi9saWIvYXBwX2NvbmZpZyIpLkFwcENvbmZpZztuLmV4cG9ydHM9dD1uZXcgbDt2YXIgYz1mdW5jdGlvbigpe3JldHVybiB0aGlzfHwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93fSgpLGg9e3BhY2thZ2VkOiExLHdvcmtlclBhdGg6bnVsbCxtb2RlUGF0aDpudWxsLHRoZW1lUGF0aDpudWxsLGJhc2VQYXRoOiIiLHN1ZmZpeDoiLmpzIiwkbW9kdWxlVXJsczp7fX07dC5nZXQ9ZnVuY3Rpb24oZSl7aWYoIWguaGFzT3duUHJvcGVydHkoZSkpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIGNvbmZpZyBrZXk6ICIrZSk7cmV0dXJuIGhbZV19LHQuc2V0PWZ1bmN0aW9uKGUsdCl7aWYoIWguaGFzT3duUHJvcGVydHkoZSkpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIGNvbmZpZyBrZXk6ICIrZSk7aFtlXT10fSx0LmFsbD1mdW5jdGlvbigpe3JldHVybiBzLmNvcHlPYmplY3QoaCl9LHQubW9kdWxlVXJsPWZ1bmN0aW9uKGUsdCl7aWYoaC4kbW9kdWxlVXJsc1tlXSlyZXR1cm4gaC4kbW9kdWxlVXJsc1tlXTt2YXIgaT1lLnNwbGl0KCIvIik7dD10fHxpW2kubGVuZ3RoLTJdfHwiIjt2YXIgbj0ic25pcHBldHMiPT10PyIvIjoiLSIscj1pW2kubGVuZ3RoLTFdO2lmKCJ3b3JrZXIiPT10JiYiLSI9PW4pe3ZhciBvPW5ldyBSZWdFeHAoIl4iK3QrIltcXC1fXXxbXFwtX10iK3QrIiQiLCJnIik7cj1yLnJlcGxhY2UobywiIil9KCFyfHxyPT10KSYmaS5sZW5ndGg+MSYmKHI9aVtpLmxlbmd0aC0yXSk7dmFyIHM9aFt0KyJQYXRoIl07cmV0dXJuIG51bGw9PXM/cz1oLmJhc2VQYXRoOiIvIj09biYmKHQ9bj0iIikscyYmIi8iIT1zLnNsaWNlKC0xKSYmKHMrPSIvIikscyt0K24rcit0aGlzLmdldCgic3VmZml4Iil9LHQuc2V0TW9kdWxlVXJsPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGguJG1vZHVsZVVybHNbZV09dH0sdC4kbG9hZGluZz17fSx0LmxvYWRNb2R1bGU9ZnVuY3Rpb24oaSxuKXt2YXIgcixvO0FycmF5LmlzQXJyYXkoaSkmJihvPWlbMF0saT1pWzFdKTt0cnl7cj1lKGkpfWNhdGNoKHMpe31pZihyJiYhdC4kbG9hZGluZ1tpXSlyZXR1cm4gbiYmbihyKTtpZih0LiRsb2FkaW5nW2ldfHwodC4kbG9hZGluZ1tpXT1bXSksdC4kbG9hZGluZ1tpXS5wdXNoKG4pLCEodC4kbG9hZGluZ1tpXS5sZW5ndGg+MSkpe3ZhciBsPWZ1bmN0aW9uKCl7ZShbaV0sZnVuY3Rpb24oZSl7dC5fZW1pdCgibG9hZC5tb2R1bGUiLHtuYW1lOmksbW9kdWxlOmV9KTt2YXIgbj10LiRsb2FkaW5nW2ldO3QuJGxvYWRpbmdbaV09bnVsbCxuLmZvckVhY2goZnVuY3Rpb24odCl7dCYmdChlKX0pfSl9O3JldHVybiB0LmdldCgicGFja2FnZWQiKT92b2lkIGEubG9hZFNjcmlwdCh0Lm1vZHVsZVVybChpLG8pLGwpOmwoKX19LHIoITApLHQuaW5pdD1yfSksYWNlLmRlZmluZSgiYWNlL21vdXNlL21vdXNlX2hhbmRsZXIiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJhY2UvbGliL2V2ZW50IiwiYWNlL2xpYi91c2VyYWdlbnQiLCJhY2UvbW91c2UvZGVmYXVsdF9oYW5kbGVycyIsImFjZS9tb3VzZS9kZWZhdWx0X2d1dHRlcl9oYW5kbGVyIiwiYWNlL21vdXNlL21vdXNlX2V2ZW50IiwiYWNlL21vdXNlL2RyYWdkcm9wX2hhbmRsZXIiLCJhY2UvY29uZmlnIl0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1lKCIuLi9saWIvZXZlbnQiKSxyPWUoIi4uL2xpYi91c2VyYWdlbnQiKSxvPWUoIi4vZGVmYXVsdF9oYW5kbGVycyIpLkRlZmF1bHRIYW5kbGVycyxzPWUoIi4vZGVmYXVsdF9ndXR0ZXJfaGFuZGxlciIpLkd1dHRlckhhbmRsZXIsYT1lKCIuL21vdXNlX2V2ZW50IikuTW91c2VFdmVudCxsPWUoIi4vZHJhZ2Ryb3BfaGFuZGxlciIpLkRyYWdkcm9wSGFuZGxlcixjPWUoIi4uL2NvbmZpZyIpLGg9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLmVkaXRvcj1lLG5ldyBvKHRoaXMpLG5ldyBzKHRoaXMpLG5ldyBsKHRoaXMpO3ZhciBpPWZ1bmN0aW9uKHQpe3ZhciBpPSFkb2N1bWVudC5oYXNGb2N1c3x8IWRvY3VtZW50Lmhhc0ZvY3VzKCl8fCFlLmlzRm9jdXNlZCgpJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT0oZS50ZXh0SW5wdXQmJmUudGV4dElucHV0LmdldEVsZW1lbnQoKSk7aSYmd2luZG93LmZvY3VzKCksZS5mb2N1cygpfSxhPWUucmVuZGVyZXIuZ2V0TW91c2VFdmVudFRhcmdldCgpO24uYWRkTGlzdGVuZXIoYSwiY2xpY2siLHRoaXMub25Nb3VzZUV2ZW50LmJpbmQodGhpcywiY2xpY2siKSksbi5hZGRMaXN0ZW5lcihhLCJtb3VzZW1vdmUiLHRoaXMub25Nb3VzZU1vdmUuYmluZCh0aGlzLCJtb3VzZW1vdmUiKSksbi5hZGRNdWx0aU1vdXNlRG93bkxpc3RlbmVyKFthLGUucmVuZGVyZXIuc2Nyb2xsQmFyViYmZS5yZW5kZXJlci5zY3JvbGxCYXJWLmlubmVyLGUucmVuZGVyZXIuc2Nyb2xsQmFySCYmZS5yZW5kZXJlci5zY3JvbGxCYXJILmlubmVyLGUudGV4dElucHV0JiZlLnRleHRJbnB1dC5nZXRFbGVtZW50KCldLmZpbHRlcihCb29sZWFuKSxbNDAwLDMwMCwyNTBdLHRoaXMsIm9uTW91c2VFdmVudCIpLG4uYWRkTW91c2VXaGVlbExpc3RlbmVyKGUuY29udGFpbmVyLHRoaXMub25Nb3VzZVdoZWVsLmJpbmQodGhpcywibW91c2V3aGVlbCIpKSxuLmFkZFRvdWNoTW92ZUxpc3RlbmVyKGUuY29udGFpbmVyLHRoaXMub25Ub3VjaE1vdmUuYmluZCh0aGlzLCJ0b3VjaG1vdmUiKSk7dmFyIGM9ZS5yZW5kZXJlci4kZ3V0dGVyO24uYWRkTGlzdGVuZXIoYywibW91c2Vkb3duIix0aGlzLm9uTW91c2VFdmVudC5iaW5kKHRoaXMsImd1dHRlcm1vdXNlZG93biIpKSxuLmFkZExpc3RlbmVyKGMsImNsaWNrIix0aGlzLm9uTW91c2VFdmVudC5iaW5kKHRoaXMsImd1dHRlcmNsaWNrIikpLG4uYWRkTGlzdGVuZXIoYywiZGJsY2xpY2siLHRoaXMub25Nb3VzZUV2ZW50LmJpbmQodGhpcywiZ3V0dGVyZGJsY2xpY2siKSksbi5hZGRMaXN0ZW5lcihjLCJtb3VzZW1vdmUiLHRoaXMub25Nb3VzZUV2ZW50LmJpbmQodGhpcywiZ3V0dGVybW91c2Vtb3ZlIikpLG4uYWRkTGlzdGVuZXIoYSwibW91c2Vkb3duIixpKSxuLmFkZExpc3RlbmVyKGMsIm1vdXNlZG93biIsaSksci5pc0lFJiZlLnJlbmRlcmVyLnNjcm9sbEJhclYmJihuLmFkZExpc3RlbmVyKGUucmVuZGVyZXIuc2Nyb2xsQmFyVi5lbGVtZW50LCJtb3VzZWRvd24iLGkpLG4uYWRkTGlzdGVuZXIoZS5yZW5kZXJlci5zY3JvbGxCYXJILmVsZW1lbnQsIm1vdXNlZG93biIsaSkpLGUub24oIm1vdXNlbW92ZSIsZnVuY3Rpb24oaSl7aWYoIXQuc3RhdGUmJiF0LiRkcmFnRGVsYXkmJnQuJGRyYWdFbmFibGVkKXt2YXIgbj1lLnJlbmRlcmVyLnNjcmVlblRvVGV4dENvb3JkaW5hdGVzKGkueCxpLnkpLHI9ZS5zZXNzaW9uLnNlbGVjdGlvbi5nZXRSYW5nZSgpLG89ZS5yZW5kZXJlcjshci5pc0VtcHR5KCkmJnIuaW5zaWRlU3RhcnQobi5yb3csbi5jb2x1bW4pP28uc2V0Q3Vyc29yU3R5bGUoImRlZmF1bHQiKTpvLnNldEN1cnNvclN0eWxlKCIiKX19KX07KGZ1bmN0aW9uKCl7dGhpcy5vbk1vdXNlRXZlbnQ9ZnVuY3Rpb24oZSx0KXt0aGlzLmVkaXRvci5fZW1pdChlLG5ldyBhKHQsdGhpcy5lZGl0b3IpKX0sdGhpcy5vbk1vdXNlTW92ZT1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMuZWRpdG9yLl9ldmVudFJlZ2lzdHJ5JiZ0aGlzLmVkaXRvci5fZXZlbnRSZWdpc3RyeS5tb3VzZW1vdmU7aSYmaS5sZW5ndGgmJnRoaXMuZWRpdG9yLl9lbWl0KGUsbmV3IGEodCx0aGlzLmVkaXRvcikpfSx0aGlzLm9uTW91c2VXaGVlbD1mdW5jdGlvbihlLHQpe3ZhciBpPW5ldyBhKHQsdGhpcy5lZGl0b3IpO2kuc3BlZWQ9Mip0aGlzLiRzY3JvbGxTcGVlZCxpLndoZWVsWD10LndoZWVsWCxpLndoZWVsWT10LndoZWVsWSx0aGlzLmVkaXRvci5fZW1pdChlLGkpfSx0aGlzLm9uVG91Y2hNb3ZlPWZ1bmN0aW9uKGUsdCl7dmFyIGk9bmV3IGEodCx0aGlzLmVkaXRvcik7aS5zcGVlZD0xLGkud2hlZWxYPXQud2hlZWxYLGkud2hlZWxZPXQud2hlZWxZLHRoaXMuZWRpdG9yLl9lbWl0KGUsaSl9LHRoaXMuc2V0U3RhdGU9ZnVuY3Rpb24oZSl7dGhpcy5zdGF0ZT1lfSx0aGlzLmNhcHR1cmVNb3VzZT1mdW5jdGlvbihlLHQpe3RoaXMueD1lLngsdGhpcy55PWUueSx0aGlzLmlzTW91c2VQcmVzc2VkPSEwO3ZhciBpPXRoaXMuZWRpdG9yLnJlbmRlcmVyO2kuJGtlZXBUZXh0QXJlYUF0Q3Vyc29yJiYoaS4ka2VlcFRleHRBcmVhQXRDdXJzb3I9bnVsbCk7dmFyIG89dGhpcyxzPWZ1bmN0aW9uKGUpe2lmKGUpe2lmKHIuaXNXZWJLaXQmJiFlLndoaWNoJiZvLnJlbGVhc2VNb3VzZSlyZXR1cm4gby5yZWxlYXNlTW91c2UoKTtvLng9ZS5jbGllbnRYLG8ueT1lLmNsaWVudFksdCYmdChlKSxvLm1vdXNlRXZlbnQ9bmV3IGEoZSxvLmVkaXRvciksby4kbW91c2VNb3ZlZD0hMH19LGw9ZnVuY3Rpb24oZSl7Y2xlYXJJbnRlcnZhbChoKSxjKCksb1tvLnN0YXRlKyJFbmQiXSYmb1tvLnN0YXRlKyJFbmQiXShlKSxvLnN0YXRlPSIiLG51bGw9PWkuJGtlZXBUZXh0QXJlYUF0Q3Vyc29yJiYoaS4ka2VlcFRleHRBcmVhQXRDdXJzb3I9ITAsaS4kbW92ZVRleHRBcmVhVG9DdXJzb3IoKSksby5pc01vdXNlUHJlc3NlZD0hMSxvLiRvbkNhcHR1cmVNb3VzZU1vdmU9by5yZWxlYXNlTW91c2U9bnVsbCxlJiZvLm9uTW91c2VFdmVudCgibW91c2V1cCIsZSl9LGM9ZnVuY3Rpb24oKXtvW28uc3RhdGVdJiZvW28uc3RhdGVdKCksby4kbW91c2VNb3ZlZD0hMX07aWYoci5pc09sZElFJiYiZGJsY2xpY2siPT1lLmRvbUV2ZW50LnR5cGUpcmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtsKGUpfSk7by4kb25DYXB0dXJlTW91c2VNb3ZlPXMsby5yZWxlYXNlTW91c2U9bi5jYXB0dXJlKHRoaXMuZWRpdG9yLmNvbnRhaW5lcixzLGwpO3ZhciBoPXNldEludGVydmFsKGMsMjApfSx0aGlzLnJlbGVhc2VNb3VzZT1udWxsLHRoaXMuY2FuY2VsQ29udGV4dE1lbnU9ZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbih0KXt0JiZ0LmRvbUV2ZW50JiYiY29udGV4dG1lbnUiIT10LmRvbUV2ZW50LnR5cGV8fCh0aGlzLmVkaXRvci5vZmYoIm5hdGl2ZWNvbnRleHRtZW51IixlKSx0JiZ0LmRvbUV2ZW50JiZuLnN0b3BFdmVudCh0LmRvbUV2ZW50KSl9LmJpbmQodGhpcyk7c2V0VGltZW91dChlLDEwKSx0aGlzLmVkaXRvci5vbigibmF0aXZlY29udGV4dG1lbnUiLGUpfX0pLmNhbGwoaC5wcm90b3R5cGUpLGMuZGVmaW5lT3B0aW9ucyhoLnByb3RvdHlwZSwibW91c2VIYW5kbGVyIix7c2Nyb2xsU3BlZWQ6e2luaXRpYWxWYWx1ZToyfSxkcmFnRGVsYXk6e2luaXRpYWxWYWx1ZTpyLmlzTWFjPzE1MDowfSxkcmFnRW5hYmxlZDp7aW5pdGlhbFZhbHVlOiEwfSxmb2N1c1RpbW91dDp7aW5pdGlhbFZhbHVlOjB9LHRvb2x0aXBGb2xsb3dzTW91c2U6e2luaXRpYWxWYWx1ZTohMH19KSx0Lk1vdXNlSGFuZGxlcj1ofSksYWNlLmRlZmluZSgiYWNlL21vdXNlL2ZvbGRfaGFuZGxlciIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSJdLGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtlLm9uKCJjbGljayIsZnVuY3Rpb24odCl7dmFyIGk9dC5nZXREb2N1bWVudFBvc2l0aW9uKCksbj1lLnNlc3Npb24scj1uLmdldEZvbGRBdChpLnJvdyxpLmNvbHVtbiwxKTtyJiYodC5nZXRBY2NlbEtleSgpP24ucmVtb3ZlRm9sZChyKTpuLmV4cGFuZEZvbGQociksdC5zdG9wKCkpfSksZS5vbigiZ3V0dGVyY2xpY2siLGZ1bmN0aW9uKHQpe3ZhciBpPWUucmVuZGVyZXIuJGd1dHRlckxheWVyLmdldFJlZ2lvbih0KTtpZigiZm9sZFdpZGdldHMiPT1pKXt2YXIgbj10LmdldERvY3VtZW50UG9zaXRpb24oKS5yb3cscj1lLnNlc3Npb247ci5mb2xkV2lkZ2V0cyYmci5mb2xkV2lkZ2V0c1tuXSYmZS5zZXNzaW9uLm9uRm9sZFdpZGdldENsaWNrKG4sdCksZS5pc0ZvY3VzZWQoKXx8ZS5mb2N1cygpLHQuc3RvcCgpfX0pLGUub24oImd1dHRlcmRibGNsaWNrIixmdW5jdGlvbih0KXt2YXIgaT1lLnJlbmRlcmVyLiRndXR0ZXJMYXllci5nZXRSZWdpb24odCk7aWYoImZvbGRXaWRnZXRzIj09aSl7dmFyIG49dC5nZXREb2N1bWVudFBvc2l0aW9uKCkucm93LHI9ZS5zZXNzaW9uLG89ci5nZXRQYXJlbnRGb2xkUmFuZ2VEYXRhKG4sITApLHM9by5yYW5nZXx8by5maXJzdFJhbmdlO2lmKHMpe249cy5zdGFydC5yb3c7dmFyIGE9ci5nZXRGb2xkQXQobixyLmdldExpbmUobikubGVuZ3RoLDEpO2E/ci5yZW1vdmVGb2xkKGEpOihyLmFkZEZvbGQoIi4uLiIscyksZS5yZW5kZXJlci5zY3JvbGxDdXJzb3JJbnRvVmlldyh7cm93OnMuc3RhcnQucm93LGNvbHVtbjowfSkpfXQuc3RvcCgpfX0pfXQuRm9sZEhhbmRsZXI9bn0pLGFjZS5kZWZpbmUoImFjZS9rZXlib2FyZC9rZXliaW5kaW5nIixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIiwiYWNlL2xpYi9rZXlzIiwiYWNlL2xpYi9ldmVudCJdLGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIG49ZSgiLi4vbGliL2tleXMiKSxyPWUoIi4uL2xpYi9ldmVudCIpLG89ZnVuY3Rpb24oZSl7dGhpcy4kZWRpdG9yPWUsdGhpcy4kZGF0YT17ZWRpdG9yOmV9LHRoaXMuJGhhbmRsZXJzPVtdLHRoaXMuc2V0RGVmYXVsdEhhbmRsZXIoZS5jb21tYW5kcyl9OyhmdW5jdGlvbigpe3RoaXMuc2V0RGVmYXVsdEhhbmRsZXI9ZnVuY3Rpb24oZSl7dGhpcy5yZW1vdmVLZXlib2FyZEhhbmRsZXIodGhpcy4kZGVmYXVsdEhhbmRsZXIpLHRoaXMuJGRlZmF1bHRIYW5kbGVyPWUsdGhpcy5hZGRLZXlib2FyZEhhbmRsZXIoZSwwKX0sdGhpcy5zZXRLZXlib2FyZEhhbmRsZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy4kaGFuZGxlcnM7aWYodFt0Lmxlbmd0aC0xXSE9ZSl7Zm9yKDt0W3QubGVuZ3RoLTFdJiZ0W3QubGVuZ3RoLTFdIT10aGlzLiRkZWZhdWx0SGFuZGxlcjspdGhpcy5yZW1vdmVLZXlib2FyZEhhbmRsZXIodFt0Lmxlbmd0aC0xXSk7dGhpcy5hZGRLZXlib2FyZEhhbmRsZXIoZSwxKX19LHRoaXMuYWRkS2V5Ym9hcmRIYW5kbGVyPWZ1bmN0aW9uKGUsdCl7aWYoZSl7ImZ1bmN0aW9uIiE9dHlwZW9mIGV8fGUuaGFuZGxlS2V5Ym9hcmR8fChlLmhhbmRsZUtleWJvYXJkPWUpO3ZhciBpPXRoaXMuJGhhbmRsZXJzLmluZGV4T2YoZSk7LTEhPWkmJnRoaXMuJGhhbmRsZXJzLnNwbGljZShpLDEpLHZvaWQgMD09dD90aGlzLiRoYW5kbGVycy5wdXNoKGUpOnRoaXMuJGhhbmRsZXJzLnNwbGljZSh0LDAsZSksLTE9PWkmJmUuYXR0YWNoJiZlLmF0dGFjaCh0aGlzLiRlZGl0b3IpfX0sdGhpcy5yZW1vdmVLZXlib2FyZEhhbmRsZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy4kaGFuZGxlcnMuaW5kZXhPZihlKTtyZXR1cm4tMT09dD8hMToodGhpcy4kaGFuZGxlcnMuc3BsaWNlKHQsMSksZS5kZXRhY2gmJmUuZGV0YWNoKHRoaXMuJGVkaXRvciksITApfSx0aGlzLmdldEtleWJvYXJkSGFuZGxlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRoYW5kbGVyc1t0aGlzLiRoYW5kbGVycy5sZW5ndGgtMV19LHRoaXMuZ2V0U3RhdHVzVGV4dD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuJGRhdGEsdD1lLmVkaXRvcjtyZXR1cm4gdGhpcy4kaGFuZGxlcnMubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBpLmdldFN0YXR1c1RleHQmJmkuZ2V0U3RhdHVzVGV4dCh0LGUpfHwiIn0pLmZpbHRlcihCb29sZWFuKS5qb2luKCIgIil9LHRoaXMuJGNhbGxLZXlib2FyZEhhbmRsZXJzPWZ1bmN0aW9uKGUsdCxpLG4pe2Zvcih2YXIgbyxzPSExLGE9dGhpcy4kZWRpdG9yLmNvbW1hbmRzLGw9dGhpcy4kaGFuZGxlcnMubGVuZ3RoO2wtLSYmKG89dGhpcy4kaGFuZGxlcnNbbF0uaGFuZGxlS2V5Ym9hcmQodGhpcy4kZGF0YSxlLHQsaSxuKSwhKG8mJm8uY29tbWFuZCYmKHM9Im51bGwiPT1vLmNvbW1hbmQ/ITA6YS5leGVjKG8uY29tbWFuZCx0aGlzLiRlZGl0b3Isby5hcmdzLG4pLHMmJm4mJi0xIT1lJiYxIT1vLnBhc3NFdmVudCYmMSE9by5jb21tYW5kLnBhc3NFdmVudCYmci5zdG9wRXZlbnQobikscykpKTspO3JldHVybiBzfHwtMSE9ZXx8KG89e2NvbW1hbmQ6Imluc2VydHN0cmluZyJ9LHM9YS5leGVjKCJpbnNlcnRzdHJpbmciLHRoaXMuJGVkaXRvcix0KSkscyYmdGhpcy4kZWRpdG9yLl9zaWduYWwoImtleWJvYXJkQWN0aXZpdHkiLG8pLHN9LHRoaXMub25Db21tYW5kS2V5PWZ1bmN0aW9uKGUsdCxpKXt2YXIgcj1uLmtleUNvZGVUb1N0cmluZyhpKTt0aGlzLiRjYWxsS2V5Ym9hcmRIYW5kbGVycyh0LHIsaSxlKX0sdGhpcy5vblRleHRJbnB1dD1mdW5jdGlvbihlKXt0aGlzLiRjYWxsS2V5Ym9hcmRIYW5kbGVycygtMSxlKX19KS5jYWxsKG8ucHJvdG90eXBlKSx0LktleUJpbmRpbmc9b30pLGFjZS5kZWZpbmUoImFjZS9yYW5nZSIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSJdLGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIG49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5yb3ctdC5yb3d8fGUuY29sdW1uLXQuY29sdW1ufSxyPWZ1bmN0aW9uKGUsdCxpLG4pe3RoaXMuc3RhcnQ9e3JvdzplLGNvbHVtbjp0fSx0aGlzLmVuZD17cm93OmksY29sdW1uOm59fTsoZnVuY3Rpb24oKXt0aGlzLmlzRXF1YWw9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuc3RhcnQucm93PT09ZS5zdGFydC5yb3cmJnRoaXMuZW5kLnJvdz09PWUuZW5kLnJvdyYmdGhpcy5zdGFydC5jb2x1bW49PT1lLnN0YXJ0LmNvbHVtbiYmdGhpcy5lbmQuY29sdW1uPT09ZS5lbmQuY29sdW1ufSx0aGlzLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIlJhbmdlOiBbIit0aGlzLnN0YXJ0LnJvdysiLyIrdGhpcy5zdGFydC5jb2x1bW4rIl0gLT4gWyIrdGhpcy5lbmQucm93KyIvIit0aGlzLmVuZC5jb2x1bW4rIl0ifSx0aGlzLmNvbnRhaW5zPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIDA9PXRoaXMuY29tcGFyZShlLHQpfSx0aGlzLmNvbXBhcmVSYW5nZT1mdW5jdGlvbihlKXt2YXIgdCxpPWUuZW5kLG49ZS5zdGFydDtyZXR1cm4gdD10aGlzLmNvbXBhcmUoaS5yb3csaS5jb2x1bW4pLDE9PXQ/KHQ9dGhpcy5jb21wYXJlKG4ucm93LG4uY29sdW1uKSwxPT10PzI6MD09dD8xOjApOi0xPT10Py0yOih0PXRoaXMuY29tcGFyZShuLnJvdyxuLmNvbHVtbiksLTE9PXQ/LTE6MT09dD80MjowKX0sdGhpcy5jb21wYXJlUG9pbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY29tcGFyZShlLnJvdyxlLmNvbHVtbil9LHRoaXMuY29udGFpbnNSYW5nZT1mdW5jdGlvbihlKXtyZXR1cm4gMD09dGhpcy5jb21wYXJlUG9pbnQoZS5zdGFydCkmJjA9PXRoaXMuY29tcGFyZVBvaW50KGUuZW5kKX0sdGhpcy5pbnRlcnNlY3RzPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuY29tcGFyZVJhbmdlKGUpO3JldHVybi0xPT10fHwwPT10fHwxPT10fSx0aGlzLmlzRW5kPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW5kLnJvdz09ZSYmdGhpcy5lbmQuY29sdW1uPT10fSx0aGlzLmlzU3RhcnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5zdGFydC5yb3c9PWUmJnRoaXMuc3RhcnQuY29sdW1uPT10fSx0aGlzLnNldFN0YXJ0PWZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBlPyh0aGlzLnN0YXJ0LmNvbHVtbj1lLmNvbHVtbix0aGlzLnN0YXJ0LnJvdz1lLnJvdyk6KHRoaXMuc3RhcnQucm93PWUsdGhpcy5zdGFydC5jb2x1bW49dCl9LHRoaXMuc2V0RW5kPWZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBlPyh0aGlzLmVuZC5jb2x1bW49ZS5jb2x1bW4sdGhpcy5lbmQucm93PWUucm93KToodGhpcy5lbmQucm93PWUsdGhpcy5lbmQuY29sdW1uPXQpfSx0aGlzLmluc2lkZT1mdW5jdGlvbihlLHQpe3JldHVybiAwPT10aGlzLmNvbXBhcmUoZSx0KT8hdGhpcy5pc0VuZChlLHQpJiYhdGhpcy5pc1N0YXJ0KGUsdCk6ITF9LHRoaXMuaW5zaWRlU3RhcnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gMD09dGhpcy5jb21wYXJlKGUsdCk/IXRoaXMuaXNFbmQoZSx0KTohMX0sdGhpcy5pbnNpZGVFbmQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gMD09dGhpcy5jb21wYXJlKGUsdCk/IXRoaXMuaXNTdGFydChlLHQpOiExfSx0aGlzLmNvbXBhcmU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5pc011bHRpTGluZSgpfHxlIT09dGhpcy5zdGFydC5yb3c/ZTx0aGlzLnN0YXJ0LnJvdz8tMTplPnRoaXMuZW5kLnJvdz8xOnRoaXMuc3RhcnQucm93PT09ZT90Pj10aGlzLnN0YXJ0LmNvbHVtbj8wOi0xOnRoaXMuZW5kLnJvdz09PWU/dDw9dGhpcy5lbmQuY29sdW1uPzA6MTowOnQ8dGhpcy5zdGFydC5jb2x1bW4/LTE6dD50aGlzLmVuZC5jb2x1bW4/MTowfSx0aGlzLmNvbXBhcmVTdGFydD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnN0YXJ0LnJvdz09ZSYmdGhpcy5zdGFydC5jb2x1bW49PXQ/LTE6dGhpcy5jb21wYXJlKGUsdCl9LHRoaXMuY29tcGFyZUVuZD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVuZC5yb3c9PWUmJnRoaXMuZW5kLmNvbHVtbj09dD8xOnRoaXMuY29tcGFyZShlLHQpfSx0aGlzLmNvbXBhcmVJbnNpZGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbmQucm93PT1lJiZ0aGlzLmVuZC5jb2x1bW49PXQ/MTp0aGlzLnN0YXJ0LnJvdz09ZSYmdGhpcy5zdGFydC5jb2x1bW49PXQ/LTE6dGhpcy5jb21wYXJlKGUsdCl9LHRoaXMuY2xpcFJvd3M9ZnVuY3Rpb24oZSx0KXtpZih0aGlzLmVuZC5yb3c+dCl2YXIgaT17cm93OnQrMSxjb2x1bW46MH07ZWxzZSBpZih0aGlzLmVuZC5yb3c8ZSl2YXIgaT17cm93OmUsY29sdW1uOjB9O2lmKHRoaXMuc3RhcnQucm93PnQpdmFyIG49e3Jvdzp0KzEsY29sdW1uOjB9O2Vsc2UgaWYodGhpcy5zdGFydC5yb3c8ZSl2YXIgbj17cm93OmUsY29sdW1uOjB9O3JldHVybiByLmZyb21Qb2ludHMobnx8dGhpcy5zdGFydCxpfHx0aGlzLmVuZCl9LHRoaXMuZXh0ZW5kPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5jb21wYXJlKGUsdCk7aWYoMD09aSlyZXR1cm4gdGhpcztpZigtMT09aSl2YXIgbj17cm93OmUsY29sdW1uOnR9O2Vsc2UgdmFyIG89e3JvdzplLGNvbHVtbjp0fTtyZXR1cm4gci5mcm9tUG9pbnRzKG58fHRoaXMuc3RhcnQsb3x8dGhpcy5lbmQpfSx0aGlzLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGFydC5yb3c9PT10aGlzLmVuZC5yb3cmJnRoaXMuc3RhcnQuY29sdW1uPT09dGhpcy5lbmQuY29sdW1ufSx0aGlzLmlzTXVsdGlMaW5lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhcnQucm93IT09dGhpcy5lbmQucm93fSx0aGlzLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHIuZnJvbVBvaW50cyh0aGlzLnN0YXJ0LHRoaXMuZW5kKX0sdGhpcy5jb2xsYXBzZVJvd3M9ZnVuY3Rpb24oKXtyZXR1cm4gMD09dGhpcy5lbmQuY29sdW1uP25ldyByKHRoaXMuc3RhcnQucm93LDAsTWF0aC5tYXgodGhpcy5zdGFydC5yb3csdGhpcy5lbmQucm93LTEpLDApOm5ldyByKHRoaXMuc3RhcnQucm93LDAsdGhpcy5lbmQucm93LDApfSx0aGlzLnRvU2NyZWVuUmFuZ2U9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kb2N1bWVudFRvU2NyZWVuUG9zaXRpb24odGhpcy5zdGFydCksaT1lLmRvY3VtZW50VG9TY3JlZW5Qb3NpdGlvbih0aGlzLmVuZCk7cmV0dXJuIG5ldyByKHQucm93LHQuY29sdW1uLGkucm93LGkuY29sdW1uKX0sdGhpcy5tb3ZlQnk9ZnVuY3Rpb24oZSx0KXt0aGlzLnN0YXJ0LnJvdys9ZSx0aGlzLnN0YXJ0LmNvbHVtbis9dCx0aGlzLmVuZC5yb3crPWUsdGhpcy5lbmQuY29sdW1uKz10fX0pLmNhbGwoci5wcm90b3R5cGUpLHIuZnJvbVBvaW50cz1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcgcihlLnJvdyxlLmNvbHVtbix0LnJvdyx0LmNvbHVtbil9LHIuY29tcGFyZVBvaW50cz1uLHIuY29tcGFyZVBvaW50cz1mdW5jdGlvbihlLHQpe3JldHVybiBlLnJvdy10LnJvd3x8ZS5jb2x1bW4tdC5jb2x1bW59LHQuUmFuZ2U9cn0pLGFjZS5kZWZpbmUoImFjZS9zZWxlY3Rpb24iLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJhY2UvbGliL29vcCIsImFjZS9saWIvbGFuZyIsImFjZS9saWIvZXZlbnRfZW1pdHRlciIsImFjZS9yYW5nZSJdLGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIG49ZSgiLi9saWIvb29wIikscj1lKCIuL2xpYi9sYW5nIiksbz1lKCIuL2xpYi9ldmVudF9lbWl0dGVyIikuRXZlbnRFbWl0dGVyLHM9ZSgiLi9yYW5nZSIpLlJhbmdlLGE9ZnVuY3Rpb24oZSl7dGhpcy5zZXNzaW9uPWUsdGhpcy5kb2M9ZS5nZXREb2N1bWVudCgpLHRoaXMuY2xlYXJTZWxlY3Rpb24oKSx0aGlzLmxlYWQ9dGhpcy5zZWxlY3Rpb25MZWFkPXRoaXMuZG9jLmNyZWF0ZUFuY2hvcigwLDApLHRoaXMuYW5jaG9yPXRoaXMuc2VsZWN0aW9uQW5jaG9yPXRoaXMuZG9jLmNyZWF0ZUFuY2hvcigwLDApO3ZhciB0PXRoaXM7dGhpcy5sZWFkLm9uKCJjaGFuZ2UiLGZ1bmN0aW9uKGUpe3QuX2VtaXQoImNoYW5nZUN1cnNvciIpLHQuJGlzRW1wdHl8fHQuX2VtaXQoImNoYW5nZVNlbGVjdGlvbiIpLHQuJGtlZXBEZXNpcmVkQ29sdW1uT25DaGFuZ2V8fGUub2xkLmNvbHVtbj09ZS52YWx1ZS5jb2x1bW58fCh0LiRkZXNpcmVkQ29sdW1uPW51bGwpfSksdGhpcy5zZWxlY3Rpb25BbmNob3Iub24oImNoYW5nZSIsZnVuY3Rpb24oKXt0LiRpc0VtcHR5fHx0Ll9lbWl0KCJjaGFuZ2VTZWxlY3Rpb24iKX0pfTsoZnVuY3Rpb24oKXtuLmltcGxlbWVudCh0aGlzLG8pLHRoaXMuaXNFbXB0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRpc0VtcHR5fHx0aGlzLmFuY2hvci5yb3c9PXRoaXMubGVhZC5yb3cmJnRoaXMuYW5jaG9yLmNvbHVtbj09dGhpcy5sZWFkLmNvbHVtbn0sdGhpcy5pc011bHRpTGluZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzRW1wdHkoKT8hMTp0aGlzLmdldFJhbmdlKCkuaXNNdWx0aUxpbmUoKX0sdGhpcy5nZXRDdXJzb3I9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZWFkLmdldFBvc2l0aW9uKCl9LHRoaXMuc2V0U2VsZWN0aW9uQW5jaG9yPWZ1bmN0aW9uKGUsdCl7dGhpcy5hbmNob3Iuc2V0UG9zaXRpb24oZSx0KSx0aGlzLiRpc0VtcHR5JiYodGhpcy4kaXNFbXB0eT0hMSx0aGlzLl9lbWl0KCJjaGFuZ2VTZWxlY3Rpb24iKSl9LHRoaXMuZ2V0U2VsZWN0aW9uQW5jaG9yPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGlzRW1wdHk/dGhpcy5nZXRTZWxlY3Rpb25MZWFkKCk6dGhpcy5hbmNob3IuZ2V0UG9zaXRpb24oKX0sdGhpcy5nZXRTZWxlY3Rpb25MZWFkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVhZC5nZXRQb3NpdGlvbigpfSx0aGlzLnNoaWZ0U2VsZWN0aW9uPWZ1bmN0aW9uKGUpe2lmKHRoaXMuJGlzRW1wdHkpcmV0dXJuIHZvaWQgdGhpcy5tb3ZlQ3Vyc29yVG8odGhpcy5sZWFkLnJvdyx0aGlzLmxlYWQuY29sdW1uK2UpO3ZhciB0PXRoaXMuZ2V0U2VsZWN0aW9uQW5jaG9yKCksaT10aGlzLmdldFNlbGVjdGlvbkxlYWQoKSxuPXRoaXMuaXNCYWNrd2FyZHMoKTtuJiYwPT09dC5jb2x1bW58fHRoaXMuc2V0U2VsZWN0aW9uQW5jaG9yKHQucm93LHQuY29sdW1uK2UpLChufHwwIT09aS5jb2x1bW4pJiZ0aGlzLiRtb3ZlU2VsZWN0aW9uKGZ1bmN0aW9uKCl7dGhpcy5tb3ZlQ3Vyc29yVG8oaS5yb3csaS5jb2x1bW4rZSl9KX0sdGhpcy5pc0JhY2t3YXJkcz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuYW5jaG9yLHQ9dGhpcy5sZWFkO3JldHVybiBlLnJvdz50LnJvd3x8ZS5yb3c9PXQucm93JiZlLmNvbHVtbj50LmNvbHVtbn0sdGhpcy5nZXRSYW5nZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuYW5jaG9yLHQ9dGhpcy5sZWFkO3JldHVybiB0aGlzLmlzRW1wdHkoKT9zLmZyb21Qb2ludHModCx0KTp0aGlzLmlzQmFja3dhcmRzKCk/cy5mcm9tUG9pbnRzKHQsZSk6cy5mcm9tUG9pbnRzKGUsdCl9LHRoaXMuY2xlYXJTZWxlY3Rpb249ZnVuY3Rpb24oKXt0aGlzLiRpc0VtcHR5fHwodGhpcy4kaXNFbXB0eT0hMCx0aGlzLl9lbWl0KCJjaGFuZ2VTZWxlY3Rpb24iKSl9LHRoaXMuc2VsZWN0QWxsPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5kb2MuZ2V0TGVuZ3RoKCktMTt0aGlzLnNldFNlbGVjdGlvbkFuY2hvcigwLDApLHRoaXMubW92ZUN1cnNvclRvKGUsdGhpcy5kb2MuZ2V0TGluZShlKS5sZW5ndGgpfSx0aGlzLnNldFJhbmdlPXRoaXMuc2V0U2VsZWN0aW9uUmFuZ2U9ZnVuY3Rpb24oZSx0KXt0Pyh0aGlzLnNldFNlbGVjdGlvbkFuY2hvcihlLmVuZC5yb3csZS5lbmQuY29sdW1uKSx0aGlzLnNlbGVjdFRvKGUuc3RhcnQucm93LGUuc3RhcnQuY29sdW1uKSk6KHRoaXMuc2V0U2VsZWN0aW9uQW5jaG9yKGUuc3RhcnQucm93LGUuc3RhcnQuY29sdW1uKSx0aGlzLnNlbGVjdFRvKGUuZW5kLnJvdyxlLmVuZC5jb2x1bW4pKSx0aGlzLmdldFJhbmdlKCkuaXNFbXB0eSgpJiYodGhpcy4kaXNFbXB0eT0hMCksdGhpcy4kZGVzaXJlZENvbHVtbj1udWxsfSx0aGlzLiRtb3ZlU2VsZWN0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMubGVhZDt0aGlzLiRpc0VtcHR5JiZ0aGlzLnNldFNlbGVjdGlvbkFuY2hvcih0LnJvdyx0LmNvbHVtbiksZS5jYWxsKHRoaXMpfSx0aGlzLnNlbGVjdFRvPWZ1bmN0aW9uKGUsdCl7dGhpcy4kbW92ZVNlbGVjdGlvbihmdW5jdGlvbigpe3RoaXMubW92ZUN1cnNvclRvKGUsdCl9KX0sdGhpcy5zZWxlY3RUb1Bvc2l0aW9uPWZ1bmN0aW9uKGUpe3RoaXMuJG1vdmVTZWxlY3Rpb24oZnVuY3Rpb24oKXt0aGlzLm1vdmVDdXJzb3JUb1Bvc2l0aW9uKGUpfSl9LHRoaXMubW92ZVRvPWZ1bmN0aW9uKGUsdCl7dGhpcy5jbGVhclNlbGVjdGlvbigpLHRoaXMubW92ZUN1cnNvclRvKGUsdCl9LHRoaXMubW92ZVRvUG9zaXRpb249ZnVuY3Rpb24oZSl7dGhpcy5jbGVhclNlbGVjdGlvbigpLHRoaXMubW92ZUN1cnNvclRvUG9zaXRpb24oZSl9LHRoaXMuc2VsZWN0VXA9ZnVuY3Rpb24oKXt0aGlzLiRtb3ZlU2VsZWN0aW9uKHRoaXMubW92ZUN1cnNvclVwKX0sdGhpcy5zZWxlY3REb3duPWZ1bmN0aW9uKCl7dGhpcy4kbW92ZVNlbGVjdGlvbih0aGlzLm1vdmVDdXJzb3JEb3duKX0sdGhpcy5zZWxlY3RSaWdodD1mdW5jdGlvbigpe3RoaXMuJG1vdmVTZWxlY3Rpb24odGhpcy5tb3ZlQ3Vyc29yUmlnaHQpfSx0aGlzLnNlbGVjdExlZnQ9ZnVuY3Rpb24oKXt0aGlzLiRtb3ZlU2VsZWN0aW9uKHRoaXMubW92ZUN1cnNvckxlZnQpfSx0aGlzLnNlbGVjdExpbmVTdGFydD1mdW5jdGlvbigpe3RoaXMuJG1vdmVTZWxlY3Rpb24odGhpcy5tb3ZlQ3Vyc29yTGluZVN0YXJ0KX0sdGhpcy5zZWxlY3RMaW5lRW5kPWZ1bmN0aW9uKCl7dGhpcy4kbW92ZVNlbGVjdGlvbih0aGlzLm1vdmVDdXJzb3JMaW5lRW5kKX0sdGhpcy5zZWxlY3RGaWxlRW5kPWZ1bmN0aW9uKCl7dGhpcy4kbW92ZVNlbGVjdGlvbih0aGlzLm1vdmVDdXJzb3JGaWxlRW5kKX0sdGhpcy5zZWxlY3RGaWxlU3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLiRtb3ZlU2VsZWN0aW9uKHRoaXMubW92ZUN1cnNvckZpbGVTdGFydCl9LHRoaXMuc2VsZWN0V29yZFJpZ2h0PWZ1bmN0aW9uKCl7dGhpcy4kbW92ZVNlbGVjdGlvbih0aGlzLm1vdmVDdXJzb3JXb3JkUmlnaHQpfSx0aGlzLnNlbGVjdFdvcmRMZWZ0PWZ1bmN0aW9uKCl7dGhpcy4kbW92ZVNlbGVjdGlvbih0aGlzLm1vdmVDdXJzb3JXb3JkTGVmdCl9LHRoaXMuZ2V0V29yZFJhbmdlPWZ1bmN0aW9uKGUsdCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiB0KXt2YXIgaT1lfHx0aGlzLmxlYWQ7ZT1pLnJvdyx0PWkuY29sdW1ufXJldHVybiB0aGlzLnNlc3Npb24uZ2V0V29yZFJhbmdlKGUsdCl9LHRoaXMuc2VsZWN0V29yZD1mdW5jdGlvbigpe3RoaXMuc2V0U2VsZWN0aW9uUmFuZ2UodGhpcy5nZXRXb3JkUmFuZ2UoKSl9LHRoaXMuc2VsZWN0QVdvcmQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmdldEN1cnNvcigpLHQ9dGhpcy5zZXNzaW9uLmdldEFXb3JkUmFuZ2UoZS5yb3csZS5jb2x1bW4pO3RoaXMuc2V0U2VsZWN0aW9uUmFuZ2UodCl9LHRoaXMuZ2V0TGluZVJhbmdlPWZ1bmN0aW9uKGUsdCl7dmFyIGksbj0ibnVtYmVyIj09dHlwZW9mIGU/ZTp0aGlzLmxlYWQucm93LHI9dGhpcy5zZXNzaW9uLmdldEZvbGRMaW5lKG4pO3JldHVybiByPyhuPXIuc3RhcnQucm93LGk9ci5lbmQucm93KTppPW4sdD09PSEwP25ldyBzKG4sMCxpLHRoaXMuc2Vzc2lvbi5nZXRMaW5lKGkpLmxlbmd0aCk6bmV3IHMobiwwLGkrMSwwKX0sdGhpcy5zZWxlY3RMaW5lPWZ1bmN0aW9uKCl7dGhpcy5zZXRTZWxlY3Rpb25SYW5nZSh0aGlzLmdldExpbmVSYW5nZSgpKX0sdGhpcy5tb3ZlQ3Vyc29yVXA9ZnVuY3Rpb24oKXt0aGlzLm1vdmVDdXJzb3JCeSgtMSwwKX0sdGhpcy5tb3ZlQ3Vyc29yRG93bj1mdW5jdGlvbigpe3RoaXMubW92ZUN1cnNvckJ5KDEsMCl9LHRoaXMubW92ZUN1cnNvckxlZnQ9ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMubGVhZC5nZXRQb3NpdGlvbigpO2lmKGU9dGhpcy5zZXNzaW9uLmdldEZvbGRBdCh0LnJvdyx0LmNvbHVtbiwtMSkpdGhpcy5tb3ZlQ3Vyc29yVG8oZS5zdGFydC5yb3csZS5zdGFydC5jb2x1bW4pO2Vsc2UgaWYoMD09PXQuY29sdW1uKXQucm93PjAmJnRoaXMubW92ZUN1cnNvclRvKHQucm93LTEsdGhpcy5kb2MuZ2V0TGluZSh0LnJvdy0xKS5sZW5ndGgpO2Vsc2V7dmFyIGk9dGhpcy5zZXNzaW9uLmdldFRhYlNpemUoKTt0aGlzLnNlc3Npb24uaXNUYWJTdG9wKHQpJiZ0aGlzLmRvYy5nZXRMaW5lKHQucm93KS5zbGljZSh0LmNvbHVtbi1pLHQuY29sdW1uKS5zcGxpdCgiICIpLmxlbmd0aC0xPT1pP3RoaXMubW92ZUN1cnNvckJ5KDAsLWkpOnRoaXMubW92ZUN1cnNvckJ5KDAsLTEpfX0sdGhpcy5tb3ZlQ3Vyc29yUmlnaHQ9ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMubGVhZC5nZXRQb3NpdGlvbigpO2lmKGU9dGhpcy5zZXNzaW9uLmdldEZvbGRBdCh0LnJvdyx0LmNvbHVtbiwxKSl0aGlzLm1vdmVDdXJzb3JUbyhlLmVuZC5yb3csZS5lbmQuY29sdW1uKTtlbHNlIGlmKHRoaXMubGVhZC5jb2x1bW49PXRoaXMuZG9jLmdldExpbmUodGhpcy5sZWFkLnJvdykubGVuZ3RoKXRoaXMubGVhZC5yb3c8dGhpcy5kb2MuZ2V0TGVuZ3RoKCktMSYmdGhpcy5tb3ZlQ3Vyc29yVG8odGhpcy5sZWFkLnJvdysxLDApO2Vsc2V7dmFyIGk9dGhpcy5zZXNzaW9uLmdldFRhYlNpemUoKSx0PXRoaXMubGVhZDt0aGlzLnNlc3Npb24uaXNUYWJTdG9wKHQpJiZ0aGlzLmRvYy5nZXRMaW5lKHQucm93KS5zbGljZSh0LmNvbHVtbix0LmNvbHVtbitpKS5zcGxpdCgiICIpLmxlbmd0aC0xPT1pP3RoaXMubW92ZUN1cnNvckJ5KDAsaSk6dGhpcy5tb3ZlQ3Vyc29yQnkoMCwxKX19LHRoaXMubW92ZUN1cnNvckxpbmVTdGFydD1mdW5jdGlvbigpe3ZhciBlPXRoaXMubGVhZC5yb3csdD10aGlzLmxlYWQuY29sdW1uLGk9dGhpcy5zZXNzaW9uLmRvY3VtZW50VG9TY3JlZW5Sb3coZSx0KSxuPXRoaXMuc2Vzc2lvbi5zY3JlZW5Ub0RvY3VtZW50UG9zaXRpb24oaSwwKSxyPXRoaXMuc2Vzc2lvbi5nZXREaXNwbGF5TGluZShlLG51bGwsbi5yb3csbi5jb2x1bW4pLG89ci5tYXRjaCgvXlxzKi8pO29bMF0ubGVuZ3RoPT10fHx0aGlzLnNlc3Npb24uJHVzZUVtYWNzU3R5bGVMaW5lU3RhcnR8fChuLmNvbHVtbis9b1swXS5sZW5ndGgpLHRoaXMubW92ZUN1cnNvclRvUG9zaXRpb24obil9LHRoaXMubW92ZUN1cnNvckxpbmVFbmQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmxlYWQsdD10aGlzLnNlc3Npb24uZ2V0RG9jdW1lbnRMYXN0Um93Q29sdW1uUG9zaXRpb24oZS5yb3csZS5jb2x1bW4pO2lmKHRoaXMubGVhZC5jb2x1bW49PXQuY29sdW1uKXt2YXIgaT10aGlzLnNlc3Npb24uZ2V0TGluZSh0LnJvdyk7aWYodC5jb2x1bW49PWkubGVuZ3RoKXt2YXIgbj1pLnNlYXJjaCgvXHMrJC8pO24+MCYmKHQuY29sdW1uPW4pfX10aGlzLm1vdmVDdXJzb3JUbyh0LnJvdyx0LmNvbHVtbil9LHRoaXMubW92ZUN1cnNvckZpbGVFbmQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmRvYy5nZXRMZW5ndGgoKS0xLHQ9dGhpcy5kb2MuZ2V0TGluZShlKS5sZW5ndGg7dGhpcy5tb3ZlQ3Vyc29yVG8oZSx0KX0sdGhpcy5tb3ZlQ3Vyc29yRmlsZVN0YXJ0PWZ1bmN0aW9uKCl7dGhpcy5tb3ZlQ3Vyc29yVG8oMCwwKX0sdGhpcy5tb3ZlQ3Vyc29yTG9uZ1dvcmRSaWdodD1mdW5jdGlvbigpe3ZhciBlLHQ9dGhpcy5sZWFkLnJvdyxpPXRoaXMubGVhZC5jb2x1bW4sbj10aGlzLmRvYy5nZXRMaW5lKHQpLHI9bi5zdWJzdHJpbmcoaSk7dGhpcy5zZXNzaW9uLm5vblRva2VuUmUubGFzdEluZGV4PTAsdGhpcy5zZXNzaW9uLnRva2VuUmUubGFzdEluZGV4PTA7dmFyIG89dGhpcy5zZXNzaW9uLmdldEZvbGRBdCh0LGksMSk7cmV0dXJuIG8/dm9pZCB0aGlzLm1vdmVDdXJzb3JUbyhvLmVuZC5yb3csby5lbmQuY29sdW1uKTooKGU9dGhpcy5zZXNzaW9uLm5vblRva2VuUmUuZXhlYyhyKSkmJihpKz10aGlzLnNlc3Npb24ubm9uVG9rZW5SZS5sYXN0SW5kZXgsdGhpcy5zZXNzaW9uLm5vblRva2VuUmUubGFzdEluZGV4PTAscj1uLnN1YnN0cmluZyhpKSksaT49bi5sZW5ndGg/KHRoaXMubW92ZUN1cnNvclRvKHQsbi5sZW5ndGgpLHRoaXMubW92ZUN1cnNvclJpZ2h0KCksdm9pZCh0PHRoaXMuZG9jLmdldExlbmd0aCgpLTEmJnRoaXMubW92ZUN1cnNvcldvcmRSaWdodCgpKSk6KChlPXRoaXMuc2Vzc2lvbi50b2tlblJlLmV4ZWMocikpJiYoaSs9dGhpcy5zZXNzaW9uLnRva2VuUmUubGFzdEluZGV4LHRoaXMuc2Vzc2lvbi50b2tlblJlLmxhc3RJbmRleD0wKSx2b2lkIHRoaXMubW92ZUN1cnNvclRvKHQsaSkpKX0sdGhpcy5tb3ZlQ3Vyc29yTG9uZ1dvcmRMZWZ0PWZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLmxlYWQucm93LGk9dGhpcy5sZWFkLmNvbHVtbjtpZihlPXRoaXMuc2Vzc2lvbi5nZXRGb2xkQXQodCxpLC0xKSlyZXR1cm4gdm9pZCB0aGlzLm1vdmVDdXJzb3JUbyhlLnN0YXJ0LnJvdyxlLnN0YXJ0LmNvbHVtbik7dmFyIG49dGhpcy5zZXNzaW9uLmdldEZvbGRTdHJpbmdBdCh0LGksLTEpO251bGw9PW4mJihuPXRoaXMuZG9jLmdldExpbmUodCkuc3Vic3RyaW5nKDAsaSkpO3ZhciBvLHM9ci5zdHJpbmdSZXZlcnNlKG4pO3JldHVybiB0aGlzLnNlc3Npb24ubm9uVG9rZW5SZS5sYXN0SW5kZXg9MCx0aGlzLnNlc3Npb24udG9rZW5SZS5sYXN0SW5kZXg9MCwobz10aGlzLnNlc3Npb24ubm9uVG9rZW5SZS5leGVjKHMpKSYmKGktPXRoaXMuc2Vzc2lvbi5ub25Ub2tlblJlLmxhc3RJbmRleCxzPXMuc2xpY2UodGhpcy5zZXNzaW9uLm5vblRva2VuUmUubGFzdEluZGV4KSx0aGlzLnNlc3Npb24ubm9uVG9rZW5SZS5sYXN0SW5kZXg9MCksMD49aT8odGhpcy5tb3ZlQ3Vyc29yVG8odCwwKSx0aGlzLm1vdmVDdXJzb3JMZWZ0KCksdm9pZCh0PjAmJnRoaXMubW92ZUN1cnNvcldvcmRMZWZ0KCkpKTooKG89dGhpcy5zZXNzaW9uLnRva2VuUmUuZXhlYyhzKSkmJihpLT10aGlzLnNlc3Npb24udG9rZW5SZS5sYXN0SW5kZXgsdGhpcy5zZXNzaW9uLnRva2VuUmUubGFzdEluZGV4PTApLHZvaWQgdGhpcy5tb3ZlQ3Vyc29yVG8odCxpKSl9LHRoaXMuJHNob3J0V29yZEVuZEluZGV4PWZ1bmN0aW9uKGUpe3ZhciB0LGksbj0wLHI9L1xzLyxvPXRoaXMuc2Vzc2lvbi50b2tlblJlO2lmKG8ubGFzdEluZGV4PTAsdD10aGlzLnNlc3Npb24udG9rZW5SZS5leGVjKGUpKW49dGhpcy5zZXNzaW9uLnRva2VuUmUubGFzdEluZGV4O2Vsc2V7Zm9yKDsoaT1lW25dKSYmci50ZXN0KGkpOyluKys7aWYoMT5uKWZvcihvLmxhc3RJbmRleD0wOyhpPWVbbl0pJiYhby50ZXN0KGkpOylpZihvLmxhc3RJbmRleD0wLG4rKyxyLnRlc3QoaSkpe2lmKG4+Mil7bi0tO2JyZWFrfWZvcig7KGk9ZVtuXSkmJnIudGVzdChpKTspbisrO2lmKG4+MilicmVha319cmV0dXJuIG8ubGFzdEluZGV4PTAsbn0sdGhpcy5tb3ZlQ3Vyc29yU2hvcnRXb3JkUmlnaHQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmxlYWQucm93LHQ9dGhpcy5sZWFkLmNvbHVtbixpPXRoaXMuZG9jLmdldExpbmUoZSksbj1pLnN1YnN0cmluZyh0KSxyPXRoaXMuc2Vzc2lvbi5nZXRGb2xkQXQoZSx0LDEpO2lmKHIpcmV0dXJuIHRoaXMubW92ZUN1cnNvclRvKHIuZW5kLnJvdyxyLmVuZC5jb2x1bW4pO2lmKHQ9PWkubGVuZ3RoKXt2YXIgbz10aGlzLmRvYy5nZXRMZW5ndGgoKTtkbyBlKyssbj10aGlzLmRvYy5nZXRMaW5lKGUpO3doaWxlKG8+ZSYmL15ccyokLy50ZXN0KG4pKTsvXlxzKy8udGVzdChuKXx8KG49IiIpLHQ9MH12YXIgcz10aGlzLiRzaG9ydFdvcmRFbmRJbmRleChuKTt0aGlzLm1vdmVDdXJzb3JUbyhlLHQrcyl9LHRoaXMubW92ZUN1cnNvclNob3J0V29yZExlZnQ9ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMubGVhZC5yb3csaT10aGlzLmxlYWQuY29sdW1uO2lmKGU9dGhpcy5zZXNzaW9uLmdldEZvbGRBdCh0LGksLTEpKXJldHVybiB0aGlzLm1vdmVDdXJzb3JUbyhlLnN0YXJ0LnJvdyxlLnN0YXJ0LmNvbHVtbik7dmFyIG49dGhpcy5zZXNzaW9uLmdldExpbmUodCkuc3Vic3RyaW5nKDAsaSk7aWYoMD09PWkpe2RvIHQtLSxuPXRoaXMuZG9jLmdldExpbmUodCk7d2hpbGUodD4wJiYvXlxzKiQvLnRlc3QobikpO2k9bi5sZW5ndGgsL1xzKyQvLnRlc3Qobil8fChuPSIiKX12YXIgbz1yLnN0cmluZ1JldmVyc2Uobikscz10aGlzLiRzaG9ydFdvcmRFbmRJbmRleChvKTtyZXR1cm4gdGhpcy5tb3ZlQ3Vyc29yVG8odCxpLXMpfSx0aGlzLm1vdmVDdXJzb3JXb3JkUmlnaHQ9ZnVuY3Rpb24oKXt0aGlzLnNlc3Npb24uJHNlbGVjdExvbmdXb3Jkcz90aGlzLm1vdmVDdXJzb3JMb25nV29yZFJpZ2h0KCk6dGhpcy5tb3ZlQ3Vyc29yU2hvcnRXb3JkUmlnaHQoKX0sdGhpcy5tb3ZlQ3Vyc29yV29yZExlZnQ9ZnVuY3Rpb24oKXt0aGlzLnNlc3Npb24uJHNlbGVjdExvbmdXb3Jkcz90aGlzLm1vdmVDdXJzb3JMb25nV29yZExlZnQoKTp0aGlzLm1vdmVDdXJzb3JTaG9ydFdvcmRMZWZ0KCl9LHRoaXMubW92ZUN1cnNvckJ5PWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5zZXNzaW9uLmRvY3VtZW50VG9TY3JlZW5Qb3NpdGlvbih0aGlzLmxlYWQucm93LHRoaXMubGVhZC5jb2x1bW4pOzA9PT10JiYodGhpcy4kZGVzaXJlZENvbHVtbj9pLmNvbHVtbj10aGlzLiRkZXNpcmVkQ29sdW1uOnRoaXMuJGRlc2lyZWRDb2x1bW49aS5jb2x1bW4pO3ZhciBuPXRoaXMuc2Vzc2lvbi5zY3JlZW5Ub0RvY3VtZW50UG9zaXRpb24oaS5yb3crZSxpLmNvbHVtbik7MCE9PWUmJjA9PT10JiZuLnJvdz09PXRoaXMubGVhZC5yb3cmJm4uY29sdW1uPT09dGhpcy5sZWFkLmNvbHVtbiYmdGhpcy5zZXNzaW9uLmxpbmVXaWRnZXRzJiZ0aGlzLnNlc3Npb24ubGluZVdpZGdldHNbbi5yb3ddJiYobi5yb3c+MHx8ZT4wKSYmbi5yb3crKyx0aGlzLm1vdmVDdXJzb3JUbyhuLnJvdyxuLmNvbHVtbit0LDA9PT10KX0sdGhpcy5tb3ZlQ3Vyc29yVG9Qb3NpdGlvbj1mdW5jdGlvbihlKXt0aGlzLm1vdmVDdXJzb3JUbyhlLnJvdyxlLmNvbHVtbil9LHRoaXMubW92ZUN1cnNvclRvPWZ1bmN0aW9uKGUsdCxpKXt2YXIgbj10aGlzLnNlc3Npb24uZ2V0Rm9sZEF0KGUsdCwxKTtuJiYoZT1uLnN0YXJ0LnJvdyx0PW4uc3RhcnQuY29sdW1uKSx0aGlzLiRrZWVwRGVzaXJlZENvbHVtbk9uQ2hhbmdlPSEwLHRoaXMubGVhZC5zZXRQb3NpdGlvbihlLHQpLHRoaXMuJGtlZXBEZXNpcmVkQ29sdW1uT25DaGFuZ2U9ITEsaXx8KHRoaXMuJGRlc2lyZWRDb2x1bW49bnVsbCl9LHRoaXMubW92ZUN1cnNvclRvU2NyZWVuPWZ1bmN0aW9uKGUsdCxpKXt2YXIgbj10aGlzLnNlc3Npb24uc2NyZWVuVG9Eb2N1bWVudFBvc2l0aW9uKGUsdCk7dGhpcy5tb3ZlQ3Vyc29yVG8obi5yb3csbi5jb2x1bW4saSl9LHRoaXMuZGV0YWNoPWZ1bmN0aW9uKCl7dGhpcy5sZWFkLmRldGFjaCgpLHRoaXMuYW5jaG9yLmRldGFjaCgpLHRoaXMuc2Vzc2lvbj10aGlzLmRvYz1udWxsfSx0aGlzLmZyb21PcmllbnRlZFJhbmdlPWZ1bmN0aW9uKGUpe3RoaXMuc2V0U2VsZWN0aW9uUmFuZ2UoZSxlLmN1cnNvcj09ZS5zdGFydCksdGhpcy4kZGVzaXJlZENvbHVtbj1lLmRlc2lyZWRDb2x1bW58fHRoaXMuJGRlc2lyZWRDb2x1bW59LHRoaXMudG9PcmllbnRlZFJhbmdlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZ2V0UmFuZ2UoKTtyZXR1cm4gZT8oZS5zdGFydC5jb2x1bW49dC5zdGFydC5jb2x1bW4sZS5zdGFydC5yb3c9dC5zdGFydC5yb3csZS5lbmQuY29sdW1uPXQuZW5kLmNvbHVtbixlLmVuZC5yb3c9dC5lbmQucm93KTplPXQsZS5jdXJzb3I9dGhpcy5pc0JhY2t3YXJkcygpP2Uuc3RhcnQ6ZS5lbmQsZS5kZXNpcmVkQ29sdW1uPXRoaXMuJGRlc2lyZWRDb2x1bW4sZX0sdGhpcy5nZXRSYW5nZU9mTW92ZW1lbnRzPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZ2V0Q3Vyc29yKCk7dHJ5e2UodGhpcyk7dmFyIGk9dGhpcy5nZXRDdXJzb3IoKTtyZXR1cm4gcy5mcm9tUG9pbnRzKHQsaSl9Y2F0Y2gobil7cmV0dXJuIHMuZnJvbVBvaW50cyh0LHQpfWZpbmFsbHl7dGhpcy5tb3ZlQ3Vyc29yVG9Qb3NpdGlvbih0KX19LHRoaXMudG9KU09OPWZ1bmN0aW9uKCl7aWYodGhpcy5yYW5nZUNvdW50KXZhciBlPXRoaXMucmFuZ2VzLm1hcChmdW5jdGlvbihlKXt2YXIgdD1lLmNsb25lKCk7cmV0dXJuIHQuaXNCYWNrd2FyZHM9ZS5jdXJzb3I9PWUuc3RhcnQsdH0pO2Vsc2V7dmFyIGU9dGhpcy5nZXRSYW5nZSgpO2UuaXNCYWNrd2FyZHM9dGhpcy5pc0JhY2t3YXJkcygpfXJldHVybiBlfSx0aGlzLmZyb21KU09OPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09ZS5zdGFydCl7aWYodGhpcy5yYW5nZUxpc3Qpe3RoaXMudG9TaW5nbGVSYW5nZShlWzBdKTtmb3IodmFyIHQ9ZS5sZW5ndGg7dC0tOyl7dmFyIGk9cy5mcm9tUG9pbnRzKGVbdF0uc3RhcnQsZVt0XS5lbmQpO2VbdF0uaXNCYWNrd2FyZHMmJihpLmN1cnNvcj1pLnN0YXJ0KSx0aGlzLmFkZFJhbmdlKGksITApfXJldHVybn1lPWVbMF19dGhpcy5yYW5nZUxpc3QmJnRoaXMudG9TaW5nbGVSYW5nZShlKSx0aGlzLnNldFNlbGVjdGlvblJhbmdlKGUsZS5pc0JhY2t3YXJkcyl9LHRoaXMuaXNFcXVhbD1mdW5jdGlvbihlKXtpZigoZS5sZW5ndGh8fHRoaXMucmFuZ2VDb3VudCkmJmUubGVuZ3RoIT10aGlzLnJhbmdlQ291bnQpcmV0dXJuITE7aWYoIWUubGVuZ3RofHwhdGhpcy5yYW5nZXMpcmV0dXJuIHRoaXMuZ2V0UmFuZ2UoKS5pc0VxdWFsKGUpO2Zvcih2YXIgdD10aGlzLnJhbmdlcy5sZW5ndGg7dC0tOylpZighdGhpcy5yYW5nZXNbdF0uaXNFcXVhbChlW3RdKSlyZXR1cm4hMTtyZXR1cm4hMH19KS5jYWxsKGEucHJvdG90eXBlKSx0LlNlbGVjdGlvbj1hfSksYWNlLmRlZmluZSgiYWNlL3Rva2VuaXplciIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSIsImFjZS9jb25maWciXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWUoIi4vY29uZmlnIikscj0yZTMsbz1mdW5jdGlvbihlKXt0aGlzLnN0YXRlcz1lLHRoaXMucmVnRXhwcz17fSx0aGlzLm1hdGNoTWFwcGluZ3M9e307Zm9yKHZhciB0IGluIHRoaXMuc3RhdGVzKXtmb3IodmFyIGk9dGhpcy5zdGF0ZXNbdF0sbj1bXSxyPTAsbz10aGlzLm1hdGNoTWFwcGluZ3NbdF09e2RlZmF1bHRUb2tlbjoidGV4dCJ9LHM9ImciLGE9W10sbD0wO2w8aS5sZW5ndGg7bCsrKXt2YXIgYz1pW2xdO2lmKGMuZGVmYXVsdFRva2VuJiYoby5kZWZhdWx0VG9rZW49Yy5kZWZhdWx0VG9rZW4pLGMuY2FzZUluc2Vuc2l0aXZlJiYocz0iZ2kiKSxudWxsIT1jLnJlZ2V4KXtjLnJlZ2V4IGluc3RhbmNlb2YgUmVnRXhwJiYoYy5yZWdleD1jLnJlZ2V4LnRvU3RyaW5nKCkuc2xpY2UoMSwtMSkpO3ZhciBoPWMucmVnZXgsZD1uZXcgUmVnRXhwKCIoPzooIitoKyIpfCguKSkiKS5leGVjKCJhIikubGVuZ3RoLTI7QXJyYXkuaXNBcnJheShjLnRva2VuKT8xPT1jLnRva2VuLmxlbmd0aHx8MT09ZD9jLnRva2VuPWMudG9rZW5bMF06ZC0xIT1jLnRva2VuLmxlbmd0aD8odGhpcy5yZXBvcnRFcnJvcigibnVtYmVyIG9mIGNsYXNzZXMgYW5kIHJlZ2V4cCBncm91cHMgZG9lc24ndCBtYXRjaCIse3J1bGU6Yyxncm91cENvdW50OmQtMX0pLGMudG9rZW49Yy50b2tlblswXSk6KGMudG9rZW5BcnJheT1jLnRva2VuLGMudG9rZW49bnVsbCxjLm9uTWF0Y2g9dGhpcy4kYXJyYXlUb2tlbnMpOiJmdW5jdGlvbiIhPXR5cGVvZiBjLnRva2VufHxjLm9uTWF0Y2h8fChkPjE/Yy5vbk1hdGNoPXRoaXMuJGFwcGx5VG9rZW46Yy5vbk1hdGNoPWMudG9rZW4pLGQ+MSYmKC9cXFxkLy50ZXN0KGMucmVnZXgpP2g9Yy5yZWdleC5yZXBsYWNlKC9cXChbMC05XSspL2csZnVuY3Rpb24oZSx0KXtyZXR1cm4iXFwiKyhwYXJzZUludCh0LDEwKStyKzEpfSk6KGQ9MSxoPXRoaXMucmVtb3ZlQ2FwdHVyaW5nR3JvdXBzKGMucmVnZXgpKSxjLnNwbGl0UmVnZXh8fCJzdHJpbmciPT10eXBlb2YgYy50b2tlbnx8YS5wdXNoKGMpKSxvW3JdPWwscis9ZCxuLnB1c2goaCksYy5vbk1hdGNofHwoYy5vbk1hdGNoPW51bGwpfX1uLmxlbmd0aHx8KG9bMF09MCxuLnB1c2goIiQiKSksYS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Uuc3BsaXRSZWdleD10aGlzLmNyZWF0ZVNwbGl0dGVyUmVnZXhwKGUucmVnZXgscyl9LHRoaXMpLHRoaXMucmVnRXhwc1t0XT1uZXcgUmVnRXhwKCIoIituLmpvaW4oIil8KCIpKyIpfCgkKSIscyl9fTsoZnVuY3Rpb24oKXt0aGlzLiRzZXRNYXhUb2tlbkNvdW50PWZ1bmN0aW9uKGUpe3I9MHxlfSx0aGlzLiRhcHBseVRva2VuPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuc3BsaXRSZWdleC5leGVjKGUpLnNsaWNlKDEpLGk9dGhpcy50b2tlbi5hcHBseSh0aGlzLHQpO2lmKCJzdHJpbmciPT10eXBlb2YgaSlyZXR1cm5be3R5cGU6aSx2YWx1ZTplfV07Zm9yKHZhciBuPVtdLHI9MCxvPWkubGVuZ3RoO28+cjtyKyspdFtyXSYmKG5bbi5sZW5ndGhdPXt0eXBlOmlbcl0sdmFsdWU6dFtyXX0pO3JldHVybiBufSx0aGlzLiRhcnJheVRva2Vucz1mdW5jdGlvbihlKXtpZighZSlyZXR1cm5bXTt2YXIgdD10aGlzLnNwbGl0UmVnZXguZXhlYyhlKTtpZighdClyZXR1cm4idGV4dCI7Zm9yKHZhciBpPVtdLG49dGhpcy50b2tlbkFycmF5LHI9MCxvPW4ubGVuZ3RoO28+cjtyKyspdFtyKzFdJiYoaVtpLmxlbmd0aF09e3R5cGU6bltyXSx2YWx1ZTp0W3IrMV19KTtyZXR1cm4gaX0sdGhpcy5yZW1vdmVDYXB0dXJpbmdHcm91cHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKC9cWyg/OlxcLnxbXlxdXSkqP1xdfFxcLnxcKFw/Wzo9IV18KFwoKS9nLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ/Iig/OiI6ZX0pO3JldHVybiB0fSx0aGlzLmNyZWF0ZVNwbGl0dGVyUmVnZXhwPWZ1bmN0aW9uKGUsdCl7aWYoLTEhPWUuaW5kZXhPZigiKD89Iikpe3ZhciBpPTAsbj0hMSxyPXt9O2UucmVwbGFjZSgvKFxcLil8KFwoKD86XD9bPSFdKT8pfChcKSl8KFtcW1xdXSkvZyxmdW5jdGlvbihlLHQsbyxzLGEsbCl7cmV0dXJuIG4/bj0iXSIhPWE6YT9uPSEwOnM/KGk9PXIuc3RhY2smJihyLmVuZD1sKzEsci5zdGFjaz0tMSksaS0tKTpvJiYoaSsrLDEhPW8ubGVuZ3RoJiYoci5zdGFjaz1pLHIuc3RhcnQ9bCkpLGV9KSxudWxsIT1yLmVuZCYmL15cKSokLy50ZXN0KGUuc3Vic3RyKHIuZW5kKSkmJihlPWUuc3Vic3RyaW5nKDAsci5zdGFydCkrZS5zdWJzdHIoci5lbmQpKX1yZXR1cm4iXiIhPWUuY2hhckF0KDApJiYoZT0iXiIrZSksIiQiIT1lLmNoYXJBdChlLmxlbmd0aC0xKSYmKGUrPSIkIiksbmV3IFJlZ0V4cChlLCh0fHwiIikucmVwbGFjZSgiZyIsIiIpKX0sdGhpcy5nZXRMaW5lVG9rZW5zPWZ1bmN0aW9uKGUsdCl7aWYodCYmInN0cmluZyIhPXR5cGVvZiB0KXt2YXIgaT10LnNsaWNlKDApO3Q9aVswXSwiI3RtcCI9PT10JiYoaS5zaGlmdCgpLHQ9aS5zaGlmdCgpKX1lbHNlIHZhciBpPVtdO3ZhciBuPXR8fCJzdGFydCIsbz10aGlzLnN0YXRlc1tuXTtvfHwobj0ic3RhcnQiLG89dGhpcy5zdGF0ZXNbbl0pO3ZhciBzPXRoaXMubWF0Y2hNYXBwaW5nc1tuXSxhPXRoaXMucmVnRXhwc1tuXTthLmxhc3RJbmRleD0wO2Zvcih2YXIgbCxjPVtdLGg9MCxkPTAsdT17dHlwZTpudWxsLHZhbHVlOiIifTtsPWEuZXhlYyhlKTspe3ZhciBmPXMuZGVmYXVsdFRva2VuLHA9bnVsbCxtPWxbMF0sZz1hLmxhc3RJbmRleDtpZihnLW0ubGVuZ3RoPmgpe3ZhciB2PWUuc3Vic3RyaW5nKGgsZy1tLmxlbmd0aCk7dS50eXBlPT1mP3UudmFsdWUrPXY6KHUudHlwZSYmYy5wdXNoKHUpLHU9e3R5cGU6Zix2YWx1ZTp2fSl9Zm9yKHZhciB3PTA7dzxsLmxlbmd0aC0yO3crKylpZih2b2lkIDAhPT1sW3crMV0pe3A9b1tzW3ddXSxmPXAub25NYXRjaD9wLm9uTWF0Y2gobSxuLGkpOnAudG9rZW4scC5uZXh0JiYobj0ic3RyaW5nIj09dHlwZW9mIHAubmV4dD9wLm5leHQ6cC5uZXh0KG4saSksbz10aGlzLnN0YXRlc1tuXSxvfHwodGhpcy5yZXBvcnRFcnJvcigic3RhdGUgZG9lc24ndCBleGlzdCIsbiksbj0ic3RhcnQiLG89dGhpcy5zdGF0ZXNbbl0pLHM9dGhpcy5tYXRjaE1hcHBpbmdzW25dLGg9ZyxhPXRoaXMucmVnRXhwc1tuXSxhLmxhc3RJbmRleD1nKTticmVha31pZihtKWlmKCJzdHJpbmciPT10eXBlb2YgZilwJiZwLm1lcmdlPT09ITF8fHUudHlwZSE9PWY/KHUudHlwZSYmYy5wdXNoKHUpLHU9e3R5cGU6Zix2YWx1ZTptfSk6dS52YWx1ZSs9bTtlbHNlIGlmKGYpe3UudHlwZSYmYy5wdXNoKHUpLHU9e3R5cGU6bnVsbCx2YWx1ZToiIn07Zm9yKHZhciB3PTA7dzxmLmxlbmd0aDt3KyspYy5wdXNoKGZbd10pfWlmKGg9PWUubGVuZ3RoKWJyZWFrO2lmKGg9ZyxkKys+cil7Zm9yKGQ+MiplLmxlbmd0aCYmdGhpcy5yZXBvcnRFcnJvcigiaW5maW5pdGUgbG9vcCB3aXRoIGluIGFjZSB0b2tlbml6ZXIiLHtzdGFydFN0YXRlOnQsbGluZTplfSk7aDxlLmxlbmd0aDspdS50eXBlJiZjLnB1c2godSksdT17dmFsdWU6ZS5zdWJzdHJpbmcoaCxoKz0yZTMpLHR5cGU6Im92ZXJmbG93In07bj0ic3RhcnQiLGk9W107YnJlYWt9fXJldHVybiB1LnR5cGUmJmMucHVzaCh1KSxpLmxlbmd0aD4xJiZpWzBdIT09biYmaS51bnNoaWZ0KCIjdG1wIixuKSx7dG9rZW5zOmMsc3RhdGU6aS5sZW5ndGg/aTpufX0sdGhpcy5yZXBvcnRFcnJvcj1uLnJlcG9ydEVycm9yfSkuY2FsbChvLnByb3RvdHlwZSksdC5Ub2tlbml6ZXI9b30pLGFjZS5kZWZpbmUoImFjZS9tb2RlL3RleHRfaGlnaGxpZ2h0X3J1bGVzIixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIiwiYWNlL2xpYi9sYW5nIl0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1lKCIuLi9saWIvbGFuZyIpLHI9ZnVuY3Rpb24oKXt0aGlzLiRydWxlcz17c3RhcnQ6W3t0b2tlbjoiZW1wdHlfbGluZSIscmVnZXg6Il4kIn0se2RlZmF1bHRUb2tlbjoidGV4dCJ9XX19OyhmdW5jdGlvbigpe3RoaXMuYWRkUnVsZXM9ZnVuY3Rpb24oZSx0KXtpZih0KWZvcih2YXIgaSBpbiBlKXtmb3IodmFyIG49ZVtpXSxyPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBvPW5bcl07KG8ubmV4dHx8by5vbk1hdGNoKSYmKCJzdHJpbmciPT10eXBlb2Ygby5uZXh0JiYwIT09by5uZXh0LmluZGV4T2YodCkmJihvLm5leHQ9dCtvLm5leHQpLG8ubmV4dFN0YXRlJiYwIT09by5uZXh0U3RhdGUuaW5kZXhPZih0KSYmKG8ubmV4dFN0YXRlPXQrby5uZXh0U3RhdGUpKX10aGlzLiRydWxlc1t0K2ldPW59ZWxzZSBmb3IodmFyIGkgaW4gZSl0aGlzLiRydWxlc1tpXT1lW2ldfSx0aGlzLmdldFJ1bGVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJHJ1bGVzfSx0aGlzLmVtYmVkUnVsZXM9ZnVuY3Rpb24oZSx0LGkscixvKXt2YXIgcz0iZnVuY3Rpb24iPT10eXBlb2YgZT8obmV3IGUpLmdldFJ1bGVzKCk6ZTtpZihyKWZvcih2YXIgYT0wO2E8ci5sZW5ndGg7YSsrKXJbYV09dCtyW2FdO2Vsc2V7cj1bXTtmb3IodmFyIGwgaW4gcylyLnB1c2godCtsKX1pZih0aGlzLmFkZFJ1bGVzKHMsdCksaSlmb3IodmFyIGM9QXJyYXkucHJvdG90eXBlW28/InB1c2giOiJ1bnNoaWZ0Il0sYT0wO2E8ci5sZW5ndGg7YSsrKWMuYXBwbHkodGhpcy4kcnVsZXNbclthXV0sbi5kZWVwQ29weShpKSk7dGhpcy4kZW1iZWRzfHwodGhpcy4kZW1iZWRzPVtdKSx0aGlzLiRlbWJlZHMucHVzaCh0KX0sdGhpcy5nZXRFbWJlZHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZW1iZWRzfTt2YXIgZT1mdW5jdGlvbihlLHQpe3JldHVybigic3RhcnQiIT1lfHx0Lmxlbmd0aCkmJnQudW5zaGlmdCh0aGlzLm5leHRTdGF0ZSxlKSx0aGlzLm5leHRTdGF0ZX0sdD1mdW5jdGlvbihlLHQpe3JldHVybiB0LnNoaWZ0KCksdC5zaGlmdCgpfHwic3RhcnQifTt0aGlzLm5vcm1hbGl6ZVJ1bGVzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaShvKXt2YXIgcz1yW29dO3MucHJvY2Vzc2VkPSEwO2Zvcih2YXIgYT0wO2E8cy5sZW5ndGg7YSsrKXt2YXIgbD1zW2FdOyFsLnJlZ2V4JiZsLnN0YXJ0JiYobC5yZWdleD1sLnN0YXJ0LGwubmV4dHx8KGwubmV4dD1bXSksbC5uZXh0LnB1c2goe2RlZmF1bHRUb2tlbjpsLnRva2VufSx7dG9rZW46bC50b2tlbisiLmVuZCIscmVnZXg6bC5lbmR8fGwuc3RhcnQsbmV4dDoicG9wIn0pLGwudG9rZW49bC50b2tlbisiLnN0YXJ0IixsLnB1c2g9ITApO3ZhciBjPWwubmV4dHx8bC5wdXNoO2lmKGMmJkFycmF5LmlzQXJyYXkoYykpe3ZhciBoPWwuc3RhdGVOYW1lO2h8fChoPWwudG9rZW4sInN0cmluZyIhPXR5cGVvZiBoJiYoaD1oWzBdfHwiIikscltoXSYmKGgrPW4rKykpLHJbaF09YyxsLm5leHQ9aCxpKGgpfWVsc2UicG9wIj09YyYmKGwubmV4dD10KTtpZihsLnB1c2gmJihsLm5leHRTdGF0ZT1sLm5leHR8fGwucHVzaCxsLm5leHQ9ZSxkZWxldGUgbC5wdXNoKSxsLnJ1bGVzKWZvcih2YXIgZCBpbiBsLnJ1bGVzKXJbZF0/cltkXS5wdXNoJiZyW2RdLnB1c2guYXBwbHkocltkXSxsLnJ1bGVzW2RdKTpyW2RdPWwucnVsZXNbZF07aWYobC5pbmNsdWRlfHwic3RyaW5nIj09dHlwZW9mIGwpdmFyIHU9bC5pbmNsdWRlfHxsLGY9clt1XTtlbHNlIEFycmF5LmlzQXJyYXkobCkmJihmPWwpO2lmKGYpe3ZhciBwPVthLDFdLmNvbmNhdChmKTtsLm5vRXNjYXBlJiYocD1wLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hZS5uZXh0fSkpLHMuc3BsaWNlLmFwcGx5KHMscCksYS0tLGY9bnVsbH1sLmtleXdvcmRNYXAmJihsLnRva2VuPXRoaXMuY3JlYXRlS2V5d29yZE1hcHBlcihsLmtleXdvcmRNYXAsbC5kZWZhdWx0VG9rZW58fCJ0ZXh0IixsLmNhc2VJbnNlbnNpdGl2ZSksZGVsZXRlIGwuZGVmYXVsdFRva2VuKX19dmFyIG49MCxyPXRoaXMuJHJ1bGVzO09iamVjdC5rZXlzKHIpLmZvckVhY2goaSx0aGlzKX0sdGhpcy5jcmVhdGVLZXl3b3JkTWFwcGVyPWZ1bmN0aW9uKGUsdCxpLG4pe3ZhciByPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIG89ZVt0XTtpJiYobz1vLnRvTG93ZXJDYXNlKCkpO2Zvcih2YXIgcz1vLnNwbGl0KG58fCJ8IiksYT1zLmxlbmd0aDthLS07KXJbc1thXV09dH0pLE9iamVjdC5nZXRQcm90b3R5cGVPZihyKSYmKHIuX19wcm90b19fPW51bGwpLHRoaXMuJGtleXdvcmRMaXN0PU9iamVjdC5rZXlzKHIpLGU9bnVsbCxpP2Z1bmN0aW9uKGUpe3JldHVybiByW2UudG9Mb3dlckNhc2UoKV18fHR9OmZ1bmN0aW9uKGUpe3JldHVybiByW2VdfHx0fX0sdGhpcy5nZXRLZXl3b3Jkcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRrZXl3b3Jkc319KS5jYWxsKHIucHJvdG90eXBlKSx0LlRleHRIaWdobGlnaHRSdWxlcz1yfSksYWNlLmRlZmluZSgiYWNlL21vZGUvYmVoYXZpb3VyIixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIl0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1mdW5jdGlvbigpe3RoaXMuJGJlaGF2aW91cnM9e319OyhmdW5jdGlvbigpe3RoaXMuYWRkPWZ1bmN0aW9uKGUsdCxpKXtzd2l0Y2godm9pZCAwKXtjYXNlIHRoaXMuJGJlaGF2aW91cnM6dGhpcy4kYmVoYXZpb3Vycz17fTtjYXNlIHRoaXMuJGJlaGF2aW91cnNbZV06dGhpcy4kYmVoYXZpb3Vyc1tlXT17fX10aGlzLiRiZWhhdmlvdXJzW2VdW3RdPWk7Cn0sdGhpcy5hZGRCZWhhdmlvdXJzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdCBpbiBlKWZvcih2YXIgaSBpbiBlW3RdKXRoaXMuYWRkKHQsaSxlW3RdW2ldKX0sdGhpcy5yZW1vdmU9ZnVuY3Rpb24oZSl7dGhpcy4kYmVoYXZpb3VycyYmdGhpcy4kYmVoYXZpb3Vyc1tlXSYmZGVsZXRlIHRoaXMuJGJlaGF2aW91cnNbZV19LHRoaXMuaW5oZXJpdD1mdW5jdGlvbihlLHQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlKXZhciBpPShuZXcgZSkuZ2V0QmVoYXZpb3Vycyh0KTtlbHNlIHZhciBpPWUuZ2V0QmVoYXZpb3Vycyh0KTt0aGlzLmFkZEJlaGF2aW91cnMoaSl9LHRoaXMuZ2V0QmVoYXZpb3Vycz1mdW5jdGlvbihlKXtpZihlKXtmb3IodmFyIHQ9e30saT0wO2k8ZS5sZW5ndGg7aSsrKXRoaXMuJGJlaGF2aW91cnNbZVtpXV0mJih0W2VbaV1dPXRoaXMuJGJlaGF2aW91cnNbZVtpXV0pO3JldHVybiB0fXJldHVybiB0aGlzLiRiZWhhdmlvdXJzfX0pLmNhbGwobi5wcm90b3R5cGUpLHQuQmVoYXZpb3VyPW59KSxhY2UuZGVmaW5lKCJhY2UvdW5pY29kZSIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSJdLGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXt2YXIgaT0vXHd7NH0vZztmb3IodmFyIG4gaW4gZSl0LnBhY2thZ2VzW25dPWVbbl0ucmVwbGFjZShpLCJcXHUkJiIpfXQucGFja2FnZXM9e30sbih7TDoiMDA0MS0wMDVBMDA2MS0wMDdBMDBBQTAwQjUwMEJBMDBDMC0wMEQ2MDBEOC0wMEY2MDBGOC0wMkMxMDJDNi0wMkQxMDJFMC0wMkU0MDJFQzAyRUUwMzcwLTAzNzQwMzc2MDM3NzAzN0EtMDM3RDAzODYwMzg4LTAzOEEwMzhDMDM4RS0wM0ExMDNBMy0wM0Y1MDNGNy0wNDgxMDQ4QS0wNTI1MDUzMS0wNTU2MDU1OTA1NjEtMDU4NzA1RDAtMDVFQTA1RjAtMDVGMjA2MjEtMDY0QTA2NkUwNjZGMDY3MS0wNkQzMDZENTA2RTUwNkU2MDZFRTA2RUYwNkZBLTA2RkMwNkZGMDcxMDA3MTItMDcyRjA3NEQtMDdBNTA3QjEwN0NBLTA3RUEwN0Y0MDdGNTA3RkEwODAwLTA4MTUwODFBMDgyNDA4MjgwOTA0LTA5MzkwOTNEMDk1MDA5NTgtMDk2MTA5NzEwOTcyMDk3OS0wOTdGMDk4NS0wOThDMDk4RjA5OTAwOTkzLTA5QTgwOUFBLTA5QjAwOUIyMDlCNi0wOUI5MDlCRDA5Q0UwOURDMDlERDA5REYtMDlFMTA5RjAwOUYxMEEwNS0wQTBBMEEwRjBBMTAwQTEzLTBBMjgwQTJBLTBBMzAwQTMyMEEzMzBBMzUwQTM2MEEzODBBMzkwQTU5LTBBNUMwQTVFMEE3Mi0wQTc0MEE4NS0wQThEMEE4Ri0wQTkxMEE5My0wQUE4MEFBQS0wQUIwMEFCMjBBQjMwQUI1LTBBQjkwQUJEMEFEMDBBRTAwQUUxMEIwNS0wQjBDMEIwRjBCMTAwQjEzLTBCMjgwQjJBLTBCMzAwQjMyMEIzMzBCMzUtMEIzOTBCM0QwQjVDMEI1RDBCNUYtMEI2MTBCNzEwQjgzMEI4NS0wQjhBMEI4RS0wQjkwMEI5Mi0wQjk1MEI5OTBCOUEwQjlDMEI5RTBCOUYwQkEzMEJBNDBCQTgtMEJBQTBCQUUtMEJCOTBCRDAwQzA1LTBDMEMwQzBFLTBDMTAwQzEyLTBDMjgwQzJBLTBDMzMwQzM1LTBDMzkwQzNEMEM1ODBDNTkwQzYwMEM2MTBDODUtMEM4QzBDOEUtMEM5MDBDOTItMENBODBDQUEtMENCMzBDQjUtMENCOTBDQkQwQ0RFMENFMDBDRTEwRDA1LTBEMEMwRDBFLTBEMTAwRDEyLTBEMjgwRDJBLTBEMzkwRDNEMEQ2MDBENjEwRDdBLTBEN0YwRDg1LTBEOTYwRDlBLTBEQjEwREIzLTBEQkIwREJEMERDMC0wREM2MEUwMS0wRTMwMEUzMjBFMzMwRTQwLTBFNDYwRTgxMEU4MjBFODQwRTg3MEU4ODBFOEEwRThEMEU5NC0wRTk3MEU5OS0wRTlGMEVBMS0wRUEzMEVBNTBFQTcwRUFBMEVBQjBFQUQtMEVCMDBFQjIwRUIzMEVCRDBFQzAtMEVDNDBFQzYwRURDMEVERDBGMDAwRjQwLTBGNDcwRjQ5LTBGNkMwRjg4LTBGOEIxMDAwLTEwMkExMDNGMTA1MC0xMDU1MTA1QS0xMDVEMTA2MTEwNjUxMDY2MTA2RS0xMDcwMTA3NS0xMDgxMTA4RTEwQTAtMTBDNTEwRDAtMTBGQTEwRkMxMTAwLTEyNDgxMjRBLTEyNEQxMjUwLTEyNTYxMjU4MTI1QS0xMjVEMTI2MC0xMjg4MTI4QS0xMjhEMTI5MC0xMkIwMTJCMi0xMkI1MTJCOC0xMkJFMTJDMDEyQzItMTJDNTEyQzgtMTJENjEyRDgtMTMxMDEzMTItMTMxNTEzMTgtMTM1QTEzODAtMTM4RjEzQTAtMTNGNDE0MDEtMTY2QzE2NkYtMTY3RjE2ODEtMTY5QTE2QTAtMTZFQTE3MDAtMTcwQzE3MEUtMTcxMTE3MjAtMTczMTE3NDAtMTc1MTE3NjAtMTc2QzE3NkUtMTc3MDE3ODAtMTdCMzE3RDcxN0RDMTgyMC0xODc3MTg4MC0xOEE4MThBQTE4QjAtMThGNTE5MDAtMTkxQzE5NTAtMTk2RDE5NzAtMTk3NDE5ODAtMTlBQjE5QzEtMTlDNzFBMDAtMUExNjFBMjAtMUE1NDFBQTcxQjA1LTFCMzMxQjQ1LTFCNEIxQjgzLTFCQTAxQkFFMUJBRjFDMDAtMUMyMzFDNEQtMUM0RjFDNUEtMUM3RDFDRTktMUNFQzFDRUUtMUNGMTFEMDAtMURCRjFFMDAtMUYxNTFGMTgtMUYxRDFGMjAtMUY0NTFGNDgtMUY0RDFGNTAtMUY1NzFGNTkxRjVCMUY1RDFGNUYtMUY3RDFGODAtMUZCNDFGQjYtMUZCQzFGQkUxRkMyLTFGQzQxRkM2LTFGQ0MxRkQwLTFGRDMxRkQ2LTFGREIxRkUwLTFGRUMxRkYyLTFGRjQxRkY2LTFGRkMyMDcxMjA3RjIwOTAtMjA5NDIxMDIyMTA3MjEwQS0yMTEzMjExNTIxMTktMjExRDIxMjQyMTI2MjEyODIxMkEtMjEyRDIxMkYtMjEzOTIxM0MtMjEzRjIxNDUtMjE0OTIxNEUyMTgzMjE4NDJDMDAtMkMyRTJDMzAtMkM1RTJDNjAtMkNFNDJDRUItMkNFRTJEMDAtMkQyNTJEMzAtMkQ2NTJENkYyRDgwLTJEOTYyREEwLTJEQTYyREE4LTJEQUUyREIwLTJEQjYyREI4LTJEQkUyREMwLTJEQzYyREM4LTJEQ0UyREQwLTJERDYyREQ4LTJEREUyRTJGMzAwNTMwMDYzMDMxLTMwMzUzMDNCMzAzQzMwNDEtMzA5NjMwOUQtMzA5RjMwQTEtMzBGQTMwRkMtMzBGRjMxMDUtMzEyRDMxMzEtMzE4RTMxQTAtMzFCNzMxRjAtMzFGRjM0MDAtNERCNTRFMDAtOUZDQkEwMDAtQTQ4Q0E0RDAtQTRGREE1MDAtQTYwQ0E2MTAtQTYxRkE2MkFBNjJCQTY0MC1BNjVGQTY2Mi1BNjZFQTY3Ri1BNjk3QTZBMC1BNkU1QTcxNy1BNzFGQTcyMi1BNzg4QTc4QkE3OENBN0ZCLUE4MDFBODAzLUE4MDVBODA3LUE4MEFBODBDLUE4MjJBODQwLUE4NzNBODgyLUE4QjNBOEYyLUE4RjdBOEZCQTkwQS1BOTI1QTkzMC1BOTQ2QTk2MC1BOTdDQTk4NC1BOUIyQTlDRkFBMDAtQUEyOEFBNDAtQUE0MkFBNDQtQUE0QkFBNjAtQUE3NkFBN0FBQTgwLUFBQUZBQUIxQUFCNUFBQjZBQUI5LUFBQkRBQUMwQUFDMkFBREItQUFEREFCQzAtQUJFMkFDMDAtRDdBM0Q3QjAtRDdDNkQ3Q0ItRDdGQkY5MDAtRkEyREZBMzAtRkE2REZBNzAtRkFEOUZCMDAtRkIwNkZCMTMtRkIxN0ZCMURGQjFGLUZCMjhGQjJBLUZCMzZGQjM4LUZCM0NGQjNFRkI0MEZCNDFGQjQzRkI0NEZCNDYtRkJCMUZCRDMtRkQzREZENTAtRkQ4RkZEOTItRkRDN0ZERjAtRkRGQkZFNzAtRkU3NEZFNzYtRkVGQ0ZGMjEtRkYzQUZGNDEtRkY1QUZGNjYtRkZCRUZGQzItRkZDN0ZGQ0EtRkZDRkZGRDItRkZEN0ZGREEtRkZEQyIsTGw6IjAwNjEtMDA3QTAwQUEwMEI1MDBCQTAwREYtMDBGNjAwRjgtMDBGRjAxMDEwMTAzMDEwNTAxMDcwMTA5MDEwQjAxMEQwMTBGMDExMTAxMTMwMTE1MDExNzAxMTkwMTFCMDExRDAxMUYwMTIxMDEyMzAxMjUwMTI3MDEyOTAxMkIwMTJEMDEyRjAxMzEwMTMzMDEzNTAxMzcwMTM4MDEzQTAxM0MwMTNFMDE0MDAxNDIwMTQ0MDE0NjAxNDgwMTQ5MDE0QjAxNEQwMTRGMDE1MTAxNTMwMTU1MDE1NzAxNTkwMTVCMDE1RDAxNUYwMTYxMDE2MzAxNjUwMTY3MDE2OTAxNkIwMTZEMDE2RjAxNzEwMTczMDE3NTAxNzcwMTdBMDE3QzAxN0UtMDE4MDAxODMwMTg1MDE4ODAxOEMwMThEMDE5MjAxOTUwMTk5LTAxOUIwMTlFMDFBMTAxQTMwMUE1MDFBODAxQUEwMUFCMDFBRDAxQjAwMUI0MDFCNjAxQjkwMUJBMDFCRC0wMUJGMDFDNjAxQzkwMUNDMDFDRTAxRDAwMUQyMDFENDAxRDYwMUQ4MDFEQTAxREMwMUREMDFERjAxRTEwMUUzMDFFNTAxRTcwMUU5MDFFQjAxRUQwMUVGMDFGMDAxRjMwMUY1MDFGOTAxRkIwMUZEMDFGRjAyMDEwMjAzMDIwNTAyMDcwMjA5MDIwQjAyMEQwMjBGMDIxMTAyMTMwMjE1MDIxNzAyMTkwMjFCMDIxRDAyMUYwMjIxMDIyMzAyMjUwMjI3MDIyOTAyMkIwMjJEMDIyRjAyMzEwMjMzLTAyMzkwMjNDMDIzRjAyNDAwMjQyMDI0NzAyNDkwMjRCMDI0RDAyNEYtMDI5MzAyOTUtMDJBRjAzNzEwMzczMDM3NzAzN0ItMDM3RDAzOTAwM0FDLTAzQ0UwM0QwMDNEMTAzRDUtMDNENzAzRDkwM0RCMDNERDAzREYwM0UxMDNFMzAzRTUwM0U3MDNFOTAzRUIwM0VEMDNFRi0wM0YzMDNGNTAzRjgwM0ZCMDNGQzA0MzAtMDQ1RjA0NjEwNDYzMDQ2NTA0NjcwNDY5MDQ2QjA0NkQwNDZGMDQ3MTA0NzMwNDc1MDQ3NzA0NzkwNDdCMDQ3RDA0N0YwNDgxMDQ4QjA0OEQwNDhGMDQ5MTA0OTMwNDk1MDQ5NzA0OTkwNDlCMDQ5RDA0OUYwNEExMDRBMzA0QTUwNEE3MDRBOTA0QUIwNEFEMDRBRjA0QjEwNEIzMDRCNTA0QjcwNEI5MDRCQjA0QkQwNEJGMDRDMjA0QzQwNEM2MDRDODA0Q0EwNENDMDRDRTA0Q0YwNEQxMDREMzA0RDUwNEQ3MDREOTA0REIwNEREMDRERjA0RTEwNEUzMDRFNTA0RTcwNEU5MDRFQjA0RUQwNEVGMDRGMTA0RjMwNEY1MDRGNzA0RjkwNEZCMDRGRDA0RkYwNTAxMDUwMzA1MDUwNTA3MDUwOTA1MEIwNTBEMDUwRjA1MTEwNTEzMDUxNTA1MTcwNTE5MDUxQjA1MUQwNTFGMDUyMTA1MjMwNTI1MDU2MS0wNTg3MUQwMC0xRDJCMUQ2Mi0xRDc3MUQ3OS0xRDlBMUUwMTFFMDMxRTA1MUUwNzFFMDkxRTBCMUUwRDFFMEYxRTExMUUxMzFFMTUxRTE3MUUxOTFFMUIxRTFEMUUxRjFFMjExRTIzMUUyNTFFMjcxRTI5MUUyQjFFMkQxRTJGMUUzMTFFMzMxRTM1MUUzNzFFMzkxRTNCMUUzRDFFM0YxRTQxMUU0MzFFNDUxRTQ3MUU0OTFFNEIxRTREMUU0RjFFNTExRTUzMUU1NTFFNTcxRTU5MUU1QjFFNUQxRTVGMUU2MTFFNjMxRTY1MUU2NzFFNjkxRTZCMUU2RDFFNkYxRTcxMUU3MzFFNzUxRTc3MUU3OTFFN0IxRTdEMUU3RjFFODExRTgzMUU4NTFFODcxRTg5MUU4QjFFOEQxRThGMUU5MTFFOTMxRTk1LTFFOUQxRTlGMUVBMTFFQTMxRUE1MUVBNzFFQTkxRUFCMUVBRDFFQUYxRUIxMUVCMzFFQjUxRUI3MUVCOTFFQkIxRUJEMUVCRjFFQzExRUMzMUVDNTFFQzcxRUM5MUVDQjFFQ0QxRUNGMUVEMTFFRDMxRUQ1MUVENzFFRDkxRURCMUVERDFFREYxRUUxMUVFMzFFRTUxRUU3MUVFOTFFRUIxRUVEMUVFRjFFRjExRUYzMUVGNTFFRjcxRUY5MUVGQjFFRkQxRUZGLTFGMDcxRjEwLTFGMTUxRjIwLTFGMjcxRjMwLTFGMzcxRjQwLTFGNDUxRjUwLTFGNTcxRjYwLTFGNjcxRjcwLTFGN0QxRjgwLTFGODcxRjkwLTFGOTcxRkEwLTFGQTcxRkIwLTFGQjQxRkI2MUZCNzFGQkUxRkMyLTFGQzQxRkM2MUZDNzFGRDAtMUZEMzFGRDYxRkQ3MUZFMC0xRkU3MUZGMi0xRkY0MUZGNjFGRjcyMTBBMjEwRTIxMEYyMTEzMjEyRjIxMzQyMTM5MjEzQzIxM0QyMTQ2LTIxNDkyMTRFMjE4NDJDMzAtMkM1RTJDNjEyQzY1MkM2NjJDNjgyQzZBMkM2QzJDNzEyQzczMkM3NDJDNzYtMkM3QzJDODEyQzgzMkM4NTJDODcyQzg5MkM4QjJDOEQyQzhGMkM5MTJDOTMyQzk1MkM5NzJDOTkyQzlCMkM5RDJDOUYyQ0ExMkNBMzJDQTUyQ0E3MkNBOTJDQUIyQ0FEMkNBRjJDQjEyQ0IzMkNCNTJDQjcyQ0I5MkNCQjJDQkQyQ0JGMkNDMTJDQzMyQ0M1MkNDNzJDQzkyQ0NCMkNDRDJDQ0YyQ0QxMkNEMzJDRDUyQ0Q3MkNEOTJDREIyQ0REMkNERjJDRTEyQ0UzMkNFNDJDRUMyQ0VFMkQwMC0yRDI1QTY0MUE2NDNBNjQ1QTY0N0E2NDlBNjRCQTY0REE2NEZBNjUxQTY1M0E2NTVBNjU3QTY1OUE2NUJBNjVEQTY1RkE2NjNBNjY1QTY2N0E2NjlBNjZCQTY2REE2ODFBNjgzQTY4NUE2ODdBNjg5QTY4QkE2OERBNjhGQTY5MUE2OTNBNjk1QTY5N0E3MjNBNzI1QTcyN0E3MjlBNzJCQTcyREE3MkYtQTczMUE3MzNBNzM1QTczN0E3MzlBNzNCQTczREE3M0ZBNzQxQTc0M0E3NDVBNzQ3QTc0OUE3NEJBNzREQTc0RkE3NTFBNzUzQTc1NUE3NTdBNzU5QTc1QkE3NURBNzVGQTc2MUE3NjNBNzY1QTc2N0E3NjlBNzZCQTc2REE3NkZBNzcxLUE3NzhBNzdBQTc3Q0E3N0ZBNzgxQTc4M0E3ODVBNzg3QTc4Q0ZCMDAtRkIwNkZCMTMtRkIxN0ZGNDEtRkY1QSIsTHU6IjAwNDEtMDA1QTAwQzAtMDBENjAwRDgtMDBERTAxMDAwMTAyMDEwNDAxMDYwMTA4MDEwQTAxMEMwMTBFMDExMDAxMTIwMTE0MDExNjAxMTgwMTFBMDExQzAxMUUwMTIwMDEyMjAxMjQwMTI2MDEyODAxMkEwMTJDMDEyRTAxMzAwMTMyMDEzNDAxMzYwMTM5MDEzQjAxM0QwMTNGMDE0MTAxNDMwMTQ1MDE0NzAxNEEwMTRDMDE0RTAxNTAwMTUyMDE1NDAxNTYwMTU4MDE1QTAxNUMwMTVFMDE2MDAxNjIwMTY0MDE2NjAxNjgwMTZBMDE2QzAxNkUwMTcwMDE3MjAxNzQwMTc2MDE3ODAxNzkwMTdCMDE3RDAxODEwMTgyMDE4NDAxODYwMTg3MDE4OS0wMThCMDE4RS0wMTkxMDE5MzAxOTQwMTk2LTAxOTgwMTlDMDE5RDAxOUYwMUEwMDFBMjAxQTQwMUE2MDFBNzAxQTkwMUFDMDFBRTAxQUYwMUIxLTAxQjMwMUI1MDFCNzAxQjgwMUJDMDFDNDAxQzcwMUNBMDFDRDAxQ0YwMUQxMDFEMzAxRDUwMUQ3MDFEOTAxREIwMURFMDFFMDAxRTIwMUU0MDFFNjAxRTgwMUVBMDFFQzAxRUUwMUYxMDFGNDAxRjYtMDFGODAxRkEwMUZDMDFGRTAyMDAwMjAyMDIwNDAyMDYwMjA4MDIwQTAyMEMwMjBFMDIxMDAyMTIwMjE0MDIxNjAyMTgwMjFBMDIxQzAyMUUwMjIwMDIyMjAyMjQwMjI2MDIyODAyMkEwMjJDMDIyRTAyMzAwMjMyMDIzQTAyM0IwMjNEMDIzRTAyNDEwMjQzLTAyNDYwMjQ4MDI0QTAyNEMwMjRFMDM3MDAzNzIwMzc2MDM4NjAzODgtMDM4QTAzOEMwMzhFMDM4RjAzOTEtMDNBMTAzQTMtMDNBQjAzQ0YwM0QyLTAzRDQwM0Q4MDNEQTAzREMwM0RFMDNFMDAzRTIwM0U0MDNFNjAzRTgwM0VBMDNFQzAzRUUwM0Y0MDNGNzAzRjkwM0ZBMDNGRC0wNDJGMDQ2MDA0NjIwNDY0MDQ2NjA0NjgwNDZBMDQ2QzA0NkUwNDcwMDQ3MjA0NzQwNDc2MDQ3ODA0N0EwNDdDMDQ3RTA0ODAwNDhBMDQ4QzA0OEUwNDkwMDQ5MjA0OTQwNDk2MDQ5ODA0OUEwNDlDMDQ5RTA0QTAwNEEyMDRBNDA0QTYwNEE4MDRBQTA0QUMwNEFFMDRCMDA0QjIwNEI0MDRCNjA0QjgwNEJBMDRCQzA0QkUwNEMwMDRDMTA0QzMwNEM1MDRDNzA0QzkwNENCMDRDRDA0RDAwNEQyMDRENDA0RDYwNEQ4MDREQTA0REMwNERFMDRFMDA0RTIwNEU0MDRFNjA0RTgwNEVBMDRFQzA0RUUwNEYwMDRGMjA0RjQwNEY2MDRGODA0RkEwNEZDMDRGRTA1MDAwNTAyMDUwNDA1MDYwNTA4MDUwQTA1MEMwNTBFMDUxMDA1MTIwNTE0MDUxNjA1MTgwNTFBMDUxQzA1MUUwNTIwMDUyMjA1MjQwNTMxLTA1NTYxMEEwLTEwQzUxRTAwMUUwMjFFMDQxRTA2MUUwODFFMEExRTBDMUUwRTFFMTAxRTEyMUUxNDFFMTYxRTE4MUUxQTFFMUMxRTFFMUUyMDFFMjIxRTI0MUUyNjFFMjgxRTJBMUUyQzFFMkUxRTMwMUUzMjFFMzQxRTM2MUUzODFFM0ExRTNDMUUzRTFFNDAxRTQyMUU0NDFFNDYxRTQ4MUU0QTFFNEMxRTRFMUU1MDFFNTIxRTU0MUU1NjFFNTgxRTVBMUU1QzFFNUUxRTYwMUU2MjFFNjQxRTY2MUU2ODFFNkExRTZDMUU2RTFFNzAxRTcyMUU3NDFFNzYxRTc4MUU3QTFFN0MxRTdFMUU4MDFFODIxRTg0MUU4NjFFODgxRThBMUU4QzFFOEUxRTkwMUU5MjFFOTQxRTlFMUVBMDFFQTIxRUE0MUVBNjFFQTgxRUFBMUVBQzFFQUUxRUIwMUVCMjFFQjQxRUI2MUVCODFFQkExRUJDMUVCRTFFQzAxRUMyMUVDNDFFQzYxRUM4MUVDQTFFQ0MxRUNFMUVEMDFFRDIxRUQ0MUVENjFFRDgxRURBMUVEQzFFREUxRUUwMUVFMjFFRTQxRUU2MUVFODFFRUExRUVDMUVFRTFFRjAxRUYyMUVGNDFFRjYxRUY4MUVGQTFFRkMxRUZFMUYwOC0xRjBGMUYxOC0xRjFEMUYyOC0xRjJGMUYzOC0xRjNGMUY0OC0xRjREMUY1OTFGNUIxRjVEMUY1RjFGNjgtMUY2RjFGQjgtMUZCQjFGQzgtMUZDQjFGRDgtMUZEQjFGRTgtMUZFQzFGRjgtMUZGQjIxMDIyMTA3MjEwQi0yMTBEMjExMC0yMTEyMjExNTIxMTktMjExRDIxMjQyMTI2MjEyODIxMkEtMjEyRDIxMzAtMjEzMzIxM0UyMTNGMjE0NTIxODMyQzAwLTJDMkUyQzYwMkM2Mi0yQzY0MkM2NzJDNjkyQzZCMkM2RC0yQzcwMkM3MjJDNzUyQzdFLTJDODAyQzgyMkM4NDJDODYyQzg4MkM4QTJDOEMyQzhFMkM5MDJDOTIyQzk0MkM5NjJDOTgyQzlBMkM5QzJDOUUyQ0EwMkNBMjJDQTQyQ0E2MkNBODJDQUEyQ0FDMkNBRTJDQjAyQ0IyMkNCNDJDQjYyQ0I4MkNCQTJDQkMyQ0JFMkNDMDJDQzIyQ0M0MkNDNjJDQzgyQ0NBMkNDQzJDQ0UyQ0QwMkNEMjJDRDQyQ0Q2MkNEODJDREEyQ0RDMkNERTJDRTAyQ0UyMkNFQjJDRURBNjQwQTY0MkE2NDRBNjQ2QTY0OEE2NEFBNjRDQTY0RUE2NTBBNjUyQTY1NEE2NTZBNjU4QTY1QUE2NUNBNjVFQTY2MkE2NjRBNjY2QTY2OEE2NkFBNjZDQTY4MEE2ODJBNjg0QTY4NkE2ODhBNjhBQTY4Q0E2OEVBNjkwQTY5MkE2OTRBNjk2QTcyMkE3MjRBNzI2QTcyOEE3MkFBNzJDQTcyRUE3MzJBNzM0QTczNkE3MzhBNzNBQTczQ0E3M0VBNzQwQTc0MkE3NDRBNzQ2QTc0OEE3NEFBNzRDQTc0RUE3NTBBNzUyQTc1NEE3NTZBNzU4QTc1QUE3NUNBNzVFQTc2MEE3NjJBNzY0QTc2NkE3NjhBNzZBQTc2Q0E3NkVBNzc5QTc3QkE3N0RBNzdFQTc4MEE3ODJBNzg0QTc4NkE3OEJGRjIxLUZGM0EiLEx0OiIwMUM1MDFDODAxQ0IwMUYyMUY4OC0xRjhGMUY5OC0xRjlGMUZBOC0xRkFGMUZCQzFGQ0MxRkZDIixMbToiMDJCMC0wMkMxMDJDNi0wMkQxMDJFMC0wMkU0MDJFQzAyRUUwMzc0MDM3QTA1NTkwNjQwMDZFNTA2RTYwN0Y0MDdGNTA3RkEwODFBMDgyNDA4MjgwOTcxMEU0NjBFQzYxMEZDMTdENzE4NDMxQUE3MUM3OC0xQzdEMUQyQy0xRDYxMUQ3ODFEOUItMURCRjIwNzEyMDdGMjA5MC0yMDk0MkM3RDJENkYyRTJGMzAwNTMwMzEtMzAzNTMwM0IzMDlEMzA5RTMwRkMtMzBGRUEwMTVBNEY4LUE0RkRBNjBDQTY3RkE3MTctQTcxRkE3NzBBNzg4QTlDRkFBNzBBQURERkY3MEZGOUVGRjlGIixMbzoiMDFCQjAxQzAtMDFDMzAyOTQwNUQwLTA1RUEwNUYwLTA1RjIwNjIxLTA2M0YwNjQxLTA2NEEwNjZFMDY2RjA2NzEtMDZEMzA2RDUwNkVFMDZFRjA2RkEtMDZGQzA2RkYwNzEwMDcxMi0wNzJGMDc0RC0wN0E1MDdCMTA3Q0EtMDdFQTA4MDAtMDgxNTA5MDQtMDkzOTA5M0QwOTUwMDk1OC0wOTYxMDk3MjA5NzktMDk3RjA5ODUtMDk4QzA5OEYwOTkwMDk5My0wOUE4MDlBQS0wOUIwMDlCMjA5QjYtMDlCOTA5QkQwOUNFMDlEQzA5REQwOURGLTA5RTEwOUYwMDlGMTBBMDUtMEEwQTBBMEYwQTEwMEExMy0wQTI4MEEyQS0wQTMwMEEzMjBBMzMwQTM1MEEzNjBBMzgwQTM5MEE1OS0wQTVDMEE1RTBBNzItMEE3NDBBODUtMEE4RDBBOEYtMEE5MTBBOTMtMEFBODBBQUEtMEFCMDBBQjIwQUIzMEFCNS0wQUI5MEFCRDBBRDAwQUUwMEFFMTBCMDUtMEIwQzBCMEYwQjEwMEIxMy0wQjI4MEIyQS0wQjMwMEIzMjBCMzMwQjM1LTBCMzkwQjNEMEI1QzBCNUQwQjVGLTBCNjEwQjcxMEI4MzBCODUtMEI4QTBCOEUtMEI5MDBCOTItMEI5NTBCOTkwQjlBMEI5QzBCOUUwQjlGMEJBMzBCQTQwQkE4LTBCQUEwQkFFLTBCQjkwQkQwMEMwNS0wQzBDMEMwRS0wQzEwMEMxMi0wQzI4MEMyQS0wQzMzMEMzNS0wQzM5MEMzRDBDNTgwQzU5MEM2MDBDNjEwQzg1LTBDOEMwQzhFLTBDOTAwQzkyLTBDQTgwQ0FBLTBDQjMwQ0I1LTBDQjkwQ0JEMENERTBDRTAwQ0UxMEQwNS0wRDBDMEQwRS0wRDEwMEQxMi0wRDI4MEQyQS0wRDM5MEQzRDBENjAwRDYxMEQ3QS0wRDdGMEQ4NS0wRDk2MEQ5QS0wREIxMERCMy0wREJCMERCRDBEQzAtMERDNjBFMDEtMEUzMDBFMzIwRTMzMEU0MC0wRTQ1MEU4MTBFODIwRTg0MEU4NzBFODgwRThBMEU4RDBFOTQtMEU5NzBFOTktMEU5RjBFQTEtMEVBMzBFQTUwRUE3MEVBQTBFQUIwRUFELTBFQjAwRUIyMEVCMzBFQkQwRUMwLTBFQzQwRURDMEVERDBGMDAwRjQwLTBGNDcwRjQ5LTBGNkMwRjg4LTBGOEIxMDAwLTEwMkExMDNGMTA1MC0xMDU1MTA1QS0xMDVEMTA2MTEwNjUxMDY2MTA2RS0xMDcwMTA3NS0xMDgxMTA4RTEwRDAtMTBGQTExMDAtMTI0ODEyNEEtMTI0RDEyNTAtMTI1NjEyNTgxMjVBLTEyNUQxMjYwLTEyODgxMjhBLTEyOEQxMjkwLTEyQjAxMkIyLTEyQjUxMkI4LTEyQkUxMkMwMTJDMi0xMkM1MTJDOC0xMkQ2MTJEOC0xMzEwMTMxMi0xMzE1MTMxOC0xMzVBMTM4MC0xMzhGMTNBMC0xM0Y0MTQwMS0xNjZDMTY2Ri0xNjdGMTY4MS0xNjlBMTZBMC0xNkVBMTcwMC0xNzBDMTcwRS0xNzExMTcyMC0xNzMxMTc0MC0xNzUxMTc2MC0xNzZDMTc2RS0xNzcwMTc4MC0xN0IzMTdEQzE4MjAtMTg0MjE4NDQtMTg3NzE4ODAtMThBODE4QUExOEIwLTE4RjUxOTAwLTE5MUMxOTUwLTE5NkQxOTcwLTE5NzQxOTgwLTE5QUIxOUMxLTE5QzcxQTAwLTFBMTYxQTIwLTFBNTQxQjA1LTFCMzMxQjQ1LTFCNEIxQjgzLTFCQTAxQkFFMUJBRjFDMDAtMUMyMzFDNEQtMUM0RjFDNUEtMUM3NzFDRTktMUNFQzFDRUUtMUNGMTIxMzUtMjEzODJEMzAtMkQ2NTJEODAtMkQ5NjJEQTAtMkRBNjJEQTgtMkRBRTJEQjAtMkRCNjJEQjgtMkRCRTJEQzAtMkRDNjJEQzgtMkRDRTJERDAtMkRENjJERDgtMkRERTMwMDYzMDNDMzA0MS0zMDk2MzA5RjMwQTEtMzBGQTMwRkYzMTA1LTMxMkQzMTMxLTMxOEUzMUEwLTMxQjczMUYwLTMxRkYzNDAwLTREQjU0RTAwLTlGQ0JBMDAwLUEwMTRBMDE2LUE0OENBNEQwLUE0RjdBNTAwLUE2MEJBNjEwLUE2MUZBNjJBQTYyQkE2NkVBNkEwLUE2RTVBN0ZCLUE4MDFBODAzLUE4MDVBODA3LUE4MEFBODBDLUE4MjJBODQwLUE4NzNBODgyLUE4QjNBOEYyLUE4RjdBOEZCQTkwQS1BOTI1QTkzMC1BOTQ2QTk2MC1BOTdDQTk4NC1BOUIyQUEwMC1BQTI4QUE0MC1BQTQyQUE0NC1BQTRCQUE2MC1BQTZGQUE3MS1BQTc2QUE3QUFBODAtQUFBRkFBQjFBQUI1QUFCNkFBQjktQUFCREFBQzBBQUMyQUFEQkFBRENBQkMwLUFCRTJBQzAwLUQ3QTNEN0IwLUQ3QzZEN0NCLUQ3RkJGOTAwLUZBMkRGQTMwLUZBNkRGQTcwLUZBRDlGQjFERkIxRi1GQjI4RkIyQS1GQjM2RkIzOC1GQjNDRkIzRUZCNDBGQjQxRkI0M0ZCNDRGQjQ2LUZCQjFGQkQzLUZEM0RGRDUwLUZEOEZGRDkyLUZEQzdGREYwLUZERkJGRTcwLUZFNzRGRTc2LUZFRkNGRjY2LUZGNkZGRjcxLUZGOURGRkEwLUZGQkVGRkMyLUZGQzdGRkNBLUZGQ0ZGRkQyLUZGRDdGRkRBLUZGREMiLE06IjAzMDAtMDM2RjA0ODMtMDQ4OTA1OTEtMDVCRDA1QkYwNUMxMDVDMjA1QzQwNUM1MDVDNzA2MTAtMDYxQTA2NEItMDY1RTA2NzAwNkQ2LTA2REMwNkRFLTA2RTQwNkU3MDZFODA2RUEtMDZFRDA3MTEwNzMwLTA3NEEwN0E2LTA3QjAwN0VCLTA3RjMwODE2LTA4MTkwODFCLTA4MjMwODI1LTA4MjcwODI5LTA4MkQwOTAwLTA5MDMwOTNDMDkzRS0wOTRFMDk1MS0wOTU1MDk2MjA5NjMwOTgxLTA5ODMwOUJDMDlCRS0wOUM0MDlDNzA5QzgwOUNCLTA5Q0QwOUQ3MDlFMjA5RTMwQTAxLTBBMDMwQTNDMEEzRS0wQTQyMEE0NzBBNDgwQTRCLTBBNEQwQTUxMEE3MDBBNzEwQTc1MEE4MS0wQTgzMEFCQzBBQkUtMEFDNTBBQzctMEFDOTBBQ0ItMEFDRDBBRTIwQUUzMEIwMS0wQjAzMEIzQzBCM0UtMEI0NDBCNDcwQjQ4MEI0Qi0wQjREMEI1NjBCNTcwQjYyMEI2MzBCODIwQkJFLTBCQzIwQkM2LTBCQzgwQkNBLTBCQ0QwQkQ3MEMwMS0wQzAzMEMzRS0wQzQ0MEM0Ni0wQzQ4MEM0QS0wQzREMEM1NTBDNTYwQzYyMEM2MzBDODIwQzgzMENCQzBDQkUtMENDNDBDQzYtMENDODBDQ0EtMENDRDBDRDUwQ0Q2MENFMjBDRTMwRDAyMEQwMzBEM0UtMEQ0NDBENDYtMEQ0ODBENEEtMEQ0RDBENTcwRDYyMEQ2MzBEODIwRDgzMERDQTBEQ0YtMERENDBERDYwREQ4LTBEREYwREYyMERGMzBFMzEwRTM0LTBFM0EwRTQ3LTBFNEUwRUIxMEVCNC0wRUI5MEVCQjBFQkMwRUM4LTBFQ0QwRjE4MEYxOTBGMzUwRjM3MEYzOTBGM0UwRjNGMEY3MS0wRjg0MEY4NjBGODcwRjkwLTBGOTcwRjk5LTBGQkMwRkM2MTAyQi0xMDNFMTA1Ni0xMDU5MTA1RS0xMDYwMTA2Mi0xMDY0MTA2Ny0xMDZEMTA3MS0xMDc0MTA4Mi0xMDhEMTA4RjEwOUEtMTA5RDEzNUYxNzEyLTE3MTQxNzMyLTE3MzQxNzUyMTc1MzE3NzIxNzczMTdCNi0xN0QzMTdERDE4MEItMTgwRDE4QTkxOTIwLTE5MkIxOTMwLTE5M0IxOUIwLTE5QzAxOUM4MTlDOTFBMTctMUExQjFBNTUtMUE1RTFBNjAtMUE3QzFBN0YxQjAwLTFCMDQxQjM0LTFCNDQxQjZCLTFCNzMxQjgwLTFCODIxQkExLTFCQUExQzI0LTFDMzcxQ0QwLTFDRDIxQ0Q0LTFDRTgxQ0VEMUNGMjFEQzAtMURFNjFERkQtMURGRjIwRDAtMjBGMDJDRUYtMkNGMTJERTAtMkRGRjMwMkEtMzAyRjMwOTkzMDlBQTY2Ri1BNjcyQTY3Q0E2N0RBNkYwQTZGMUE4MDJBODA2QTgwQkE4MjMtQTgyN0E4ODBBODgxQThCNC1BOEM0QThFMC1BOEYxQTkyNi1BOTJEQTk0Ny1BOTUzQTk4MC1BOTgzQTlCMy1BOUMwQUEyOS1BQTM2QUE0M0FBNENBQTREQUE3QkFBQjBBQUIyLUFBQjRBQUI3QUFCOEFBQkVBQUJGQUFDMUFCRTMtQUJFQUFCRUNBQkVERkIxRUZFMDAtRkUwRkZFMjAtRkUyNiIsTW46IjAzMDAtMDM2RjA0ODMtMDQ4NzA1OTEtMDVCRDA1QkYwNUMxMDVDMjA1QzQwNUM1MDVDNzA2MTAtMDYxQTA2NEItMDY1RTA2NzAwNkQ2LTA2REMwNkRGLTA2RTQwNkU3MDZFODA2RUEtMDZFRDA3MTEwNzMwLTA3NEEwN0E2LTA3QjAwN0VCLTA3RjMwODE2LTA4MTkwODFCLTA4MjMwODI1LTA4MjcwODI5LTA4MkQwOTAwLTA5MDIwOTNDMDk0MS0wOTQ4MDk0RDA5NTEtMDk1NTA5NjIwOTYzMDk4MTA5QkMwOUMxLTA5QzQwOUNEMDlFMjA5RTMwQTAxMEEwMjBBM0MwQTQxMEE0MjBBNDcwQTQ4MEE0Qi0wQTREMEE1MTBBNzAwQTcxMEE3NTBBODEwQTgyMEFCQzBBQzEtMEFDNTBBQzcwQUM4MEFDRDBBRTIwQUUzMEIwMTBCM0MwQjNGMEI0MS0wQjQ0MEI0RDBCNTYwQjYyMEI2MzBCODIwQkMwMEJDRDBDM0UtMEM0MDBDNDYtMEM0ODBDNEEtMEM0RDBDNTUwQzU2MEM2MjBDNjMwQ0JDMENCRjBDQzYwQ0NDMENDRDBDRTIwQ0UzMEQ0MS0wRDQ0MEQ0RDBENjIwRDYzMERDQTBERDItMERENDBERDYwRTMxMEUzNC0wRTNBMEU0Ny0wRTRFMEVCMTBFQjQtMEVCOTBFQkIwRUJDMEVDOC0wRUNEMEYxODBGMTkwRjM1MEYzNzBGMzkwRjcxLTBGN0UwRjgwLTBGODQwRjg2MEY4NzBGOTAtMEY5NzBGOTktMEZCQzBGQzYxMDJELTEwMzAxMDMyLTEwMzcxMDM5MTAzQTEwM0QxMDNFMTA1ODEwNTkxMDVFLTEwNjAxMDcxLTEwNzQxMDgyMTA4NTEwODYxMDhEMTA5RDEzNUYxNzEyLTE3MTQxNzMyLTE3MzQxNzUyMTc1MzE3NzIxNzczMTdCNy0xN0JEMTdDNjE3QzktMTdEMzE3REQxODBCLTE4MEQxOEE5MTkyMC0xOTIyMTkyNzE5MjgxOTMyMTkzOS0xOTNCMUExNzFBMTgxQTU2MUE1OC0xQTVFMUE2MDFBNjIxQTY1LTFBNkMxQTczLTFBN0MxQTdGMUIwMC0xQjAzMUIzNDFCMzYtMUIzQTFCM0MxQjQyMUI2Qi0xQjczMUI4MDFCODExQkEyLTFCQTUxQkE4MUJBOTFDMkMtMUMzMzFDMzYxQzM3MUNEMC0xQ0QyMUNENC0xQ0UwMUNFMi0xQ0U4MUNFRDFEQzAtMURFNjFERkQtMURGRjIwRDAtMjBEQzIwRTEyMEU1LTIwRjAyQ0VGLTJDRjEyREUwLTJERkYzMDJBLTMwMkYzMDk5MzA5QUE2NkZBNjdDQTY3REE2RjBBNkYxQTgwMkE4MDZBODBCQTgyNUE4MjZBOEM0QThFMC1BOEYxQTkyNi1BOTJEQTk0Ny1BOTUxQTk4MC1BOTgyQTlCM0E5QjYtQTlCOUE5QkNBQTI5LUFBMkVBQTMxQUEzMkFBMzVBQTM2QUE0M0FBNENBQUIwQUFCMi1BQUI0QUFCN0FBQjhBQUJFQUFCRkFBQzFBQkU1QUJFOEFCRURGQjFFRkUwMC1GRTBGRkUyMC1GRTI2IixNYzoiMDkwMzA5M0UtMDk0MDA5NDktMDk0QzA5NEUwOTgyMDk4MzA5QkUtMDlDMDA5QzcwOUM4MDlDQjA5Q0MwOUQ3MEEwMzBBM0UtMEE0MDBBODMwQUJFLTBBQzAwQUM5MEFDQjBBQ0MwQjAyMEIwMzBCM0UwQjQwMEI0NzBCNDgwQjRCMEI0QzBCNTcwQkJFMEJCRjBCQzEwQkMyMEJDNi0wQkM4MEJDQS0wQkNDMEJENzBDMDEtMEMwMzBDNDEtMEM0NDBDODIwQzgzMENCRTBDQzAtMENDNDBDQzcwQ0M4MENDQTBDQ0IwQ0Q1MENENjBEMDIwRDAzMEQzRS0wRDQwMEQ0Ni0wRDQ4MEQ0QS0wRDRDMEQ1NzBEODIwRDgzMERDRi0wREQxMEREOC0wRERGMERGMjBERjMwRjNFMEYzRjBGN0YxMDJCMTAyQzEwMzExMDM4MTAzQjEwM0MxMDU2MTA1NzEwNjItMTA2NDEwNjctMTA2RDEwODMxMDg0MTA4Ny0xMDhDMTA4RjEwOUEtMTA5QzE3QjYxN0JFLTE3QzUxN0M3MTdDODE5MjMtMTkyNjE5MjktMTkyQjE5MzAxOTMxMTkzMy0xOTM4MTlCMC0xOUMwMTlDODE5QzkxQTE5LTFBMUIxQTU1MUE1NzFBNjExQTYzMUE2NDFBNkQtMUE3MjFCMDQxQjM1MUIzQjFCM0QtMUI0MTFCNDMxQjQ0MUI4MjFCQTExQkE2MUJBNzFCQUExQzI0LTFDMkIxQzM0MUMzNTFDRTExQ0YyQTgyM0E4MjRBODI3QTg4MEE4ODFBOEI0LUE4QzNBOTUyQTk1M0E5ODNBOUI0QTlCNUE5QkFBOUJCQTlCRC1BOUMwQUEyRkFBMzBBQTMzQUEzNEFBNERBQTdCQUJFM0FCRTRBQkU2QUJFN0FCRTlBQkVBQUJFQyIsTWU6IjA0ODgwNDg5MDZERTIwREQtMjBFMDIwRTItMjBFNEE2NzAtQTY3MiIsTjoiMDAzMC0wMDM5MDBCMjAwQjMwMEI5MDBCQy0wMEJFMDY2MC0wNjY5MDZGMC0wNkY5MDdDMC0wN0M5MDk2Ni0wOTZGMDlFNi0wOUVGMDlGNC0wOUY5MEE2Ni0wQTZGMEFFNi0wQUVGMEI2Ni0wQjZGMEJFNi0wQkYyMEM2Ni0wQzZGMEM3OC0wQzdFMENFNi0wQ0VGMEQ2Ni0wRDc1MEU1MC0wRTU5MEVEMC0wRUQ5MEYyMC0wRjMzMTA0MC0xMDQ5MTA5MC0xMDk5MTM2OS0xMzdDMTZFRS0xNkYwMTdFMC0xN0U5MTdGMC0xN0Y5MTgxMC0xODE5MTk0Ni0xOTRGMTlEMC0xOURBMUE4MC0xQTg5MUE5MC0xQTk5MUI1MC0xQjU5MUJCMC0xQkI5MUM0MC0xQzQ5MUM1MC0xQzU5MjA3MDIwNzQtMjA3OTIwODAtMjA4OTIxNTAtMjE4MjIxODUtMjE4OTI0NjAtMjQ5QjI0RUEtMjRGRjI3NzYtMjc5MzJDRkQzMDA3MzAyMS0zMDI5MzAzOC0zMDNBMzE5Mi0zMTk1MzIyMC0zMjI5MzI1MS0zMjVGMzI4MC0zMjg5MzJCMS0zMkJGQTYyMC1BNjI5QTZFNi1BNkVGQTgzMC1BODM1QThEMC1BOEQ5QTkwMC1BOTA5QTlEMC1BOUQ5QUE1MC1BQTU5QUJGMC1BQkY5RkYxMC1GRjE5IixOZDoiMDAzMC0wMDM5MDY2MC0wNjY5MDZGMC0wNkY5MDdDMC0wN0M5MDk2Ni0wOTZGMDlFNi0wOUVGMEE2Ni0wQTZGMEFFNi0wQUVGMEI2Ni0wQjZGMEJFNi0wQkVGMEM2Ni0wQzZGMENFNi0wQ0VGMEQ2Ni0wRDZGMEU1MC0wRTU5MEVEMC0wRUQ5MEYyMC0wRjI5MTA0MC0xMDQ5MTA5MC0xMDk5MTdFMC0xN0U5MTgxMC0xODE5MTk0Ni0xOTRGMTlEMC0xOURBMUE4MC0xQTg5MUE5MC0xQTk5MUI1MC0xQjU5MUJCMC0xQkI5MUM0MC0xQzQ5MUM1MC0xQzU5QTYyMC1BNjI5QThEMC1BOEQ5QTkwMC1BOTA5QTlEMC1BOUQ5QUE1MC1BQTU5QUJGMC1BQkY5RkYxMC1GRjE5IixObDoiMTZFRS0xNkYwMjE2MC0yMTgyMjE4NS0yMTg4MzAwNzMwMjEtMzAyOTMwMzgtMzAzQUE2RTYtQTZFRiIsTm86IjAwQjIwMEIzMDBCOTAwQkMtMDBCRTA5RjQtMDlGOTBCRjAtMEJGMjBDNzgtMEM3RTBENzAtMEQ3NTBGMkEtMEYzMzEzNjktMTM3QzE3RjAtMTdGOTIwNzAyMDc0LTIwNzkyMDgwLTIwODkyMTUwLTIxNUYyMTg5MjQ2MC0yNDlCMjRFQS0yNEZGMjc3Ni0yNzkzMkNGRDMxOTItMzE5NTMyMjAtMzIyOTMyNTEtMzI1RjMyODAtMzI4OTMyQjEtMzJCRkE4MzAtQTgzNSIsUDoiMDAyMS0wMDIzMDAyNS0wMDJBMDAyQy0wMDJGMDAzQTAwM0IwMDNGMDA0MDAwNUItMDA1RDAwNUYwMDdCMDA3RDAwQTEwMEFCMDBCNzAwQkIwMEJGMDM3RTAzODcwNTVBLTA1NUYwNTg5MDU4QTA1QkUwNUMwMDVDMzA1QzYwNUYzMDVGNDA2MDkwNjBBMDYwQzA2MEQwNjFCMDYxRTA2MUYwNjZBLTA2NkQwNkQ0MDcwMC0wNzBEMDdGNy0wN0Y5MDgzMC0wODNFMDk2NDA5NjUwOTcwMERGNDBFNEYwRTVBMEU1QjBGMDQtMEYxMjBGM0EtMEYzRDBGODUwRkQwLTBGRDQxMDRBLTEwNEYxMEZCMTM2MS0xMzY4MTQwMDE2NkQxNjZFMTY5QjE2OUMxNkVCLTE2RUQxNzM1MTczNjE3RDQtMTdENjE3RDgtMTdEQTE4MDAtMTgwQTE5NDQxOTQ1MTlERTE5REYxQTFFMUExRjFBQTAtMUFBNjFBQTgtMUFBRDFCNUEtMUI2MDFDM0ItMUMzRjFDN0UxQzdGMUNEMzIwMTAtMjAyNzIwMzAtMjA0MzIwNDUtMjA1MTIwNTMtMjA1RTIwN0QyMDdFMjA4RDIwOEUyMzI5MjMyQTI3NjgtMjc3NTI3QzUyN0M2MjdFNi0yN0VGMjk4My0yOTk4MjlEOC0yOURCMjlGQzI5RkQyQ0Y5LTJDRkMyQ0ZFMkNGRjJFMDAtMkUyRTJFMzAyRTMxMzAwMS0zMDAzMzAwOC0zMDExMzAxNC0zMDFGMzAzMDMwM0QzMEEwMzBGQkE0RkVBNEZGQTYwRC1BNjBGQTY3M0E2N0VBNkYyLUE2RjdBODc0LUE4NzdBOENFQThDRkE4RjgtQThGQUE5MkVBOTJGQTk1RkE5QzEtQTlDREE5REVBOURGQUE1Qy1BQTVGQUFERUFBREZBQkVCRkQzRUZEM0ZGRTEwLUZFMTlGRTMwLUZFNTJGRTU0LUZFNjFGRTYzRkU2OEZFNkFGRTZCRkYwMS1GRjAzRkYwNS1GRjBBRkYwQy1GRjBGRkYxQUZGMUJGRjFGRkYyMEZGM0ItRkYzREZGM0ZGRjVCRkY1REZGNUYtRkY2NSIsUGQ6IjAwMkQwNThBMDVCRTE0MDAxODA2MjAxMC0yMDE1MkUxNzJFMUEzMDFDMzAzMDMwQTBGRTMxRkUzMkZFNThGRTYzRkYwRCIsUHM6IjAwMjgwMDVCMDA3QjBGM0EwRjNDMTY5QjIwMUEyMDFFMjA0NTIwN0QyMDhEMjMyOTI3NjgyNzZBMjc2QzI3NkUyNzcwMjc3MjI3NzQyN0M1MjdFNjI3RTgyN0VBMjdFQzI3RUUyOTgzMjk4NTI5ODcyOTg5Mjk4QjI5OEQyOThGMjk5MTI5OTMyOTk1Mjk5NzI5RDgyOURBMjlGQzJFMjIyRTI0MkUyNjJFMjgzMDA4MzAwQTMwMEMzMDBFMzAxMDMwMTQzMDE2MzAxODMwMUEzMDFERkQzRUZFMTdGRTM1RkUzN0ZFMzlGRTNCRkUzREZFM0ZGRTQxRkU0M0ZFNDdGRTU5RkU1QkZFNURGRjA4RkYzQkZGNUJGRjVGRkY2MiIsUGU6IjAwMjkwMDVEMDA3RDBGM0IwRjNEMTY5QzIwNDYyMDdFMjA4RTIzMkEyNzY5Mjc2QjI3NkQyNzZGMjc3MTI3NzMyNzc1MjdDNjI3RTcyN0U5MjdFQjI3RUQyN0VGMjk4NDI5ODYyOTg4Mjk4QTI5OEMyOThFMjk5MDI5OTIyOTk0Mjk5NjI5OTgyOUQ5MjlEQjI5RkQyRTIzMkUyNTJFMjcyRTI5MzAwOTMwMEIzMDBEMzAwRjMwMTEzMDE1MzAxNzMwMTkzMDFCMzAxRTMwMUZGRDNGRkUxOEZFMzZGRTM4RkUzQUZFM0NGRTNFRkU0MEZFNDJGRTQ0RkU0OEZFNUFGRTVDRkU1RUZGMDlGRjNERkY1REZGNjBGRjYzIixQaToiMDBBQjIwMTgyMDFCMjAxQzIwMUYyMDM5MkUwMjJFMDQyRTA5MkUwQzJFMUMyRTIwIixQZjoiMDBCQjIwMTkyMDFEMjAzQTJFMDMyRTA1MkUwQTJFMEQyRTFEMkUyMSIsUGM6IjAwNUYyMDNGMjA0MDIwNTRGRTMzRkUzNEZFNEQtRkU0RkZGM0YiLFBvOiIwMDIxLTAwMjMwMDI1LTAwMjcwMDJBMDAyQzAwMkUwMDJGMDAzQTAwM0IwMDNGMDA0MDAwNUMwMEExMDBCNzAwQkYwMzdFMDM4NzA1NUEtMDU1RjA1ODkwNUMwMDVDMzA1QzYwNUYzMDVGNDA2MDkwNjBBMDYwQzA2MEQwNjFCMDYxRTA2MUYwNjZBLTA2NkQwNkQ0MDcwMC0wNzBEMDdGNy0wN0Y5MDgzMC0wODNFMDk2NDA5NjUwOTcwMERGNDBFNEYwRTVBMEU1QjBGMDQtMEYxMjBGODUwRkQwLTBGRDQxMDRBLTEwNEYxMEZCMTM2MS0xMzY4MTY2RDE2NkUxNkVCLTE2RUQxNzM1MTczNjE3RDQtMTdENjE3RDgtMTdEQTE4MDAtMTgwNTE4MDctMTgwQTE5NDQxOTQ1MTlERTE5REYxQTFFMUExRjFBQTAtMUFBNjFBQTgtMUFBRDFCNUEtMUI2MDFDM0ItMUMzRjFDN0UxQzdGMUNEMzIwMTYyMDE3MjAyMC0yMDI3MjAzMC0yMDM4MjAzQi0yMDNFMjA0MS0yMDQzMjA0Ny0yMDUxMjA1MzIwNTUtMjA1RTJDRjktMkNGQzJDRkUyQ0ZGMkUwMDJFMDEyRTA2LTJFMDgyRTBCMkUwRS0yRTE2MkUxODJFMTkyRTFCMkUxRTJFMUYyRTJBLTJFMkUyRTMwMkUzMTMwMDEtMzAwMzMwM0QzMEZCQTRGRUE0RkZBNjBELUE2MEZBNjczQTY3RUE2RjItQTZGN0E4NzQtQTg3N0E4Q0VBOENGQThGOC1BOEZBQTkyRUE5MkZBOTVGQTlDMS1BOUNEQTlERUE5REZBQTVDLUFBNUZBQURFQUFERkFCRUJGRTEwLUZFMTZGRTE5RkUzMEZFNDVGRTQ2RkU0OS1GRTRDRkU1MC1GRTUyRkU1NC1GRTU3RkU1Ri1GRTYxRkU2OEZFNkFGRTZCRkYwMS1GRjAzRkYwNS1GRjA3RkYwQUZGMENGRjBFRkYwRkZGMUFGRjFCRkYxRkZGMjBGRjNDRkY2MUZGNjRGRjY1IixTOiIwMDI0MDAyQjAwM0MtMDAzRTAwNUUwMDYwMDA3QzAwN0UwMEEyLTAwQTkwMEFDMDBBRS0wMEIxMDBCNDAwQjYwMEI4MDBENzAwRjcwMkMyLTAyQzUwMkQyLTAyREYwMkU1LTAyRUIwMkVEMDJFRi0wMkZGMDM3NTAzODQwMzg1MDNGNjA0ODIwNjA2LTA2MDgwNjBCMDYwRTA2MEYwNkU5MDZGRDA2RkUwN0Y2MDlGMjA5RjMwOUZBMDlGQjBBRjEwQjcwMEJGMy0wQkZBMEM3RjBDRjEwQ0YyMEQ3OTBFM0YwRjAxLTBGMDMwRjEzLTBGMTcwRjFBLTBGMUYwRjM0MEYzNjBGMzgwRkJFLTBGQzUwRkM3LTBGQ0MwRkNFMEZDRjBGRDUtMEZEODEwOUUxMDlGMTM2MDEzOTAtMTM5OTE3REIxOTQwMTlFMC0xOUZGMUI2MS0xQjZBMUI3NC0xQjdDMUZCRDFGQkYtMUZDMTFGQ0QtMUZDRjFGREQtMUZERjFGRUQtMUZFRjFGRkQxRkZFMjA0NDIwNTIyMDdBLTIwN0MyMDhBLTIwOEMyMEEwLTIwQjgyMTAwMjEwMTIxMDMtMjEwNjIxMDgyMTA5MjExNDIxMTYtMjExODIxMUUtMjEyMzIxMjUyMTI3MjEyOTIxMkUyMTNBMjEzQjIxNDAtMjE0NDIxNEEtMjE0RDIxNEYyMTkwLTIzMjgyMzJCLTIzRTgyNDAwLTI0MjYyNDQwLTI0NEEyNDlDLTI0RTkyNTAwLTI2Q0QyNkNGLTI2RTEyNkUzMjZFOC0yNkZGMjcwMS0yNzA0MjcwNi0yNzA5MjcwQy0yNzI3MjcyOS0yNzRCMjc0RDI3NEYtMjc1MjI3NTYtMjc1RTI3NjEtMjc2NzI3OTQyNzk4LTI3QUYyN0IxLTI3QkUyN0MwLTI3QzQyN0M3LTI3Q0EyN0NDMjdEMC0yN0U1MjdGMC0yOTgyMjk5OS0yOUQ3MjlEQy0yOUZCMjlGRS0yQjRDMkI1MC0yQjU5MkNFNS0yQ0VBMkU4MC0yRTk5MkU5Qi0yRUYzMkYwMC0yRkQ1MkZGMC0yRkZCMzAwNDMwMTIzMDEzMzAyMDMwMzYzMDM3MzAzRTMwM0YzMDlCMzA5QzMxOTAzMTkxMzE5Ni0zMTlGMzFDMC0zMUUzMzIwMC0zMjFFMzIyQS0zMjUwMzI2MC0zMjdGMzI4QS0zMkIwMzJDMC0zMkZFMzMwMC0zM0ZGNERDMC00REZGQTQ5MC1BNEM2QTcwMC1BNzE2QTcyMEE3MjFBNzg5QTc4QUE4MjgtQTgyQkE4MzYtQTgzOUFBNzctQUE3OUZCMjlGREZDRkRGREZFNjJGRTY0LUZFNjZGRTY5RkYwNEZGMEJGRjFDLUZGMUVGRjNFRkY0MEZGNUNGRjVFRkZFMC1GRkU2RkZFOC1GRkVFRkZGQ0ZGRkQiLFNtOiIwMDJCMDAzQy0wMDNFMDA3QzAwN0UwMEFDMDBCMTAwRDcwMEY3MDNGNjA2MDYtMDYwODIwNDQyMDUyMjA3QS0yMDdDMjA4QS0yMDhDMjE0MC0yMTQ0MjE0QjIxOTAtMjE5NDIxOUEyMTlCMjFBMDIxQTMyMUE2MjFBRTIxQ0UyMUNGMjFEMjIxRDQyMUY0LTIyRkYyMzA4LTIzMEIyMzIwMjMyMTIzN0MyMzlCLTIzQjMyM0RDLTIzRTEyNUI3MjVDMTI1RjgtMjVGRjI2NkYyN0MwLTI3QzQyN0M3LTI3Q0EyN0NDMjdEMC0yN0U1MjdGMC0yN0ZGMjkwMC0yOTgyMjk5OS0yOUQ3MjlEQy0yOUZCMjlGRS0yQUZGMkIzMC0yQjQ0MkI0Ny0yQjRDRkIyOUZFNjJGRTY0LUZFNjZGRjBCRkYxQy1GRjFFRkY1Q0ZGNUVGRkUyRkZFOS1GRkVDIixTYzoiMDAyNDAwQTItMDBBNTA2MEIwOUYyMDlGMzA5RkIwQUYxMEJGOTBFM0YxN0RCMjBBMC0yMEI4QTgzOEZERkNGRTY5RkYwNEZGRTBGRkUxRkZFNUZGRTYiLFNrOiIwMDVFMDA2MDAwQTgwMEFGMDBCNDAwQjgwMkMyLTAyQzUwMkQyLTAyREYwMkU1LTAyRUIwMkVEMDJFRi0wMkZGMDM3NTAzODQwMzg1MUZCRDFGQkYtMUZDMTFGQ0QtMUZDRjFGREQtMUZERjFGRUQtMUZFRjFGRkQxRkZFMzA5QjMwOUNBNzAwLUE3MTZBNzIwQTcyMUE3ODlBNzhBRkYzRUZGNDBGRkUzIixTbzoiMDBBNjAwQTcwMEE5MDBBRTAwQjAwMEI2MDQ4MjA2MEUwNjBGMDZFOTA2RkQwNkZFMDdGNjA5RkEwQjcwMEJGMy0wQkY4MEJGQTBDN0YwQ0YxMENGMjBENzkwRjAxLTBGMDMwRjEzLTBGMTcwRjFBLTBGMUYwRjM0MEYzNjBGMzgwRkJFLTBGQzUwRkM3LTBGQ0MwRkNFMEZDRjBGRDUtMEZEODEwOUUxMDlGMTM2MDEzOTAtMTM5OTE5NDAxOUUwLTE5RkYxQjYxLTFCNkExQjc0LTFCN0MyMTAwMjEwMTIxMDMtMjEwNjIxMDgyMTA5MjExNDIxMTYtMjExODIxMUUtMjEyMzIxMjUyMTI3MjEyOTIxMkUyMTNBMjEzQjIxNEEyMTRDMjE0RDIxNEYyMTk1LTIxOTkyMTlDLTIxOUYyMUExMjFBMjIxQTQyMUE1MjFBNy0yMUFEMjFBRi0yMUNEMjFEMDIxRDEyMUQzMjFENS0yMUYzMjMwMC0yMzA3MjMwQy0yMzFGMjMyMi0yMzI4MjMyQi0yMzdCMjM3RC0yMzlBMjNCNC0yM0RCMjNFMi0yM0U4MjQwMC0yNDI2MjQ0MC0yNDRBMjQ5Qy0yNEU5MjUwMC0yNUI2MjVCOC0yNUMwMjVDMi0yNUY3MjYwMC0yNjZFMjY3MC0yNkNEMjZDRi0yNkUxMjZFMzI2RTgtMjZGRjI3MDEtMjcwNDI3MDYtMjcwOTI3MEMtMjcyNzI3MjktMjc0QjI3NEQyNzRGLTI3NTIyNzU2LTI3NUUyNzYxLTI3NjcyNzk0Mjc5OC0yN0FGMjdCMS0yN0JFMjgwMC0yOEZGMkIwMC0yQjJGMkI0NTJCNDYyQjUwLTJCNTkyQ0U1LTJDRUEyRTgwLTJFOTkyRTlCLTJFRjMyRjAwLTJGRDUyRkYwLTJGRkIzMDA0MzAxMjMwMTMzMDIwMzAzNjMwMzczMDNFMzAzRjMxOTAzMTkxMzE5Ni0zMTlGMzFDMC0zMUUzMzIwMC0zMjFFMzIyQS0zMjUwMzI2MC0zMjdGMzI4QS0zMkIwMzJDMC0zMkZFMzMwMC0zM0ZGNERDMC00REZGQTQ5MC1BNEM2QTgyOC1BODJCQTgzNkE4MzdBODM5QUE3Ny1BQTc5RkRGREZGRTRGRkU4RkZFREZGRUVGRkZDRkZGRCIsWjoiMDAyMDAwQTAxNjgwMTgwRTIwMDAtMjAwQTIwMjgyMDI5MjAyRjIwNUYzMDAwIixaczoiMDAyMDAwQTAxNjgwMTgwRTIwMDAtMjAwQTIwMkYyMDVGMzAwMCIsWmw6IjIwMjgiLFpwOiIyMDI5IixDOiIwMDAwLTAwMUYwMDdGLTAwOUYwMEFEMDM3ODAzNzkwMzdGLTAzODMwMzhCMDM4RDAzQTIwNTI2LTA1MzAwNTU3MDU1ODA1NjAwNTg4MDU4Qi0wNTkwMDVDOC0wNUNGMDVFQi0wNUVGMDVGNS0wNjA1MDYxQzA2MUQwNjIwMDY1RjA2REQwNzBFMDcwRjA3NEIwNzRDMDdCMi0wN0JGMDdGQi0wN0ZGMDgyRTA4MkYwODNGLTA4RkYwOTNBMDkzQjA5NEYwOTU2MDk1NzA5NzMtMDk3ODA5ODAwOTg0MDk4RDA5OEUwOTkxMDk5MjA5QTkwOUIxMDlCMy0wOUI1MDlCQTA5QkIwOUM1MDlDNjA5QzkwOUNBMDlDRi0wOUQ2MDlEOC0wOURCMDlERTA5RTQwOUU1MDlGQy0wQTAwMEEwNDBBMEItMEEwRTBBMTEwQTEyMEEyOTBBMzEwQTM0MEEzNzBBM0EwQTNCMEEzRDBBNDMtMEE0NjBBNDkwQTRBMEE0RS0wQTUwMEE1Mi0wQTU4MEE1RDBBNUYtMEE2NTBBNzYtMEE4MDBBODQwQThFMEE5MjBBQTkwQUIxMEFCNDBBQkEwQUJCMEFDNjBBQ0EwQUNFMEFDRjBBRDEtMEFERjBBRTQwQUU1MEFGMDBBRjItMEIwMDBCMDQwQjBEMEIwRTBCMTEwQjEyMEIyOTBCMzEwQjM0MEIzQTBCM0IwQjQ1MEI0NjBCNDkwQjRBMEI0RS0wQjU1MEI1OC0wQjVCMEI1RTBCNjQwQjY1MEI3Mi0wQjgxMEI4NDBCOEItMEI4RDBCOTEwQjk2LTBCOTgwQjlCMEI5RDBCQTAtMEJBMjBCQTUtMEJBNzBCQUItMEJBRDBCQkEtMEJCRDBCQzMtMEJDNTBCQzkwQkNFMEJDRjBCRDEtMEJENjBCRDgtMEJFNTBCRkItMEMwMDBDMDQwQzBEMEMxMTBDMjkwQzM0MEMzQS0wQzNDMEM0NTBDNDkwQzRFLTBDNTQwQzU3MEM1QS0wQzVGMEM2NDBDNjUwQzcwLTBDNzcwQzgwMEM4MTBDODQwQzhEMEM5MTBDQTkwQ0I0MENCQTBDQkIwQ0M1MENDOTBDQ0UtMENENDBDRDctMENERDBDREYwQ0U0MENFNTBDRjAwQ0YzLTBEMDEwRDA0MEQwRDBEMTEwRDI5MEQzQS0wRDNDMEQ0NTBENDkwRDRFLTBENTYwRDU4LTBENUYwRDY0MEQ2NTBENzYtMEQ3ODBEODAwRDgxMEQ4NDBEOTctMEQ5OTBEQjIwREJDMERCRTBEQkYwREM3LTBEQzkwRENCLTBEQ0UwREQ1MERENzBERTAtMERGMTBERjUtMEUwMDBFM0ItMEUzRTBFNUMtMEU4MDBFODMwRTg1MEU4NjBFODkwRThCMEU4QzBFOEUtMEU5MzBFOTgwRUEwMEVBNDBFQTYwRUE4MEVBOTBFQUMwRUJBMEVCRTBFQkYwRUM1MEVDNzBFQ0UwRUNGMEVEQTBFREIwRURFLTBFRkYwRjQ4MEY2RC0wRjcwMEY4Qy0wRjhGMEY5ODBGQkQwRkNEMEZEOS0wRkZGMTBDNi0xMENGMTBGRC0xMEZGMTI0OTEyNEUxMjRGMTI1NzEyNTkxMjVFMTI1RjEyODkxMjhFMTI4RjEyQjExMkI2MTJCNzEyQkYxMkMxMTJDNjEyQzcxMkQ3MTMxMTEzMTYxMzE3MTM1Qi0xMzVFMTM3RC0xMzdGMTM5QS0xMzlGMTNGNS0xM0ZGMTY5RC0xNjlGMTZGMS0xNkZGMTcwRDE3MTUtMTcxRjE3MzctMTczRjE3NTQtMTc1RjE3NkQxNzcxMTc3NC0xNzdGMTdCNDE3QjUxN0RFMTdERjE3RUEtMTdFRjE3RkEtMTdGRjE4MEYxODFBLTE4MUYxODc4LTE4N0YxOEFCLTE4QUYxOEY2LTE4RkYxOTFELTE5MUYxOTJDLTE5MkYxOTNDLTE5M0YxOTQxLTE5NDMxOTZFMTk2RjE5NzUtMTk3RjE5QUMtMTlBRjE5Q0EtMTlDRjE5REItMTlERDFBMUMxQTFEMUE1RjFBN0QxQTdFMUE4QS0xQThGMUE5QS0xQTlGMUFBRS0xQUZGMUI0Qy0xQjRGMUI3RC0xQjdGMUJBQi0xQkFEMUJCQS0xQkZGMUMzOC0xQzNBMUM0QS0xQzRDMUM4MC0xQ0NGMUNGMy0xQ0ZGMURFNy0xREZDMUYxNjFGMTcxRjFFMUYxRjFGNDYxRjQ3MUY0RTFGNEYxRjU4MUY1QTFGNUMxRjVFMUY3RTFGN0YxRkI1MUZDNTFGRDQxRkQ1MUZEQzFGRjAxRkYxMUZGNTFGRkYyMDBCLTIwMEYyMDJBLTIwMkUyMDYwLTIwNkYyMDcyMjA3MzIwOEYyMDk1LTIwOUYyMEI5LTIwQ0YyMEYxLTIwRkYyMThBLTIxOEYyM0U5LTIzRkYyNDI3LTI0M0YyNDRCLTI0NUYyNkNFMjZFMjI2RTQtMjZFNzI3MDAyNzA1MjcwQTI3MEIyNzI4Mjc0QzI3NEUyNzUzLTI3NTUyNzVGMjc2MDI3OTUtMjc5NzI3QjAyN0JGMjdDQjI3Q0QtMjdDRjJCNEQtMkI0RjJCNUEtMkJGRjJDMkYyQzVGMkNGMi0yQ0Y4MkQyNi0yRDJGMkQ2Ni0yRDZFMkQ3MC0yRDdGMkQ5Ny0yRDlGMkRBNzJEQUYyREI3MkRCRjJEQzcyRENGMkRENzJEREYyRTMyLTJFN0YyRTlBMkVGNC0yRUZGMkZENi0yRkVGMkZGQy0yRkZGMzA0MDMwOTczMDk4MzEwMC0zMTA0MzEyRS0zMTMwMzE4RjMxQjgtMzFCRjMxRTQtMzFFRjMyMUYzMkZGNERCNi00REJGOUZDQy05RkZGQTQ4RC1BNDhGQTRDNy1BNENGQTYyQy1BNjNGQTY2MEE2NjFBNjc0LUE2N0JBNjk4LUE2OUZBNkY4LUE2RkZBNzhELUE3RkFBODJDLUE4MkZBODNBLUE4M0ZBODc4LUE4N0ZBOEM1LUE4Q0RBOERBLUE4REZBOEZDLUE4RkZBOTU0LUE5NUVBOTdELUE5N0ZBOUNFQTlEQS1BOUREQTlFMC1BOUZGQUEzNy1BQTNGQUE0RUFBNEZBQTVBQUE1QkFBN0MtQUE3RkFBQzMtQUFEQUFBRTAtQUJCRkFCRUVBQkVGQUJGQS1BQkZGRDdBNC1EN0FGRDdDNy1EN0NBRDdGQy1GOEZGRkEyRUZBMkZGQTZFRkE2RkZBREEtRkFGRkZCMDctRkIxMkZCMTgtRkIxQ0ZCMzdGQjNERkIzRkZCNDJGQjQ1RkJCMi1GQkQyRkQ0MC1GRDRGRkQ5MEZEOTFGREM4LUZERUZGREZFRkRGRkZFMUEtRkUxRkZFMjctRkUyRkZFNTNGRTY3RkU2Qy1GRTZGRkU3NUZFRkQtRkYwMEZGQkYtRkZDMUZGQzhGRkM5RkZEMEZGRDFGRkQ4RkZEOUZGREQtRkZERkZGRTdGRkVGLUZGRkJGRkZFRkZGRiIsQ2M6IjAwMDAtMDAxRjAwN0YtMDA5RiIsQ2Y6IjAwQUQwNjAwLTA2MDMwNkREMDcwRjE3QjQxN0I1MjAwQi0yMDBGMjAyQS0yMDJFMjA2MC0yMDY0MjA2QS0yMDZGRkVGRkZGRjktRkZGQiIsQ286IkUwMDAtRjhGRiIsQ3M6IkQ4MDAtREZGRiIsQ246IjAzNzgwMzc5MDM3Ri0wMzgzMDM4QjAzOEQwM0EyMDUyNi0wNTMwMDU1NzA1NTgwNTYwMDU4ODA1OEItMDU5MDA1QzgtMDVDRjA1RUItMDVFRjA1RjUtMDVGRjA2MDQwNjA1MDYxQzA2MUQwNjIwMDY1RjA3MEUwNzRCMDc0QzA3QjItMDdCRjA3RkItMDdGRjA4MkUwODJGMDgzRi0wOEZGMDkzQTA5M0IwOTRGMDk1NjA5NTcwOTczLTA5NzgwOTgwMDk4NDA5OEQwOThFMDk5MTA5OTIwOUE5MDlCMTA5QjMtMDlCNTA5QkEwOUJCMDlDNTA5QzYwOUM5MDlDQTA5Q0YtMDlENjA5RDgtMDlEQjA5REUwOUU0MDlFNTA5RkMtMEEwMDBBMDQwQTBCLTBBMEUwQTExMEExMjBBMjkwQTMxMEEzNDBBMzcwQTNBMEEzQjBBM0QwQTQzLTBBNDYwQTQ5MEE0QTBBNEUtMEE1MDBBNTItMEE1ODBBNUQwQTVGLTBBNjUwQTc2LTBBODAwQTg0MEE4RTBBOTIwQUE5MEFCMTBBQjQwQUJBMEFCQjBBQzYwQUNBMEFDRTBBQ0YwQUQxLTBBREYwQUU0MEFFNTBBRjAwQUYyLTBCMDAwQjA0MEIwRDBCMEUwQjExMEIxMjBCMjkwQjMxMEIzNDBCM0EwQjNCMEI0NTBCNDYwQjQ5MEI0QTBCNEUtMEI1NTBCNTgtMEI1QjBCNUUwQjY0MEI2NTBCNzItMEI4MTBCODQwQjhCLTBCOEQwQjkxMEI5Ni0wQjk4MEI5QjBCOUQwQkEwLTBCQTIwQkE1LTBCQTcwQkFCLTBCQUQwQkJBLTBCQkQwQkMzLTBCQzUwQkM5MEJDRTBCQ0YwQkQxLTBCRDYwQkQ4LTBCRTUwQkZCLTBDMDAwQzA0MEMwRDBDMTEwQzI5MEMzNDBDM0EtMEMzQzBDNDUwQzQ5MEM0RS0wQzU0MEM1NzBDNUEtMEM1RjBDNjQwQzY1MEM3MC0wQzc3MEM4MDBDODEwQzg0MEM4RDBDOTEwQ0E5MENCNDBDQkEwQ0JCMENDNTBDQzkwQ0NFLTBDRDQwQ0Q3LTBDREQwQ0RGMENFNDBDRTUwQ0YwMENGMy0wRDAxMEQwNDBEMEQwRDExMEQyOTBEM0EtMEQzQzBENDUwRDQ5MEQ0RS0wRDU2MEQ1OC0wRDVGMEQ2NDBENjUwRDc2LTBENzgwRDgwMEQ4MTBEODQwRDk3LTBEOTkwREIyMERCQzBEQkUwREJGMERDNy0wREM5MERDQi0wRENFMERENTBERDcwREUwLTBERjEwREY1LTBFMDAwRTNCLTBFM0UwRTVDLTBFODAwRTgzMEU4NTBFODYwRTg5MEU4QjBFOEMwRThFLTBFOTMwRTk4MEVBMDBFQTQwRUE2MEVBODBFQTkwRUFDMEVCQTBFQkUwRUJGMEVDNTBFQzcwRUNFMEVDRjBFREEwRURCMEVERS0wRUZGMEY0ODBGNkQtMEY3MDBGOEMtMEY4RjBGOTgwRkJEMEZDRDBGRDktMEZGRjEwQzYtMTBDRjEwRkQtMTBGRjEyNDkxMjRFMTI0RjEyNTcxMjU5MTI1RTEyNUYxMjg5MTI4RTEyOEYxMkIxMTJCNjEyQjcxMkJGMTJDMTEyQzYxMkM3MTJENzEzMTExMzE2MTMxNzEzNUItMTM1RTEzN0QtMTM3RjEzOUEtMTM5RjEzRjUtMTNGRjE2OUQtMTY5RjE2RjEtMTZGRjE3MEQxNzE1LTE3MUYxNzM3LTE3M0YxNzU0LTE3NUYxNzZEMTc3MTE3NzQtMTc3RjE3REUxN0RGMTdFQS0xN0VGMTdGQS0xN0ZGMTgwRjE4MUEtMTgxRjE4NzgtMTg3RjE4QUItMThBRjE4RjYtMThGRjE5MUQtMTkxRjE5MkMtMTkyRjE5M0MtMTkzRjE5NDEtMTk0MzE5NkUxOTZGMTk3NS0xOTdGMTlBQy0xOUFGMTlDQS0xOUNGMTlEQi0xOUREMUExQzFBMUQxQTVGMUE3RDFBN0UxQThBLTFBOEYxQTlBLTFBOUYxQUFFLTFBRkYxQjRDLTFCNEYxQjdELTFCN0YxQkFCLTFCQUQxQkJBLTFCRkYxQzM4LTFDM0ExQzRBLTFDNEMxQzgwLTFDQ0YxQ0YzLTFDRkYxREU3LTFERkMxRjE2MUYxNzFGMUUxRjFGMUY0NjFGNDcxRjRFMUY0RjFGNTgxRjVBMUY1QzFGNUUxRjdFMUY3RjFGQjUxRkM1MUZENDFGRDUxRkRDMUZGMDFGRjExRkY1MUZGRjIwNjUtMjA2OTIwNzIyMDczMjA4RjIwOTUtMjA5RjIwQjktMjBDRjIwRjEtMjBGRjIxOEEtMjE4RjIzRTktMjNGRjI0MjctMjQzRjI0NEItMjQ1RjI2Q0UyNkUyMjZFNC0yNkU3MjcwMDI3MDUyNzBBMjcwQjI3MjgyNzRDMjc0RTI3NTMtMjc1NTI3NUYyNzYwMjc5NS0yNzk3MjdCMDI3QkYyN0NCMjdDRC0yN0NGMkI0RC0yQjRGMkI1QS0yQkZGMkMyRjJDNUYyQ0YyLTJDRjgyRDI2LTJEMkYyRDY2LTJENkUyRDcwLTJEN0YyRDk3LTJEOUYyREE3MkRBRjJEQjcyREJGMkRDNzJEQ0YyREQ3MkRERjJFMzItMkU3RjJFOUEyRUY0LTJFRkYyRkQ2LTJGRUYyRkZDLTJGRkYzMDQwMzA5NzMwOTgzMTAwLTMxMDQzMTJFLTMxMzAzMThGMzFCOC0zMUJGMzFFNC0zMUVGMzIxRjMyRkY0REI2LTREQkY5RkNDLTlGRkZBNDhELUE0OEZBNEM3LUE0Q0ZBNjJDLUE2M0ZBNjYwQTY2MUE2NzQtQTY3QkE2OTgtQTY5RkE2RjgtQTZGRkE3OEQtQTdGQUE4MkMtQTgyRkE4M0EtQTgzRkE4NzgtQTg3RkE4QzUtQThDREE4REEtQThERkE4RkMtQThGRkE5NTQtQTk1RUE5N0QtQTk3RkE5Q0VBOURBLUE5RERBOUUwLUE5RkZBQTM3LUFBM0ZBQTRFQUE0RkFBNUFBQTVCQUE3Qy1BQTdGQUFDMy1BQURBQUFFMC1BQkJGQUJFRUFCRUZBQkZBLUFCRkZEN0E0LUQ3QUZEN0M3LUQ3Q0FEN0ZDLUQ3RkZGQTJFRkEyRkZBNkVGQTZGRkFEQS1GQUZGRkIwNy1GQjEyRkIxOC1GQjFDRkIzN0ZCM0RGQjNGRkI0MkZCNDVGQkIyLUZCRDJGRDQwLUZENEZGRDkwRkQ5MUZEQzgtRkRFRkZERkVGREZGRkUxQS1GRTFGRkUyNy1GRTJGRkU1M0ZFNjdGRTZDLUZFNkZGRTc1RkVGREZFRkVGRjAwRkZCRi1GRkMxRkZDOEZGQzlGRkQwRkZEMUZGRDhGRkQ5RkZERC1GRkRGRkZFN0ZGRUYtRkZGOEZGRkVGRkZGIn0pfSksYWNlLmRlZmluZSgiYWNlL3Rva2VuX2l0ZXJhdG9yIixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIl0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1mdW5jdGlvbihlLHQsaSl7dGhpcy4kc2Vzc2lvbj1lLHRoaXMuJHJvdz10LHRoaXMuJHJvd1Rva2Vucz1lLmdldFRva2Vucyh0KTt2YXIgbj1lLmdldFRva2VuQXQodCxpKTt0aGlzLiR0b2tlbkluZGV4PW4/bi5pbmRleDotMX07KGZ1bmN0aW9uKCl7dGhpcy5zdGVwQmFja3dhcmQ9ZnVuY3Rpb24oKXtmb3IodGhpcy4kdG9rZW5JbmRleC09MTt0aGlzLiR0b2tlbkluZGV4PDA7KXtpZih0aGlzLiRyb3ctPTEsdGhpcy4kcm93PDApcmV0dXJuIHRoaXMuJHJvdz0wLG51bGw7dGhpcy4kcm93VG9rZW5zPXRoaXMuJHNlc3Npb24uZ2V0VG9rZW5zKHRoaXMuJHJvdyksdGhpcy4kdG9rZW5JbmRleD10aGlzLiRyb3dUb2tlbnMubGVuZ3RoLTF9cmV0dXJuIHRoaXMuJHJvd1Rva2Vuc1t0aGlzLiR0b2tlbkluZGV4XX0sdGhpcy5zdGVwRm9yd2FyZD1mdW5jdGlvbigpe3RoaXMuJHRva2VuSW5kZXgrPTE7Zm9yKHZhciBlO3RoaXMuJHRva2VuSW5kZXg+PXRoaXMuJHJvd1Rva2Vucy5sZW5ndGg7KXtpZih0aGlzLiRyb3crPTEsZXx8KGU9dGhpcy4kc2Vzc2lvbi5nZXRMZW5ndGgoKSksdGhpcy4kcm93Pj1lKXJldHVybiB0aGlzLiRyb3c9ZS0xLG51bGw7dGhpcy4kcm93VG9rZW5zPXRoaXMuJHNlc3Npb24uZ2V0VG9rZW5zKHRoaXMuJHJvdyksdGhpcy4kdG9rZW5JbmRleD0wfXJldHVybiB0aGlzLiRyb3dUb2tlbnNbdGhpcy4kdG9rZW5JbmRleF19LHRoaXMuZ2V0Q3VycmVudFRva2VuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJHJvd1Rva2Vuc1t0aGlzLiR0b2tlbkluZGV4XX0sdGhpcy5nZXRDdXJyZW50VG9rZW5Sb3c9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kcm93fSx0aGlzLmdldEN1cnJlbnRUb2tlbkNvbHVtbj1mdW5jdGlvbigpe3ZhciBlPXRoaXMuJHJvd1Rva2Vucyx0PXRoaXMuJHRva2VuSW5kZXgsaT1lW3RdLnN0YXJ0O2lmKHZvaWQgMCE9PWkpcmV0dXJuIGk7Zm9yKGk9MDt0PjA7KXQtPTEsaSs9ZVt0XS52YWx1ZS5sZW5ndGg7cmV0dXJuIGl9LHRoaXMuZ2V0Q3VycmVudFRva2VuUG9zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm57cm93OnRoaXMuJHJvdyxjb2x1bW46dGhpcy5nZXRDdXJyZW50VG9rZW5Db2x1bW4oKX19fSkuY2FsbChuLnByb3RvdHlwZSksdC5Ub2tlbkl0ZXJhdG9yPW59KSxhY2UuZGVmaW5lKCJhY2UvbW9kZS90ZXh0IixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIiwiYWNlL3Rva2VuaXplciIsImFjZS9tb2RlL3RleHRfaGlnaGxpZ2h0X3J1bGVzIiwiYWNlL21vZGUvYmVoYXZpb3VyIiwiYWNlL3VuaWNvZGUiLCJhY2UvbGliL2xhbmciLCJhY2UvdG9rZW5faXRlcmF0b3IiLCJhY2UvcmFuZ2UiXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWUoIi4uL3Rva2VuaXplciIpLlRva2VuaXplcixyPWUoIi4vdGV4dF9oaWdobGlnaHRfcnVsZXMiKS5UZXh0SGlnaGxpZ2h0UnVsZXMsbz1lKCIuL2JlaGF2aW91ciIpLkJlaGF2aW91cixzPWUoIi4uL3VuaWNvZGUiKSxhPWUoIi4uL2xpYi9sYW5nIiksbD1lKCIuLi90b2tlbl9pdGVyYXRvciIpLlRva2VuSXRlcmF0b3IsYz1lKCIuLi9yYW5nZSIpLlJhbmdlLGg9ZnVuY3Rpb24oKXt0aGlzLkhpZ2hsaWdodFJ1bGVzPXIsdGhpcy4kYmVoYXZpb3VyPW5ldyBvfTsoZnVuY3Rpb24oKXt0aGlzLnRva2VuUmU9bmV3IFJlZ0V4cCgiXlsiK3MucGFja2FnZXMuTCtzLnBhY2thZ2VzLk1uK3MucGFja2FnZXMuTWMrcy5wYWNrYWdlcy5OZCtzLnBhY2thZ2VzLlBjKyJcXCRfXSsiLCJnIiksdGhpcy5ub25Ub2tlblJlPW5ldyBSZWdFeHAoIl4oPzpbXiIrcy5wYWNrYWdlcy5MK3MucGFja2FnZXMuTW4rcy5wYWNrYWdlcy5NYytzLnBhY2thZ2VzLk5kK3MucGFja2FnZXMuUGMrIlxcJF9dfFxcc10pKyIsImciKSx0aGlzLmdldFRva2VuaXplcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLiR0b2tlbml6ZXJ8fCh0aGlzLiRoaWdobGlnaHRSdWxlcz10aGlzLiRoaWdobGlnaHRSdWxlc3x8bmV3IHRoaXMuSGlnaGxpZ2h0UnVsZXMsdGhpcy4kdG9rZW5pemVyPW5ldyBuKHRoaXMuJGhpZ2hsaWdodFJ1bGVzLmdldFJ1bGVzKCkpKSx0aGlzLiR0b2tlbml6ZXJ9LHRoaXMubGluZUNvbW1lbnRTdGFydD0iIix0aGlzLmJsb2NrQ29tbWVudD0iIix0aGlzLnRvZ2dsZUNvbW1lbnRMaW5lcz1mdW5jdGlvbihlLHQsaSxuKXtmdW5jdGlvbiByKGUpe2Zvcih2YXIgdD1pO24+PXQ7dCsrKWUoby5nZXRMaW5lKHQpLHQpfXZhciBvPXQuZG9jLHM9ITAsbD0hMCxjPTEvMCxoPXQuZ2V0VGFiU2l6ZSgpLGQ9ITE7aWYodGhpcy5saW5lQ29tbWVudFN0YXJ0KXtpZihBcnJheS5pc0FycmF5KHRoaXMubGluZUNvbW1lbnRTdGFydCkpdmFyIHU9dGhpcy5saW5lQ29tbWVudFN0YXJ0Lm1hcChhLmVzY2FwZVJlZ0V4cCkuam9pbigifCIpLGY9dGhpcy5saW5lQ29tbWVudFN0YXJ0WzBdO2Vsc2UgdmFyIHU9YS5lc2NhcGVSZWdFeHAodGhpcy5saW5lQ29tbWVudFN0YXJ0KSxmPXRoaXMubGluZUNvbW1lbnRTdGFydDt1PW5ldyBSZWdFeHAoIl4oXFxzKikoPzoiK3UrIikgPyIpLGQ9dC5nZXRVc2VTb2Z0VGFicygpO3ZhciBwPWZ1bmN0aW9uKGUsdCl7dmFyIGk9ZS5tYXRjaCh1KTtpZihpKXt2YXIgbj1pWzFdLmxlbmd0aCxyPWlbMF0ubGVuZ3RoO3coZSxuLHIpfHwiICIhPWlbMF1bci0xXXx8ci0tLG8ucmVtb3ZlSW5MaW5lKHQsbixyKX19LG09ZisiICIsZz1mdW5jdGlvbihlLHQpe3MmJiEvXFMvLnRlc3QoZSl8fCh3KGUsYyxjKT9vLmluc2VydEluTGluZSh7cm93OnQsY29sdW1uOmN9LG0pOm8uaW5zZXJ0SW5MaW5lKHtyb3c6dCxjb2x1bW46Y30sZikpfSx2PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHUudGVzdChlKX0sdz1mdW5jdGlvbihlLHQsaSl7Zm9yKHZhciBuPTA7dC0tJiYiICI9PWUuY2hhckF0KHQpOyluKys7aWYobiVoIT0wKXJldHVybiExO2Zvcih2YXIgbj0wOyIgIj09ZS5jaGFyQXQoaSsrKTspbisrO3JldHVybiBoPjI/biVoIT1oLTE6biVoPT0wfX1lbHNle2lmKCF0aGlzLmJsb2NrQ29tbWVudClyZXR1cm4hMTt2YXIgZj10aGlzLmJsb2NrQ29tbWVudC5zdGFydCx5PXRoaXMuYmxvY2tDb21tZW50LmVuZCx1PW5ldyBSZWdFeHAoIl4oXFxzKikoPzoiK2EuZXNjYXBlUmVnRXhwKGYpKyIpIiksQT1uZXcgUmVnRXhwKCIoPzoiK2EuZXNjYXBlUmVnRXhwKHkpKyIpXFxzKiQiKSxnPWZ1bmN0aW9uKGUsdCl7dihlLHQpfHxzJiYhL1xTLy50ZXN0KGUpfHwoby5pbnNlcnRJbkxpbmUoe3Jvdzp0LGNvbHVtbjplLmxlbmd0aH0seSksby5pbnNlcnRJbkxpbmUoe3Jvdzp0LGNvbHVtbjpjfSxmKSl9LHA9ZnVuY3Rpb24oZSx0KXt2YXIgaTsoaT1lLm1hdGNoKEEpKSYmby5yZW1vdmVJbkxpbmUodCxlLmxlbmd0aC1pWzBdLmxlbmd0aCxlLmxlbmd0aCksKGk9ZS5tYXRjaCh1KSkmJm8ucmVtb3ZlSW5MaW5lKHQsaVsxXS5sZW5ndGgsaVswXS5sZW5ndGgpfSx2PWZ1bmN0aW9uKGUsaSl7aWYodS50ZXN0KGUpKXJldHVybiEwO2Zvcih2YXIgbj10LmdldFRva2VucyhpKSxyPTA7cjxuLmxlbmd0aDtyKyspaWYoImNvbW1lbnQiPT09bltyXS50eXBlKXJldHVybiEwfX12YXIgQz0xLzA7cihmdW5jdGlvbihlLHQpe3ZhciBpPWUuc2VhcmNoKC9cUy8pOy0xIT09aT8oYz5pJiYoYz1pKSxsJiYhdihlLHQpJiYobD0hMSkpOkM+ZS5sZW5ndGgmJihDPWUubGVuZ3RoKX0pLGM9PTEvMCYmKGM9QyxzPSExLGw9ITEpLGQmJmMlaCE9MCYmKGM9TWF0aC5mbG9vcihjL2gpKmgpLHIobD9wOmcpfSx0aGlzLnRvZ2dsZUJsb2NrQ29tbWVudD1mdW5jdGlvbihlLHQsaSxuKXt2YXIgcj10aGlzLmJsb2NrQ29tbWVudDtpZihyKXshci5zdGFydCYmclswXSYmKHI9clswXSk7dmFyIG8scyxhPW5ldyBsKHQsbi5yb3csbi5jb2x1bW4pLGg9YS5nZXRDdXJyZW50VG9rZW4oKSxkPSh0LnNlbGVjdGlvbix0LnNlbGVjdGlvbi50b09yaWVudGVkUmFuZ2UoKSk7aWYoaCYmL2NvbW1lbnQvLnRlc3QoaC50eXBlKSl7Zm9yKHZhciB1LGY7aCYmL2NvbW1lbnQvLnRlc3QoaC50eXBlKTspe3ZhciBwPWgudmFsdWUuaW5kZXhPZihyLnN0YXJ0KTtpZigtMSE9cCl7dmFyIG09YS5nZXRDdXJyZW50VG9rZW5Sb3coKSxnPWEuZ2V0Q3VycmVudFRva2VuQ29sdW1uKCkrcDt1PW5ldyBjKG0sZyxtLGcrci5zdGFydC5sZW5ndGgpO2JyZWFrfWg9YS5zdGVwQmFja3dhcmQoKX1mb3IodmFyIGE9bmV3IGwodCxuLnJvdyxuLmNvbHVtbiksaD1hLmdldEN1cnJlbnRUb2tlbigpO2gmJi9jb21tZW50Ly50ZXN0KGgudHlwZSk7KXt2YXIgcD1oLnZhbHVlLmluZGV4T2Yoci5lbmQpO2lmKC0xIT1wKXt2YXIgbT1hLmdldEN1cnJlbnRUb2tlblJvdygpLGc9YS5nZXRDdXJyZW50VG9rZW5Db2x1bW4oKStwO2Y9bmV3IGMobSxnLG0sZytyLmVuZC5sZW5ndGgpO2JyZWFrfWg9YS5zdGVwRm9yd2FyZCgpfWYmJnQucmVtb3ZlKGYpLHUmJih0LnJlbW92ZSh1KSxvPXUuc3RhcnQucm93LHM9LXIuc3RhcnQubGVuZ3RoKX1lbHNlIHM9ci5zdGFydC5sZW5ndGgsbz1pLnN0YXJ0LnJvdyx0Lmluc2VydChpLmVuZCxyLmVuZCksdC5pbnNlcnQoaS5zdGFydCxyLnN0YXJ0KTtkLnN0YXJ0LnJvdz09byYmKGQuc3RhcnQuY29sdW1uKz1zKSxkLmVuZC5yb3c9PW8mJihkLmVuZC5jb2x1bW4rPXMpLHQuc2VsZWN0aW9uLmZyb21PcmllbnRlZFJhbmdlKGQpfX0sdGhpcy5nZXROZXh0TGluZUluZGVudD1mdW5jdGlvbihlLHQsaSl7cmV0dXJuIHRoaXMuJGdldEluZGVudCh0KX0sdGhpcy5jaGVja091dGRlbnQ9ZnVuY3Rpb24oZSx0LGkpe3JldHVybiExfSx0aGlzLmF1dG9PdXRkZW50PWZ1bmN0aW9uKGUsdCxpKXt9LHRoaXMuJGdldEluZGVudD1mdW5jdGlvbihlKXtyZXR1cm4gZS5tYXRjaCgvXlxzKi8pWzBdfSx0aGlzLmNyZWF0ZVdvcmtlcj1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbH0sdGhpcy5jcmVhdGVNb2RlRGVsZWdhdGVzPWZ1bmN0aW9uKGUpe3RoaXMuJGVtYmVkcz1bXSx0aGlzLiRtb2Rlcz17fTtmb3IodmFyIHQgaW4gZSllW3RdJiYodGhpcy4kZW1iZWRzLnB1c2godCksdGhpcy4kbW9kZXNbdF09bmV3IGVbdF0pO2Zvcih2YXIgaT1bInRvZ2dsZUJsb2NrQ29tbWVudCIsInRvZ2dsZUNvbW1lbnRMaW5lcyIsImdldE5leHRMaW5lSW5kZW50IiwiY2hlY2tPdXRkZW50IiwiYXV0b091dGRlbnQiLCJ0cmFuc2Zvcm1BY3Rpb24iLCJnZXRDb21wbGV0aW9ucyJdLHQ9MDt0PGkubGVuZ3RoO3QrKykhZnVuY3Rpb24oZSl7dmFyIG49aVt0XSxyPWVbbl07ZVtpW3RdXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkZWxlZ2F0b3Iobixhcmd1bWVudHMscil9fSh0aGlzKX0sdGhpcy4kZGVsZWdhdG9yPWZ1bmN0aW9uKGUsdCxpKXt2YXIgbj10WzBdOyJzdHJpbmciIT10eXBlb2YgbiYmKG49blswXSk7Zm9yKHZhciByPTA7cjx0aGlzLiRlbWJlZHMubGVuZ3RoO3IrKylpZih0aGlzLiRtb2Rlc1t0aGlzLiRlbWJlZHNbcl1dKXt2YXIgbz1uLnNwbGl0KHRoaXMuJGVtYmVkc1tyXSk7aWYoIW9bMF0mJm9bMV0pe3RbMF09b1sxXTt2YXIgcz10aGlzLiRtb2Rlc1t0aGlzLiRlbWJlZHNbcl1dO3JldHVybiBzW2VdLmFwcGx5KHMsdCl9fXZhciBhPWkuYXBwbHkodGhpcyx0KTtyZXR1cm4gaT9hOnZvaWQgMH0sdGhpcy50cmFuc2Zvcm1BY3Rpb249ZnVuY3Rpb24oZSx0LGksbixyKXtpZih0aGlzLiRiZWhhdmlvdXIpe3ZhciBvPXRoaXMuJGJlaGF2aW91ci5nZXRCZWhhdmlvdXJzKCk7Zm9yKHZhciBzIGluIG8paWYob1tzXVt0XSl7dmFyIGE9b1tzXVt0XS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7aWYoYSlyZXR1cm4gYX19fSx0aGlzLmdldEtleXdvcmRzPWZ1bmN0aW9uKGUpewppZighdGhpcy5jb21wbGV0aW9uS2V5d29yZHMpe3ZhciB0PXRoaXMuJHRva2VuaXplci5ydWxlcyxpPVtdO2Zvcih2YXIgbiBpbiB0KWZvcih2YXIgcj10W25dLG89MCxzPXIubGVuZ3RoO3M+bztvKyspaWYoInN0cmluZyI9PXR5cGVvZiByW29dLnRva2VuKS9rZXl3b3JkfHN1cHBvcnR8c3RvcmFnZS8udGVzdChyW29dLnRva2VuKSYmaS5wdXNoKHJbb10ucmVnZXgpO2Vsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiByW29dLnRva2VuKWZvcih2YXIgYT0wLGw9cltvXS50b2tlbi5sZW5ndGg7bD5hO2ErKylpZigva2V5d29yZHxzdXBwb3J0fHN0b3JhZ2UvLnRlc3QocltvXS50b2tlblthXSkpe3ZhciBuPXJbb10ucmVnZXgubWF0Y2goL1woLis/XCkvZylbYV07aS5wdXNoKG4uc3Vic3RyKDEsbi5sZW5ndGgtMikpfXRoaXMuY29tcGxldGlvbktleXdvcmRzPWl9cmV0dXJuIGU/aS5jb25jYXQodGhpcy4ka2V5d29yZExpc3R8fFtdKTp0aGlzLiRrZXl3b3JkTGlzdH0sdGhpcy4kY3JlYXRlS2V5d29yZExpc3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kaGlnaGxpZ2h0UnVsZXN8fHRoaXMuZ2V0VG9rZW5pemVyKCksdGhpcy4ka2V5d29yZExpc3Q9dGhpcy4kaGlnaGxpZ2h0UnVsZXMuJGtleXdvcmRMaXN0fHxbXX0sdGhpcy5nZXRDb21wbGV0aW9ucz1mdW5jdGlvbihlLHQsaSxuKXt2YXIgcj10aGlzLiRrZXl3b3JkTGlzdHx8dGhpcy4kY3JlYXRlS2V5d29yZExpc3QoKTtyZXR1cm4gci5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue25hbWU6ZSx2YWx1ZTplLHNjb3JlOjAsbWV0YToia2V5d29yZCJ9fSl9LHRoaXMuJGlkPSJhY2UvbW9kZS90ZXh0In0pLmNhbGwoaC5wcm90b3R5cGUpLHQuTW9kZT1ofSksYWNlLmRlZmluZSgiYWNlL2FwcGx5X2RlbHRhIixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIl0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt0LmFwcGx5RGVsdGE9ZnVuY3Rpb24oZSx0LGkpe3ZhciBuPXQuc3RhcnQucm93LHI9dC5zdGFydC5jb2x1bW4sbz1lW25dfHwiIjtzd2l0Y2godC5hY3Rpb24pe2Nhc2UiaW5zZXJ0Ijp2YXIgcz10LmxpbmVzO2lmKDE9PT1zLmxlbmd0aCllW25dPW8uc3Vic3RyaW5nKDAscikrdC5saW5lc1swXStvLnN1YnN0cmluZyhyKTtlbHNle3ZhciBhPVtuLDFdLmNvbmNhdCh0LmxpbmVzKTtlLnNwbGljZS5hcHBseShlLGEpLGVbbl09by5zdWJzdHJpbmcoMCxyKStlW25dLGVbbit0LmxpbmVzLmxlbmd0aC0xXSs9by5zdWJzdHJpbmcocil9YnJlYWs7Y2FzZSJyZW1vdmUiOnZhciBsPXQuZW5kLmNvbHVtbixjPXQuZW5kLnJvdztuPT09Yz9lW25dPW8uc3Vic3RyaW5nKDAscikrby5zdWJzdHJpbmcobCk6ZS5zcGxpY2UobixjLW4rMSxvLnN1YnN0cmluZygwLHIpK2VbY10uc3Vic3RyaW5nKGwpKX19fSksYWNlLmRlZmluZSgiYWNlL2FuY2hvciIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSIsImFjZS9saWIvb29wIiwiYWNlL2xpYi9ldmVudF9lbWl0dGVyIl0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1lKCIuL2xpYi9vb3AiKSxyPWUoIi4vbGliL2V2ZW50X2VtaXR0ZXIiKS5FdmVudEVtaXR0ZXIsbz10LkFuY2hvcj1mdW5jdGlvbihlLHQsaSl7dGhpcy4kb25DaGFuZ2U9dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpLHRoaXMuYXR0YWNoKGUpLCJ1bmRlZmluZWQiPT10eXBlb2YgaT90aGlzLnNldFBvc2l0aW9uKHQucm93LHQuY29sdW1uKTp0aGlzLnNldFBvc2l0aW9uKHQsaSl9OyhmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LGkpe3ZhciBuPWk/ZS5jb2x1bW48PXQuY29sdW1uOmUuY29sdW1uPHQuY29sdW1uO3JldHVybiBlLnJvdzx0LnJvd3x8ZS5yb3c9PXQucm93JiZufWZ1bmN0aW9uIHQodCxpLG4pe3ZhciByPSJpbnNlcnQiPT10LmFjdGlvbixvPShyPzE6LTEpKih0LmVuZC5yb3ctdC5zdGFydC5yb3cpLHM9KHI/MTotMSkqKHQuZW5kLmNvbHVtbi10LnN0YXJ0LmNvbHVtbiksYT10LnN0YXJ0LGw9cj9hOnQuZW5kO3JldHVybiBlKGksYSxuKT97cm93Omkucm93LGNvbHVtbjppLmNvbHVtbn06ZShsLGksIW4pP3tyb3c6aS5yb3crbyxjb2x1bW46aS5jb2x1bW4rKGkucm93PT1sLnJvdz9zOjApfTp7cm93OmEucm93LGNvbHVtbjphLmNvbHVtbn19bi5pbXBsZW1lbnQodGhpcyxyKSx0aGlzLmdldFBvc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGNsaXBQb3NpdGlvblRvRG9jdW1lbnQodGhpcy5yb3csdGhpcy5jb2x1bW4pfSx0aGlzLmdldERvY3VtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9jdW1lbnR9LHRoaXMuJGluc2VydFJpZ2h0PSExLHRoaXMub25DaGFuZ2U9ZnVuY3Rpb24oZSl7aWYoIShlLnN0YXJ0LnJvdz09ZS5lbmQucm93JiZlLnN0YXJ0LnJvdyE9dGhpcy5yb3d8fGUuc3RhcnQucm93PnRoaXMucm93KSl7dmFyIGk9dChlLHtyb3c6dGhpcy5yb3csY29sdW1uOnRoaXMuY29sdW1ufSx0aGlzLiRpbnNlcnRSaWdodCk7dGhpcy5zZXRQb3NpdGlvbihpLnJvdyxpLmNvbHVtbiwhMCl9fSx0aGlzLnNldFBvc2l0aW9uPWZ1bmN0aW9uKGUsdCxpKXt2YXIgbjtpZihuPWk/e3JvdzplLGNvbHVtbjp0fTp0aGlzLiRjbGlwUG9zaXRpb25Ub0RvY3VtZW50KGUsdCksdGhpcy5yb3chPW4ucm93fHx0aGlzLmNvbHVtbiE9bi5jb2x1bW4pe3ZhciByPXtyb3c6dGhpcy5yb3csY29sdW1uOnRoaXMuY29sdW1ufTt0aGlzLnJvdz1uLnJvdyx0aGlzLmNvbHVtbj1uLmNvbHVtbix0aGlzLl9zaWduYWwoImNoYW5nZSIse29sZDpyLHZhbHVlOm59KX19LHRoaXMuZGV0YWNoPWZ1bmN0aW9uKCl7dGhpcy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMuJG9uQ2hhbmdlKX0sdGhpcy5hdHRhY2g9ZnVuY3Rpb24oZSl7dGhpcy5kb2N1bWVudD1lfHx0aGlzLmRvY3VtZW50LHRoaXMuZG9jdW1lbnQub24oImNoYW5nZSIsdGhpcy4kb25DaGFuZ2UpfSx0aGlzLiRjbGlwUG9zaXRpb25Ub0RvY3VtZW50PWZ1bmN0aW9uKGUsdCl7dmFyIGk9e307cmV0dXJuIGU+PXRoaXMuZG9jdW1lbnQuZ2V0TGVuZ3RoKCk/KGkucm93PU1hdGgubWF4KDAsdGhpcy5kb2N1bWVudC5nZXRMZW5ndGgoKS0xKSxpLmNvbHVtbj10aGlzLmRvY3VtZW50LmdldExpbmUoaS5yb3cpLmxlbmd0aCk6MD5lPyhpLnJvdz0wLGkuY29sdW1uPTApOihpLnJvdz1lLGkuY29sdW1uPU1hdGgubWluKHRoaXMuZG9jdW1lbnQuZ2V0TGluZShpLnJvdykubGVuZ3RoLE1hdGgubWF4KDAsdCkpKSwwPnQmJihpLmNvbHVtbj0wKSxpfX0pLmNhbGwoby5wcm90b3R5cGUpfSksYWNlLmRlZmluZSgiYWNlL2RvY3VtZW50IixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIiwiYWNlL2xpYi9vb3AiLCJhY2UvYXBwbHlfZGVsdGEiLCJhY2UvbGliL2V2ZW50X2VtaXR0ZXIiLCJhY2UvcmFuZ2UiLCJhY2UvYW5jaG9yIl0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1lKCIuL2xpYi9vb3AiKSxyPWUoIi4vYXBwbHlfZGVsdGEiKS5hcHBseURlbHRhLG89ZSgiLi9saWIvZXZlbnRfZW1pdHRlciIpLkV2ZW50RW1pdHRlcixzPWUoIi4vcmFuZ2UiKS5SYW5nZSxhPWUoIi4vYW5jaG9yIikuQW5jaG9yLGw9ZnVuY3Rpb24oZSl7dGhpcy4kbGluZXM9WyIiXSwwPT09ZS5sZW5ndGg/dGhpcy4kbGluZXM9WyIiXTpBcnJheS5pc0FycmF5KGUpP3RoaXMuaW5zZXJ0TWVyZ2VkTGluZXMoe3JvdzowLGNvbHVtbjowfSxlKTp0aGlzLmluc2VydCh7cm93OjAsY29sdW1uOjB9LGUpfTsoZnVuY3Rpb24oKXtuLmltcGxlbWVudCh0aGlzLG8pLHRoaXMuc2V0VmFsdWU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5nZXRMZW5ndGgoKS0xO3RoaXMucmVtb3ZlKG5ldyBzKDAsMCx0LHRoaXMuZ2V0TGluZSh0KS5sZW5ndGgpKSx0aGlzLmluc2VydCh7cm93OjAsY29sdW1uOjB9LGUpfSx0aGlzLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0QWxsTGluZXMoKS5qb2luKHRoaXMuZ2V0TmV3TGluZUNoYXJhY3RlcigpKX0sdGhpcy5jcmVhdGVBbmNob3I9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IGEodGhpcyxlLHQpfSwwPT09ImFhYSIuc3BsaXQoL2EvKS5sZW5ndGg/dGhpcy4kc3BsaXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvXHJcbnxcci9nLCJcbiIpLnNwbGl0KCJcbiIpfTp0aGlzLiRzcGxpdD1mdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgvXHJcbnxccnxcbi8pfSx0aGlzLiRkZXRlY3ROZXdMaW5lPWZ1bmN0aW9uKGUpe3ZhciB0PWUubWF0Y2goL14uKj8oXHJcbnxccnxcbikvbSk7dGhpcy4kYXV0b05ld0xpbmU9dD90WzFdOiJcbiIsdGhpcy5fc2lnbmFsKCJjaGFuZ2VOZXdMaW5lTW9kZSIpfSx0aGlzLmdldE5ld0xpbmVDaGFyYWN0ZXI9ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy4kbmV3TGluZU1vZGUpe2Nhc2Uid2luZG93cyI6cmV0dXJuIlxyXG4iO2Nhc2UidW5peCI6cmV0dXJuIlxuIjtkZWZhdWx0OnJldHVybiB0aGlzLiRhdXRvTmV3TGluZXx8IlxuIn19LHRoaXMuJGF1dG9OZXdMaW5lPSIiLHRoaXMuJG5ld0xpbmVNb2RlPSJhdXRvIix0aGlzLnNldE5ld0xpbmVNb2RlPWZ1bmN0aW9uKGUpe3RoaXMuJG5ld0xpbmVNb2RlIT09ZSYmKHRoaXMuJG5ld0xpbmVNb2RlPWUsdGhpcy5fc2lnbmFsKCJjaGFuZ2VOZXdMaW5lTW9kZSIpKX0sdGhpcy5nZXROZXdMaW5lTW9kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRuZXdMaW5lTW9kZX0sdGhpcy5pc05ld0xpbmU9ZnVuY3Rpb24oZSl7cmV0dXJuIlxyXG4iPT1lfHwiXHIiPT1lfHwiXG4iPT1lfSx0aGlzLmdldExpbmU9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuJGxpbmVzW2VdfHwiIn0sdGhpcy5nZXRMaW5lcz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLiRsaW5lcy5zbGljZShlLHQrMSl9LHRoaXMuZ2V0QWxsTGluZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRMaW5lcygwLHRoaXMuZ2V0TGVuZ3RoKCkpfSx0aGlzLmdldExlbmd0aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRsaW5lcy5sZW5ndGh9LHRoaXMuZ2V0VGV4dFJhbmdlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmdldExpbmVzRm9yUmFuZ2UoZSkuam9pbih0aGlzLmdldE5ld0xpbmVDaGFyYWN0ZXIoKSl9LHRoaXMuZ2V0TGluZXNGb3JSYW5nZT1mdW5jdGlvbihlKXt2YXIgdDtpZihlLnN0YXJ0LnJvdz09PWUuZW5kLnJvdyl0PVt0aGlzLmdldExpbmUoZS5zdGFydC5yb3cpLnN1YnN0cmluZyhlLnN0YXJ0LmNvbHVtbixlLmVuZC5jb2x1bW4pXTtlbHNle3Q9dGhpcy5nZXRMaW5lcyhlLnN0YXJ0LnJvdyxlLmVuZC5yb3cpLHRbMF09KHRbMF18fCIiKS5zdWJzdHJpbmcoZS5zdGFydC5jb2x1bW4pO3ZhciBpPXQubGVuZ3RoLTE7ZS5lbmQucm93LWUuc3RhcnQucm93PT1pJiYodFtpXT10W2ldLnN1YnN0cmluZygwLGUuZW5kLmNvbHVtbikpfXJldHVybiB0fSx0aGlzLmluc2VydExpbmVzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGNvbnNvbGUud2FybigiVXNlIG9mIGRvY3VtZW50Lmluc2VydExpbmVzIGlzIGRlcHJlY2F0ZWQuIFVzZSB0aGUgaW5zZXJ0RnVsbExpbmVzIG1ldGhvZCBpbnN0ZWFkLiIpLHRoaXMuaW5zZXJ0RnVsbExpbmVzKGUsdCl9LHRoaXMucmVtb3ZlTGluZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gY29uc29sZS53YXJuKCJVc2Ugb2YgZG9jdW1lbnQucmVtb3ZlTGluZXMgaXMgZGVwcmVjYXRlZC4gVXNlIHRoZSByZW1vdmVGdWxsTGluZXMgbWV0aG9kIGluc3RlYWQuIiksdGhpcy5yZW1vdmVGdWxsTGluZXMoZSx0KX0sdGhpcy5pbnNlcnROZXdMaW5lPWZ1bmN0aW9uKGUpe3JldHVybiBjb25zb2xlLndhcm4oIlVzZSBvZiBkb2N1bWVudC5pbnNlcnROZXdMaW5lIGlzIGRlcHJlY2F0ZWQuIFVzZSBpbnNlcnRNZXJnZWRMaW5lcyhwb3NpdGlvbiwgWycnLCAnJ10pIGluc3RlYWQuIiksdGhpcy5pbnNlcnRNZXJnZWRMaW5lcyhlLFsiIiwiIl0pfSx0aGlzLmluc2VydD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmdldExlbmd0aCgpPD0xJiZ0aGlzLiRkZXRlY3ROZXdMaW5lKHQpLHRoaXMuaW5zZXJ0TWVyZ2VkTGluZXMoZSx0aGlzLiRzcGxpdCh0KSl9LHRoaXMuaW5zZXJ0SW5MaW5lPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5jbGlwcGVkUG9zKGUucm93LGUuY29sdW1uKSxuPXRoaXMucG9zKGUucm93LGUuY29sdW1uK3QubGVuZ3RoKTtyZXR1cm4gdGhpcy5hcHBseURlbHRhKHtzdGFydDppLGVuZDpuLGFjdGlvbjoiaW5zZXJ0IixsaW5lczpbdF19LCEwKSx0aGlzLmNsb25lUG9zKG4pfSx0aGlzLmNsaXBwZWRQb3M9ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLmdldExlbmd0aCgpO3ZvaWQgMD09PWU/ZT1pOjA+ZT9lPTA6ZT49aSYmKGU9aS0xLHQ9dm9pZCAwKTt2YXIgbj10aGlzLmdldExpbmUoZSk7cmV0dXJuIHZvaWQgMD09dCYmKHQ9bi5sZW5ndGgpLHQ9TWF0aC5taW4oTWF0aC5tYXgodCwwKSxuLmxlbmd0aCkse3JvdzplLGNvbHVtbjp0fX0sdGhpcy5jbG9uZVBvcz1mdW5jdGlvbihlKXtyZXR1cm57cm93OmUucm93LGNvbHVtbjplLmNvbHVtbn19LHRoaXMucG9zPWZ1bmN0aW9uKGUsdCl7cmV0dXJue3JvdzplLGNvbHVtbjp0fX0sdGhpcy4kY2xpcFBvc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZ2V0TGVuZ3RoKCk7cmV0dXJuIGUucm93Pj10PyhlLnJvdz1NYXRoLm1heCgwLHQtMSksZS5jb2x1bW49dGhpcy5nZXRMaW5lKHQtMSkubGVuZ3RoKTooZS5yb3c9TWF0aC5tYXgoMCxlLnJvdyksZS5jb2x1bW49TWF0aC5taW4oTWF0aC5tYXgoZS5jb2x1bW4sMCksdGhpcy5nZXRMaW5lKGUucm93KS5sZW5ndGgpKSxlfSx0aGlzLmluc2VydEZ1bGxMaW5lcz1mdW5jdGlvbihlLHQpe2U9TWF0aC5taW4oTWF0aC5tYXgoZSwwKSx0aGlzLmdldExlbmd0aCgpKTt2YXIgaT0wO2U8dGhpcy5nZXRMZW5ndGgoKT8odD10LmNvbmNhdChbIiJdKSxpPTApOih0PVsiIl0uY29uY2F0KHQpLGUtLSxpPXRoaXMuJGxpbmVzW2VdLmxlbmd0aCksdGhpcy5pbnNlcnRNZXJnZWRMaW5lcyh7cm93OmUsY29sdW1uOml9LHQpfSx0aGlzLmluc2VydE1lcmdlZExpbmVzPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5jbGlwcGVkUG9zKGUucm93LGUuY29sdW1uKSxuPXtyb3c6aS5yb3crdC5sZW5ndGgtMSxjb2x1bW46KDE9PXQubGVuZ3RoP2kuY29sdW1uOjApK3RbdC5sZW5ndGgtMV0ubGVuZ3RofTtyZXR1cm4gdGhpcy5hcHBseURlbHRhKHtzdGFydDppLGVuZDpuLGFjdGlvbjoiaW5zZXJ0IixsaW5lczp0fSksdGhpcy5jbG9uZVBvcyhuKX0sdGhpcy5yZW1vdmU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5jbGlwcGVkUG9zKGUuc3RhcnQucm93LGUuc3RhcnQuY29sdW1uKSxpPXRoaXMuY2xpcHBlZFBvcyhlLmVuZC5yb3csZS5lbmQuY29sdW1uKTtyZXR1cm4gdGhpcy5hcHBseURlbHRhKHtzdGFydDp0LGVuZDppLGFjdGlvbjoicmVtb3ZlIixsaW5lczp0aGlzLmdldExpbmVzRm9yUmFuZ2Uoe3N0YXJ0OnQsZW5kOml9KX0pLHRoaXMuY2xvbmVQb3ModCl9LHRoaXMucmVtb3ZlSW5MaW5lPWZ1bmN0aW9uKGUsdCxpKXt2YXIgbj10aGlzLmNsaXBwZWRQb3MoZSx0KSxyPXRoaXMuY2xpcHBlZFBvcyhlLGkpO3JldHVybiB0aGlzLmFwcGx5RGVsdGEoe3N0YXJ0Om4sZW5kOnIsYWN0aW9uOiJyZW1vdmUiLGxpbmVzOnRoaXMuZ2V0TGluZXNGb3JSYW5nZSh7c3RhcnQ6bixlbmQ6cn0pfSwhMCksdGhpcy5jbG9uZVBvcyhuKX0sdGhpcy5yZW1vdmVGdWxsTGluZXM9ZnVuY3Rpb24oZSx0KXtlPU1hdGgubWluKE1hdGgubWF4KDAsZSksdGhpcy5nZXRMZW5ndGgoKS0xKSx0PU1hdGgubWluKE1hdGgubWF4KDAsdCksdGhpcy5nZXRMZW5ndGgoKS0xKTt2YXIgaT10PT10aGlzLmdldExlbmd0aCgpLTEmJmU+MCxuPXQ8dGhpcy5nZXRMZW5ndGgoKS0xLHI9aT9lLTE6ZSxvPWk/dGhpcy5nZXRMaW5lKHIpLmxlbmd0aDowLGE9bj90KzE6dCxsPW4/MDp0aGlzLmdldExpbmUoYSkubGVuZ3RoLGM9bmV3IHMocixvLGEsbCksaD10aGlzLiRsaW5lcy5zbGljZShlLHQrMSk7cmV0dXJuIHRoaXMuYXBwbHlEZWx0YSh7c3RhcnQ6Yy5zdGFydCxlbmQ6Yy5lbmQsYWN0aW9uOiJyZW1vdmUiLGxpbmVzOnRoaXMuZ2V0TGluZXNGb3JSYW5nZShjKX0pLGh9LHRoaXMucmVtb3ZlTmV3TGluZT1mdW5jdGlvbihlKXtlPHRoaXMuZ2V0TGVuZ3RoKCktMSYmZT49MCYmdGhpcy5hcHBseURlbHRhKHtzdGFydDp0aGlzLnBvcyhlLHRoaXMuZ2V0TGluZShlKS5sZW5ndGgpLGVuZDp0aGlzLnBvcyhlKzEsMCksYWN0aW9uOiJyZW1vdmUiLGxpbmVzOlsiIiwiIl19KX0sdGhpcy5yZXBsYWNlPWZ1bmN0aW9uKGUsdCl7aWYoZSBpbnN0YW5jZW9mIHN8fChlPXMuZnJvbVBvaW50cyhlLnN0YXJ0LGUuZW5kKSksMD09PXQubGVuZ3RoJiZlLmlzRW1wdHkoKSlyZXR1cm4gZS5zdGFydDtpZih0PT10aGlzLmdldFRleHRSYW5nZShlKSlyZXR1cm4gZS5lbmQ7dGhpcy5yZW1vdmUoZSk7dmFyIGk7cmV0dXJuIGk9dD90aGlzLmluc2VydChlLnN0YXJ0LHQpOmUuc3RhcnR9LHRoaXMuYXBwbHlEZWx0YXM9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspdGhpcy5hcHBseURlbHRhKGVbdF0pfSx0aGlzLnJldmVydERlbHRhcz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9ZS5sZW5ndGgtMTt0Pj0wO3QtLSl0aGlzLnJldmVydERlbHRhKGVbdF0pfSx0aGlzLmFwcGx5RGVsdGE9ZnVuY3Rpb24oZSx0KXt2YXIgaT0iaW5zZXJ0Ij09ZS5hY3Rpb247KGk/ZS5saW5lcy5sZW5ndGg8PTEmJiFlLmxpbmVzWzBdOiFzLmNvbXBhcmVQb2ludHMoZS5zdGFydCxlLmVuZCkpfHwoaSYmZS5saW5lcy5sZW5ndGg+MmU0JiZ0aGlzLiRzcGxpdEFuZGFwcGx5TGFyZ2VEZWx0YShlLDJlNCkscih0aGlzLiRsaW5lcyxlLHQpLHRoaXMuX3NpZ25hbCgiY2hhbmdlIixlKSl9LHRoaXMuJHNwbGl0QW5kYXBwbHlMYXJnZURlbHRhPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpPWUubGluZXMsbj1pLmxlbmd0aCxyPWUuc3RhcnQucm93LG89ZS5zdGFydC5jb2x1bW4scz0wLGE9MDs7KXtzPWEsYSs9dC0xO3ZhciBsPWkuc2xpY2UocyxhKTtpZihhPm4pe2UubGluZXM9bCxlLnN0YXJ0LnJvdz1yK3MsZS5zdGFydC5jb2x1bW49bzticmVha31sLnB1c2goIiIpLHRoaXMuYXBwbHlEZWx0YSh7c3RhcnQ6dGhpcy5wb3MocitzLG8pLGVuZDp0aGlzLnBvcyhyK2Esbz0wKSxhY3Rpb246ZS5hY3Rpb24sbGluZXM6bH0sITApfX0sdGhpcy5yZXZlcnREZWx0YT1mdW5jdGlvbihlKXt0aGlzLmFwcGx5RGVsdGEoe3N0YXJ0OnRoaXMuY2xvbmVQb3MoZS5zdGFydCksZW5kOnRoaXMuY2xvbmVQb3MoZS5lbmQpLGFjdGlvbjoiaW5zZXJ0Ij09ZS5hY3Rpb24/InJlbW92ZSI6Imluc2VydCIsbGluZXM6ZS5saW5lcy5zbGljZSgpfSl9LHRoaXMuaW5kZXhUb1Bvc2l0aW9uPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpPXRoaXMuJGxpbmVzfHx0aGlzLmdldEFsbExpbmVzKCksbj10aGlzLmdldE5ld0xpbmVDaGFyYWN0ZXIoKS5sZW5ndGgscj10fHwwLG89aS5sZW5ndGg7bz5yO3IrKylpZihlLT1pW3JdLmxlbmd0aCtuLDA+ZSlyZXR1cm57cm93OnIsY29sdW1uOmUraVtyXS5sZW5ndGgrbn07cmV0dXJue3JvdzpvLTEsY29sdW1uOmlbby0xXS5sZW5ndGh9fSx0aGlzLnBvc2l0aW9uVG9JbmRleD1mdW5jdGlvbihlLHQpe2Zvcih2YXIgaT10aGlzLiRsaW5lc3x8dGhpcy5nZXRBbGxMaW5lcygpLG49dGhpcy5nZXROZXdMaW5lQ2hhcmFjdGVyKCkubGVuZ3RoLHI9MCxvPU1hdGgubWluKGUucm93LGkubGVuZ3RoKSxzPXR8fDA7bz5zOysrcylyKz1pW3NdLmxlbmd0aCtuO3JldHVybiByK2UuY29sdW1ufX0pLmNhbGwobC5wcm90b3R5cGUpLHQuRG9jdW1lbnQ9bH0pLGFjZS5kZWZpbmUoImFjZS9iYWNrZ3JvdW5kX3Rva2VuaXplciIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSIsImFjZS9saWIvb29wIiwiYWNlL2xpYi9ldmVudF9lbWl0dGVyIl0sZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1lKCIuL2xpYi9vb3AiKSxyPWUoIi4vbGliL2V2ZW50X2VtaXR0ZXIiKS5FdmVudEVtaXR0ZXIsbz1mdW5jdGlvbihlLHQpe3RoaXMucnVubmluZz0hMSx0aGlzLmxpbmVzPVtdLHRoaXMuc3RhdGVzPVtdLHRoaXMuY3VycmVudExpbmU9MCx0aGlzLnRva2VuaXplcj1lO3ZhciBpPXRoaXM7dGhpcy4kd29ya2VyPWZ1bmN0aW9uKCl7aWYoaS5ydW5uaW5nKXtmb3IodmFyIGU9bmV3IERhdGUsdD1pLmN1cnJlbnRMaW5lLG49LTEscj1pLmRvYyxvPXQ7aS5saW5lc1t0XTspdCsrO3ZhciBzPXIuZ2V0TGVuZ3RoKCksYT0wO2ZvcihpLnJ1bm5pbmc9ITE7cz50Oyl7aS4kdG9rZW5pemVSb3codCksbj10O2RvIHQrKzt3aGlsZShpLmxpbmVzW3RdKTtpZihhKyssYSU1PT09MCYmbmV3IERhdGUtZT4yMCl7aS5ydW5uaW5nPXNldFRpbWVvdXQoaS4kd29ya2VyLDIwKTticmVha319aS5jdXJyZW50TGluZT10LG4+PW8mJmkuZmlyZVVwZGF0ZUV2ZW50KG8sbil9fX07KGZ1bmN0aW9uKCl7bi5pbXBsZW1lbnQodGhpcyxyKSx0aGlzLnNldFRva2VuaXplcj1mdW5jdGlvbihlKXt0aGlzLnRva2VuaXplcj1lLHRoaXMubGluZXM9W10sdGhpcy5zdGF0ZXM9W10sdGhpcy5zdGFydCgwKX0sdGhpcy5zZXREb2N1bWVudD1mdW5jdGlvbihlKXt0aGlzLmRvYz1lLHRoaXMubGluZXM9W10sdGhpcy5zdGF0ZXM9W10sdGhpcy5zdG9wKCl9LHRoaXMuZmlyZVVwZGF0ZUV2ZW50PWZ1bmN0aW9uKGUsdCl7dmFyIGk9e2ZpcnN0OmUsbGFzdDp0fTt0aGlzLl9zaWduYWwoInVwZGF0ZSIse2RhdGE6aX0pfSx0aGlzLnN0YXJ0PWZ1bmN0aW9uKGUpe3RoaXMuY3VycmVudExpbmU9TWF0aC5taW4oZXx8MCx0aGlzLmN1cnJlbnRMaW5lLHRoaXMuZG9jLmdldExlbmd0aCgpKSx0aGlzLmxpbmVzLnNwbGljZSh0aGlzLmN1cnJlbnRMaW5lLHRoaXMubGluZXMubGVuZ3RoKSx0aGlzLnN0YXRlcy5zcGxpY2UodGhpcy5jdXJyZW50TGluZSx0aGlzLnN0YXRlcy5sZW5ndGgpLHRoaXMuc3RvcCgpLHRoaXMucnVubmluZz1zZXRUaW1lb3V0KHRoaXMuJHdvcmtlciw3MDApfSx0aGlzLnNjaGVkdWxlU3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLnJ1bm5pbmd8fCh0aGlzLnJ1bm5pbmc9c2V0VGltZW91dCh0aGlzLiR3b3JrZXIsNzAwKSl9LHRoaXMuJHVwZGF0ZU9uQ2hhbmdlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3RhcnQucm93LGk9ZS5lbmQucm93LXQ7aWYoMD09PWkpdGhpcy5saW5lc1t0XT1udWxsO2Vsc2UgaWYoInJlbW92ZSI9PWUuYWN0aW9uKXRoaXMubGluZXMuc3BsaWNlKHQsaSsxLG51bGwpLHRoaXMuc3RhdGVzLnNwbGljZSh0LGkrMSxudWxsKTtlbHNle3ZhciBuPUFycmF5KGkrMSk7bi51bnNoaWZ0KHQsMSksdGhpcy5saW5lcy5zcGxpY2UuYXBwbHkodGhpcy5saW5lcyxuKSx0aGlzLnN0YXRlcy5zcGxpY2UuYXBwbHkodGhpcy5zdGF0ZXMsbil9dGhpcy5jdXJyZW50TGluZT1NYXRoLm1pbih0LHRoaXMuY3VycmVudExpbmUsdGhpcy5kb2MuZ2V0TGVuZ3RoKCkpLHRoaXMuc3RvcCgpfSx0aGlzLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLnJ1bm5pbmcmJmNsZWFyVGltZW91dCh0aGlzLnJ1bm5pbmcpLHRoaXMucnVubmluZz0hMX0sdGhpcy5nZXRUb2tlbnM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubGluZXNbZV18fHRoaXMuJHRva2VuaXplUm93KGUpfSx0aGlzLmdldFN0YXRlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmN1cnJlbnRMaW5lPT1lJiZ0aGlzLiR0b2tlbml6ZVJvdyhlKSx0aGlzLnN0YXRlc1tlXXx8InN0YXJ0In0sdGhpcy4kdG9rZW5pemVSb3c9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5kb2MuZ2V0TGluZShlKSxpPXRoaXMuc3RhdGVzW2UtMV0sbj10aGlzLnRva2VuaXplci5nZXRMaW5lVG9rZW5zKHQsaSxlKTtyZXR1cm4gdGhpcy5zdGF0ZXNbZV0rIiIhPW4uc3RhdGUrIiI/KHRoaXMuc3RhdGVzW2VdPW4uc3RhdGUsdGhpcy5saW5lc1tlKzFdPW51bGwsdGhpcy5jdXJyZW50TGluZT5lKzEmJih0aGlzLmN1cnJlbnRMaW5lPWUrMSkpOnRoaXMuY3VycmVudExpbmU9PWUmJih0aGlzLmN1cnJlbnRMaW5lPWUrMSksdGhpcy5saW5lc1tlXT1uLnRva2Vuc319KS5jYWxsKG8ucHJvdG90eXBlKSx0LkJhY2tncm91bmRUb2tlbml6ZXI9b30pLGFjZS5kZWZpbmUoImFjZS9zZWFyY2hfaGlnaGxpZ2h0IixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIiwiYWNlL2xpYi9sYW5nIiwiYWNlL2xpYi9vb3AiLCJhY2UvcmFuZ2UiXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWUoIi4vbGliL2xhbmciKSxyPShlKCIuL2xpYi9vb3AiKSxlKCIuL3JhbmdlIikuUmFuZ2UpLG89ZnVuY3Rpb24oZSx0LGkpe3RoaXMuc2V0UmVnZXhwKGUpLHRoaXMuY2xheno9dCx0aGlzLnR5cGU9aXx8InRleHQifTsoZnVuY3Rpb24oKXt0aGlzLk1BWF9SQU5HRVM9NTAwLHRoaXMuc2V0UmVnZXhwPWZ1bmN0aW9uKGUpe3RoaXMucmVnRXhwKyIiIT1lKyIiJiYodGhpcy5yZWdFeHA9ZSx0aGlzLmNhY2hlPVtdKX0sdGhpcy51cGRhdGU9ZnVuY3Rpb24oZSx0LGksbyl7aWYodGhpcy5yZWdFeHApZm9yKHZhciBzPW8uZmlyc3RSb3csYT1vLmxhc3RSb3csbD1zO2E+PWw7bCsrKXt2YXIgYz10aGlzLmNhY2hlW2xdO251bGw9PWMmJihjPW4uZ2V0TWF0Y2hPZmZzZXRzKGkuZ2V0TGluZShsKSx0aGlzLnJlZ0V4cCksYy5sZW5ndGg+dGhpcy5NQVhfUkFOR0VTJiYoYz1jLnNsaWNlKDAsdGhpcy5NQVhfUkFOR0VTKSksYz1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gbmV3IHIobCxlLm9mZnNldCxsLGUub2Zmc2V0K2UubGVuZ3RoKX0pLHRoaXMuY2FjaGVbbF09Yy5sZW5ndGg/YzoiIik7Zm9yKHZhciBoPWMubGVuZ3RoO2gtLTspdC5kcmF3U2luZ2xlTGluZU1hcmtlcihlLGNbaF0udG9TY3JlZW5SYW5nZShpKSx0aGlzLmNsYXp6LG8pfX19KS5jYWxsKG8ucHJvdG90eXBlKSx0LlNlYXJjaEhpZ2hsaWdodD1vfSksYWNlLmRlZmluZSgiYWNlL2VkaXRfc2Vzc2lvbi9mb2xkX2xpbmUiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJhY2UvcmFuZ2UiXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0KXt0aGlzLmZvbGREYXRhPWUsQXJyYXkuaXNBcnJheSh0KT90aGlzLmZvbGRzPXQ6dD10aGlzLmZvbGRzPVt0XTt2YXIgaT10W3QubGVuZ3RoLTFdO3RoaXMucmFuZ2U9bmV3IHIodFswXS5zdGFydC5yb3csdFswXS5zdGFydC5jb2x1bW4saS5lbmQucm93LGkuZW5kLmNvbHVtbiksdGhpcy5zdGFydD10aGlzLnJhbmdlLnN0YXJ0LHRoaXMuZW5kPXRoaXMucmFuZ2UuZW5kLHRoaXMuZm9sZHMuZm9yRWFjaChmdW5jdGlvbihlKXtlLnNldEZvbGRMaW5lKHRoaXMpfSx0aGlzKX12YXIgcj1lKCIuLi9yYW5nZSIpLlJhbmdlOyhmdW5jdGlvbigpe3RoaXMuc2hpZnRSb3c9ZnVuY3Rpb24oZSl7dGhpcy5zdGFydC5yb3crPWUsdGhpcy5lbmQucm93Kz1lLHRoaXMuZm9sZHMuZm9yRWFjaChmdW5jdGlvbih0KXt0LnN0YXJ0LnJvdys9ZSx0LmVuZC5yb3crPWV9KX0sdGhpcy5hZGRGb2xkPWZ1bmN0aW9uKGUpe2lmKGUuc2FtZVJvdyl7aWYoZS5zdGFydC5yb3c8dGhpcy5zdGFydFJvd3x8ZS5lbmRSb3c+dGhpcy5lbmRSb3cpdGhyb3cgbmV3IEVycm9yKCJDYW4ndCBhZGQgYSBmb2xkIHRvIHRoaXMgRm9sZExpbmUgYXMgaXQgaGFzIG5vIGNvbm5lY3Rpb24iKTt0aGlzLmZvbGRzLnB1c2goZSksdGhpcy5mb2xkcy5zb3J0KGZ1bmN0aW9uKGUsdCl7cmV0dXJuLWUucmFuZ2UuY29tcGFyZUVuZCh0LnN0YXJ0LnJvdyx0LnN0YXJ0LmNvbHVtbil9KSx0aGlzLnJhbmdlLmNvbXBhcmVFbmQoZS5zdGFydC5yb3csZS5zdGFydC5jb2x1bW4pPjA/KHRoaXMuZW5kLnJvdz1lLmVuZC5yb3csdGhpcy5lbmQuY29sdW1uPWUuZW5kLmNvbHVtbik6dGhpcy5yYW5nZS5jb21wYXJlU3RhcnQoZS5lbmQucm93LGUuZW5kLmNvbHVtbik8MCYmKHRoaXMuc3RhcnQucm93PWUuc3RhcnQucm93LHRoaXMuc3RhcnQuY29sdW1uPWUuc3RhcnQuY29sdW1uKX1lbHNlIGlmKGUuc3RhcnQucm93PT10aGlzLmVuZC5yb3cpdGhpcy5mb2xkcy5wdXNoKGUpLHRoaXMuZW5kLnJvdz1lLmVuZC5yb3csdGhpcy5lbmQuY29sdW1uPWUuZW5kLmNvbHVtbjtlbHNle2lmKGUuZW5kLnJvdyE9dGhpcy5zdGFydC5yb3cpdGhyb3cgbmV3IEVycm9yKCJUcnlpbmcgdG8gYWRkIGZvbGQgdG8gRm9sZFJvdyB0aGF0IGRvZXNuJ3QgaGF2ZSBhIG1hdGNoaW5nIHJvdyIpO3RoaXMuZm9sZHMudW5zaGlmdChlKSx0aGlzLnN0YXJ0LnJvdz1lLnN0YXJ0LnJvdyx0aGlzLnN0YXJ0LmNvbHVtbj1lLnN0YXJ0LmNvbHVtbn1lLmZvbGRMaW5lPXRoaXN9LHRoaXMuY29udGFpbnNSb3c9ZnVuY3Rpb24oZSl7cmV0dXJuIGU+PXRoaXMuc3RhcnQucm93JiZlPD10aGlzLmVuZC5yb3d9LHRoaXMud2Fsaz1mdW5jdGlvbihlLHQsaSl7dmFyIG4scixvLHM9MCxhPXRoaXMuZm9sZHMsbD0hMDtudWxsPT10JiYodD10aGlzLmVuZC5yb3csaT10aGlzLmVuZC5jb2x1bW4pO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKXtpZihuPWFbY10scj1uLnJhbmdlLmNvbXBhcmVTdGFydCh0LGkpLC0xPT1yKXJldHVybiB2b2lkIGUobnVsbCx0LGkscyxsKTtpZihvPWUobnVsbCxuLnN0YXJ0LnJvdyxuLnN0YXJ0LmNvbHVtbixzLGwpLG89IW8mJmUobi5wbGFjZWhvbGRlcixuLnN0YXJ0LnJvdyxuLnN0YXJ0LmNvbHVtbixzKSxvfHwwPT09cilyZXR1cm47bD0hbi5zYW1lUm93LHM9bi5lbmQuY29sdW1ufWUobnVsbCx0LGkscyxsKX0sdGhpcy5nZXROZXh0Rm9sZFRvPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpLG4scj0wO3I8dGhpcy5mb2xkcy5sZW5ndGg7cisrKXtpZihpPXRoaXMuZm9sZHNbcl0sbj1pLnJhbmdlLmNvbXBhcmVFbmQoZSx0KSwtMT09bilyZXR1cm57Zm9sZDppLGtpbmQ6ImFmdGVyIn07aWYoMD09PW4pcmV0dXJue2ZvbGQ6aSxraW5kOiJpbnNpZGUifX1yZXR1cm4gbnVsbH0sdGhpcy5hZGRSZW1vdmVDaGFycz1mdW5jdGlvbihlLHQsaSl7dmFyIG4scixvPXRoaXMuZ2V0TmV4dEZvbGRUbyhlLHQpO2lmKG8paWYobj1vLmZvbGQsImluc2lkZSI9PW8ua2luZCYmbi5zdGFydC5jb2x1bW4hPXQmJm4uc3RhcnQucm93IT1lKXdpbmRvdy5jb25zb2xlJiZ3aW5kb3cuY29uc29sZS5sb2coZSx0LG4pO2Vsc2UgaWYobi5zdGFydC5yb3c9PWUpe3I9dGhpcy5mb2xkczt2YXIgcz1yLmluZGV4T2Yobik7Zm9yKDA9PT1zJiYodGhpcy5zdGFydC5jb2x1bW4rPWkpLHM7czxyLmxlbmd0aDtzKyspe2lmKG49cltzXSxuLnN0YXJ0LmNvbHVtbis9aSwhbi5zYW1lUm93KXJldHVybjtuLmVuZC5jb2x1bW4rPWl9dGhpcy5lbmQuY29sdW1uKz1pfX0sdGhpcy5zcGxpdD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMuZ2V0TmV4dEZvbGRUbyhlLHQpO2lmKCFpfHwiaW5zaWRlIj09aS5raW5kKXJldHVybiBudWxsO3ZhciByPWkuZm9sZCxvPXRoaXMuZm9sZHMscz10aGlzLmZvbGREYXRhLGE9by5pbmRleE9mKHIpLGw9b1thLTFdO3RoaXMuZW5kLnJvdz1sLmVuZC5yb3csdGhpcy5lbmQuY29sdW1uPWwuZW5kLmNvbHVtbixvPW8uc3BsaWNlKGEsby5sZW5ndGgtYSk7dmFyIGM9bmV3IG4ocyxvKTtyZXR1cm4gcy5zcGxpY2Uocy5pbmRleE9mKHRoaXMpKzEsMCxjKSxjfSx0aGlzLm1lcmdlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmZvbGRzLGk9MDtpPHQubGVuZ3RoO2krKyl0aGlzLmFkZEZvbGQodFtpXSk7dmFyIG49dGhpcy5mb2xkRGF0YTtuLnNwbGljZShuLmluZGV4T2YoZSksMSl9LHRoaXMudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgZT1bdGhpcy5yYW5nZS50b1N0cmluZygpKyI6IFsiXTtyZXR1cm4gdGhpcy5mb2xkcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UucHVzaCgiICAiK3QudG9TdHJpbmcoKSl9KSxlLnB1c2goIl0iKSxlLmpvaW4oIlxuIil9LHRoaXMuaWR4VG9Qb3NpdGlvbj1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MCxpPTA7aTx0aGlzLmZvbGRzLmxlbmd0aDtpKyspe3ZhciBuPXRoaXMuZm9sZHNbaV07aWYoZS09bi5zdGFydC5jb2x1bW4tdCwwPmUpcmV0dXJue3JvdzpuLnN0YXJ0LnJvdyxjb2x1bW46bi5zdGFydC5jb2x1bW4rZX07aWYoZS09bi5wbGFjZWhvbGRlci5sZW5ndGgsMD5lKXJldHVybiBuLnN0YXJ0O3Q9bi5lbmQuY29sdW1ufXJldHVybntyb3c6dGhpcy5lbmQucm93LGNvbHVtbjp0aGlzLmVuZC5jb2x1bW4rZX19fSkuY2FsbChuLnByb3RvdHlwZSksdC5Gb2xkTGluZT1ufSksYWNlLmRlZmluZSgiYWNlL3JhbmdlX2xpc3QiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJhY2UvcmFuZ2UiXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWUoIi4vcmFuZ2UiKS5SYW5nZSxyPW4uY29tcGFyZVBvaW50cyxvPWZ1bmN0aW9uKCl7dGhpcy5yYW5nZXM9W119OyhmdW5jdGlvbigpe3RoaXMuY29tcGFyZVBvaW50cz1yLHRoaXMucG9pbnRJbmRleD1mdW5jdGlvbihlLHQsaSl7Zm9yKHZhciBuPXRoaXMucmFuZ2VzLG89aXx8MDtvPG4ubGVuZ3RoO28rKyl7dmFyIHM9bltvXSxhPXIoZSxzLmVuZCk7aWYoIShhPjApKXt2YXIgbD1yKGUscy5zdGFydCk7cmV0dXJuIDA9PT1hP3QmJjAhPT1sPy1vLTI6bzpsPjB8fDA9PT1sJiYhdD9vOi1vLTF9fXJldHVybi1vLTF9LHRoaXMuYWRkPWZ1bmN0aW9uKGUpe3ZhciB0PSFlLmlzRW1wdHkoKSxpPXRoaXMucG9pbnRJbmRleChlLnN0YXJ0LHQpOzA+aSYmKGk9LWktMSk7dmFyIG49dGhpcy5wb2ludEluZGV4KGUuZW5kLHQsaSk7cmV0dXJuIDA+bj9uPS1uLTE6bisrLHRoaXMucmFuZ2VzLnNwbGljZShpLG4taSxlKX0sdGhpcy5hZGRMaXN0PWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxpPWUubGVuZ3RoO2ktLTspdC5wdXNoLmFwcGx5KHQsdGhpcy5hZGQoZVtpXSkpO3JldHVybiB0fSx0aGlzLnN1YnN0cmFjdFBvaW50PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucG9pbnRJbmRleChlKTtyZXR1cm4gdD49MD90aGlzLnJhbmdlcy5zcGxpY2UodCwxKTp2b2lkIDB9LHRoaXMubWVyZ2U9ZnVuY3Rpb24oKXt2YXIgZT1bXSx0PXRoaXMucmFuZ2VzO3Q9dC5zb3J0KGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHIoZS5zdGFydCx0LnN0YXJ0KX0pO2Zvcih2YXIgaSxuPXRbMF0sbz0xO288dC5sZW5ndGg7bysrKXtpPW4sbj10W29dO3ZhciBzPXIoaS5lbmQsbi5zdGFydCk7MD5zfHwoMCE9c3x8aS5pc0VtcHR5KCl8fG4uaXNFbXB0eSgpKSYmKHIoaS5lbmQsbi5lbmQpPDAmJihpLmVuZC5yb3c9bi5lbmQucm93LGkuZW5kLmNvbHVtbj1uLmVuZC5jb2x1bW4pLHQuc3BsaWNlKG8sMSksZS5wdXNoKG4pLG49aSxvLS0pfXJldHVybiB0aGlzLnJhbmdlcz10LGV9LHRoaXMuY29udGFpbnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5wb2ludEluZGV4KHtyb3c6ZSxjb2x1bW46dH0pPj0wfSx0aGlzLmNvbnRhaW5zUG9pbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucG9pbnRJbmRleChlKT49MH0sdGhpcy5yYW5nZUF0UG9pbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5wb2ludEluZGV4KGUpO3JldHVybiB0Pj0wP3RoaXMucmFuZ2VzW3RdOnZvaWQgMH0sdGhpcy5jbGlwUm93cz1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMucmFuZ2VzO2lmKGlbMF0uc3RhcnQucm93PnR8fGlbaS5sZW5ndGgtMV0uc3RhcnQucm93PGUpcmV0dXJuW107dmFyIG49dGhpcy5wb2ludEluZGV4KHtyb3c6ZSxjb2x1bW46MH0pOzA+biYmKG49LW4tMSk7dmFyIHI9dGhpcy5wb2ludEluZGV4KHtyb3c6dCxjb2x1bW46MH0sbik7MD5yJiYocj0tci0xKTtmb3IodmFyIG89W10scz1uO3I+cztzKyspby5wdXNoKGlbc10pO3JldHVybiBvfSx0aGlzLnJlbW92ZUFsbD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJhbmdlcy5zcGxpY2UoMCx0aGlzLnJhbmdlcy5sZW5ndGgpfSx0aGlzLmF0dGFjaD1mdW5jdGlvbihlKXt0aGlzLnNlc3Npb24mJnRoaXMuZGV0YWNoKCksdGhpcy5zZXNzaW9uPWUsdGhpcy5vbkNoYW5nZT10aGlzLiRvbkNoYW5nZS5iaW5kKHRoaXMpLHRoaXMuc2Vzc2lvbi5vbigiY2hhbmdlIix0aGlzLm9uQ2hhbmdlKX0sdGhpcy5kZXRhY2g9ZnVuY3Rpb24oKXt0aGlzLnNlc3Npb24mJih0aGlzLnNlc3Npb24ucmVtb3ZlTGlzdGVuZXIoImNoYW5nZSIsdGhpcy5vbkNoYW5nZSksdGhpcy5zZXNzaW9uPW51bGwpfSx0aGlzLiRvbkNoYW5nZT1mdW5jdGlvbihlKXtpZigiaW5zZXJ0Ij09ZS5hY3Rpb24pdmFyIHQ9ZS5zdGFydCxpPWUuZW5kO2Vsc2UgdmFyIGk9ZS5zdGFydCx0PWUuZW5kO2Zvcih2YXIgbj10LnJvdyxyPWkucm93LG89ci1uLHM9LXQuY29sdW1uK2kuY29sdW1uLGE9dGhpcy5yYW5nZXMsbD0wLGM9YS5sZW5ndGg7Yz5sO2wrKyl7dmFyIGg9YVtsXTtpZighKGguZW5kLnJvdzxuKSl7aWYoaC5zdGFydC5yb3c+bilicmVhaztpZihoLnN0YXJ0LnJvdz09biYmaC5zdGFydC5jb2x1bW4+PXQuY29sdW1uJiYoaC5zdGFydC5jb2x1bW49PXQuY29sdW1uJiZ0aGlzLiRpbnNlcnRSaWdodHx8KGguc3RhcnQuY29sdW1uKz1zLGguc3RhcnQucm93Kz1vKSksaC5lbmQucm93PT1uJiZoLmVuZC5jb2x1bW4+PXQuY29sdW1uKXtpZihoLmVuZC5jb2x1bW49PXQuY29sdW1uJiZ0aGlzLiRpbnNlcnRSaWdodCljb250aW51ZTtoLmVuZC5jb2x1bW49PXQuY29sdW1uJiZzPjAmJmMtMT5sJiZoLmVuZC5jb2x1bW4+aC5zdGFydC5jb2x1bW4mJmguZW5kLmNvbHVtbj09YVtsKzFdLnN0YXJ0LmNvbHVtbiYmKGguZW5kLmNvbHVtbi09cyksaC5lbmQuY29sdW1uKz1zLGguZW5kLnJvdys9b319fWlmKDAhPW8mJmM+bClmb3IoO2M+bDtsKyspe3ZhciBoPWFbbF07aC5zdGFydC5yb3crPW8saC5lbmQucm93Kz1vfX19KS5jYWxsKG8ucHJvdG90eXBlKSx0LlJhbmdlTGlzdD1vfSksYWNlLmRlZmluZSgiYWNlL2VkaXRfc2Vzc2lvbi9mb2xkIixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIiwiYWNlL3JhbmdlIiwiYWNlL3JhbmdlX2xpc3QiLCJhY2UvbGliL29vcCJdLGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe2Uucm93LT10LnJvdywwPT1lLnJvdyYmKGUuY29sdW1uLT10LmNvbHVtbil9ZnVuY3Rpb24gcihlLHQpe24oZS5zdGFydCx0KSxuKGUuZW5kLHQpfWZ1bmN0aW9uIG8oZSx0KXswPT1lLnJvdyYmKGUuY29sdW1uKz10LmNvbHVtbiksZS5yb3crPXQucm93fWZ1bmN0aW9uIHMoZSx0KXtvKGUuc3RhcnQsdCksbyhlLmVuZCx0KX12YXIgYT0oZSgiLi4vcmFuZ2UiKS5SYW5nZSxlKCIuLi9yYW5nZV9saXN0IikuUmFuZ2VMaXN0KSxsPWUoIi4uL2xpYi9vb3AiKSxjPXQuRm9sZD1mdW5jdGlvbihlLHQpe3RoaXMuZm9sZExpbmU9bnVsbCx0aGlzLnBsYWNlaG9sZGVyPXQsdGhpcy5yYW5nZT1lLHRoaXMuc3RhcnQ9ZS5zdGFydCx0aGlzLmVuZD1lLmVuZCx0aGlzLnNhbWVSb3c9ZS5zdGFydC5yb3c9PWUuZW5kLnJvdyx0aGlzLnN1YkZvbGRzPXRoaXMucmFuZ2VzPVtdfTtsLmluaGVyaXRzKGMsYSksZnVuY3Rpb24oKXt0aGlzLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuJyInK3RoaXMucGxhY2Vob2xkZXIrJyIgJyt0aGlzLnJhbmdlLnRvU3RyaW5nKCl9LHRoaXMuc2V0Rm9sZExpbmU9ZnVuY3Rpb24oZSl7dGhpcy5mb2xkTGluZT1lLHRoaXMuc3ViRm9sZHMuZm9yRWFjaChmdW5jdGlvbih0KXt0LnNldEZvbGRMaW5lKGUpfSl9LHRoaXMuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnJhbmdlLmNsb25lKCksdD1uZXcgYyhlLHRoaXMucGxhY2Vob2xkZXIpO3JldHVybiB0aGlzLnN1YkZvbGRzLmZvckVhY2goZnVuY3Rpb24oZSl7dC5zdWJGb2xkcy5wdXNoKGUuY2xvbmUoKSl9KSx0LmNvbGxhcHNlQ2hpbGRyZW49dGhpcy5jb2xsYXBzZUNoaWxkcmVuLHR9LHRoaXMuYWRkU3ViRm9sZD1mdW5jdGlvbihlKXtpZighdGhpcy5yYW5nZS5pc0VxdWFsKGUpKXtpZighdGhpcy5yYW5nZS5jb250YWluc1JhbmdlKGUpKXRocm93IG5ldyBFcnJvcigiQSBmb2xkIGNhbid0IGludGVyc2VjdCBhbHJlYWR5IGV4aXN0aW5nIGZvbGQiK2UucmFuZ2UrdGhpcy5yYW5nZSk7cihlLHRoaXMuc3RhcnQpO2Zvcih2YXIgdD1lLnN0YXJ0LnJvdyxpPWUuc3RhcnQuY29sdW1uLG49MCxvPS0xO248dGhpcy5zdWJGb2xkcy5sZW5ndGgmJihvPXRoaXMuc3ViRm9sZHNbbl0ucmFuZ2UuY29tcGFyZSh0LGkpLDE9PW8pO24rKyk7dmFyIHM9dGhpcy5zdWJGb2xkc1tuXTtpZigwPT1vKXJldHVybiBzLmFkZFN1YkZvbGQoZSk7Zm9yKHZhciB0PWUucmFuZ2UuZW5kLnJvdyxpPWUucmFuZ2UuZW5kLmNvbHVtbixhPW4sbz0tMTthPHRoaXMuc3ViRm9sZHMubGVuZ3RoJiYobz10aGlzLnN1YkZvbGRzW2FdLnJhbmdlLmNvbXBhcmUodCxpKSwxPT1vKTthKyspO3RoaXMuc3ViRm9sZHNbYV07aWYoMD09byl0aHJvdyBuZXcgRXJyb3IoIkEgZm9sZCBjYW4ndCBpbnRlcnNlY3QgYWxyZWFkeSBleGlzdGluZyBmb2xkIitlLnJhbmdlK3RoaXMucmFuZ2UpO3RoaXMuc3ViRm9sZHMuc3BsaWNlKG4sYS1uLGUpO3JldHVybiBlLnNldEZvbGRMaW5lKHRoaXMuZm9sZExpbmUpLGV9fSx0aGlzLnJlc3RvcmVSYW5nZT1mdW5jdGlvbihlKXtyZXR1cm4gcyhlLHRoaXMuc3RhcnQpfX0uY2FsbChjLnByb3RvdHlwZSl9KSxhY2UuZGVmaW5lKCJhY2UvZWRpdF9zZXNzaW9uL2ZvbGRpbmciLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJhY2UvcmFuZ2UiLCJhY2UvZWRpdF9zZXNzaW9uL2ZvbGRfbGluZSIsImFjZS9lZGl0X3Nlc3Npb24vZm9sZCIsImFjZS90b2tlbl9pdGVyYXRvciJdLGZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbigpe3RoaXMuZ2V0Rm9sZEF0PWZ1bmN0aW9uKGUsdCxpKXt2YXIgbj10aGlzLmdldEZvbGRMaW5lKGUpO2lmKCFuKXJldHVybiBudWxsO2Zvcih2YXIgcj1uLmZvbGRzLG89MDtvPHIubGVuZ3RoO28rKyl7dmFyIHM9cltvXTtpZihzLnJhbmdlLmNvbnRhaW5zKGUsdCkpe2lmKDE9PWkmJnMucmFuZ2UuaXNFbmQoZSx0KSljb250aW51ZTtpZigtMT09aSYmcy5yYW5nZS5pc1N0YXJ0KGUsdCkpY29udGludWU7cmV0dXJuIHN9fX0sdGhpcy5nZXRGb2xkc0luUmFuZ2U9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zdGFydCxpPWUuZW5kLG49dGhpcy4kZm9sZERhdGEscj1bXTt0LmNvbHVtbis9MSxpLmNvbHVtbi09MTtmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKyl7dmFyIHM9bltvXS5yYW5nZS5jb21wYXJlUmFuZ2UoZSk7aWYoMiE9cyl7aWYoLTI9PXMpYnJlYWs7Zm9yKHZhciBhPW5bb10uZm9sZHMsbD0wO2w8YS5sZW5ndGg7bCsrKXt2YXIgYz1hW2xdO2lmKHM9Yy5yYW5nZS5jb21wYXJlUmFuZ2UoZSksLTI9PXMpYnJlYWs7aWYoMiE9cyl7aWYoNDI9PXMpYnJlYWs7ci5wdXNoKGMpfX19fXJldHVybiB0LmNvbHVtbi09MSxpLmNvbHVtbis9MSxyfSx0aGlzLmdldEZvbGRzSW5SYW5nZUxpc3Q9ZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSl7dmFyIHQ9W107ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3Q9dC5jb25jYXQodGhpcy5nZXRGb2xkc0luUmFuZ2UoZSkpfSx0aGlzKX1lbHNlIHZhciB0PXRoaXMuZ2V0Rm9sZHNJblJhbmdlKGUpO3JldHVybiB0fSx0aGlzLmdldEFsbEZvbGRzPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9dGhpcy4kZm9sZERhdGEsaT0wO2k8dC5sZW5ndGg7aSsrKWZvcih2YXIgbj0wO248dFtpXS5mb2xkcy5sZW5ndGg7bisrKWUucHVzaCh0W2ldLmZvbGRzW25dKTtyZXR1cm4gZX0sdGhpcy5nZXRGb2xkU3RyaW5nQXQ9ZnVuY3Rpb24oZSx0LGksbil7aWYobj1ufHx0aGlzLmdldEZvbGRMaW5lKGUpLCFuKXJldHVybiBudWxsO2Zvcih2YXIgcixvLHM9e2VuZDp7Y29sdW1uOjB9fSxhPTA7YTxuLmZvbGRzLmxlbmd0aDthKyspe289bi5mb2xkc1thXTt2YXIgbD1vLnJhbmdlLmNvbXBhcmVFbmQoZSx0KTtpZigtMT09bCl7cj10aGlzLmdldExpbmUoby5zdGFydC5yb3cpLnN1YnN0cmluZyhzLmVuZC5jb2x1bW4sby5zdGFydC5jb2x1bW4pO2JyZWFrfWlmKDA9PT1sKXJldHVybiBudWxsO3M9b31yZXR1cm4gcnx8KHI9dGhpcy5nZXRMaW5lKG8uc3RhcnQucm93KS5zdWJzdHJpbmcocy5lbmQuY29sdW1uKSksLTE9PWk/ci5zdWJzdHJpbmcoMCx0LXMuZW5kLmNvbHVtbik6MT09aT9yLnN1YnN0cmluZyh0LXMuZW5kLmNvbHVtbik6cn0sdGhpcy5nZXRGb2xkTGluZT1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMuJGZvbGREYXRhLG49MDtmb3IodCYmKG49aS5pbmRleE9mKHQpKSwtMT09biYmKG49MCksbjtuPGkubGVuZ3RoO24rKyl7dmFyIHI9aVtuXTtpZihyLnN0YXJ0LnJvdzw9ZSYmci5lbmQucm93Pj1lKXJldHVybiByO2lmKHIuZW5kLnJvdz5lKXJldHVybiBudWxsfXJldHVybiBudWxsfSx0aGlzLmdldE5leHRGb2xkTGluZT1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMuJGZvbGREYXRhLG49MDtmb3IodCYmKG49aS5pbmRleE9mKHQpKSwtMT09biYmKG49MCksbjtuPGkubGVuZ3RoO24rKyl7dmFyIHI9aVtuXTtpZihyLmVuZC5yb3c+PWUpcmV0dXJuIHJ9cmV0dXJuIG51bGx9LHRoaXMuZ2V0Rm9sZGVkUm93Q291bnQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIGk9dGhpcy4kZm9sZERhdGEsbj10LWUrMSxyPTA7cjxpLmxlbmd0aDtyKyspe3ZhciBvPWlbcl0scz1vLmVuZC5yb3csYT1vLnN0YXJ0LnJvdztpZihzPj10KXt0PmEmJihhPj1lP24tPXQtYTpuPTApO2JyZWFrfXM+PWUmJihuLT1hPj1lP3MtYTpzLWUrMSl9cmV0dXJuIG59LHRoaXMuJGFkZEZvbGRMaW5lPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLiRmb2xkRGF0YS5wdXNoKGUpLHRoaXMuJGZvbGREYXRhLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5zdGFydC5yb3ctdC5zdGFydC5yb3d9KSxlfSx0aGlzLmFkZEZvbGQ9ZnVuY3Rpb24oZSx0KXt2YXIgaSxuPXRoaXMuJGZvbGREYXRhLHI9ITE7ZSBpbnN0YW5jZW9mIHM/aT1lOihpPW5ldyBzKHQsZSksaS5jb2xsYXBzZUNoaWxkcmVuPXQuY29sbGFwc2VDaGlsZHJlbiksdGhpcy4kY2xpcFJhbmdlVG9Eb2N1bWVudChpLnJhbmdlKTt2YXIgYT1pLnN0YXJ0LnJvdyxsPWkuc3RhcnQuY29sdW1uLGM9aS5lbmQucm93LGg9aS5lbmQuY29sdW1uO2lmKCEoYz5hfHxhPT1jJiZoLTI+PWwpKXRocm93IG5ldyBFcnJvcigiVGhlIHJhbmdlIGhhcyB0byBiZSBhdCBsZWFzdCAyIGNoYXJhY3RlcnMgd2lkdGgiKTt2YXIgZD10aGlzLmdldEZvbGRBdChhLGwsMSksdT10aGlzLmdldEZvbGRBdChjLGgsLTEpO2lmKGQmJnU9PWQpcmV0dXJuIGQuYWRkU3ViRm9sZChpKTtkJiYhZC5yYW5nZS5pc1N0YXJ0KGEsbCkmJnRoaXMucmVtb3ZlRm9sZChkKSx1JiYhdS5yYW5nZS5pc0VuZChjLGgpJiZ0aGlzLnJlbW92ZUZvbGQodSk7dmFyIGY9dGhpcy5nZXRGb2xkc0luUmFuZ2UoaS5yYW5nZSk7Zi5sZW5ndGg+MCYmKHRoaXMucmVtb3ZlRm9sZHMoZiksZi5mb3JFYWNoKGZ1bmN0aW9uKGUpe2kuYWRkU3ViRm9sZChlKX0pKTtmb3IodmFyIHA9MDtwPG4ubGVuZ3RoO3ArKyl7dmFyIG09bltwXTtpZihjPT1tLnN0YXJ0LnJvdyl7bS5hZGRGb2xkKGkpLHI9ITA7YnJlYWt9aWYoYT09bS5lbmQucm93KXtpZihtLmFkZEZvbGQoaSkscj0hMCwhaS5zYW1lUm93KXt2YXIgZz1uW3ArMV07aWYoZyYmZy5zdGFydC5yb3c9PWMpe20ubWVyZ2UoZyk7YnJlYWt9fWJyZWFrfWlmKGM8PW0uc3RhcnQucm93KWJyZWFrfXJldHVybiByfHwobT10aGlzLiRhZGRGb2xkTGluZShuZXcgbyh0aGlzLiRmb2xkRGF0YSxpKSkpLHRoaXMuJHVzZVdyYXBNb2RlP3RoaXMuJHVwZGF0ZVdyYXBEYXRhKG0uc3RhcnQucm93LG0uc3RhcnQucm93KTp0aGlzLiR1cGRhdGVSb3dMZW5ndGhDYWNoZShtLnN0YXJ0LnJvdyxtLnN0YXJ0LnJvdyksdGhpcy4kbW9kaWZpZWQ9ITAsdGhpcy5fc2lnbmFsKCJjaGFuZ2VGb2xkIix7ZGF0YTppLGFjdGlvbjoiYWRkIn0pLGl9LHRoaXMuYWRkRm9sZHM9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3RoaXMuYWRkRm9sZChlKX0sdGhpcyl9LHRoaXMucmVtb3ZlRm9sZD1mdW5jdGlvbihlKXt2YXIgdD1lLmZvbGRMaW5lLGk9dC5zdGFydC5yb3csbj10LmVuZC5yb3cscj10aGlzLiRmb2xkRGF0YSxvPXQuZm9sZHM7aWYoMT09by5sZW5ndGgpci5zcGxpY2Uoci5pbmRleE9mKHQpLDEpO2Vsc2UgaWYodC5yYW5nZS5pc0VuZChlLmVuZC5yb3csZS5lbmQuY29sdW1uKSlvLnBvcCgpLHQuZW5kLnJvdz1vW28ubGVuZ3RoLTFdLmVuZC5yb3csdC5lbmQuY29sdW1uPW9bby5sZW5ndGgtMV0uZW5kLmNvbHVtbjtlbHNlIGlmKHQucmFuZ2UuaXNTdGFydChlLnN0YXJ0LnJvdyxlLnN0YXJ0LmNvbHVtbikpby5zaGlmdCgpLHQuc3RhcnQucm93PW9bMF0uc3RhcnQucm93LHQuc3RhcnQuY29sdW1uPW9bMF0uc3RhcnQuY29sdW1uO2Vsc2UgaWYoZS5zYW1lUm93KW8uc3BsaWNlKG8uaW5kZXhPZihlKSwxKTtlbHNle3ZhciBzPXQuc3BsaXQoZS5zdGFydC5yb3csZS5zdGFydC5jb2x1bW4pO289cy5mb2xkcyxvLnNoaWZ0KCkscy5zdGFydC5yb3c9b1swXS5zdGFydC5yb3cscy5zdGFydC5jb2x1bW49b1swXS5zdGFydC5jb2x1bW59dGhpcy4kdXBkYXRpbmd8fCh0aGlzLiR1c2VXcmFwTW9kZT90aGlzLiR1cGRhdGVXcmFwRGF0YShpLG4pOnRoaXMuJHVwZGF0ZVJvd0xlbmd0aENhY2hlKGksbikpLHRoaXMuJG1vZGlmaWVkPSEwLHRoaXMuX3NpZ25hbCgiY2hhbmdlRm9sZCIse2RhdGE6ZSxhY3Rpb246InJlbW92ZSJ9KX0sdGhpcy5yZW1vdmVGb2xkcz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9W10saT0wO2k8ZS5sZW5ndGg7aSsrKXQucHVzaChlW2ldKTt0LmZvckVhY2goZnVuY3Rpb24oZSl7dGhpcy5yZW1vdmVGb2xkKGUpfSx0aGlzKSx0aGlzLiRtb2RpZmllZD0hMH0sdGhpcy5leHBhbmRGb2xkPWZ1bmN0aW9uKGUpe3RoaXMucmVtb3ZlRm9sZChlKSxlLnN1YkZvbGRzLmZvckVhY2goZnVuY3Rpb24odCl7ZS5yZXN0b3JlUmFuZ2UodCksdGhpcy5hZGRGb2xkKHQpfSx0aGlzKSxlLmNvbGxhcHNlQ2hpbGRyZW4+MCYmdGhpcy5mb2xkQWxsKGUuc3RhcnQucm93KzEsZS5lbmQucm93LGUuY29sbGFwc2VDaGlsZHJlbi0xKSxlLnN1YkZvbGRzPVtdfSx0aGlzLmV4cGFuZEZvbGRzPWZ1bmN0aW9uKGUpe2UuZm9yRWFjaChmdW5jdGlvbihlKXt0aGlzLmV4cGFuZEZvbGQoZSl9LHRoaXMpfSx0aGlzLnVuZm9sZD1mdW5jdGlvbihlLHQpe3ZhciBpLG47aWYobnVsbD09ZT8oaT1uZXcgcigwLDAsdGhpcy5nZXRMZW5ndGgoKSwwKSx0PSEwKTppPSJudW1iZXIiPT10eXBlb2YgZT9uZXcgcihlLDAsZSx0aGlzLmdldExpbmUoZSkubGVuZ3RoKToicm93ImluIGU/ci5mcm9tUG9pbnRzKGUsZSk6ZSxuPXRoaXMuZ2V0Rm9sZHNJblJhbmdlTGlzdChpKSx0KXRoaXMucmVtb3ZlRm9sZHMobik7ZWxzZSBmb3IodmFyIG89bjtvLmxlbmd0aDspdGhpcy5leHBhbmRGb2xkcyhvKSxvPXRoaXMuZ2V0Rm9sZHNJblJhbmdlTGlzdChpKTtyZXR1cm4gbi5sZW5ndGg/bjp2b2lkIDB9LHRoaXMuaXNSb3dGb2xkZWQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4hIXRoaXMuZ2V0Rm9sZExpbmUoZSx0KX0sdGhpcy5nZXRSb3dGb2xkRW5kPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5nZXRGb2xkTGluZShlLHQpO3JldHVybiBpP2kuZW5kLnJvdzplfSx0aGlzLmdldFJvd0ZvbGRTdGFydD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMuZ2V0Rm9sZExpbmUoZSx0KTtyZXR1cm4gaT9pLnN0YXJ0LnJvdzplfSx0aGlzLmdldEZvbGREaXNwbGF5TGluZT1mdW5jdGlvbihlLHQsaSxuLHIpe251bGw9PW4mJihuPWUuc3RhcnQucm93KSxudWxsPT1yJiYocj0wKSxudWxsPT10JiYodD1lLmVuZC5yb3cpLG51bGw9PWkmJihpPXRoaXMuZ2V0TGluZSh0KS5sZW5ndGgpO3ZhciBvPXRoaXMuZG9jLHM9IiI7cmV0dXJuIGUud2FsayhmdW5jdGlvbihlLHQsaSxhKXtpZighKG4+dCkpe2lmKHQ9PW4pe2lmKHI+aSlyZXR1cm47YT1NYXRoLm1heChyLGEpfXMrPW51bGwhPWU/ZTpvLmdldExpbmUodCkuc3Vic3RyaW5nKGEsaSl9fSx0LGkpLHN9LHRoaXMuZ2V0RGlzcGxheUxpbmU9ZnVuY3Rpb24oZSx0LGksbil7dmFyIHI9dGhpcy5nZXRGb2xkTGluZShlKTtpZihyKXJldHVybiB0aGlzLmdldEZvbGREaXNwbGF5TGluZShyLGUsdCxpLG4pO3ZhciBvO3JldHVybiBvPXRoaXMuZG9jLmdldExpbmUoZSksby5zdWJzdHJpbmcobnx8MCx0fHxvLmxlbmd0aCl9LHRoaXMuJGNsb25lRm9sZERhdGE9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gZT10aGlzLiRmb2xkRGF0YS5tYXAoZnVuY3Rpb24odCl7dmFyIGk9dC5mb2xkcy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuY2xvbmUoKX0pO3JldHVybiBuZXcgbyhlLGkpfSl9LHRoaXMudG9nZ2xlRm9sZD1mdW5jdGlvbihlKXt2YXIgdCxpLG49dGhpcy5zZWxlY3Rpb24scj1uLmdldFJhbmdlKCk7aWYoci5pc0VtcHR5KCkpe3ZhciBvPXIuc3RhcnQ7aWYodD10aGlzLmdldEZvbGRBdChvLnJvdyxvLmNvbHVtbikpcmV0dXJuIHZvaWQgdGhpcy5leHBhbmRGb2xkKHQpOyhpPXRoaXMuZmluZE1hdGNoaW5nQnJhY2tldChvKSk/MT09ci5jb21wYXJlUG9pbnQoaSk/ci5lbmQ9aTooci5zdGFydD1pLHIuc3RhcnQuY29sdW1uKyssci5lbmQuY29sdW1uLS0pOihpPXRoaXMuZmluZE1hdGNoaW5nQnJhY2tldCh7cm93Om8ucm93LGNvbHVtbjpvLmNvbHVtbisxfSkpPygxPT1yLmNvbXBhcmVQb2ludChpKT9yLmVuZD1pOnIuc3RhcnQ9aSxyLnN0YXJ0LmNvbHVtbisrKTpyPXRoaXMuZ2V0Q29tbWVudEZvbGRSYW5nZShvLnJvdyxvLmNvbHVtbil8fHJ9ZWxzZXt2YXIgcz10aGlzLmdldEZvbGRzSW5SYW5nZShyKTtpZihlJiZzLmxlbmd0aClyZXR1cm4gdm9pZCB0aGlzLmV4cGFuZEZvbGRzKHMpOzE9PXMubGVuZ3RoJiYodD1zWzBdKX1pZih0fHwodD10aGlzLmdldEZvbGRBdChyLnN0YXJ0LnJvdyxyLnN0YXJ0LmNvbHVtbikpLHQmJnQucmFuZ2UudG9TdHJpbmcoKT09ci50b1N0cmluZygpKXJldHVybiB2b2lkIHRoaXMuZXhwYW5kRm9sZCh0KTt2YXIgYT0iLi4uIjtpZighci5pc011bHRpTGluZSgpKXtpZihhPXRoaXMuZ2V0VGV4dFJhbmdlKHIpLGEubGVuZ3RoPDQpcmV0dXJuO2E9YS50cmltKCkuc3Vic3RyaW5nKDAsMikrIi4uIn10aGlzLmFkZEZvbGQoYSxyKX0sdGhpcy5nZXRDb21tZW50Rm9sZFJhbmdlPWZ1bmN0aW9uKGUsdCxpKXt2YXIgbj1uZXcgYSh0aGlzLGUsdCksbz1uLmdldEN1cnJlbnRUb2tlbigpO2lmKG8mJi9eY29tbWVudHxzdHJpbmcvLnRlc3Qoby50eXBlKSl7dmFyIHM9bmV3IHIsbD1uZXcgUmVnRXhwKG8udHlwZS5yZXBsYWNlKC9cLi4qLywiXFwuIikpO2lmKDEhPWkpe2RvIG89bi5zdGVwQmFja3dhcmQoKTt3aGlsZShvJiZsLnRlc3Qoby50eXBlKSk7bi5zdGVwRm9yd2FyZCgpfWlmKHMuc3RhcnQucm93PW4uZ2V0Q3VycmVudFRva2VuUm93KCkscy5zdGFydC5jb2x1bW49bi5nZXRDdXJyZW50VG9rZW5Db2x1bW4oKSsyLG49bmV3IGEodGhpcyxlLHQpLC0xIT1pKXtkbyBvPW4uc3RlcEZvcndhcmQoKTt3aGlsZShvJiZsLnRlc3Qoby50eXBlKSk7bz1uLnN0ZXBCYWNrd2FyZCgpfWVsc2Ugbz1uLmdldEN1cnJlbnRUb2tlbigpO3JldHVybiBzLmVuZC5yb3c9bi5nZXRDdXJyZW50VG9rZW5Sb3coKSxzLmVuZC5jb2x1bW49bi5nZXRDdXJyZW50VG9rZW5Db2x1bW4oKStvLnZhbHVlLmxlbmd0aC0yLHN9fSx0aGlzLmZvbGRBbGw9ZnVuY3Rpb24oZSx0LGkpe3ZvaWQgMD09aSYmKGk9MWU1KTt2YXIgbj10aGlzLmZvbGRXaWRnZXRzO2lmKG4pe3Q9dHx8dGhpcy5nZXRMZW5ndGgoKSxlPWV8fDA7Zm9yKHZhciByPWU7dD5yO3IrKylpZihudWxsPT1uW3JdJiYobltyXT10aGlzLmdldEZvbGRXaWRnZXQocikpLCJzdGFydCI9PW5bcl0pe3ZhciBvPXRoaXMuZ2V0Rm9sZFdpZGdldFJhbmdlKHIpO2lmKG8mJm8uaXNNdWx0aUxpbmUoKSYmby5lbmQucm93PD10JiZvLnN0YXJ0LnJvdz49ZSl7cj1vLmVuZC5yb3c7dHJ5e3ZhciBzPXRoaXMuYWRkRm9sZCgiLi4uIixvKTtzJiYocy5jb2xsYXBzZUNoaWxkcmVuPWkpfWNhdGNoKGEpe319fX19LHRoaXMuJGZvbGRTdHlsZXM9e21hbnVhbDoxLG1hcmtiZWdpbjoxLG1hcmtiZWdpbmVuZDoxfSx0aGlzLiRmb2xkU3R5bGU9Im1hcmtiZWdpbiIsdGhpcy5zZXRGb2xkU3R5bGU9ZnVuY3Rpb24oZSl7aWYoIXRoaXMuJGZvbGRTdHlsZXNbZV0pdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGZvbGQgc3R5bGU6ICIrZSsiWyIrT2JqZWN0LmtleXModGhpcy4kZm9sZFN0eWxlcykuam9pbigiLCAiKSsiXSIpO2lmKHRoaXMuJGZvbGRTdHlsZSE9ZSl7dGhpcy4kZm9sZFN0eWxlPWUsIm1hbnVhbCI9PWUmJnRoaXMudW5mb2xkKCk7dmFyIHQ9dGhpcy4kZm9sZE1vZGU7dGhpcy4kc2V0Rm9sZGluZyhudWxsKSx0aGlzLiRzZXRGb2xkaW5nKHQpfX0sdGhpcy4kc2V0Rm9sZGluZz1mdW5jdGlvbihlKXtpZih0aGlzLiRmb2xkTW9kZSE9ZSl7aWYodGhpcy4kZm9sZE1vZGU9ZSx0aGlzLm9mZigiY2hhbmdlIix0aGlzLiR1cGRhdGVGb2xkV2lkZ2V0cyksdGhpcy5vZmYoInRva2VuaXplclVwZGF0ZSIsdGhpcy4kdG9rZW5pemVyVXBkYXRlRm9sZFdpZGdldHMpLHRoaXMuX3NpZ25hbCgiY2hhbmdlQW5ub3RhdGlvbiIpLCFlfHwibWFudWFsIj09dGhpcy4kZm9sZFN0eWxlKXJldHVybiB2b2lkKHRoaXMuZm9sZFdpZGdldHM9bnVsbCk7dGhpcy5mb2xkV2lkZ2V0cz1bXSx0aGlzLmdldEZvbGRXaWRnZXQ9ZS5nZXRGb2xkV2lkZ2V0LmJpbmQoZSx0aGlzLHRoaXMuJGZvbGRTdHlsZSksdGhpcy5nZXRGb2xkV2lkZ2V0UmFuZ2U9ZS5nZXRGb2xkV2lkZ2V0UmFuZ2UuYmluZChlLHRoaXMsdGhpcy4kZm9sZFN0eWxlKSx0aGlzLiR1cGRhdGVGb2xkV2lkZ2V0cz10aGlzLnVwZGF0ZUZvbGRXaWRnZXRzLmJpbmQodGhpcyksdGhpcy4kdG9rZW5pemVyVXBkYXRlRm9sZFdpZGdldHM9dGhpcy50b2tlbml6ZXJVcGRhdGVGb2xkV2lkZ2V0cy5iaW5kKHRoaXMpLHRoaXMub24oImNoYW5nZSIsdGhpcy4kdXBkYXRlRm9sZFdpZGdldHMpLHRoaXMub24oInRva2VuaXplclVwZGF0ZSIsdGhpcy4kdG9rZW5pemVyVXBkYXRlRm9sZFdpZGdldHMpfX0sdGhpcy5nZXRQYXJlbnRGb2xkUmFuZ2VEYXRhPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5mb2xkV2lkZ2V0cztpZighaXx8dCYmaVtlXSlyZXR1cm57fTtmb3IodmFyIG4scj1lLTE7cj49MDspe3ZhciBvPWlbcl07aWYobnVsbD09byYmKG89aVtyXT10aGlzLmdldEZvbGRXaWRnZXQocikpLCJzdGFydCI9PW8pe3ZhciBzPXRoaXMuZ2V0Rm9sZFdpZGdldFJhbmdlKHIpO2lmKG58fChuPXMpLHMmJnMuZW5kLnJvdz49ZSlicmVha31yLS19cmV0dXJue3JhbmdlOi0xIT09ciYmcyxmaXJzdFJhbmdlOm59fSx0aGlzLm9uRm9sZFdpZGdldENsaWNrPWZ1bmN0aW9uKGUsdCl7dD10LmRvbUV2ZW50O3ZhciBpPXtjaGlsZHJlbjp0LnNoaWZ0S2V5LGFsbDp0LmN0cmxLZXl8fHQubWV0YUtleSxzaWJsaW5nczp0LmFsdEtleX0sbj10aGlzLiR0b2dnbGVGb2xkV2lkZ2V0KGUsaSk7aWYoIW4pe3ZhciByPXQudGFyZ2V0fHx0LnNyY0VsZW1lbnQ7ciYmL2FjZV9mb2xkLXdpZGdldC8udGVzdChyLmNsYXNzTmFtZSkmJihyLmNsYXNzTmFtZSs9IiBhY2VfaW52YWxpZCIpfX0sdGhpcy4kdG9nZ2xlRm9sZFdpZGdldD1mdW5jdGlvbihlLHQpe2lmKHRoaXMuZ2V0Rm9sZFdpZGdldCl7dmFyIGk9dGhpcy5nZXRGb2xkV2lkZ2V0KGUpLG49dGhpcy5nZXRMaW5lKGUpLHI9ImVuZCI9PT1pPy0xOjEsbz10aGlzLmdldEZvbGRBdChlLC0xPT09cj8wOm4ubGVuZ3RoLHIpO2lmKG8pcmV0dXJuIHZvaWQodC5jaGlsZHJlbnx8dC5hbGw/dGhpcy5yZW1vdmVGb2xkKG8pOnRoaXMuZXhwYW5kRm9sZChvKSk7dmFyIHM9dGhpcy5nZXRGb2xkV2lkZ2V0UmFuZ2UoZSwhMCk7aWYocyYmIXMuaXNNdWx0aUxpbmUoKSYmKG89dGhpcy5nZXRGb2xkQXQocy5zdGFydC5yb3cscy5zdGFydC5jb2x1bW4sMSksbyYmcy5pc0VxdWFsKG8ucmFuZ2UpKSlyZXR1cm4gdm9pZCB0aGlzLnJlbW92ZUZvbGQobyk7aWYodC5zaWJsaW5ncyl7dmFyIGE9dGhpcy5nZXRQYXJlbnRGb2xkUmFuZ2VEYXRhKGUpO2lmKGEucmFuZ2UpdmFyIGw9YS5yYW5nZS5zdGFydC5yb3crMSxjPWEucmFuZ2UuZW5kLnJvdzt0aGlzLmZvbGRBbGwobCxjLHQuYWxsPzFlNDowKX1lbHNlIHQuY2hpbGRyZW4/KGM9cz9zLmVuZC5yb3c6dGhpcy5nZXRMZW5ndGgoKSx0aGlzLmZvbGRBbGwoZSsxLGMsdC5hbGw/MWU0OjApKTpzJiYodC5hbGwmJihzLmNvbGxhcHNlQ2hpbGRyZW49MWU0KSx0aGlzLmFkZEZvbGQoIi4uLiIscykpO3JldHVybiBzfX0sdGhpcy50b2dnbGVGb2xkV2lkZ2V0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuc2VsZWN0aW9uLmdldEN1cnNvcigpLnJvdzt0PXRoaXMuZ2V0Um93Rm9sZFN0YXJ0KHQpO3ZhciBpPXRoaXMuJHRvZ2dsZUZvbGRXaWRnZXQodCx7fSk7aWYoIWkpe3ZhciBuPXRoaXMuZ2V0UGFyZW50Rm9sZFJhbmdlRGF0YSh0LCEwKTtpZihpPW4ucmFuZ2V8fG4uZmlyc3RSYW5nZSl7dD1pLnN0YXJ0LnJvdzt2YXIgcj10aGlzLmdldEZvbGRBdCh0LHRoaXMuZ2V0TGluZSh0KS5sZW5ndGgsMSk7cj90aGlzLnJlbW92ZUZvbGQocik6dGhpcy5hZGRGb2xkKCIuLi4iLGkpfX19LHRoaXMudXBkYXRlRm9sZFdpZGdldHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zdGFydC5yb3csaT1lLmVuZC5yb3ctdDtpZigwPT09aSl0aGlzLmZvbGRXaWRnZXRzW3RdPW51bGw7ZWxzZSBpZigicmVtb3ZlIj09ZS5hY3Rpb24pdGhpcy5mb2xkV2lkZ2V0cy5zcGxpY2UodCxpKzEsbnVsbCk7ZWxzZXt2YXIgbj1BcnJheShpKzEpO24udW5zaGlmdCh0LDEpLHRoaXMuZm9sZFdpZGdldHMuc3BsaWNlLmFwcGx5KHRoaXMuZm9sZFdpZGdldHMsbil9fSx0aGlzLnRva2VuaXplclVwZGF0ZUZvbGRXaWRnZXRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUuZGF0YTt0LmZpcnN0IT10Lmxhc3QmJnRoaXMuZm9sZFdpZGdldHMubGVuZ3RoPnQuZmlyc3QmJnRoaXMuZm9sZFdpZGdldHMuc3BsaWNlKHQuZmlyc3QsdGhpcy5mb2xkV2lkZ2V0cy5sZW5ndGgpfX12YXIgcj1lKCIuLi9yYW5nZSIpLlJhbmdlLG89ZSgiLi9mb2xkX2xpbmUiKS5Gb2xkTGluZSxzPWUoIi4vZm9sZCIpLkZvbGQsYT1lKCIuLi90b2tlbl9pdGVyYXRvciIpLlRva2VuSXRlcmF0b3I7dC5Gb2xkaW5nPW59KSxhY2UuZGVmaW5lKCJhY2UvZWRpdF9zZXNzaW9uL2JyYWNrZXRfbWF0Y2giLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJhY2UvdG9rZW5faXRlcmF0b3IiLCJhY2UvcmFuZ2UiXSxmdW5jdGlvbihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oKXt0aGlzLmZpbmRNYXRjaGluZ0JyYWNrZXQ9ZnVuY3Rpb24oZSx0KXtpZigwPT1lLmNvbHVtbilyZXR1cm4gbnVsbDt2YXIgaT10fHx0aGlzLmdldExpbmUoZS5yb3cpLmNoYXJBdChlLmNvbHVtbi0xKTtpZigiIj09aSlyZXR1cm4gbnVsbDt2YXIgbj1pLm1hdGNoKC8oW1woXFtce10pfChbXClcXVx9XSkvKTtyZXR1cm4gbj9uWzFdP3RoaXMuJGZpbmRDbG9zaW5nQnJhY2tldChuWzFdLGUpOnRoaXMuJGZpbmRPcGVuaW5nQnJhY2tldChuWzJdLGUpOm51bGx9LHRoaXMuZ2V0QnJhY2tldFJhbmdlPWZ1bmN0aW9uKGUpe3ZhciB0LGk9dGhpcy5nZXRMaW5lKGUucm93KSxuPSEwLHI9aS5jaGFyQXQoZS5jb2x1bW4tMSkscz1yJiZyLm1hdGNoKC8oW1woXFtce10pfChbXClcXVx9XSkvKTtpZihzfHwocj1pLmNoYXJBdChlLmNvbHVtbiksZT17cm93OmUucm93LGNvbHVtbjplLmNvbHVtbisxfSxzPXImJnIubWF0Y2goLyhbXChcW1x7XSl8KFtcKVxdXH1dKS8pLG49ITEpLCFzKXJldHVybiBudWxsO2lmKHNbMV0pe3ZhciBhPXRoaXMuJGZpbmRDbG9zaW5nQnJhY2tldChzWzFdLGUpO2lmKCFhKXJldHVybiBudWxsO3Q9by5mcm9tUG9pbnRzKGUsYSksbnx8KHQuZW5kLmNvbHVtbisrLHQuc3RhcnQuY29sdW1uLS0pLHQuY3Vyc29yPXQuZW5kfWVsc2V7dmFyIGE9dGhpcy4kZmluZE9wZW5pbmdCcmFja2V0KHNbMl0sZSk7aWYoIWEpcmV0dXJuIG51bGw7dD1vLmZyb21Qb2ludHMoYSxlKSxufHwodC5zdGFydC5jb2x1bW4rKyx0LmVuZC5jb2x1bW4tLSksdC5jdXJzb3I9dC5zdGFydH1yZXR1cm4gdH0sdGhpcy4kYnJhY2tldHM9eyIpIjoiKCIsIigiOiIpIiwiXSI6IlsiLCJbIjoiXSIsInsiOiJ9IiwifSI6InsifSx0aGlzLiRmaW5kT3BlbmluZ0JyYWNrZXQ9ZnVuY3Rpb24oZSx0LGkpewp2YXIgbj10aGlzLiRicmFja2V0c1tlXSxvPTEscz1uZXcgcih0aGlzLHQucm93LHQuY29sdW1uKSxhPXMuZ2V0Q3VycmVudFRva2VuKCk7aWYoYXx8KGE9cy5zdGVwRm9yd2FyZCgpKSxhKXtpfHwoaT1uZXcgUmVnRXhwKCIoXFwuPyIrYS50eXBlLnJlcGxhY2UoIi4iLCJcXC4iKS5yZXBsYWNlKCJycGFyZW4iLCIucGFyZW4iKS5yZXBsYWNlKC9cYig/OmVuZClcYi8sIig/OnN0YXJ0fGJlZ2lufGVuZCkiKSsiKSsiKSk7Zm9yKHZhciBsPXQuY29sdW1uLXMuZ2V0Q3VycmVudFRva2VuQ29sdW1uKCktMixjPWEudmFsdWU7Oyl7Zm9yKDtsPj0wOyl7dmFyIGg9Yy5jaGFyQXQobCk7aWYoaD09bil7aWYoby09MSwwPT1vKXJldHVybntyb3c6cy5nZXRDdXJyZW50VG9rZW5Sb3coKSxjb2x1bW46bCtzLmdldEN1cnJlbnRUb2tlbkNvbHVtbigpfX1lbHNlIGg9PWUmJihvKz0xKTtsLT0xfWRvIGE9cy5zdGVwQmFja3dhcmQoKTt3aGlsZShhJiYhaS50ZXN0KGEudHlwZSkpO2lmKG51bGw9PWEpYnJlYWs7Yz1hLnZhbHVlLGw9Yy5sZW5ndGgtMX1yZXR1cm4gbnVsbH19LHRoaXMuJGZpbmRDbG9zaW5nQnJhY2tldD1mdW5jdGlvbihlLHQsaSl7dmFyIG49dGhpcy4kYnJhY2tldHNbZV0sbz0xLHM9bmV3IHIodGhpcyx0LnJvdyx0LmNvbHVtbiksYT1zLmdldEN1cnJlbnRUb2tlbigpO2lmKGF8fChhPXMuc3RlcEZvcndhcmQoKSksYSl7aXx8KGk9bmV3IFJlZ0V4cCgiKFxcLj8iK2EudHlwZS5yZXBsYWNlKCIuIiwiXFwuIikucmVwbGFjZSgibHBhcmVuIiwiLnBhcmVuIikucmVwbGFjZSgvXGIoPzpzdGFydHxiZWdpbilcYi8sIig/OnN0YXJ0fGJlZ2lufGVuZCkiKSsiKSsiKSk7Zm9yKHZhciBsPXQuY29sdW1uLXMuZ2V0Q3VycmVudFRva2VuQ29sdW1uKCk7Oyl7Zm9yKHZhciBjPWEudmFsdWUsaD1jLmxlbmd0aDtoPmw7KXt2YXIgZD1jLmNoYXJBdChsKTtpZihkPT1uKXtpZihvLT0xLDA9PW8pcmV0dXJue3JvdzpzLmdldEN1cnJlbnRUb2tlblJvdygpLGNvbHVtbj