From 839f0936edcd68c3f2119f3548765a9f7843b462 Mon Sep 17 00:00:00 2001 From: Justin Schroeder Date: Wed, 26 Feb 2020 00:21:10 -0500 Subject: [PATCH] Fixes form submissions, and a bug that prevented value props from populating forms --- dist/formulate.esm.js | 2 +- dist/formulate.min.js | 2 +- dist/formulate.umd.js | 2 +- dist/snow.css | 2 +- dist/snow.min.css | 4 ++-- src/FormSubmission.js | 6 +++--- src/FormulateForm.vue | 17 +++++++++++++---- src/libs/utils.js | 2 +- test/FormulateForm.test.js | 29 +++++++++++++++++++++++++++-- test/utils.test.js | 36 +++++++++++++++++++++++++++++++++++- themes/snow/_inputs.scss | 2 +- 11 files changed, 86 insertions(+), 18 deletions(-) diff --git a/dist/formulate.esm.js b/dist/formulate.esm.js index 2496289..532f4f6 100644 --- a/dist/formulate.esm.js +++ b/dist/formulate.esm.js @@ -1776,7 +1776,7 @@ var script$1 = { this.$emit('submit-raw', submission); submission.hasValidationErrors() .then(function (hasErrors) { return hasErrors ? false : submission.values(); }) - .then(function (json) { return this$1.$emit('submit', json); }); + .then(function (json) { return json !== false ? this$1.$emit('submit', json) : null; }); }, showErrors: function showErrors () { for (var fieldName in this.registry) { diff --git a/dist/formulate.min.js b/dist/formulate.min.js index f752ccd..d952c83 100644 --- a/dist/formulate.min.js +++ b/dist/formulate.min.js @@ -1779,7 +1779,7 @@ var Formulate = (function (exports, isUrl, nanoid, isPlainObject) { this.$emit('submit-raw', submission); submission.hasValidationErrors() .then(function (hasErrors) { return hasErrors ? false : submission.values(); }) - .then(function (json) { return this$1.$emit('submit', json); }); + .then(function (json) { return json !== false ? this$1.$emit('submit', json) : null; }); }, showErrors: function showErrors () { for (var fieldName in this.registry) { diff --git a/dist/formulate.umd.js b/dist/formulate.umd.js index 1aad47c..ceb73c8 100644 --- a/dist/formulate.umd.js +++ b/dist/formulate.umd.js @@ -1782,7 +1782,7 @@ this.$emit('submit-raw', submission); submission.hasValidationErrors() .then(function (hasErrors) { return hasErrors ? false : submission.values(); }) - .then(function (json) { return this$1.$emit('submit', json); }); + .then(function (json) { return json !== false ? this$1.$emit('submit', json) : null; }); }, showErrors: function showErrors () { for (var fieldName in this.registry) { diff --git a/dist/snow.css b/dist/snow.css index 7e0a989..d70e72b 100644 --- a/dist/snow.css +++ b/dist/snow.css @@ -1,5 +1,5 @@ .formulate-input { - margin-bottom: 2em; } + margin-bottom: 1.5em; } .formulate-input .formulate-input-label { display: block; line-height: 1.5; diff --git a/dist/snow.min.css b/dist/snow.min.css index b32c4a7..1d793ba 100644 --- a/dist/snow.min.css +++ b/dist/snow.min.css @@ -1,2 +1,2 @@ -.formulate-input{margin-bottom:2em}.formulate-input .formulate-input-label{display:block;line-height:1.5;font-size:.9em;font-weight:600;margin-bottom:.1em}.formulate-input .formulate-input-element{max-width:20em;margin-bottom:.1em}.formulate-input .formulate-input-help{color:#6d6d6d;font-size:.7em;font-weight:400;line-height:1.5;margin-bottom:.25em}.formulate-input .formulate-input-errors{list-style-type:none;padding:0;margin:0}.formulate-input .formulate-file-upload-error,.formulate-input .formulate-input-error{color:#960505;font-size:.8em;font-weight:300;line-height:1.5;margin-bottom:.25em}.formulate-input .formulate-input-group-item{margin-bottom:.5em}.formulate-input:last-child{margin-bottom:0}.formulate-input[data-classification=text] input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0}.formulate-input[data-classification=text] input::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input::placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=text] input[type=color]{height:1.1em;box-sizing:content-box}.formulate-input[data-classification=text] input[type=color]::-webkit-color-swatch-wrapper{padding:0 0 0 1.5em;display:flex;align-items:center;background-image:url('data:image/svg+xml;utf8,');background-repeat:no-repeat;background-size:.9em .9em;background-position:left .1em}.formulate-input[data-classification=text] input[type=color]::-webkit-color-swatch{display:block;height:1em;border-radius:.2em;border:0;flex:auto}.formulate-input[data-classification=text] input[type=color]::-moz-color-swatch{display:block;height:1em;border-radius:.2em;border:0;flex:auto}.formulate-input[data-classification=slider] input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font-size:1em;padding:.5em 0}.formulate-input[data-classification=slider] input:focus{outline:0}.formulate-input[data-classification=slider] input::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;appearance:none;width:1em;height:1em;border-radius:1em;background-color:#41b883;margin-top:calc(-.5em + 2px)}.formulate-input[data-classification=slider] input::-moz-range-thumb{cursor:pointer;-moz-appearance:none;appearance:none;width:1em;height:1em;border-radius:1em;background-color:#41b883;margin-top:calc(-.5em + 2px)}.formulate-input[data-classification=slider] input::-ms-thumb{cursor:pointer;appearance:none;width:1em;height:1em;border-radius:1em;background-color:#41b883;margin-top:calc(-.5em + 2px)}.formulate-input[data-classification=slider] input::-webkit-slider-runnable-track{-webkit-appearance:none;appearance:none;width:100%;height:4px;background-color:#efefef;border-radius:3px;margin:0;padding:0}.formulate-input[data-classification=textarea] textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0}.formulate-input[data-classification=textarea] textarea::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea::placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=button] button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0;border:1px solid #41b883;background-color:#41b883;color:#fff;min-width:0;width:auto;font-weight:700;cursor:pointer;display:inline-flex;align-items:center}.formulate-input[data-classification=button] button::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=button] button::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=button] button:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=button] button::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=button] button::placeholder{color:#a8a8a8}.formulate-input[data-classification=button] button:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=button] button[disabled]{background-color:#cecece;border-color:#cecece}.formulate-input[data-classification=button] button:active{background-color:#64c89b;border-color:#64c89b}.formulate-input[data-classification=select] .formulate-input-element{position:relative}.formulate-input[data-classification=select] .formulate-input-element:before{content:"";width:0;height:0;border-color:#cecece transparent transparent;border-style:solid;border-width:.3em .3em 0;top:50%;margin-top:-.1em;right:1em;position:absolute}.formulate-input[data-classification=select] select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0;padding:.75em 2em .75em .75em}.formulate-input[data-classification=select] select::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select::placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=select] select[data-placeholder-selected]{color:#a8a8a8}.formulate-input[data-classification=box] .formulate-input-wrapper{display:flex;align-items:center}.formulate-input[data-classification=box] .formulate-input-element{overflow:hidden;display:flex;align-items:center}.formulate-input[data-classification=box] .formulate-input-element input{position:absolute;left:-999px}.formulate-input[data-classification=box] .formulate-input-element-decorator{display:block;width:1em;height:1em;border-radius:.25em;border:1px solid #cecece;position:relative}.formulate-input[data-classification=box] .formulate-input-element-decorator:before{content:"";display:block;background-size:contain;background-position:100%;width:calc(100% - .125em);height:calc(100% - .125em);box-sizing:border-box;position:absolute;top:.0625em;left:.0625em}.formulate-input[data-classification=box] .formulate-input-element[data-type=radio] .formulate-input-element-decorator{border-radius:1em}.formulate-input[data-classification=box] .formulate-input-element[data-type=radio] .formulate-input-element-decorator:before{border-radius:1em;width:calc(100% - .5em);height:calc(100% - .5em);top:.25em;left:.25em}.formulate-input[data-classification=box] .formulate-input-element input[type=checkbox]:checked~.formulate-input-element-decorator{border-color:#41b883}.formulate-input[data-classification=box] .formulate-input-element input[type=checkbox]:checked~.formulate-input-element-decorator:before{background-color:#41b883;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,')}.formulate-input[data-classification=box] .formulate-input-element input[type=radio]:checked~.formulate-input-element-decorator{border-color:#41b883}.formulate-input[data-classification=box] .formulate-input-element input[type=radio]:checked~.formulate-input-element-decorator:before{background-color:#41b883}.formulate-input[data-classification=box] .formulate-input-element input:focus~.formulate-input-element-decorator{border-color:#41b883}.formulate-input[data-classification=box] .formulate-input-label--after{margin-left:.5em}.formulate-input[data-classification=box] .formulate-input-label--before{margin-right:.5em}.formulate-input[data-classification=group]>.formulate-input-wrapper>.formulate-input-label{margin-bottom:.5em}.formulate-input[data-classification=file] .formulate-input-upload-area{width:100%;position:relative;padding:2em 0}.formulate-input[data-classification=file] .formulate-input-upload-area input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;position:absolute;left:0;right:0;bottom:0;top:0;width:100%;height:100%;z-index:5}.formulate-input[data-classification=file] .formulate-input-upload-area[data-has-files]{padding:0}.formulate-input[data-classification=file] .formulate-input-upload-area[data-has-files] input{display:none}.formulate-input[data-classification=file] .formulate-input-upload-area-mask{border-radius:.4em;pointer-events:none;position:absolute;display:flex;justify-content:center;align-items:center;left:0;right:0;top:0;bottom:0;border:2px dashed #a8a8a8;z-index:2}.formulate-input[data-classification=file] .formulate-input-upload-area-mask:before{content:"";background-color:#a8a8a8;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;width:2em;height:2em;position:absolute;pointer-events:none}.formulate-input[data-classification=file] .formulate-input-upload-area input:focus~.formulate-input-upload-area-mask,.formulate-input[data-classification=file] .formulate-input-upload-area input:hover~.formulate-input-upload-area-mask,.formulate-input[data-classification=file] .formulate-input-upload-area input[data-is-drag-hover]~.formulate-input-upload-area-mask{border-color:#41b883}.formulate-input[data-classification=file] .formulate-input-upload-area input:focus~.formulate-input-upload-area-mask:before,.formulate-input[data-classification=file] .formulate-input-upload-area input:hover~.formulate-input-upload-area-mask:before,.formulate-input[data-classification=file] .formulate-input-upload-area input[data-is-drag-hover]~.formulate-input-upload-area-mask:before{background-color:#41b883}.formulate-input[data-classification=file] .formulate-files{list-style-type:none;margin:0;padding:0}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress{background-color:#cecece;height:.3em;border-radius:1.25em;width:5em;overflow:hidden;position:absolute;right:.75em;transition:height .25s,width .25s;z-index:2}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;display:block;opacity:0;transform:scale(.08);background-color:#fff;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-size:77%;mask-size:77%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;z-index:3}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-just-finished]{width:1.25em;height:1.25em}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-just-finished]:before{transition:transform .25s .2s,opacity .25s .2s;transform:scale(1);opacity:1}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-is-finished]{transition:height .25s,width .25s,left .25s,top,.25s,border-radius .25s;width:.3em;height:100%;right:0;border-radius:0 .23em .23em 0}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-is-finished]:before{transition:opacity .1s;opacity:0}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress .formulate-file-progress-inner{background-color:#41b883;width:1%;position:absolute;left:0;bottom:0;top:0;z-index:2}.formulate-input[data-classification=file] .formulate-files .formualte-file-name{padding-left:1.5em;padding-right:2em}.formulate-input[data-classification=file] .formulate-files .formualte-file-name:before{position:absolute;left:.7em;top:50%;margin-top:-.7em;background-color:#a8a8a8;content:"";-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.25em;height:1.25em;display:inline-block;margin-right:.5em}.formulate-input[data-classification=file] .formulate-files .formulate-file-remove{width:1.25em;height:1.25em;border-radius:1em;border:1px solid #a8a8a8;background-color:#a8a8a8;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-size:.6em;mask-size:.6em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;cursor:pointer;position:absolute;right:.75em;z-index:1;transition:transform .25s}@media (pointer:fine){.formulate-input[data-classification=file] .formulate-files .formulate-file-remove:hover{transform:scale(1.5)}}.formulate-input[data-classification=file] .formulate-files li{display:block}.formulate-input[data-classification=file] .formulate-files li[data-has-error] .formulate-file-progress{background-color:#dc2c2c}.formulate-input[data-classification=file] .formulate-files li[data-has-preview] .formualte-file-name:before{display:none}.formulate-input[data-classification=file] .formulate-files li+li{margin-top:.5em}.formulate-input[data-classification=file] .formulate-files .formulate-file{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;font-weight:400;line-height:1.1em;margin:0;display:block;width:100%;display:flex;justify-content:flex-start;align-items:center;position:relative}.formulate-input[data-classification=file] .formulate-files .formulate-file::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file::placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=file] .formulate-files .formulate-file ::-webkit-progress-bar{-webkit-appearance:none;appearance:none;height:.5em;border-radius:.5em;overflow:hidden}.formulate-input[data-classification=file] .formulate-files .formulate-file-image-preview{width:3em;height:3em;position:relative;z-index:2;left:-1px;box-shadow:0 0 0 1px #efefef;transition:transform .25s,box-shadow .25s,background-color .25s}@media (pointer:fine){.formulate-input[data-classification=file] .formulate-files .formulate-file-image-preview:hover{transition-delay:.2s;transform:scale(3);background-color:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.1)}}.formulate-input[data-classification=file] .formulate-files .formulate-file-image-preview img{display:block;position:absolute;width:100%;height:100%;left:0;right:0;bottom:0;top:0;-o-object-fit:contain;object-fit:contain;transition:all .25s}.formulate-input[data-classification=file] [data-type=image] .formulate-input-upload-area .formulate-input-upload-area-mask:before{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,')} -/*# sourceMappingURL=data:application/json;base64,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QUM3QiwrREFBb0UsQ0FDcEUsc0JBQ0UsZ0dBQ0Usb0JBQXFCLENBQ3JCLGtCQUFtQixDQUNuQixxQkFBeUIsQ0FDekIsbUNBQTBDLENBQUUsQ0FDaEQsOEZBQ0UsYUFBYyxDQUNkLGlCQUFrQixDQUNsQixVQUFXLENBQ1gsV0FBWSxDQUNaLE1BQU8sQ0FDUCxPQUFRLENBQ1IsUUFBUyxDQUNULEtBQU0sQ0FDTixxQkFBbUIsQ0FBbkIsa0JBQW1CLENBQ25CLG1CQUFzQixDQUM1QixtSUFDRSwrYkFBd2IsQ0FBeGIsdWJBQTBiIiwiZmlsZSI6InN0ZGluIiwic291cmNlc0NvbnRlbnQiOlsiLmZvcm11bGF0ZS1pbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAuZm9ybXVsYXRlLWlucHV0IC5mb3JtdWxhdGUtaW5wdXQtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjFlbTsgfVxuICAuZm9ybXVsYXRlLWlucHV0IC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudCB7XG4gICAgbWF4LXdpZHRoOiAyMGVtO1xuICAgIG1hcmdpbi1ib3R0b206IC4xZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dCAuZm9ybXVsYXRlLWlucHV0LWhlbHAge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1ZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dCAuZm9ybXVsYXRlLWlucHV0LWVycm9ycyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXQgLmZvcm11bGF0ZS1pbnB1dC1lcnJvcixcbiAgLmZvcm11bGF0ZS1pbnB1dCAuZm9ybXVsYXRlLWZpbGUtdXBsb2FkLWVycm9yIHtcbiAgICBjb2xvcjogIzk2MDUwNTtcbiAgICBmb250LXNpemU6IC44ZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IC4yNWVtOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXQgLmZvcm11bGF0ZS1pbnB1dC1ncm91cC1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3RleHQnXSBpbnB1dCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAuM2VtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgIHBhZGRpbmc6IC43NWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2E4YThhODsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDFiODgzOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0W3R5cGU9XCJjb2xvclwiXSB7XG4gICAgaGVpZ2h0OiAxLjFlbTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0W3R5cGU9XCJjb2xvclwiXTo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxLjVlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDc5LjE3IDc5LjE3XCI+PHBhdGggZmlsbD1cIiUyMzZkNmQ2ZFwiIGQ9XCJNNDAuOCwyMi45MmMtMy40LTMuNC00Ljc2LTguNDQtMS0xMi4yNHM4Ljg0LTIuNDQsMTIuMjQsMWM1LTUsMTAuNjktMTMuMzMsMTguODEtMTEuMzFhMTEsMTEsMCwwLDEsNy42MiwxNC4zNGMtMS4yNiwzLjQ1LTQuNjMsNi4wNi03LjE2LDguNTktLjkyLjkzLTMsMi4yNi0zLjQ2LDMuNDYtLjQyLDEsMS44MiwyLjYzLDIuMzYsNGE4LDgsMCwwLDEtMTIuNDIsOS4xOWMtLjIxLS4xNi0xLjM1LTEuNTEtMS41OS0xLjUxcy0uODMuODMtMSwxTDQ5LjcxLDQ0LjksMzIuNDMsNjIuMThjLTMuMzcsMy4zOC02LjYsNy4xNC0xMC4yNiwxMC4yMWExMSwxMSwwLDAsMS00LjQ4LDIuMjhjLTEuMjUuMy0zLjExLS4yMi00LjE4LjE4LTEuMjguNDgtMi40MiwyLjY1LTMuNjgsMy40LTYuMDUsMy42MS0xMi42NC00LTguNDYtOS41Ny43My0xLDIuNTMtMS45MiwzLTNhMTQuNDYsMTQuNDYsMCwwLDAtLjA5LTIuNTIsMTAuNzUsMTAuNzUsMCwwLDEsMy4xNC02Ljc3Yy45Mi0xLDEuOTMtMS45MywyLjg5LTIuOVptNC40LTEuNWM0LjE5LDQsOC4yNCw4LjI0LDEyLjM2LDEyLjM2LDIuMDYsMi4wNiw1LDUuNTksOCwyLjYxLDQuNjUtNC42Mi01LTYuOC0yLjQyLTEwLjc4QzY2LjMsMjAuNyw3Ni40LDE2LjQ4LDc0Ljg0LDkuNDUsNzMuNjIsNCw2Ny4xMiwyLjc4LDYzLjI5LDYuMzJjLTIuNTUsMi4zNi00LjkzLDQuOTQtNy4zOSw3LjQtLjc5Ljc4LTEuOCwyLjI4LTIuODgsMi43My0yLjE0Ljg4LTMuNC0xLjYyLTQuNzktMi43Ny0yLjU4LTIuMTQtNi44OS0uODItNi41MywzQzQxLjg5LDE4LjY4LDQzLjg3LDIwLjA5LDQ1LjIsMjEuNDJabS0xLjQ1LDQuNDRMMjcuODIsNDEuNzlDMjIsNDcuNTcsMTUuODksNTMuMTQsMTAuNDEsNTkuMmE4LjIzLDguMjMsMCwwLDAtMS40NCwyYy0uOTMsMiwuMjUsNC4xNC0uNSw2UzQuOTIsNjkuOTQsNC4zLDcyYTIuMzQsMi4zNCwwLDAsMCwyLjU2LDNjMS4xMS0uMTcsMi0xLjMzLDIuNzEtMi4wN2ExMS4xNywxMS4xNywwLDAsMSwyLjA4LTJjMS42OC0uOTQsNCwuMTcsNS45My0uNTdDMjAsNjkuNDEsMjIsNjYuNzMsMjMuNzYsNjVMMzQuNDIsNTQuMyw1My4zLDM1LjQyWlwiLz48L3N2Zz4nKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IC45ZW0gLjllbTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgLjFlbTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0W3R5cGU9XCJjb2xvclwiXTo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IC4yZW07XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBmbGV4OiBhdXRvOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSd0ZXh0J10gaW5wdXRbdHlwZT1cImNvbG9yXCJdOjotbW96LWNvbG9yLXN3YXRjaCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogLjJlbTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGZsZXg6IGF1dG87IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzbGlkZXInXSBpbnB1dCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBwYWRkaW5nOiAuNWVtIDA7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NsaWRlciddIGlucHV0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NsaWRlciddIGlucHV0Ojotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MztcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ZW0gKyAycHgpOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzbGlkZXInXSBpbnB1dDo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MztcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ZW0gKyAycHgpOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzbGlkZXInXSBpbnB1dDo6LW1zLXRodW1iIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiODgzO1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygtLjVlbSArIDJweCk7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NsaWRlciddIGlucHV0Ojotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dGFyZWEnXSB0ZXh0YXJlYSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAuM2VtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgIHBhZGRpbmc6IC43NWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dGFyZWEnXSB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNhOGE4YTg7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3RleHRhcmVhJ10gdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MWI4ODM7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdidXR0b24nXSBidXR0b24ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogLjNlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VjZWNlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgICBwYWRkaW5nOiAuNzVlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDFiODgzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MWI4ODM7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYnV0dG9uJ10gYnV0dG9uOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2E4YThhODsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYnV0dG9uJ10gYnV0dG9uOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDFiODgzOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdidXR0b24nXSBidXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWNlY2U7XG4gICAgICBib3JkZXItY29sb3I6ICNjZWNlY2U7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2J1dHRvbiddIGJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY0Yzg5YjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzY0Yzg5YjsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NlbGVjdCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzZWxlY3QnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyOiAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2NlY2VjZTtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0uMWVtO1xuICAgICAgcmlnaHQ6IDFlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NlbGVjdCddIHNlbGVjdCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAuM2VtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgIHBhZGRpbmc6IC43NWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyZW07IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NlbGVjdCddIHNlbGVjdDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNhOGE4YTg7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NlbGVjdCddIHNlbGVjdDpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQxYjg4MzsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nc2VsZWN0J10gc2VsZWN0W2RhdGEtcGxhY2Vob2xkZXItc2VsZWN0ZWRdIHtcbiAgICAgIGNvbG9yOiAjYThhOGE4OyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQgaW5wdXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTk5OXB4OyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQtZGVjb3JhdG9yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VjZWNlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudC1kZWNvcmF0b3I6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIC4xMjVlbSk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gLjEyNWVtKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC4wNjI1ZW07XG4gICAgICAgIGxlZnQ6IC4wNjI1ZW07IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudFtkYXRhLXR5cGU9XCJyYWRpb1wiXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQtZGVjb3JhdG9yIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFlbTsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnRbZGF0YS10eXBlPVwicmFkaW9cIl0gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gLjVlbSk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gLjVlbSk7XG4gICAgICAgIHRvcDogLjI1ZW07XG4gICAgICAgIGxlZnQ6IC4yNWVtOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgfiAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQtZGVjb3JhdG9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzQxYjg4MzsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgfiAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQtZGVjb3JhdG9yOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiODgzO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiPjxwYXRoIGQ9XCJNOC43Niw1Ni4yYy02LjM4LTYuMzQsMy4yNi0xNiw5LjY0LTkuNjlMMzgsNjUuODgsODAuNTYsMjMuMjljNi4zOC02LjM4LDE2LjA3LDMuMzIsOS42OSw5LjY5TDQyLjg0LDgwLjM3YTYuODMsNi44MywwLDAsMS05LjY1LDBaXCIvPjwvc3ZnPicpOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgfiAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQtZGVjb3JhdG9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzQxYjg4MzsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgfiAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQtZGVjb3JhdG9yOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiODgzOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQgaW5wdXQ6Zm9jdXMgfiAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQtZGVjb3JhdG9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzQxYjg4MzsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtbGFiZWwtLWFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLjVlbTsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtbGFiZWwtLWJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNWVtOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImdyb3VwXCJdID4gLmZvcm11bGF0ZS1pbnB1dC13cmFwcGVyID4gLmZvcm11bGF0ZS1pbnB1dC1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAyZW0gMDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYSBpbnB1dCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogNTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYVtkYXRhLWhhcy1maWxlc10ge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhW2RhdGEtaGFzLWZpbGVzXSBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzayB7XG4gICAgICBib3JkZXItcmFkaXVzOiAuNGVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyOiAycHggZGFzaGVkICNhOGE4YTg7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzazo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGE4YTg7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1OCA1OFwiPjxwYXRoIGQ9XCJNMjksNThBMjksMjksMCwxLDAsMCwyOSwyOSwyOSwwLDAsMCwyOSw1OFpNMjksNEEyNSwyNSwwLDEsMSw0LDI5LDI1LDI1LDAsMCwxLDI5LDRaXCIvPjxwb2x5Z29uIHBvaW50cz1cIjI3IDIyIDI3IDQ0LjQgMzEgNDQuNCAzMSAyMiA0MS43IDMxLjEgNDQuMyAyOC4xIDI5IDE1IDEzLjcgMjguMSAxNi4zIDMxLjEgMjcgMjJcIi8+PC9zdmc+Jyk7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDJlbTtcbiAgICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEgaW5wdXQ6Zm9jdXMgfiAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhLW1hc2ssXG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhIGlucHV0OmhvdmVyIH4gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYS1tYXNrLFxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYSBpbnB1dFtkYXRhLWlzLWRyYWctaG92ZXJdIH4gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYS1tYXNrIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzQxYjg4MzsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhIGlucHV0OmZvY3VzIH4gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYS1tYXNrOjpiZWZvcmUsXG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEgaW5wdXQ6aG92ZXIgfiAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhLW1hc2s6OmJlZm9yZSxcbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYSBpbnB1dFtkYXRhLWlzLWRyYWctaG92ZXJdIH4gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYS1tYXNrOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiODgzOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZS1wcm9ncmVzcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjZWNlO1xuICAgICAgaGVpZ2h0OiAuM2VtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMS4yNWVtO1xuICAgICAgd2lkdGg6IDVlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLjc1ZW07XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgLjI1cywgd2lkdGggLjI1cztcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtcHJvZ3Jlc3M6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4wOCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCI+PHBhdGggZD1cIk04Ljc2LDU2LjJjLTYuMzgtNi4zNCwzLjI2LTE2LDkuNjQtOS42OUwzOCw2NS44OCw4MC41NiwyMy4yOWM2LjM4LTYuMzgsMTYuMDcsMy4zMiw5LjY5LDkuNjlMNDIuODQsODAuMzdhNi44Myw2LjgzLDAsMCwxLTkuNjUsMFpcIi8+PC9zdmc+Jyk7XG4gICAgICAgIG1hc2stc2l6ZTogNzclO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDM7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtcHJvZ3Jlc3NbZGF0YS1qdXN0LWZpbmlzaGVkXSB7XG4gICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgIGhlaWdodDogMS4yNWVtOyB9XG4gICAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtcHJvZ3Jlc3NbZGF0YS1qdXN0LWZpbmlzaGVkXTo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cyAuMnMsIG9wYWNpdHkgLjI1cyAuMnM7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzW2RhdGEtaXMtZmluaXNoZWRdIHtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4yNXMsIHdpZHRoIC4yNXMsIGxlZnQgLjI1cywgdG9wLCAuMjVzLCBib3JkZXItcmFkaXVzIC4yNXM7XG4gICAgICAgIHdpZHRoOiAuM2VtO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIC4yM2VtIC4yM2VtIDA7IH1cbiAgICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZS1wcm9ncmVzc1tkYXRhLWlzLWZpbmlzaGVkXTo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xcztcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzIC5mb3JtdWxhdGUtZmlsZS1wcm9ncmVzcy1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MWI4ODM7XG4gICAgICAgIHdpZHRoOiAxJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMjsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVhbHRlLWZpbGUtbmFtZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMmVtOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11YWx0ZS1maWxlLW5hbWU6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLjdlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0uN2VtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThhOGE4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDY0LjA2IDgzLjU5XCI+PHBhdGggZD1cIk01NS45NCw4My41OWE4LjE2LDguMTYsMCwwLDAsOC4xMi04LjE2VjE5LjEyYTEuNzcsMS43NywwLDAsMC0uNTItMS4yNUw0Ni4yMS41OUExLjY5LDEuNjksMCwwLDAsNDUuMTQuMDhMNDQuNjksMGwtLjE4LDBIOC4xM0E4LjE4LDguMTgsMCwwLDAsMCw4LjE2Vjc1LjQxYTguMTYsOC4xNiwwLDAsMCw4LjEzLDguMTZINTUuOTRaTTQ2LjY4LDYsNTguMTEsMTcuMzhINDYuNjhaTTMuNTIsNzUuNDNWOC4xNkE0LjY0LDQuNjQsMCwwLDEsOC4xMywzLjUyaDM1VjE5LjE2YTEuNzUsMS43NSwwLDAsMCwxLjc2LDEuNzRINjAuNTVWNzUuNDNhNC42NSw0LjY1LDAsMCwxLTQuNjEsNC42NUg4LjEzQTQuNjUsNC42NSwwLDAsMSwzLjUyLDc1LjQzWlwiLz48L3N2Zz4nKTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICB3aWR0aDogMS4yNWVtO1xuICAgICAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC41ZW07IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXJlbW92ZSB7XG4gICAgICB3aWR0aDogMS4yNWVtO1xuICAgICAgaGVpZ2h0OiAxLjI1ZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYThhOGE4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4YThhODtcbiAgICAgIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1OS4xIDU5LjJcIj48cGF0aCBkPVwiTTEuNiw1Ny43YTUsNSwwLDAsMCwzLjUsMS41LDQuODUsNC44NSwwLDAsMCwzLjUtMS41bDIxLTIxLDIxLDIxYTUsNSwwLDAsMCwzLjUsMS41LDQuODUsNC44NSwwLDAsMCwzLjUtMS41LDUsNSwwLDAsMCwwLTcuMWwtMjEtMjEsMjEtMjFhNSw1LDAsMCwwLDAtNy4xLDUsNSwwLDAsMC03LjEsMGwtMjEsMjFMOC42LDEuN2E1LDUsMCwwLDAtNy4xLDAsNSw1LDAsMCwwLDAsNy4xbDIxLDIxTDEuNiw1MC43QTQuODMsNC44MywwLDAsMCwxLjYsNTcuN1pcIi8+PC9zdmc+Jyk7XG4gICAgICBtYXNrLXNpemU6IC42ZW07XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC43NWVtO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzOyB9XG4gICAgICBAbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZS1yZW1vdmU6aG92ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsgfSB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgbGlbZGF0YS1oYXMtZXJyb3JdIC5mb3JtdWxhdGUtZmlsZS1wcm9ncmVzcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzJjMmM7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyBsaVtkYXRhLWhhcy1wcmV2aWV3XSAuZm9ybXVhbHRlLWZpbGUtbmFtZTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC41ZW07IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlIHtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAuM2VtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NlY2VjZTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgICAgIHBhZGRpbmc6IC43NWVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGU6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICNhOGE4YTg7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGU6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDFiODgzOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlIDo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBoZWlnaHQ6IC41ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC41ZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLWltYWdlLXByZXZpZXcge1xuICAgICAgd2lkdGg6IDNlbTtcbiAgICAgIGhlaWdodDogM2VtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2VmZWZlZjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzLCBib3gtc2hhZG93IC4yNXMsIGJhY2tncm91bmQtY29sb3IgLjI1czsgfVxuICAgICAgQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtaW1hZ2UtcHJldmlldzpob3ZlciB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjJzO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpOyB9IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtaW1hZ2UtcHJldmlldyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMjVzOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gW2RhdGEtdHlwZT1cImltYWdlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEgLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYS1tYXNrOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA5MCA3MS4wNVwiPjxwYXRoIGQ9XCJNODIuODksMEg3LjFBNy4xMiw3LjEyLDAsMCwwLDAsNy4xMVY2NGE3LjExLDcuMTEsMCwwLDAsNy4xLDcuMUg4Mi45QTcuMTEsNy4xMSwwLDAsMCw5MCw2NFY3LjExQTcuMTIsNy4xMiwwLDAsMCw4Mi44OSwwWk02OS4yOCwzOS4zNWE1LjQ0LDUuNDQsMCwwLDAtOCwwTDUwLjU4LDUwLjc0LDMyLjM4LDMwLjg4YTUuMzEsNS4zMSwwLDAsMC03LjkyLDBMNC43NCw1Mi40VjcuMTFBMi4zNywyLjM3LDAsMCwxLDcuMTEsNC43NEg4Mi45YTIuMzcsMi4zNywwLDAsMSwyLjM2LDIuMzdWNTYuM1pcIi8+PGNpcmNsZSBjeD1cIjY3Ljc0XCIgY3k9XCIyMi4yNlwiIHI9XCI4LjUzXCIvPjwvc3ZnPicpOyB9XG4iXX0= */ \ No newline at end of file +.formulate-input{margin-bottom:1.5em}.formulate-input .formulate-input-label{display:block;line-height:1.5;font-size:.9em;font-weight:600;margin-bottom:.1em}.formulate-input .formulate-input-element{max-width:20em;margin-bottom:.1em}.formulate-input .formulate-input-help{color:#6d6d6d;font-size:.7em;font-weight:400;line-height:1.5;margin-bottom:.25em}.formulate-input .formulate-input-errors{list-style-type:none;padding:0;margin:0}.formulate-input .formulate-file-upload-error,.formulate-input .formulate-input-error{color:#960505;font-size:.8em;font-weight:300;line-height:1.5;margin-bottom:.25em}.formulate-input .formulate-input-group-item{margin-bottom:.5em}.formulate-input:last-child{margin-bottom:0}.formulate-input[data-classification=text] input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0}.formulate-input[data-classification=text] input::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input::placeholder{color:#a8a8a8}.formulate-input[data-classification=text] input:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=text] input[type=color]{height:1.1em;box-sizing:content-box}.formulate-input[data-classification=text] input[type=color]::-webkit-color-swatch-wrapper{padding:0 0 0 1.5em;display:flex;align-items:center;background-image:url('data:image/svg+xml;utf8,');background-repeat:no-repeat;background-size:.9em .9em;background-position:left .1em}.formulate-input[data-classification=text] input[type=color]::-webkit-color-swatch{display:block;height:1em;border-radius:.2em;border:0;flex:auto}.formulate-input[data-classification=text] input[type=color]::-moz-color-swatch{display:block;height:1em;border-radius:.2em;border:0;flex:auto}.formulate-input[data-classification=slider] input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font-size:1em;padding:.5em 0}.formulate-input[data-classification=slider] input:focus{outline:0}.formulate-input[data-classification=slider] input::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;appearance:none;width:1em;height:1em;border-radius:1em;background-color:#41b883;margin-top:calc(-.5em + 2px)}.formulate-input[data-classification=slider] input::-moz-range-thumb{cursor:pointer;-moz-appearance:none;appearance:none;width:1em;height:1em;border-radius:1em;background-color:#41b883;margin-top:calc(-.5em + 2px)}.formulate-input[data-classification=slider] input::-ms-thumb{cursor:pointer;appearance:none;width:1em;height:1em;border-radius:1em;background-color:#41b883;margin-top:calc(-.5em + 2px)}.formulate-input[data-classification=slider] input::-webkit-slider-runnable-track{-webkit-appearance:none;appearance:none;width:100%;height:4px;background-color:#efefef;border-radius:3px;margin:0;padding:0}.formulate-input[data-classification=textarea] textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0}.formulate-input[data-classification=textarea] textarea::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea::placeholder{color:#a8a8a8}.formulate-input[data-classification=textarea] textarea:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=button] button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0;border:1px solid #41b883;background-color:#41b883;color:#fff;min-width:0;width:auto;font-weight:700;cursor:pointer;display:inline-flex;align-items:center}.formulate-input[data-classification=button] button::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=button] button::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=button] button:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=button] button::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=button] button::placeholder{color:#a8a8a8}.formulate-input[data-classification=button] button:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=button] button[disabled]{background-color:#cecece;border-color:#cecece}.formulate-input[data-classification=button] button:active{background-color:#64c89b;border-color:#64c89b}.formulate-input[data-classification=select] .formulate-input-element{position:relative}.formulate-input[data-classification=select] .formulate-input-element:before{content:"";width:0;height:0;border-color:#cecece transparent transparent;border-style:solid;border-width:.3em .3em 0;top:50%;margin-top:-.1em;right:1em;position:absolute}.formulate-input[data-classification=select] select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;display:block;width:100%;font-weight:400;line-height:1.1em;margin:0;padding:.75em 2em .75em .75em}.formulate-input[data-classification=select] select::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select::placeholder{color:#a8a8a8}.formulate-input[data-classification=select] select:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=select] select[data-placeholder-selected]{color:#a8a8a8}.formulate-input[data-classification=box] .formulate-input-wrapper{display:flex;align-items:center}.formulate-input[data-classification=box] .formulate-input-element{overflow:hidden;display:flex;align-items:center}.formulate-input[data-classification=box] .formulate-input-element input{position:absolute;left:-999px}.formulate-input[data-classification=box] .formulate-input-element-decorator{display:block;width:1em;height:1em;border-radius:.25em;border:1px solid #cecece;position:relative}.formulate-input[data-classification=box] .formulate-input-element-decorator:before{content:"";display:block;background-size:contain;background-position:100%;width:calc(100% - .125em);height:calc(100% - .125em);box-sizing:border-box;position:absolute;top:.0625em;left:.0625em}.formulate-input[data-classification=box] .formulate-input-element[data-type=radio] .formulate-input-element-decorator{border-radius:1em}.formulate-input[data-classification=box] .formulate-input-element[data-type=radio] .formulate-input-element-decorator:before{border-radius:1em;width:calc(100% - .5em);height:calc(100% - .5em);top:.25em;left:.25em}.formulate-input[data-classification=box] .formulate-input-element input[type=checkbox]:checked~.formulate-input-element-decorator{border-color:#41b883}.formulate-input[data-classification=box] .formulate-input-element input[type=checkbox]:checked~.formulate-input-element-decorator:before{background-color:#41b883;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,')}.formulate-input[data-classification=box] .formulate-input-element input[type=radio]:checked~.formulate-input-element-decorator{border-color:#41b883}.formulate-input[data-classification=box] .formulate-input-element input[type=radio]:checked~.formulate-input-element-decorator:before{background-color:#41b883}.formulate-input[data-classification=box] .formulate-input-element input:focus~.formulate-input-element-decorator{border-color:#41b883}.formulate-input[data-classification=box] .formulate-input-label--after{margin-left:.5em}.formulate-input[data-classification=box] .formulate-input-label--before{margin-right:.5em}.formulate-input[data-classification=group]>.formulate-input-wrapper>.formulate-input-label{margin-bottom:.5em}.formulate-input[data-classification=file] .formulate-input-upload-area{width:100%;position:relative;padding:2em 0}.formulate-input[data-classification=file] .formulate-input-upload-area input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;position:absolute;left:0;right:0;bottom:0;top:0;width:100%;height:100%;z-index:5}.formulate-input[data-classification=file] .formulate-input-upload-area[data-has-files]{padding:0}.formulate-input[data-classification=file] .formulate-input-upload-area[data-has-files] input{display:none}.formulate-input[data-classification=file] .formulate-input-upload-area-mask{border-radius:.4em;pointer-events:none;position:absolute;display:flex;justify-content:center;align-items:center;left:0;right:0;top:0;bottom:0;border:2px dashed #a8a8a8;z-index:2}.formulate-input[data-classification=file] .formulate-input-upload-area-mask:before{content:"";background-color:#a8a8a8;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;width:2em;height:2em;position:absolute;pointer-events:none}.formulate-input[data-classification=file] .formulate-input-upload-area input:focus~.formulate-input-upload-area-mask,.formulate-input[data-classification=file] .formulate-input-upload-area input:hover~.formulate-input-upload-area-mask,.formulate-input[data-classification=file] .formulate-input-upload-area input[data-is-drag-hover]~.formulate-input-upload-area-mask{border-color:#41b883}.formulate-input[data-classification=file] .formulate-input-upload-area input:focus~.formulate-input-upload-area-mask:before,.formulate-input[data-classification=file] .formulate-input-upload-area input:hover~.formulate-input-upload-area-mask:before,.formulate-input[data-classification=file] .formulate-input-upload-area input[data-is-drag-hover]~.formulate-input-upload-area-mask:before{background-color:#41b883}.formulate-input[data-classification=file] .formulate-files{list-style-type:none;margin:0;padding:0}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress{background-color:#cecece;height:.3em;border-radius:1.25em;width:5em;overflow:hidden;position:absolute;right:.75em;transition:height .25s,width .25s;z-index:2}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;display:block;opacity:0;transform:scale(.08);background-color:#fff;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-size:77%;mask-size:77%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;z-index:3}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-just-finished]{width:1.25em;height:1.25em}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-just-finished]:before{transition:transform .25s .2s,opacity .25s .2s;transform:scale(1);opacity:1}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-is-finished]{transition:height .25s,width .25s,left .25s,top,.25s,border-radius .25s;width:.3em;height:100%;right:0;border-radius:0 .23em .23em 0}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress[data-is-finished]:before{transition:opacity .1s;opacity:0}.formulate-input[data-classification=file] .formulate-files .formulate-file-progress .formulate-file-progress-inner{background-color:#41b883;width:1%;position:absolute;left:0;bottom:0;top:0;z-index:2}.formulate-input[data-classification=file] .formulate-files .formualte-file-name{padding-left:1.5em;padding-right:2em}.formulate-input[data-classification=file] .formulate-files .formualte-file-name:before{position:absolute;left:.7em;top:50%;margin-top:-.7em;background-color:#a8a8a8;content:"";-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.25em;height:1.25em;display:inline-block;margin-right:.5em}.formulate-input[data-classification=file] .formulate-files .formulate-file-remove{width:1.25em;height:1.25em;border-radius:1em;border:1px solid #a8a8a8;background-color:#a8a8a8;-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');-webkit-mask-size:.6em;mask-size:.6em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;cursor:pointer;position:absolute;right:.75em;z-index:1;transition:transform .25s}@media (pointer:fine){.formulate-input[data-classification=file] .formulate-files .formulate-file-remove:hover{transform:scale(1.5)}}.formulate-input[data-classification=file] .formulate-files li{display:block}.formulate-input[data-classification=file] .formulate-files li[data-has-error] .formulate-file-progress{background-color:#dc2c2c}.formulate-input[data-classification=file] .formulate-files li[data-has-preview] .formualte-file-name:before{display:none}.formulate-input[data-classification=file] .formulate-files li+li{margin-top:.5em}.formulate-input[data-classification=file] .formulate-files .formulate-file{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.3em;border:1px solid #cecece;box-sizing:border-box;background-color:transparent;font-size:.9em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:.75em;font-weight:400;line-height:1.1em;margin:0;display:block;width:100%;display:flex;justify-content:flex-start;align-items:center;position:relative}.formulate-input[data-classification=file] .formulate-files .formulate-file::-webkit-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file::-moz-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file:-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file::-ms-input-placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file::placeholder{color:#a8a8a8}.formulate-input[data-classification=file] .formulate-files .formulate-file:focus{outline:0;border:1px solid #41b883}.formulate-input[data-classification=file] .formulate-files .formulate-file ::-webkit-progress-bar{-webkit-appearance:none;appearance:none;height:.5em;border-radius:.5em;overflow:hidden}.formulate-input[data-classification=file] .formulate-files .formulate-file-image-preview{width:3em;height:3em;position:relative;z-index:2;left:-1px;box-shadow:0 0 0 1px #efefef;transition:transform .25s,box-shadow .25s,background-color .25s}@media (pointer:fine){.formulate-input[data-classification=file] .formulate-files .formulate-file-image-preview:hover{transition-delay:.2s;transform:scale(3);background-color:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.1)}}.formulate-input[data-classification=file] .formulate-files .formulate-file-image-preview img{display:block;position:absolute;width:100%;height:100%;left:0;right:0;bottom:0;top:0;-o-object-fit:contain;object-fit:contain;transition:all .25s}.formulate-input[data-classification=file] [data-type=image] .formulate-input-upload-area .formulate-input-upload-area-mask:before{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,')} +/*# sourceMappingURL=data:application/json;base64,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QUM3QiwrREFBb0UsQ0FDcEUsc0JBQ0UsZ0dBQ0Usb0JBQXFCLENBQ3JCLGtCQUFtQixDQUNuQixxQkFBeUIsQ0FDekIsbUNBQTBDLENBQUUsQ0FDaEQsOEZBQ0UsYUFBYyxDQUNkLGlCQUFrQixDQUNsQixVQUFXLENBQ1gsV0FBWSxDQUNaLE1BQU8sQ0FDUCxPQUFRLENBQ1IsUUFBUyxDQUNULEtBQU0sQ0FDTixxQkFBbUIsQ0FBbkIsa0JBQW1CLENBQ25CLG1CQUFzQixDQUM1QixtSUFDRSwrYkFBd2IsQ0FBeGIsdWJBQTBiIiwiZmlsZSI6InN0ZGluIiwic291cmNlc0NvbnRlbnQiOlsiLmZvcm11bGF0ZS1pbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXQgLmZvcm11bGF0ZS1pbnB1dC1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuMWVtOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXQgLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IHtcbiAgICBtYXgtd2lkdGg6IDIwZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLjFlbTsgfVxuICAuZm9ybXVsYXRlLWlucHV0IC5mb3JtdWxhdGUtaW5wdXQtaGVscCB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgZm9udC1zaXplOiAuN2VtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiAuMjVlbTsgfVxuICAuZm9ybXVsYXRlLWlucHV0IC5mb3JtdWxhdGUtaW5wdXQtZXJyb3JzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dCAuZm9ybXVsYXRlLWlucHV0LWVycm9yLFxuICAuZm9ybXVsYXRlLWlucHV0IC5mb3JtdWxhdGUtZmlsZS11cGxvYWQtZXJyb3Ige1xuICAgIGNvbG9yOiAjOTYwNTA1O1xuICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1ZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dCAuZm9ybXVsYXRlLWlucHV0LWdyb3VwLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IC41ZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dCddIGlucHV0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NlY2VjZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4gICAgcGFkZGluZzogLjc1ZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSd0ZXh0J10gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjYThhOGE4OyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSd0ZXh0J10gaW5wdXQ6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MWI4ODM7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSd0ZXh0J10gaW5wdXRbdHlwZT1cImNvbG9yXCJdIHtcbiAgICBoZWlnaHQ6IDEuMWVtO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSd0ZXh0J10gaW5wdXRbdHlwZT1cImNvbG9yXCJdOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDEuNWVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzkuMTcgNzkuMTdcIj48cGF0aCBmaWxsPVwiJTIzNmQ2ZDZkXCIgZD1cIk00MC44LDIyLjkyYy0zLjQtMy40LTQuNzYtOC40NC0xLTEyLjI0czguODQtMi40NCwxMi4yNCwxYzUtNSwxMC42OS0xMy4zMywxOC44MS0xMS4zMWExMSwxMSwwLDAsMSw3LjYyLDE0LjM0Yy0xLjI2LDMuNDUtNC42Myw2LjA2LTcuMTYsOC41OS0uOTIuOTMtMywyLjI2LTMuNDYsMy40Ni0uNDIsMSwxLjgyLDIuNjMsMi4zNiw0YTgsOCwwLDAsMS0xMi40Miw5LjE5Yy0uMjEtLjE2LTEuMzUtMS41MS0xLjU5LTEuNTFzLS44My44My0xLDFMNDkuNzEsNDQuOSwzMi40Myw2Mi4xOGMtMy4zNywzLjM4LTYuNiw3LjE0LTEwLjI2LDEwLjIxYTExLDExLDAsMCwxLTQuNDgsMi4yOGMtMS4yNS4zLTMuMTEtLjIyLTQuMTguMTgtMS4yOC40OC0yLjQyLDIuNjUtMy42OCwzLjQtNi4wNSwzLjYxLTEyLjY0LTQtOC40Ni05LjU3LjczLTEsMi41My0xLjkyLDMtM2ExNC40NiwxNC40NiwwLDAsMC0uMDktMi41MiwxMC43NSwxMC43NSwwLDAsMSwzLjE0LTYuNzdjLjkyLTEsMS45My0xLjkzLDIuODktMi45Wm00LjQtMS41YzQuMTksNCw4LjI0LDguMjQsMTIuMzYsMTIuMzYsMi4wNiwyLjA2LDUsNS41OSw4LDIuNjEsNC42NS00LjYyLTUtNi44LTIuNDItMTAuNzhDNjYuMywyMC43LDc2LjQsMTYuNDgsNzQuODQsOS40NSw3My42Miw0LDY3LjEyLDIuNzgsNjMuMjksNi4zMmMtMi41NSwyLjM2LTQuOTMsNC45NC03LjM5LDcuNC0uNzkuNzgtMS44LDIuMjgtMi44OCwyLjczLTIuMTQuODgtMy40LTEuNjItNC43OS0yLjc3LTIuNTgtMi4xNC02Ljg5LS44Mi02LjUzLDNDNDEuODksMTguNjgsNDMuODcsMjAuMDksNDUuMiwyMS40MlptLTEuNDUsNC40NEwyNy44Miw0MS43OUMyMiw0Ny41NywxNS44OSw1My4xNCwxMC40MSw1OS4yYTguMjMsOC4yMywwLDAsMC0xLjQ0LDJjLS45MywyLC4yNSw0LjE0LS41LDZTNC45Miw2OS45NCw0LjMsNzJhMi4zNCwyLjM0LDAsMCwwLDIuNTYsM2MxLjExLS4xNywyLTEuMzMsMi43MS0yLjA3YTExLjE3LDExLjE3LDAsMCwxLDIuMDgtMmMxLjY4LS45NCw0LC4xNyw1LjkzLS41N0MyMCw2OS40MSwyMiw2Ni43MywyMy43Niw2NUwzNC40Miw1NC4zLDUzLjMsMzUuNDJaXCIvPjwvc3ZnPicpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogLjllbSAuOWVtO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAuMWVtOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSd0ZXh0J10gaW5wdXRbdHlwZT1cImNvbG9yXCJdOjotd2Via2l0LWNvbG9yLXN3YXRjaCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogLjJlbTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGZsZXg6IGF1dG87IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3RleHQnXSBpbnB1dFt0eXBlPVwiY29sb3JcIl06Oi1tb3otY29sb3Itc3dhdGNoIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAuMmVtO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgZmxleDogYXV0bzsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NsaWRlciddIGlucHV0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHBhZGRpbmc6IC41ZW0gMDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nc2xpZGVyJ10gaW5wdXQ6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nc2xpZGVyJ10gaW5wdXQ6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiODgzO1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygtLjVlbSArIDJweCk7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NsaWRlciddIGlucHV0OjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiODgzO1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygtLjVlbSArIDJweCk7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NsaWRlciddIGlucHV0OjotbXMtdGh1bWIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MWI4ODM7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0uNWVtICsgMnB4KTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nc2xpZGVyJ10gaW5wdXQ6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSd0ZXh0YXJlYSddIHRleHRhcmVhIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NlY2VjZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4gICAgcGFkZGluZzogLjc1ZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSd0ZXh0YXJlYSddIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2E4YThhODsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0ndGV4dGFyZWEnXSB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQxYjg4MzsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2J1dHRvbiddIGJ1dHRvbiB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAuM2VtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgIHBhZGRpbmc6IC43NWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItY29sb3I6ICM0MWI4ODM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdidXR0b24nXSBidXR0b246OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjYThhOGE4OyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdidXR0b24nXSBidXR0b246Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MWI4ODM7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2J1dHRvbiddIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NlY2VjZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NlY2VjZTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYnV0dG9uJ10gYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRjODliO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNjRjODliOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nc2VsZWN0J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J3NlbGVjdCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXI6IC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjY2VjZWNlO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLS4xZW07XG4gICAgICByaWdodDogMWVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nc2VsZWN0J10gc2VsZWN0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NlY2VjZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4gICAgcGFkZGluZzogLjc1ZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nc2VsZWN0J10gc2VsZWN0OjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2E4YThhODsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nc2VsZWN0J10gc2VsZWN0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDFiODgzOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdzZWxlY3QnXSBzZWxlY3RbZGF0YS1wbGFjZWhvbGRlci1zZWxlY3RlZF0ge1xuICAgICAgY29sb3I6ICNhOGE4YTg7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPSdib3gnXSAuZm9ybXVsYXRlLWlucHV0LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudCBpbnB1dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtOTk5cHg7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudC1kZWNvcmF0b3Ige1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAuMjVlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gLjEyNWVtKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAuMTI1ZW0pO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLjA2MjVlbTtcbiAgICAgICAgbGVmdDogLjA2MjVlbTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1lbGVtZW50W2RhdGEtdHlwZT1cInJhZGlvXCJdIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudC1kZWNvcmF0b3Ige1xuICAgICAgYm9yZGVyLXJhZGl1czogMWVtOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudFtkYXRhLXR5cGU9XCJyYWRpb1wiXSAuZm9ybXVsYXRlLWlucHV0LWVsZW1lbnQtZGVjb3JhdG9yOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxZW07XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAuNWVtKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAuNWVtKTtcbiAgICAgICAgdG9wOiAuMjVlbTtcbiAgICAgICAgbGVmdDogLjI1ZW07IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB+IC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudC1kZWNvcmF0b3Ige1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNDFiODgzOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB+IC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudC1kZWNvcmF0b3I6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MWI4ODM7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCI+PHBhdGggZD1cIk04Ljc2LDU2LjJjLTYuMzgtNi4zNCwzLjI2LTE2LDkuNjQtOS42OUwzOCw2NS44OCw4MC41NiwyMy4yOWM2LjM4LTYuMzgsMTYuMDcsMy4zMiw5LjY5LDkuNjlMNDIuODQsODAuMzdhNi44Myw2LjgzLDAsMCwxLTkuNjUsMFpcIi8+PC9zdmc+Jyk7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCB+IC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudC1kZWNvcmF0b3Ige1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNDFiODgzOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCB+IC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudC1kZWNvcmF0b3I6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MWI4ODM7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249J2JveCddIC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudCBpbnB1dDpmb2N1cyB+IC5mb3JtdWxhdGUtaW5wdXQtZWxlbWVudC1kZWNvcmF0b3Ige1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNDFiODgzOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1sYWJlbC0tYWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAuNWVtOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj0nYm94J10gLmZvcm11bGF0ZS1pbnB1dC1sYWJlbC0tYmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC41ZW07IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZ3JvdXBcIl0gPiAuZm9ybXVsYXRlLWlucHV0LXdyYXBwZXIgPiAuZm9ybXVsYXRlLWlucHV0LWxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtOyB9XG4gIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDJlbSAwOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhIGlucHV0IHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiA1OyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhW2RhdGEtaGFzLWZpbGVzXSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWFbZGF0YS1oYXMtZmlsZXNdIGlucHV0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYS1tYXNrIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IC40ZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXI6IDJweCBkYXNoZWQgI2E4YThhODtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYS1tYXNrOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4YThhODtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDU4IDU4XCI+PHBhdGggZD1cIk0yOSw1OEEyOSwyOSwwLDEsMCwwLDI5LDI5LDI5LDAsMCwwLDI5LDU4Wk0yOSw0QTI1LDI1LDAsMSwxLDQsMjksMjUsMjUsMCwwLDEsMjksNFpcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjcgMjIgMjcgNDQuNCAzMSA0NC40IDMxIDIyIDQxLjcgMzEuMSA0NC4zIDI4LjEgMjkgMTUgMTMuNyAyOC4xIDE2LjMgMzEuMSAyNyAyMlwiLz48L3N2Zz4nKTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYSBpbnB1dDpmb2N1cyB+IC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzayxcbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEgaW5wdXQ6aG92ZXIgfiAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhLW1hc2ssXG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhIGlucHV0W2RhdGEtaXMtZHJhZy1ob3Zlcl0gfiAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhLW1hc2sge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNDFiODgzOyB9XG4gICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEgaW5wdXQ6Zm9jdXMgfiAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhLW1hc2s6OmJlZm9yZSxcbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYSBpbnB1dDpob3ZlciB+IC5mb3JtdWxhdGUtaW5wdXQtdXBsb2FkLWFyZWEtbWFzazo6YmVmb3JlLFxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhIGlucHV0W2RhdGEtaXMtZHJhZy1ob3Zlcl0gfiAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhLW1hc2s6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MWI4ODM7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWNlY2U7XG4gICAgICBoZWlnaHQ6IC4zZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjI1ZW07XG4gICAgICB3aWR0aDogNWVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAuNzVlbTtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuMjVzLCB3aWR0aCAuMjVzO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZS1wcm9ncmVzczo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjA4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIj48cGF0aCBkPVwiTTguNzYsNTYuMmMtNi4zOC02LjM0LDMuMjYtMTYsOS42NC05LjY5TDM4LDY1Ljg4LDgwLjU2LDIzLjI5YzYuMzgtNi4zOCwxNi4wNywzLjMyLDkuNjksOS42OUw0Mi44NCw4MC4zN2E2LjgzLDYuODMsMCwwLDEtOS42NSwwWlwiLz48L3N2Zz4nKTtcbiAgICAgICAgbWFzay1zaXplOiA3NyU7XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMzsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZS1wcm9ncmVzc1tkYXRhLWp1c3QtZmluaXNoZWRdIHtcbiAgICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjI1ZW07IH1cbiAgICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZS1wcm9ncmVzc1tkYXRhLWp1c3QtZmluaXNoZWRdOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIC4ycywgb3BhY2l0eSAuMjVzIC4ycztcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtcHJvZ3Jlc3NbZGF0YS1pcy1maW5pc2hlZF0ge1xuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgLjI1cywgd2lkdGggLjI1cywgbGVmdCAuMjVzLCB0b3AsIC4yNXMsIGJvcmRlci1yYWRpdXMgLjI1cztcbiAgICAgICAgd2lkdGg6IC4zZW07XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgLjIzZW0gLjIzZW0gMDsgfVxuICAgICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzW2RhdGEtaXMtZmluaXNoZWRdOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjFzO1xuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtcHJvZ3Jlc3MgLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYjg4MztcbiAgICAgICAgd2lkdGg6IDElO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWFsdGUtZmlsZS1uYW1lIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVhbHRlLWZpbGUtbmFtZTo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAuN2VtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLS43ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGE4YTg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNjQuMDYgODMuNTlcIj48cGF0aCBkPVwiTTU1Ljk0LDgzLjU5YTguMTYsOC4xNiwwLDAsMCw4LjEyLTguMTZWMTkuMTJhMS43NywxLjc3LDAsMCwwLS41Mi0xLjI1TDQ2LjIxLjU5QTEuNjksMS42OSwwLDAsMCw0NS4xNC4wOEw0NC42OSwwbC0uMTgsMEg4LjEzQTguMTgsOC4xOCwwLDAsMCwwLDguMTZWNzUuNDFhOC4xNiw4LjE2LDAsMCwwLDguMTMsOC4xNkg1NS45NFpNNDYuNjgsNiw1OC4xMSwxNy4zOEg0Ni42OFpNMy41Miw3NS40M1Y4LjE2QTQuNjQsNC42NCwwLDAsMSw4LjEzLDMuNTJoMzVWMTkuMTZhMS43NSwxLjc1LDAsMCwwLDEuNzYsMS43NEg2MC41NVY3NS40M2E0LjY1LDQuNjUsMCwwLDEtNC42MSw0LjY1SDguMTNBNC42NSw0LjY1LDAsMCwxLDMuNTIsNzUuNDNaXCIvPjwvc3ZnPicpO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgIGhlaWdodDogMS4yNWVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtcmVtb3ZlIHtcbiAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhOGE4YTg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThhOGE4O1xuICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDU5LjEgNTkuMlwiPjxwYXRoIGQ9XCJNMS42LDU3LjdhNSw1LDAsMCwwLDMuNSwxLjUsNC44NSw0Ljg1LDAsMCwwLDMuNS0xLjVsMjEtMjEsMjEsMjFhNSw1LDAsMCwwLDMuNSwxLjUsNC44NSw0Ljg1LDAsMCwwLDMuNS0xLjUsNSw1LDAsMCwwLDAtNy4xbC0yMS0yMSwyMS0yMWE1LDUsMCwwLDAsMC03LjEsNSw1LDAsMCwwLTcuMSwwbC0yMSwyMUw4LjYsMS43YTUsNSwwLDAsMC03LjEsMCw1LDUsMCwwLDAsMCw3LjFsMjEsMjFMMS42LDUwLjdBNC44Myw0LjgzLDAsMCwwLDEuNiw1Ny43WlwiLz48L3N2Zz4nKTtcbiAgICAgIG1hc2stc2l6ZTogLjZlbTtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLjc1ZW07XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXM7IH1cbiAgICAgIEBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgLmZvcm11bGF0ZS1maWxlLXJlbW92ZTpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOyB9IH1cbiAgICAuZm9ybXVsYXRlLWlucHV0W2RhdGEtY2xhc3NpZmljYXRpb249XCJmaWxlXCJdIC5mb3JtdWxhdGUtZmlsZXMgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyBsaVtkYXRhLWhhcy1lcnJvcl0gLmZvcm11bGF0ZS1maWxlLXByb2dyZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMmMyYzsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIGxpW2RhdGEtaGFzLXByZXZpZXddIC5mb3JtdWFsdGUtZmlsZS1uYW1lOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjVlbTsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUge1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IC4zZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VjZWNlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgICAgcGFkZGluZzogLjc1ZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZTo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogI2E4YThhODsgfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZTpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MWI4ODM7IH1cbiAgICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUgOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGhlaWdodDogLjVlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogLjVlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5mb3JtdWxhdGUtaW5wdXRbZGF0YS1jbGFzc2lmaWNhdGlvbj1cImZpbGVcIl0gLmZvcm11bGF0ZS1maWxlcyAuZm9ybXVsYXRlLWZpbGUtaW1hZ2UtcHJldmlldyB7XG4gICAgICB3aWR0aDogM2VtO1xuICAgICAgaGVpZ2h0OiAzZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbGVmdDogLTFweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZWZlZmVmO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXMsIGJveC1zaGFkb3cgLjI1cywgYmFja2dyb3VuZC1jb2xvciAuMjVzOyB9XG4gICAgICBAbWVkaWEgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZS1pbWFnZS1wcmV2aWV3OmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMnM7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgzKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7IH0gfVxuICAgICAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSAuZm9ybXVsYXRlLWZpbGVzIC5mb3JtdWxhdGUtZmlsZS1pbWFnZS1wcmV2aWV3IGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4yNXM7IH1cbiAgLmZvcm11bGF0ZS1pbnB1dFtkYXRhLWNsYXNzaWZpY2F0aW9uPVwiZmlsZVwiXSBbZGF0YS10eXBlPVwiaW1hZ2VcIl0gLmZvcm11bGF0ZS1pbnB1dC11cGxvYWQtYXJlYSAuZm9ybXVsYXRlLWlucHV0LXVwbG9hZC1hcmVhLW1hc2s6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDkwIDcxLjA1XCI+PHBhdGggZD1cIk04Mi44OSwwSDcuMUE3LjEyLDcuMTIsMCwwLDAsMCw3LjExVjY0YTcuMTEsNy4xMSwwLDAsMCw3LjEsNy4xSDgyLjlBNy4xMSw3LjExLDAsMCwwLDkwLDY0VjcuMTFBNy4xMiw3LjEyLDAsMCwwLDgyLjg5LDBaTTY5LjI4LDM5LjM1YTUuNDQsNS40NCwwLDAsMC04LDBMNTAuNTgsNTAuNzQsMzIuMzgsMzAuODhhNS4zMSw1LjMxLDAsMCwwLTcuOTIsMEw0Ljc0LDUyLjRWNy4xMUEyLjM3LDIuMzcsMCwwLDEsNy4xMSw0Ljc0SDgyLjlhMi4zNywyLjM3LDAsMCwxLDIuMzYsMi4zN1Y1Ni4zWlwiLz48Y2lyY2xlIGN4PVwiNjcuNzRcIiBjeT1cIjIyLjI2XCIgcj1cIjguNTNcIi8+PC9zdmc+Jyk7IH1cbiJdfQ== */ \ No newline at end of file diff --git a/src/FormSubmission.js b/src/FormSubmission.js index 74f2cab..54f8292 100644 --- a/src/FormSubmission.js +++ b/src/FormSubmission.js @@ -26,10 +26,10 @@ export default class FormSubmission { values () { return new Promise((resolve, reject) => { const pending = [] - const values = cloneDeep(this.form.internalModelProxy) + const values = cloneDeep(this.form.internalFormModelProxy) for (const key in values) { - if (typeof this.form.internalModelProxy[key] === 'object' && this.form.internalModelProxy[key] instanceof FileUpload) { - pending.push(this.form.internalModelProxy[key].upload()) + if (typeof this.form.internalFormModelProxy[key] === 'object' && this.form.internalFormModelProxy[key] instanceof FileUpload) { + pending.push(this.form.internalFormModelProxy[key].upload()) } } /** diff --git a/src/FormulateForm.vue b/src/FormulateForm.vue index cf024ba..2f9de8e 100644 --- a/src/FormulateForm.vue +++ b/src/FormulateForm.vue @@ -85,11 +85,20 @@ export default { }, register (field, component) { this.registry[field] = component - if (!component.$options.propsData.hasOwnProperty('formulateValue') && this.hasFormulateValue && this.formulateValue[field]) { + const hasVModelValue = Object.prototype.hasOwnProperty.call(component.$options.propsData, 'formulateValue') + const hasValue = Object.prototype.hasOwnProperty.call(component.$options.propsData, 'value') + if ( + !hasVModelValue && + this.hasFormulateValue && + this.formulateValue[field] + ) { // In the case that the form is carrying an initial value and the // element is not, set it directly. component.context.model = this.formulateValue[field] - } else if (component.$options.propsData.hasOwnProperty('formulateValue') && !shallowEqualObjects(component.internalModelProxy, this.formulateValue[field])) { + } else if ( + (hasVModelValue || hasValue) && + !shallowEqualObjects(component.internalModelProxy, this.formulateValue[field]) + ) { this.setFieldValue(field, component.internalModelProxy) } }, @@ -98,9 +107,9 @@ export default { this.showErrors() const submission = new FormSubmission(this) this.$emit('submit-raw', submission) - submission.hasValidationErrors() + return submission.hasValidationErrors() .then(hasErrors => hasErrors ? false : submission.values()) - .then(json => this.$emit('submit', json)) + .then(json => json !== false ? this.$emit('submit', json) : null) }, showErrors () { for (const fieldName in this.registry) { diff --git a/src/libs/utils.js b/src/libs/utils.js index 03c81d8..28e770b 100644 --- a/src/libs/utils.js +++ b/src/libs/utils.js @@ -203,7 +203,7 @@ export function cloneDeep (obj) { const newObj = {} for (const key in obj) { if (obj[key] instanceof FileUpload || isValueType(obj[key])) { - newObj[key] = obj + newObj[key] = obj[key] } else { newObj[key] = cloneDeep(obj[key]) } diff --git a/test/FormulateForm.test.js b/test/FormulateForm.test.js index 94e96b1..f5a0bc7 100644 --- a/test/FormulateForm.test.js +++ b/test/FormulateForm.test.js @@ -61,6 +61,20 @@ describe('FormulateForm', () => { expect(wrapper.find('input').element.value).toBe('123') }) + it('lets fields set form initial value with value prop', () => { + const wrapper = mount({ + data () { + return { + formValues: {} + } + }, + template: ` + + ` + }) + expect(wrapper.vm.formValues).toEqual({ name: '123' }) + }) + it('receives updates to form model when individual fields are edited', () => { const wrapper = mount({ data () { @@ -132,7 +146,7 @@ describe('FormulateForm', () => { }) - it('it emits an instance of FormSubmission', async () => { + it('emits an instance of FormSubmission', async () => { const wrapper = mount(FormulateForm, { slots: { default: '' } }) @@ -141,7 +155,7 @@ describe('FormulateForm', () => { expect(wrapper.emitted('submit-raw')[0][0]).toBeInstanceOf(FormSubmission) }) - it('it resolves hasValidationErrors to true', async () => { + it('resolves hasValidationErrors to true', async () => { const wrapper = mount(FormulateForm, { slots: { default: '' } }) @@ -150,4 +164,15 @@ describe('FormulateForm', () => { const submission = wrapper.emitted('submit-raw')[0][0] expect(await submission.hasValidationErrors()).toBe(true) }) + + it('resolves submitted form values to an object', async () => { + const wrapper = mount(FormulateForm, { + slots: { default: '' } + }) + wrapper.find('form').trigger('submit') + await flushPromises() + const submission = await wrapper.vm.formSubmitted() + await flushPromises() + expect(submission).toEqual({testinput: 'Justin'}) + }) }) diff --git a/test/utils.test.js b/test/utils.test.js index 5cdca70..73089f8 100644 --- a/test/utils.test.js +++ b/test/utils.test.js @@ -1,5 +1,6 @@ -import { parseRules, regexForFormat } from '@/libs/utils' +import { parseRules, regexForFormat, cloneDeep, isValueType } from '@/libs/utils' import rules from '@/libs/rules' +import FileUpload from '@/FileUpload'; describe('parseRules', () => { it('parses single string rules, returning empty arguments array', () => { @@ -83,3 +84,36 @@ describe('regexForFormat', () => { it('fails date like YYYY-MM-DD with out of bounds day', () => expect(regexForFormat('YYYY-MM-DD').test('1987-01-32')).toBe(false)) }) + +describe('isValueType', () => { + it('passes on strings', () => expect(isValueType('hello')).toBe(true)) + + it('passes on numbers', () => expect(isValueType(123)).toBe(true)) + + it('passes on booleans', () => expect(isValueType(false)).toBe(true)) + + it('passes on symbols', () => expect(isValueType(Symbol(123))).toBe(true)) + + it('passes on null', () => expect(isValueType(null)).toBe(true)) + + it('passes on undefined', () => expect(isValueType(undefined)).toBe(true)) + + it('fails on pojo', () => expect(isValueType({})).toBe(false)) + + it('fails on custom type', () => expect(isValueType(FileUpload)).toBe(false)) +}) + +describe('cloneDeep', () => { + it('basic objects stay the same', () => expect(cloneDeep({ a: 123, b: 'hello' })).toEqual({ a: 123, b: 'hello' })) + + it('basic nested objects stay the same', () => { + expect(cloneDeep({ a: 123, b: { c: 'hello-world' } })) + .toEqual({ a: 123, b: { c: 'hello-world' } }) + }) + + it('simple pojo reference types are re-created', () => { + const c = { c: 'hello-world' } + const clone = cloneDeep({ a: 123, b: c }) + expect(clone.b === c).toBe(false) + }) +}) diff --git a/themes/snow/_inputs.scss b/themes/snow/_inputs.scss index d266247..3c1ba09 100644 --- a/themes/snow/_inputs.scss +++ b/themes/snow/_inputs.scss @@ -2,7 +2,7 @@ // ----------------------------------------------------------------------------- .formulate-input { - margin-bottom: 2em; + margin-bottom: 1.5em; .formulate-input-label { display: block;