summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFulup Ar Foll <fulup@iot.bzh>2016-02-15 11:55:21 +0100
committerFulup Ar Foll <fulup@iot.bzh>2016-02-15 11:55:21 +0100
commit7b885bd6ca1221a6b3013919c866c6b90f95c115 (patch)
tree3d4f96393670e361a7f58888048413be1f045df4
parent9966df615382815fb6169c9ecd9e3e696f8fa615 (diff)
Added runmode=remote|local
-rw-r--r--afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js5
-rw-r--r--afm-client/dist.prod/opa/AFBclient.min.css4
2 files changed, 5 insertions, 4 deletions
diff --git a/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js b/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js
index f717225..014fe4d 100644
--- a/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js
+++ b/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js
@@ -50,10 +50,11 @@
'';
angular.module('AppliButton', [])
- .directive('appliButton', function (AppConfig, AppCall, ModalFactory, Notification, $timeout, $window, $location) {
+ .directive('appliButton', function (AppConfig, AppCall, ModalFactory, Notification, $timeout, $window, $location, urlquery) {
function mymethods(scope, elem, attrs) {
scope.runstatus = "stop";
+ scope.runmode = urlquery.runmode || "auto";
scope.clicked = function () {
var notifyError = function(action, response) {
@@ -81,7 +82,7 @@
case "start":
if (scope.runstatus !== "stop") return;
- AppCall.get ("afm-main", "start", {id: scope.appID, mode: "remote"}, function(response) {
+ AppCall.get ("afm-main", "start", {id: scope.appID, mode: scope.runmode}, function(response) {
if (response.status !== 200 || response.data.jtype !== "AJB_reply") {
notifyError ("start", response);
return;
diff --git a/afm-client/dist.prod/opa/AFBclient.min.css b/afm-client/dist.prod/opa/AFBclient.min.css
index 2fd69a8..4e74bfc 100644
--- a/afm-client/dist.prod/opa/AFBclient.min.css
+++ b/afm-client/dist.prod/opa/AFBclient.min.css
@@ -1,8 +1,8 @@
submit-button{float:right;display:inline-block;border:1px solid #676767;box-shadow:2px 2px 1px gray;color:grey;border-radius:5px;font-style:italic;padding:0 .5rem;margin:.5rem;background:#d1d1e0}submit-button i{padding-right:.3rem;font-size:2rem}submit-button span{font-size:1rem}submit-button:hover{background:#f3f3f3;border:2px solid #4d4d4d}zf-modal{background-color:rgba(180,180,180,.5)}.box-content{border:2px solid #dcdcdc!important;border-radius:5px;min-width:98%!important;margin:.5rem;background:rgba(200,205,200,.3)}.box-content .box-title{display:block;font-size:1.3rem}.ui-notification{width:auto;border-radius:5px}.ibz-right{float:right!important}.ibz-left{float:left!important}
token-refresh{display:block;float:right;margin:.5rem 1rem 0 0}.button-box{height:4.5rem}.button-box .session-button{float:left;width:5rem}.button-box .response>span{display:block;margin:.3rem .5rem}.button-box .fail{color:red;border:1px solid #c00}.button-box .success{color:green;border:1px solid #004d00}.message-box{height:auto;width:100%;font-size:.75rem}.message-box .response .err-no{color:grey}.message-box .response .res.err-ok{color:#00f}.message-box .response .req.err-ok{color:#8a2be2}.message-box .response .status.err-ok{color:green}.message-box .response .status.err-fx{color:red}
appli-button i,appli-button span{font-size:1rem}appli-button{display:inline-block;border:1px solid #676767;box-shadow:2px 2px 1px gray;color:grey;border-radius:5px;font-style:italic;padding:0 .5rem;margin:.5rem;background:#d1d1e0}appli-button i{padding-right:.3rem}appli-button:hover{background:#f3f3f3;border:2px solid #4d4d4d}appli-button img{height:3rem}appli-button .disable>i{text-decoration:none;cursor:auto;color:grey!important}#appliActionMenu .start-start i,#appliActionMenu .stop-stop i{color:grey}
-.upload-file{display:inline-block;border:1px solid #676767;box-shadow:2px 2px 1px gray;color:grey;border-radius:5px;font-style:italic;padding:0 .5rem;background:#d1d1e0;float:right;height:3rem;margin:.5rem}.upload-file span{font-size:1rem}.upload-file:hover{background:#f3f3f3;border:2px solid #4d4d4d}.upload-file i{padding-right:.3rem;font-size:2rem}.upload-file .ibz-range-slider{height:10%!important;border-radius:5px;background-color:#d3d3d3!important}.upload-file .ibz-range-slider .range-slider-handle{width:10%!important;height:100%!important;margin-top:.2rem;background-color:purple!important}.upload-file .ibz-range-slider .range-slider-active-segment{height:80%!important;background-color:#90ee90}input-text alert{position:fixed;margin:-2.2rem 0 0 15rem;border-radius:5px;font-style:italic;border-color:rgba(175,175,175,.6);color:#00008b;background-color:rgba(200,200,200,.6)!important;padding:.2rem!important}input-text input{margin-bottom:.5rem!important}input-text label{margin-top:1rem!important}input-text .required{float:right;color:#87cefa}input-text .required.valid{color:green}input-text .required.invalid{color:plum}input-text .status-untouch{border-color:rgba(200,200,200,.6)!important;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(200,200,200,.6)!important;color:#696969!important}input-text input:focus{border-color:rgba(82,168,236,.8);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(82,168,236,.8)!important;transition:border .2s linear 0s,box-shadow .2s linear 0s;color:#483d8b!important}input-text .status-valid{border-color:rgba(154,205,50,.6)!important;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(154,205,50,.6)!important}input-text .status-invalid{border-color:rgba(154,17,69,.6);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(154,17,69,.6)!important;color:#9a1145}
link-button,link-button.secondary{display:inline-block;font-style:italic;margin:.5rem}link-button i,link-button span,link-button.secondary span{font-size:1rem}link-button{border:1px solid #0040ff;box-shadow:2px 2px 1px #43f;color:#36f;border-radius:5px;padding:0 .5rem;background:#d1d1e0}link-button i{padding-right:.3rem}link-button:hover{background:#fff;border:2px solid #03c}link-button.secondary{border:1px solid #668dff;box-shadow:2px 2px 1px #a199ff;color:#99b3ff;border-radius:5px;padding:0 .5rem;background:#d1d1e0}link-button.secondary i{padding-right:.3rem;font-size:1rem}link-button.secondary:hover{background:#fff;border:2px solid #3367ff}
+.upload-file{display:inline-block;border:1px solid #676767;box-shadow:2px 2px 1px gray;color:grey;border-radius:5px;font-style:italic;padding:0 .5rem;background:#d1d1e0;float:right;height:3rem;margin:.5rem}.upload-file span{font-size:1rem}.upload-file:hover{background:#f3f3f3;border:2px solid #4d4d4d}.upload-file i{padding-right:.3rem;font-size:2rem}.upload-file .ibz-range-slider{height:10%!important;border-radius:5px;background-color:#d3d3d3!important}.upload-file .ibz-range-slider .range-slider-handle{width:10%!important;height:100%!important;margin-top:.2rem;background-color:purple!important}.upload-file .ibz-range-slider .range-slider-active-segment{height:80%!important;background-color:#90ee90}input-text alert{position:fixed;margin:-2.2rem 0 0 15rem;border-radius:5px;font-style:italic;border-color:rgba(175,175,175,.6);color:#00008b;background-color:rgba(200,200,200,.6)!important;padding:.2rem!important}input-text input{margin-bottom:.5rem!important}input-text label{margin-top:1rem!important}input-text .required{float:right;color:#87cefa}input-text .required.valid{color:green}input-text .required.invalid{color:plum}input-text .status-untouch{border-color:rgba(200,200,200,.6)!important;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(200,200,200,.6)!important;color:#696969!important}input-text input:focus{border-color:rgba(82,168,236,.8);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(82,168,236,.8)!important;transition:border .2s linear 0s,box-shadow .2s linear 0s;color:#483d8b!important}input-text .status-valid{border-color:rgba(154,205,50,.6)!important;box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(154,205,50,.6)!important}input-text .status-invalid{border-color:rgba(154,17,69,.6);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(154,17,69,.6)!important;color:#9a1145}
link-button i,link-button span,token-refresh span{font-size:1rem}link-button{display:inline-block;border:1px solid #0040ff;box-shadow:2px 2px 1px #43f;color:#36f;border-radius:5px;font-style:italic;padding:0 .5rem;margin:.5rem;background:#d1d1e0}link-button i{padding-right:.3rem}link-button:hover{background:#fff;border:2px solid #03c}tip-modal{position:relative}.tip-modal-popup{width:20rem;position:absolute;top:1em;padding:.2em .6em;border:1px solid #963;background-color:#e5ffff;color:#000;opacity:0;transition:visibility .5s linear 1s,opacity 1s linear;border-radius:5px}.tip-modal-popup i{margin:0 .3rem 0 0;display:inline}token-refresh{display:inline-block;border:1px solid #676767;box-shadow:2px 2px 1px gray;color:grey;border-radius:5px;font-style:italic;padding:0 .5rem;margin:.5rem 1rem .5rem .5rem;background:#d1d1e0}token-refresh i{padding-right:.3rem;font-size:1rem;margin-left:.5rem}token-refresh:hover{background:#f3f3f3;border:2px solid #4d4d4d}token-refresh.online{color:#06c}token-refresh.online i{color:#0f0}token-refresh.offline{color:#f0f}token-refresh.offline i{color:red}
.range-slider-handle{display:inline-block;position:absolute;z-index:1;top:-.2rem;width:2rem;height:1.375rem;border:1px solid;cursor:pointer;background:#008cba}.range-slider-handle,.range-slider.radius{background:#008cba;-webkit-border-radius:3px;border-radius:3px}.range-slider-active-segment{display:inline-block;top:.07rem;position:absolute;height:.8rem;background:#e5e5e5}.ibz-range-slider{background-color:rgba(154,205,50,.6)!important;height:1rem;position:relative}.ibz-range-slider .range-slider-active-segment{background-color:rgba(82,168,200,.6)}.ibz-range-slider-display{background-color:rgba(82,168,200,.6)!important;width:4rem!important;padding:.25rem;text-align:center}.ibz-range-slider-start,.ibz-range-slider-stop{display:inline-block;position:absolute;padding-top:2px;height:95%;background:repeating-linear-gradient(45deg,#606dbc,#606dbc 10px,#465298 10px,#465298 20px)}
-/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy9hcHAvaWJ6LWdsb2JhbC5zY3NzIiwic3R5bGVzL2FwcC9faWJ6LW1peGlucy5zY3NzIiwicGFnZXMvRGFzaGJvYXJkL0Rhc2hib2FyZE1vZHVsZS5zY3NzIiwid2lkZ2V0cy9BY3Rpb25CdXR0b25zL0FjdGlvbkJ1dHRvbnMuc2NzcyIsIndpZGdldHMvRm9ybUlucHV0L0Zvcm1JbnB1dC5zY3NzIiwid2lkZ2V0cy9OYXZpZ2F0aW9uL05hdmlnYXRpb24uc2NzcyIsIndpZGdldHMvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25zLnNjc3MiLCJ3aWRnZXRzL1JhbmdlU2xpZGVycy9SYW5nZXNsaWRlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CYSxjQUNULE1BQU8sTUNEUCxRQUFTLGFBQ1QsT0FBVyxJQUFNLE1BQUMsUUFDbEIsV0FBZSxJQUFJLElBQUksSUFBQyxLQUN4QixNRERvQixLQ0VwQixjQUFlLElBQ2YsV0FBWSxPQUNaLFFBQVMsRUFBQSxNQUNULE9BQU8sTUFDUCxXQUFZLFFBQ1gsZ0JBQ0csY0FBZSxNQUNmLFVBWnlCLEtBY3pCLG1CQUFFLFVBQVcsS0FFVixvQkFDTCxXQUFZLFFBQ1osT0FBVyxJQUFNLE1BQUMsUURaaEIsU0FDTixpQkFBa0IscUJBR1IsYUNwQlIsT0FBUSxJQUFBLE1BQUEsa0JBQ1IsY0FBZSxJQUlmLFVBQVcsY0FDWCxPQUFRLE1BQ1IsV0FBWSxxQkRnQkYsd0JBQ04sUUFBUyxNQUNULFVBQVcsT0FLSCxpQkFDWixNQUFPLEtBQ1AsY0FBZSxJQUdULFdBQ04sTUFBTyxnQkFHRixVQUNMLE1BQU87QUUxQkUsY0FDVCxRQUFTLE1BQ1QsTUFBTyxNQUNQLE9BQVEsTUFBQSxLQUFBLEVBQUEsRUFHRCxZQUNQLE9BQVUsT0FFSyw0QkFDYixNQUFPLEtBQ1AsTUFBTyxLQUdPLDJCQUNaLFFBQVMsTUFDVCxPQUFRLE1BQUEsTUFHUCxrQkFDRCxNQXRCSyxJQXVCTCxPQUFXLElBQU0sTUFBQyxLQUVk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LGlCQUFrQixvQkFOTCwwQkFVYixpQkFBc0IsOEJBQ3RCLE1BQVEsZUFDUixRQUFTLE9BQ1QsV0FBVyxPQWJiLHdCQUFlLHVCQWlCZCxRQUFTLGFBQ1QsU0FBVSxTQUNWLFlBQWEsSUFDYixPQUFRLElBQ1IsV0FBWSIsImZpbGUiOiJBRkJjbGllbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAoQykgMjAxNSBcIklvVC5iemhcIlxuQXV0aG9yIFwiRnVsdXAgQXIgRm9sbFwiXG5cblRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG5pdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxudGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG5cblRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2Zcbk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG5cbllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG5hbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiovXG5cbkBpbXBvcnQgXCJhcHAvaWJ6LW1peGluc1wiO1xuXG5zdWJtaXQtYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgQGluY2x1ZGUgaWJ6LWJ1dHRvbihncmV5KTtcbn1cblxuemYtbW9kYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4MCwxODAsMTgwLC41KTtcbn1cblxuLmJveC1jb250ZW50IHtcbiAgICAgQGluY2x1ZGUgaWJ6LWJveC1jb250ZW50O1xuXG4gICAgLmJveC10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICB9XG59XG5cbi8vIENoYW5nZSBOb3RpZmljYXRpb25zIGRlZmF1bHQgc2l6ZVxuLnVpLW5vdGlmaWNhdGlvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uaWJ6LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLmliei1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufSIsIi8qXG4gICAgRXZlcnkgU0NTUyBmaWxlcyB3aWxsIGJlIGluamVjdGVkIGludG8gbWFpbiBIVE1MIHBhZ2VcbiovXG4lc2hhZG93LXRyYW5zaXRpb24ge1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjJzIGxpbmVhciAwcywgYm94LXNoYWRvdyAwLjJzIGxpbmVhciAwcztcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbkBtaXhpbiBpYnotYm94LWNvbnRlbnQge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGdhaW5zYm9ybyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWluLXdpZHRoOiA5OCUgIWltcG9ydGFudDsgXG4gICAgbWFyZ2luOiAuNXJlbSAuNXJlbSAuNXJlbSAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwMCwyMDUsMjAwLC4zKTtcbn1cblxuQG1peGluIGliei1idXR0b24gKCRjb2xvciwgJHNpemU6MnJlbSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJGNvbG9yLDEwJSk7XG4gICAgYm94LXNoYWRvdzogMnB4IDJweCAxcHggYWRqdXN0LWh1ZSgkY29sb3IsMjBkZWcpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBwYWRkaW5nOiAwcmVtIC41cmVtIDByZW0gLjVyZW07XG4gICAgbWFyZ2luOi41cmVtO1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oIzk0OTRiNywgMjAlKTtcbiAgICBpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC4zcmVtO1xuICAgICAgICBmb250LXNpemU6ICRzaXplO1xuICAgIH1cbiAgICBzcGFuIHtmb250LXNpemU6IDFyZW19XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjb2xvciwgNDUlKTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGRhcmtlbigkY29sb3IsMjAlKTtcbiAgICAgIFxuICAgIH1cbn1cblxuQG1peGluIGliei1pbnB1dC1hbGVydCAoJGNvbG9yLCAkYmFja2dyb3VuZCkge1xuICAgIHBvc2l0aW9uICA6Zml4ZWQ7XG4gICAgbWFyZ2luOiAtMi4ycmVtIDAgMCAxNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLDEwJSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuMnJlbSAhaW1wb3J0YW50O1xufVxuIiwiLyogXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgXCJJb1QuYnpoXCJcbiAqIEF1dGhvciBcIkZ1bHVwIEFyIEZvbGxcIlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuQGltcG9ydCBcImFwcC9pYnotbWl4aW5zXCI7XG5cbiRDT0xPUl9TVUNDRVNTOiBncmVlbjtcbiRDT0xPUl9GQUlMOiByZWQ7XG5cbnRva2VuLXJlZnJlc2gge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IC41cmVtIDFyZW0gMCAwO1xufVxuXG4uYnV0dG9uLWJveCB7XG4gICAgaGVpZ2h0ICA6IDQuNXJlbTtcbiAgICBcbiAgICAuc2Vzc2lvbi1idXR0b24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNXJlbTtcbiAgICB9O1xuICAgIFxuICAgIC5yZXNwb25zZSA+IHNwYW57XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IC4zcmVtIC41cmVtIC4zcmVtIC41cmVtOyAgICAgICAgXG4gICAgfSAgXG4gICAgXG4gICAgLmZhaWwgeyBcbiAgICAgICAgY29sb3I6JENPTE9SX0ZBSUw7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkQ09MT1JfRkFJTCwxMCUpO1xuICAgIH1cbiAgICAuc3VjY2VzcyB7IFxuICAgICAgICBjb2xvcjokQ09MT1JfU1VDQ0VTUzsgXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkQ09MT1JfU1VDQ0VTUywxMCUpO1xuICAgIH1cblxufTtcblxuLm1lc3NhZ2UtYm94IHtcbiAgICBoZWlnaHQgIDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgXG4gICAgLnJlc3BvbnNlIHtcbiAgICAgICAgLmVyci1ubyB7IGNvbG9yOmdyZXk7IH1cbiAgICAgICAgLnJlcy5lcnItb2sgeyBjb2xvcjogYmx1ZTsgfVxuICAgICAgICAucmVxLmVyci1vayB7IGNvbG9yOmJsdWV2aW9sZXQ7IH1cbiAgICAgICAgLnN0YXR1cy5lcnItb2sgeyBjb2xvcjpncmVlbjsgfVxuICAgICAgICAuc3RhdHVzLmVyci1meCB7IGNvbG9yOnJlZDsgfSAgICAgICBcbiAgICB9IFxuICAgIFxuXG59O1xuXG5cblxuIiwiLyogXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgXCJJb1QuYnpoXCJcbiAqIEF1dGhvciBcIkZ1bHVwIEFyIEZvbGxcIlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuQGltcG9ydCBcImFwcC9pYnotbWl4aW5zXCI7XG5cbi8vIHBsYWNlIGhlcmUgeW91ciBzdWJtaXQgYnV0dG9ucyBjdXN0b21pemF0aW9uXG5hcHBsaS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGliei1idXR0b24oZ3JleSwxcmVtKVxuICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICB9XG4gICAgXG4gICAgXG4gICAgLmRpc2FibGU+aSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTsgLy8gcmVhbGx5IG5vdCBuZWVkZWQgZm9yIHRoZSBUb3AgQmFyLCBqdXN0IGZvciBnZW5lcmFsIHRlY2huaXF1ZVxuICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgY29sb3I6IGdyZXkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiNhcHBsaUFjdGlvbk1lbnUgeyAgICBcbiAgICAuc3RhcnQtc3RhcnQsIC5zdG9wLXN0b3Age1xuICAgICAgICBpIHtjb2xvcjogZ3JleTt9XG4gICAgfVxufVxuIiwiLypcbiAgICBTYW1wbGUgb2Ygc3R5bGUgb3ZlcmxvYWQgZm9yIGEgc3BlY2lmaWMgd2lkZ2V0XG5cbiAgICBOb3RlOiB0aGlzIFNDU1MgaXMgaW5qZWN0ZWQgd2l0aCBtYWluIEhUTUwgcGFnZSwgaXQgc2NvcGUgc2hvdWxkIGJlIHJlZHVjZVxuICAgIHRvIGEgc3BlY2lmaWMgd2lkZ2V0IG9yIGl0IHZhbHVlIHdpbGwgYmUgcHJvcGFnYXRlZCBhdCBhIGdsb2JhbCBsZXZlbC5cbiovXG5cbkBpbXBvcnQgXCJhcHAvaWJ6LW1peGluc1wiO1xuXG4udXBsb2FkLWZpbGUge1xuICAgIEBpbmNsdWRlIGliei1idXR0b24oZ3JleSwxcmVtKVxuICAgIGZsb2F0OiByaWdodDtcbiAgICBoZWlnaHQgIDogM3JlbTtcbiAgICBtYXJnaW46IDAuNXJlbTtcblxuICAgIGkgeyBmb250LXNpemU6IDJyZW19XG4gICAgXG4gICAgLmliei1yYW5nZS1zbGlkZXIge1xuICAgICAgICBoZWlnaHQ6IDEwJSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JleSAhaW1wb3J0YW50O1xuICAgIFxuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC4ycmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHtcbiAgICAgICAgICAgIGhlaWdodDogODAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbmlucHV0LXRleHQge1xuICBcbiAgICBhbGVydCB7QGluY2x1ZGUgaWJ6LWlucHV0LWFsZXJ0KGRhcmtibHVlLCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNikpfTtcblxuICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLnJlcXVpcmVkIHtcbiAgICAgICAgY29sb3I6IGJsdWU7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY29sb3I6IGxpZ2h0c2t5Ymx1ZTtcbiAgICB9XG4gICAgLnJlcXVpcmVkLnZhbGlkIHtcbiAgICAgICAgY29sb3I6IGdyZWVuO1xuICAgIH1cbiAgICBcbiAgICAucmVxdWlyZWQuaW52YWxpZCB7XG4gICAgICAgIGNvbG9yOiBwbHVtO1xuICAgIH0gIFxuXG4gICAgLnN0YXR1cy11bnRvdWNoIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNikgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpIGluc2V0LCAwIDAgOHB4IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC42KSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzY5Njk2OSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGlucHV0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDgyLDE2OCwyMzYsMC44KSA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSBpbnNldCwgMCAwIDhweCByZ2JhKDgyLDE2OCwyMzYsMC44KSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4ycyBsaW5lYXIgMHMsIGJveC1zaGFkb3cgMC4ycyBsaW5lYXIgMHM7XG4gICAgICAgIGNvbG9yOiBkYXJrc2xhdGVibHVlICFpbXBvcnRhbnQ7XG4gICAgICAgIEBleHRlbmQgc2hhZG93LXRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgLnN0YXR1cy12YWxpZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTQsIDIwNSwgNTAsIDAuNikhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSkgaW5zZXQsIDAgMCA4cHggcmdiYSgxNTQsIDIwNSwgNTAsIDAuNikhaW1wb3J0YW50O1xuICAgICAgICBAZXh0ZW5kIHNoYWRvdy10cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC5zdGF0dXMtaW52YWxpZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTQsIDE3LCA2OSwgMC42KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpIGluc2V0LCAwIDAgOHB4IHJnYmEoMTU0LCAxNywgNjksIDAuNikhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogcmdiKDE1NCwgMTcsIDY5KTtcbiAgICAgICAgQGV4dGVuZCBzaGFkb3ctdHJhbnNpdGlvbjtcbiAgICB9XG5cbn1cbiIsIi8qIFxuICogQ29weXJpZ2h0IChDKSAyMDE1IFwiSW9ULmJ6aFwiXG4gKiBBdXRob3IgXCJGdWx1cCBBciBGb2xsXCJcbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbkBpbXBvcnQgXCJhcHAvaWJ6LW1peGluc1wiO1xuXG5cbmxpbmstYnV0dG9uIHtAaW5jbHVkZSBpYnotYnV0dG9uKCMzMzY2ZmYsMXJlbSl9O1xuXG4vL3BhbGUgYmx1ZSBmb3Igc2Vjb25kYXR5IGxpbmtcbmxpbmstYnV0dG9uLnNlY29uZGFyeSB7QGluY2x1ZGUgaWJ6LWJ1dHRvbigjOTliM2ZmLDFyZW0pfTtcblxuIiwiLyogXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgXCJJb1QuYnpoXCJcbiAqIEF1dGhvciBcIkZ1bHVwIEFyIEZvbGxcIlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKiBcbiAqIFJlZmVyZW5jZTogaHR0cDovL3d3dy5ncmV5d3l2ZXJuLmNvbS8/cG9zdD0zMzdcbiAqL1xuXG5AaW1wb3J0IFwiYXBwL2liei1taXhpbnNcIjtcblxuXG5saW5rLWJ1dHRvbiB7QGluY2x1ZGUgaWJ6LWJ1dHRvbigjMzM2NmZmLDFyZW0pfTtcblxuLy8gTW9kYWwgc2hvdWxkIGJlIHJlbGF0aXZlIGFuZCB0aXAtbW9kYWwtcG9wdXAgYWJzb2x1dGVcbnRpcC1tb2RhbCB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG59XG5cbi50aXAtbW9kYWwtcG9wdXAge1xuICAgIC8vdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MWVtO1xuICAgIHBhZGRpbmc6IDAuMmVtIDAuNmVtO1xuICAgIGJvcmRlcjoxcHggc29saWQgIzk5NjYzMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNlNWZmZmY7XG4gICAgY29sb3I6IzAwMDtcbiAgICBvcGFjaXR5OjA7XG4gICAgdHJhbnNpdGlvbjp2aXNpYmlsaXR5IC41cyBsaW5lYXIgMXMsb3BhY2l0eSAxcyBsaW5lYXI7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGkge1xuICAgICAgICBtYXJnaW46IDAgLjNyZW0gMCAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxufVxuXG50b2tlbi1yZWZyZXNoIHtcbiAgICBAaW5jbHVkZSBpYnotYnV0dG9uKGdyZXksMXJlbSlcbiAgICBpIHttYXJnaW4tbGVmdDogLjVyZW07fVxuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxudG9rZW4tcmVmcmVzaC5vbmxpbmUge1xuICAgIGNvbG9yOiAjMDA2NmNjO1xuICAgIGkge2NvbG9yOiBsaW1lO30gICAgXG59XG5cbnRva2VuLXJlZnJlc2gub2ZmbGluZSB7XG4gICAgY29sb3I6ICNmZjAwZmY7XG4gICAgaSB7Y29sb3I6IHJlZDt9ICAgIFxufVxuIiwiLypcbiAqIGliei1EYXRlcGlja2VyIGZvciBGb3VuZGF0aW9uXG4gKlxuICogQXV0aG9yOiBGdWx1cCBBciBGb2xsXG4gKiBEYXRlICA6IE1hcmNoLTIwMTVcbiAqIE9iamVjdDogU0FTUyBzdHlsZXNoZWV0LCBjdXN0b21pemVkIHRvIEZvdW5kYXRpb25cbiAqIFJlZmVyZW5jZXM6IGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc3RyaXBlcy1jc3MvXG4gKlxuICovXG5AaW1wb3J0IFwiYXBwL2liei1taXhpbnNcIjtcblxuLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAtMC4ycmVtO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjMDA4Y2JhO1xufVxuXG4ucmFuZ2Utc2xpZGVyLnJhZGl1cywgLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICBiYWNrZ3JvdW5kOiAjMDA4Y2JhO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0b3A6IDAuMDdyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAwLjgwcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xufVxuXG4uaWJ6LXJhbmdlLXNsaWRlciB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1NCwgMjA1LCA1MCwgMC42KSAhaW1wb3J0YW50O1xuICAgaGVpZ2h0OiAxcmVtO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgXG4gIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODIsIDE2OCwgMjAwLCAwLjYpO1xuICB9XG4gIFxuICAmLWRpc3BsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODIsIDE2OCwgMjAwLCAwLjYpICFpbXBvcnRhbnQ7XG4gICAgd2lkdGggOiA0cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogLjI1cmVtO1xuICAgIHRleHQtYWxpZ246Y2VudGVyXG4gICB9XG5cbiAgICYtc3RhcnQsJi1zdG9wIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHBhZGRpbmctdG9wOiAycHg7XG4gICBoZWlnaHQ6IDk1JTtcbiAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgNDVkZWcsXG4gICAgIzYwNmRiYyxcbiAgICAjNjA2ZGJjIDEwcHgsXG4gICAgIzQ2NTI5OCAxMHB4LFxuICAgICM0NjUyOTggMjBweFxuICApO31cblxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy9hcHAvaWJ6LWdsb2JhbC5zY3NzIiwic3R5bGVzL2FwcC9faWJ6LW1peGlucy5zY3NzIiwicGFnZXMvRGFzaGJvYXJkL0Rhc2hib2FyZE1vZHVsZS5zY3NzIiwid2lkZ2V0cy9BY3Rpb25CdXR0b25zL0FjdGlvbkJ1dHRvbnMuc2NzcyIsIndpZGdldHMvTmF2aWdhdGlvbi9OYXZpZ2F0aW9uLnNjc3MiLCJ3aWRnZXRzL0Zvcm1JbnB1dC9Gb3JtSW5wdXQuc2NzcyIsIndpZGdldHMvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25zLnNjc3MiLCJ3aWRnZXRzL1JhbmdlU2xpZGVycy9SYW5nZXNsaWRlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CYSxjQUNULE1BQU8sTUNEUCxRQUFTLGFBQ1QsT0FBVyxJQUFNLE1BQUMsUUFDbEIsV0FBZSxJQUFJLElBQUksSUFBQyxLQUN4QixNRERvQixLQ0VwQixjQUFlLElBQ2YsV0FBWSxPQUNaLFFBQVMsRUFBQSxNQUNULE9BQU8sTUFDUCxXQUFZLFFBQ1gsZ0JBQ0csY0FBZSxNQUNmLFVBWnlCLEtBY3pCLG1CQUFFLFVBQVcsS0FFVixvQkFDTCxXQUFZLFFBQ1osT0FBVyxJQUFNLE1BQUMsUURaaEIsU0FDTixpQkFBa0IscUJBR1IsYUNwQlIsT0FBUSxJQUFBLE1BQUEsa0JBQ1IsY0FBZSxJQUlmLFVBQVcsY0FDWCxPQUFRLE1BQ1IsV0FBWSxxQkRnQkYsd0JBQ04sUUFBUyxNQUNULFVBQVcsT0FLSCxpQkFDWixNQUFPLEtBQ1AsY0FBZSxJQUdULFdBQ04sTUFBTyxnQkFHRixVQUNMLE1BQU87QUUxQkUsY0FDVCxRQUFTLE1BQ1QsTUFBTyxNQUNQLE9BQVEsTUFBQSxLQUFBLEVBQUEsRUFHRCxZQUNQLE9BQVUsT0FFSyw0QkFDYixNQUFPLEtBQ1AsTUFBTyxLQUdPLDJCQUNaLFFBQVMsTUFDVCxPQUFRLE1BQUEsTUFHUCxrQkFDRCxNQXRCSyxJQXVCTCxPQUFXLElBQU0sTUFBQyxLQUVk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LGlCQUFrQixvQkFOTCwwQkFVYixpQkFBc0IsOEJBQ3RCLE1BQVEsZUFDUixRQUFTLE9BQ1QsV0FBVyxPQWJiLHdCQUFlLHVCQWlCZCxRQUFTLGFBQ1QsU0FBVSxTQUNWLFlBQWEsSUFDYixPQUFRLElBQ1IsV0FBWSIsImZpbGUiOiJBRkJjbGllbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAoQykgMjAxNSBcIklvVC5iemhcIlxuQXV0aG9yIFwiRnVsdXAgQXIgRm9sbFwiXG5cblRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG5pdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxudGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG5cblRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2Zcbk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG5cbllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG5hbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiovXG5cbkBpbXBvcnQgXCJhcHAvaWJ6LW1peGluc1wiO1xuXG5zdWJtaXQtYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgQGluY2x1ZGUgaWJ6LWJ1dHRvbihncmV5KTtcbn1cblxuemYtbW9kYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4MCwxODAsMTgwLC41KTtcbn1cblxuLmJveC1jb250ZW50IHtcbiAgICAgQGluY2x1ZGUgaWJ6LWJveC1jb250ZW50O1xuXG4gICAgLmJveC10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICB9XG59XG5cbi8vIENoYW5nZSBOb3RpZmljYXRpb25zIGRlZmF1bHQgc2l6ZVxuLnVpLW5vdGlmaWNhdGlvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uaWJ6LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLmliei1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufSIsIi8qXG4gICAgRXZlcnkgU0NTUyBmaWxlcyB3aWxsIGJlIGluamVjdGVkIGludG8gbWFpbiBIVE1MIHBhZ2VcbiovXG4lc2hhZG93LXRyYW5zaXRpb24ge1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjJzIGxpbmVhciAwcywgYm94LXNoYWRvdyAwLjJzIGxpbmVhciAwcztcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbkBtaXhpbiBpYnotYm94LWNvbnRlbnQge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGdhaW5zYm9ybyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWluLXdpZHRoOiA5OCUgIWltcG9ydGFudDsgXG4gICAgbWFyZ2luOiAuNXJlbSAuNXJlbSAuNXJlbSAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwMCwyMDUsMjAwLC4zKTtcbn1cblxuQG1peGluIGliei1idXR0b24gKCRjb2xvciwgJHNpemU6MnJlbSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJGNvbG9yLDEwJSk7XG4gICAgYm94LXNoYWRvdzogMnB4IDJweCAxcHggYWRqdXN0LWh1ZSgkY29sb3IsMjBkZWcpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBwYWRkaW5nOiAwcmVtIC41cmVtIDByZW0gLjVyZW07XG4gICAgbWFyZ2luOi41cmVtO1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oIzk0OTRiNywgMjAlKTtcbiAgICBpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC4zcmVtO1xuICAgICAgICBmb250LXNpemU6ICRzaXplO1xuICAgIH1cbiAgICBzcGFuIHtmb250LXNpemU6IDFyZW19XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjb2xvciwgNDUlKTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGRhcmtlbigkY29sb3IsMjAlKTtcbiAgICAgIFxuICAgIH1cbn1cblxuQG1peGluIGliei1pbnB1dC1hbGVydCAoJGNvbG9yLCAkYmFja2dyb3VuZCkge1xuICAgIHBvc2l0aW9uICA6Zml4ZWQ7XG4gICAgbWFyZ2luOiAtMi4ycmVtIDAgMCAxNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLDEwJSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuMnJlbSAhaW1wb3J0YW50O1xufVxuIiwiLyogXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgXCJJb1QuYnpoXCJcbiAqIEF1dGhvciBcIkZ1bHVwIEFyIEZvbGxcIlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuQGltcG9ydCBcImFwcC9pYnotbWl4aW5zXCI7XG5cbiRDT0xPUl9TVUNDRVNTOiBncmVlbjtcbiRDT0xPUl9GQUlMOiByZWQ7XG5cbnRva2VuLXJlZnJlc2gge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IC41cmVtIDFyZW0gMCAwO1xufVxuXG4uYnV0dG9uLWJveCB7XG4gICAgaGVpZ2h0ICA6IDQuNXJlbTtcbiAgICBcbiAgICAuc2Vzc2lvbi1idXR0b24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNXJlbTtcbiAgICB9O1xuICAgIFxuICAgIC5yZXNwb25zZSA+IHNwYW57XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IC4zcmVtIC41cmVtIC4zcmVtIC41cmVtOyAgICAgICAgXG4gICAgfSAgXG4gICAgXG4gICAgLmZhaWwgeyBcbiAgICAgICAgY29sb3I6JENPTE9SX0ZBSUw7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkQ09MT1JfRkFJTCwxMCUpO1xuICAgIH1cbiAgICAuc3VjY2VzcyB7IFxuICAgICAgICBjb2xvcjokQ09MT1JfU1VDQ0VTUzsgXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkQ09MT1JfU1VDQ0VTUywxMCUpO1xuICAgIH1cblxufTtcblxuLm1lc3NhZ2UtYm94IHtcbiAgICBoZWlnaHQgIDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgXG4gICAgLnJlc3BvbnNlIHtcbiAgICAgICAgLmVyci1ubyB7IGNvbG9yOmdyZXk7IH1cbiAgICAgICAgLnJlcy5lcnItb2sgeyBjb2xvcjogYmx1ZTsgfVxuICAgICAgICAucmVxLmVyci1vayB7IGNvbG9yOmJsdWV2aW9sZXQ7IH1cbiAgICAgICAgLnN0YXR1cy5lcnItb2sgeyBjb2xvcjpncmVlbjsgfVxuICAgICAgICAuc3RhdHVzLmVyci1meCB7IGNvbG9yOnJlZDsgfSAgICAgICBcbiAgICB9IFxuICAgIFxuXG59O1xuXG5cblxuIiwiLyogXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgXCJJb1QuYnpoXCJcbiAqIEF1dGhvciBcIkZ1bHVwIEFyIEZvbGxcIlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuQGltcG9ydCBcImFwcC9pYnotbWl4aW5zXCI7XG5cbi8vIHBsYWNlIGhlcmUgeW91ciBzdWJtaXQgYnV0dG9ucyBjdXN0b21pemF0aW9uXG5hcHBsaS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGliei1idXR0b24oZ3JleSwxcmVtKVxuICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICB9XG4gICAgXG4gICAgXG4gICAgLmRpc2FibGU+aSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTsgLy8gcmVhbGx5IG5vdCBuZWVkZWQgZm9yIHRoZSBUb3AgQmFyLCBqdXN0IGZvciBnZW5lcmFsIHRlY2huaXF1ZVxuICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgY29sb3I6IGdyZXkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiNhcHBsaUFjdGlvbk1lbnUgeyAgICBcbiAgICAuc3RhcnQtc3RhcnQsIC5zdG9wLXN0b3Age1xuICAgICAgICBpIHtjb2xvcjogZ3JleTt9XG4gICAgfVxufVxuIiwiLyogXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgXCJJb1QuYnpoXCJcbiAqIEF1dGhvciBcIkZ1bHVwIEFyIEZvbGxcIlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuQGltcG9ydCBcImFwcC9pYnotbWl4aW5zXCI7XG5cblxubGluay1idXR0b24ge0BpbmNsdWRlIGliei1idXR0b24oIzMzNjZmZiwxcmVtKX07XG5cbi8vcGFsZSBibHVlIGZvciBzZWNvbmRhdHkgbGlua1xubGluay1idXR0b24uc2Vjb25kYXJ5IHtAaW5jbHVkZSBpYnotYnV0dG9uKCM5OWIzZmYsMXJlbSl9O1xuXG4iLCIvKlxuICAgIFNhbXBsZSBvZiBzdHlsZSBvdmVybG9hZCBmb3IgYSBzcGVjaWZpYyB3aWRnZXRcblxuICAgIE5vdGU6IHRoaXMgU0NTUyBpcyBpbmplY3RlZCB3aXRoIG1haW4gSFRNTCBwYWdlLCBpdCBzY29wZSBzaG91bGQgYmUgcmVkdWNlXG4gICAgdG8gYSBzcGVjaWZpYyB3aWRnZXQgb3IgaXQgdmFsdWUgd2lsbCBiZSBwcm9wYWdhdGVkIGF0IGEgZ2xvYmFsIGxldmVsLlxuKi9cblxuQGltcG9ydCBcImFwcC9pYnotbWl4aW5zXCI7XG5cbi51cGxvYWQtZmlsZSB7XG4gICAgQGluY2x1ZGUgaWJ6LWJ1dHRvbihncmV5LDFyZW0pXG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGhlaWdodCAgOiAzcmVtO1xuICAgIG1hcmdpbjogMC41cmVtO1xuXG4gICAgaSB7IGZvbnQtc2l6ZTogMnJlbX1cbiAgICBcbiAgICAuaWJ6LXJhbmdlLXNsaWRlciB7XG4gICAgICAgIGhlaWdodDogMTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmV5ICFpbXBvcnRhbnQ7XG4gICAgXG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLjJyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwdXJwbGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiA4MCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuaW5wdXQtdGV4dCB7XG4gIFxuICAgIGFsZXJ0IHtAaW5jbHVkZSBpYnotaW5wdXQtYWxlcnQoZGFya2JsdWUsIHJnYmEoMjAwLCAyMDAsIDIwMCwgMC42KSl9O1xuXG4gICAgaW5wdXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAucmVxdWlyZWQge1xuICAgICAgICBjb2xvcjogYmx1ZTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBjb2xvcjogbGlnaHRza3libHVlO1xuICAgIH1cbiAgICAucmVxdWlyZWQudmFsaWQge1xuICAgICAgICBjb2xvcjogZ3JlZW47XG4gICAgfVxuICAgIFxuICAgIC5yZXF1aXJlZC5pbnZhbGlkIHtcbiAgICAgICAgY29sb3I6IHBsdW07XG4gICAgfSAgXG5cbiAgICAuc3RhdHVzLXVudG91Y2gge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC42KSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSkgaW5zZXQsIDAgMCA4cHggcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjYpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjNjk2OTY5ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgaW5wdXQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoODIsMTY4LDIzNiwwLjgpIDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpIGluc2V0LCAwIDAgOHB4IHJnYmEoODIsMTY4LDIzNiwwLjgpICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjJzIGxpbmVhciAwcywgYm94LXNoYWRvdyAwLjJzIGxpbmVhciAwcztcbiAgICAgICAgY29sb3I6IGRhcmtzbGF0ZWJsdWUgIWltcG9ydGFudDtcbiAgICAgICAgQGV4dGVuZCBzaGFkb3ctdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAuc3RhdHVzLXZhbGlkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1NCwgMjA1LCA1MCwgMC42KSFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSBpbnNldCwgMCAwIDhweCByZ2JhKDE1NCwgMjA1LCA1MCwgMC42KSFpbXBvcnRhbnQ7XG4gICAgICAgIEBleHRlbmQgc2hhZG93LXRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgLnN0YXR1cy1pbnZhbGlkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1NCwgMTcsIDY5LCAwLjYpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSkgaW5zZXQsIDAgMCA4cHggcmdiYSgxNTQsIDE3LCA2OSwgMC42KSFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiByZ2IoMTU0LCAxNywgNjkpO1xuICAgICAgICBAZXh0ZW5kIHNoYWRvdy10cmFuc2l0aW9uO1xuICAgIH1cblxufVxuIiwiLyogXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgXCJJb1QuYnpoXCJcbiAqIEF1dGhvciBcIkZ1bHVwIEFyIEZvbGxcIlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKiBcbiAqIFJlZmVyZW5jZTogaHR0cDovL3d3dy5ncmV5d3l2ZXJuLmNvbS8/cG9zdD0zMzdcbiAqL1xuXG5AaW1wb3J0IFwiYXBwL2liei1taXhpbnNcIjtcblxuXG5saW5rLWJ1dHRvbiB7QGluY2x1ZGUgaWJ6LWJ1dHRvbigjMzM2NmZmLDFyZW0pfTtcblxuLy8gTW9kYWwgc2hvdWxkIGJlIHJlbGF0aXZlIGFuZCB0aXAtbW9kYWwtcG9wdXAgYWJzb2x1dGVcbnRpcC1tb2RhbCB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG59XG5cbi50aXAtbW9kYWwtcG9wdXAge1xuICAgIC8vdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MWVtO1xuICAgIHBhZGRpbmc6IDAuMmVtIDAuNmVtO1xuICAgIGJvcmRlcjoxcHggc29saWQgIzk5NjYzMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNlNWZmZmY7XG4gICAgY29sb3I6IzAwMDtcbiAgICBvcGFjaXR5OjA7XG4gICAgdHJhbnNpdGlvbjp2aXNpYmlsaXR5IC41cyBsaW5lYXIgMXMsb3BhY2l0eSAxcyBsaW5lYXI7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGkge1xuICAgICAgICBtYXJnaW46IDAgLjNyZW0gMCAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxufVxuXG50b2tlbi1yZWZyZXNoIHtcbiAgICBAaW5jbHVkZSBpYnotYnV0dG9uKGdyZXksMXJlbSlcbiAgICBpIHttYXJnaW4tbGVmdDogLjVyZW07fVxuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxudG9rZW4tcmVmcmVzaC5vbmxpbmUge1xuICAgIGNvbG9yOiAjMDA2NmNjO1xuICAgIGkge2NvbG9yOiBsaW1lO30gICAgXG59XG5cbnRva2VuLXJlZnJlc2gub2ZmbGluZSB7XG4gICAgY29sb3I6ICNmZjAwZmY7XG4gICAgaSB7Y29sb3I6IHJlZDt9ICAgIFxufVxuIiwiLypcbiAqIGliei1EYXRlcGlja2VyIGZvciBGb3VuZGF0aW9uXG4gKlxuICogQXV0aG9yOiBGdWx1cCBBciBGb2xsXG4gKiBEYXRlICA6IE1hcmNoLTIwMTVcbiAqIE9iamVjdDogU0FTUyBzdHlsZXNoZWV0LCBjdXN0b21pemVkIHRvIEZvdW5kYXRpb25cbiAqIFJlZmVyZW5jZXM6IGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc3RyaXBlcy1jc3MvXG4gKlxuICovXG5AaW1wb3J0IFwiYXBwL2liei1taXhpbnNcIjtcblxuLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAtMC4ycmVtO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjMDA4Y2JhO1xufVxuXG4ucmFuZ2Utc2xpZGVyLnJhZGl1cywgLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICBiYWNrZ3JvdW5kOiAjMDA4Y2JhO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0b3A6IDAuMDdyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAwLjgwcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xufVxuXG4uaWJ6LXJhbmdlLXNsaWRlciB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1NCwgMjA1LCA1MCwgMC42KSAhaW1wb3J0YW50O1xuICAgaGVpZ2h0OiAxcmVtO1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgXG4gIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODIsIDE2OCwgMjAwLCAwLjYpO1xuICB9XG4gIFxuICAmLWRpc3BsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODIsIDE2OCwgMjAwLCAwLjYpICFpbXBvcnRhbnQ7XG4gICAgd2lkdGggOiA0cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogLjI1cmVtO1xuICAgIHRleHQtYWxpZ246Y2VudGVyXG4gICB9XG5cbiAgICYtc3RhcnQsJi1zdG9wIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHBhZGRpbmctdG9wOiAycHg7XG4gICBoZWlnaHQ6IDk1JTtcbiAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgNDVkZWcsXG4gICAgIzYwNmRiYyxcbiAgICAjNjA2ZGJjIDEwcHgsXG4gICAgIzQ2NTI5OCAxMHB4LFxuICAgICM0NjUyOTggMjBweFxuICApO31cblxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */