-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathPlutoGraphViz.jl.html
75 lines (63 loc) · 72 KB
/
PlutoGraphViz.jl.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width" />
<title>⚡ Pluto.jl ⚡</title>
<meta charset="utf-8" />
<script type="text/javascript" src="http://ff.kis.v2.scr.kaspersky-labs.com/FD126C42-EBFA-4E12-B309-BB3FDD723AC1/main.js?attr=Sglp4KyerdC3LNC-iBmnhlJ8kw3MNqBTYjM-2UAq24IUYOuxqh9b5lcSbEDr8ggWpU1nyAPTMXF5ZW0qdx83Nx_7Om93MSHJmF74Zn3vdylqRy2BxPY4xBosWMSw6E1u" charset="UTF-8"></script><link rel="stylesheet" crossorigin="anonymous" href="http://ff.kis.v2.scr.kaspersky-labs.com/E3E8934C-235A-4B0E-825A-35A08381A191/abn/main.css?attr=aHR0cDovL2xvY2FsaG9zdDoxMjM0L25vdGVib29rZXhwb3J0P2lkPTIzZTA5ZjAwLWZmOTctMTFlYi0zOTMxLTIxNzgyY2ZiNTMzNg"/><script>
console.log("Pluto.jl, by Fons van der Plas (https://github.com/fonsp) and Mikołaj Bochenski (https://github.com/malyvsen) 🌈")
</script>
<meta name="author" content="Fons van der Plas; Mikołaj Bochenski" />
<link rel="license" href="https://github.com/fonsp/Pluto.jl/blob/main/LICENSE" />
<meta name="theme-color" content="#ffffff" />
<link rel="icon" type="image/png" sizes="16x16" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/img/favicon-16x16.png" />
<link rel="icon" type="image/png" sizes="32x32" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/img/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="96x96" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/img/favicon-96x96.png" />
<meta name="description" content="Pluto.jl notebooks" />
<link rel="pluto-logo-big" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/img/logo.svg" />
<link rel="pluto-logo-small" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/img/favicon_unsaturated.svg" />
<link rel="pluto-sw" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/sw.js" />
<script>
navigator.serviceWorker?.register(document.head.querySelector("link[rel='pluto-sw']").getAttribute("href"), { scope: "./" }).catch(console.warn)
</script>
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.20/lodash.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/@observablehq/stdlib@3.3.1/dist/stdlib.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/iframe-resizer@4.2.11/js/iframeResizer.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/lib/codemirror.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/mode/julia/julia.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/addon/mode/loadmode.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/mode/meta.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/addon/hint/show-hint.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/addon/display/placeholder.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/addon/edit/matchbrackets.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/addon/runmode/runmode.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/addon/comment/comment.min.js" defer></script>
<!-- <script src="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/addon/edit/closebrackets.min.js" defer></script> -->
<!-- <script src="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/addon/search/searchcursor.min.js" defer></script> -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/lib/codemirror.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/codemirror@5.60.0/addon/hint/show-hint.min.css" />
<script src="https://cdn.jsdelivr.net/npm/ansi_up@5.0.1/ansi_up.min.js" defer></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/editor.css" type="text/css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/hide-ui.css" type="text/css" media="all" data-pluto-file="hide-ui">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/binder.css" type="text/css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/treeview.css" type="text/css" />
<link rel="preload" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/juliamono.css" as="style">
<link rel="preload" href="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/vollkorn.css" as="style">
<!-- The instant feedback form at the bottom of the page uses Google Firestore to save feedback. -->
<script src="https://cdn.jsdelivr.net/npm/firebase@7.13.1/firebase-app.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/firebase@7.13.1/firebase-firestore.js" defer></script>
<script data-pluto-file="launch-parameters">
window.pluto_notebookfile = "data:text/julia;charset=utf-8;base64,IyMjIEEgUGx1dG8uamwgbm90ZWJvb2sgIyMjCiMgdjAuMTUuMQoKdXNpbmcgTWFya2Rvd24KdXNpbmcgSW50ZXJhY3RpdmVVdGlscwoKIyBUaGlzIFBsdXRvIG5vdGVib29rIHVzZXMgQGJpbmQgZm9yIGludGVyYWN0aXZpdHkuIFdoZW4gcnVubmluZyB0aGlzIG5vdGVib29rIG91dHNpZGUgb2YgUGx1dG8sIHRoZSBmb2xsb3dpbmcgJ21vY2sgdmVyc2lvbicgb2YgQGJpbmQgZ2l2ZXMgYm91bmQgdmFyaWFibGVzIGEgZGVmYXVsdCB2YWx1ZSAoaW5zdGVhZCBvZiBhbiBlcnJvcikuCm1hY3JvIGJpbmQoZGVmLCBlbGVtZW50KQogICAgcXVvdGUKICAgICAgICBsb2NhbCBlbCA9ICQoZXNjKGVsZW1lbnQpKQogICAgICAgIGdsb2JhbCAkKGVzYyhkZWYpKSA9IENvcmUuYXBwbGljYWJsZShCYXNlLmdldCwgZWwpID8gQmFzZS5nZXQoZWwpIDogbWlzc2luZwogICAgICAgIGVsCiAgICBlbmQKZW5kCgojIOKVlOKVkOKVoSA3ZmI2OWNmMC1mYzY2LTExZWItMjU2Zi1jYjZlOWQyZGIxNTYKdXNpbmcgUGx1dG9VSSwgSHlwZXJ0ZXh0TGl0ZXJhbCwgTGlnaHRHcmFwaHMKCiMg4pWU4pWQ4pWhIDIwYWQ3NzBiLTM0YTEtNDllNy1iOTQ4LWUxMmY0NmJkZTVlZQp1c2luZyBIeXBlcnRleHRMaXRlcmFsOiBKYXZhU2NyaXB0CgojIOKVlOKVkOKVoSA1OWNlZjM5YS0zNTc3LTQ3MjYtYWVmZi05NjBhZDViNTgwYzUKdHByaW50KGlucHV0KSA9IHdpdGhfdGVybWluYWwoKSBkbyAKCXByaW50bG4oaW5wdXQpCmVuZAoKIyDilZTilZDilaEgYzhiYTI3YjEtNGQyYi00YWZjLTg5YTktODA2YmU5MTUzNGRjClRhYmxlT2ZDb250ZW50cygpCgojIOKVlOKVkOKVoSBlZjA3Nzc1OS04OGFkLTQ2NTUtYjA0Zi04M2M4MDI3MGQzMjAKbWQiIiIKIyMgRnVuY3Rpb25zIGFuZCBDb25zdGFudHMKIiIiCgojIOKVlOKVkOKVoSBhNjI2ZDNjMS1iYTQxLTRiOTEtYTJhMi02ZmY2OWNkMTNiY2UKY29uc3QgQlROX1NUWUxFID0gIiIiCi5idG4tZ3JvdXAsIC5idG4tZ3JvdXAtdmVydGljYWwgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKLmJ0bi1ncm91cCBidXR0b24gewoJYmFja2dyb3VuZC1jb2xvcjogIzA0QUE2RDsKCWJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwoJY29sb3I6IHdoaXRlOwoJcGFkZGluZzogMTBweCAxMHB4OwoJY3Vyc29yOiBwb2ludGVyOwoJZmxvYXQ6IGxlZnQ7Cglib3JkZXItcmFkaXVzOiAxMHB4Owp9CgouYnRuLWdyb3VwIGJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHsKCWJvcmRlci1yaWdodDogbm9uZTsKfQoKLmJ0bi1ncm91cCBidXR0b246aG92ZXIgewoJYmFja2dyb3VuZC1jb2xvcjogIzNlOGU0MTsKfQoKLmJ0bi1ncm91cCA+IGJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHsKCWJvcmRlci1yYWRpdXM6IDA7Cn0KCgkuYnRuLWdyb3VwID4gYnV0dG9uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCl7Cglib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwoJYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKfQoKLmJ0bi1ncm91cCA+IGJ1dHRvbjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHsKCWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOwoJYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7Cn0KIiIiCgojIOKVlOKVkOKVoSAxYjY4NTUzOC04MjhhLTRjNTgtYmZiZi04NDVlNGJkN2MyNmUKZnVuY3Rpb24gZ3JhcGhkYXRhKGc6OkFic3RyYWN0R3JhcGgpCgl2cyA9ICIiCglmb3IgdiBpbiB2ZXJ0aWNlcyhnKQoJCXZzICo9ICJcdFx0eyBkYXRhOiB7aWQ6ICckdicsIGxhYmVsOiAnJHYnfSB9LFxuIgoJZW5kCgkKCWVzID0gIiIKCWZvciBlIGluIGVkZ2VzKGcpCgkJZXMgKj0gIlx0XHR7IGRhdGE6IHtpZDogJyQoZS5zcmMpLS0+JChlLmRzdCknLCBzb3VyY2U6ICckKGUuc3JjKScsIHRhcmdldDogJyQoZS5kc3QpJyB9IH0sXG4iCgllbmQKCQoJb3V0cHV0ID0gIiIiCgl7CgkJbm9kZXM6IFsKCSR2cwoJCV0sCgkJZWRnZXM6IFsKCSRlcwoJCV0KCX0KCSIiIgplbmQKCiMg4pWU4pWQ4pWhIDJlYjlmODFiLTc5MmMtNGU0NS1hNGU1LWIzMzY0YWEzYjM5MQpmdW5jdGlvbiBtaW5pZnkoaW5wdXQ6OlN0cmluZykKCWlucHV0ID0gcmVwbGFjZShpbnB1dCwgIlxuIj0+IiIpCglpbnB1dCA9IHJlcGxhY2UoaW5wdXQsICJcdCI9PiIgIikKCWlucHV0ID0gcmVwbGFjZShpbnB1dCwgciJcc3syLH0iPT4iIikKCWlucHV0ID0gcmVwbGFjZShpbnB1dCwgJyInPT4iIikKCXJldHVybiBpbnB1dAplbmQKCiMg4pWU4pWQ4pWhIDZjODcxNTczLWU1YjAtNDljNC04YjM4LTQ4MDA5MjI0ODNkYwptZCIiIgojIyBJbnRlcmFjdGl2ZSBHcmFwaFZpegoiIiIKCiMg4pWU4pWQ4pWhIGFhMGE1ZGI1LTFjNzEtNDc1Ni04YzdmLTgyMWI4NWEwNmJhNwpzbWFsbF9ncmFwaHMgPSBEaWN0KAoJImJ1bGwgZ3JhcGgiID0+IDpidWxsLCAKCSJDaHbDoXRhbCBncmFwaCIgPT4gOmNodmF0YWwsIAoJIlBsYXRvbmljIGN1YmljYWwgZ3JhcGgiID0+IDpjdWJpY2FsLCAKCSJEZXNhcmd1ZXNncmFwaCIgPT4gOmRlc2FyZ3VlcywgCgkiZGlhbW9uZCBncmFwaCIgPT4gOmRpYW1vbmQsIAoJIlBsYXRvbmljIGRvZGVjYWhlZHJhbCBncmFwaCIgPT4gOmRvZGVjYWhlZHJhbCwgCgkiRnJ1Y2h0IGdyYXBoIiA9PiA6ZnJ1Y2h0LCAKCSJIZWF3b29kIGdyYXBoIiA9PiA6aGVhd29vZCwgCgkiZ3JhcGggbWltaWNpbmcgdGhlIGNsYXNzaWMgb3V0bGluZSBvZiBhIGhvdXNlIiA9PiA6aG91c2UsIAoJImhvdXNlIGdyYXBoLCB3aXRoIHR3byBlZGdlcyBjcm9zc2luZyB0aGUgYm90dG9tIHNxdWFyZSIgPT4gOmhvdXNleCwgCgkiUGxhdG9uaWMgaWNvc2FoZWRyYWwgZ3JhcGgiID0+IDppY29zYWhlZHJhbCwgCgkiS3JhY2toYXJkdC1LaXRlIHNvY2lhbCBuZXR3b3JrIGdyYXBoIiA9PiA6a3JhY2toYXJkdGtpdGUsIAoJIk3DtmJpdXMtS2FudG9yIGdyYXBoIiA9PiA6bW9lYml1c2thbnRvciwgCgkiUGxhdG9uaWMgb2N0YWhlZHJhbCBncmFwaCIgPT4gOm9jdGFoZWRyYWwsIAoJIlBhcHB1cyBncmFwaCIgPT4gOnBhcHB1cywgCgkiUGV0ZXJzZW4gZ3JhcGgiID0+IDpwZXRlcnNlbiwgCgkiTWF6ZSBncmFwaCB1c2VkIGluIFNlZGdld2ljaydzIEFsZ29yaXRobXMiID0+IDpzZWRnZXdpY2ttYXplLCAKCSJQbGF0b25pYyB0ZXRyYWhlZHJhbCBncmFwaCIgPT4gOnRldHJhaGVkcmFsLCAKCSJza2VsZXRvbiBvZiB0aGUgdHJ1bmNhdGVkIGN1YmUgZ3JhcGgiID0+IDp0cnVuY2F0ZWRjdWJlLCAKCSJza2VsZXRvbiBvZiB0aGUgdHJ1bmNhdGVkIHRldHJhaGVkcm9uIGdyYXBoIiA9PiA6dHJ1bmNhdGVkdGV0cmFoZWRyb24sIAoJInNrZWxldG9uIG9mIHRoZSB0cnVuY2F0ZWQgdGV0cmFoZWRyb24gZGlncmFwaCIgPT4gOnRydW5jYXRlZHRldHJhaGVkcm9uX2RpciwgCgkiVHV0dGUgZ3JhcGgiID0+IDp0dXR0ZQopCgojIOKVlOKVkOKVoSBkOGExMWZhYi1kODdlLTQzNGYtOTgzMy0yMTkyY2EwYjMwMmYKbWQiIiIKIyMgR3JhcGggU3R5bGVzCiIiIgoKIyDilZTilZDilaEgNzc0MWU3YTYtOTMxYi00ZjQ3LTkxYmItMmFjNjFlMGUxMzQyCnN0eWxlMSA9ICIiIgpub2RlIHsKCWNvbnRlbnQ6IGRhdGEoaWQpOwoJdGV4dC12YWxpZ246IGNlbnRlcjsKCXRleHQtaGFsaWduOiBjZW50ZXI7CglvcGFjaXR5OiAwLjc1Owp9CgplZGdlIHsKCWN1cnZlLXN0eWxlOiBiZXppZXI7Cgl0YXJnZXQtYXJyb3ctc2hhcGU6IHRyaWFuZ2xlOwoJb3BhY2l0eTogMC41Owp9CiIiIgoKIyDilZTilZDilaEgMmExMTk5MDktYzQ1Yy00MTU0LWI4NWQtZWY1NWJhOGZiZThhCnN0eWxlMiA9ICIiIgpub2RlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CiAgYm9yZGVyLWNvbG9yOiBibGFjazsKICB3aWR0aDogMjA7CiAgaGVpZ2h0OiAyMDsKICBtaW4tem9vbWVkLWZvbnQtc2l6ZTogMTI7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiAxNjsKICB6LWluZGV4OiAxOwp9Cgpub2RlOnNlbGVjdGVkLApub2RlLnN0YXJ0LApub2RlLmVuZCB7CiAgaGVpZ2h0OiAzMDsKICB3aWR0aDogMzA7CiAgbWluLXpvb21lZC1mb250LXNpemU6IDA7CiAgZm9udC1zaXplOiA0ODsKICBib3JkZXItY29sb3I6ICMwMDA7CiAgYm9yZGVyLXdpZHRoOiA0cHg7CiAgdGV4dC1vdXRsaW5lLWNvbG9yOiAjMDAwOwogIHRleHQtb3V0bGluZS13aWR0aDogMTBweDsKICB6LWluZGV4OiA5OTk5Owp9CgoKZWRnZSB7CiAgbWluLXpvb21lZC1mb250LXNpemU6IDEyOwogIGZvbnQtc2l6ZTogODsKICBjb2xvcjogI2ZmZjsKICBsaW5lLWNvbG9yOiBncmVlbjsKICB3aWR0aDogMjA7CiAgY3VydmUtc3R5bGU6IGhheXN0YWNrOwogIGhheXN0YWNrLXJhZGl1czogMDsKICBvcGFjaXR5OiAwLjU7Cn0KCiIiIgoKIyDilZTilZDilaEgOTRhZGExZjQtOTQ4NC00ZjVkLTkwYjItYTk5MTY1ZGQ5ZjhjCnN0eWxlX2dyZWVuID0gIiIiCm5vZGUgewoJY29udGVudDogZGF0YShpZCk7Cgl0ZXh0LXZhbGlnbjogY2VudGVyOwoJdGV4dC1oYWxpZ246IGNlbnRlcjsKCWJhY2tncm91bmQtY29sb3I6ICMxMjY4MTQ7Cn0KCmVkZ2UgewoJbGluZS1jb2xvcjogIzEyNjgxNDsKCW9wYWNpdHk6IDAuNTsKfQoiIiIKCiMg4pWU4pWQ4pWhIDQwMTE0OGIzLWIzZWYtNDZmOS05ODY5LWYzZGE4ZDU0ZjZlYQpzdHlsZV9kaWN0ID0gRGljdCgKCSJTaW1wbGUgR3JheSAoRGlyZWN0ZWQpIiA9PiBzdHlsZTEsCgkiR3JlZW4gYW5kIFllbGxvdyIgPT4gc3R5bGUyLAoJIlNpbXBsZSBHcmVlbiAoVW5kaXJlY3RlZCkiID0+IHN0eWxlX2dyZWVuLAopCgojIOKVlOKVkOKVoSBjYzIwM2ZiNC00NzU1LTQ1Y2MtOGI5Yi1kMDYwNDg2MjNlYzkKbWQiIiIKIyMjIEludGVyYWN0aXZlIERlbW8KCioqR3JhcGggQXBwZWFyYW5jZToqKiAkKEBiaW5kIHN0eWxlIFNlbGVjdChjb2xsZWN0KGtleXMoc3R5bGVfZGljdCkpKSkKCioqTGF5b3V0IE1ldGhvZDoqKiAkKEBiaW5kIGxheW91dCBTZWxlY3QoWyJjb3NlIiwgInJhbmRvbSIsICJjaXJjbGUiLCAiY29uY2VudHJpYyIsICJicmVhZHRoZmlyc3QiLCAiZ3JpZCJdKSkgKipBbmltYXRlOioqICQoQGJpbmQgYW5pbWF0ZSBDaGVja0JveChmYWxzZSkpCgoqKlNhbXBsZSBHcmFwaDoqKiAkKEBiaW5kIHNnX25hbWUgU2VsZWN0KGNvbGxlY3Qoa2V5cyhzbWFsbF9ncmFwaHMpKSkpCgoiIiIKCiMg4pWU4pWQ4pWhIDgyNGM3ZTI2LTViZjgtNDI3Mi1hNGYwLWUzNjYyNzFjODIyMQpzZyA9IHNtYWxsZ3JhcGgoc21hbGxfZ3JhcGhzW3NnX25hbWVdKQoKIyDilZTilZDilaEgNzg0MDU2ODMtZmVlZS00ZmYxLWFjOTMtNjc1YzkyZDAxYTEyCmZ1bmN0aW9uIGdyYXBodml6KGc6OkFic3RyYWN0R3JhcGgsIG5hbWU9ImN5Iiwgc3R5bGU9c3R5bGUxOyBsYXlvdXQ9ImNvc2UiLCBhbmltYXRlPWZhbHNlKQoJZ2QgPSBncmFwaGRhdGEoc2cpCgkKCWxheW91dF9ibG9jayA9ICIiIgoJewoJCW5hbWU6ICckbGF5b3V0JywKCQlwYWRkaW5nOiA1LAoJCWFuaW1hdGU6ICRhbmltYXRlCgl9CgkiIiIKCQoJIyBUZXN0aW5nIGxvYWRpbmcgc3R5bGVzIGZyb20gZmlsZQoJIyBzdHlsZV90ZXh0ID0gcmVhZChqb2lucGF0aChwd2QoKSwgInRva3lvLXJhaWx3YXlzLmN5Y3NzIiksIFN0cmluZykKCSMgc3R5bGVfdGV4dCA9IG1pbmlmeShzdHlsZV90ZXh0KQoJZ3JhcGhfc3R5bGUgPSBtaW5pZnkoc3R5bGUpCgkKCWN5anMgPSBKYXZhU2NyaXB0KCIiIgoJCXZhciBwcm50ID0gY3VycmVudFNjcmlwdC5wYXJlbnRFbGVtZW50OwoJCXZhciBmaXRfYnV0dG9uID0gcHJudC5xdWVyeVNlbGVjdG9yKCJidXR0b24jZml0Iik7CgkJdmFyIGNlbnRlcl9idXR0b24gPSBwcm50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiNjZW50ZXIiKTsKCQl2YXIgbGF5b3V0X2J1dHRvbiA9IHBybnQucXVlcnlTZWxlY3RvcigiYnV0dG9uI2xheW91dCIpOwoJCXZhciBkb3dubG9hZF9idXR0b24gPSBwcm50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiNkb3dubG9hZCIpOwoJCQoJCXZhciBncmFwaF9zdHlsZSA9ICckZ3JhcGhfc3R5bGUnOwoJCQoKCQl2YXIgY3kgPSB3aW5kb3cuY3kgPSBjeXRvc2NhcGUoewoJCQljb250YWluZXI6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCckbmFtZScpLAoJCQlib3hTZWxlY3Rpb25FbmFibGVkOiBmYWxzZSwKCQkJc3R5bGU6IGdyYXBoX3N0eWxlLAoJCQllbGVtZW50czogJGdkLAoJCQlsYXlvdXQ6ICRsYXlvdXRfYmxvY2sKCQl9KTsKCQlmaXRfYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKGUpID0+IHtjeS5maXQoKX0pOwoJCWNlbnRlcl9idXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoZSkgPT4geyBjeS5jZW50ZXIoKSB9KTsKCQkKCQl2YXIgbGF5b3V0ID0gY3kubGF5b3V0KCRsYXlvdXRfYmxvY2spOwoJCWxheW91dF9idXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoZSkgPT4geyBsYXlvdXQucnVuKCkgfSk7CgkJCgkJZG93bmxvYWRfYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKGUpID0+IHsgCgkJCXZhciBwbmc2NCA9IGN5LnBuZygpCgkJCXZhciBhRG93bmxvYWRMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwoJCQlhRG93bmxvYWRMaW5rLmhyZWYgPSBwbmc2NDsKCQkJYURvd25sb2FkTGluay50YXJnZXQgPSAnX2JsYW5rJzsKCQkJYURvd25sb2FkTGluay5jbGljaygpOwoJCX0pOwoJIiIiKQoKCW91dHB1dCA9IGh0bCIiIgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9mb250LWF3ZXNvbWUvNS4xNS40L2Nzcy9hbGwubWluLmNzcyIgaW50ZWdyaXR5PSJzaGE1MTItMXljbjZJY2FRUTQwL01LQlcyVzRSaGlzL0RiSUxVNzRDMXZTckxKeENxNTdvOTQxWW0wMVN3TnNPTXF2RUJGbGNnVWE2eExpUFkvTlM1UitFNnp0SlE9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJwb2xpY3k9Im5vLXJlZmVycmVyIiAvPgoJPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vY3l0b3NjYXBlQDMuMTkuMC9kaXN0L2N5dG9zY2FwZS5taW4uanMiPjwvc2NyaXB0PgoJPHN0eWxlPiRCVE5fU1RZTEU+PC9zdHlsZT4KCgk8ZGl2PgoJCTxzY3JpcHQ+JGN5anM8L3NjcmlwdD4KCQoJCTxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+CgkJCTxidXR0b24gaWQ9ImZpdCI+PGkgY2xhc3M9ImZhcyBmYS1ob21lIj48L2k+PC9idXR0b24+CgkJCTxidXR0b24gaWQ9ImNlbnRlciI+PGkgY2xhc3M9ImZhcyBmYS1jb21wcmVzcy1hcnJvd3MtYWx0Ij48L2k+PC9idXR0b24+CgkJCTxidXR0b24gaWQ9ImxheW91dCI+PGkgY2xhc3M9ImZhcyBmYS1yZWRvIj48L2k+PC9idXR0b24+CgkJCTxidXR0b24gaWQ9ImRvd25sb2FkIj48aSBjbGFzcz0iZmFzIGZhLWRvd25sb2FkIj48L2k+PC9idXR0b24+CgkJPC9kaXY+CgoJCTxkaXYgaWQ9IiRuYW1lIiBzdHlsZT0ibWluLWhlaWdodDo2ODBweCI+PC9kaXY+Cgk8L2Rpdj4KCSIiIiAKZW5kIAoKIyDilZTilZDilaEgNTQ2YmFmMzktMDllMC00NmExLThkZjMtYjM5YmEwNGFhMTFmCmdyYXBodml6KHNnLCAiZGVtbyIsIHN0eWxlX2RpY3Rbc3R5bGVdLCBsYXlvdXQ9bGF5b3V0LCBhbmltYXRlPWFuaW1hdGUpCgojIOKVlOKVkOKVoSAwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDEKUExVVE9fUFJPSkVDVF9UT01MX0NPTlRFTlRTID0gIiIiCltkZXBzXQpIeXBlcnRleHRMaXRlcmFsID0gImFjMTE5MmE4LWY0YjMtNGJmZS1iYTIyLWFmNWI5MmNkM2FiMiIKTGlnaHRHcmFwaHMgPSAiMDkzZmMyNGEtYWU1Ny01ZDEwLTk5NTItMzMxZDQxNDIzZjRkIgpQbHV0b1VJID0gIjdmOTA0ZGZlLWI4NWUtNGZmNi1iNDYzLWRhZTIyOTIzOTZhOCIKCltjb21wYXRdCkh5cGVydGV4dExpdGVyYWwgPSAifjAuOS4wIgpMaWdodEdyYXBocyA9ICJ+MS4zLjUiClBsdXRvVUkgPSAifjAuNy45IgoiIiIKCiMg4pWU4pWQ4pWhIDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMgpQTFVUT19NQU5JRkVTVF9UT01MX0NPTlRFTlRTID0gIiIiCiMgVGhpcyBmaWxlIGlzIG1hY2hpbmUtZ2VuZXJhdGVkIC0gZWRpdGluZyBpdCBkaXJlY3RseSBpcyBub3QgYWR2aXNlZAoKW1tBcmdUb29sc11dCnV1aWQgPSAiMGRhZDg0YzUtZDExMi00MmU2LThkMjgtZWYxMmRhYmI3ODlmIgoKW1tBcm5vbGRpTWV0aG9kXV0KZGVwcyA9IFsiTGluZWFyQWxnZWJyYSIsICJSYW5kb20iLCAiU3RhdGljQXJyYXlzIl0KZ2l0LXRyZWUtc2hhMSA9ICJmODdlNTU5Zjg3YTQ1YmVjZTljOWVkOTc0NThkM2FmZTk4YjFlYmI5Igp1dWlkID0gImVjNDg1MjcyLTczMjMtNWVjYy1hMDRmLTQ3MTliMzE1MTI0ZCIKdmVyc2lvbiA9ICIwLjEuMCIKCltbQXJ0aWZhY3RzXV0KdXVpZCA9ICI1NmYyMmQ3Mi1mZDZkLTk4ZjEtMDJmMC0wOGRkYzA5MDdjMzMiCgpbW0Jhc2U2NF1dCnV1aWQgPSAiMmEwZjQ0ZTMtNmM4My01NWJkLTg3ZTQtYjE5NzhkOThiZDVmIgoKW1tDb21wYXRdXQpkZXBzID0gWyJCYXNlNjQiLCAiRGF0ZXMiLCAiRGVsaW1pdGVkRmlsZXMiLCAiRGlzdHJpYnV0ZWQiLCAiSW50ZXJhY3RpdmVVdGlscyIsICJMaWJHaXQyIiwgIkxpYmRsIiwgIkxpbmVhckFsZ2VicmEiLCAiTWFya2Rvd24iLCAiTW1hcCIsICJQa2ciLCAiUHJpbnRmIiwgIlJFUEwiLCAiUmFuZG9tIiwgIlNIQSIsICJTZXJpYWxpemF0aW9uIiwgIlNoYXJlZEFycmF5cyIsICJTb2NrZXRzIiwgIlNwYXJzZUFycmF5cyIsICJTdGF0aXN0aWNzIiwgIlRlc3QiLCAiVVVJRHMiLCAiVW5pY29kZSJdCmdpdC10cmVlLXNoYTEgPSAiNzliOTU2M2VmM2YyY2M1ZmM2ZDMwNDZhNWVlMWE1N2M5ZGU1MjQ5NSIKdXVpZCA9ICIzNGRhMjE4NS1iMjliLTVjMTMtYjBjNy1hY2YxNzI1MTNkMjAiCnZlcnNpb24gPSAiMy4zMy4wIgoKW1tEYXRhU3RydWN0dXJlc11dCmRlcHMgPSBbIkNvbXBhdCIsICJJbnRlcmFjdGl2ZVV0aWxzIiwgIk9yZGVyZWRDb2xsZWN0aW9ucyJdCmdpdC10cmVlLXNoYTEgPSAiN2Q5ZDMxNmYwNDIxNGY3ZWZkYmI2Mzk4ZDU0NTQ0NmUyNDZlZmYwMiIKdXVpZCA9ICI4NjRlZGIzYi05OWNjLTVlNzUtOGQyZC04MjljYjBhOWNmZTgiCnZlcnNpb24gPSAiMC4xOC4xMCIKCltbRGF0ZXNdXQpkZXBzID0gWyJQcmludGYiXQp1dWlkID0gImFkZTJjYTcwLTM4OTEtNTk0NS05OGZiLWRjMDk5NDMyZTA2YSIKCltbRGVsaW1pdGVkRmlsZXNdXQpkZXBzID0gWyJNbWFwIl0KdXVpZCA9ICI4YmIxNDQwZi00NzM1LTU3OWItYTRhYi00MDliOThkZjRkYWIiCgpbW0Rpc3RyaWJ1dGVkXV0KZGVwcyA9IFsiUmFuZG9tIiwgIlNlcmlhbGl6YXRpb24iLCAiU29ja2V0cyJdCnV1aWQgPSAiOGJhODllMjAtMjg1Yy01YjZmLTkzNTctOTQ3MDA1MjBlZTFiIgoKW1tEb3dubG9hZHNdXQpkZXBzID0gWyJBcmdUb29scyIsICJMaWJDVVJMIiwgIk5ldHdvcmtPcHRpb25zIl0KdXVpZCA9ICJmNDNhMjQxZi1jMjBhLTRhZDQtODUyYy1mNmIxMjQ3ODYxYzYiCgpbW0h5cGVydGV4dExpdGVyYWxdXQpnaXQtdHJlZS1zaGExID0gIjcyMDUzNzk4ZTFiZTU2MDI2YjgxZDRlMjY4MmRiZTU4OTIyZTVlYzkiCnV1aWQgPSAiYWMxMTkyYTgtZjRiMy00YmZlLWJhMjItYWY1YjkyY2QzYWIyIgp2ZXJzaW9uID0gIjAuOS4wIgoKW1tJbmZsYXRlXV0KZ2l0LXRyZWUtc2hhMSA9ICJmNWZjMDdkNGU3MDZiODRmNzJkNTRlZWRjYzFjMTNkOTJmYjA4NzFjIgp1dWlkID0gImQyNWRmMGM5LWUyYmUtNWRkNy04MmM4LTNhZDBiM2U5OTBiOSIKdmVyc2lvbiA9ICIwLjEuMiIKCltbSW50ZXJhY3RpdmVVdGlsc11dCmRlcHMgPSBbIk1hcmtkb3duIl0KdXVpZCA9ICJiNzdlMGE0Yy1kMjkxLTU3YTAtOTBlOC04ZGIyNWEyN2EyNDAiCgpbW0pTT05dXQpkZXBzID0gWyJEYXRlcyIsICJNbWFwIiwgIlBhcnNlcnMiLCAiVW5pY29kZSJdCmdpdC10cmVlLXNoYTEgPSAiODA3NjY4MGIxNjJhZGEyYTAzMWY3MDdhYzdiNDk1M2UzMDY2N2EzNyIKdXVpZCA9ICI2ODJjMDZhMC1kZTZhLTU0YWItYTE0Mi1jOGIxY2Y3OWNkZTYiCnZlcnNpb24gPSAiMC4yMS4yIgoKW1tMaWJDVVJMXV0KZGVwcyA9IFsiTGliQ1VSTF9qbGwiLCAiTW96aWxsYUNBQ2VydHNfamxsIl0KdXVpZCA9ICJiMjcwMzJjMi1hM2U3LTUwYzgtODBjZC0yZDM2ZGJjYmZkMjEiCgpbW0xpYkNVUkxfamxsXV0KZGVwcyA9IFsiQXJ0aWZhY3RzIiwgIkxpYlNTSDJfamxsIiwgIkxpYmRsIiwgIk1iZWRUTFNfamxsIiwgIlpsaWJfamxsIiwgIm5naHR0cDJfamxsIl0KdXVpZCA9ICJkZWFjOWI0Ny04YmM3LTU5MDYtYTBmZS0zNWFjNTZkYzg0YzAiCgpbW0xpYkdpdDJdXQpkZXBzID0gWyJCYXNlNjQiLCAiTmV0d29ya09wdGlvbnMiLCAiUHJpbnRmIiwgIlNIQSJdCnV1aWQgPSAiNzZmODU0NTAtNTIyNi01YjVhLThlYWEtNTI5YWQwNDViNDMzIgoKW1tMaWJTU0gyX2psbF1dCmRlcHMgPSBbIkFydGlmYWN0cyIsICJMaWJkbCIsICJNYmVkVExTX2psbCJdCnV1aWQgPSAiMjk4MTZiNWEtYjlhYi01NDZmLTkzM2MtZWRhZDE4ODZkZmE4IgoKW1tMaWJkbF1dCnV1aWQgPSAiOGYzOTlkYTMtMzU1Ny01Njc1LWI1ZmYtZmI4MzJjOTdjYmRiIgoKW1tMaWdodEdyYXBoc11dCmRlcHMgPSBbIkFybm9sZGlNZXRob2QiLCAiRGF0YVN0cnVjdHVyZXMiLCAiRGlzdHJpYnV0ZWQiLCAiSW5mbGF0ZSIsICJMaW5lYXJBbGdlYnJhIiwgIlJhbmRvbSIsICJTaGFyZWRBcnJheXMiLCAiU2ltcGxlVHJhaXRzIiwgIlNwYXJzZUFycmF5cyIsICJTdGF0aXN0aWNzIl0KZ2l0LXRyZWUtc2hhMSA9ICI0MzI0MjhkZjVmMzYwOTY0MDQwZWQ2MDQxOGRkNTYwMWVjZDI0MGI2Igp1dWlkID0gIjA5M2ZjMjRhLWFlNTctNWQxMC05OTUyLTMzMWQ0MTQyM2Y0ZCIKdmVyc2lvbiA9ICIxLjMuNSIKCltbTGluZWFyQWxnZWJyYV1dCmRlcHMgPSBbIkxpYmRsIl0KdXVpZCA9ICIzN2UyZTQ2ZC1mODlkLTUzOWQtYjRlZS04MzhmY2NjYzljOGUiCgpbW0xvZ2dpbmddXQp1dWlkID0gIjU2ZGRiMDE2LTg1N2ItNTRlMS1iODNkLWRiNGQ1OGRiNTU2OCIKCltbTWFjcm9Ub29sc11dCmRlcHMgPSBbIk1hcmtkb3duIiwgIlJhbmRvbSJdCmdpdC10cmVlLXNoYTEgPSAiMGZiNzIzY2Q4YzQ1ODU4YzIyMTY5YjJlNDIyNjllNTMyNzFhNmRmNyIKdXVpZCA9ICIxOTE0ZGQyZi04MWM2LTVmY2QtODcxOS02ZDVjOTYxMGZmMDkiCnZlcnNpb24gPSAiMC41LjciCgpbW01hcmtkb3duXV0KZGVwcyA9IFsiQmFzZTY0Il0KdXVpZCA9ICJkNmY0Mzc2ZS1hZWY1LTUwNWEtOTZjMS05YzAyNzM5NDYwN2EiCgpbW01iZWRUTFNfamxsXV0KZGVwcyA9IFsiQXJ0aWZhY3RzIiwgIkxpYmRsIl0KdXVpZCA9ICJjOGZmZDljMy0zMzBkLTU4NDEtYjc4ZS0wODE3ZDcxNDVmYTEiCgpbW01tYXBdXQp1dWlkID0gImE2M2FkMTE0LTdlMTMtNTA4NC05NTRmLWZlMDEyYzY3NzgwNCIKCltbTW96aWxsYUNBQ2VydHNfamxsXV0KdXVpZCA9ICIxNGEzNjA2ZC1mNjBkLTU2MmUtOTEyMS0xMmQ5NzJjZDgxNTkiCgpbW05ldHdvcmtPcHRpb25zXV0KdXVpZCA9ICJjYTU3NTkzMC1jMmUzLTQzYTktYWNlNC0xZTk4OGIyYzE5MDgiCgpbW09yZGVyZWRDb2xsZWN0aW9uc11dCmdpdC10cmVlLXNoYTEgPSAiODVmOGU2NTc4YmYxZjllZTBkMTFlN2JiMWIxNDU2NDM1NDc5ZDQ3YyIKdXVpZCA9ICJiYWM1NThlMS01ZTcyLTVlYmMtOGZlZS1hYmU4YTQ2OWY1NWQiCnZlcnNpb24gPSAiMS40LjEiCgpbW1BhcnNlcnNdXQpkZXBzID0gWyJEYXRlcyJdCmdpdC10cmVlLXNoYTEgPSAiNDc3YmY0MmI0ZDE0OTZiNDU0YzEwY2NlNDY2NDViYjViOGEwY2YyYyIKdXVpZCA9ICI2OWRlMGE2OS0xZGRkLTUwMTctOTM1OS0yYmYwYjAyZGM5ZjAiCnZlcnNpb24gPSAiMi4wLjIiCgpbW1BrZ11dCmRlcHMgPSBbIkFydGlmYWN0cyIsICJEYXRlcyIsICJEb3dubG9hZHMiLCAiTGliR2l0MiIsICJMaWJkbCIsICJMb2dnaW5nIiwgIk1hcmtkb3duIiwgIlByaW50ZiIsICJSRVBMIiwgIlJhbmRvbSIsICJTSEEiLCAiU2VyaWFsaXphdGlvbiIsICJUT01MIiwgIlRhciIsICJVVUlEcyIsICJwN3ppcF9qbGwiXQp1dWlkID0gIjQ0Y2ZlOTVhLTFlYjItNTJlYS1iNjcyLWUyYWZkZjY5Yjc4ZiIKCltbUGx1dG9VSV1dCmRlcHMgPSBbIkJhc2U2NCIsICJEYXRlcyIsICJJbnRlcmFjdGl2ZVV0aWxzIiwgIkpTT04iLCAiTG9nZ2luZyIsICJNYXJrZG93biIsICJSYW5kb20iLCAiUmVleHBvcnQiLCAiU3VwcHJlc3NvciJdCmdpdC10cmVlLXNoYTEgPSAiNDRlMjI1ZDU4MzdlMmEyMzQ1ZTY5YTFkMWUwMWFjMjQ0M2ZmOWZjYiIKdXVpZCA9ICI3ZjkwNGRmZS1iODVlLTRmZjYtYjQ2My1kYWUyMjkyMzk2YTgiCnZlcnNpb24gPSAiMC43LjkiCgpbW1ByaW50Zl1dCmRlcHMgPSBbIlVuaWNvZGUiXQp1dWlkID0gImRlMDg1OGRhLTYzMDMtNWU2Ny04NzQ0LTUxZWRkZWVlYjhkNyIKCltbUkVQTF1dCmRlcHMgPSBbIkludGVyYWN0aXZlVXRpbHMiLCAiTWFya2Rvd24iLCAiU29ja2V0cyIsICJVbmljb2RlIl0KdXVpZCA9ICIzZmEwY2Q5Ni1lZWYxLTU2NzYtOGE2MS1iM2I4NzU4YmJmZmIiCgpbW1JhbmRvbV1dCmRlcHMgPSBbIlNlcmlhbGl6YXRpb24iXQp1dWlkID0gIjlhM2Y4Mjg0LWEyYzktNWYwMi05YTExLTg0NTk4MGExZmQ1YyIKCltbUmVleHBvcnRdXQpnaXQtdHJlZS1zaGExID0gIjVmNmMyMTI0MWYwZjY1NWRhMzk1MmZkNjBhYTE4NDc3Y2Y5NmMyMjAiCnV1aWQgPSAiMTg5YTM4NjctMzA1MC01MmRhLWE4MzYtZTYzMGJhOTBhYjY5Igp2ZXJzaW9uID0gIjEuMS4wIgoKW1tTSEFdXQp1dWlkID0gImVhOGU5MTljLTI0M2MtNTFhZi04ODI1LWFhYTYzY2Q3MjFjZSIKCltbU2VyaWFsaXphdGlvbl1dCnV1aWQgPSAiOWU4OGI0MmEtZjgyOS01YjBjLWJiZTktOWU5MjMxOTgxNjZiIgoKW1tTaGFyZWRBcnJheXNdXQpkZXBzID0gWyJEaXN0cmlidXRlZCIsICJNbWFwIiwgIlJhbmRvbSIsICJTZXJpYWxpemF0aW9uIl0KdXVpZCA9ICIxYTEwMTFhMy04NGRlLTU1OWUtOGU4OS1hMTFhMmY3ZGMzODMiCgpbW1NpbXBsZVRyYWl0c11dCmRlcHMgPSBbIkludGVyYWN0aXZlVXRpbHMiLCAiTWFjcm9Ub29scyJdCmdpdC10cmVlLXNoYTEgPSAiNWQ3ZTNmNGUxMTkzNTUwM2QzZWNhZjcxODZlYWM0MDYwMmU3ZDIzMSIKdXVpZCA9ICI2OTlhNmM5OS1lN2ZhLTU0ZmMtOGQ3Ni00N2QyNTdlMTVjMWQiCnZlcnNpb24gPSAiMC45LjQiCgpbW1NvY2tldHNdXQp1dWlkID0gIjY0NjJmZTBiLTI0ZGUtNTYzMS04Njk3LWRkOTQxZjkwZGVjYyIKCltbU3BhcnNlQXJyYXlzXV0KZGVwcyA9IFsiTGluZWFyQWxnZWJyYSIsICJSYW5kb20iXQp1dWlkID0gIjJmMDExODRlLWUyMmItNWRmNS1hZTYzLWQ5M2ViYWI2OWVhZiIKCltbU3RhdGljQXJyYXlzXV0KZGVwcyA9IFsiTGluZWFyQWxnZWJyYSIsICJSYW5kb20iLCAiU3RhdGlzdGljcyJdCmdpdC10cmVlLXNoYTEgPSAiMzI0MDgwOGM2ZDQ2M2FjNDZmMWMxY2Q3NjM4Mzc1Y2QyMmFiYmNjYiIKdXVpZCA9ICI5MDEzN2ZmYS03Mzg1LTU2NDAtODFiOS1lNTIwMzcyMTgxODIiCnZlcnNpb24gPSAiMS4yLjEyIgoKW1tTdGF0aXN0aWNzXV0KZGVwcyA9IFsiTGluZWFyQWxnZWJyYSIsICJTcGFyc2VBcnJheXMiXQp1dWlkID0gIjEwNzQ1YjE2LTc5Y2UtMTFlOC0xMWY5LTdkMTNhZDMyYTNiMiIKCltbU3VwcHJlc3Nvcl1dCmdpdC10cmVlLXNoYTEgPSAiYTgxOWQ3N2YzMWY4M2U1NzkyYTc2MDgxZWVlMWVhNjM0MmFiODc4NyIKdXVpZCA9ICJmZDA5NDc2Ny1hMzM2LTVmMWYtOTcyOC01N2NmMTdkMGJiZmIiCnZlcnNpb24gPSAiMC4yLjAiCgpbW1RPTUxdXQpkZXBzID0gWyJEYXRlcyJdCnV1aWQgPSAiZmEyNjdmMWYtNjA0OS00ZjE0LWFhNTQtMzNiYWZhZTFlZDc2IgoKW1tUYXJdXQpkZXBzID0gWyJBcmdUb29scyIsICJTSEEiXQp1dWlkID0gImE0ZTU2OWE2LWU4MDQtNGZhNC1iMGYzLWVlZjdhMWQ1YjEzZSIKCltbVGVzdF1dCmRlcHMgPSBbIkludGVyYWN0aXZlVXRpbHMiLCAiTG9nZ2luZyIsICJSYW5kb20iLCAiU2VyaWFsaXphdGlvbiJdCnV1aWQgPSAiOGRmZWQ2MTQtZTIyYy01ZTA4LTg1ZTEtNjVjNTIzNGYwYjQwIgoKW1tVVUlEc11dCmRlcHMgPSBbIlJhbmRvbSIsICJTSEEiXQp1dWlkID0gImNmNzExOGE3LTY5NzYtNWIxYS05YTM5LTdhZGM3MmY1OTFhNCIKCltbVW5pY29kZV1dCnV1aWQgPSAiNGVjMGE4M2UtNDkzZS01MGUyLWI5YWMtOGY3MmFjZjVhOGY1IgoKW1tabGliX2psbF1dCmRlcHMgPSBbIkxpYmRsIl0KdXVpZCA9ICI4Mzc3NWE1OC0xZjFkLTUxM2YtYjE5Ny1kNzEzNTRhYjAwN2EiCgpbW25naHR0cDJfamxsXV0KZGVwcyA9IFsiQXJ0aWZhY3RzIiwgIkxpYmRsIl0KdXVpZCA9ICI4ZTg1MGVkZS03Njg4LTUzMzktYTA3Yy0zMDJhY2QyYWFmOGQiCgpbW3A3emlwX2psbF1dCmRlcHMgPSBbIkFydGlmYWN0cyIsICJMaWJkbCJdCnV1aWQgPSAiM2YxOWU5MzMtMzNkOC01M2IzLWFhYWItYmQ1MTEwYzNiN2EwIgoiIiIKCiMg4pWU4pWQ4pWhIENlbGwgb3JkZXI6CiMg4pWg4pWQN2ZiNjljZjAtZmM2Ni0xMWViLTI1NmYtY2I2ZTlkMmRiMTU2CiMg4pWg4pWQMjBhZDc3MGItMzRhMS00OWU3LWI5NDgtZTEyZjQ2YmRlNWVlCiMg4pWf4pSANTljZWYzOWEtMzU3Ny00NzI2LWFlZmYtOTYwYWQ1YjU4MGM1CiMg4pWg4pWQYzhiYTI3YjEtNGQyYi00YWZjLTg5YTktODA2YmU5MTUzNGRjCiMg4pWf4pSAZWYwNzc3NTktODhhZC00NjU1LWIwNGYtODNjODAyNzBkMzIwCiMg4pWf4pSAYTYyNmQzYzEtYmE0MS00YjkxLWEyYTItNmZmNjljZDEzYmNlCiMg4pWf4pSAMWI2ODU1MzgtODI4YS00YzU4LWJmYmYtODQ1ZTRiZDdjMjZlCiMg4pWf4pSAMmViOWY4MWItNzkyYy00ZTQ1LWE0ZTUtYjMzNjRhYTNiMzkxCiMg4pWf4pSANzg0MDU2ODMtZmVlZS00ZmYxLWFjOTMtNjc1YzkyZDAxYTEyCiMg4pWf4pSANmM4NzE1NzMtZTViMC00OWM0LThiMzgtNDgwMDkyMjQ4M2RjCiMg4pWf4pSAYWEwYTVkYjUtMWM3MS00NzU2LThjN2YtODIxYjg1YTA2YmE3CiMg4pWf4pSAODI0YzdlMjYtNWJmOC00MjcyLWE0ZjAtZTM2NjI3MWM4MjIxCiMg4pWf4pSAY2MyMDNmYjQtNDc1NS00NWNjLThiOWItZDA2MDQ4NjIzZWM5CiMg4pWg4pWQNTQ2YmFmMzktMDllMC00NmExLThkZjMtYjM5YmEwNGFhMTFmCiMg4pWf4pSAZDhhMTFmYWItZDg3ZS00MzRmLTk4MzMtMjE5MmNhMGIzMDJmCiMg4pWf4pSANDAxMTQ4YjMtYjNlZi00NmY5LTk4NjktZjNkYThkNTRmNmVhCiMg4pWf4pSANzc0MWU3YTYtOTMxYi00ZjQ3LTkxYmItMmFjNjFlMGUxMzQyCiMg4pWf4pSAMmExMTk5MDktYzQ1Yy00MTU0LWI4NWQtZWY1NWJhOGZiZThhCiMg4pWf4pSAOTRhZGExZjQtOTQ4NC00ZjVkLTkwYjItYTk5MTY1ZGQ5ZjhjCiMg4pWf4pSAMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAxCiMg4pWf4pSAMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAyCg=="
window.pluto_disable_ui = true
window.pluto_slider_server_url = undefined
window.pluto_binder_url = "https://mybinder.org/v2/gh/fonsp/pluto-on-binder/v0.15.1"
window.pluto_statefile = "data:;base64,jKVib25kc4SnYW5pbWF0ZYKldmFsdWXDrmlzX2ZpcnN0X3ZhbHVlwqVzdHlsZYKldmFsdWW5U2ltcGxlIEdyZWVuIChVbmRpcmVjdGVkKa5pc19maXJzdF92YWx1ZcKmbGF5b3V0gqV2YWx1ZaRjb3NlrmlzX2ZpcnN0X3ZhbHVlwqdzZ19uYW1lgqV2YWx1Za1kaWFtb25kIGdyYXBormlzX2ZpcnN0X3ZhbHVlwqxjZWxsX3Jlc3VsdHPeABPZJDFiNjg1NTM4LTgyOGEtNGM1OC1iZmJmLTg0NWU0YmQ3YzI2ZYimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52SpncmFwaGRhdGEgKGdlbmVyaWMgZnVuY3Rpb24gd2l0aCAxIG1ldGhvZCmwcGVyc2lzdF9qc19zdGF0ZcKkbWltZap0ZXh0L3BsYWlusmxhc3RfcnVuX3RpbWVzdGFtcMtB2EcF7f3S8qxyb290YXNzaWduZWXAp2NlbGxfaWTZJDFiNjg1NTM4LTgyOGEtNGM1OC1iZmJmLTg0NWU0YmQ3YzI2ZblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzZcsp2Vycm9yZWTC2SQ5NGFkYTFmNC05NDg0LTRmNWQtOTBiMi1hOTkxNjVkZDlmOGOIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedmnIm5vZGUge1xuXHRjb250ZW50OiBkYXRhKGlkKTtcblx0dGV4dC12YWxpZ246IGNlbnRlcjtcblx0dGV4dC1oYWxpZ246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogIzEyNjgxNDtcbn1cblxuZWRnZSB7XG5cdGxpbmUtY29sb3I6ICMxMjY4MTQ7XG5cdG9wYWNpdHk6IDAuNTtcbn1cbiKwcGVyc2lzdF9qc19zdGF0ZcKkbWltZap0ZXh0L3BsYWlusmxhc3RfcnVuX3RpbWVzdGFtcMtB2EcF7i2BBqxyb290YXNzaWduZWWrc3R5bGVfZ3JlZW6nY2VsbF9pZNkkOTRhZGExZjQtOTQ4NC00ZjVkLTkwYjItYTk5MTY1ZGQ5ZjhjuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXMyKdlcnJvcmVkwtkkMmViOWY4MWItNzkyYy00ZTQ1LWE0ZTUtYjMzNjRhYTNiMzkxiKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnZJ21pbmlmeSAoZ2VuZXJpYyBmdW5jdGlvbiB3aXRoIDEgbWV0aG9kKbBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqnRleHQvcGxhaW6ybGFzdF9ydW5fdGltZXN0YW1wy0HYRwXuAj1xrHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkMmViOWY4MWItNzkyYy00ZTQ1LWE0ZTUtYjMzNjRhYTNiMzkxuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNawinZXJyb3JlZMLZJDdmYjY5Y2YwLWZjNjYtMTFlYi0yNTZmLWNiNmU5ZDJkYjE1NoimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R5oLBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqnRleHQvcGxhaW6ybGFzdF9ydW5fdGltZXN0YW1wy0HYRwXtqo9crHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkN2ZiNjljZjAtZmM2Ni0xMWViLTI1NmYtY2I2ZTlkMmRiMTU2uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOUTVPrKdlcnJvcmVkwtkkZDhhMTFmYWItZDg3ZS00MzRmLTk4MzMtMjE5MmNhMGIzMDJmiKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnZMjxkaXYgY2xhc3M9Im1hcmtkb3duIj48aDI+R3JhcGggU3R5bGVzPC9oMj4KPC9kaXY+sHBlcnNpc3RfanNfc3RhdGXCpG1pbWWpdGV4dC9odG1ssmxhc3RfcnVuX3RpbWVzdGFtcMtB2EcF6lR64axyb290YXNzaWduZWXAp2NlbGxfaWTZJGQ4YTExZmFiLWQ4N2UtNDM0Zi05ODMzLTIxOTJjYTBiMzAyZrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzRGUp2Vycm9yZWTC2SRhNjI2ZDNjMS1iYTQxLTRiOTEtYTJhMi02ZmY2OWNkMTNiY2WIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedoC+SIuYnRuLWdyb3VwLCAuYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5idG4tZ3JvdXAgYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzA0QUE2RDtcblx0Ym9yZGVyOiAxcHggc29saWQgZ3JlZW47XG5cdGNvbG9yOiB3aGl0ZTtcblx0cGFkZGluZzogMTBweCAxMHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZsb2F0OiBsZWZ0O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4uYnRuLWdyb3VwIGJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4uYnRuLWdyb3VwIGJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMzZThlNDE7XG59XG5cbi5idG4tZ3JvdXAgPiBidXR0b246bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG5cblx0LmJ0bi1ncm91cCA+IGJ1dHRvbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpe1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uYnRuLWdyb3VwID4gYnV0dG9uOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4isHBlcnNpc3RfanNfc3RhdGXCpG1pbWWqdGV4dC9wbGFpbrJsYXN0X3J1bl90aW1lc3RhbXDLQdhHBe35mZqscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRhNjI2ZDNjMS1iYTQxLTRiOTEtYTJhMi02ZmY2OWNkMTNiY2W5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc0H0KdlcnJvcmVkwtkkMjBhZDc3MGItMzRhMS00OWU3LWI5NDgtZTEyZjQ2YmRlNWVliKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHmgsHBlcnNpc3RfanNfc3RhdGXCpG1pbWWqdGV4dC9wbGFpbrJsYXN0X3J1bl90aW1lc3RhbXDLQdhHBe2rtkascm9vdGFzc2lnbmVlwKdjZWxsX2lk2SQyMGFkNzcwYi0zNGExLTQ5ZTctYjk0OC1lMTJmNDZiZGU1ZWW5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AGKEUp2Vycm9yZWTC2SQ1NDZiYWYzOS0wOWUwLTQ2YTEtOGRmMy1iMzliYTA0YWExMWaIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedoL2jxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZm9udC1hd2Vzb21lLzUuMTUuNC9jc3MvYWxsLm1pbi5jc3MiIGludGVncml0eT0ic2hhNTEyLTF5Y242SWNhUVE0MC9NS0JXMlc0Umhpcy9EYklMVTc0QzF2U3JMSnhDcTU3bzk0MVltMDFTd05zT01xdkVCRmxjZ1VhNnhMaVBZL05TNVIrRTZ6dEpRPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVycG9saWN5PSJuby1yZWZlcnJlciIgLz4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vY3l0b3NjYXBlQDMuMTkuMC9kaXN0L2N5dG9zY2FwZS5taW4uanMiPjwvc2NyaXB0Pgo8c3R5bGU+LmJ0bi1ncm91cCwgLmJ0bi1ncm91cC12ZXJ0aWNhbCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9CgouYnRuLWdyb3VwIGJ1dHRvbiB7CgliYWNrZ3JvdW5kLWNvbG9yOiAjMDRBQTZEOwoJYm9yZGVyOiAxcHggc29saWQgZ3JlZW47Cgljb2xvcjogd2hpdGU7CglwYWRkaW5nOiAxMHB4IDEwcHg7CgljdXJzb3I6IHBvaW50ZXI7CglmbG9hdDogbGVmdDsKCWJvcmRlci1yYWRpdXM6IDEwcHg7Cn0KCi5idG4tZ3JvdXAgYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkgewoJYm9yZGVyLXJpZ2h0OiBub25lOwp9CgouYnRuLWdyb3VwIGJ1dHRvbjpob3ZlciB7CgliYWNrZ3JvdW5kLWNvbG9yOiAjM2U4ZTQxOwp9CgouYnRuLWdyb3VwID4gYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgewoJYm9yZGVyLXJhZGl1czogMDsKfQoKCS5idG4tZ3JvdXAgPiBidXR0b246bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKXsKCWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7Cglib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOwp9CgouYnRuLWdyb3VwID4gYnV0dG9uOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgewoJYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7Cglib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKfQo+PC9zdHlsZT4KCjxkaXY+Cgk8c2NyaXB0Pgl2YXIgcHJudCA9IGN1cnJlbnRTY3JpcHQucGFyZW50RWxlbWVudDsKCXZhciBmaXRfYnV0dG9uID0gcHJudC5xdWVyeVNlbGVjdG9yKCJidXR0b24jZml0Iik7Cgl2YXIgY2VudGVyX2J1dHRvbiA9IHBybnQucXVlcnlTZWxlY3RvcigiYnV0dG9uI2NlbnRlciIpOwoJdmFyIGxheW91dF9idXR0b24gPSBwcm50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiNsYXlvdXQiKTsKCXZhciBkb3dubG9hZF9idXR0b24gPSBwcm50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiNkb3dubG9hZCIpOwoJCgl2YXIgZ3JhcGhfc3R5bGUgPSAnbm9kZSB7IGNvbnRlbnQ6IGRhdGEoaWQpOyB0ZXh0LXZhbGlnbjogY2VudGVyOyB0ZXh0LWhhbGlnbjogY2VudGVyOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2ODE0O31lZGdlIHsgbGluZS1jb2xvcjogIzEyNjgxNDsgb3BhY2l0eTogMC41O30nOwoJCgoJdmFyIGN5ID0gd2luZG93LmN5ID0gY3l0b3NjYXBlKHsKCQljb250YWluZXI6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZW1vJyksCgkJYm94U2VsZWN0aW9uRW5hYmxlZDogZmFsc2UsCgkJc3R5bGU6IGdyYXBoX3N0eWxlLAoJCWVsZW1lbnRzOiB7Cglub2RlczogWwoJCXsgZGF0YToge2lkOiAnMScsIGxhYmVsOiAnMSd9IH0sCgkJeyBkYXRhOiB7aWQ6ICcyJywgbGFiZWw6ICcyJ30gfSwKCQl7IGRhdGE6IHtpZDogJzMnLCBsYWJlbDogJzMnfSB9LAoJCXsgZGF0YToge2lkOiAnNCcsIGxhYmVsOiAnNCd9IH0sCgoJXSwKCWVkZ2VzOiBbCgkJeyBkYXRhOiB7aWQ6ICcxLS0+MicsIHNvdXJjZTogJzEnLCB0YXJnZXQ6ICcyJyB9IH0sCgkJeyBkYXRhOiB7aWQ6ICcxLS0+MycsIHNvdXJjZTogJzEnLCB0YXJnZXQ6ICczJyB9IH0sCgkJeyBkYXRhOiB7aWQ6ICcyLS0+MycsIHNvdXJjZTogJzInLCB0YXJnZXQ6ICczJyB9IH0sCgkJeyBkYXRhOiB7aWQ6ICcyLS0+NCcsIHNvdXJjZTogJzInLCB0YXJnZXQ6ICc0JyB9IH0sCgkJeyBkYXRhOiB7aWQ6ICczLS0+NCcsIHNvdXJjZTogJzMnLCB0YXJnZXQ6ICc0JyB9IH0sCgoJXQp9CiwKCQlsYXlvdXQ6IHsKCW5hbWU6ICdjb3NlJywKCXBhZGRpbmc6IDUsCglhbmltYXRlOiB0cnVlCn0KCgl9KTsKCWZpdF9idXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoZSkgPT4ge2N5LmZpdCgpfSk7CgljZW50ZXJfYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKGUpID0+IHsgY3kuY2VudGVyKCkgfSk7CgkKCXZhciBsYXlvdXQgPSBjeS5sYXlvdXQoewoJbmFtZTogJ2Nvc2UnLAoJcGFkZGluZzogNSwKCWFuaW1hdGU6IHRydWUKfQopOwoJbGF5b3V0X2J1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIChlKSA9PiB7IGxheW91dC5ydW4oKSB9KTsKCQoJZG93bmxvYWRfYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKGUpID0+IHsgCgkJdmFyIHBuZzY0ID0gY3kucG5nKCkKCQl2YXIgYURvd25sb2FkTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKCQlhRG93bmxvYWRMaW5rLmhyZWYgPSBwbmc2NDsKCQlhRG93bmxvYWRMaW5rLnRhcmdldCA9ICdfYmxhbmsnOwoJCWFEb3dubG9hZExpbmsuY2xpY2soKTsKCX0pOwo8L3NjcmlwdD4KCgk8ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPgoJCTxidXR0b24gaWQ9ImZpdCI+PGkgY2xhc3M9ImZhcyBmYS1ob21lIj48L2k+PC9idXR0b24+CgkJPGJ1dHRvbiBpZD0iY2VudGVyIj48aSBjbGFzcz0iZmFzIGZhLWNvbXByZXNzLWFycm93cy1hbHQiPjwvaT48L2J1dHRvbj4KCQk8YnV0dG9uIGlkPSJsYXlvdXQiPjxpIGNsYXNzPSJmYXMgZmEtcmVkbyI+PC9pPjwvYnV0dG9uPgoJCTxidXR0b24gaWQ9ImRvd25sb2FkIj48aSBjbGFzcz0iZmFzIGZhLWRvd25sb2FkIj48L2k+PC9idXR0b24+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkZW1vIiBzdHlsZT0ibWluLWhlaWdodDo2ODBweCI+PC9kaXY+CjwvZGl2PgqwcGVyc2lzdF9qc19zdGF0ZcOkbWltZal0ZXh0L2h0bWyybGFzdF9ydW5fdGltZXN0YW1wy0HYRwX8fwo9rHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkNTQ2YmFmMzktMDllMC00NmExLThkZjMtYjM5YmEwNGFhMTFmuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOASF4TKdlcnJvcmVkwtkkNzc0MWU3YTYtOTMxYi00ZjQ3LTkxYmItMmFjNjFlMGUxMzQyiKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnZvCJub2RlIHtcblx0Y29udGVudDogZGF0YShpZCk7XG5cdHRleHQtdmFsaWduOiBjZW50ZXI7XG5cdHRleHQtaGFsaWduOiBjZW50ZXI7XG5cdG9wYWNpdHk6IDAuNzU7XG59XG5cbmVkZ2Uge1xuXHRjdXJ2ZS1zdHlsZTogYmV6aWVyO1xuXHR0YXJnZXQtYXJyb3ctc2hhcGU6IHRyaWFuZ2xlO1xuXHRvcGFjaXR5OiAwLjU7XG59XG4isHBlcnNpc3RfanNfc3RhdGXCpG1pbWWqdGV4dC9wbGFpbrJsYXN0X3J1bl90aW1lc3RhbXDLQdhHBe4sSbqscm9vdGFzc2lnbmVlpnN0eWxlMadjZWxsX2lk2SQ3NzQxZTdhNi05MzFiLTRmNDctOTFiYi0yYWM2MWUwZTEzNDK5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZczIp2Vycm9yZWTC2SRjOGJhMjdiMS00ZDJiLTRhZmMtODlhOS04MDZiZTkxNTM0ZGOIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedoPGzxzY3JpcHQ+Y29uc3QgZ2V0UGFyZW50Q2VsbCA9IGVsID0+IGVsLmNsb3Nlc3QoInBsdXRvLWNlbGwiKQoKY29uc3QgZ2V0SGVhZGVycyA9ICgpID0+IHsKCWNvbnN0IGRlcHRoID0gTWF0aC5tYXgoMSwgTWF0aC5taW4oNiwgMykpIC8vIHNob3VsZCBiZSBpbiByYW5nZSAxOjYKCWNvbnN0IHJhbmdlID0gQXJyYXkuZnJvbSh7bGVuZ3RoOiBkZXB0aH0sICh4LCBpKSA9PiBpKzEpIC8vIFsxLCAuLi4sIGRlcHRoXQoJCgljb25zdCBzZWxlY3RvciA9IHJhbmdlLm1hcChpID0+IGBwbHV0by1ub3RlYm9vayBwbHV0by1jZWxsIGgke2l9YCkuam9pbigiLCIpCglyZXR1cm4gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKSkKfQoKY29uc3QgaW5kZW50ID0gdHJ1ZQpjb25zdCBhc2lkZSA9IHRydWUKCmNvbnN0IHJlbmRlciA9IChlbCkgPT4gaHRtbGAke2VsLm1hcChoID0+IHsKCWNvbnN0IHBhcmVudF9jZWxsID0gZ2V0UGFyZW50Q2VsbChoKQoKCWNvbnN0IGEgPSBodG1sYDxhIAoJCWNsYXNzPSIke2gubm9kZU5hbWV9IiAKCQlocmVmPSIjJHtwYXJlbnRfY2VsbC5pZH0iCgk+JHtoLmlubmVyVGV4dH08L2E+YAoJLyogYS5vbm1vdXNlb3Zlcj0oKT0+ewoJCXBhcmVudF9jZWxsLmZpcnN0RWxlbWVudENoaWxkLmNsYXNzTGlzdC5hZGQoCgkJCSdoaWdobGlnaHQtcGx1dG8tY2VsbC1zaG91bGRlcicKCQkpCgl9CglhLm9ubW91c2VvdXQ9KCkgPT4gewoJCXBhcmVudF9jZWxsLmZpcnN0RWxlbWVudENoaWxkLmNsYXNzTGlzdC5yZW1vdmUoCgkJCSdoaWdobGlnaHQtcGx1dG8tY2VsbC1zaG91bGRlcicKCQkpCgl9ICovCglhLm9uY2xpY2s9KGUpID0+IHsKCQllLnByZXZlbnREZWZhdWx0KCk7CgkJaC5zY3JvbGxJbnRvVmlldyh7CgkJCWJlaGF2aW9yOiAnc21vb3RoJywgCgkJCWJsb2NrOiAnY2VudGVyJwoJCX0pCgl9CgoJcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz0idG9jLXJvdyI+JHthfTwvZGl2PmAKfSl9YAoKY29uc3QgdG9jTm9kZSA9IGh0bWxgPG5hdiBjbGFzcz0icGx1dG91aS10b2MiPgoJPGhlYWRlcj5UYWJsZSBvZiBDb250ZW50czwvaGVhZGVyPgoJPHNlY3Rpb24+PC9zZWN0aW9uPgo8L25hdj5gCnRvY05vZGUuY2xhc3NMaXN0LnRvZ2dsZSgiYXNpZGUiLCBhc2lkZSkKdG9jTm9kZS5jbGFzc0xpc3QudG9nZ2xlKCJpbmRlbnQiLCBhc2lkZSkKCmNvbnN0IHVwZGF0ZUNhbGxiYWNrID0gKCkgPT4gewoJdG9jTm9kZS5xdWVyeVNlbGVjdG9yKCJzZWN0aW9uIikucmVwbGFjZVdpdGgoCgkJaHRtbGA8c2VjdGlvbj4ke3JlbmRlcihnZXRIZWFkZXJzKCkpfTwvc2VjdGlvbj5gCgkpCn0KdXBkYXRlQ2FsbGJhY2soKQoKCmNvbnN0IG5vdGVib29rID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigicGx1dG8tbm90ZWJvb2siKQoKCi8vIFdlIGhhdmUgYSBtdXRhdGlvbm9ic2VydmVyIGZvciBlYWNoIGNlbGw6CmNvbnN0IG9ic2VydmVycyA9IHsKCWN1cnJlbnQ6IFtdLAp9Cgpjb25zdCBjcmVhdGVDZWxsT2JzZXJ2ZXJzID0gKCkgPT4gewoJb2JzZXJ2ZXJzLmN1cnJlbnQuZm9yRWFjaCgobykgPT4gby5kaXNjb25uZWN0KCkpCglvYnNlcnZlcnMuY3VycmVudCA9IEFycmF5LmZyb20obm90ZWJvb2sucXVlcnlTZWxlY3RvckFsbCgicGx1dG8tY2VsbCIpKS5tYXAoZWwgPT4gewoJCWNvbnN0IG8gPSBuZXcgTXV0YXRpb25PYnNlcnZlcih1cGRhdGVDYWxsYmFjaykKCQlvLm9ic2VydmUoZWwsIHthdHRyaWJ1dGVGaWx0ZXI6IFsiY2xhc3MiXX0pCgkJcmV0dXJuIG8KCX0pCn0KY3JlYXRlQ2VsbE9ic2VydmVycygpCgovLyBBbmQgb25lIGZvciB0aGUgbm90ZWJvb2sncyBjaGlsZCBsaXN0LCB3aGljaCB1cGRhdGVzIG91ciBjZWxsIG9ic2VydmVyczoKY29uc3Qgbm90ZWJvb2tPYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHsKCXVwZGF0ZUNhbGxiYWNrKCkKCWNyZWF0ZUNlbGxPYnNlcnZlcnMoKQp9KQpub3RlYm9va09ic2VydmVyLm9ic2VydmUobm90ZWJvb2ssIHtjaGlsZExpc3Q6IHRydWV9KQoKLy8gQW5kIGZpbmFsbHksIGFuIG9ic2VydmVyIGZvciB0aGUgZG9jdW1lbnQuYm9keSBjbGFzc0xpc3QsIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSB0b2MgYWxzbyB3b3JrcyB3aGVuIGlmIGlzIGxvYWRlZCBkdXJpbmcgbm90ZWJvb2sgaW5pdGlhbGl6YXRpb24KY29uc3QgYm9keUNsYXNzT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcih1cGRhdGVDYWxsYmFjaykKYm9keUNsYXNzT2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7YXR0cmlidXRlRmlsdGVyOiBbImNsYXNzIl19KQoKaW52YWxpZGF0aW9uLnRoZW4oKCkgPT4gewoJbm90ZWJvb2tPYnNlcnZlci5kaXNjb25uZWN0KCkKCWJvZHlDbGFzc09ic2VydmVyLmRpc2Nvbm5lY3QoKQoJb2JzZXJ2ZXJzLmN1cnJlbnQuZm9yRWFjaCgobykgPT4gby5kaXNjb25uZWN0KCkpCn0pCgpyZXR1cm4gdG9jTm9kZQo8L3NjcmlwdD48c3R5bGU+QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4MXB4KSB7CgkucGx1dG91aS10b2MuYXNpZGUgewoJCXBvc2l0aW9uOmZpeGVkOyAKCQlyaWdodDogMXJlbTsKCQl0b3A6IDVyZW07IAoJCXdpZHRoOjI1JTsgCgkJcGFkZGluZzogMTBweDsKCQlib3JkZXI6IDNweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpOwoJCWJvcmRlci1yYWRpdXM6IDEwcHg7CgkJYm94LXNoYWRvdzogMCAwIDExcHggMHB4ICMwMDAwMDAxMDsKCQkvKiBUaGF0IGlzLCB2aWV3cG9ydCBtaW51cyB0b3AgbWludXMgTGl2ZSBEb2NzICovCgkJbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDVyZW0gLSA1NnB4KTsKCQlvdmVyZmxvdzogYXV0bzsKCQl6LWluZGV4OiA1MDsKCQliYWNrZ3JvdW5kOiB3aGl0ZTsKCX0KfQoKLnBsdXRvdWktdG9jIGhlYWRlciB7CglkaXNwbGF5OiBibG9jazsKCWZvbnQtc2l6ZTogMS41ZW07CgltYXJnaW4tdG9wOiAwLjY3ZW07CgltYXJnaW4tYm90dG9tOiAwLjY3ZW07CgltYXJnaW4tbGVmdDogMDsKCW1hcmdpbi1yaWdodDogMDsKCWZvbnQtd2VpZ2h0OiBib2xkOwoJYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7Cn0KCi5wbHV0b3VpLXRvYyBzZWN0aW9uIC50b2Mtcm93IHsKCXdoaXRlLXNwYWNlOiBub3dyYXA7CglvdmVyZmxvdzogaGlkZGVuOwoJdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CglwYWRkaW5nLWJvdHRvbTogMnB4Owp9CgouaGlnaGxpZ2h0LXBsdXRvLWNlbGwtc2hvdWxkZXIgewoJYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTsKCWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7Cn0KCi5wbHV0b3VpLXRvYyBzZWN0aW9uIGEgewoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJZm9udC13ZWlnaHQ6IG5vcm1hbDsKCWNvbG9yOiBncmF5Owp9Ci5wbHV0b3VpLXRvYyBzZWN0aW9uIGE6aG92ZXIgewoJY29sb3I6IGJsYWNrOwp9CgoucGx1dG91aS10b2MuaW5kZW50IHNlY3Rpb24gYS5IMSB7Cglmb250LXdlaWdodDogNzAwOwoJbGluZS1oZWlnaHQ6IDFlbTsKfQoKLnBsdXRvdWktdG9jLmluZGVudCBzZWN0aW9uIGEuSDEgewoJcGFkZGluZy1sZWZ0OiAwcHg7Cn0KLnBsdXRvdWktdG9jLmluZGVudCBzZWN0aW9uIGEuSDIgewoJcGFkZGluZy1sZWZ0OiAxMHB4Owp9Ci5wbHV0b3VpLXRvYy5pbmRlbnQgc2VjdGlvbiBhLkgzIHsKCXBhZGRpbmctbGVmdDogMjBweDsKfQoucGx1dG91aS10b2MuaW5kZW50IHNlY3Rpb24gYS5INCB7CglwYWRkaW5nLWxlZnQ6IDMwcHg7Cn0KLnBsdXRvdWktdG9jLmluZGVudCBzZWN0aW9uIGEuSDUgewoJcGFkZGluZy1sZWZ0OiA0MHB4Owp9Ci5wbHV0b3VpLXRvYy5pbmRlbnQgc2VjdGlvbiBhLkg2IHsKCXBhZGRpbmctbGVmdDogNTBweDsKfQo8L3N0eWxlPrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdhHBe3ywIOscm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRjOGJhMjdiMS00ZDJiLTRhZmMtODlhOS04MDZiZTkxNTM0ZGO5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZWSnZXJyb3JlZMLZJDQwMTE0OGIzLWIzZWYtNDZmOS05ODY5LWYzZGE4ZDU0ZjZlYYimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R5haZwcmVmaXi0RGljdHtTdHJpbmcsIFN0cmluZ32oZWxlbWVudHOTkpK7IlNpbXBsZSBHcmVlbiAoVW5kaXJlY3RlZCkiqnRleHQvcGxhaW6S2acibm9kZSB7XG5cdGNvbnRlbnQ6IGRhdGEoaWQpO1xuXHR0ZXh0LXZhbGlnbjogY2VudGVyO1xuXHR0ZXh0LWhhbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2ODE0O1xufVxuXG5lZGdlIHtcblx0bGluZS1jb2xvcjogIzEyNjgxNDtcblx0b3BhY2l0eTogMC41O1xufVxuIqp0ZXh0L3BsYWlukpK4IlNpbXBsZSBHcmF5IChEaXJlY3RlZCkiqnRleHQvcGxhaW6S2bwibm9kZSB7XG5cdGNvbnRlbnQ6IGRhdGEoaWQpO1xuXHR0ZXh0LXZhbGlnbjogY2VudGVyO1xuXHR0ZXh0LWhhbGlnbjogY2VudGVyO1xuXHRvcGFjaXR5OiAwLjc1O1xufVxuXG5lZGdlIHtcblx0Y3VydmUtc3R5bGU6IGJlemllcjtcblx0dGFyZ2V0LWFycm93LXNoYXBlOiB0cmlhbmdsZTtcblx0b3BhY2l0eTogMC41O1xufVxuIqp0ZXh0L3BsYWlukpKyIkdyZWVuIGFuZCBZZWxsb3ciqnRleHQvcGxhaW6S2gJUIm5vZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7XG4gIGJvcmRlci1jb2xvcjogYmxhY2s7XG4gIHdpZHRoOiAyMDtcbiAgaGVpZ2h0OiAyMDtcbiAgbWluLXpvb21lZC1mb250LXNpemU6IDEyO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNjtcbiAgei1pbmRleDogMTtcbn1cblxubm9kZTpzZWxlY3RlZCxcbm5vZGUuc3RhcnQsXG5ub2RlLmVuZCB7XG4gIGhlaWdodDogMzA7XG4gIHdpZHRoOiAzMDtcbiAgbWluLXpvb21lZC1mb250LXNpemU6IDA7XG4gIGZvbnQtc2l6ZTogNDg7XG4gIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gIHRleHQtb3V0bGluZS1jb2xvcjogIzAwMDtcbiAgdGV4dC1vdXRsaW5lLXdpZHRoOiAxMHB4O1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG5cbmVkZ2Uge1xuICBtaW4tem9vbWVkLWZvbnQtc2l6ZTogMTI7XG4gIGZvbnQtc2l6ZTogODtcbiAgY29sb3I6ICNmZmY7XG4gIGxpbmUtY29sb3I6IGdyZWVuO1xuICB3aWR0aDogMjA7XG4gIGN1cnZlLXN0eWxlOiBoYXlzdGFjaztcbiAgaGF5c3RhY2stcmFkaXVzOiAwO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbiKqdGV4dC9wbGFpbqR0eXBlpERpY3SscHJlZml4X3Nob3J0pERpY3Sob2JqZWN0aWSwYTZjYWNjZGViMTAzYWU3NLBwZXJzaXN0X2pzX3N0YXRlwqRtaW1l2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SybGFzdF9ydW5fdGltZXN0YW1wy0HYRwXuOfvnrHJvb3Rhc3NpZ25lZapzdHlsZV9kaWN0p2NlbGxfaWTZJDQwMTE0OGIzLWIzZWYtNDZmOS05ODY5LWYzZGE4ZDU0ZjZlYblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzQ7Yp2Vycm9yZWTC2SRlZjA3Nzc1OS04OGFkLTQ2NTUtYjA0Zi04M2M4MDI3MGQzMjCIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedk9PGRpdiBjbGFzcz0ibWFya2Rvd24iPjxoMj5GdW5jdGlvbnMgYW5kIENvbnN0YW50czwvaDI+CjwvZGl2PrBwZXJzaXN0X2pzX3N0YXRlwqRtaW1lqXRleHQvaHRtbLJsYXN0X3J1bl90aW1lc3RhbXDLQdhHBepUWh2scm9vdGFzc2lnbmVlwKdjZWxsX2lk2SRlZjA3Nzc1OS04OGFkLTQ2NTUtYjA0Zi04M2M4MDI3MGQzMjC5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc0TJKdlcnJvcmVkwtkkNmM4NzE1NzMtZTViMC00OWM0LThiMzgtNDgwMDkyMjQ4M2RjiKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHnZOjxkaXYgY2xhc3M9Im1hcmtkb3duIj48aDI+SW50ZXJhY3RpdmUgR3JhcGhWaXo8L2gyPgo8L2Rpdj6wcGVyc2lzdF9qc19zdGF0ZcKkbWltZal0ZXh0L2h0bWyybGFzdF9ydW5fdGltZXN0YW1wy0HYRwXqVGp/rHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkNmM4NzE1NzMtZTViMC00OWM0LThiMzgtNDgwMDkyMjQ4M2RjuWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNETCnZXJyb3JlZMLZJDc4NDA1NjgzLWZlZWUtNGZmMS1hYzkzLTY3NWM5MmQwMWExMoimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52SpncmFwaHZpeiAoZ2VuZXJpYyBmdW5jdGlvbiB3aXRoIDMgbWV0aG9kcymwcGVyc2lzdF9qc19zdGF0ZcOkbWltZap0ZXh0L3BsYWlusmxhc3RfcnVuX3RpbWVzdGFtcMtB2EcF/H2hy6xyb290YXNzaWduZWXAp2NlbGxfaWTZJDc4NDA1NjgzLWZlZWUtNGZmMS1hYzkzLTY3NWM5MmQwMWExMrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAB5xynZXJyb3JlZMLZJDJhMTE5OTA5LWM0NWMtNDE1NC1iODVkLWVmNTViYThmYmU4YYimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52gJUIm5vZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7XG4gIGJvcmRlci1jb2xvcjogYmxhY2s7XG4gIHdpZHRoOiAyMDtcbiAgaGVpZ2h0OiAyMDtcbiAgbWluLXpvb21lZC1mb250LXNpemU6IDEyO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNjtcbiAgei1pbmRleDogMTtcbn1cblxubm9kZTpzZWxlY3RlZCxcbm5vZGUuc3RhcnQsXG5ub2RlLmVuZCB7XG4gIGhlaWdodDogMzA7XG4gIHdpZHRoOiAzMDtcbiAgbWluLXpvb21lZC1mb250LXNpemU6IDA7XG4gIGZvbnQtc2l6ZTogNDg7XG4gIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gIHRleHQtb3V0bGluZS1jb2xvcjogIzAwMDtcbiAgdGV4dC1vdXRsaW5lLXdpZHRoOiAxMHB4O1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG5cbmVkZ2Uge1xuICBtaW4tem9vbWVkLWZvbnQtc2l6ZTogMTI7XG4gIGZvbnQtc2l6ZTogODtcbiAgY29sb3I6ICNmZmY7XG4gIGxpbmUtY29sb3I6IGdyZWVuO1xuICB3aWR0aDogMjA7XG4gIGN1cnZlLXN0eWxlOiBoYXlzdGFjaztcbiAgaGF5c3RhY2stcmFkaXVzOiAwO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbiKwcGVyc2lzdF9qc19zdGF0ZcKkbWltZap0ZXh0L3BsYWlusmxhc3RfcnVuX3RpbWVzdGFtcMtB2EcF7iztkaxyb290YXNzaWduZWWmc3R5bGUyp2NlbGxfaWTZJDJhMTE5OTA5LWM0NWMtNDE1NC1iODVkLWVmNTViYThmYmU4YblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lZKdlcnJvcmVkwtkkYWEwYTVkYjUtMWM3MS00NzU2LThjN2YtODIxYjg1YTA2YmE3iKZxdWV1ZWTCsXB1Ymxpc2hlZF9vYmplY3RzgKdydW5uaW5nwqZvdXRwdXSFpGJvZHmFpnByZWZpeLREaWN0e1N0cmluZywgU3ltYm9sfahlbGVtZW50c9wAFpKSryJkaWFtb25kIGdyYXBoIqp0ZXh0L3BsYWlukqg6ZGlhbW9uZKp0ZXh0L3BsYWlukpLZLSJza2VsZXRvbiBvZiB0aGUgdHJ1bmNhdGVkIHRldHJhaGVkcm9uIGdyYXBoIqp0ZXh0L3BsYWlukrU6dHJ1bmNhdGVkdGV0cmFoZWRyb26qdGV4dC9wbGFpbpKS2S8iZ3JhcGggbWltaWNpbmcgdGhlIGNsYXNzaWMgb3V0bGluZSBvZiBhIGhvdXNlIqp0ZXh0L3BsYWlukqY6aG91c2WqdGV4dC9wbGFpbpKSsCJDaHbDoXRhbCBncmFwaCKqdGV4dC9wbGFpbpKoOmNodmF0YWyqdGV4dC9wbGFpbpKS2TgiaG91c2UgZ3JhcGgsIHdpdGggdHdvIGVkZ2VzIGNyb3NzaW5nIHRoZSBib3R0b20gc3F1YXJlIqp0ZXh0L3BsYWlukqc6aG91c2V4qnRleHQvcGxhaW6SkrsiUGxhdG9uaWMgb2N0YWhlZHJhbCBncmFwaCKqdGV4dC9wbGFpbpKrOm9jdGFoZWRyYWyqdGV4dC9wbGFpbpKS2SYic2tlbGV0b24gb2YgdGhlIHRydW5jYXRlZCBjdWJlIGdyYXBoIqp0ZXh0L3BsYWlukq46dHJ1bmNhdGVkY3ViZap0ZXh0L3BsYWlukpKsImJ1bGwgZ3JhcGgiqnRleHQvcGxhaW6SpTpidWxsqnRleHQvcGxhaW6Skq0iVHV0dGUgZ3JhcGgiqnRleHQvcGxhaW6Spjp0dXR0Zap0ZXh0L3BsYWlukpKuIkZydWNodCBncmFwaCKqdGV4dC9wbGFpbpKnOmZydWNodKp0ZXh0L3BsYWlukpKwIkRlc2FyZ3Vlc2dyYXBoIqp0ZXh0L3BsYWlukqo6ZGVzYXJndWVzqnRleHQvcGxhaW6Skq4iUGFwcHVzIGdyYXBoIqp0ZXh0L3BsYWlukqc6cGFwcHVzqnRleHQvcGxhaW6Skr0iUGxhdG9uaWMgZG9kZWNhaGVkcmFsIGdyYXBoIqp0ZXh0L3BsYWlukq06ZG9kZWNhaGVkcmFsqnRleHQvcGxhaW6SkrgiUGxhdG9uaWMgY3ViaWNhbCBncmFwaCKqdGV4dC9wbGFpbpKoOmN1YmljYWyqdGV4dC9wbGFpbpKS2S8ic2tlbGV0b24gb2YgdGhlIHRydW5jYXRlZCB0ZXRyYWhlZHJvbiBkaWdyYXBoIqp0ZXh0L3BsYWlukrk6dHJ1bmNhdGVkdGV0cmFoZWRyb25fZGlyqnRleHQvcGxhaW6SkrYiTcO2Yml1cy1LYW50b3IgZ3JhcGgiqnRleHQvcGxhaW6Srjptb2ViaXVza2FudG9yqnRleHQvcGxhaW6SktkmIktyYWNraGFyZHQtS2l0ZSBzb2NpYWwgbmV0d29yayBncmFwaCKqdGV4dC9wbGFpbpKvOmtyYWNraGFyZHRraXRlqnRleHQvcGxhaW6SkrAiUGV0ZXJzZW4gZ3JhcGgiqnRleHQvcGxhaW6SqTpwZXRlcnNlbqp0ZXh0L3BsYWlukpLZKyJNYXplIGdyYXBoIHVzZWQgaW4gU2VkZ2V3aWNrJ3MgQWxnb3JpdGhtcyKqdGV4dC9wbGFpbpKuOnNlZGdld2lja21hemWqdGV4dC9wbGFpbpKSryJIZWF3b29kIGdyYXBoIqp0ZXh0L3BsYWlukqg6aGVhd29vZKp0ZXh0L3BsYWlukpK8IlBsYXRvbmljIGljb3NhaGVkcmFsIGdyYXBoIqp0ZXh0L3BsYWlukqw6aWNvc2FoZWRyYWyqdGV4dC9wbGFpbpKSvCJQbGF0b25pYyB0ZXRyYWhlZHJhbCBncmFwaCKqdGV4dC9wbGFpbpKsOnRldHJhaGVkcmFsqnRleHQvcGxhaW6kdHlwZaREaWN0rHByZWZpeF9zaG9ydKREaWN0qG9iamVjdGlkr2UwZTQ5ZmY4OGEzODNmMLBwZXJzaXN0X2pzX3N0YXRlwqRtaW1l2SFhcHBsaWNhdGlvbi92bmQucGx1dG8udHJlZStvYmplY3SybGFzdF9ydW5fdGltZXN0YW1wy0HYRwXuKUeurHJvb3Rhc3NpZ25lZaxzbWFsbF9ncmFwaHOnY2VsbF9pZNkkYWEwYTVkYjUtMWM3MS00NzU2LThjN2YtODIxYjg1YTA2YmE3uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXNHtynZXJyb3JlZMLZJDU5Y2VmMzlhLTM1NzctNDcyNi1hZWZmLTk2MGFkNWI1ODBjNYimcXVldWVkwrFwdWJsaXNoZWRfb2JqZWN0c4CncnVubmluZ8Kmb3V0cHV0haRib2R52Sd0cHJpbnQgKGdlbmVyaWMgZnVuY3Rpb24gd2l0aCAxIG1ldGhvZCmwcGVyc2lzdF9qc19zdGF0ZcKkbWltZap0ZXh0L3BsYWlusmxhc3RfcnVuX3RpbWVzdGFtcMtB2EcF7cj1w6xyb290YXNzaWduZWXAp2NlbGxfaWTZJDU5Y2VmMzlhLTM1NzctNDcyNi1hZWZmLTk2MGFkNWI1ODBjNblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzZIYp2Vycm9yZWTC2SQ4MjRjN2UyNi01YmY4LTQyNzItYTRmMC1lMzY2MjcxYzgyMjGIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedkkezQsIDV9IHVuZGlyZWN0ZWQgc2ltcGxlIEludDY0IGdyYXBosHBlcnNpc3RfanNfc3RhdGXDpG1pbWWqdGV4dC9wbGFpbrJsYXN0X3J1bl90aW1lc3RhbXDLQdhHBfx4AACscm9vdGFzc2lnbmVlonNnp2NlbGxfaWTZJDgyNGM3ZTI2LTViZjgtNDI3Mi1hNGYwLWUzNjYyNzFjODIyMblkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzXfsp2Vycm9yZWTC2SRjYzIwM2ZiNC00NzU1LTQ1Y2MtOGI5Yi1kMDYwNDg2MjNlYzmIpnF1ZXVlZMKxcHVibGlzaGVkX29iamVjdHOAp3J1bm5pbmfCpm91dHB1dIWkYm9kedoJ6DxkaXYgY2xhc3M9Im1hcmtkb3duIj48aDM+SW50ZXJhY3RpdmUgRGVtbzwvaDM+CjxwPjxzdHJvbmc+R3JhcGggQXBwZWFyYW5jZTo8L3N0cm9uZz4gPGJvbmQgZGVmPSJzdHlsZSI+PHNlbGVjdD48b3B0aW9uIHZhbHVlPSJTaW1wbGUgR3JlZW4gJiM0MDtVbmRpcmVjdGVkJiM0MTsiPlNpbXBsZSBHcmVlbiAoVW5kaXJlY3RlZCk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJTaW1wbGUgR3JheSAmIzQwO0RpcmVjdGVkJiM0MTsiPlNpbXBsZSBHcmF5IChEaXJlY3RlZCk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJHcmVlbiBhbmQgWWVsbG93Ij5HcmVlbiBhbmQgWWVsbG93PC9vcHRpb24+PC9zZWxlY3Q+PC9ib25kPjwvcD4KPHA+PHN0cm9uZz5MYXlvdXQgTWV0aG9kOjwvc3Ryb25nPiA8Ym9uZCBkZWY9ImxheW91dCI+PHNlbGVjdD48b3B0aW9uIHZhbHVlPSJjb3NlIj5jb3NlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmFuZG9tIj5yYW5kb208L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjaXJjbGUiPmNpcmNsZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvbmNlbnRyaWMiPmNvbmNlbnRyaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJicmVhZHRoZmlyc3QiPmJyZWFkdGhmaXJzdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImdyaWQiPmdyaWQ8L29wdGlvbj48L3NlbGVjdD48L2JvbmQ+IDxzdHJvbmc+QW5pbWF0ZTo8L3N0cm9uZz4gPGJvbmQgZGVmPSJhbmltYXRlIj48aW5wdXQgdHlwZT0iY2hlY2tib3giPjwvYm9uZD48L3A+CjxwPjxzdHJvbmc+U2FtcGxlIEdyYXBoOjwvc3Ryb25nPiA8Ym9uZCBkZWY9InNnX25hbWUiPjxzZWxlY3Q+PG9wdGlvbiB2YWx1ZT0iZGlhbW9uZCBncmFwaCI+ZGlhbW9uZCBncmFwaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InNrZWxldG9uIG9mIHRoZSB0cnVuY2F0ZWQgdGV0cmFoZWRyb24gZ3JhcGgiPnNrZWxldG9uIG9mIHRoZSB0cnVuY2F0ZWQgdGV0cmFoZWRyb24gZ3JhcGg8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJncmFwaCBtaW1pY2luZyB0aGUgY2xhc3NpYyBvdXRsaW5lIG9mIGEgaG91c2UiPmdyYXBoIG1pbWljaW5nIHRoZSBjbGFzc2ljIG91dGxpbmUgb2YgYSBob3VzZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkNodsOhdGFsIGdyYXBoIj5DaHbDoXRhbCBncmFwaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImhvdXNlIGdyYXBoLCB3aXRoIHR3byBlZGdlcyBjcm9zc2luZyB0aGUgYm90dG9tIHNxdWFyZSI+aG91c2UgZ3JhcGgsIHdpdGggdHdvIGVkZ2VzIGNyb3NzaW5nIHRoZSBib3R0b20gc3F1YXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iUGxhdG9uaWMgb2N0YWhlZHJhbCBncmFwaCI+UGxhdG9uaWMgb2N0YWhlZHJhbCBncmFwaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InNrZWxldG9uIG9mIHRoZSB0cnVuY2F0ZWQgY3ViZSBncmFwaCI+c2tlbGV0b24gb2YgdGhlIHRydW5jYXRlZCBjdWJlIGdyYXBoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYnVsbCBncmFwaCI+YnVsbCBncmFwaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IlR1dHRlIGdyYXBoIj5UdXR0ZSBncmFwaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkZydWNodCBncmFwaCI+RnJ1Y2h0IGdyYXBoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iRGVzYXJndWVzZ3JhcGgiPkRlc2FyZ3Vlc2dyYXBoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iUGFwcHVzIGdyYXBoIj5QYXBwdXMgZ3JhcGg8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJQbGF0b25pYyBkb2RlY2FoZWRyYWwgZ3JhcGgiPlBsYXRvbmljIGRvZGVjYWhlZHJhbCBncmFwaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IlBsYXRvbmljIGN1YmljYWwgZ3JhcGgiPlBsYXRvbmljIGN1YmljYWwgZ3JhcGg8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJza2VsZXRvbiBvZiB0aGUgdHJ1bmNhdGVkIHRldHJhaGVkcm9uIGRpZ3JhcGgiPnNrZWxldG9uIG9mIHRoZSB0cnVuY2F0ZWQgdGV0cmFoZWRyb24gZGlncmFwaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Ik3DtmJpdXMtS2FudG9yIGdyYXBoIj5Nw7ZiaXVzLUthbnRvciBncmFwaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IktyYWNraGFyZHQtS2l0ZSBzb2NpYWwgbmV0d29yayBncmFwaCI+S3JhY2toYXJkdC1LaXRlIHNvY2lhbCBuZXR3b3JrIGdyYXBoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iUGV0ZXJzZW4gZ3JhcGgiPlBldGVyc2VuIGdyYXBoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iTWF6ZSBncmFwaCB1c2VkIGluIFNlZGdld2ljayYjMzk7cyBBbGdvcml0aG1zIj5NYXplIGdyYXBoIHVzZWQgaW4gU2VkZ2V3aWNrJ3MgQWxnb3JpdGhtczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkhlYXdvb2QgZ3JhcGgiPkhlYXdvb2QgZ3JhcGg8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJQbGF0b25pYyBpY29zYWhlZHJhbCBncmFwaCI+UGxhdG9uaWMgaWNvc2FoZWRyYWwgZ3JhcGg8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJQbGF0b25pYyB0ZXRyYWhlZHJhbCBncmFwaCI+UGxhdG9uaWMgdGV0cmFoZWRyYWwgZ3JhcGg8L29wdGlvbj48L3NlbGVjdD48L2JvbmQ+PC9wPgo8L2Rpdj6wcGVyc2lzdF9qc19zdGF0ZcKkbWltZal0ZXh0L2h0bWyybGFzdF9ydW5fdGltZXN0YW1wy0HYRwXuVqfwrHJvb3Rhc3NpZ25lZcCnY2VsbF9pZNkkY2MyMDNmYjQtNDc1NS00NWNjLThiOWItZDA2MDQ4NjIzZWM5uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOCQZdhKdlcnJvcmVkwrFjZWxsX2RlcGVuZGVuY2llc94AE9kkMWI2ODU1MzgtODI4YS00YzU4LWJmYmYtODQ1ZTRiZDdjMjZlhLRwcmVjZWRlbmNlX2hldXJpc3RpYwinY2VsbF9pZNkkMWI2ODU1MzgtODI4YS00YzU4LWJmYmYtODQ1ZTRiZDdjMjZltGRvd25zdHJlYW1fY2VsbHNfbWFwgalncmFwaGRhdGGR2SQ3ODQwNTY4My1mZWVlLTRmZjEtYWM5My02NzVjOTJkMDFhMTKydXBzdHJlYW1fY2VsbHNfbWFwhKh2ZXJ0aWNlc5ChKpClZWRnZXOQrUFic3RyYWN0R3JhcGiQ2SQ5NGFkYTFmNC05NDg0LTRmNWQtOTBiMi1hOTkxNjVkZDlmOGOEtHByZWNlZGVuY2VfaGV1cmlzdGljCKdjZWxsX2lk2SQ5NGFkYTFmNC05NDg0LTRmNWQtOTBiMi1hOTkxNjVkZDlmOGO0ZG93bnN0cmVhbV9jZWxsc19tYXCBq3N0eWxlX2dyZWVukdkkNDAxMTQ4YjMtYjNlZi00NmY5LTk4NjktZjNkYThkNTRmNmVhsnVwc3RyZWFtX2NlbGxzX21hcIDZJDJlYjlmODFiLTc5MmMtNGU0NS1hNGU1LWIzMzY0YWEzYjM5MYS0cHJlY2VkZW5jZV9oZXVyaXN0aWMIp2NlbGxfaWTZJDJlYjlmODFiLTc5MmMtNGU0NS1hNGU1LWIzMzY0YWEzYjM5MbRkb3duc3RyZWFtX2NlbGxzX21hcIGmbWluaWZ5kdkkNzg0MDU2ODMtZmVlZS00ZmYxLWFjOTMtNjc1YzkyZDAxYTEysnVwc3RyZWFtX2NlbGxzX21hcISncmVwbGFjZZCmQHJfc3RykKZTdHJpbmeQoj0+kNkkN2ZiNjljZjAtZmM2Ni0xMWViLTI1NmYtY2I2ZTlkMmRiMTU2hLRwcmVjZWRlbmNlX2hldXJpc3RpYwanY2VsbF9pZNkkN2ZiNjljZjAtZmM2Ni0xMWViLTI1NmYtY2I2ZTlkMmRiMTU2tGRvd25zdHJlYW1fY2VsbHNfbWFwg6tMaWdodEdyYXBoc5CnUGx1dG9VSZCwSHlwZXJ0ZXh0TGl0ZXJhbJCydXBzdHJlYW1fY2VsbHNfbWFwgNkkZDhhMTFmYWItZDg3ZS00MzRmLTk4MzMtMjE5MmNhMGIzMDJmhLRwcmVjZWRlbmNlX2hldXJpc3RpYwinY2VsbF9pZNkkZDhhMTFmYWItZDg3ZS00MzRmLTk4MzMtMjE5MmNhMGIzMDJmtGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkYTYyNmQzYzEtYmE0MS00YjkxLWEyYTItNmZmNjljZDEzYmNlhLRwcmVjZWRlbmNlX2hldXJpc3RpYwinY2VsbF9pZNkkYTYyNmQzYzEtYmE0MS00YjkxLWEyYTItNmZmNjljZDEzYmNltGRvd25zdHJlYW1fY2VsbHNfbWFwgalCVE5fU1RZTEWQsnVwc3RyZWFtX2NlbGxzX21hcIDZJDIwYWQ3NzBiLTM0YTEtNDllNy1iOTQ4LWUxMmY0NmJkZTVlZYS0cHJlY2VkZW5jZV9oZXVyaXN0aWMGp2NlbGxfaWTZJDIwYWQ3NzBiLTM0YTEtNDllNy1iOTQ4LWUxMmY0NmJkZTVlZbRkb3duc3RyZWFtX2NlbGxzX21hcIGqSmF2YVNjcmlwdJHZJDc4NDA1NjgzLWZlZWUtNGZmMS1hYzkzLTY3NWM5MmQwMWExMrJ1cHN0cmVhbV9jZWxsc19tYXCA2SQ1NDZiYWYzOS0wOWUwLTQ2YTEtOGRmMy1iMzliYTA0YWExMWaEtHByZWNlZGVuY2VfaGV1cmlzdGljCKdjZWxsX2lk2SQ1NDZiYWYzOS0wOWUwLTQ2YTEtOGRmMy1iMzliYTA0YWExMWa0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIaqc3R5bGVfZGljdJHZJDQwMTE0OGIzLWIzZWYtNDZmOS05ODY5LWYzZGE4ZDU0ZjZlYaJzZ5HZJDgyNGM3ZTI2LTViZjgtNDI3Mi1hNGYwLWUzNjYyNzFjODIyMadhbmltYXRlkdkkY2MyMDNmYjQtNDc1NS00NWNjLThiOWItZDA2MDQ4NjIzZWM5qGdyYXBodml6kdkkNzg0MDU2ODMtZmVlZS00ZmYxLWFjOTMtNjc1YzkyZDAxYTEypXN0eWxlkdkkY2MyMDNmYjQtNDc1NS00NWNjLThiOWItZDA2MDQ4NjIzZWM5pmxheW91dJHZJGNjMjAzZmI0LTQ3NTUtNDVjYy04YjliLWQwNjA0ODYyM2VjOdkkNzc0MWU3YTYtOTMxYi00ZjQ3LTkxYmItMmFjNjFlMGUxMzQyhLRwcmVjZWRlbmNlX2hldXJpc3RpYwinY2VsbF9pZNkkNzc0MWU3YTYtOTMxYi00ZjQ3LTkxYmItMmFjNjFlMGUxMzQytGRvd25zdHJlYW1fY2VsbHNfbWFwgaZzdHlsZTGS2SQ3ODQwNTY4My1mZWVlLTRmZjEtYWM5My02NzVjOTJkMDFhMTLZJDQwMTE0OGIzLWIzZWYtNDZmOS05ODY5LWYzZGE4ZDU0ZjZlYbJ1cHN0cmVhbV9jZWxsc19tYXCA2SRjOGJhMjdiMS00ZDJiLTRhZmMtODlhOS04MDZiZTkxNTM0ZGOEtHByZWNlZGVuY2VfaGV1cmlzdGljCKdjZWxsX2lk2SRjOGJhMjdiMS00ZDJiLTRhZmMtODlhOS04MDZiZTkxNTM0ZGO0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIGvVGFibGVPZkNvbnRlbnRzkNkkNDAxMTQ4YjMtYjNlZi00NmY5LTk4NjktZjNkYThkNTRmNmVhhLRwcmVjZWRlbmNlX2hldXJpc3RpYwinY2VsbF9pZNkkNDAxMTQ4YjMtYjNlZi00NmY5LTk4NjktZjNkYThkNTRmNmVhtGRvd25zdHJlYW1fY2VsbHNfbWFwgapzdHlsZV9kaWN0ktkkY2MyMDNmYjQtNDc1NS00NWNjLThiOWItZDA2MDQ4NjIzZWM52SQ1NDZiYWYzOS0wOWUwLTQ2YTEtOGRmMy1iMzliYTA0YWExMWaydXBzdHJlYW1fY2VsbHNfbWFwhaREaWN0kKZzdHlsZTGR2SQ3NzQxZTdhNi05MzFiLTRmNDctOTFiYi0yYWM2MWUwZTEzNDKrc3R5bGVfZ3JlZW6R2SQ5NGFkYTFmNC05NDg0LTRmNWQtOTBiMi1hOTkxNjVkZDlmOGOiPT6QpnN0eWxlMpHZJDJhMTE5OTA5LWM0NWMtNDE1NC1iODVkLWVmNTViYThmYmU4YdkkZWYwNzc3NTktODhhZC00NjU1LWIwNGYtODNjODAyNzBkMzIwhLRwcmVjZWRlbmNlX2hldXJpc3RpYwinY2VsbF9pZNkkZWYwNzc3NTktODhhZC00NjU1LWIwNGYtODNjODAyNzBkMzIwtGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkNmM4NzE1NzMtZTViMC00OWM0LThiMzgtNDgwMDkyMjQ4M2RjhLRwcmVjZWRlbmNlX2hldXJpc3RpYwinY2VsbF9pZNkkNmM4NzE1NzMtZTViMC00OWM0LThiMzgtNDgwMDkyMjQ4M2RjtGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXCCp0BtZF9zdHKQqGdldGluZGV4kNkkNzg0MDU2ODMtZmVlZS00ZmYxLWFjOTMtNjc1YzkyZDAxYTEyhLRwcmVjZWRlbmNlX2hldXJpc3RpYwinY2VsbF9pZNkkNzg0MDU2ODMtZmVlZS00ZmYxLWFjOTMtNjc1YzkyZDAxYTEytGRvd25zdHJlYW1fY2VsbHNfbWFwgahncmFwaHZpepHZJDU0NmJhZjM5LTA5ZTAtNDZhMS04ZGYzLWIzOWJhMDRhYTExZrJ1cHN0cmVhbV9jZWxsc19tYXCHonNnkdkkODI0YzdlMjYtNWJmOC00MjcyLWE0ZjAtZTM2NjI3MWM4MjIxqEBodGxfc3RykKZtaW5pZnmR2SQyZWI5ZjgxYi03OTJjLTRlNDUtYTRlNS1iMzM2NGFhM2IzOTGqSmF2YVNjcmlwdJHZJDIwYWQ3NzBiLTM0YTEtNDllNy1iOTQ4LWUxMmY0NmJkZTVlZaZzdHlsZTGR2SQ3NzQxZTdhNi05MzFiLTRmNDctOTFiYi0yYWM2MWUwZTEzNDKpZ3JhcGhkYXRhkdkkMWI2ODU1MzgtODI4YS00YzU4LWJmYmYtODQ1ZTRiZDdjMjZlrUFic3RyYWN0R3JhcGiQ2SQyYTExOTkwOS1jNDVjLTQxNTQtYjg1ZC1lZjU1YmE4ZmJlOGGEtHByZWNlZGVuY2VfaGV1cmlzdGljCKdjZWxsX2lk2SQyYTExOTkwOS1jNDVjLTQxNTQtYjg1ZC1lZjU1YmE4ZmJlOGG0ZG93bnN0cmVhbV9jZWxsc19tYXCBpnN0eWxlMpHZJDQwMTE0OGIzLWIzZWYtNDZmOS05ODY5LWYzZGE4ZDU0ZjZlYbJ1cHN0cmVhbV9jZWxsc19tYXCA2SRhYTBhNWRiNS0xYzcxLTQ3NTYtOGM3Zi04MjFiODVhMDZiYTeEtHByZWNlZGVuY2VfaGV1cmlzdGljCKdjZWxsX2lk2SRhYTBhNWRiNS0xYzcxLTQ3NTYtOGM3Zi04MjFiODVhMDZiYTe0ZG93bnN0cmVhbV9jZWxsc19tYXCBrHNtYWxsX2dyYXBoc5LZJDgyNGM3ZTI2LTViZjgtNDI3Mi1hNGYwLWUzNjYyNzFjODIyMdkkY2MyMDNmYjQtNDc1NS00NWNjLThiOWItZDA2MDQ4NjIzZWM5snVwc3RyZWFtX2NlbGxzX21hcIKkRGljdJCiPT6Q2SQ1OWNlZjM5YS0zNTc3LTQ3MjYtYWVmZi05NjBhZDViNTgwYzWEtHByZWNlZGVuY2VfaGV1cmlzdGljCKdjZWxsX2lk2SQ1OWNlZjM5YS0zNTc3LTQ3MjYtYWVmZi05NjBhZDViNTgwYzW0ZG93bnN0cmVhbV9jZWxsc19tYXCBpnRwcmludJCydXBzdHJlYW1fY2VsbHNfbWFwgq13aXRoX3Rlcm1pbmFskKdwcmludGxukNkkODI0YzdlMjYtNWJmOC00MjcyLWE0ZjAtZTM2NjI3MWM4MjIxhLRwcmVjZWRlbmNlX2hldXJpc3RpYwinY2VsbF9pZNkkODI0YzdlMjYtNWJmOC00MjcyLWE0ZjAtZTM2NjI3MWM4MjIxtGRvd25zdHJlYW1fY2VsbHNfbWFwgaJzZ5LZJDc4NDA1NjgzLWZlZWUtNGZmMS1hYzkzLTY3NWM5MmQwMWExMtkkNTQ2YmFmMzktMDllMC00NmExLThkZjMtYjM5YmEwNGFhMTFmsnVwc3RyZWFtX2NlbGxzX21hcIOqc21hbGxncmFwaJCnc2dfbmFtZZHZJGNjMjAzZmI0LTQ3NTUtNDVjYy04YjliLWQwNjA0ODYyM2VjOaxzbWFsbF9ncmFwaHOR2SRhYTBhNWRiNS0xYzcxLTQ3NTYtOGM3Zi04MjFiODVhMDZiYTfZJGNjMjAzZmI0LTQ3NTUtNDVjYy04YjliLWQwNjA0ODYyM2VjOYS0cHJlY2VkZW5jZV9oZXVyaXN0aWMIp2NlbGxfaWTZJGNjMjAzZmI0LTQ3NTUtNDVjYy04YjliLWQwNjA0ODYyM2VjObRkb3duc3RyZWFtX2NlbGxzX21hcISnYW5pbWF0ZZHZJDU0NmJhZjM5LTA5ZTAtNDZhMS04ZGYzLWIzOWJhMDRhYTExZqVzdHlsZZHZJDU0NmJhZjM5LTA5ZTAtNDZhMS04ZGYzLWIzOWJhMDRhYTExZqZsYXlvdXSR2SQ1NDZiYWYzOS0wOWUwLTQ2YTEtOGRmMy1iMzliYTA0YWExMWanc2dfbmFtZZHZJDgyNGM3ZTI2LTViZjgtNDI3Mi1hNGYwLWUzNjYyNzFjODIyMbJ1cHN0cmVhbV9jZWxsc19tYXCPp0BtZF9zdHKQpENvcmWQpGtleXOQp2NvbGxlY3SQqEJhc2UuZ2V0kKVAYmluZJCqc3R5bGVfZGljdJHZJDQwMTE0OGIzLWIzZWYtNDZmOS05ODY5LWYzZGE4ZDU0ZjZlYaRCYXNlkKtQbHV0b1J1bm5lcpCoQ2hlY2tCb3iQsFBsdXRvUnVubmVyLkJvbmSQr0NvcmUuYXBwbGljYWJsZZCmU2VsZWN0kKxzbWFsbF9ncmFwaHOR2SRhYTBhNWRiNS0xYzcxLTQ3NTYtOGM3Zi04MjFiODVhMDZiYTeoZ2V0aW5kZXiQtGNlbGxfZXhlY3V0aW9uX29yZGVy3AAT2SQ3ZmI2OWNmMC1mYzY2LTExZWItMjU2Zi1jYjZlOWQyZGIxNTbZJDIwYWQ3NzBiLTM0YTEtNDllNy1iOTQ4LWUxMmY0NmJkZTVlZdkkNTljZWYzOWEtMzU3Ny00NzI2LWFlZmYtOTYwYWQ1YjU4MGM12SRjOGJhMjdiMS00ZDJiLTRhZmMtODlhOS04MDZiZTkxNTM0ZGPZJGVmMDc3NzU5LTg4YWQtNDY1NS1iMDRmLTgzYzgwMjcwZDMyMNkkYTYyNmQzYzEtYmE0MS00YjkxLWEyYTItNmZmNjljZDEzYmNl2SQxYjY4NTUzOC04MjhhLTRjNTgtYmZiZi04NDVlNGJkN2MyNmXZJDJlYjlmODFiLTc5MmMtNGU0NS1hNGU1LWIzMzY0YWEzYjM5MdkkNmM4NzE1NzMtZTViMC00OWM0LThiMzgtNDgwMDkyMjQ4M2Rj2SRhYTBhNWRiNS0xYzcxLTQ3NTYtOGM3Zi04MjFiODVhMDZiYTfZJGQ4YTExZmFiLWQ4N2UtNDM0Zi05ODMzLTIxOTJjYTBiMzAyZtkkNzc0MWU3YTYtOTMxYi00ZjQ3LTkxYmItMmFjNjFlMGUxMzQy2SQyYTExOTkwOS1jNDVjLTQxNTQtYjg1ZC1lZjU1YmE4ZmJlOGHZJDk0YWRhMWY0LTk0ODQtNGY1ZC05MGIyLWE5OTE2NWRkOWY4Y9kkNDAxMTQ4YjMtYjNlZi00NmY5LTk4NjktZjNkYThkNTRmNmVh2SRjYzIwM2ZiNC00NzU1LTQ1Y2MtOGI5Yi1kMDYwNDg2MjNlYznZJDgyNGM3ZTI2LTViZjgtNDI3Mi1hNGYwLWUzNjYyNzFjODIyMdkkNzg0MDU2ODMtZmVlZS00ZmYxLWFjOTMtNjc1YzkyZDAxYTEy2SQ1NDZiYWYzOS0wOWUwLTQ2YTEtOGRmMy1iMzliYTA0YWExMWapc2hvcnRwYXRosFBsdXRvR3JhcGhWaXouamyucHJvY2Vzc19zdGF0dXOlcmVhZHmkcGF0aNlHQzpcVXNlcnNcYnJhZGVcRG9jdW1lbnRzXEp1bGlhIFNjcmlwdHNcUGx1dG8gTm90ZWJvb2tzXFBsdXRvR3JhcGhWaXouamyqY2VsbF9vcmRlctwAE9kkN2ZiNjljZjAtZmM2Ni0xMWViLTI1NmYtY2I2ZTlkMmRiMTU22SQyMGFkNzcwYi0zNGExLTQ5ZTctYjk0OC1lMTJmNDZiZGU1ZWXZJDU5Y2VmMzlhLTM1NzctNDcyNi1hZWZmLTk2MGFkNWI1ODBjNdkkYzhiYTI3YjEtNGQyYi00YWZjLTg5YTktODA2YmU5MTUzNGRj2SRlZjA3Nzc1OS04OGFkLTQ2NTUtYjA0Zi04M2M4MDI3MGQzMjDZJGE2MjZkM2MxLWJhNDEtNGI5MS1hMmEyLTZmZjY5Y2QxM2JjZdkkMWI2ODU1MzgtODI4YS00YzU4LWJmYmYtODQ1ZTRiZDdjMjZl2SQyZWI5ZjgxYi03OTJjLTRlNDUtYTRlNS1iMzM2NGFhM2IzOTHZJDc4NDA1NjgzLWZlZWUtNGZmMS1hYzkzLTY3NWM5MmQwMWExMtkkNmM4NzE1NzMtZTViMC00OWM0LThiMzgtNDgwMDkyMjQ4M2Rj2SRhYTBhNWRiNS0xYzcxLTQ3NTYtOGM3Zi04MjFiODVhMDZiYTfZJDgyNGM3ZTI2LTViZjgtNDI3Mi1hNGYwLWUzNjYyNzFjODIyMdkkY2MyMDNmYjQtNDc1NS00NWNjLThiOWItZDA2MDQ4NjIzZWM52SQ1NDZiYWYzOS0wOWUwLTQ2YTEtOGRmMy1iMzliYTA0YWExMWbZJGQ4YTExZmFiLWQ4N2UtNDM0Zi05ODMzLTIxOTJjYTBiMzAyZtkkNDAxMTQ4YjMtYjNlZi00NmY5LTk4NjktZjNkYThkNTRmNmVh2SQ3NzQxZTdhNi05MzFiLTRmNDctOTFiYi0yYWM2MWUwZTEzNDLZJDJhMTE5OTA5LWM0NWMtNDE1NC1iODVkLWVmNTViYThmYmU4YdkkOTRhZGExZjQtOTQ4NC00ZjVkLTkwYjItYTk5MTY1ZGQ5ZjhjpW5icGtnh7JpbnN0YWxsZWRfdmVyc2lvbnODq0xpZ2h0R3JhcGhzpTEuMy41p1BsdXRvVUmlMC43LjmwSHlwZXJ0ZXh0TGl0ZXJhbKUwLjkuMLB0ZXJtaW5hbF9vdXRwdXRzg6tMaWdodEdyYXBoc9m9G1szMm0bWzFtICBObyBDaGFuZ2VzG1syMm0bWzM5bSB0byBgQzpcVXNlcnNcYnJhZGVcQXBwRGF0YVxMb2NhbFxUZW1wXGpsX3Qwb000eFxQcm9qZWN0LnRvbWxgChtbMzJtG1sxbSAgTm8gQ2hhbmdlcxtbMjJtG1szOW0gdG8gYEM6XFVzZXJzXGJyYWRlXEFwcERhdGFcTG9jYWxcVGVtcFxqbF90MG9NNHhcTWFuaWZlc3QudG9tbGAKp1BsdXRvVUnZvRtbMzJtG1sxbSAgTm8gQ2hhbmdlcxtbMjJtG1szOW0gdG8gYEM6XFVzZXJzXGJyYWRlXEFwcERhdGFcTG9jYWxcVGVtcFxqbF90MG9NNHhcUHJvamVjdC50b21sYAobWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGBDOlxVc2Vyc1xicmFkZVxBcHBEYXRhXExvY2FsXFRlbXBcamxfdDBvTTR4XE1hbmlmZXN0LnRvbWxgCrBIeXBlcnRleHRMaXRlcmFs2b0bWzMybRtbMW0gIE5vIENoYW5nZXMbWzIybRtbMzltIHRvIGBDOlxVc2Vyc1xicmFkZVxBcHBEYXRhXExvY2FsXFRlbXBcamxfdDBvTTR4XFByb2plY3QudG9tbGAKG1szMm0bWzFtICBObyBDaGFuZ2VzG1syMm0bWzM5bSB0byBgQzpcVXNlcnNcYnJhZGVcQXBwRGF0YVxMb2NhbFxUZW1wXGpsX3Qwb000eFxNYW5pZmVzdC50b21sYAqnZW5hYmxlZMO3cmVzdGFydF9yZWNvbW1lbmRlZF9tc2fAtHJlc3RhcnRfcmVxdWlyZWRfbXNnwK1idXN5X3BhY2thZ2VzkKxpbnN0YW50aWF0ZWTDq2NlbGxfaW5wdXRz3gAT2SQxYjY4NTUzOC04MjhhLTRjNTgtYmZiZi04NDVlNGJkN2MyNmWEp2NlbGxfaWTZJDFiNjg1NTM4LTgyOGEtNGM1OC1iZmJmLTg0NWU0YmQ3YzI2ZbBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2gFGZnVuY3Rpb24gZ3JhcGhkYXRhKGc6OkFic3RyYWN0R3JhcGgpCgl2cyA9ICIiCglmb3IgdiBpbiB2ZXJ0aWNlcyhnKQoJCXZzICo9ICJcdFx0eyBkYXRhOiB7aWQ6ICckdicsIGxhYmVsOiAnJHYnfSB9LFxuIgoJZW5kCgkKCWVzID0gIiIKCWZvciBlIGluIGVkZ2VzKGcpCgkJZXMgKj0gIlx0XHR7IGRhdGE6IHtpZDogJyQoZS5zcmMpLS0+JChlLmRzdCknLCBzb3VyY2U6ICckKGUuc3JjKScsIHRhcmdldDogJyQoZS5kc3QpJyB9IH0sXG4iCgllbmQKCQoJb3V0cHV0ID0gIiIiCgl7CgkJbm9kZXM6IFsKCSR2cwoJCV0sCgkJZWRnZXM6IFsKCSRlcwoJCV0KCX0KCSIiIgplbmSrY29kZV9mb2xkZWTD2SQ5NGFkYTFmNC05NDg0LTRmNWQtOTBiMi1hOTkxNjVkZDlmOGOEp2NlbGxfaWTZJDk0YWRhMWY0LTk0ODQtNGY1ZC05MGIyLWE5OTE2NWRkOWY4Y7BydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2alzdHlsZV9ncmVlbiA9ICIiIgpub2RlIHsKCWNvbnRlbnQ6IGRhdGEoaWQpOwoJdGV4dC12YWxpZ246IGNlbnRlcjsKCXRleHQtaGFsaWduOiBjZW50ZXI7CgliYWNrZ3JvdW5kLWNvbG9yOiAjMTI2ODE0Owp9CgplZGdlIHsKCWxpbmUtY29sb3I6ICMxMjY4MTQ7CglvcGFjaXR5OiAwLjU7Cn0KIiIiq2NvZGVfZm9sZGVkw9kkMmViOWY4MWItNzkyYy00ZTQ1LWE0ZTUtYjMzNjRhYTNiMzkxhKdjZWxsX2lk2SQyZWI5ZjgxYi03OTJjLTRlNDUtYTRlNS1iMzM2NGFhM2IzOTGwcnVubmluZ19kaXNhYmxlZMKkY29kZdm9ZnVuY3Rpb24gbWluaWZ5KGlucHV0OjpTdHJpbmcpCglpbnB1dCA9IHJlcGxhY2UoaW5wdXQsICJcbiI9PiIiKQoJaW5wdXQgPSByZXBsYWNlKGlucHV0LCAiXHQiPT4iICIpCglpbnB1dCA9IHJlcGxhY2UoaW5wdXQsIHIiXHN7Mix9Ij0+IiIpCglpbnB1dCA9IHJlcGxhY2UoaW5wdXQsICciJz0+IiIpCglyZXR1cm4gaW5wdXQKZW5kq2NvZGVfZm9sZGVkw9kkN2ZiNjljZjAtZmM2Ni0xMWViLTI1NmYtY2I2ZTlkMmRiMTU2hKdjZWxsX2lk2SQ3ZmI2OWNmMC1mYzY2LTExZWItMjU2Zi1jYjZlOWQyZGIxNTawcnVubmluZ19kaXNhYmxlZMKkY29kZdksdXNpbmcgUGx1dG9VSSwgSHlwZXJ0ZXh0TGl0ZXJhbCwgTGlnaHRHcmFwaHOrY29kZV9mb2xkZWTC2SRkOGExMWZhYi1kODdlLTQzNGYtOTgzMy0yMTkyY2EwYjMwMmaEp2NlbGxfaWTZJGQ4YTExZmFiLWQ4N2UtNDM0Zi05ODMzLTIxOTJjYTBiMzAyZrBydW5uaW5nX2Rpc2FibGVkwqRjb2RluW1kIiIiCiMjIEdyYXBoIFN0eWxlcwoiIiKrY29kZV9mb2xkZWTD2SRhNjI2ZDNjMS1iYTQxLTRiOTEtYTJhMi02ZmY2OWNkMTNiY2WEp2NlbGxfaWTZJGE2MjZkM2MxLWJhNDEtNGI5MS1hMmEyLTZmZjY5Y2QxM2JjZbBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2gLcY29uc3QgQlROX1NUWUxFID0gIiIiCi5idG4tZ3JvdXAsIC5idG4tZ3JvdXAtdmVydGljYWwgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKLmJ0bi1ncm91cCBidXR0b24gewoJYmFja2dyb3VuZC1jb2xvcjogIzA0QUE2RDsKCWJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwoJY29sb3I6IHdoaXRlOwoJcGFkZGluZzogMTBweCAxMHB4OwoJY3Vyc29yOiBwb2ludGVyOwoJZmxvYXQ6IGxlZnQ7Cglib3JkZXItcmFkaXVzOiAxMHB4Owp9CgouYnRuLWdyb3VwIGJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHsKCWJvcmRlci1yaWdodDogbm9uZTsKfQoKLmJ0bi1ncm91cCBidXR0b246aG92ZXIgewoJYmFja2dyb3VuZC1jb2xvcjogIzNlOGU0MTsKfQoKLmJ0bi1ncm91cCA+IGJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHsKCWJvcmRlci1yYWRpdXM6IDA7Cn0KCgkuYnRuLWdyb3VwID4gYnV0dG9uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCl7Cglib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwoJYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKfQoKLmJ0bi1ncm91cCA+IGJ1dHRvbjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHsKCWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOwoJYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7Cn0KIiIiq2NvZGVfZm9sZGVkw9kkMjBhZDc3MGItMzRhMS00OWU3LWI5NDgtZTEyZjQ2YmRlNWVlhKdjZWxsX2lk2SQyMGFkNzcwYi0zNGExLTQ5ZTctYjk0OC1lMTJmNDZiZGU1ZWWwcnVubmluZ19kaXNhYmxlZMKkY29kZdkidXNpbmcgSHlwZXJ0ZXh0TGl0ZXJhbDogSmF2YVNjcmlwdKtjb2RlX2ZvbGRlZMLZJDU0NmJhZjM5LTA5ZTAtNDZhMS04ZGYzLWIzOWJhMDRhYTExZoSnY2VsbF9pZNkkNTQ2YmFmMzktMDllMC00NmExLThkZjMtYjM5YmEwNGFhMTFmsHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXZR2dyYXBodml6KHNnLCAiZGVtbyIsIHN0eWxlX2RpY3Rbc3R5bGVdLCBsYXlvdXQ9bGF5b3V0LCBhbmltYXRlPWFuaW1hdGUpq2NvZGVfZm9sZGVkwtkkNzc0MWU3YTYtOTMxYi00ZjQ3LTkxYmItMmFjNjFlMGUxMzQyhKdjZWxsX2lk2SQ3NzQxZTdhNi05MzFiLTRmNDctOTFiYi0yYWM2MWUwZTEzNDKwcnVubmluZ19kaXNhYmxlZMKkY29kZdm3c3R5bGUxID0gIiIiCm5vZGUgewoJY29udGVudDogZGF0YShpZCk7Cgl0ZXh0LXZhbGlnbjogY2VudGVyOwoJdGV4dC1oYWxpZ246IGNlbnRlcjsKCW9wYWNpdHk6IDAuNzU7Cn0KCmVkZ2UgewoJY3VydmUtc3R5bGU6IGJlemllcjsKCXRhcmdldC1hcnJvdy1zaGFwZTogdHJpYW5nbGU7CglvcGFjaXR5OiAwLjU7Cn0KIiIiq2NvZGVfZm9sZGVkw9kkYzhiYTI3YjEtNGQyYi00YWZjLTg5YTktODA2YmU5MTUzNGRjhKdjZWxsX2lk2SRjOGJhMjdiMS00ZDJiLTRhZmMtODlhOS04MDZiZTkxNTM0ZGOwcnVubmluZ19kaXNhYmxlZMKkY29kZbFUYWJsZU9mQ29udGVudHMoKatjb2RlX2ZvbGRlZMLZJDQwMTE0OGIzLWIzZWYtNDZmOS05ODY5LWYzZGE4ZDU0ZjZlYYSnY2VsbF9pZNkkNDAxMTQ4YjMtYjNlZi00NmY5LTk4NjktZjNkYThkNTRmNmVhsHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXZhXN0eWxlX2RpY3QgPSBEaWN0KAoJIlNpbXBsZSBHcmF5IChEaXJlY3RlZCkiID0+IHN0eWxlMSwKCSJHcmVlbiBhbmQgWWVsbG93IiA9PiBzdHlsZTIsCgkiU2ltcGxlIEdyZWVuIChVbmRpcmVjdGVkKSIgPT4gc3R5bGVfZ3JlZW4sCimrY29kZV9mb2xkZWTD2SRlZjA3Nzc1OS04OGFkLTQ2NTUtYjA0Zi04M2M4MDI3MGQzMjCEp2NlbGxfaWTZJGVmMDc3NzU5LTg4YWQtNDY1NS1iMDRmLTgzYzgwMjcwZDMyMLBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2SRtZCIiIgojIyBGdW5jdGlvbnMgYW5kIENvbnN0YW50cwoiIiKrY29kZV9mb2xkZWTD2SQ2Yzg3MTU3My1lNWIwLTQ5YzQtOGIzOC00ODAwOTIyNDgzZGOEp2NlbGxfaWTZJDZjODcxNTczLWU1YjAtNDljNC04YjM4LTQ4MDA5MjI0ODNkY7BydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2SFtZCIiIgojIyBJbnRlcmFjdGl2ZSBHcmFwaFZpegoiIiKrY29kZV9mb2xkZWTD2SQ3ODQwNTY4My1mZWVlLTRmZjEtYWM5My02NzVjOTJkMDFhMTKEp2NlbGxfaWTZJDc4NDA1NjgzLWZlZWUtNGZmMS1hYzkzLTY3NWM5MmQwMWExMrBydW5uaW5nX2Rpc2FibGVkwqRjb2Rl2giFZnVuY3Rpb24gZ3JhcGh2aXooZzo6QWJzdHJhY3RHcmFwaCwgbmFtZT0iY3kiLCBzdHlsZT1zdHlsZTE7IGxheW91dD0iY29zZSIsIGFuaW1hdGU9ZmFsc2UpCglnZCA9IGdyYXBoZGF0YShzZykKCQoJbGF5b3V0X2Jsb2NrID0gIiIiCgl7CgkJbmFtZTogJyRsYXlvdXQnLAoJCXBhZGRpbmc6IDUsCgkJYW5pbWF0ZTogJGFuaW1hdGUKCX0KCSIiIgoJCgkjIFRlc3RpbmcgbG9hZGluZyBzdHlsZXMgZnJvbSBmaWxlCgkjIHN0eWxlX3RleHQgPSByZWFkKGpvaW5wYXRoKHB3ZCgpLCAidG9reW8tcmFpbHdheXMuY3ljc3MiKSwgU3RyaW5nKQoJIyBzdHlsZV90ZXh0ID0gbWluaWZ5KHN0eWxlX3RleHQpCglncmFwaF9zdHlsZSA9IG1pbmlmeShzdHlsZSkKCQoJY3lqcyA9IEphdmFTY3JpcHQoIiIiCgkJdmFyIHBybnQgPSBjdXJyZW50U2NyaXB0LnBhcmVudEVsZW1lbnQ7CgkJdmFyIGZpdF9idXR0b24gPSBwcm50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiNmaXQiKTsKCQl2YXIgY2VudGVyX2J1dHRvbiA9IHBybnQucXVlcnlTZWxlY3RvcigiYnV0dG9uI2NlbnRlciIpOwoJCXZhciBsYXlvdXRfYnV0dG9uID0gcHJudC5xdWVyeVNlbGVjdG9yKCJidXR0b24jbGF5b3V0Iik7CgkJdmFyIGRvd25sb2FkX2J1dHRvbiA9IHBybnQucXVlcnlTZWxlY3RvcigiYnV0dG9uI2Rvd25sb2FkIik7CgkJCgkJdmFyIGdyYXBoX3N0eWxlID0gJyRncmFwaF9zdHlsZSc7CgkJCgoJCXZhciBjeSA9IHdpbmRvdy5jeSA9IGN5dG9zY2FwZSh7CgkJCWNvbnRhaW5lcjogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyRuYW1lJyksCgkJCWJveFNlbGVjdGlvbkVuYWJsZWQ6IGZhbHNlLAoJCQlzdHlsZTogZ3JhcGhfc3R5bGUsCgkJCWVsZW1lbnRzOiAkZ2QsCgkJCWxheW91dDogJGxheW91dF9ibG9jawoJCX0pOwoJCWZpdF9idXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoZSkgPT4ge2N5LmZpdCgpfSk7CgkJY2VudGVyX2J1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIChlKSA9PiB7IGN5LmNlbnRlcigpIH0pOwoJCQoJCXZhciBsYXlvdXQgPSBjeS5sYXlvdXQoJGxheW91dF9ibG9jayk7CgkJbGF5b3V0X2J1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIChlKSA9PiB7IGxheW91dC5ydW4oKSB9KTsKCQkKCQlkb3dubG9hZF9idXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoZSkgPT4geyAKCQkJdmFyIHBuZzY0ID0gY3kucG5nKCkKCQkJdmFyIGFEb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7CgkJCWFEb3dubG9hZExpbmsuaHJlZiA9IHBuZzY0OwoJCQlhRG93bmxvYWRMaW5rLnRhcmdldCA9ICdfYmxhbmsnOwoJCQlhRG93bmxvYWRMaW5rLmNsaWNrKCk7CgkJfSk7CgkiIiIpCgoJb3V0cHV0ID0gaHRsIiIiCgk8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2ZvbnQtYXdlc29tZS81LjE1LjQvY3NzL2FsbC5taW4uY3NzIiBpbnRlZ3JpdHk9InNoYTUxMi0xeWNuNkljYVFRNDAvTUtCVzJXNFJoaXMvRGJJTFU3NEMxdlNyTEp4Q3E1N285NDFZbTAxU3dOc09NcXZFQkZsY2dVYTZ4TGlQWS9OUzVSK0U2enRKUT09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlcnBvbGljeT0ibm8tcmVmZXJyZXIiIC8+Cgk8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9jeXRvc2NhcGVAMy4xOS4wL2Rpc3QvY3l0b3NjYXBlLm1pbi5qcyI+PC9zY3JpcHQ+Cgk8c3R5bGU+JEJUTl9TVFlMRT48L3N0eWxlPgoKCTxkaXY+CgkJPHNjcmlwdD4kY3lqczwvc2NyaXB0PgoJCgkJPGRpdiBjbGFzcz0iYnRuLWdyb3VwIj4KCQkJPGJ1dHRvbiBpZD0iZml0Ij48aSBjbGFzcz0iZmFzIGZhLWhvbWUiPjwvaT48L2J1dHRvbj4KCQkJPGJ1dHRvbiBpZD0iY2VudGVyIj48aSBjbGFzcz0iZmFzIGZhLWNvbXByZXNzLWFycm93cy1hbHQiPjwvaT48L2J1dHRvbj4KCQkJPGJ1dHRvbiBpZD0ibGF5b3V0Ij48aSBjbGFzcz0iZmFzIGZhLXJlZG8iPjwvaT48L2J1dHRvbj4KCQkJPGJ1dHRvbiBpZD0iZG93bmxvYWQiPjxpIGNsYXNzPSJmYXMgZmEtZG93bmxvYWQiPjwvaT48L2J1dHRvbj4KCQk8L2Rpdj4KCgkJPGRpdiBpZD0iJG5hbWUiIHN0eWxlPSJtaW4taGVpZ2h0OjY4MHB4Ij48L2Rpdj4KCTwvZGl2PgoJIiIiIAplbmQgq2NvZGVfZm9sZGVkw9kkMmExMTk5MDktYzQ1Yy00MTU0LWI4NWQtZWY1NWJhOGZiZThhhKdjZWxsX2lk2SQyYTExOTkwOS1jNDVjLTQxNTQtYjg1ZC1lZjU1YmE4ZmJlOGGwcnVubmluZ19kaXNhYmxlZMKkY29kZdoCPXN0eWxlMiA9ICIiIgpub2RlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CiAgYm9yZGVyLWNvbG9yOiBibGFjazsKICB3aWR0aDogMjA7CiAgaGVpZ2h0OiAyMDsKICBtaW4tem9vbWVkLWZvbnQtc2l6ZTogMTI7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiAxNjsKICB6LWluZGV4OiAxOwp9Cgpub2RlOnNlbGVjdGVkLApub2RlLnN0YXJ0LApub2RlLmVuZCB7CiAgaGVpZ2h0OiAzMDsKICB3aWR0aDogMzA7CiAgbWluLXpvb21lZC1mb250LXNpemU6IDA7CiAgZm9udC1zaXplOiA0ODsKICBib3JkZXItY29sb3I6ICMwMDA7CiAgYm9yZGVyLXdpZHRoOiA0cHg7CiAgdGV4dC1vdXRsaW5lLWNvbG9yOiAjMDAwOwogIHRleHQtb3V0bGluZS13aWR0aDogMTBweDsKICB6LWluZGV4OiA5OTk5Owp9CgoKZWRnZSB7CiAgbWluLXpvb21lZC1mb250LXNpemU6IDEyOwogIGZvbnQtc2l6ZTogODsKICBjb2xvcjogI2ZmZjsKICBsaW5lLWNvbG9yOiBncmVlbjsKICB3aWR0aDogMjA7CiAgY3VydmUtc3R5bGU6IGhheXN0YWNrOwogIGhheXN0YWNrLXJhZGl1czogMDsKICBvcGFjaXR5OiAwLjU7Cn0KCiIiIqtjb2RlX2ZvbGRlZMPZJGFhMGE1ZGI1LTFjNzEtNDc1Ni04YzdmLTgyMWI4NWEwNmJhN4SnY2VsbF9pZNkkYWEwYTVkYjUtMWM3MS00NzU2LThjN2YtODIxYjg1YTA2YmE3sHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXaBA9zbWFsbF9ncmFwaHMgPSBEaWN0KAoJImJ1bGwgZ3JhcGgiID0+IDpidWxsLCAKCSJDaHbDoXRhbCBncmFwaCIgPT4gOmNodmF0YWwsIAoJIlBsYXRvbmljIGN1YmljYWwgZ3JhcGgiID0+IDpjdWJpY2FsLCAKCSJEZXNhcmd1ZXNncmFwaCIgPT4gOmRlc2FyZ3VlcywgCgkiZGlhbW9uZCBncmFwaCIgPT4gOmRpYW1vbmQsIAoJIlBsYXRvbmljIGRvZGVjYWhlZHJhbCBncmFwaCIgPT4gOmRvZGVjYWhlZHJhbCwgCgkiRnJ1Y2h0IGdyYXBoIiA9PiA6ZnJ1Y2h0LCAKCSJIZWF3b29kIGdyYXBoIiA9PiA6aGVhd29vZCwgCgkiZ3JhcGggbWltaWNpbmcgdGhlIGNsYXNzaWMgb3V0bGluZSBvZiBhIGhvdXNlIiA9PiA6aG91c2UsIAoJImhvdXNlIGdyYXBoLCB3aXRoIHR3byBlZGdlcyBjcm9zc2luZyB0aGUgYm90dG9tIHNxdWFyZSIgPT4gOmhvdXNleCwgCgkiUGxhdG9uaWMgaWNvc2FoZWRyYWwgZ3JhcGgiID0+IDppY29zYWhlZHJhbCwgCgkiS3JhY2toYXJkdC1LaXRlIHNvY2lhbCBuZXR3b3JrIGdyYXBoIiA9PiA6a3JhY2toYXJkdGtpdGUsIAoJIk3DtmJpdXMtS2FudG9yIGdyYXBoIiA9PiA6bW9lYml1c2thbnRvciwgCgkiUGxhdG9uaWMgb2N0YWhlZHJhbCBncmFwaCIgPT4gOm9jdGFoZWRyYWwsIAoJIlBhcHB1cyBncmFwaCIgPT4gOnBhcHB1cywgCgkiUGV0ZXJzZW4gZ3JhcGgiID0+IDpwZXRlcnNlbiwgCgkiTWF6ZSBncmFwaCB1c2VkIGluIFNlZGdld2ljaydzIEFsZ29yaXRobXMiID0+IDpzZWRnZXdpY2ttYXplLCAKCSJQbGF0b25pYyB0ZXRyYWhlZHJhbCBncmFwaCIgPT4gOnRldHJhaGVkcmFsLCAKCSJza2VsZXRvbiBvZiB0aGUgdHJ1bmNhdGVkIGN1YmUgZ3JhcGgiID0+IDp0cnVuY2F0ZWRjdWJlLCAKCSJza2VsZXRvbiBvZiB0aGUgdHJ1bmNhdGVkIHRldHJhaGVkcm9uIGdyYXBoIiA9PiA6dHJ1bmNhdGVkdGV0cmFoZWRyb24sIAoJInNrZWxldG9uIG9mIHRoZSB0cnVuY2F0ZWQgdGV0cmFoZWRyb24gZGlncmFwaCIgPT4gOnRydW5jYXRlZHRldHJhaGVkcm9uX2RpciwgCgkiVHV0dGUgZ3JhcGgiID0+IDp0dXR0ZQopq2NvZGVfZm9sZGVkw9kkNTljZWYzOWEtMzU3Ny00NzI2LWFlZmYtOTYwYWQ1YjU4MGM1hKdjZWxsX2lk2SQ1OWNlZjM5YS0zNTc3LTQ3MjYtYWVmZi05NjBhZDViNTgwYzWwcnVubmluZ19kaXNhYmxlZMKkY29kZdk3dHByaW50KGlucHV0KSA9IHdpdGhfdGVybWluYWwoKSBkbyAKCXByaW50bG4oaW5wdXQpCmVuZKtjb2RlX2ZvbGRlZMPZJDgyNGM3ZTI2LTViZjgtNDI3Mi1hNGYwLWUzNjYyNzFjODIyMYSnY2VsbF9pZNkkODI0YzdlMjYtNWJmOC00MjcyLWE0ZjAtZTM2NjI3MWM4MjIxsHJ1bm5pbmdfZGlzYWJsZWTCpGNvZGXZJnNnID0gc21hbGxncmFwaChzbWFsbF9ncmFwaHNbc2dfbmFtZV0pq2NvZGVfZm9sZGVkw9kkY2MyMDNmYjQtNDc1NS00NWNjLThiOWItZDA2MDQ4NjIzZWM5hKdjZWxsX2lk2SRjYzIwM2ZiNC00NzU1LTQ1Y2MtOGI5Yi1kMDYwNDg2MjNlYzmwcnVubmluZ19kaXNhYmxlZMKkY29kZdoBTG1kIiIiCiMjIyBJbnRlcmFjdGl2ZSBEZW1vCgoqKkdyYXBoIEFwcGVhcmFuY2U6KiogJChAYmluZCBzdHlsZSBTZWxlY3QoY29sbGVjdChrZXlzKHN0eWxlX2RpY3QpKSkpCgoqKkxheW91dCBNZXRob2Q6KiogJChAYmluZCBsYXlvdXQgU2VsZWN0KFsiY29zZSIsICJyYW5kb20iLCAiY2lyY2xlIiwgImNvbmNlbnRyaWMiLCAiYnJlYWR0aGZpcnN0IiwgImdyaWQiXSkpICoqQW5pbWF0ZToqKiAkKEBiaW5kIGFuaW1hdGUgQ2hlY2tCb3goZmFsc2UpKQoKKipTYW1wbGUgR3JhcGg6KiogJChAYmluZCBzZ19uYW1lIFNlbGVjdChjb2xsZWN0KGtleXMoc21hbGxfZ3JhcGhzKSkpKQoKIiIiq2NvZGVfZm9sZGVkw6tub3RlYm9va19pZNkkMjNlMDlmMDAtZmY5Ny0xMWViLTM5MzEtMjE3ODJjZmI1MzM2q2luX3RlbXBfZGlywg=="
</script>
<!-- [automatically generated launch parameters can be inserted here] -->
<script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/editor.js" type="module" defer></script>
<script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/warn_old_browsers.js"></script>
<script src="https://cdn.jsdelivr.net/gh/fonsp/Pluto.jl@0.15.1/frontend/common/SetupMathJax.js"></script>
<script type="text/javascript" id="MathJax-script" src="https://cdn.jsdelivr.net/npm/mathjax@3.1.2/es5/tex-svg-full.js" async></script>
</head>
<body class="loading no-MαθJax"></body>
</html>