diff options
author | Johannes Ranke <jranke@uni-bremen.de> | 2016-09-10 04:03:08 +0200 |
---|---|---|
committer | Johannes Ranke <jranke@uni-bremen.de> | 2016-09-10 04:33:02 +0200 |
commit | 3b399df5231576880fd9e0ae7253064d82edfe86 (patch) | |
tree | bf0993ec35b4a02d4d76c35631df8265372ad869 /inst/web/vignettes/compiled_models.html | |
parent | fe16512e7f9e875340d498b01920e5967a2b7bd0 (diff) |
Static documentation rebuilt by staticdocs::build_site()
Diffstat (limited to 'inst/web/vignettes/compiled_models.html')
-rw-r--r-- | inst/web/vignettes/compiled_models.html | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/inst/web/vignettes/compiled_models.html b/inst/web/vignettes/compiled_models.html index 12289676..004a808c 100644 --- a/inst/web/vignettes/compiled_models.html +++ b/inst/web/vignettes/compiled_models.html @@ -11,7 +11,7 @@ <meta name="author" content="Johannes Ranke" /> -<meta name="date" content="2016-06-28" /> +<meta name="date" content="2016-09-10" /> <title>Performance benefit by using compiled model definitions in mkin</title> @@ -27,7 +27,7 @@ <style type="text/css">code{white-space: pre;}</style> <link href="data:text/css;charset=utf-8,pre%20%2Eoperator%2C%0Apre%20%2Eparen%20%7B%0Acolor%3A%20rgb%28104%2C%20118%2C%20135%29%0A%7D%0Apre%20%2Eliteral%20%7B%0Acolor%3A%20%23990073%0A%7D%0Apre%20%2Enumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0Apre%20%2Ecomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%0A%7D%0Apre%20%2Ekeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%0A%7D%0Apre%20%2Eidentifier%20%7B%0Acolor%3A%20rgb%280%2C%200%2C%200%29%3B%0A%7D%0Apre%20%2Estring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A" rel="stylesheet" type="text/css" /> -<script src="data:application/x-javascript;base64,CnZhciBobGpzPW5ldyBmdW5jdGlvbigpe2Z1bmN0aW9uIG0ocCl7cmV0dXJuIHAucmVwbGFjZSgvJi9nbSwiJmFtcDsiKS5yZXBsYWNlKC88L2dtLCImbHQ7Iil9ZnVuY3Rpb24gZihyLHEscCl7cmV0dXJuIFJlZ0V4cChxLCJtIisoci5jST8iaSI6IiIpKyhwPyJnIjoiIikpfWZ1bmN0aW9uIGIocil7Zm9yKHZhciBwPTA7cDxyLmNoaWxkTm9kZXMubGVuZ3RoO3ArKyl7dmFyIHE9ci5jaGlsZE5vZGVzW3BdO2lmKHEubm9kZU5hbWU9PSJDT0RFIil7cmV0dXJuIHF9aWYoIShxLm5vZGVUeXBlPT0zJiZxLm5vZGVWYWx1ZS5tYXRjaCgvXHMrLykpKXticmVha319fWZ1bmN0aW9uIGgodCxzKXt2YXIgcD0iIjtmb3IodmFyIHI9MDtyPHQuY2hpbGROb2Rlcy5sZW5ndGg7cisrKXtpZih0LmNoaWxkTm9kZXNbcl0ubm9kZVR5cGU9PTMpe3ZhciBxPXQuY2hpbGROb2Rlc1tyXS5ub2RlVmFsdWU7aWYocyl7cT1xLnJlcGxhY2UoL1xuL2csIiIpfXArPXF9ZWxzZXtpZih0LmNoaWxkTm9kZXNbcl0ubm9kZU5hbWU9PSJCUiIpe3ArPSJcbiJ9ZWxzZXtwKz1oKHQuY2hpbGROb2Rlc1tyXSl9fX1pZigvTVNJRSBbNjc4XS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSl7cD1wLnJlcGxhY2UoL1xyL2csIlxuIil9cmV0dXJuIHB9ZnVuY3Rpb24gYShzKXt2YXIgcj1zLmNsYXNzTmFtZS5zcGxpdCgvXHMrLyk7cj1yLmNvbmNhdChzLnBhcmVudE5vZGUuY2xhc3NOYW1lLnNwbGl0KC9ccysvKSk7Zm9yKHZhciBxPTA7cTxyLmxlbmd0aDtxKyspe3ZhciBwPXJbcV0ucmVwbGFjZSgvXmxhbmd1YWdlLS8sIiIpO2lmKGVbcF0pe3JldHVybiBwfX19ZnVuY3Rpb24gYyhxKXt2YXIgcD1bXTsoZnVuY3Rpb24ocyx0KXtmb3IodmFyIHI9MDtyPHMuY2hpbGROb2Rlcy5sZW5ndGg7cisrKXtpZihzLmNoaWxkTm9kZXNbcl0ubm9kZVR5cGU9PTMpe3QrPXMuY2hpbGROb2Rlc1tyXS5ub2RlVmFsdWUubGVuZ3RofWVsc2V7aWYocy5jaGlsZE5vZGVzW3JdLm5vZGVOYW1lPT0iQlIiKXt0Kz0xfWVsc2V7aWYocy5jaGlsZE5vZGVzW3JdLm5vZGVUeXBlPT0xKXtwLnB1c2goe2V2ZW50OiJzdGFydCIsb2Zmc2V0OnQsbm9kZTpzLmNoaWxkTm9kZXNbcl19KTt0PWFyZ3VtZW50cy5jYWxsZWUocy5jaGlsZE5vZGVzW3JdLHQpO3AucHVzaCh7ZXZlbnQ6InN0b3AiLG9mZnNldDp0LG5vZGU6cy5jaGlsZE5vZGVzW3JdfSl9fX19cmV0dXJuIHR9KShxLDApO3JldHVybiBwfWZ1bmN0aW9uIGsoeSx3LHgpe3ZhciBxPTA7dmFyIHo9IiI7dmFyIHM9W107ZnVuY3Rpb24gdSgpe2lmKHkubGVuZ3RoJiZ3Lmxlbmd0aCl7aWYoeVswXS5vZmZzZXQhPXdbMF0ub2Zmc2V0KXtyZXR1cm4oeVswXS5vZmZzZXQ8d1swXS5vZmZzZXQpP3k6d31lbHNle3JldHVybiB3WzBdLmV2ZW50PT0ic3RhcnQiP3k6d319ZWxzZXtyZXR1cm4geS5sZW5ndGg/eTp3fX1mdW5jdGlvbiB0KEQpe3ZhciBBPSI8IitELm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7Zm9yKHZhciBCPTA7QjxELmF0dHJpYnV0ZXMubGVuZ3RoO0IrKyl7dmFyIEM9RC5hdHRyaWJ1dGVzW0JdO0ErPSIgIitDLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoQy52YWx1ZSE9PXVuZGVmaW5lZCYmQy52YWx1ZSE9PWZhbHNlJiZDLnZhbHVlIT09bnVsbCl7QSs9Jz0iJyttKEMudmFsdWUpKyciJ319cmV0dXJuIEErIj4ifXdoaWxlKHkubGVuZ3RofHx3Lmxlbmd0aCl7dmFyIHY9dSgpLnNwbGljZSgwLDEpWzBdO3orPW0oeC5zdWJzdHIocSx2Lm9mZnNldC1xKSk7cT12Lm9mZnNldDtpZih2LmV2ZW50PT0ic3RhcnQiKXt6Kz10KHYubm9kZSk7cy5wdXNoKHYubm9kZSl9ZWxzZXtpZih2LmV2ZW50PT0ic3RvcCIpe3ZhciBwLHI9cy5sZW5ndGg7ZG97ci0tO3A9c1tyXTt6Kz0oIjwvIitwLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkrIj4iKX13aGlsZShwIT12Lm5vZGUpO3Muc3BsaWNlKHIsMSk7d2hpbGUocjxzLmxlbmd0aCl7eis9dChzW3JdKTtyKyt9fX19cmV0dXJuIHorbSh4LnN1YnN0cihxKSl9ZnVuY3Rpb24gaigpe2Z1bmN0aW9uIHEoeCx5LHYpe2lmKHguY29tcGlsZWQpe3JldHVybn12YXIgdTt2YXIgcz1bXTtpZih4Lmspe3gubFI9Zih5LHgubHx8aGxqcy5JUix0cnVlKTtmb3IodmFyIHcgaW4geC5rKXtpZigheC5rLmhhc093blByb3BlcnR5KHcpKXtjb250aW51ZX1pZih4Lmtbd10gaW5zdGFuY2VvZiBPYmplY3Qpe3U9eC5rW3ddfWVsc2V7dT14Lms7dz0ia2V5d29yZCJ9Zm9yKHZhciByIGluIHUpe2lmKCF1Lmhhc093blByb3BlcnR5KHIpKXtjb250aW51ZX14Lmtbcl09W3csdVtyXV07cy5wdXNoKHIpfX19aWYoIXYpe2lmKHguYldLKXt4LmI9IlxcYigiK3Muam9pbigifCIpKyIpXFxzIn14LmJSPWYoeSx4LmI/eC5iOiJcXEJ8XFxiIik7aWYoIXguZSYmIXguZVcpe3guZT0iXFxCfFxcYiJ9aWYoeC5lKXt4LmVSPWYoeSx4LmUpfX1pZih4Lmkpe3guaVI9Zih5LHguaSl9aWYoeC5yPT09dW5kZWZpbmVkKXt4LnI9MX1pZigheC5jKXt4LmM9W119eC5jb21waWxlZD10cnVlO2Zvcih2YXIgdD0wO3Q8eC5jLmxlbmd0aDt0Kyspe2lmKHguY1t0XT09InNlbGYiKXt4LmNbdF09eH1xKHguY1t0XSx5LGZhbHNlKX1pZih4LnN0YXJ0cyl7cSh4LnN0YXJ0cyx5LGZhbHNlKX19Zm9yKHZhciBwIGluIGUpe2lmKCFlLmhhc093blByb3BlcnR5KHApKXtjb250aW51ZX1xKGVbcF0uZE0sZVtwXSx0cnVlKX19ZnVuY3Rpb24gZChCLEMpe2lmKCFqLmNhbGxlZCl7aigpO2ouY2FsbGVkPXRydWV9ZnVuY3Rpb24gcShyLE0pe2Zvcih2YXIgTD0wO0w8TS5jLmxlbmd0aDtMKyspe2lmKChNLmNbTF0uYlIuZXhlYyhyKXx8W251bGxdKVswXT09cil7cmV0dXJuIE0uY1tMXX19fWZ1bmN0aW9uIHYoTCxyKXtpZihEW0xdLmUmJkRbTF0uZVIudGVzdChyKSl7cmV0dXJuIDF9aWYoRFtMXS5lVyl7dmFyIE09dihMLTEscik7cmV0dXJuIE0/TSsxOjB9cmV0dXJuIDB9ZnVuY3Rpb24gdyhyLEwpe3JldHVybiBMLmkmJkwuaVIudGVzdChyKX1mdW5jdGlvbiBLKE4sTyl7dmFyIE09W107Zm9yKHZhciBMPTA7TDxOLmMubGVuZ3RoO0wrKyl7TS5wdXNoKE4uY1tMXS5iKX12YXIgcj1ELmxlbmd0aC0xO2Rve2lmKERbcl0uZSl7TS5wdXNoKERbcl0uZSl9ci0tfXdoaWxlKERbcisxXS5lVyk7aWYoTi5pKXtNLnB1c2goTi5pKX1yZXR1cm4gZihPLE0uam9pbigifCIpLHRydWUpfWZ1bmN0aW9uIHAoTSxMKXt2YXIgTj1EW0QubGVuZ3RoLTFdO2lmKCFOLnQpe04udD1LKE4sRSl9Ti50Lmxhc3RJbmRleD1MO3ZhciByPU4udC5leGVjKE0pO3JldHVybiByP1tNLnN1YnN0cihMLHIuaW5kZXgtTCksclswXSxmYWxzZV06W00uc3Vic3RyKEwpLCIiLHRydWVdfWZ1bmN0aW9uIHooTixyKXt2YXIgTD1FLmNJP3JbMF0udG9Mb3dlckNhc2UoKTpyWzBdO3ZhciBNPU4ua1tMXTtpZihNJiZNIGluc3RhbmNlb2YgQXJyYXkpe3JldHVybiBNfXJldHVybiBmYWxzZX1mdW5jdGlvbiBGKEwsUCl7TD1tKEwpO2lmKCFQLmspe3JldHVybiBMfXZhciByPSIiO3ZhciBPPTA7UC5sUi5sYXN0SW5kZXg9MDt2YXIgTT1QLmxSLmV4ZWMoTCk7d2hpbGUoTSl7cis9TC5zdWJzdHIoTyxNLmluZGV4LU8pO3ZhciBOPXooUCxNKTtpZihOKXt4Kz1OWzFdO3IrPSc8c3BhbiBjbGFzcz0iJytOWzBdKyciPicrTVswXSsiPC9zcGFuPiJ9ZWxzZXtyKz1NWzBdfU89UC5sUi5sYXN0SW5kZXg7TT1QLmxSLmV4ZWMoTCl9cmV0dXJuIHIrTC5zdWJzdHIoTyxMLmxlbmd0aC1PKX1mdW5jdGlvbiBKKEwsTSl7aWYoTS5zTCYmZVtNLnNMXSl7dmFyIHI9ZChNLnNMLEwpO3grPXIua2V5d29yZF9jb3VudDtyZXR1cm4gci52YWx1ZX1lbHNle3JldHVybiBGKEwsTSl9fWZ1bmN0aW9uIEkoTSxyKXt2YXIgTD1NLmNOPyc8c3BhbiBjbGFzcz0iJytNLmNOKyciPic6IiI7aWYoTS5yQil7eSs9TDtNLmJ1ZmZlcj0iIn1lbHNle2lmKE0uZUIpe3krPW0ocikrTDtNLmJ1ZmZlcj0iIn1lbHNle3krPUw7TS5idWZmZXI9cn19RC5wdXNoKE0pO0ErPU0ucn1mdW5jdGlvbiBHKE4sTSxRKXt2YXIgUj1EW0QubGVuZ3RoLTFdO2lmKFEpe3krPUooUi5idWZmZXIrTixSKTtyZXR1cm4gZmFsc2V9dmFyIFA9cShNLFIpO2lmKFApe3krPUooUi5idWZmZXIrTixSKTtJKFAsTSk7cmV0dXJuIFAuckJ9dmFyIEw9dihELmxlbmd0aC0xLE0pO2lmKEwpe3ZhciBPPVIuY04/Ijwvc3Bhbj4iOiIiO2lmKFIuckUpe3krPUooUi5idWZmZXIrTixSKStPfWVsc2V7aWYoUi5lRSl7eSs9SihSLmJ1ZmZlcitOLFIpK08rbShNKX1lbHNle3krPUooUi5idWZmZXIrTitNLFIpK099fXdoaWxlKEw+MSl7Tz1EW0QubGVuZ3RoLTJdLmNOPyI8L3NwYW4+IjoiIjt5Kz1PO0wtLTtELmxlbmd0aC0tfXZhciByPURbRC5sZW5ndGgtMV07RC5sZW5ndGgtLTtEW0QubGVuZ3RoLTFdLmJ1ZmZlcj0iIjtpZihyLnN0YXJ0cyl7SShyLnN0YXJ0cywiIil9cmV0dXJuIFIuckV9aWYodyhNLFIpKXt0aHJvdyJJbGxlZ2FsIn19dmFyIEU9ZVtCXTt2YXIgRD1bRS5kTV07dmFyIEE9MDt2YXIgeD0wO3ZhciB5PSIiO3RyeXt2YXIgcyx1PTA7RS5kTS5idWZmZXI9IiI7ZG97cz1wKEMsdSk7dmFyIHQ9RyhzWzBdLHNbMV0sc1syXSk7dSs9c1swXS5sZW5ndGg7aWYoIXQpe3UrPXNbMV0ubGVuZ3RofX13aGlsZSghc1syXSk7aWYoRC5sZW5ndGg+MSl7dGhyb3ciSWxsZWdhbCJ9cmV0dXJue3I6QSxrZXl3b3JkX2NvdW50OngsdmFsdWU6eX19Y2F0Y2goSCl7aWYoSD09IklsbGVnYWwiKXtyZXR1cm57cjowLGtleXdvcmRfY291bnQ6MCx2YWx1ZTptKEMpfX1lbHNle3Rocm93IEh9fX1mdW5jdGlvbiBnKHQpe3ZhciBwPXtrZXl3b3JkX2NvdW50OjAscjowLHZhbHVlOm0odCl9O3ZhciByPXA7Zm9yKHZhciBxIGluIGUpe2lmKCFlLmhhc093blByb3BlcnR5KHEpKXtjb250aW51ZX12YXIgcz1kKHEsdCk7cy5sYW5ndWFnZT1xO2lmKHMua2V5d29yZF9jb3VudCtzLnI+ci5rZXl3b3JkX2NvdW50K3Iucil7cj1zfWlmKHMua2V5d29yZF9jb3VudCtzLnI+cC5rZXl3b3JkX2NvdW50K3Aucil7cj1wO3A9c319aWYoci5sYW5ndWFnZSl7cC5zZWNvbmRfYmVzdD1yfXJldHVybiBwfWZ1bmN0aW9uIGkocixxLHApe2lmKHEpe3I9ci5yZXBsYWNlKC9eKCg8W14+XSs+fFx0KSspL2dtLGZ1bmN0aW9uKHQsdyx2LHUpe3JldHVybiB3LnJlcGxhY2UoL1x0L2cscSl9KX1pZihwKXtyPXIucmVwbGFjZSgvXG4vZywiPGJyPiIpfXJldHVybiByfWZ1bmN0aW9uIG4odCx3LHIpe3ZhciB4PWgodCxyKTt2YXIgdj1hKHQpO3ZhciB5LHM7aWYodil7eT1kKHYseCl9ZWxzZXtyZXR1cm59dmFyIHE9Yyh0KTtpZihxLmxlbmd0aCl7cz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwcmUiKTtzLmlubmVySFRNTD15LnZhbHVlO3kudmFsdWU9ayhxLGMocykseCl9eS52YWx1ZT1pKHkudmFsdWUsdyxyKTt2YXIgdT10LmNsYXNzTmFtZTtpZighdS5tYXRjaCgiKFxcc3xeKShsYW5ndWFnZS0pPyIrdisiKFxcc3wkKSIpKXt1PXU/KHUrIiAiK3YpOnZ9aWYoL01TSUUgWzY3OF0vLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJnQudGFnTmFtZT09IkNPREUiJiZ0LnBhcmVudE5vZGUudGFnTmFtZT09IlBSRSIpe3M9dC5wYXJlbnROb2RlO3ZhciBwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3AuaW5uZXJIVE1MPSI8cHJlPjxjb2RlPiIreS52YWx1ZSsiPC9jb2RlPjwvcHJlPiI7dD1wLmZpcnN0Q2hpbGQuZmlyc3RDaGlsZDtwLmZpcnN0Q2hpbGQuY049cy5jTjtzLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHAuZmlyc3RDaGlsZCxzKX1lbHNle3QuaW5uZXJIVE1MPXkudmFsdWV9dC5jbGFzc05hbWU9dTt0LnJlc3VsdD17bGFuZ3VhZ2U6dixrdzp5LmtleXdvcmRfY291bnQscmU6eS5yfTtpZih5LnNlY29uZF9iZXN0KXt0LnNlY29uZF9iZXN0PXtsYW5ndWFnZTp5LnNlY29uZF9iZXN0Lmxhbmd1YWdlLGt3Onkuc2Vjb25kX2Jlc3Qua2V5d29yZF9jb3VudCxyZTp5LnNlY29uZF9iZXN0LnJ9fX1mdW5jdGlvbiBvKCl7aWYoby5jYWxsZWQpe3JldHVybn1vLmNhbGxlZD10cnVlO3ZhciByPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwcmUiKTtmb3IodmFyIHA9MDtwPHIubGVuZ3RoO3ArKyl7dmFyIHE9YihyW3BdKTtpZihxKXtuKHEsaGxqcy50YWJSZXBsYWNlKX19fWZ1bmN0aW9uIGwoKXtpZih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcil7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG8sZmFsc2UpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixvLGZhbHNlKX1lbHNle2lmKHdpbmRvdy5hdHRhY2hFdmVudCl7d2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLG8pfWVsc2V7d2luZG93Lm9ubG9hZD1vfX19dmFyIGU9e307dGhpcy5MQU5HVUFHRVM9ZTt0aGlzLmhpZ2hsaWdodD1kO3RoaXMuaGlnaGxpZ2h0QXV0bz1nO3RoaXMuZml4TWFya3VwPWk7dGhpcy5oaWdobGlnaHRCbG9jaz1uO3RoaXMuaW5pdEhpZ2hsaWdodGluZz1vO3RoaXMuaW5pdEhpZ2hsaWdodGluZ09uTG9hZD1sO3RoaXMuSVI9IlthLXpBLVpdW2EtekEtWjAtOV9dKiI7dGhpcy5VSVI9IlthLXpBLVpfXVthLXpBLVowLTlfXSoiO3RoaXMuTlI9IlxcYlxcZCsoXFwuXFxkKyk/Ijt0aGlzLkNOUj0iXFxiKDBbeFhdW2EtZkEtRjAtOV0rfChcXGQrKFxcLlxcZCopP3xcXC5cXGQrKShbZUVdWy0rXT9cXGQrKT8pIjt0aGlzLkJOUj0iXFxiKDBiWzAxXSspIjt0aGlzLlJTUj0iIXwhPXwhPT18JXwlPXwmfCYmfCY9fFxcKnxcXCo9fFxcK3xcXCs9fCx8XFwufC18LT18L3wvPXw6fDt8PHw8PHw8PD18PD18PXw9PXw9PT18Pnw+PXw+Pnw+Pj18Pj4+fD4+Pj18XFw/fFxcW3xcXHt8XFwofFxcXnxcXF49fFxcfHxcXHw9fFxcfFxcfHx+Ijt0aGlzLkVSPSIoPyFbXFxzXFxTXSkiO3RoaXMuQkU9e2I6IlxcXFwuIixyOjB9O3RoaXMuQVNNPXtjTjoic3RyaW5nIixiOiInIixlOiInIixpOiJcXG4iLGM6W3RoaXMuQkVdLHI6MH07dGhpcy5RU009e2NOOiJzdHJpbmciLGI6JyInLGU6JyInLGk6IlxcbiIsYzpbdGhpcy5CRV0scjowfTt0aGlzLkNMQ009e2NOOiJjb21tZW50IixiOiIvLyIsZToiJCJ9O3RoaXMuQ0JMQ0xNPXtjTjoiY29tbWVudCIsYjoiL1xcKiIsZToiXFwqLyJ9O3RoaXMuSENNPXtjTjoiY29tbWVudCIsYjoiIyIsZToiJCJ9O3RoaXMuTk09e2NOOiJudW1iZXIiLGI6dGhpcy5OUixyOjB9O3RoaXMuQ05NPXtjTjoibnVtYmVyIixiOnRoaXMuQ05SLHI6MH07dGhpcy5CTk09e2NOOiJudW1iZXIiLGI6dGhpcy5CTlIscjowfTt0aGlzLmluaGVyaXQ9ZnVuY3Rpb24ocixzKXt2YXIgcD17fTtmb3IodmFyIHEgaW4gcil7cFtxXT1yW3FdfWlmKHMpe2Zvcih2YXIgcSBpbiBzKXtwW3FdPXNbcV19fXJldHVybiBwfX0oKTtobGpzLkxBTkdVQUdFUy5jcHA9ZnVuY3Rpb24oKXt2YXIgYT17a2V5d29yZDp7ImZhbHNlIjoxLCJpbnQiOjEsImZsb2F0IjoxLCJ3aGlsZSI6MSwicHJpdmF0ZSI6MSwiY2hhciI6MSwiY2F0Y2giOjEsImV4cG9ydCI6MSx2aXJ0dWFsOjEsb3BlcmF0b3I6MixzaXplb2Y6MixkeW5hbWljX2Nhc3Q6Mix0eXBlZGVmOjIsY29uc3RfY2FzdDoyLCJjb25zdCI6MSxzdHJ1Y3Q6MSwiZm9yIjoxLHN0YXRpY19jYXN0OjIsdW5pb246MSxuYW1lc3BhY2U6MSx1bnNpZ25lZDoxLCJsb25nIjoxLCJ0aHJvdyI6MSwidm9sYXRpbGUiOjIsInN0YXRpYyI6MSwicHJvdGVjdGVkIjoxLGJvb2w6MSx0ZW1wbGF0ZToxLG11dGFibGU6MSwiaWYiOjEsInB1YmxpYyI6MSxmcmllbmQ6MiwiZG8iOjEsInJldHVybiI6MSwiZ290byI6MSxhdXRvOjEsInZvaWQiOjIsImVudW0iOjEsImVsc2UiOjEsImJyZWFrIjoxLCJuZXciOjEsZXh0ZXJuOjEsdXNpbmc6MSwidHJ1ZSI6MSwiY2xhc3MiOjEsYXNtOjEsImNhc2UiOjEsdHlwZWlkOjEsInNob3J0IjoxLHJlaW50ZXJwcmV0X2Nhc3Q6MiwiZGVmYXVsdCI6MSwiZG91YmxlIjoxLHJlZ2lzdGVyOjEsZXhwbGljaXQ6MSxzaWduZWQ6MSx0eXBlbmFtZToxLCJ0cnkiOjEsInRoaXMiOjEsInN3aXRjaCI6MSwiY29udGludWUiOjEsd2NoYXJfdDoxLGlubGluZToxLCJkZWxldGUiOjEsYWxpZ25vZjoxLGNoYXIxNl90OjEsY2hhcjMyX3Q6MSxjb25zdGV4cHI6MSxkZWNsdHlwZToxLG5vZXhjZXB0OjEsbnVsbHB0cjoxLHN0YXRpY19hc3NlcnQ6MSx0aHJlYWRfbG9jYWw6MSxyZXN0cmljdDoxLF9Cb29sOjEsY29tcGxleDoxfSxidWlsdF9pbjp7c3RkOjEsc3RyaW5nOjEsY2luOjEsY291dDoxLGNlcnI6MSxjbG9nOjEsc3RyaW5nc3RyZWFtOjEsaXN0cmluZ3N0cmVhbToxLG9zdHJpbmdzdHJlYW06MSxhdXRvX3B0cjoxLGRlcXVlOjEsbGlzdDoxLHF1ZXVlOjEsc3RhY2s6MSx2ZWN0b3I6MSxtYXA6MSxzZXQ6MSxiaXRzZXQ6MSxtdWx0aXNldDoxLG11bHRpbWFwOjEsdW5vcmRlcmVkX3NldDoxLHVub3JkZXJlZF9tYXA6MSx1bm9yZGVyZWRfbXVsdGlzZXQ6MSx1bm9yZGVyZWRfbXVsdGltYXA6MSxhcnJheToxLHNoYXJlZF9wdHI6MX19O3JldHVybntkTTp7azphLGk6IjwvIixjOltobGpzLkNMQ00saGxqcy5DQkxDTE0saGxqcy5RU00se2NOOiJzdHJpbmciLGI6IidcXFxcPy4iLGU6IiciLGk6Ii4ifSx7Y046Im51bWJlciIsYjoiXFxiKFxcZCsoXFwuXFxkKik/fFxcLlxcZCspKHV8VXxsfEx8dWx8VUx8ZnxGKSJ9LGhsanMuQ05NLHtjTjoicHJlcHJvY2Vzc29yIixiOiIjIixlOiIkIn0se2NOOiJzdGxfY29udGFpbmVyIixiOiJcXGIoZGVxdWV8bGlzdHxxdWV1ZXxzdGFja3x2ZWN0b3J8bWFwfHNldHxiaXRzZXR8bXVsdGlzZXR8bXVsdGltYXB8dW5vcmRlcmVkX21hcHx1bm9yZGVyZWRfc2V0fHVub3JkZXJlZF9tdWx0aXNldHx1bm9yZGVyZWRfbXVsdGltYXB8YXJyYXkpXFxzKjwiLGU6Ij4iLGs6YSxyOjEwLGM6WyJzZWxmIl19XX19fSgpO2hsanMuTEFOR1VBR0VTLnI9e2RNOntjOltobGpzLkhDTSx7Y046Im51bWJlciIsYjoiXFxiMFt4WF1bMC05YS1mQS1GXStbTGldP1xcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoibnVtYmVyIixiOiJcXGJcXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9MXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcYlxcZCtcXC4oPyFcXGQpKD86aVxcYik/IixlOmhsanMuSU1NRURJQVRFX1JFLHI6MX0se2NOOiJudW1iZXIiLGI6IlxcYlxcZCsoPzpcXC5cXGQqKT8oPzpbZUVdWytcXC1dP1xcZCopP2k/XFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcLlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP2k/XFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MX0se2NOOiJrZXl3b3JkIixiOiIoPzp0cnlDYXRjaHxsaWJyYXJ5fHNldEdlbmVyaWN8c2V0R3JvdXBHZW5lcmljKVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjEwfSx7Y046ImtleXdvcmQiLGI6IlxcLlxcLlxcLiIsZTpobGpzLklNTUVESUFURV9SRSxyOjEwfSx7Y046ImtleXdvcmQiLGI6IlxcLlxcLlxcZCsoPyFbXFx3Ll0pIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MTB9LHtjTjoia2V5d29yZCIsYjoiXFxiKD86ZnVuY3Rpb24pIixlOmhsanMuSU1NRURJQVRFX1JFLHI6Mn0se2NOOiJrZXl3b3JkIixiOiIoPzppZnxpbnxicmVha3xuZXh0fHJlcGVhdHxlbHNlfGZvcnxyZXR1cm58c3dpdGNofHdoaWxlfHRyeXxzdG9wfHdhcm5pbmd8cmVxdWlyZXxhdHRhY2h8ZGV0YWNofHNvdXJjZXxzZXRNZXRob2R8c2V0Q2xhc3MpXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MX0se2NOOiJsaXRlcmFsIixiOiIoPzpOQXxOQV9pbnRlZ2VyX3xOQV9yZWFsX3xOQV9jaGFyYWN0ZXJffE5BX2NvbXBsZXhfKVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjEwfSx7Y046ImxpdGVyYWwiLGI6Iig/Ok5VTEx8VFJVRXxGQUxTRXxUfEZ8SW5mfE5hTilcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxfSx7Y046ImlkZW50aWZpZXIiLGI6IlthLXpBLVouXVthLXpBLVowLTkuX10qXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH0se2NOOiJvcGVyYXRvciIsYjoiPFxcLSg/IVxccypcXGQpIixlOmhsanMuSU1NRURJQVRFX1JFLHI6Mn0se2NOOiJvcGVyYXRvciIsYjoiXFwtPnw8XFwtIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MX0se2NOOiJvcGVyYXRvciIsYjoiJSV8fiIsZTpobGpzLklNTUVESUFURV9SRX0se2NOOiJvcGVyYXRvciIsYjoiPj18PD18PT18IT18XFx8XFx8fCYmfD18XFwrfFxcLXxcXCp8L3xcXF58Pnw8fCF8JnxcXHx8XFwkfDoiLGU6aGxqcy5JTU1FRElBVEVfUkUscjowfSx7Y046Im9wZXJhdG9yIixiOiIlIixlOiIlIixpOiJcXG4iLHI6MX0se2NOOiJpZGVudGlmaWVyIixiOiJgIixlOiJgIixyOjB9LHtjTjoic3RyaW5nIixiOiciJyxlOiciJyxjOltobGpzLkJFXSxyOjB9LHtjTjoic3RyaW5nIixiOiInIixlOiInIixjOltobGpzLkJFXSxyOjB9LHtjTjoicGFyZW4iLGI6IltbKHtcXF0pfV0iLGU6aGxqcy5JTU1FRElBVEVfUkUscjowfV19fTsKaGxqcy5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkKCk7Cgo="></script> +<script src="data:application/x-javascript;base64,dmFyIGhsanM9bmV3IGZ1bmN0aW9uKCl7ZnVuY3Rpb24gbShwKXtyZXR1cm4gcC5yZXBsYWNlKC8mL2dtLCImYW1wOyIpLnJlcGxhY2UoLzwvZ20sIiZsdDsiKX1mdW5jdGlvbiBmKHIscSxwKXtyZXR1cm4gUmVnRXhwKHEsIm0iKyhyLmNJPyJpIjoiIikrKHA/ImciOiIiKSl9ZnVuY3Rpb24gYihyKXtmb3IodmFyIHA9MDtwPHIuY2hpbGROb2Rlcy5sZW5ndGg7cCsrKXt2YXIgcT1yLmNoaWxkTm9kZXNbcF07aWYocS5ub2RlTmFtZT09IkNPREUiKXtyZXR1cm4gcX1pZighKHEubm9kZVR5cGU9PTMmJnEubm9kZVZhbHVlLm1hdGNoKC9ccysvKSkpe2JyZWFrfX19ZnVuY3Rpb24gaCh0LHMpe3ZhciBwPSIiO2Zvcih2YXIgcj0wO3I8dC5jaGlsZE5vZGVzLmxlbmd0aDtyKyspe2lmKHQuY2hpbGROb2Rlc1tyXS5ub2RlVHlwZT09Myl7dmFyIHE9dC5jaGlsZE5vZGVzW3JdLm5vZGVWYWx1ZTtpZihzKXtxPXEucmVwbGFjZSgvXG4vZywiIil9cCs9cX1lbHNle2lmKHQuY2hpbGROb2Rlc1tyXS5ub2RlTmFtZT09IkJSIil7cCs9IlxuIn1lbHNle3ArPWgodC5jaGlsZE5vZGVzW3JdKX19fWlmKC9NU0lFIFs2NzhdLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXtwPXAucmVwbGFjZSgvXHIvZywiXG4iKX1yZXR1cm4gcH1mdW5jdGlvbiBhKHMpe3ZhciByPXMuY2xhc3NOYW1lLnNwbGl0KC9ccysvKTtyPXIuY29uY2F0KHMucGFyZW50Tm9kZS5jbGFzc05hbWUuc3BsaXQoL1xzKy8pKTtmb3IodmFyIHE9MDtxPHIubGVuZ3RoO3ErKyl7dmFyIHA9cltxXS5yZXBsYWNlKC9ebGFuZ3VhZ2UtLywiIik7aWYoZVtwXSl7cmV0dXJuIHB9fX1mdW5jdGlvbiBjKHEpe3ZhciBwPVtdOyhmdW5jdGlvbihzLHQpe2Zvcih2YXIgcj0wO3I8cy5jaGlsZE5vZGVzLmxlbmd0aDtyKyspe2lmKHMuY2hpbGROb2Rlc1tyXS5ub2RlVHlwZT09Myl7dCs9cy5jaGlsZE5vZGVzW3JdLm5vZGVWYWx1ZS5sZW5ndGh9ZWxzZXtpZihzLmNoaWxkTm9kZXNbcl0ubm9kZU5hbWU9PSJCUiIpe3QrPTF9ZWxzZXtpZihzLmNoaWxkTm9kZXNbcl0ubm9kZVR5cGU9PTEpe3AucHVzaCh7ZXZlbnQ6InN0YXJ0IixvZmZzZXQ6dCxub2RlOnMuY2hpbGROb2Rlc1tyXX0pO3Q9YXJndW1lbnRzLmNhbGxlZShzLmNoaWxkTm9kZXNbcl0sdCk7cC5wdXNoKHtldmVudDoic3RvcCIsb2Zmc2V0OnQsbm9kZTpzLmNoaWxkTm9kZXNbcl19KX19fX1yZXR1cm4gdH0pKHEsMCk7cmV0dXJuIHB9ZnVuY3Rpb24gayh5LHcseCl7dmFyIHE9MDt2YXIgej0iIjt2YXIgcz1bXTtmdW5jdGlvbiB1KCl7aWYoeS5sZW5ndGgmJncubGVuZ3RoKXtpZih5WzBdLm9mZnNldCE9d1swXS5vZmZzZXQpe3JldHVybih5WzBdLm9mZnNldDx3WzBdLm9mZnNldCk/eTp3fWVsc2V7cmV0dXJuIHdbMF0uZXZlbnQ9PSJzdGFydCI/eTp3fX1lbHNle3JldHVybiB5Lmxlbmd0aD95Ond9fWZ1bmN0aW9uIHQoRCl7dmFyIEE9IjwiK0Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtmb3IodmFyIEI9MDtCPEQuYXR0cmlidXRlcy5sZW5ndGg7QisrKXt2YXIgQz1ELmF0dHJpYnV0ZXNbQl07QSs9IiAiK0Mubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZihDLnZhbHVlIT09dW5kZWZpbmVkJiZDLnZhbHVlIT09ZmFsc2UmJkMudmFsdWUhPT1udWxsKXtBKz0nPSInK20oQy52YWx1ZSkrJyInfX1yZXR1cm4gQSsiPiJ9d2hpbGUoeS5sZW5ndGh8fHcubGVuZ3RoKXt2YXIgdj11KCkuc3BsaWNlKDAsMSlbMF07eis9bSh4LnN1YnN0cihxLHYub2Zmc2V0LXEpKTtxPXYub2Zmc2V0O2lmKHYuZXZlbnQ9PSJzdGFydCIpe3orPXQodi5ub2RlKTtzLnB1c2godi5ub2RlKX1lbHNle2lmKHYuZXZlbnQ9PSJzdG9wIil7dmFyIHAscj1zLmxlbmd0aDtkb3tyLS07cD1zW3JdO3orPSgiPC8iK3Aubm9kZU5hbWUudG9Mb3dlckNhc2UoKSsiPiIpfXdoaWxlKHAhPXYubm9kZSk7cy5zcGxpY2UociwxKTt3aGlsZShyPHMubGVuZ3RoKXt6Kz10KHNbcl0pO3IrK319fX1yZXR1cm4geittKHguc3Vic3RyKHEpKX1mdW5jdGlvbiBqKCl7ZnVuY3Rpb24gcSh4LHksdil7aWYoeC5jb21waWxlZCl7cmV0dXJufXZhciB1O3ZhciBzPVtdO2lmKHguayl7eC5sUj1mKHkseC5sfHxobGpzLklSLHRydWUpO2Zvcih2YXIgdyBpbiB4Lmspe2lmKCF4LmsuaGFzT3duUHJvcGVydHkodykpe2NvbnRpbnVlfWlmKHgua1t3XSBpbnN0YW5jZW9mIE9iamVjdCl7dT14Lmtbd119ZWxzZXt1PXguazt3PSJrZXl3b3JkIn1mb3IodmFyIHIgaW4gdSl7aWYoIXUuaGFzT3duUHJvcGVydHkocikpe2NvbnRpbnVlfXgua1tyXT1bdyx1W3JdXTtzLnB1c2gocil9fX1pZighdil7aWYoeC5iV0spe3guYj0iXFxiKCIrcy5qb2luKCJ8IikrIilcXHMifXguYlI9Zih5LHguYj94LmI6IlxcQnxcXGIiKTtpZigheC5lJiYheC5lVyl7eC5lPSJcXEJ8XFxiIn1pZih4LmUpe3guZVI9Zih5LHguZSl9fWlmKHguaSl7eC5pUj1mKHkseC5pKX1pZih4LnI9PT11bmRlZmluZWQpe3gucj0xfWlmKCF4LmMpe3guYz1bXX14LmNvbXBpbGVkPXRydWU7Zm9yKHZhciB0PTA7dDx4LmMubGVuZ3RoO3QrKyl7aWYoeC5jW3RdPT0ic2VsZiIpe3guY1t0XT14fXEoeC5jW3RdLHksZmFsc2UpfWlmKHguc3RhcnRzKXtxKHguc3RhcnRzLHksZmFsc2UpfX1mb3IodmFyIHAgaW4gZSl7aWYoIWUuaGFzT3duUHJvcGVydHkocCkpe2NvbnRpbnVlfXEoZVtwXS5kTSxlW3BdLHRydWUpfX1mdW5jdGlvbiBkKEIsQyl7aWYoIWouY2FsbGVkKXtqKCk7ai5jYWxsZWQ9dHJ1ZX1mdW5jdGlvbiBxKHIsTSl7Zm9yKHZhciBMPTA7TDxNLmMubGVuZ3RoO0wrKyl7aWYoKE0uY1tMXS5iUi5leGVjKHIpfHxbbnVsbF0pWzBdPT1yKXtyZXR1cm4gTS5jW0xdfX19ZnVuY3Rpb24gdihMLHIpe2lmKERbTF0uZSYmRFtMXS5lUi50ZXN0KHIpKXtyZXR1cm4gMX1pZihEW0xdLmVXKXt2YXIgTT12KEwtMSxyKTtyZXR1cm4gTT9NKzE6MH1yZXR1cm4gMH1mdW5jdGlvbiB3KHIsTCl7cmV0dXJuIEwuaSYmTC5pUi50ZXN0KHIpfWZ1bmN0aW9uIEsoTixPKXt2YXIgTT1bXTtmb3IodmFyIEw9MDtMPE4uYy5sZW5ndGg7TCsrKXtNLnB1c2goTi5jW0xdLmIpfXZhciByPUQubGVuZ3RoLTE7ZG97aWYoRFtyXS5lKXtNLnB1c2goRFtyXS5lKX1yLS19d2hpbGUoRFtyKzFdLmVXKTtpZihOLmkpe00ucHVzaChOLmkpfXJldHVybiBmKE8sTS5qb2luKCJ8IiksdHJ1ZSl9ZnVuY3Rpb24gcChNLEwpe3ZhciBOPURbRC5sZW5ndGgtMV07aWYoIU4udCl7Ti50PUsoTixFKX1OLnQubGFzdEluZGV4PUw7dmFyIHI9Ti50LmV4ZWMoTSk7cmV0dXJuIHI/W00uc3Vic3RyKEwsci5pbmRleC1MKSxyWzBdLGZhbHNlXTpbTS5zdWJzdHIoTCksIiIsdHJ1ZV19ZnVuY3Rpb24geihOLHIpe3ZhciBMPUUuY0k/clswXS50b0xvd2VyQ2FzZSgpOnJbMF07dmFyIE09Ti5rW0xdO2lmKE0mJk0gaW5zdGFuY2VvZiBBcnJheSl7cmV0dXJuIE19cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIEYoTCxQKXtMPW0oTCk7aWYoIVAuayl7cmV0dXJuIEx9dmFyIHI9IiI7dmFyIE89MDtQLmxSLmxhc3RJbmRleD0wO3ZhciBNPVAubFIuZXhlYyhMKTt3aGlsZShNKXtyKz1MLnN1YnN0cihPLE0uaW5kZXgtTyk7dmFyIE49eihQLE0pO2lmKE4pe3grPU5bMV07cis9JzxzcGFuIGNsYXNzPSInK05bMF0rJyI+JytNWzBdKyI8L3NwYW4+In1lbHNle3IrPU1bMF19Tz1QLmxSLmxhc3RJbmRleDtNPVAubFIuZXhlYyhMKX1yZXR1cm4gcitMLnN1YnN0cihPLEwubGVuZ3RoLU8pfWZ1bmN0aW9uIEooTCxNKXtpZihNLnNMJiZlW00uc0xdKXt2YXIgcj1kKE0uc0wsTCk7eCs9ci5rZXl3b3JkX2NvdW50O3JldHVybiByLnZhbHVlfWVsc2V7cmV0dXJuIEYoTCxNKX19ZnVuY3Rpb24gSShNLHIpe3ZhciBMPU0uY04/JzxzcGFuIGNsYXNzPSInK00uY04rJyI+JzoiIjtpZihNLnJCKXt5Kz1MO00uYnVmZmVyPSIifWVsc2V7aWYoTS5lQil7eSs9bShyKStMO00uYnVmZmVyPSIifWVsc2V7eSs9TDtNLmJ1ZmZlcj1yfX1ELnB1c2goTSk7QSs9TS5yfWZ1bmN0aW9uIEcoTixNLFEpe3ZhciBSPURbRC5sZW5ndGgtMV07aWYoUSl7eSs9SihSLmJ1ZmZlcitOLFIpO3JldHVybiBmYWxzZX12YXIgUD1xKE0sUik7aWYoUCl7eSs9SihSLmJ1ZmZlcitOLFIpO0koUCxNKTtyZXR1cm4gUC5yQn12YXIgTD12KEQubGVuZ3RoLTEsTSk7aWYoTCl7dmFyIE89Ui5jTj8iPC9zcGFuPiI6IiI7aWYoUi5yRSl7eSs9SihSLmJ1ZmZlcitOLFIpK099ZWxzZXtpZihSLmVFKXt5Kz1KKFIuYnVmZmVyK04sUikrTyttKE0pfWVsc2V7eSs9SihSLmJ1ZmZlcitOK00sUikrT319d2hpbGUoTD4xKXtPPURbRC5sZW5ndGgtMl0uY04/Ijwvc3Bhbj4iOiIiO3krPU87TC0tO0QubGVuZ3RoLS19dmFyIHI9RFtELmxlbmd0aC0xXTtELmxlbmd0aC0tO0RbRC5sZW5ndGgtMV0uYnVmZmVyPSIiO2lmKHIuc3RhcnRzKXtJKHIuc3RhcnRzLCIiKX1yZXR1cm4gUi5yRX1pZih3KE0sUikpe3Rocm93IklsbGVnYWwifX12YXIgRT1lW0JdO3ZhciBEPVtFLmRNXTt2YXIgQT0wO3ZhciB4PTA7dmFyIHk9IiI7dHJ5e3ZhciBzLHU9MDtFLmRNLmJ1ZmZlcj0iIjtkb3tzPXAoQyx1KTt2YXIgdD1HKHNbMF0sc1sxXSxzWzJdKTt1Kz1zWzBdLmxlbmd0aDtpZighdCl7dSs9c1sxXS5sZW5ndGh9fXdoaWxlKCFzWzJdKTtpZihELmxlbmd0aD4xKXt0aHJvdyJJbGxlZ2FsIn1yZXR1cm57cjpBLGtleXdvcmRfY291bnQ6eCx2YWx1ZTp5fX1jYXRjaChIKXtpZihIPT0iSWxsZWdhbCIpe3JldHVybntyOjAsa2V5d29yZF9jb3VudDowLHZhbHVlOm0oQyl9fWVsc2V7dGhyb3cgSH19fWZ1bmN0aW9uIGcodCl7dmFyIHA9e2tleXdvcmRfY291bnQ6MCxyOjAsdmFsdWU6bSh0KX07dmFyIHI9cDtmb3IodmFyIHEgaW4gZSl7aWYoIWUuaGFzT3duUHJvcGVydHkocSkpe2NvbnRpbnVlfXZhciBzPWQocSx0KTtzLmxhbmd1YWdlPXE7aWYocy5rZXl3b3JkX2NvdW50K3Mucj5yLmtleXdvcmRfY291bnQrci5yKXtyPXN9aWYocy5rZXl3b3JkX2NvdW50K3Mucj5wLmtleXdvcmRfY291bnQrcC5yKXtyPXA7cD1zfX1pZihyLmxhbmd1YWdlKXtwLnNlY29uZF9iZXN0PXJ9cmV0dXJuIHB9ZnVuY3Rpb24gaShyLHEscCl7aWYocSl7cj1yLnJlcGxhY2UoL14oKDxbXj5dKz58XHQpKykvZ20sZnVuY3Rpb24odCx3LHYsdSl7cmV0dXJuIHcucmVwbGFjZSgvXHQvZyxxKX0pfWlmKHApe3I9ci5yZXBsYWNlKC9cbi9nLCI8YnI+Iil9cmV0dXJuIHJ9ZnVuY3Rpb24gbih0LHcscil7dmFyIHg9aCh0LHIpO3ZhciB2PWEodCk7dmFyIHkscztpZih2KXt5PWQodix4KX1lbHNle3JldHVybn12YXIgcT1jKHQpO2lmKHEubGVuZ3RoKXtzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInByZSIpO3MuaW5uZXJIVE1MPXkudmFsdWU7eS52YWx1ZT1rKHEsYyhzKSx4KX15LnZhbHVlPWkoeS52YWx1ZSx3LHIpO3ZhciB1PXQuY2xhc3NOYW1lO2lmKCF1Lm1hdGNoKCIoXFxzfF4pKGxhbmd1YWdlLSk/Iit2KyIoXFxzfCQpIikpe3U9dT8odSsiICIrdik6dn1pZigvTVNJRSBbNjc4XS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmdC50YWdOYW1lPT0iQ09ERSImJnQucGFyZW50Tm9kZS50YWdOYW1lPT0iUFJFIil7cz10LnBhcmVudE5vZGU7dmFyIHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cC5pbm5lckhUTUw9IjxwcmU+PGNvZGU+Iit5LnZhbHVlKyI8L2NvZGU+PC9wcmU+Ijt0PXAuZmlyc3RDaGlsZC5maXJzdENoaWxkO3AuZmlyc3RDaGlsZC5jTj1zLmNOO3MucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQocC5maXJzdENoaWxkLHMpfWVsc2V7dC5pbm5lckhUTUw9eS52YWx1ZX10LmNsYXNzTmFtZT11O3QucmVzdWx0PXtsYW5ndWFnZTp2LGt3Onkua2V5d29yZF9jb3VudCxyZTp5LnJ9O2lmKHkuc2Vjb25kX2Jlc3Qpe3Quc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnkuc2Vjb25kX2Jlc3QubGFuZ3VhZ2Usa3c6eS5zZWNvbmRfYmVzdC5rZXl3b3JkX2NvdW50LHJlOnkuc2Vjb25kX2Jlc3Qucn19fWZ1bmN0aW9uIG8oKXtpZihvLmNhbGxlZCl7cmV0dXJufW8uY2FsbGVkPXRydWU7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInByZSIpO2Zvcih2YXIgcD0wO3A8ci5sZW5ndGg7cCsrKXt2YXIgcT1iKHJbcF0pO2lmKHEpe24ocSxobGpzLnRhYlJlcGxhY2UpfX19ZnVuY3Rpb24gbCgpe2lmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbyxmYWxzZSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLG8sZmFsc2UpfWVsc2V7aWYod2luZG93LmF0dGFjaEV2ZW50KXt3aW5kb3cuYXR0YWNoRXZlbnQoIm9ubG9hZCIsbyl9ZWxzZXt3aW5kb3cub25sb2FkPW99fX12YXIgZT17fTt0aGlzLkxBTkdVQUdFUz1lO3RoaXMuaGlnaGxpZ2h0PWQ7dGhpcy5oaWdobGlnaHRBdXRvPWc7dGhpcy5maXhNYXJrdXA9aTt0aGlzLmhpZ2hsaWdodEJsb2NrPW47dGhpcy5pbml0SGlnaGxpZ2h0aW5nPW87dGhpcy5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPWw7dGhpcy5JUj0iW2EtekEtWl1bYS16QS1aMC05X10qIjt0aGlzLlVJUj0iW2EtekEtWl9dW2EtekEtWjAtOV9dKiI7dGhpcy5OUj0iXFxiXFxkKyhcXC5cXGQrKT8iO3RoaXMuQ05SPSJcXGIoMFt4WF1bYS1mQS1GMC05XSt8KFxcZCsoXFwuXFxkKik/fFxcLlxcZCspKFtlRV1bLStdP1xcZCspPykiO3RoaXMuQk5SPSJcXGIoMGJbMDFdKykiO3RoaXMuUlNSPSIhfCE9fCE9PXwlfCU9fCZ8JiZ8Jj18XFwqfFxcKj18XFwrfFxcKz18LHxcXC58LXwtPXwvfC89fDp8O3w8fDw8fDw8PXw8PXw9fD09fD09PXw+fD49fD4+fD4+PXw+Pj58Pj4+PXxcXD98XFxbfFxce3xcXCh8XFxefFxcXj18XFx8fFxcfD18XFx8XFx8fH4iO3RoaXMuRVI9Iig/IVtcXHNcXFNdKSI7dGhpcy5CRT17YjoiXFxcXC4iLHI6MH07dGhpcy5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbdGhpcy5CRV0scjowfTt0aGlzLlFTTT17Y046InN0cmluZyIsYjonIicsZTonIicsaToiXFxuIixjOlt0aGlzLkJFXSxyOjB9O3RoaXMuQ0xDTT17Y046ImNvbW1lbnQiLGI6Ii8vIixlOiIkIn07dGhpcy5DQkxDTE09e2NOOiJjb21tZW50IixiOiIvXFwqIixlOiJcXCovIn07dGhpcy5IQ009e2NOOiJjb21tZW50IixiOiIjIixlOiIkIn07dGhpcy5OTT17Y046Im51bWJlciIsYjp0aGlzLk5SLHI6MH07dGhpcy5DTk09e2NOOiJudW1iZXIiLGI6dGhpcy5DTlIscjowfTt0aGlzLkJOTT17Y046Im51bWJlciIsYjp0aGlzLkJOUixyOjB9O3RoaXMuaW5oZXJpdD1mdW5jdGlvbihyLHMpe3ZhciBwPXt9O2Zvcih2YXIgcSBpbiByKXtwW3FdPXJbcV19aWYocyl7Zm9yKHZhciBxIGluIHMpe3BbcV09c1txXX19cmV0dXJuIHB9fSgpO2hsanMuTEFOR1VBR0VTLmJhc2g9ZnVuY3Rpb24oKXt2YXIgZT17InRydWUiOjEsImZhbHNlIjoxfTt2YXIgYj17Y046InZhcmlhYmxlIixiOiJcXCQoW2EtekEtWjAtOV9dKylcXGIifTt2YXIgYT17Y046InZhcmlhYmxlIixiOiJcXCRcXHsoKFtefV0pfChcXFxcfSkpK1xcfSIsYzpbaGxqcy5DTk1dfTt2YXIgZj17Y046InN0cmluZyIsYjonIicsZTonIicsaToiXFxuIixjOltobGpzLkJFLGIsYV0scjowfTt2YXIgYz17Y046InN0cmluZyIsYjoiJyIsZToiJyIsYzpbe2I6IicnIn1dLHI6MH07dmFyIGQ9e2NOOiJ0ZXN0X2NvbmRpdGlvbiIsYjoiIixlOiIiLGM6W2YsYyxiLGEsaGxqcy5DTk1dLGs6e2xpdGVyYWw6ZX0scjowfTtyZXR1cm57ZE06e2s6e2tleXdvcmQ6eyJpZiI6MSx0aGVuOjEsImVsc2UiOjEsZmk6MSwiZm9yIjoxLCJicmVhayI6MSwiY29udGludWUiOjEsIndoaWxlIjoxLCJpbiI6MSwiZG8iOjEsZG9uZToxLGVjaG86MSxleGl0OjEsInJldHVybiI6MSxzZXQ6MSxkZWNsYXJlOjF9LGxpdGVyYWw6ZX0sYzpbe2NOOiJzaGViYW5nIixiOiIoIyFcXC9iaW5cXC9iYXNoKXwoIyFcXC9iaW5cXC9zaCkiLHI6MTB9LGIsYSxobGpzLkhDTSxobGpzLkNOTSxmLGMsaGxqcy5pbmhlcml0KGQse2I6IlxcWyAiLGU6IiBcXF0iLHI6MH0pLGhsanMuaW5oZXJpdChkLHtiOiJcXFtcXFsgIixlOiIgXFxdXFxdIn0pXX19fSgpO2hsanMuTEFOR1VBR0VTLmNwcD1mdW5jdGlvbigpe3ZhciBhPXtrZXl3b3JkOnsiZmFsc2UiOjEsImludCI6MSwiZmxvYXQiOjEsIndoaWxlIjoxLCJwcml2YXRlIjoxLCJjaGFyIjoxLCJjYXRjaCI6MSwiZXhwb3J0IjoxLHZpcnR1YWw6MSxvcGVyYXRvcjoyLHNpemVvZjoyLGR5bmFtaWNfY2FzdDoyLHR5cGVkZWY6Mixjb25zdF9jYXN0OjIsImNvbnN0IjoxLHN0cnVjdDoxLCJmb3IiOjEsc3RhdGljX2Nhc3Q6Mix1bmlvbjoxLG5hbWVzcGFjZToxLHVuc2lnbmVkOjEsImxvbmciOjEsInRocm93IjoxLCJ2b2xhdGlsZSI6Miwic3RhdGljIjoxLCJwcm90ZWN0ZWQiOjEsYm9vbDoxLHRlbXBsYXRlOjEsbXV0YWJsZToxLCJpZiI6MSwicHVibGljIjoxLGZyaWVuZDoyLCJkbyI6MSwicmV0dXJuIjoxLCJnb3RvIjoxLGF1dG86MSwidm9pZCI6MiwiZW51bSI6MSwiZWxzZSI6MSwiYnJlYWsiOjEsIm5ldyI6MSxleHRlcm46MSx1c2luZzoxLCJ0cnVlIjoxLCJjbGFzcyI6MSxhc206MSwiY2FzZSI6MSx0eXBlaWQ6MSwic2hvcnQiOjEscmVpbnRlcnByZXRfY2FzdDoyLCJkZWZhdWx0IjoxLCJkb3VibGUiOjEscmVnaXN0ZXI6MSxleHBsaWNpdDoxLHNpZ25lZDoxLHR5cGVuYW1lOjEsInRyeSI6MSwidGhpcyI6MSwic3dpdGNoIjoxLCJjb250aW51ZSI6MSx3Y2hhcl90OjEsaW5saW5lOjEsImRlbGV0ZSI6MSxhbGlnbm9mOjEsY2hhcjE2X3Q6MSxjaGFyMzJfdDoxLGNvbnN0ZXhwcjoxLGRlY2x0eXBlOjEsbm9leGNlcHQ6MSxudWxscHRyOjEsc3RhdGljX2Fzc2VydDoxLHRocmVhZF9sb2NhbDoxLHJlc3RyaWN0OjEsX0Jvb2w6MSxjb21wbGV4OjF9LGJ1aWx0X2luOntzdGQ6MSxzdHJpbmc6MSxjaW46MSxjb3V0OjEsY2VycjoxLGNsb2c6MSxzdHJpbmdzdHJlYW06MSxpc3RyaW5nc3RyZWFtOjEsb3N0cmluZ3N0cmVhbToxLGF1dG9fcHRyOjEsZGVxdWU6MSxsaXN0OjEscXVldWU6MSxzdGFjazoxLHZlY3RvcjoxLG1hcDoxLHNldDoxLGJpdHNldDoxLG11bHRpc2V0OjEsbXVsdGltYXA6MSx1bm9yZGVyZWRfc2V0OjEsdW5vcmRlcmVkX21hcDoxLHVub3JkZXJlZF9tdWx0aXNldDoxLHVub3JkZXJlZF9tdWx0aW1hcDoxLGFycmF5OjEsc2hhcmVkX3B0cjoxfX07cmV0dXJue2RNOntrOmEsaToiPC8iLGM6W2hsanMuQ0xDTSxobGpzLkNCTENMTSxobGpzLlFTTSx7Y046InN0cmluZyIsYjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9LHtjTjoibnVtYmVyIixiOiJcXGIoXFxkKyhcXC5cXGQqKT98XFwuXFxkKykodXxVfGx8THx1bHxVTHxmfEYpIn0saGxqcy5DTk0se2NOOiJwcmVwcm9jZXNzb3IiLGI6IiMiLGU6IiQifSx7Y046InN0bF9jb250YWluZXIiLGI6IlxcYihkZXF1ZXxsaXN0fHF1ZXVlfHN0YWNrfHZlY3RvcnxtYXB8c2V0fGJpdHNldHxtdWx0aXNldHxtdWx0aW1hcHx1bm9yZGVyZWRfbWFwfHVub3JkZXJlZF9zZXR8dW5vcmRlcmVkX211bHRpc2V0fHVub3JkZXJlZF9tdWx0aW1hcHxhcnJheSlcXHMqPCIsZToiPiIsazphLHI6MTAsYzpbInNlbGYiXX1dfX19KCk7aGxqcy5MQU5HVUFHRVMuY3NzPWZ1bmN0aW9uKCl7dmFyIGE9e2NOOiJmdW5jdGlvbiIsYjpobGpzLklSKyJcXCgiLGU6IlxcKSIsYzpbe2VXOnRydWUsZUU6dHJ1ZSxjOltobGpzLk5NLGhsanMuQVNNLGhsanMuUVNNXX1dfTtyZXR1cm57Y0k6dHJ1ZSxkTTp7aToiWz0vfCddIixjOltobGpzLkNCTENMTSx7Y046ImlkIixiOiJcXCNbQS1aYS16MC05Xy1dKyJ9LHtjTjoiY2xhc3MiLGI6IlxcLltBLVphLXowLTlfLV0rIixyOjB9LHtjTjoiYXR0cl9zZWxlY3RvciIsYjoiXFxbIixlOiJcXF0iLGk6IiQifSx7Y046InBzZXVkbyIsYjoiOig6KT9bYS16QS1aMC05XFxfXFwtXFwrXFwoXFwpXFxcIlxcJ10rIn0se2NOOiJhdF9ydWxlIixiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazp7ImZvbnQtZmFjZSI6MSxwYWdlOjF9fSx7Y046ImF0X3J1bGUiLGI6IkAiLGU6Ilt7O10iLGVFOnRydWUsazp7ImltcG9ydCI6MSxwYWdlOjEsbWVkaWE6MSxjaGFyc2V0OjF9LGM6W2EsaGxqcy5BU00saGxqcy5RU00saGxqcy5OTV19LHtjTjoidGFnIixiOmhsanMuSVIscjowfSx7Y046InJ1bGVzIixiOiJ7IixlOiJ9IixpOiJbXlxcc10iLHI6MCxjOltobGpzLkNCTENMTSx7Y046InJ1bGUiLGI6IlteXFxzXSIsckI6dHJ1ZSxlOiI7IixlVzp0cnVlLGM6W3tjTjoiYXR0cmlidXRlIixiOiJbQS1aXFxfXFwuXFwtXSsiLGU6IjoiLGVFOnRydWUsaToiW15cXHNdIixzdGFydHM6e2NOOiJ2YWx1ZSIsZVc6dHJ1ZSxlRTp0cnVlLGM6W2EsaGxqcy5OTSxobGpzLlFTTSxobGpzLkFTTSxobGpzLkNCTENMTSx7Y046ImhleGNvbG9yIixiOiJcXCNbMC05QS1GXSsifSx7Y046ImltcG9ydGFudCIsYjoiIWltcG9ydGFudCJ9XX19XX1dfV19fX0oKTtobGpzLkxBTkdVQUdFUy5pbmk9e2NJOnRydWUsZE06e2k6IlteXFxzXSIsYzpbe2NOOiJjb21tZW50IixiOiI7IixlOiIkIn0se2NOOiJ0aXRsZSIsYjoiXlxcWyIsZToiXFxdIn0se2NOOiJzZXR0aW5nIixiOiJeW2EtejAtOV9cXFtcXF1dK1sgXFx0XSo9WyBcXHRdKiIsZToiJCIsYzpbe2NOOiJ2YWx1ZSIsZVc6dHJ1ZSxrOntvbjoxLG9mZjoxLCJ0cnVlIjoxLCJmYWxzZSI6MSx5ZXM6MSxubzoxfSxjOltobGpzLlFTTSxobGpzLk5NXX1dfV19fTtobGpzLkxBTkdVQUdFUy5wZXJsPWZ1bmN0aW9uKCl7dmFyIGQ9e2dldHB3ZW50OjEsZ2V0c2VydmVudDoxLHF1b3RlbWV0YToxLG1zZ3JjdjoxLHNjYWxhcjoxLGtpbGw6MSxkYm1jbG9zZToxLHVuZGVmOjEsbGM6MSxtYToxLHN5c3dyaXRlOjEsdHI6MSxzZW5kOjEsdW1hc2s6MSxzeXNvcGVuOjEsc2htd3JpdGU6MSx2ZWM6MSxxeDoxLHV0aW1lOjEsbG9jYWw6MSxvY3Q6MSxzZW1jdGw6MSxsb2NhbHRpbWU6MSxyZWFkcGlwZToxLCJkbyI6MSwicmV0dXJuIjoxLGZvcm1hdDoxLHJlYWQ6MSxzcHJpbnRmOjEsZGJtb3BlbjoxLHBvcDoxLGdldHBncnA6MSxub3Q6MSxnZXRwd25hbToxLHJld2luZGRpcjoxLHFxOjEsZmlsZW5vOjEscXc6MSxlbmRwcm90b2VudDoxLHdhaXQ6MSxzZXRob3N0ZW50OjEsYmxlc3M6MSxzOjAsb3BlbmRpcjoxLCJjb250aW51ZSI6MSxlYWNoOjEsc2xlZXA6MSxlbmRncmVudDoxLHNodXRkb3duOjEsZHVtcDoxLGNob21wOjEsY29ubmVjdDoxLGdldHNvY2tuYW1lOjEsZGllOjEsc29ja2V0cGFpcjoxLGNsb3NlOjEsZmxvY2s6MSxleGlzdHM6MSxpbmRleDoxLHNobWdldDoxLHN1YjoxLCJmb3IiOjEsZW5kcHdlbnQ6MSxyZWRvOjEsbHN0YXQ6MSxtc2djdGw6MSxzZXRwZ3JwOjEsYWJzOjEsZXhpdDoxLHNlbGVjdDoxLHByaW50OjEscmVmOjEsZ2V0aG9zdGJ5YWRkcjoxLHVuc2hpZnQ6MSxmY250bDoxLHN5c2NhbGw6MSwiZ290byI6MSxnZXRuZXRieWFkZHI6MSxqb2luOjEsZ210aW1lOjEsc3ltbGluazoxLHNlbWdldDoxLHNwbGljZToxLHg6MCxnZXRwZWVybmFtZToxLHJlY3Y6MSxsb2c6MSxzZXRzb2Nrb3B0OjEsY29zOjEsbGFzdDoxLHJldmVyc2U6MSxnZXRob3N0YnluYW1lOjEsZ2V0Z3JuYW06MSxzdHVkeToxLGZvcm1saW5lOjEsZW5kaG9zdGVudDoxLHRpbWVzOjEsY2hvcDoxLGxlbmd0aDoxLGdldGhvc3RlbnQ6MSxnZXRuZXRlbnQ6MSxwYWNrOjEsZ2V0cHJvdG9lbnQ6MSxnZXRzZXJ2YnluYW1lOjEscmFuZDoxLG1rZGlyOjEscG9zOjEsY2htb2Q6MSx5OjAsc3Vic3RyOjEsZW5kbmV0ZW50OjEscHJpbnRmOjEsbmV4dDoxLG9wZW46MSxtc2dzbmQ6MSxyZWFkZGlyOjEsdXNlOjEsdW5saW5rOjEsZ2V0c29ja29wdDoxLGdldHByaW9yaXR5OjEscmluZGV4OjEsd2FudGFycmF5OjEsaGV4OjEsc3lzdGVtOjEsZ2V0c2VydmJ5cG9ydDoxLGVuZHNlcnZlbnQ6MSwiaW50IjoxLGNocjoxLHVudGllOjEscm1kaXI6MSxwcm90b3R5cGU6MSx0ZWxsOjEsbGlzdGVuOjEsZm9yazoxLHNobXJlYWQ6MSx1Y2ZpcnN0OjEsc2V0cHJvdG9lbnQ6MSwiZWxzZSI6MSxzeXNzZWVrOjEsbGluazoxLGdldGdyZ2lkOjEsc2htY3RsOjEsd2FpdHBpZDoxLHVucGFjazoxLGdldG5ldGJ5bmFtZToxLHJlc2V0OjEsY2hkaXI6MSxncmVwOjEsc3BsaXQ6MSxyZXF1aXJlOjEsY2FsbGVyOjEsbGNmaXJzdDoxLHVudGlsOjEsd2FybjoxLCJ3aGlsZSI6MSx2YWx1ZXM6MSxzaGlmdDoxLHRlbGxkaXI6MSxnZXRwd3VpZDoxLG15OjEsZ2V0cHJvdG9ieW51bWJlcjoxLCJkZWxldGUiOjEsYW5kOjEsc29ydDoxLHVjOjEsZGVmaW5lZDoxLHNyYW5kOjEsYWNjZXB0OjEsInBhY2thZ2UiOjEsc2Vla2RpcjoxLGdldHByb3RvYnluYW1lOjEsc2Vtb3A6MSxvdXI6MSxyZW5hbWU6MSxzZWVrOjEsImlmIjoxLHE6MCxjaHJvb3Q6MSxzeXNyZWFkOjEsc2V0cHdlbnQ6MSxubzoxLGNyeXB0OjEsZ2V0YzoxLGNob3duOjEsc3FydDoxLHdyaXRlOjEsc2V0bmV0ZW50OjEsc2V0cHJpb3JpdHk6MSxmb3JlYWNoOjEsdGllOjEsc2luOjEsbXNnZ2V0OjEsbWFwOjEsc3RhdDoxLGdldGxvZ2luOjEsdW5sZXNzOjEsZWxzaWY6MSx0cnVuY2F0ZToxLGV4ZWM6MSxrZXlzOjEsZ2xvYjoxLHRpZWQ6MSxjbG9zZWRpcjoxLGlvY3RsOjEsc29ja2V0OjEscmVhZGxpbms6MSwiZXZhbCI6MSx4b3I6MSxyZWFkbGluZToxLGJpbm1vZGU6MSxzZXRzZXJ2ZW50OjEsZW9mOjEsb3JkOjEsYmluZDoxLGFsYXJtOjEscGlwZToxLGF0YW4yOjEsZ2V0Z3JlbnQ6MSxleHA6MSx0aW1lOjEscHVzaDoxLHNldGdyZW50OjEsZ3Q6MSxsdDoxLG9yOjEsbmU6MSxtOjB9O3ZhciBmPXtjTjoic3Vic3QiLGI6IlskQF1cXHsiLGU6IlxcfSIsazpkLHI6MTB9O3ZhciBjPXtjTjoidmFyaWFibGUiLGI6IlxcJFxcZCJ9O3ZhciBiPXtjTjoidmFyaWFibGUiLGI6IltcXCRcXCVcXEBcXCpdKFxcXlxcd1xcYnwjXFx3KyhcXDpcXDpcXHcrKSp8W15cXHNcXHd7XXx7XFx3K318XFx3KyhcXDpcXDpcXHcqKSopIn07dmFyIGg9W2hsanMuQkUsZixjLGJdO3ZhciBnPXtiOiItPiIsYzpbe2I6aGxqcy5JUn0se2I6InsiLGU6In0ifV19O3ZhciBlPXtjTjoiY29tbWVudCIsYjoiXihfX0VORF9ffF9fREFUQV9fKSIsZToiXFxuJCIscjo1fTt2YXIgYT1bYyxiLGhsanMuSENNLGUsZyx7Y046InN0cmluZyIsYjoicVtxd3hyXT9cXHMqXFwoIixlOiJcXCkiLGM6aCxyOjV9LHtjTjoic3RyaW5nIixiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIsYzpoLHI6NX0se2NOOiJzdHJpbmciLGI6InFbcXd4cl0/XFxzKlxceyIsZToiXFx9IixjOmgscjo1fSx7Y046InN0cmluZyIsYjoicVtxd3hyXT9cXHMqXFx8IixlOiJcXHwiLGM6aCxyOjV9LHtjTjoic3RyaW5nIixiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIsYzpoLHI6NX0se2NOOiJzdHJpbmciLGI6InF3XFxzK3EiLGU6InEiLGM6aCxyOjV9LHtjTjoic3RyaW5nIixiOiInIixlOiInIixjOltobGpzLkJFXSxyOjB9LHtjTjoic3RyaW5nIixiOiciJyxlOiciJyxjOmgscjowfSx7Y046InN0cmluZyIsYjoiYCIsZToiYCIsYzpbaGxqcy5CRV19LHtjTjoic3RyaW5nIixiOiJ7XFx3K30iLHI6MH0se2NOOiJzdHJpbmciLGI6Ii0/XFx3K1xccypcXD1cXD4iLHI6MH0se2NOOiJudW1iZXIiLGI6IihcXGIwWzAtN19dKyl8KFxcYjB4WzAtOWEtZkEtRl9dKyl8KFxcYlsxLTldWzAtOV9dKihcXC5bMC05X10rKT8pfFswX11cXGIiLHI6MH0se2I6IigiK2hsanMuUlNSKyJ8XFxiKHNwbGl0fHJldHVybnxwcmludHxyZXZlcnNlfGdyZXApXFxiKVxccyoiLGs6e3NwbGl0OjEsInJldHVybiI6MSxwcmludDoxLHJldmVyc2U6MSxncmVwOjF9LHI6MCxjOltobGpzLkhDTSxlLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2hsanMuQkVdLHI6MH1dfSx7Y046InN1YiIsYjoiXFxic3ViXFxiIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsazp7c3ViOjF9LHI6NX0se2NOOiJvcGVyYXRvciIsYjoiLVxcd1xcYiIscjowfSx7Y046InBvZCIsYjoiXFw9XFx3IixlOiJcXD1jdXQifV07Zi5jPWE7Zy5jWzFdLmM9YTtyZXR1cm57ZE06e2s6ZCxjOmF9fX0oKTtobGpzLkxBTkdVQUdFUy5weXRob249ZnVuY3Rpb24oKXt2YXIgYj1be2NOOiJzdHJpbmciLGI6Iih1fGIpP3I/JycnIixlOiInJyciLHI6MTB9LHtjTjoic3RyaW5nIixiOicodXxiKT9yPyIiIicsZTonIiIiJyxyOjEwfSx7Y046InN0cmluZyIsYjoiKHV8cnx1ciknIixlOiInIixjOltobGpzLkJFXSxyOjEwfSx7Y046InN0cmluZyIsYjonKHV8cnx1cikiJyxlOiciJyxjOltobGpzLkJFXSxyOjEwfSx7Y046InN0cmluZyIsYjoiKGJ8YnIpJyIsZToiJyIsYzpbaGxqcy5CRV19LHtjTjoic3RyaW5nIixiOicoYnxicikiJyxlOiciJyxjOltobGpzLkJFXX1dLmNvbmNhdChbaGxqcy5BU00saGxqcy5RU01dKTt2YXIgZD17Y046InRpdGxlIixiOmhsanMuVUlSfTt2YXIgYz17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGM6Yi5jb25jYXQoW2hsanMuQ05NXSl9O3ZhciBhPXtiV0s6dHJ1ZSxlOiI6IixpOiJbJHtdIixjOltkLGNdLHI6MTB9O3JldHVybntkTTp7azp7a2V5d29yZDp7YW5kOjEsZWxpZjoxLGlzOjEsZ2xvYmFsOjEsYXM6MSwiaW4iOjEsImlmIjoxLGZyb206MSxyYWlzZToxLCJmb3IiOjEsZXhjZXB0OjEsImZpbmFsbHkiOjEscHJpbnQ6MSwiaW1wb3J0IjoxLHBhc3M6MSwicmV0dXJuIjoxLGV4ZWM6MSwiZWxzZSI6MSwiYnJlYWsiOjEsbm90OjEsIndpdGgiOjEsImNsYXNzIjoxLGFzc2VydDoxLHlpZWxkOjEsInRyeSI6MSwid2hpbGUiOjEsImNvbnRpbnVlIjoxLGRlbDoxLG9yOjEsZGVmOjEsbGFtYmRhOjEsbm9ubG9jYWw6MTB9LGJ1aWx0X2luOntOb25lOjEsVHJ1ZToxLEZhbHNlOjEsRWxsaXBzaXM6MSxOb3RJbXBsZW1lbnRlZDoxfX0saToiKDwvfC0+fFxcPykiLGM6Yi5jb25jYXQoW2hsanMuSENNLGhsanMuaW5oZXJpdChhLHtjTjoiZnVuY3Rpb24iLGs6e2RlZjoxfX0pLGhsanMuaW5oZXJpdChhLHtjTjoiY2xhc3MiLGs6eyJjbGFzcyI6MX19KSxobGpzLkNOTSx7Y046ImRlY29yYXRvciIsYjoiQCIsZToiJCJ9XSl9fX0oKTtobGpzLkxBTkdVQUdFUy5yPXtkTTp7YzpbaGxqcy5IQ00se2NOOiJudW1iZXIiLGI6IlxcYjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjowfSx7Y046Im51bWJlciIsYjoiXFxiXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/TFxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoibnVtYmVyIixiOiJcXGJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoibnVtYmVyIixiOiJcXGJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoibnVtYmVyIixiOiJcXC5cXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoia2V5d29yZCIsYjoiKD86dHJ5Q2F0Y2h8bGlicmFyeXxzZXRHZW5lcmljfHNldEdyb3VwR2VuZXJpYylcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJrZXl3b3JkIixiOiJcXC5cXC5cXC4iLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJrZXl3b3JkIixiOiJcXC5cXC5cXGQrKD8hW1xcdy5dKSIsZTpobGpzLklNTUVESUFURV9SRSxyOjEwfSx7Y046ImtleXdvcmQiLGI6IlxcYig/OmZ1bmN0aW9uKSIsZTpobGpzLklNTUVESUFURV9SRSxyOjJ9LHtjTjoia2V5d29yZCIsYjoiKD86aWZ8aW58YnJlYWt8bmV4dHxyZXBlYXR8ZWxzZXxmb3J8cmV0dXJufHN3aXRjaHx3aGlsZXx0cnl8c3RvcHx3YXJuaW5nfHJlcXVpcmV8YXR0YWNofGRldGFjaHxzb3VyY2V8c2V0TWV0aG9kfHNldENsYXNzKVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoibGl0ZXJhbCIsYjoiKD86TkF8TkFfaW50ZWdlcl98TkFfcmVhbF98TkFfY2hhcmFjdGVyX3xOQV9jb21wbGV4XylcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJsaXRlcmFsIixiOiIoPzpOVUxMfFRSVUV8RkFMU0V8VHxGfEluZnxOYU4pXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MX0se2NOOiJpZGVudGlmaWVyIixiOiJbYS16QS1aLl1bYS16QS1aMC05Ll9dKlxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjB9LHtjTjoib3BlcmF0b3IiLGI6IjxcXC0oPyFcXHMqXFxkKSIsZTpobGpzLklNTUVESUFURV9SRSxyOjJ9LHtjTjoib3BlcmF0b3IiLGI6IlxcLT58PFxcLSIsZTpobGpzLklNTUVESUFURV9SRSxyOjF9LHtjTjoib3BlcmF0b3IiLGI6IiUlfH4iLGU6aGxqcy5JTU1FRElBVEVfUkV9LHtjTjoib3BlcmF0b3IiLGI6Ij49fDw9fD09fCE9fFxcfFxcfHwmJnw9fFxcK3xcXC18XFwqfC98XFxefD58PHwhfCZ8XFx8fFxcJHw6IixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH0se2NOOiJvcGVyYXRvciIsYjoiJSIsZToiJSIsaToiXFxuIixyOjF9LHtjTjoiaWRlbnRpZmllciIsYjoiYCIsZToiYCIscjowfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbaGxqcy5CRV0scjowfSx7Y046InN0cmluZyIsYjoiJyIsZToiJyIsYzpbaGxqcy5CRV0scjowfSx7Y046InBhcmVuIixiOiJbWyh7XFxdKX1dIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH1dfX07aGxqcy5MQU5HVUFHRVMucnVieT1mdW5jdGlvbigpe3ZhciBhPSJbYS16QS1aX11bYS16QS1aMC05X10qKFxcIXxcXD8pPyI7dmFyIGo9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iO3ZhciBmPXtrZXl3b3JkOnthbmQ6MSwiZmFsc2UiOjEsdGhlbjoxLGRlZmluZWQ6MSxtb2R1bGU6MSwiaW4iOjEsInJldHVybiI6MSxyZWRvOjEsImlmIjoxLEJFR0lOOjEscmV0cnk6MSxlbmQ6MSwiZm9yIjoxLCJ0cnVlIjoxLHNlbGY6MSx3aGVuOjEsbmV4dDoxLHVudGlsOjEsImRvIjoxLGJlZ2luOjEsdW5sZXNzOjEsRU5EOjEscmVzY3VlOjEsbmlsOjEsImVsc2UiOjEsImJyZWFrIjoxLHVuZGVmOjEsbm90OjEsInN1cGVyIjoxLCJjbGFzcyI6MSwiY2FzZSI6MSxyZXF1aXJlOjEseWllbGQ6MSxhbGlhczoxLCJ3aGlsZSI6MSxlbnN1cmU6MSxlbHNpZjoxLG9yOjEsZGVmOjF9LGtleW1ldGhvZHM6e19faWRfXzoxLF9fc2VuZF9fOjEsYWJvcnQ6MSxhYnM6MSwiYWxsPyI6MSxhbGxvY2F0ZToxLGFuY2VzdG9yczoxLCJhbnk/IjoxLGFyaXR5OjEsYXNzb2M6MSxhdDoxLGF0X2V4aXQ6MSxhdXRvbG9hZDoxLCJhdXRvbG9hZD8iOjEsImJldHdlZW4/IjoxLGJpbmRpbmc6MSxiaW5tb2RlOjEsImJsb2NrX2dpdmVuPyI6MSxjYWxsOjEsY2FsbGNjOjEsY2FsbGVyOjEsY2FwaXRhbGl6ZToxLCJjYXBpdGFsaXplISI6MSxjYXNlY21wOjEsImNhdGNoIjoxLGNlaWw6MSxjZW50ZXI6MSxjaG9tcDoxLCJjaG9tcCEiOjEsY2hvcDoxLCJjaG9wISI6MSxjaHI6MSwiY2xhc3MiOjEsY2xhc3NfZXZhbDoxLCJjbGFzc192YXJpYWJsZV9kZWZpbmVkPyI6MSxjbGFzc192YXJpYWJsZXM6MSxjbGVhcjoxLGNsb25lOjEsY2xvc2U6MSxjbG9zZV9yZWFkOjEsY2xvc2Vfd3JpdGU6MSwiY2xvc2VkPyI6MSxjb2VyY2U6MSxjb2xsZWN0OjEsImNvbGxlY3QhIjoxLGNvbXBhY3Q6MSwiY29tcGFjdCEiOjEsY29uY2F0OjEsImNvbnN0X2RlZmluZWQ/IjoxLGNvbnN0X2dldDoxLGNvbnN0X21pc3Npbmc6MSxjb25zdF9zZXQ6MSxjb25zdGFudHM6MSxjb3VudDoxLGNyeXB0OjEsImRlZmF1bHQiOjEsZGVmYXVsdF9wcm9jOjEsImRlbGV0ZSI6MSwiZGVsZXRlISI6MSxkZWxldGVfYXQ6MSxkZWxldGVfaWY6MSxkZXRlY3Q6MSxkaXNwbGF5OjEsZGl2OjEsZGl2bW9kOjEsZG93bmNhc2U6MSwiZG93bmNhc2UhIjoxLGRvd250bzoxLGR1bXA6MSxkdXA6MSxlYWNoOjEsZWFjaF9ieXRlOjEsZWFjaF9pbmRleDoxLGVhY2hfa2V5OjEsZWFjaF9saW5lOjEsZWFjaF9wYWlyOjEsZWFjaF92YWx1ZToxLGVhY2hfd2l0aF9pbmRleDoxLCJlbXB0eT8iOjEsZW50cmllczoxLGVvZjoxLCJlb2Y/IjoxLCJlcWw/IjoxLCJlcXVhbD8iOjEsImV2YWwiOjEsZXhlYzoxLGV4aXQ6MSwiZXhpdCEiOjEsZXh0ZW5kOjEsZmFpbDoxLGZjbnRsOjEsZmV0Y2g6MSxmaWxlbm86MSxmaWxsOjEsZmluZDoxLGZpbmRfYWxsOjEsZmlyc3Q6MSxmbGF0dGVuOjEsImZsYXR0ZW4hIjoxLGZsb29yOjEsZmx1c2g6MSxmb3JfZmQ6MSxmb3JlYWNoOjEsZm9yazoxLGZvcm1hdDoxLGZyZWV6ZToxLCJmcm96ZW4/IjoxLGZzeW5jOjEsZ2V0YzoxLGdldHM6MSxnbG9iYWxfdmFyaWFibGVzOjEsZ3JlcDoxLGdzdWI6MSwiZ3N1YiEiOjEsImhhc19rZXk/IjoxLCJoYXNfdmFsdWU/IjoxLGhhc2g6MSxoZXg6MSxpZDoxLGluY2x1ZGU6MSwiaW5jbHVkZT8iOjEsaW5jbHVkZWRfbW9kdWxlczoxLGluZGV4OjEsaW5kZXhlczoxLGluZGljZXM6MSxpbmR1Y2VkX2Zyb206MSxpbmplY3Q6MSxpbnNlcnQ6MSxpbnNwZWN0OjEsaW5zdGFuY2VfZXZhbDoxLGluc3RhbmNlX21ldGhvZDoxLGluc3RhbmNlX21ldGhvZHM6MSwiaW5zdGFuY2Vfb2Y/IjoxLCJpbnN0YW5jZV92YXJpYWJsZV9kZWZpbmVkPyI6MSxpbnN0YW5jZV92YXJpYWJsZV9nZXQ6MSxpbnN0YW5jZV92YXJpYWJsZV9zZXQ6MSxpbnN0YW5jZV92YXJpYWJsZXM6MSwiaW50ZWdlcj8iOjEsaW50ZXJuOjEsaW52ZXJ0OjEsaW9jdGw6MSwiaXNfYT8iOjEsaXNhdHR5OjEsIml0ZXJhdG9yPyI6MSxqb2luOjEsImtleT8iOjEsa2V5czoxLCJraW5kX29mPyI6MSxsYW1iZGE6MSxsYXN0OjEsbGVuZ3RoOjEsbGluZW5vOjEsbGp1c3Q6MSxsb2FkOjEsbG9jYWxfdmFyaWFibGVzOjEsbG9vcDoxLGxzdHJpcDoxLCJsc3RyaXAhIjoxLG1hcDoxLCJtYXAhIjoxLG1hdGNoOjEsbWF4OjEsIm1lbWJlcj8iOjEsbWVyZ2U6MSwibWVyZ2UhIjoxLG1ldGhvZDoxLCJtZXRob2RfZGVmaW5lZD8iOjEsbWV0aG9kX21pc3Npbmc6MSxtZXRob2RzOjEsbWluOjEsbW9kdWxlX2V2YWw6MSxtb2R1bG86MSxuYW1lOjEsbmVzdGluZzoxLCJuZXciOjEsbmV4dDoxLCJuZXh0ISI6MSwibmlsPyI6MSxuaXRlbXM6MSwibm9uemVybz8iOjEsb2JqZWN0X2lkOjEsb2N0OjEsb3BlbjoxLHBhY2s6MSxwYXJ0aXRpb246MSxwaWQ6MSxwaXBlOjEscG9wOjEscG9wZW46MSxwb3M6MSxwcmVjOjEscHJlY19mOjEscHJlY19pOjEscHJpbnQ6MSxwcmludGY6MSxwcml2YXRlX2NsYXNzX21ldGhvZDoxLHByaXZhdGVfaW5zdGFuY2VfbWV0aG9kczoxLCJwcml2YXRlX21ldGhvZF9kZWZpbmVkPyI6MSxwcml2YXRlX21ldGhvZHM6MSxwcm9jOjEscHJvdGVjdGVkX2luc3RhbmNlX21ldGhvZHM6MSwicHJvdGVjdGVkX21ldGhvZF9kZWZpbmVkPyI6MSxwcm90ZWN0ZWRfbWV0aG9kczoxLHB1YmxpY19jbGFzc19tZXRob2Q6MSxwdWJsaWNfaW5zdGFuY2VfbWV0aG9kczoxLCJwdWJsaWNfbWV0aG9kX2RlZmluZWQ/IjoxLHB1YmxpY19tZXRob2RzOjEscHVzaDoxLHB1dGM6MSxwdXRzOjEscXVvOjEscmFpc2U6MSxyYW5kOjEscmFzc29jOjEscmVhZDoxLHJlYWRfbm9uYmxvY2s6MSxyZWFkY2hhcjoxLHJlYWRsaW5lOjEscmVhZGxpbmVzOjEscmVhZHBhcnRpYWw6MSxyZWhhc2g6MSxyZWplY3Q6MSwicmVqZWN0ISI6MSxyZW1haW5kZXI6MSxyZW9wZW46MSxyZXBsYWNlOjEscmVxdWlyZToxLCJyZXNwb25kX3RvPyI6MSxyZXZlcnNlOjEsInJldmVyc2UhIjoxLHJldmVyc2VfZWFjaDoxLHJld2luZDoxLHJpbmRleDoxLHJqdXN0OjEscm91bmQ6MSxyc3RyaXA6MSwicnN0cmlwISI6MSxzY2FuOjEsc2VlazoxLHNlbGVjdDoxLHNlbmQ6MSxzZXRfdHJhY2VfZnVuYzoxLHNoaWZ0OjEsc2luZ2xldG9uX21ldGhvZF9hZGRlZDoxLHNpbmdsZXRvbl9tZXRob2RzOjEsc2l6ZToxLHNsZWVwOjEsc2xpY2U6MSwic2xpY2UhIjoxLHNvcnQ6MSwic29ydCEiOjEsc29ydF9ieToxLHNwbGl0OjEsc3ByaW50ZjoxLHNxdWVlemU6MSwic3F1ZWV6ZSEiOjEsc3JhbmQ6MSxzdGF0OjEsc3RlcDoxLHN0b3JlOjEsc3RyaXA6MSwic3RyaXAhIjoxLHN1YjoxLCJzdWIhIjoxLHN1Y2M6MSwic3VjYyEiOjEsc3VtOjEsc3VwZXJjbGFzczoxLHN3YXBjYXNlOjEsInN3YXBjYXNlISI6MSxzeW5jOjEsc3lzY2FsbDoxLHN5c29wZW46MSxzeXNyZWFkOjEsc3lzc2VlazoxLHN5c3RlbToxLHN5c3dyaXRlOjEsdGFpbnQ6MSwidGFpbnRlZD8iOjEsdGVsbDoxLHRlc3Q6MSwidGhyb3ciOjEsdGltZXM6MSx0b19hOjEsdG9fYXJ5OjEsdG9fZjoxLHRvX2hhc2g6MSx0b19pOjEsdG9faW50OjEsdG9faW86MSx0b19wcm9jOjEsdG9fczoxLHRvX3N0cjoxLHRvX3N5bToxLHRyOjEsInRyISI6MSx0cl9zOjEsInRyX3MhIjoxLHRyYWNlX3ZhcjoxLHRyYW5zcG9zZToxLHRyYXA6MSx0cnVuY2F0ZToxLCJ0dHk/IjoxLHR5cGU6MSx1bmdldGM6MSx1bmlxOjEsInVuaXEhIjoxLHVucGFjazoxLHVuc2hpZnQ6MSx1bnRhaW50OjEsdW50cmFjZV92YXI6MSx1cGNhc2U6MSwidXBjYXNlISI6MSx1cGRhdGU6MSx1cHRvOjEsInZhbHVlPyI6MSx2YWx1ZXM6MSx2YWx1ZXNfYXQ6MSx3YXJuOjEsd3JpdGU6MSx3cml0ZV9ub25ibG9jazoxLCJ6ZXJvPyI6MSx6aXA6MX19O3ZhciBjPXtjTjoieWFyZG9jdGFnIixiOiJAW0EtWmEtel0rIn07dmFyIGs9W3tjTjoiY29tbWVudCIsYjoiIyIsZToiJCIsYzpbY119LHtjTjoiY29tbWVudCIsYjoiXlxcPWJlZ2luIixlOiJeXFw9ZW5kIixjOltjXSxyOjEwfSx7Y046ImNvbW1lbnQiLGI6Il5fX0VORF9fIixlOiJcXG4kIn1dO3ZhciBkPXtjTjoic3Vic3QiLGI6IiNcXHsiLGU6In0iLGw6YSxrOmZ9O3ZhciBpPVtobGpzLkJFLGRdO3ZhciBiPVt7Y046InN0cmluZyIsYjoiJyIsZToiJyIsYzppLHI6MH0se2NOOiJzdHJpbmciLGI6JyInLGU6JyInLGM6aSxyOjB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT9cXCgiLGU6IlxcKSIsYzppLHI6MTB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT9cXFsiLGU6IlxcXSIsYzppLHI6MTB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT97IixlOiJ9IixjOmkscjoxMH0se2NOOiJzdHJpbmciLGI6IiVbcXddPzwiLGU6Ij4iLGM6aSxyOjEwfSx7Y046InN0cmluZyIsYjoiJVtxd10/LyIsZToiLyIsYzppLHI6MTB9LHtjTjoic3RyaW5nIixiOiIlW3F3XT8lIixlOiIlIixjOmkscjoxMH0se2NOOiJzdHJpbmciLGI6IiVbcXddPy0iLGU6Ii0iLGM6aSxyOjEwfSx7Y046InN0cmluZyIsYjoiJVtxd10/XFx8IixlOiJcXHwiLGM6aSxyOjEwfV07dmFyIGg9e2NOOiJmdW5jdGlvbiIsYjoiXFxiZGVmXFxzKyIsZToiIHwkfDsiLGw6YSxrOmYsYzpbe2NOOiJ0aXRsZSIsYjpqLGw6YSxrOmZ9LHtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSIsbDphLGs6Zn1dLmNvbmNhdChrKX07dmFyIGc9e2NOOiJpZGVudGlmaWVyIixiOmEsbDphLGs6ZixyOjB9O3ZhciBlPWsuY29uY2F0KGIuY29uY2F0KFt7Y046ImNsYXNzIixiOiJcXGIoY2xhc3N8bW9kdWxlKVxcYiIsZToiJHw7IixrOnsiY2xhc3MiOjEsbW9kdWxlOjF9LGM6W3tjTjoidGl0bGUiLGI6IltBLVphLXpfXVxcdyooOjpcXHcrKSooXFw/fFxcISk/IixyOjB9LHtjTjoiaW5oZXJpdGFuY2UiLGI6IjxcXHMqIixjOlt7Y046InBhcmVudCIsYjoiKCIraGxqcy5JUisiOjopPyIraGxqcy5JUn1dfV0uY29uY2F0KGspfSxoLHtjTjoiY29uc3RhbnQiLGI6Iig6Oik/KFtBLVpdXFx3Kig6Oik/KSsiLHI6MH0se2NOOiJzeW1ib2wiLGI6IjoiLGM6Yi5jb25jYXQoW2ddKSxyOjB9LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXD9cXHcifSx7Y046InZhcmlhYmxlIixiOiIoXFwkXFxXKXwoKFxcJHxcXEBcXEA/KShcXHcrKSkifSxnLHtiOiIoIitobGpzLlJTUisiKVxccyoiLGM6ay5jb25jYXQoW3tjTjoicmVnZXhwIixiOiIvIixlOiIvW2Etel0qIixpOiJcXG4iLGM6W2hsanMuQkVdfV0pLHI6MH1dKSk7ZC5jPWU7aC5jWzFdLmM9ZTtyZXR1cm57ZE06e2w6YSxrOmYsYzplfX19KCk7aGxqcy5MQU5HVUFHRVMuc2NhbGE9ZnVuY3Rpb24oKXt2YXIgYj17Y046ImFubm90YXRpb24iLGI6IkBbQS1aYS16XSsifTt2YXIgYT17Y046InN0cmluZyIsYjondT9yPyIiIicsZTonIiIiJyxyOjEwfTtyZXR1cm57ZE06e2s6e3R5cGU6MSx5aWVsZDoxLGxhenk6MSxvdmVycmlkZToxLGRlZjoxLCJ3aXRoIjoxLHZhbDoxLCJ2YXIiOjEsImZhbHNlIjoxLCJ0cnVlIjoxLHNlYWxlZDoxLCJhYnN0cmFjdCI6MSwicHJpdmF0ZSI6MSx0cmFpdDoxLG9iamVjdDoxLCJudWxsIjoxLCJpZiI6MSwiZm9yIjoxLCJ3aGlsZSI6MSwidGhyb3ciOjEsImZpbmFsbHkiOjEsInByb3RlY3RlZCI6MSwiZXh0ZW5kcyI6MSwiaW1wb3J0IjoxLCJmaW5hbCI6MSwicmV0dXJuIjoxLCJlbHNlIjoxLCJicmVhayI6MSwibmV3IjoxLCJjYXRjaCI6MSwic3VwZXIiOjEsImNsYXNzIjoxLCJjYXNlIjoxLCJwYWNrYWdlIjoxLCJkZWZhdWx0IjoxLCJ0cnkiOjEsInRoaXMiOjEsbWF0Y2g6MSwiY29udGludWUiOjEsInRocm93cyI6MX0sYzpbe2NOOiJqYXZhZG9jIixiOiIvXFwqXFwqIixlOiJcXCovIixjOlt7Y046ImphdmFkb2N0YWciLGI6IkBbQS1aYS16XSsifV0scjoxMH0saGxqcy5DTENNLGhsanMuQ0JMQ0xNLGhsanMuQVNNLGhsanMuUVNNLGEse2NOOiJjbGFzcyIsYjoiKChjYXNlICk/Y2xhc3MgfG9iamVjdCB8dHJhaXQgKSIsZToiKHt8JCkiLGk6IjoiLGs6eyJjYXNlIjoxLCJjbGFzcyI6MSx0cmFpdDoxLG9iamVjdDoxfSxjOlt7YldLOnRydWUsazp7ImV4dGVuZHMiOjEsIndpdGgiOjF9LHI6MTB9LHtjTjoidGl0bGUiLGI6aGxqcy5VSVJ9LHtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSIsYzpbaGxqcy5BU00saGxqcy5RU00sYSxiXX1dfSxobGpzLkNOTSxiXX19fSgpO2hsanMuTEFOR1VBR0VTLnNxbD17Y0k6dHJ1ZSxkTTp7aToiW15cXHNdIixjOlt7Y046Im9wZXJhdG9yIixiOiIoYmVnaW58c3RhcnR8Y29tbWl0fHJvbGxiYWNrfHNhdmVwb2ludHxsb2NrfGFsdGVyfGNyZWF0ZXxkcm9wfHJlbmFtZXxjYWxsfGRlbGV0ZXxkb3xoYW5kbGVyfGluc2VydHxsb2FkfHJlcGxhY2V8c2VsZWN0fHRydW5jYXRlfHVwZGF0ZXxzZXR8c2hvd3xwcmFnbWF8Z3JhbnQpXFxiIixlOiI7fCIraGxqcy5FUixrOntrZXl3b3JkOnthbGw6MSxwYXJ0aWFsOjEsZ2xvYmFsOjEsbW9udGg6MSxjdXJyZW50X3RpbWVzdGFtcDoxLHVzaW5nOjEsZ286MSxyZXZva2U6MSxzbWFsbGludDoxLGluZGljYXRvcjoxLCJlbmQtZXhlYyI6MSxkaXNjb25uZWN0OjEsem9uZToxLCJ3aXRoIjoxLGNoYXJhY3RlcjoxLGFzc2VydGlvbjoxLHRvOjEsYWRkOjEsY3VycmVudF91c2VyOjEsdXNhZ2U6MSxpbnB1dDoxLGxvY2FsOjEsYWx0ZXI6MSxtYXRjaDoxLGNvbGxhdGU6MSxyZWFsOjEsdGhlbjoxLHJvbGxiYWNrOjEsZ2V0OjEscmVhZDoxLHRpbWVzdGFtcDoxLHNlc3Npb25fdXNlcjoxLG5vdDoxLGludGVnZXI6MSxiaXQ6MSx1bmlxdWU6MSxkYXk6MSxtaW51dGU6MSxkZXNjOjEsaW5zZXJ0OjEsZXhlY3V0ZToxLGxpa2U6MSxpbGlrZToyLGxldmVsOjEsZGVjaW1hbDoxLGRyb3A6MSwiY29udGludWUiOjEsaXNvbGF0aW9uOjEsZm91bmQ6MSx3aGVyZToxLGNvbnN0cmFpbnRzOjEsZG9tYWluOjEscmlnaHQ6MSxuYXRpb25hbDoxLHNvbWU6MSxtb2R1bGU6MSx0cmFuc2FjdGlvbjoxLHJlbGF0aXZlOjEsc2Vjb25kOjEsY29ubmVjdDoxLGVzY2FwZToxLGNsb3NlOjEsc3lzdGVtX3VzZXI6MSwiZm9yIjoxLGRlZmVycmVkOjEsc2VjdGlvbjoxLGNhc3Q6MSxjdXJyZW50OjEsc3Fsc3RhdGU6MSxhbGxvY2F0ZToxLGludGVyc2VjdDoxLGRlYWxsb2NhdGU6MSxudW1lcmljOjEsInB1YmxpYyI6MSxwcmVzZXJ2ZToxLGZ1bGw6MSwiZ290byI6MSxpbml0aWFsbHk6MSxhc2M6MSxubzoxLGtleToxLG91dHB1dDoxLGNvbGxhdGlvbjoxLGdyb3VwOjEsYnk6MSx1bmlvbjoxLHNlc3Npb246MSxib3RoOjEsbGFzdDoxLGxhbmd1YWdlOjEsY29uc3RyYWludDoxLGNvbHVtbjoxLG9mOjEsc3BhY2U6MSxmb3JlaWduOjEsZGVmZXJyYWJsZToxLHByaW9yOjEsY29ubmVjdGlvbjoxLHVua25vd246MSxhY3Rpb246MSxjb21taXQ6MSx2aWV3OjEsb3I6MSxmaXJzdDoxLGludG86MSwiZmxvYXQiOjEseWVhcjoxLHByaW1hcnk6MSxjYXNjYWRlZDoxLGV4Y2VwdDoxLHJlc3RyaWN0OjEsc2V0OjEscmVmZXJlbmNlczoxLG5hbWVzOjEsdGFibGU6MSxvdXRlcjoxLG9wZW46MSxzZWxlY3Q6MSxzaXplOjEsYXJlOjEscm93czoxLGZyb206MSxwcmVwYXJlOjEsZGlzdGluY3Q6MSxsZWFkaW5nOjEsY3JlYXRlOjEsb25seToxLG5leHQ6MSxpbm5lcjoxLGF1dGhvcml6YXRpb246MSxzY2hlbWE6MSxjb3JyZXNwb25kaW5nOjEsb3B0aW9uOjEsZGVjbGFyZToxLHByZWNpc2lvbjoxLGltbWVkaWF0ZToxLCJlbHNlIjoxLHRpbWV6b25lX21pbnV0ZToxLGV4dGVybmFsOjEsdmFyeWluZzoxLHRyYW5zbGF0aW9uOjEsInRydWUiOjEsImNhc2UiOjEsZXhjZXB0aW9uOjEsam9pbjoxLGhvdXI6MSwiZGVmYXVsdCI6MSwiZG91YmxlIjoxLHNjcm9sbDoxLHZhbHVlOjEsY3Vyc29yOjEsZGVzY3JpcHRvcjoxLHZhbHVlczoxLGRlYzoxLGZldGNoOjEscHJvY2VkdXJlOjEsImRlbGV0ZSI6MSxhbmQ6MSwiZmFsc2UiOjEsImludCI6MSxpczoxLGRlc2NyaWJlOjEsImNoYXIiOjEsYXM6MSxhdDoxLCJpbiI6MSx2YXJjaGFyOjEsIm51bGwiOjEsdHJhaWxpbmc6MSxhbnk6MSxhYnNvbHV0ZToxLGN1cnJlbnRfdGltZToxLGVuZDoxLGdyYW50OjEscHJpdmlsZWdlczoxLHdoZW46MSxjcm9zczoxLGNoZWNrOjEsd3JpdGU6MSxjdXJyZW50X2RhdGU6MSxwYWQ6MSxiZWdpbjoxLHRlbXBvcmFyeToxLGV4ZWM6MSx0aW1lOjEsdXBkYXRlOjEsY2F0YWxvZzoxLHVzZXI6MSxzcWw6MSxkYXRlOjEsb246MSxpZGVudGl0eToxLHRpbWV6b25lX2hvdXI6MSxuYXR1cmFsOjEsd2hlbmV2ZXI6MSxpbnRlcnZhbDoxLHdvcms6MSxvcmRlcjoxLGNhc2NhZGU6MSxkaWFnbm9zdGljczoxLG5jaGFyOjEsaGF2aW5nOjEsbGVmdDoxLGNhbGw6MSwiZG8iOjEsaGFuZGxlcjoxLGxvYWQ6MSxyZXBsYWNlOjEsdHJ1bmNhdGU6MSxzdGFydDoxLGxvY2s6MSxzaG93OjEscHJhZ21hOjF9LGFnZ3JlZ2F0ZTp7Y291bnQ6MSxzdW06MSxtaW46MSxtYXg6MSxhdmc6MX19LGM6W3tjTjoic3RyaW5nIixiOiInIixlOiInIixjOltobGpzLkJFLHtiOiInJyJ9XSxyOjB9LHtjTjoic3RyaW5nIixiOiciJyxlOiciJyxjOltobGpzLkJFLHtiOiciIid9XSxyOjB9LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltobGpzLkJFXX0saGxqcy5DTk1dfSxobGpzLkNCTENMTSx7Y046ImNvbW1lbnQiLGI6Ii0tIixlOiIkIn1dfX07aGxqcy5MQU5HVUFHRVMuc3Rhbj17ZE06e2M6W2hsanMuSENNLGhsanMuQ0xDTSxobGpzLlFTTSxobGpzLkNOTSx7Y046Im9wZXJhdG9yIixiOiIoPzo8LXx+fFxcfFxcfHwmJnw9PXwhPXw8PT98Pj0/fFxcK3wtfFxcLj8vfFxcXFx8XFxefFxcXnwhfCd8JXw6fCx8O3w9KVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjEwfSx7Y046InBhcmVuIixiOiJbWyh7XFxdKX1dIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MH0se2NOOiJmdW5jdGlvbiIsYjoiKD86UGhpfFBoaV9hcHByb3h8YWJzfGFjb3N8YWNvc2h8YXBwZW5kX2NvbHxhcHBlbmRfcm93fGFzaW58YXNpbmh8YXRhbnxhdGFuMnxhdGFuaHxiZXJub3VsbGlfY2NkZl9sb2d8YmVybm91bGxpX2NkZnxiZXJub3VsbGlfY2RmX2xvZ3xiZXJub3VsbGlfbG9nfGJlcm5vdWxsaV9sb2dpdF9sb2d8YmVybm91bGxpX3JuZ3xiZXNzZWxfZmlyc3Rfa2luZHxiZXNzZWxfc2Vjb25kX2tpbmR8YmV0YV9iaW5vbWlhbF9jY2RmX2xvZ3xiZXRhX2Jpbm9taWFsX2NkZnxiZXRhX2Jpbm9taWFsX2NkZl9sb2d8YmV0YV9iaW5vbWlhbF9sb2d8YmV0YV9iaW5vbWlhbF9ybmd8YmV0YV9jY2RmX2xvZ3xiZXRhX2NkZnxiZXRhX2NkZl9sb2d8YmV0YV9sb2d8YmV0YV9ybmd8YmluYXJ5X2xvZ19sb3NzfGJpbm9taWFsX2NjZGZfbG9nfGJpbm9taWFsX2NkZnxiaW5vbWlhbF9jZGZfbG9nfGJpbm9taWFsX2NvZWZmaWNpZW50X2xvZ3xiaW5vbWlhbF9sb2d8Ymlub21pYWxfbG9naXRfbG9nfGJpbm9taWFsX3JuZ3xibG9ja3xjYXRlZ29yaWNhbF9sb2d8Y2F0ZWdvcmljYWxfbG9naXRfbG9nfGNhdGVnb3JpY2FsX3JuZ3xjYXVjaHlfY2NkZl9sb2d8Y2F1Y2h5X2NkZnxjYXVjaHlfY2RmX2xvZ3xjYXVjaHlfbG9nfGNhdWNoeV9ybmd8Y2JydHxjZWlsfGNoaV9zcXVhcmVfY2NkZl9sb2d8Y2hpX3NxdWFyZV9jZGZ8Y2hpX3NxdWFyZV9jZGZfbG9nfGNoaV9zcXVhcmVfbG9nfGNoaV9zcXVhcmVfcm5nfGNob2xlc2t5X2RlY29tcG9zZXxjb2x8Y29sc3xjb2x1bW5zX2RvdF9wcm9kdWN0fGNvbHVtbnNfZG90X3NlbGZ8Y29zfGNvc2h8Y3Jvc3Nwcm9kfGNzcl9leHRyYWN0X3V8Y3NyX2V4dHJhY3Rfdnxjc3JfZXh0cmFjdF93fGNzcl9tYXRyaXhfdGltZXNfdmVjdG9yfGNzcl90b19kZW5zZV9tYXRyaXh8Y3VtdWxhdGl2ZV9zdW18ZGV0ZXJtaW5hbnR8ZGlhZ19tYXRyaXh8ZGlhZ19wb3N0X211bHRpcGx5fGRpYWdfcHJlX211bHRpcGx5fGRpYWdvbmFsfGRpZ2FtbWF8ZGltc3xkaXJpY2hsZXRfbG9nfGRpcmljaGxldF9ybmd8ZGlzdGFuY2V8ZG90X3Byb2R1Y3R8ZG90X3NlbGZ8ZG91YmxlX2V4cG9uZW50aWFsX2NjZGZfbG9nfGRvdWJsZV9leHBvbmVudGlhbF9jZGZ8ZG91YmxlX2V4cG9uZW50aWFsX2NkZl9sb2d8ZG91YmxlX2V4cG9uZW50aWFsX2xvZ3xkb3VibGVfZXhwb25lbnRpYWxfcm5nfGV8ZWlnZW52YWx1ZXNfc3ltfGVpZ2VudmVjdG9yc19zeW18ZXJmfGVyZmN8ZXhwfGV4cDJ8ZXhwX21vZF9ub3JtYWxfY2NkZl9sb2d8ZXhwX21vZF9ub3JtYWxfY2RmfGV4cF9tb2Rfbm9ybWFsX2NkZl9sb2d8ZXhwX21vZF9ub3JtYWxfbG9nfGV4cF9tb2Rfbm9ybWFsX3JuZ3xleHBtMXxleHBvbmVudGlhbF9jY2RmX2xvZ3xleHBvbmVudGlhbF9jZGZ8ZXhwb25lbnRpYWxfY2RmX2xvZ3xleHBvbmVudGlhbF9sb2d8ZXhwb25lbnRpYWxfcm5nfGZhYnN8ZmFsbGluZ19mYWN0b3JpYWx8ZmRpbXxmbG9vcnxmbWF8Zm1heHxmbWlufGZtb2R8ZnJlY2hldF9jY2RmX2xvZ3xmcmVjaGV0X2NkZnxmcmVjaGV0X2NkZl9sb2d8ZnJlY2hldF9sb2d8ZnJlY2hldF9ybmd8Z2FtbWFfY2NkZl9sb2d8Z2FtbWFfY2RmfGdhbW1hX2NkZl9sb2d8Z2FtbWFfbG9nfGdhbW1hX3B8Z2FtbWFfcXxnYW1tYV9ybmd8Z2F1c3NpYW5fZGxtX29ic19sb2d8Z2V0X2xwfGd1bWJlbF9jY2RmX2xvZ3xndW1iZWxfY2RmfGd1bWJlbF9jZGZfbG9nfGd1bWJlbF9sb2d8Z3VtYmVsX3JuZ3xoZWFkfGh5cGVyZ2VvbWV0cmljX2xvZ3xoeXBlcmdlb21ldHJpY19ybmd8aHlwb3R8aWZfZWxzZXxpbnRfc3RlcHxpbnZ8aW52X2NoaV9zcXVhcmVfY2NkZl9sb2d8aW52X2NoaV9zcXVhcmVfY2RmfGludl9jaGlfc3F1YXJlX2NkZl9sb2d8aW52X2NoaV9zcXVhcmVfbG9nfGludl9jaGlfc3F1YXJlX3JuZ3xpbnZfY2xvZ2xvZ3xpbnZfZ2FtbWFfY2NkZl9sb2d8aW52X2dhbW1hX2NkZnxpbnZfZ2FtbWFfY2RmX2xvZ3xpbnZfZ2FtbWFfbG9nfGludl9nYW1tYV9ybmd8aW52X2xvZ2l0fGludl9waGl8aW52X3NxcnR8aW52X3NxdWFyZXxpbnZfd2lzaGFydF9sb2d8aW52X3dpc2hhcnRfcm5nfGludmVyc2V8aW52ZXJzZV9zcGR8aXNfaW5mfGlzX25hbnxsYmV0YXxsZ2FtbWF8bGtqX2NvcnJfY2hvbGVza3lfbG9nfGxral9jb3JyX2Nob2xlc2t5X3JuZ3xsa2pfY29ycl9sb2d8bGtqX2NvcnJfcm5nfGxtZ2FtbWF8bG9nfGxvZzEwfGxvZzFtfGxvZzFtX2V4cHxsb2cxbV9pbnZfbG9naXR8bG9nMXB8bG9nMXBfZXhwfGxvZzJ8bG9nX2RldGVybWluYW50fGxvZ19kaWZmX2V4cHxsb2dfZmFsbGluZ19mYWN0b3JpYWx8bG9nX2ludl9sb2dpdHxsb2dfbWl4fGxvZ19yaXNpbmdfZmFjdG9yaWFsfGxvZ19zb2Z0bWF4fGxvZ19zdW1fZXhwfGxvZ2lzdGljX2NjZGZfbG9nfGxvZ2lzdGljX2NkZnxsb2dpc3RpY19jZGZfbG9nfGxvZ2lzdGljX2xvZ3xsb2dpc3RpY19ybmd8bG9naXR8bG9nbm9ybWFsX2NjZGZfbG9nfGxvZ25vcm1hbF9jZGZ8bG9nbm9ybWFsX2NkZl9sb2d8bG9nbm9ybWFsX2xvZ3xsb2dub3JtYWxfcm5nfG1hY2hpbmVfcHJlY2lzaW9ufG1heHxtZGl2aWRlX2xlZnRfdHJpX2xvd3xtZGl2aWRlX3JpZ2h0X3RyaV9sb3d8bWVhbnxtaW58bW9kaWZpZWRfYmVzc2VsX2ZpcnN0X2tpbmR8bW9kaWZpZWRfYmVzc2VsX3NlY29uZF9raW5kfG11bHRpX2dwX2Nob2xlc2t5X2xvZ3xtdWx0aV9ncF9sb2d8bXVsdGlfbm9ybWFsX2Nob2xlc2t5X2xvZ3xtdWx0aV9ub3JtYWxfY2hvbGVza3lfcm5nfG11bHRpX25vcm1hbF9sb2d8bXVsdGlfbm9ybWFsX3ByZWNfbG9nfG11bHRpX25vcm1hbF9ybmd8bXVsdGlfc3R1ZGVudF90X2xvZ3xtdWx0aV9zdHVkZW50X3Rfcm5nfG11bHRpbm9taWFsX2xvZ3xtdWx0aW5vbWlhbF9ybmd8bXVsdGlwbHlfbG9nfG11bHRpcGx5X2xvd2VyX3RyaV9zZWxmX3RyYW5zcG9zZXxuZWdfYmlub21pYWxfMl9jY2RmX2xvZ3xuZWdfYmlub21pYWxfMl9jZGZ8bmVnX2Jpbm9taWFsXzJfY2RmX2xvZ3xuZWdfYmlub21pYWxfMl9sb2d8bmVnX2Jpbm9taWFsXzJfbG9nX2xvZ3xuZWdfYmlub21pYWxfMl9sb2dfcm5nfG5lZ19iaW5vbWlhbF8yX3JuZ3xuZWdfYmlub21pYWxfY2NkZl9sb2d8bmVnX2Jpbm9taWFsX2NkZnxuZWdfYmlub21pYWxfY2RmX2xvZ3xuZWdfYmlub21pYWxfbG9nfG5lZ19iaW5vbWlhbF9ybmd8bmVnYXRpdmVfaW5maW5pdHl8bm9ybWFsX2NjZGZfbG9nfG5vcm1hbF9jZGZ8bm9ybWFsX2NkZl9sb2d8bm9ybWFsX2xvZ3xub3JtYWxfcm5nfG5vdF9hX251bWJlcnxudW1fZWxlbWVudHN8b3JkZXJlZF9sb2dpc3RpY19sb2d8b3JkZXJlZF9sb2dpc3RpY19ybmd8b3dlbnNfdHxwYXJldG9fY2NkZl9sb2d8cGFyZXRvX2NkZnxwYXJldG9fY2RmX2xvZ3xwYXJldG9fbG9nfHBhcmV0b19ybmd8cGFyZXRvX3R5cGVfMl9jY2RmX2xvZ3xwYXJldG9fdHlwZV8yX2NkZnxwYXJldG9fdHlwZV8yX2NkZl9sb2d8cGFyZXRvX3R5cGVfMl9sb2d8cGFyZXRvX3R5cGVfMl9ybmd8cGl8cG9pc3Nvbl9jY2RmX2xvZ3xwb2lzc29uX2NkZnxwb2lzc29uX2NkZl9sb2d8cG9pc3Nvbl9sb2d8cG9pc3Nvbl9sb2dfbG9nfHBvaXNzb25fbG9nX3JuZ3xwb2lzc29uX3JuZ3xwb3NpdGl2ZV9pbmZpbml0eXxwb3d8cHJvZHxxcl9RfHFyX1J8cXVhZF9mb3JtfHF1YWRfZm9ybV9kaWFnfHF1YWRfZm9ybV9zeW18cmFua3xyYXlsZWlnaF9jY2RmX2xvZ3xyYXlsZWlnaF9jZGZ8cmF5bGVpZ2hfY2RmX2xvZ3xyYXlsZWlnaF9sb2d8cmF5bGVpZ2hfcm5nfHJlcF9hcnJheXxyZXBfbWF0cml4fHJlcF9yb3dfdmVjdG9yfHJlcF92ZWN0b3J8cmlzaW5nX2ZhY3RvcmlhbHxyb3VuZHxyb3d8cm93c3xyb3dzX2RvdF9wcm9kdWN0fHJvd3NfZG90X3NlbGZ8c2NhbGVkX2ludl9jaGlfc3F1YXJlX2NjZGZfbG9nfHNjYWxlZF9pbnZfY2hpX3NxdWFyZV9jZGZ8c2NhbGVkX2ludl9jaGlfc3F1YXJlX2NkZl9sb2d8c2NhbGVkX2ludl9jaGlfc3F1YXJlX2xvZ3xzY2FsZWRfaW52X2NoaV9zcXVhcmVfcm5nfHNkfHNlZ21lbnR8c2lufHNpbmd1bGFyX3ZhbHVlc3xzaW5ofHNpemV8c2tld19ub3JtYWxfY2NkZl9sb2d8c2tld19ub3JtYWxfY2RmfHNrZXdfbm9ybWFsX2NkZl9sb2d8c2tld19ub3JtYWxfbG9nfHNrZXdfbm9ybWFsX3JuZ3xzb2Z0bWF4fHNvcnRfYXNjfHNvcnRfZGVzY3xzb3J0X2luZGljZXNfYXNjfHNvcnRfaW5kaWNlc19kZXNjfHNxcnR8c3FydDJ8c3F1YXJlfHNxdWFyZWRfZGlzdGFuY2V8c3RlcHxzdHVkZW50X3RfY2NkZl9sb2d8c3R1ZGVudF90X2NkZnxzdHVkZW50X3RfY2RmX2xvZ3xzdHVkZW50X3RfbG9nfHN0dWRlbnRfdF9ybmd8c3ViX2NvbHxzdWJfcm93fHN1bXx0YWlsfHRhbnx0YW5ofHRjcm9zc3Byb2R8dGdhbW1hfHRvX2FycmF5XzFkfHRvX2FycmF5XzJkfHRvX21hdHJpeHx0b19yb3dfdmVjdG9yfHRvX3ZlY3Rvcnx0cmFjZXx0cmFjZV9nZW5fcXVhZF9mb3JtfHRyYWNlX3F1YWRfZm9ybXx0cmlnYW1tYXx0cnVuY3x1bmlmb3JtX2NjZGZfbG9nfHVuaWZvcm1fY2RmfHVuaWZvcm1fY2RmX2xvZ3x1bmlmb3JtX2xvZ3x1bmlmb3JtX3JuZ3x2YXJpYW5jZXx2b25fbWlzZXNfbG9nfHZvbl9taXNlc19ybmd8d2VpYnVsbF9jY2RmX2xvZ3x3ZWlidWxsX2NkZnx3ZWlidWxsX2NkZl9sb2d8d2VpYnVsbF9sb2d8d2VpYnVsbF9ybmd8d2llbmVyX2xvZ3x3aXNoYXJ0X2xvZ3x3aXNoYXJ0X3JuZylcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJmdW5jdGlvbiIsYjoiKD86YmVybm91bGxpfGJlcm5vdWxsaV9sb2dpdHxiZXRhfGJldGFfYmlub21pYWx8Ymlub21pYWx8Ymlub21pYWxfbG9naXR8Y2F0ZWdvcmljYWx8Y2F0ZWdvcmljYWxfbG9naXR8Y2F1Y2h5fGNoaV9zcXVhcmV8ZGlyaWNobGV0fGRvdWJsZV9leHBvbmVudGlhbHxleHBfbW9kX25vcm1hbHxleHBvbmVudGlhbHxmcmVjaGV0fGdhbW1hfGdhdXNzaWFuX2RsbV9vYnN8Z3VtYmVsfGh5cGVyZ2VvbWV0cmljfGludl9jaGlfc3F1YXJlfGludl9nYW1tYXxpbnZfd2lzaGFydHxsa2pfY29ycnxsa2pfY29ycl9jaG9sZXNreXxsb2dpc3RpY3xsb2dub3JtYWx8bXVsdGlfZ3B8bXVsdGlfZ3BfY2hvbGVza3l8bXVsdGlfbm9ybWFsfG11bHRpX25vcm1hbF9jaG9sZXNreXxtdWx0aV9ub3JtYWxfcHJlY3xtdWx0aV9zdHVkZW50X3R8bXVsdGlub21pYWx8bmVnX2Jpbm9taWFsfG5lZ19iaW5vbWlhbF8yfG5lZ19iaW5vbWlhbF8yX2xvZ3xub3JtYWx8b3JkZXJlZF9sb2dpc3RpY3xwYXJldG98cGFyZXRvX3R5cGVfMnxwb2lzc29ufHBvaXNzb25fbG9nfHJheWxlaWdofHNjYWxlZF9pbnZfY2hpX3NxdWFyZXxza2V3X25vcm1hbHxzdHVkZW50X3R8dW5pZm9ybXx2b25fbWlzZXN8d2VpYnVsbHx3aWVuZXJ8d2lzaGFydClcXGIiLGU6aGxqcy5JTU1FRElBVEVfUkUscjoxMH0se2NOOiJrZXl3b3JkIixiOiIoPzpmb3J8aW58d2hpbGV8aWZ8dGhlbnxlbHNlfHJldHVybnxsb3dlcnx1cHBlcnxwcmludHxpbmNyZW1lbnRfbG9nX3Byb2J8aW50ZWdyYXRlX29kZXxyZWplY3QpXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6MTB9LHtjTjoia2V5d29yZCIsYjoiKD86aW50fHJlYWx8dmVjdG9yfHNpbXBsZXh8dW5pdF92ZWN0b3J8b3JkZXJlZHxwb3NpdGl2ZV9vcmRlcmVkfHJvd192ZWN0b3J8bWF0cml4fGNob2xlc2t5X2ZhY3Rvcl9jb3Z8Y2hvbGVza3lfZmFjdG9yX2NvcnJ8Y29ycl9tYXRyaXh8Y292X21hdHJpeHx2b2lkKVxcYiIsZTpobGpzLklNTUVESUFURV9SRSxyOjV9LHtjTjoia2V5d29yZCIsYjoiKD86ZnVuY3Rpb25zfGRhdGF8dHJhbnNmb3JtZWRcXHMrZGF0YXxwYXJhbWV0ZXJzfHRyYW5zZm9ybWVkXFxzK3BhcmFtZXRlcnN8bW9kZWx8Z2VuZXJhdGVkXFxzK3F1YW50aXRpZXMpXFxiIixlOmhsanMuSU1NRURJQVRFX1JFLHI6NX1dfX07aGxqcy5MQU5HVUFHRVMueG1sPWZ1bmN0aW9uKCl7dmFyIGI9IltBLVphLXowLTlcXC5fOi1dKyI7dmFyIGE9e2VXOnRydWUsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6YixyOjB9LHtiOic9IicsckI6dHJ1ZSxlOiciJyxjOlt7Y046InZhbHVlIixiOiciJyxlVzp0cnVlfV19LHtiOiI9JyIsckI6dHJ1ZSxlOiInIixjOlt7Y046InZhbHVlIixiOiInIixlVzp0cnVlfV19LHtiOiI9IixjOlt7Y046InZhbHVlIixiOiJbXlxccy8+XSsifV19XX07cmV0dXJue2NJOnRydWUsZE06e2M6W3tjTjoicGkiLGI6IjxcXD8iLGU6IlxcPz4iLHI6MTB9LHtjTjoiZG9jdHlwZSIsYjoiPCFET0NUWVBFIixlOiI+IixyOjEwLGM6W3tiOiJcXFsiLGU6IlxcXSJ9XX0se2NOOiJjb21tZW50IixiOiI8IS0tIixlOiItLT4iLHI6MTB9LHtjTjoiY2RhdGEiLGI6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2NOOiJ0YWciLGI6IjxzdHlsZSg/PVxcc3w+fCQpIixlOiI+IixrOnt0aXRsZTp7c3R5bGU6MX19LGM6W2FdLHN0YXJ0czp7Y046ImNzcyIsZToiPC9zdHlsZT4iLHJFOnRydWUsc0w6ImNzcyJ9fSx7Y046InRhZyIsYjoiPHNjcmlwdCg/PVxcc3w+fCQpIixlOiI+IixrOnt0aXRsZTp7c2NyaXB0OjF9fSxjOlthXSxzdGFydHM6e2NOOiJqYXZhc2NyaXB0IixlOiI8XC9zY3JpcHQ+IixyRTp0cnVlLHNMOiJqYXZhc2NyaXB0In19LHtjTjoidmJzY3JpcHQiLGI6IjwlIixlOiIlPiIsc0w6InZic2NyaXB0In0se2NOOiJ0YWciLGI6IjwvPyIsZToiLz8+IixjOlt7Y046InRpdGxlIixiOiJbXiAvPl0rIn0sYV19XX19fSgpOwpobGpzLmluaXRIaWdobGlnaHRpbmdPbkxvYWQoKTsKCg=="></script> <style type="text/css"> pre:not([class]) { background-color: white; @@ -152,6 +152,7 @@ $(document).ready(function () { } } + .toc-content { padding-left: 30px; padding-right: 40px; @@ -214,7 +215,7 @@ div.tocify { <h1 class="title toc-ignore">Performance benefit by using compiled model definitions in mkin</h1> <h4 class="author"><em>Johannes Ranke</em></h4> -<h4 class="date"><em>2016-06-28</em></h4> +<h4 class="date"><em>2016-09-10</em></h4> </div> @@ -248,24 +249,24 @@ mb.1 <- microbenchmark( ## precision.</code></pre> <pre class="r"><code>smb.1 <- summary(mb.1) print(mb.1)</code></pre> -<pre><code>## Unit: seconds +<pre><code>## Unit: milliseconds ## expr min lq mean median uq -## deSolve, not compiled 25.120822 25.185794 25.345704 25.250766 25.458146 -## Eigenvalue based 2.246793 2.255533 2.258865 2.264274 2.264901 -## deSolve, compiled 1.861661 1.893380 1.930436 1.925098 1.964823 +## deSolve, not compiled 6507.8296 6549.5160 6597.4319 6591.2024 6642.2330 +## Eigenvalue based 890.5249 917.6589 928.4907 944.7928 947.4735 +## deSolve, compiled 735.4908 742.0363 749.3996 748.5817 756.3540 ## max neval cld -## 25.665525 3 b -## 2.265527 3 a -## 2.004547 3 a</code></pre> +## 6693.2636 3 c +## 950.1543 3 b +## 764.1264 3 a</code></pre> <pre class="r"><code>autoplot(mb.1)</code></pre> -<p><img src="data:image/png;base64,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" title alt width="672" /></p> -<p>We see that using the compiled model is by a factor of 13.1 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs:</p> +<p><img src="data:image/png;base64,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" width="672" /></p> +<p>We see that using the compiled model is by a factor of 8.8 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs:</p> <pre class="r"><code>rownames(smb.1) <- smb.1$expr smb.1["median"]/smb.1["deSolve, compiled", "median"]</code></pre> -<pre><code>## median -## deSolve, not compiled 13.116611 -## Eigenvalue based 1.176186 -## deSolve, compiled 1.000000</code></pre> +<pre><code>## median +## deSolve, not compiled 8.804921 +## Eigenvalue based 1.262110 +## deSolve, compiled 1.000000</code></pre> </div> <div id="benchmark-for-a-model-that-can-not-be-solved-with-eigenvalues" class="section level2"> <h2>Benchmark for a model that can not be solved with Eigenvalues</h2> @@ -285,20 +286,20 @@ smb.1["median"]/smb.1["deSolve, compiled", "median" <pre class="r"><code>smb.2 <- summary(mb.2) print(mb.2)</code></pre> <pre><code>## Unit: seconds -## expr min lq mean median uq -## deSolve, not compiled 54.536624 54.617928 54.690830 54.699231 54.767933 -## deSolve, compiled 3.690661 3.693247 3.720722 3.695833 3.735753 +## expr min lq mean median uq +## deSolve, not compiled 13.741831 13.74759 13.815509 13.753350 13.852348 +## deSolve, compiled 1.358402 1.35862 1.368666 1.358838 1.373798 ## max neval cld -## 54.836635 3 b -## 3.775673 3 a</code></pre> +## 13.951345 3 b +## 1.388759 3 a</code></pre> <pre class="r"><code>smb.2["median"]/smb.2["deSolve, compiled", "median"]</code></pre> <pre><code>## median ## 1 NA ## 2 NA</code></pre> <pre class="r"><code>autoplot(mb.2)</code></pre> -<p><img src="data:image/png;base64,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" title alt width="672" /></p> -<p>Here we get a performance benefit of a factor of 14.8 using the version of the differential equation model compiled from C code!</p> -<p>This vignette was built with mkin 0.9.44 on</p> +<p><img src="data:image/png;base64,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" width="672" /></p> +<p>Here we get a performance benefit of a factor of 10.1 using the version of the differential equation model compiled from C code!</p> +<p>This vignette was built with mkin 0.9.44.9000 on</p> <pre><code>## R version 3.3.1 (2016-06-21) ## Platform: x86_64-pc-linux-gnu (64-bit) ## Running under: Debian GNU/Linux 8 (jessie)</code></pre> |