Changeset 3487728
- Timestamp:
- 03/21/2026 11:01:06 AM (13 days ago)
- Location:
- videomail-for-ninja-forms
- Files:
-
- 10 edited
- 1 copied
-
tags/10.2.0 (copied) (copied from videomail-for-ninja-forms/trunk)
-
tags/10.2.0/readme.txt (modified) (2 diffs)
-
tags/10.2.0/target/js/main-min.js (modified) (1 diff)
-
tags/10.2.0/target/js/videomail-client/index-min.js (modified) (14 diffs)
-
tags/10.2.0/target/php/videomail.php (modified) (1 diff)
-
tags/10.2.0/videomail-for-ninja-forms.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/target/js/main-min.js (modified) (1 diff)
-
trunk/target/js/videomail-client/index-min.js (modified) (14 diffs)
-
trunk/target/php/videomail.php (modified) (1 diff)
-
trunk/videomail-for-ninja-forms.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
videomail-for-ninja-forms/tags/10.2.0/readme.txt
r3455776 r3487728 4 4 Requires at least: 6.0 5 5 Tested up to: 6.9.1 6 Stable tag: 10. 1.06 Stable tag: 10.2.0 7 7 Requires PHP: 8.1.0 8 8 Donate link: https://videomail.io/faq … … 73 73 == Changelog == 74 74 75 = 10.2.0 (21 Mar 2026) = 76 77 **Change:** 78 * Remove obsolete WebSocket options to reduce race-condition related errors 79 80 **Chore** 81 * Upgrade VC dependency 82 * Apply patches 83 * Export types 84 75 85 = 10.1.0 (7 Feb 2026) = 76 86 **Improvement** -
videomail-for-ninja-forms/tags/10.2.0/target/js/main-min.js
r3455776 r3487728 1 let PLUGIN_VERSION="10. 1.0",DEBUG=!1,VideomailFieldController=Marionette.Object.extend({videomailClient:null,fieldModel:null,channel:Backbone.Radio.channel("videomail"),initialize:function(){Backbone.Radio.DEBUG=DEBUG,this.listenToOnce(this.channel,"init:model",this.registerVideomailField),this.listenToOnce(this.channel,"attach:view",this.loadVideomailClient),this.listenTo(this.channel,"all",function(e){DEBUG&&console.log("Videomail channel event triggered:",e),this.listenTo(nfRadio.channel("nfMP"),"change:part",function(e){DEBUG&&console.log("nfMP channel event triggered:","change:part");e=e.currentElement?.attributes?.formContentData?.models||[];let i=this.fieldModel.cid;e.find(function(e){return e.cid===i})?this.loadVideomailClient():this.videomailClient.unload()})})},getFormId:function(){return this.fieldModel.get("formID")},registerVideomailField:function(e){this.fieldModel=e,this.channel.reply("validate:required",this.validateRequired,this),this.channel.reply("validate:modelData",this.validateVideomail,this),Backbone.Radio.channel("form-"+this.getFormId()).reply("maybe:submit",this.maybeSubmit,this,e)},loadVideomailClient:function(){let e=this.fieldModel.get("image_quality")||40;100<e?e=100:e<1&&(e=1);var i=this.fieldModel.get("verbose")||DEBUG;DEBUG=DEBUG||i,Backbone.Radio.DEBUG=Backbone.Radio.DEBUG||i,this.videomailClient=new VideomailClient.VideomailClient({whitelistKey:this.fieldModel.get("whitelist_key")||this.fieldModel.get("site_name"),video:{limitSeconds:this.fieldModel.get("limit_seconds")||90,width:this.fieldModel.get("width")||320,stretch:this.fieldModel.get("stretch")||!1,countdown:this.fieldModel.get("countdown")||!1},audio:{enabled:this.fieldModel.get("audio_enabled")},image:{quality:e/100},selectors:{containerId:"videomail",submitButtonSelector:".submit-wrap input"},callbacks:{adjustFormDataBeforePosting:this.adjustFormDataBeforePostingToVideomailServer.bind(this)},loadUserMediaOnRecord:this.fieldModel.get("load_user_media_on_record"),disableFormWhenSubmitting:this.fieldModel.get("disable_form_when_submitting"),enableAutoValidation:!1,enableAutoSubmission:!1,verbose:i,versions:{videomailNinjaFormPlugin:PLUGIN_VERSION}}),this.videomailClient.on("PREVIEW",this.onPreview.bind(this)),this.videomailClient.on("SUBMITTED",this.onSubmitted.bind(this)),this.videomailClient.on("GOING_BACK",this.onGoingBack.bind(this)),this.videomailClient.show()},onPreview:function(e){this.fieldModel.set("videomail-key",e),this.fieldModel.set("value",e),Backbone.Radio.channel("fields").request("remove:error",this.fieldModel.get("id"),"required-error")},onSubmitted:function(e){let i=Backbone.Radio.channel("app").request("get:form",this.getFormId());i=i||this.fieldModel.collection.options.formModel,Backbone.Radio.channel("form-"+i.get("id")).request("add:extra","videomail",e.videomail),Backbone.Radio.channel("form-"+this.getFormId()).request("submit",i)},onGoingBack:function(){this.fieldModel.set("videomail-key",null),this.invalidate()},validateRequired:function(e,i){i=this.validateVideomail(i);return i||this.invalidate(),i},invalidate:function(){Backbone.Radio.channel("fields").request("add:error",this.fieldModel.get("id"),"required-error","Record and click on stop to see a preview video.")},validateVideomail:function(e){return(e=e||this.fieldModel).get("videomail-key")||!1},hasErrors:function(e){return 0<e.get("errors").length},maybeSubmit:function(e){let i=!0;var t=e.getExtra("videomail"),o=this.validateVideomail(),e=this.hasErrors(e);return t||e||!o||(this.videomailClient.submit(),i=!1),i},getMergeTagValue:function(e,i){let t=this.fieldModel.get(e);if(t&&("{wp:admin_email}"===t?t=window.nfVideomail.admin_email:(e=(e=t.match(/{field:(.*)}/i))&&e[1])!==t&&(t=t.replace(/{field:(.*)}/i,i[e]))),"undefined"!==t)return t},getFormValues:function(){let e;var i=Backbone.Radio.channel("app").request("get:form",this.getFormId()),i=(i?e=i.get("fields"):this.fieldModel.collection.options.formModel.get("fields").models&&(e=this.fieldModel.collection.options.formModel.get("fields").models),e.reduce(function(e,i){return e[i.get("key")]=i.get("value"),e},{}));return i},adjustFormDataBeforePostingToVideomailServer:function(e){var i=this.getFormValues();return e.from=this.getMergeTagValue("email_from",i),e.to=this.getMergeTagValue("email_to",i),e.subject=this.getMergeTagValue("email_subject",i),e.body=this.getMergeTagValue("email_body",i),e},onBeforeDestroy:function(){this.videomailClient.unload(),delete this.videomailClient}});jQuery(document).ready(function(){return new VideomailFieldController});2 //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1taW4uanMiLCJzb3VyY2VzIjpbIm1haW4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gUmVtZW1iZXIsIHlvdSBjYW4ndCB1c2UgYW55IGltcG9ydC9yZXF1aXJlIHN0YXRlbWVudHMgaGVyZVxuY29uc3QgUExVR0lOX1ZFUlNJT04gPSBcIjEwLj EuMFwiO1xuXG4vLyBtYW51YWwgc3dpdGNoIHRvIGhhdmUgbW9yZSBzdHVmZiBwcmludGVkIHRvIGNvbnNvbGVcbmxldCBERUJVRyA9IGZhbHNlO1xuXG4vLyBnb29kIGRvY3VtZW50YXRpb24gb24gYmFja2JvbmUgZXZlbnQgaGFuZGxpbmdcbi8vIGh0dHA6Ly9iYWNrYm9uZWpzLm9yZy8jRXZlbnRzXG5cbmNvbnN0IFZpZGVvbWFpbEZpZWxkQ29udHJvbGxlciA9IE1hcmlvbmV0dGUuT2JqZWN0LmV4dGVuZCh7XG4gIHZpZGVvbWFpbENsaWVudDogbnVsbCxcblxuICBmaWVsZE1vZGVsOiBudWxsLFxuXG4gIGNoYW5uZWw6IEJhY2tib25lLlJhZGlvLmNoYW5uZWwoXCJ2aWRlb21haWxcIiksXG5cbiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24gKCkge1xuICAgIEJhY2tib25lLlJhZGlvLkRFQlVHID0gREVCVUc7XG5cbiAgICB0aGlzLmxpc3RlblRvT25jZSh0aGlzLmNoYW5uZWwsIFwiaW5pdDptb2RlbFwiLCB0aGlzLnJlZ2lzdGVyVmlkZW9tYWlsRmllbGQpO1xuICAgIHRoaXMubGlzdGVuVG9PbmNlKHRoaXMuY2hhbm5lbCwgXCJhdHRhY2g6dmlld1wiLCB0aGlzLmxvYWRWaWRlb21haWxDbGllbnQpO1xuXG4gICAgLy8gdWdseSB3b3JrYXJvdW5kIHRvIG1ha2UgaXQgd29yayB3aXRoIHRoZSBjb25kaXRpb25hbCBwbHVnaW5cbiAgICB0aGlzLmxpc3RlblRvKHRoaXMuY2hhbm5lbCwgXCJhbGxcIiwgZnVuY3Rpb24gKGV2ZW50TmFtZSkge1xuICAgICAgREVCVUcgJiYgY29uc29sZS5sb2coXCJWaWRlb21haWwgY2hhbm5lbCBldmVudCB0cmlnZ2VyZWQ6XCIsIGV2ZW50TmFtZSk7XG5cbiAgICAgIC8vIG11c3QgYmUgY29taW5nIGJhY2sgZnJvbSBhIG11bHRpLXN0ZXAgd2hlcmVcbiAgICAgIC8vIHZpZGVvbWFpbCBoYXMgYWxyZWFkeSBiZWVuIGluaXRpYWxpc2VkLiBzbyBqdXN0IHJlc3VtZSBpdC5cbiAgICAgIHRoaXMubGlzdGVuVG8obmZSYWRpby5jaGFubmVsKFwibmZNUFwiKSwgXCJjaGFuZ2U6cGFydFwiLCBmdW5jdGlvbiAocGFyYW1zKSB7XG4gICAgICAgIERFQlVHICYmIGNvbnNvbGUubG9nKFwibmZNUCBjaGFubmVsIGV2ZW50IHRyaWdnZXJlZDpcIiwgXCJjaGFuZ2U6cGFydFwiKTtcblxuICAgICAgICBjb25zdCBjdXJyZW50TW9kZWxzID1cbiAgICAgICAgICBwYXJhbXMuY3VycmVudEVsZW1lbnQ/LmF0dHJpYnV0ZXM/LmZvcm1Db250ZW50RGF0YT8ubW9kZWxzIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRDaWQgPSB0aGlzLmZpZWxkTW9kZWwuY2lkO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRNb2RlbCA9IGN1cnJlbnRNb2RlbHMuZmluZChmdW5jdGlvbiAobW9kZWwpIHtcbiAgICAgICAgICByZXR1cm4gbW9kZWwuY2lkID09PSBjdXJyZW50Q2lkO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoY3VycmVudE1vZGVsKSB7XG4gICAgICAgICAgdGhpcy5sb2FkVmlkZW9tYWlsQ2xpZW50KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy52aWRlb21haWxDbGllbnQudW5sb2FkKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9LFxuXG4gIGdldEZvcm1JZDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwiZm9ybUlEXCIpO1xuICB9LFxuXG4gIHJlZ2lzdGVyVmlkZW9tYWlsRmllbGQ6IGZ1bmN0aW9uIChmaWVsZE1vZGVsKSB7XG4gICAgdGhpcy5maWVsZE1vZGVsID0gZmllbGRNb2RlbDtcblxuICAgIC8vIGN1c3RvbSBmaWVsZCB2YWxpZGF0aW9uLCBzaW5jZSB3ZSBhcmVuJ3QgdXNpbmcgYSBzdGFuZGFyZCBgdmFsdWVgXG4gICAgLy8gZm9yIHRoZSB2aWRlb21haWwgaW5wdXRcbiAgICB0aGlzLmNoYW5uZWwucmVwbHkoXCJ2YWxpZGF0ZTpyZXF1aXJlZFwiLCB0aGlzLnZhbGlkYXRlUmVxdWlyZWQsIHRoaXMpO1xuXG4gICAgdGhpcy5jaGFubmVsLnJlcGx5KFwidmFsaWRhdGU6bW9kZWxEYXRhXCIsIHRoaXMudmFsaWRhdGVWaWRlb21haWwsIHRoaXMpO1xuXG4gICAgLy8gY29udHJvbCBzdWJtaXNzaW9uIHByb2dyZXNzLFxuICAgIC8vIHNvIHRoYXQgd2UgY2FuIFBPU1QgdG8gdGhlIFZpZGVvbWFpbCBzZXJ2ZXIgZmlyc3RcbiAgICBCYWNrYm9uZS5SYWRpby5jaGFubmVsKFwiZm9ybS1cIiArIHRoaXMuZ2V0Rm9ybUlkKCkpLnJlcGx5KFxuICAgICAgXCJtYXliZTpzdWJtaXRcIixcbiAgICAgIHRoaXMubWF5YmVTdWJtaXQsXG4gICAgICB0aGlzLFxuICAgICAgZmllbGRNb2RlbCxcbiAgICApO1xuICB9LFxuXG4gIGxvYWRWaWRlb21haWxDbGllbnQ6IGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgaW1hZ2VRdWFsaXR5UGVyY2VudGFnZSA9IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJpbWFnZV9xdWFsaXR5XCIpIHx8IDQwO1xuXG4gICAgaWYgKGltYWdlUXVhbGl0eVBlcmNlbnRhZ2UgPiAxMDApIHtcbiAgICAgIGltYWdlUXVhbGl0eVBlcmNlbnRhZ2UgPSAxMDA7XG4gICAgfSBlbHNlIGlmIChpbWFnZVF1YWxpdHlQZXJjZW50YWdlIDwgMSkge1xuICAgICAgaW1hZ2VRdWFsaXR5UGVyY2VudGFnZSA9IDE7XG4gICAgfVxuXG4gICAgY29uc3QgdmVyYm9zZSA9IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJ2ZXJib3NlXCIpIHx8IERFQlVHO1xuXG4gICAgLy8gbGF0ZSBvdmVycmlkZXNcbiAgICBERUJVRyA9IERFQlVHIHx8IHZlcmJvc2U7XG4gICAgQmFja2JvbmUuUmFkaW8uREVCVUcgPSBCYWNrYm9uZS5SYWRpby5ERUJVRyB8fCB2ZXJib3NlO1xuXG4gICAgdGhpcy52aWRlb21haWxDbGllbnQgPSBuZXcgVmlkZW9tYWlsQ2xpZW50LlZpZGVvbWFpbENsaWVudCh7XG4gICAgICAvLyB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwic2l0ZV9uYW1lXCIpIGlzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdoaWNoIGNhbiBiZVxuICAgICAgLy8gcmVtb3ZlZCBsYXRlciBvbmNlIGFsbCBsZWdhY3kgd2hpdGVsaXN0IGVudHJpZXMgaGF2ZSBiZWVuIG1pZ3JhdGVkLlxuICAgICAgd2hpdGVsaXN0S2V5OlxuICAgICAgICB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwid2hpdGVsaXN0X2tleVwiKSB8fCB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwic2l0ZV9uYW1lXCIpLFxuICAgICAgdmlkZW86IHtcbiAgICAgICAgbGltaXRTZWNvbmRzOiB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwibGltaXRfc2Vjb25kc1wiKSB8fCA5MCxcbiAgICAgICAgd2lkdGg6IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJ3aWR0aFwiKSB8fCAzMjAsXG4gICAgICAgIC8vIFRPRE8gSW1wbGVtZW50IG9uIFZDIHNpZGVcbiAgICAgICAgc3RyZXRjaDogdGhpcy5maWVsZE1vZGVsLmdldChcInN0cmV0Y2hcIikgfHwgZmFsc2UsXG4gICAgICAgIGNvdW50ZG93bjogdGhpcy5maWVsZE1vZGVsLmdldChcImNvdW50ZG93blwiKSB8fCBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBhdWRpbzogeyBlbmFibGVkOiB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwiYXVkaW9fZW5hYmxlZFwiKSB9LFxuICAgICAgaW1hZ2U6IHtcbiAgICAgICAgcXVhbGl0eTogaW1hZ2VRdWFsaXR5UGVyY2VudGFnZSAvIDEwMCwgLy8gbXVzdCBiZSBhIGZsb2F0XG4gICAgICB9LFxuICAgICAgc2VsZWN0b3JzOiB7IGNvbnRhaW5lcklkOiBcInZpZGVvbWFpbFwiLCBzdWJtaXRCdXR0b25TZWxlY3RvcjogXCIuc3VibWl0LXdyYXAgaW5wdXRcIiB9LFxuICAgICAgY2FsbGJhY2tzOiB7XG4gICAgICAgIGFkanVzdEZvcm1EYXRhQmVmb3JlUG9zdGluZzpcbiAgICAgICAgICB0aGlzLmFkanVzdEZvcm1EYXRhQmVmb3JlUG9zdGluZ1RvVmlkZW9tYWlsU2VydmVyLmJpbmQodGhpcyksXG4gICAgICB9LFxuXG4gICAgICAvLyB3aGVuIHRydWUsIHVzZXIgbWVkaWEgaXMgbG9hZGVkIG9ubHkgd2hlbiByZWNvcmQgYnV0dG9uIGlzIHByZXNzZWRcbiAgICAgIGxvYWRVc2VyTWVkaWFPblJlY29yZDogdGhpcy5maWVsZE1vZGVsLmdldChcImxvYWRfdXNlcl9tZWRpYV9vbl9yZWNvcmRcIiksXG5cbiAgICAgIGRpc2FibGVGb3JtV2hlblN1Ym1pdHRpbmc6IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJkaXNhYmxlX2Zvcm1fd2hlbl9zdWJtaXR0aW5nXCIpLFxuXG4gICAgICAvLyBsZWF2ZSBpdCB0byBuaW5qYSBmb3JtIHRvIHZhbGlkYXRlIHRoZSBpbnB1dHNcbiAgICAgIGVuYWJsZUF1dG9WYWxpZGF0aW9uOiBmYWxzZSxcblxuICAgICAgLy8gbGVhdmUgaXQgdG8gbmluamEgZm9ybSB0byBkZWFsIHdpdGggZm9ybSBzdWJtaXNzaW9uc1xuICAgICAgZW5hYmxlQXV0b1N1Ym1pc3Npb246IGZhbHNlLFxuXG4gICAgICAvLyBsb2cgYWN0aW9ucy9ldmVudHMgdG8gY29uc29sZVxuICAgICAgdmVyYm9zZSxcblxuICAgICAgdmVyc2lvbnM6IHsgdmlkZW9tYWlsTmluamFGb3JtUGx1Z2luOiBQTFVHSU5fVkVSU0lPTiB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy52aWRlb21haWxDbGllbnQub24oXCJQUkVWSUVXXCIsIHRoaXMub25QcmV2aWV3LmJpbmQodGhpcykpO1xuICAgIHRoaXMudmlkZW9tYWlsQ2xpZW50Lm9uKFwiU1VCTUlUVEVEXCIsIHRoaXMub25TdWJtaXR0ZWQuYmluZCh0aGlzKSk7XG4gICAgdGhpcy52aWRlb21haWxDbGllbnQub24oXCJHT0lOR19CQUNLXCIsIHRoaXMub25Hb2luZ0JhY2suYmluZCh0aGlzKSk7XG5cbiAgICB0aGlzLnZpZGVvbWFpbENsaWVudC5zaG93KCk7XG4gIH0sXG5cbiAgLy8gbmVlZGVkIHRvIGdldCB0aGUgdmlkZW9tYWlsIGtleSB3aGljaCBpcyByZXF1aXJlZCBiZWZvcmVcbiAgLy8gc3VibWl0dGluZyB0byB0aGUgdmlkZW9tYWlsIHNlcnZlclxuICBvblByZXZpZXc6IGZ1bmN0aW9uIChrZXkpIHtcbiAgICB0aGlzLmZpZWxkTW9kZWwuc2V0KFwidmlkZW9tYWlsLWtleVwiLCBrZXkpO1xuICAgIHRoaXMuZmllbGRNb2RlbC5zZXQoXCJ2YWx1ZVwiLCBrZXkpO1xuXG4gICAgQmFja2JvbmUuUmFkaW8uY2hhbm5lbChcImZpZWxkc1wiKVxuICAgICAgLy8gY2xlYXJzIGFueSBwcmV2aW91cyBlcnJvcnNcbiAgICAgIC5yZXF1ZXN0KFwicmVtb3ZlOmVycm9yXCIsIHRoaXMuZmllbGRNb2RlbC5nZXQoXCJpZFwiKSwgXCJyZXF1aXJlZC1lcnJvclwiKTtcbiAgfSxcblxuICBvblN1Ym1pdHRlZDogZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgIGxldCBmb3JtTW9kZWwgPSBCYWNrYm9uZS5SYWRpby5jaGFubmVsKFwiYXBwXCIpLnJlcXVlc3QoXCJnZXQ6Zm9ybVwiLCB0aGlzLmdldEZvcm1JZCgpKTtcblxuICAgIGlmICghZm9ybU1vZGVsKSB7XG4gICAgICAvLyBmYWxsYmFjayBmb3Igb2xkZXIgdmVyc2lvbnNcbiAgICAgIGZvcm1Nb2RlbCA9IHRoaXMuZmllbGRNb2RlbC5jb2xsZWN0aW9uLm9wdGlvbnMuZm9ybU1vZGVsO1xuICAgIH1cblxuICAgIC8vIFRPRE8gSXNuJ3QgJ2Zvcm0tJyArIGZvcm1Nb2RlbC5nZXQoJ2lkJykgdGhlIHNhbWUgYXMgdGhlIGZvcm1JRCBhbHJlYWR5P1xuICAgIEJhY2tib25lLlJhZGlvLmNoYW5uZWwoXCJmb3JtLVwiICsgZm9ybU1vZGVsLmdldChcImlkXCIpKS5yZXF1ZXN0KFxuICAgICAgXCJhZGQ6ZXh0cmFcIixcbiAgICAgIFwidmlkZW9tYWlsXCIsXG4gICAgICByZXN1bHQudmlkZW9tYWlsLFxuICAgICk7XG5cbiAgICAvLyByZXN0YXJ0IHN1Ym1pc3Npb24gYWdhaW4sIHRoaXMgdGltZSB0byB0aGUgcmVhbCB3cCBzaXRlXG4gICAgQmFja2JvbmUuUmFkaW8uY2hhbm5lbChcImZvcm0tXCIgKyB0aGlzLmdldEZvcm1JZCgpKS5yZXF1ZXN0KFwic3VibWl0XCIsIGZvcm1Nb2RlbCk7XG4gIH0sXG5cbiAgb25Hb2luZ0JhY2s6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZpZWxkTW9kZWwuc2V0KFwidmlkZW9tYWlsLWtleVwiLCBudWxsKTtcbiAgICB0aGlzLmludmFsaWRhdGUoKTtcbiAgfSxcblxuICB2YWxpZGF0ZVJlcXVpcmVkOiBmdW5jdGlvbiAoZWwsIGZpZWxkTW9kZWwpIHtcbiAgICBjb25zdCB2YWxpZCA9IHRoaXMudmFsaWRhdGVWaWRlb21haWwoZmllbGRNb2RlbCk7XG5cbiAgICBpZiAoIXZhbGlkKSB7XG4gICAgICB0aGlzLmludmFsaWRhdGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWQ7XG4gIH0sXG5cbiAgaW52YWxpZGF0ZTogZnVuY3Rpb24gKCkge1xuICAgIC8vIG92ZXJyaWRlIGRlZmF1bHQgYmVoYXZpb3Igc28gdGhhdCB3ZSBjYW4gc2V0IG91ciBvd24gZXJyb3IgdGV4dCBoZXJlXG4gICAgQmFja2JvbmUuUmFkaW8uY2hhbm5lbChcImZpZWxkc1wiKS5yZXF1ZXN0KFxuICAgICAgXCJhZGQ6ZXJyb3JcIixcbiAgICAgIHRoaXMuZmllbGRNb2RlbC5nZXQoXCJpZFwiKSxcbiAgICAgIFwicmVxdWlyZWQtZXJyb3JcIixcbiAgICAgIFwiUmVjb3JkIGFuZCBjbGljayBvbiBzdG9wIHRvIHNlZSBhIHByZXZpZXcgdmlkZW8uXCIsXG4gICAgKTtcbiAgfSxcblxuICB2YWxpZGF0ZVZpZGVvbWFpbDogZnVuY3Rpb24gKGZpZWxkTW9kZWwpIHtcbiAgICBmaWVsZE1vZGVsID0gZmllbGRNb2RlbCB8fCB0aGlzLmZpZWxkTW9kZWw7XG4gICAgcmV0dXJuIGZpZWxkTW9kZWwuZ2V0KFwidmlkZW9tYWlsLWtleVwiKSB8fCBmYWxzZTtcbiAgfSxcblxuICBoYXNFcnJvcnM6IGZ1bmN0aW9uIChmb3JtTW9kZWwpIHtcbiAgICByZXR1cm4gZm9ybU1vZGVsLmdldChcImVycm9yc1wiKS5sZW5ndGggPiAwO1xuICB9LFxuXG4gIG1heWJlU3VibWl0OiBmdW5jdGlvbiAoZm9ybU1vZGVsKSB7XG4gICAgbGV0IG1heWJlID0gdHJ1ZTtcbiAgICBjb25zdCB2aWRlb21haWxTdWJtaXR0ZWQgPSBmb3JtTW9kZWwuZ2V0RXh0cmEoXCJ2aWRlb21haWxcIik7XG4gICAgY29uc3QgdmlkZW9tYWlsUmVjb3JkZWQgPSB0aGlzLnZhbGlkYXRlVmlkZW9tYWlsKCk7XG4gICAgY29uc3QgZXJyb3IgPSB0aGlzLmhhc0Vycm9ycyhmb3JtTW9kZWwpO1xuXG4gICAgLy8gaG9sZCBvbiB3aXRoIGZpbmFsIGZvcm0gc3VibWlzc2lvbiB3aGVuIG9uZSB3YXMgcmVjb3JkZWRcbiAgICAvLyBidXQgaGFzbid0IGJlZW4gc3VibWl0dGVkIHRvIHRoZSB2aWRlb21haWwgc2VydmVyIHlldFxuICAgIGlmICghdmlkZW9tYWlsU3VibWl0dGVkICYmICFlcnJvciAmJiB2aWRlb21haWxSZWNvcmRlZCkge1xuICAgICAgdGhpcy52aWRlb21haWxDbGllbnQuc3VibWl0KCk7XG4gICAgICBtYXliZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBtYXliZTtcbiAgfSxcblxuICBnZXRNZXJnZVRhZ1ZhbHVlOiBmdW5jdGlvbiAoZmllbGRLZXksIGZvcm1WYWx1ZXMpIHtcbiAgICBsZXQgdmFsdWUgPSB0aGlzLmZpZWxkTW9kZWwuZ2V0KGZpZWxkS2V5KTtcblxuICAgIC8vIGl0IGNhbiBoYXBwZW4gdGhhdCB0aGUgdXNlciBoYXMgY29uZmlndXJlZCBzb21ldGhpbmcgd3JvbmcsXG4gICAgLy8gaS5FLiBhbiBlbXB0eSBlbWFpbF9mcm9tLiBpbiB0aGF0IGNhc2UganVzdCBpZ25vcmUgLi4uXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICAvLyBhZG1pbiBlbWFpbCBsb2NhbGl6ZWQgZnJvbSBiYWNrZW5kLCBhIGJpdCB1Z2x5XG4gICAgICAvLyB0b2RvIGFzayBmb3IgYW4gZW5kcG9pbnQgdG8gcHJvY2VzcyB0aG9zZSBzcGVjaWFsIG1lcmdlIHRhZ3NcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iaW5hcnlraXRjaGVuL3ZpZGVvbWFpbC1mb3ItbmluamEtZm9ybXMvaXNzdWVzLzMwXG4gICAgICBpZiAodmFsdWUgPT09IFwie3dwOmFkbWluX2VtYWlsfVwiKSB7XG4gICAgICAgIHZhbHVlID0gd2luZG93Lm5mVmlkZW9tYWlsLmFkbWluX2VtYWlsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmF3RmllbGRLZXlNYXRjaGVzID0gdmFsdWUubWF0Y2goL3tmaWVsZDooLiopfS9pKTtcbiAgICAgICAgY29uc3QgcmF3RmllbGRLZXkgPSByYXdGaWVsZEtleU1hdGNoZXMgJiYgcmF3RmllbGRLZXlNYXRjaGVzWzFdO1xuXG4gICAgICAgIGlmIChyYXdGaWVsZEtleSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAvLyB5ZXMgaXQgd2FzIGEgbWVyZ2UgdGFnLCBzbyB1c2UgaXRcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL3tmaWVsZDooLiopfS9pLCBmb3JtVmFsdWVzW3Jhd0ZpZWxkS2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9LFxuXG4gIC8vIHJldHVybnMgYSBtYXAgbGlrZSB0aGlzOlxuICAvLyB7XG4gIC8vICAgZnJvbV9lbWFpbDogXCJtaWNLQGRlYWZvbnouZWhcIlxuICAvLyAgIGZyb21fbmFtZTogXCJNSFwiXG4gIC8vICAgbWVzc2FnZTogXCJzZGZzZGZzZGZcIlxuICAvLyAgIHN1YmplY3Q6IFwic2Rmc2RmXCJcbiAgLy8gICBzdWJtaXQ6IFwiXCJcbiAgLy8gICB2aWRlb19tZXNzYWdlOiBcIjExZWItNjFkNy1kZDU4MzMyMC1hZTYxLTJiODJiZTZjNmUzZVwiXG4gIC8vIH1cbiAgZ2V0Rm9ybVZhbHVlczogZnVuY3Rpb24gKCkge1xuICAgIGxldCBjb2xsZWN0aW9uO1xuICAgIGNvbnN0IGZvcm1Nb2RlbCA9IEJhY2tib25lLlJhZGlvLmNoYW5uZWwoXCJhcHBcIikucmVxdWVzdChcImdldDpmb3JtXCIsIHRoaXMuZ2V0Rm9ybUlkKCkpO1xuXG4gICAgaWYgKGZvcm1Nb2RlbCkge1xuICAgICAgY29sbGVjdGlvbiA9IGZvcm1Nb2RlbC5nZXQoXCJmaWVsZHNcIik7XG4gICAgICAvLyBmYWxsYmFjayBmb3Igb2xkZXIgdmVyc2lvbnNcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmllbGRNb2RlbC5jb2xsZWN0aW9uLm9wdGlvbnMuZm9ybU1vZGVsLmdldChcImZpZWxkc1wiKS5tb2RlbHMpIHtcbiAgICAgIGNvbGxlY3Rpb24gPSB0aGlzLmZpZWxkTW9kZWwuY29sbGVjdGlvbi5vcHRpb25zLmZvcm1Nb2RlbC5nZXQoXCJmaWVsZHNcIikubW9kZWxzO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1WYWx1ZXMgPSBjb2xsZWN0aW9uLnJlZHVjZShmdW5jdGlvbiAobWVtbywgZmllbGQpIHtcbiAgICAgIG1lbW9bZmllbGQuZ2V0KFwia2V5XCIpXSA9IGZpZWxkLmdldChcInZhbHVlXCIpO1xuICAgICAgcmV0dXJuIG1lbW87XG4gICAgfSwge30pO1xuXG4gICAgcmV0dXJuIGZvcm1WYWx1ZXM7XG4gIH0sXG5cbiAgYWRqdXN0Rm9ybURhdGFCZWZvcmVQb3N0aW5nVG9WaWRlb21haWxTZXJ2ZXI6IGZ1bmN0aW9uICh2aWRlb21haWwpIHtcbiAgICBjb25zdCBmb3JtVmFsdWVzID0gdGhpcy5nZXRGb3JtVmFsdWVzKCk7XG5cbiAgICB2aWRlb21haWwuZnJvbSA9IHRoaXMuZ2V0TWVyZ2VUYWdWYWx1ZShcImVtYWlsX2Zyb21cIiwgZm9ybVZhbHVlcyk7XG4gICAgdmlkZW9tYWlsLnRvID0gdGhpcy5nZXRNZXJnZVRhZ1ZhbHVlKFwiZW1haWxfdG9cIiwgZm9ybVZhbHVlcyk7XG4gICAgdmlkZW9tYWlsLnN1YmplY3QgPSB0aGlzLmdldE1lcmdlVGFnVmFsdWUoXCJlbWFpbF9zdWJqZWN0XCIsIGZvcm1WYWx1ZXMpO1xuICAgIHZpZGVvbWFpbC5ib2R5ID0gdGhpcy5nZXRNZXJnZVRhZ1ZhbHVlKFwiZW1haWxfYm9keVwiLCBmb3JtVmFsdWVzKTtcblxuICAgIHJldHVybiB2aWRlb21haWw7XG4gIH0sXG5cbiAgb25CZWZvcmVEZXN0cm95OiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy52aWRlb21haWxDbGllbnQudW5sb2FkKCk7XG4gICAgZGVsZXRlIHRoaXMudmlkZW9tYWlsQ2xpZW50O1xuICB9LFxufSk7XG5cbmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gbmV3IFZpZGVvbWFpbEZpZWxkQ29udHJvbGxlcigpO1xufSk7XG4iXSwibmFtZXMiOlsiUExVR0lOX1ZFUlNJT04iLCJERUJVRyIsIlZpZGVvbWFpbEZpZWxkQ29udHJvbGxlciIsIk1hcmlvbmV0dGUiLCJPYmplY3QiLCJleHRlbmQiLCJ2aWRlb21haWxDbGllbnQiLCJmaWVsZE1vZGVsIiwiY2hhbm5lbCIsIkJhY2tib25lIiwiUmFkaW8iLCJpbml0aWFsaXplIiwidGhpcyIsImxpc3RlblRvT25jZSIsInJlZ2lzdGVyVmlkZW9tYWlsRmllbGQiLCJsb2FkVmlkZW9tYWlsQ2xpZW50IiwibGlzdGVuVG8iLCJldmVudE5hbWUiLCJjb25zb2xlIiwibG9nIiwibmZSYWRpbyIsInBhcmFtcyIsImN1cnJlbnRNb2RlbHMiLCJjdXJyZW50RWxlbWVudCIsImF0dHJpYnV0ZXMiLCJmb3JtQ29udGVudERhdGEiLCJtb2RlbHMiLCJjdXJyZW50Q2lkIiwiY2lkIiwiZmluZCIsIm1vZGVsIiwidW5sb2FkIiwiZ2V0Rm9ybUlkIiwiZ2V0IiwicmVwbHkiLCJ2YWxpZGF0ZVJlcXVpcmVkIiwidmFsaWRhdGVWaWRlb21haWwiLCJtYXliZVN1Ym1pdCIsImxldCIsImltYWdlUXVhbGl0eVBlcmNlbnRhZ2UiLCJ2ZXJib3NlIiwiVmlkZW9tYWlsQ2xpZW50Iiwid2hpdGVsaXN0S2V5IiwidmlkZW8iLCJsaW1pdFNlY29uZHMiLCJ3aWR0aCIsInN0cmV0Y2giLCJjb3VudGRvd24iLCJhdWRpbyIsImVuYWJsZWQiLCJpbWFnZSIsInF1YWxpdHkiLCJzZWxlY3RvcnMiLCJjb250YWluZXJJZCIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiY2FsbGJhY2tzIiwiYWRqdXN0Rm9ybURhdGFCZWZvcmVQb3N0aW5nIiwiYWRqdXN0Rm9ybURhdGFCZWZvcmVQb3N0aW5nVG9WaWRlb21haWxTZXJ2ZXIiLCJiaW5kIiwibG9hZFVzZXJNZWRpYU9uUmVjb3JkIiwiZGlzYWJsZUZvcm1XaGVuU3VibWl0dGluZyIsImVuYWJsZUF1dG9WYWxpZGF0aW9uIiwiZW5hYmxlQXV0b1N1Ym1pc3Npb24iLCJ2ZXJzaW9ucyIsInZpZGVvbWFpbE5pbmphRm9ybVBsdWdpbiIsIm9uIiwib25QcmV2aWV3Iiwib25TdWJtaXR0ZWQiLCJvbkdvaW5nQmFjayIsInNob3ciLCJrZXkiLCJzZXQiLCJyZXF1ZXN0IiwicmVzdWx0IiwiZm9ybU1vZGVsIiwiY29sbGVjdGlvbiIsIm9wdGlvbnMiLCJ2aWRlb21haWwiLCJpbnZhbGlkYXRlIiwiZWwiLCJ2YWxpZCIsImhhc0Vycm9ycyIsImxlbmd0aCIsIm1heWJlIiwidmlkZW9tYWlsU3VibWl0dGVkIiwiZ2V0RXh0cmEiLCJ2aWRlb21haWxSZWNvcmRlZCIsImVycm9yIiwic3VibWl0IiwiZ2V0TWVyZ2VUYWdWYWx1ZSIsImZpZWxkS2V5IiwiZm9ybVZhbHVlcyIsInZhbHVlIiwid2luZG93IiwibmZWaWRlb21haWwiLCJhZG1pbl9lbWFpbCIsInJhd0ZpZWxkS2V5IiwicmF3RmllbGRLZXlNYXRjaGVzIiwibWF0Y2giLCJyZXBsYWNlIiwiZ2V0Rm9ybVZhbHVlcyIsInJlZHVjZSIsIm1lbW8iLCJmaWVsZCIsImZyb20iLCJ0byIsInN1YmplY3QiLCJib2R5Iiwib25CZWZvcmVEZXN0cm95IiwialF1ZXJ5IiwiZG9jdW1lbnQiLCJyZWFkeSJdLCJtYXBwaW5ncyI6IkFBQ0EsSUFBTUEsZUFBaUIsU0FHbkJDLE1BQVEsQ0FBQSxFQUtOQyx5QkFBMkJDLFdBQVdDLE9BQU9DLE9BQU8sQ0FDeERDLGdCQUFpQixLQUVqQkMsV0FBWSxLQUVaQyxRQUFTQyxTQUFTQyxNQUFNRixRQUFRLFdBQVcsRUFFM0NHLFdBQVksV0FDVkYsU0FBU0MsTUFBTVQsTUFBUUEsTUFFdkJXLEtBQUtDLGFBQWFELEtBQUtKLFFBQVMsYUFBY0ksS0FBS0Usc0JBQXNCLEVBQ3pFRixLQUFLQyxhQUFhRCxLQUFLSixRQUFTLGNBQWVJLEtBQUtHLG1CQUFtQixFQUd2RUgsS0FBS0ksU0FBU0osS0FBS0osUUFBUyxNQUFPLFNBQVVTLEdBQzNDaEIsT0FBU2lCLFFBQVFDLElBQUkscUNBQXNDRixDQUFTLEVBSXBFTCxLQUFLSSxTQUFTSSxRQUFRWixRQUFRLE1BQU0sRUFBRyxjQUFlLFNBQVVhLEdBQzlEcEIsT0FBU2lCLFFBQVFDLElBQUksZ0NBQWlDLGFBQWEsRUFFN0RHLEVBQ0pELEVBQU9FLGdCQUFnQkMsWUFBWUMsaUJBQWlCQyxRQUFVLEdBRWhFLElBQU1DLEVBQWFmLEtBQUtMLFdBQVdxQixJQUVkTixFQUFjTyxLQUFLLFNBQVVDLEdBQ2hELE9BQU9BLEVBQU1GLE1BQVFELENBQ3ZCLENBQUMsRUFHQ2YsS0FBS0csb0JBQW9CLEVBRXpCSCxLQUFLTixnQkFBZ0J5QixPQUFPLENBRWhDLENBQUMsQ0FDSCxDQUFDLENBQ0gsRUFFQUMsVUFBVyxXQUNULE9BQU9wQixLQU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1 let PLUGIN_VERSION="10.2.0",DEBUG=!1,VideomailFieldController=Marionette.Object.extend({videomailClient:null,fieldModel:null,channel:Backbone.Radio.channel("videomail"),initialize:function(){Backbone.Radio.DEBUG=DEBUG,this.listenToOnce(this.channel,"init:model",this.registerVideomailField),this.listenToOnce(this.channel,"attach:view",this.loadVideomailClient),this.listenTo(this.channel,"all",function(e){DEBUG&&console.log("Videomail channel event triggered:",e),this.listenTo(nfRadio.channel("nfMP"),"change:part",function(e){DEBUG&&console.log("nfMP channel event triggered:","change:part");e=e.currentElement?.attributes?.formContentData?.models||[];let i=this.fieldModel.cid;e.find(function(e){return e.cid===i})?this.loadVideomailClient():this.videomailClient.unload()})})},getFormId:function(){return this.fieldModel.get("formID")},registerVideomailField:function(e){this.fieldModel=e,this.channel.reply("validate:required",this.validateRequired,this),this.channel.reply("validate:modelData",this.validateVideomail,this),Backbone.Radio.channel("form-"+this.getFormId()).reply("maybe:submit",this.maybeSubmit,this,e)},loadVideomailClient:function(){let e=this.fieldModel.get("image_quality")||40;100<e?e=100:e<1&&(e=1);var i=this.fieldModel.get("verbose")||DEBUG;DEBUG=DEBUG||i,Backbone.Radio.DEBUG=Backbone.Radio.DEBUG||i,this.videomailClient=new VideomailClient.VideomailClient({whitelistKey:this.fieldModel.get("whitelist_key")||this.fieldModel.get("site_name"),video:{limitSeconds:this.fieldModel.get("limit_seconds")||90,width:this.fieldModel.get("width")||320,stretch:this.fieldModel.get("stretch")||!1,countdown:this.fieldModel.get("countdown")||!1},audio:{enabled:this.fieldModel.get("audio_enabled")},image:{quality:e/100},selectors:{containerId:"videomail",submitButtonSelector:".submit-wrap input"},callbacks:{adjustFormDataBeforePosting:this.adjustFormDataBeforePostingToVideomailServer.bind(this)},loadUserMediaOnRecord:this.fieldModel.get("load_user_media_on_record"),disableFormWhenSubmitting:this.fieldModel.get("disable_form_when_submitting"),enableAutoValidation:!1,enableAutoSubmission:!1,verbose:i,versions:{videomailNinjaFormPlugin:PLUGIN_VERSION}}),this.videomailClient.on("PREVIEW",this.onPreview.bind(this)),this.videomailClient.on("SUBMITTED",this.onSubmitted.bind(this)),this.videomailClient.on("GOING_BACK",this.onGoingBack.bind(this)),this.videomailClient.show()},onPreview:function(e){this.fieldModel.set("videomail-key",e),this.fieldModel.set("value",e),Backbone.Radio.channel("fields").request("remove:error",this.fieldModel.get("id"),"required-error")},onSubmitted:function(e){let i=Backbone.Radio.channel("app").request("get:form",this.getFormId());i=i||this.fieldModel.collection.options.formModel,Backbone.Radio.channel("form-"+i.get("id")).request("add:extra","videomail",e.videomail),Backbone.Radio.channel("form-"+this.getFormId()).request("submit",i)},onGoingBack:function(){this.fieldModel.set("videomail-key",null),this.invalidate()},validateRequired:function(e,i){i=this.validateVideomail(i);return i||this.invalidate(),i},invalidate:function(){Backbone.Radio.channel("fields").request("add:error",this.fieldModel.get("id"),"required-error","Record and click on stop to see a preview video.")},validateVideomail:function(e){return(e=e||this.fieldModel).get("videomail-key")||!1},hasErrors:function(e){return 0<e.get("errors").length},maybeSubmit:function(e){let i=!0;var t=e.getExtra("videomail"),o=this.validateVideomail(),e=this.hasErrors(e);return t||e||!o||(this.videomailClient.submit(),i=!1),i},getMergeTagValue:function(e,i){let t=this.fieldModel.get(e);if(t&&("{wp:admin_email}"===t?t=window.nfVideomail.admin_email:(e=(e=t.match(/{field:(.*)}/i))&&e[1])!==t&&(t=t.replace(/{field:(.*)}/i,i[e]))),"undefined"!==t)return t},getFormValues:function(){let e;var i=Backbone.Radio.channel("app").request("get:form",this.getFormId()),i=(i?e=i.get("fields"):this.fieldModel.collection.options.formModel.get("fields").models&&(e=this.fieldModel.collection.options.formModel.get("fields").models),e.reduce(function(e,i){return e[i.get("key")]=i.get("value"),e},{}));return i},adjustFormDataBeforePostingToVideomailServer:function(e){var i=this.getFormValues();return e.from=this.getMergeTagValue("email_from",i),e.to=this.getMergeTagValue("email_to",i),e.subject=this.getMergeTagValue("email_subject",i),e.body=this.getMergeTagValue("email_body",i),e},onBeforeDestroy:function(){this.videomailClient.unload(),delete this.videomailClient}});jQuery(document).ready(function(){return new VideomailFieldController}); 2 //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1taW4uanMiLCJzb3VyY2VzIjpbIm1haW4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gUmVtZW1iZXIsIHlvdSBjYW4ndCB1c2UgYW55IGltcG9ydC9yZXF1aXJlIHN0YXRlbWVudHMgaGVyZVxuY29uc3QgUExVR0lOX1ZFUlNJT04gPSBcIjEwLjIuMFwiO1xuXG4vLyBtYW51YWwgc3dpdGNoIHRvIGhhdmUgbW9yZSBzdHVmZiBwcmludGVkIHRvIGNvbnNvbGVcbmxldCBERUJVRyA9IGZhbHNlO1xuXG4vLyBnb29kIGRvY3VtZW50YXRpb24gb24gYmFja2JvbmUgZXZlbnQgaGFuZGxpbmdcbi8vIGh0dHA6Ly9iYWNrYm9uZWpzLm9yZy8jRXZlbnRzXG5cbmNvbnN0IFZpZGVvbWFpbEZpZWxkQ29udHJvbGxlciA9IE1hcmlvbmV0dGUuT2JqZWN0LmV4dGVuZCh7XG4gIHZpZGVvbWFpbENsaWVudDogbnVsbCxcblxuICBmaWVsZE1vZGVsOiBudWxsLFxuXG4gIGNoYW5uZWw6IEJhY2tib25lLlJhZGlvLmNoYW5uZWwoXCJ2aWRlb21haWxcIiksXG5cbiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24gKCkge1xuICAgIEJhY2tib25lLlJhZGlvLkRFQlVHID0gREVCVUc7XG5cbiAgICB0aGlzLmxpc3RlblRvT25jZSh0aGlzLmNoYW5uZWwsIFwiaW5pdDptb2RlbFwiLCB0aGlzLnJlZ2lzdGVyVmlkZW9tYWlsRmllbGQpO1xuICAgIHRoaXMubGlzdGVuVG9PbmNlKHRoaXMuY2hhbm5lbCwgXCJhdHRhY2g6dmlld1wiLCB0aGlzLmxvYWRWaWRlb21haWxDbGllbnQpO1xuXG4gICAgLy8gdWdseSB3b3JrYXJvdW5kIHRvIG1ha2UgaXQgd29yayB3aXRoIHRoZSBjb25kaXRpb25hbCBwbHVnaW5cbiAgICB0aGlzLmxpc3RlblRvKHRoaXMuY2hhbm5lbCwgXCJhbGxcIiwgZnVuY3Rpb24gKGV2ZW50TmFtZSkge1xuICAgICAgREVCVUcgJiYgY29uc29sZS5sb2coXCJWaWRlb21haWwgY2hhbm5lbCBldmVudCB0cmlnZ2VyZWQ6XCIsIGV2ZW50TmFtZSk7XG5cbiAgICAgIC8vIG11c3QgYmUgY29taW5nIGJhY2sgZnJvbSBhIG11bHRpLXN0ZXAgd2hlcmVcbiAgICAgIC8vIHZpZGVvbWFpbCBoYXMgYWxyZWFkeSBiZWVuIGluaXRpYWxpc2VkLiBzbyBqdXN0IHJlc3VtZSBpdC5cbiAgICAgIHRoaXMubGlzdGVuVG8obmZSYWRpby5jaGFubmVsKFwibmZNUFwiKSwgXCJjaGFuZ2U6cGFydFwiLCBmdW5jdGlvbiAocGFyYW1zKSB7XG4gICAgICAgIERFQlVHICYmIGNvbnNvbGUubG9nKFwibmZNUCBjaGFubmVsIGV2ZW50IHRyaWdnZXJlZDpcIiwgXCJjaGFuZ2U6cGFydFwiKTtcblxuICAgICAgICBjb25zdCBjdXJyZW50TW9kZWxzID1cbiAgICAgICAgICBwYXJhbXMuY3VycmVudEVsZW1lbnQ/LmF0dHJpYnV0ZXM/LmZvcm1Db250ZW50RGF0YT8ubW9kZWxzIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRDaWQgPSB0aGlzLmZpZWxkTW9kZWwuY2lkO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRNb2RlbCA9IGN1cnJlbnRNb2RlbHMuZmluZChmdW5jdGlvbiAobW9kZWwpIHtcbiAgICAgICAgICByZXR1cm4gbW9kZWwuY2lkID09PSBjdXJyZW50Q2lkO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoY3VycmVudE1vZGVsKSB7XG4gICAgICAgICAgdGhpcy5sb2FkVmlkZW9tYWlsQ2xpZW50KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy52aWRlb21haWxDbGllbnQudW5sb2FkKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9LFxuXG4gIGdldEZvcm1JZDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwiZm9ybUlEXCIpO1xuICB9LFxuXG4gIHJlZ2lzdGVyVmlkZW9tYWlsRmllbGQ6IGZ1bmN0aW9uIChmaWVsZE1vZGVsKSB7XG4gICAgdGhpcy5maWVsZE1vZGVsID0gZmllbGRNb2RlbDtcblxuICAgIC8vIGN1c3RvbSBmaWVsZCB2YWxpZGF0aW9uLCBzaW5jZSB3ZSBhcmVuJ3QgdXNpbmcgYSBzdGFuZGFyZCBgdmFsdWVgXG4gICAgLy8gZm9yIHRoZSB2aWRlb21haWwgaW5wdXRcbiAgICB0aGlzLmNoYW5uZWwucmVwbHkoXCJ2YWxpZGF0ZTpyZXF1aXJlZFwiLCB0aGlzLnZhbGlkYXRlUmVxdWlyZWQsIHRoaXMpO1xuXG4gICAgdGhpcy5jaGFubmVsLnJlcGx5KFwidmFsaWRhdGU6bW9kZWxEYXRhXCIsIHRoaXMudmFsaWRhdGVWaWRlb21haWwsIHRoaXMpO1xuXG4gICAgLy8gY29udHJvbCBzdWJtaXNzaW9uIHByb2dyZXNzLFxuICAgIC8vIHNvIHRoYXQgd2UgY2FuIFBPU1QgdG8gdGhlIFZpZGVvbWFpbCBzZXJ2ZXIgZmlyc3RcbiAgICBCYWNrYm9uZS5SYWRpby5jaGFubmVsKFwiZm9ybS1cIiArIHRoaXMuZ2V0Rm9ybUlkKCkpLnJlcGx5KFxuICAgICAgXCJtYXliZTpzdWJtaXRcIixcbiAgICAgIHRoaXMubWF5YmVTdWJtaXQsXG4gICAgICB0aGlzLFxuICAgICAgZmllbGRNb2RlbCxcbiAgICApO1xuICB9LFxuXG4gIGxvYWRWaWRlb21haWxDbGllbnQ6IGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgaW1hZ2VRdWFsaXR5UGVyY2VudGFnZSA9IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJpbWFnZV9xdWFsaXR5XCIpIHx8IDQwO1xuXG4gICAgaWYgKGltYWdlUXVhbGl0eVBlcmNlbnRhZ2UgPiAxMDApIHtcbiAgICAgIGltYWdlUXVhbGl0eVBlcmNlbnRhZ2UgPSAxMDA7XG4gICAgfSBlbHNlIGlmIChpbWFnZVF1YWxpdHlQZXJjZW50YWdlIDwgMSkge1xuICAgICAgaW1hZ2VRdWFsaXR5UGVyY2VudGFnZSA9IDE7XG4gICAgfVxuXG4gICAgY29uc3QgdmVyYm9zZSA9IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJ2ZXJib3NlXCIpIHx8IERFQlVHO1xuXG4gICAgLy8gbGF0ZSBvdmVycmlkZXNcbiAgICBERUJVRyA9IERFQlVHIHx8IHZlcmJvc2U7XG4gICAgQmFja2JvbmUuUmFkaW8uREVCVUcgPSBCYWNrYm9uZS5SYWRpby5ERUJVRyB8fCB2ZXJib3NlO1xuXG4gICAgdGhpcy52aWRlb21haWxDbGllbnQgPSBuZXcgVmlkZW9tYWlsQ2xpZW50LlZpZGVvbWFpbENsaWVudCh7XG4gICAgICAvLyB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwic2l0ZV9uYW1lXCIpIGlzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdoaWNoIGNhbiBiZVxuICAgICAgLy8gcmVtb3ZlZCBsYXRlciBvbmNlIGFsbCBsZWdhY3kgd2hpdGVsaXN0IGVudHJpZXMgaGF2ZSBiZWVuIG1pZ3JhdGVkLlxuICAgICAgd2hpdGVsaXN0S2V5OlxuICAgICAgICB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwid2hpdGVsaXN0X2tleVwiKSB8fCB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwic2l0ZV9uYW1lXCIpLFxuICAgICAgdmlkZW86IHtcbiAgICAgICAgbGltaXRTZWNvbmRzOiB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwibGltaXRfc2Vjb25kc1wiKSB8fCA5MCxcbiAgICAgICAgd2lkdGg6IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJ3aWR0aFwiKSB8fCAzMjAsXG4gICAgICAgIC8vIFRPRE8gSW1wbGVtZW50IG9uIFZDIHNpZGVcbiAgICAgICAgc3RyZXRjaDogdGhpcy5maWVsZE1vZGVsLmdldChcInN0cmV0Y2hcIikgfHwgZmFsc2UsXG4gICAgICAgIGNvdW50ZG93bjogdGhpcy5maWVsZE1vZGVsLmdldChcImNvdW50ZG93blwiKSB8fCBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBhdWRpbzogeyBlbmFibGVkOiB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwiYXVkaW9fZW5hYmxlZFwiKSB9LFxuICAgICAgaW1hZ2U6IHtcbiAgICAgICAgcXVhbGl0eTogaW1hZ2VRdWFsaXR5UGVyY2VudGFnZSAvIDEwMCwgLy8gbXVzdCBiZSBhIGZsb2F0XG4gICAgICB9LFxuICAgICAgc2VsZWN0b3JzOiB7IGNvbnRhaW5lcklkOiBcInZpZGVvbWFpbFwiLCBzdWJtaXRCdXR0b25TZWxlY3RvcjogXCIuc3VibWl0LXdyYXAgaW5wdXRcIiB9LFxuICAgICAgY2FsbGJhY2tzOiB7XG4gICAgICAgIGFkanVzdEZvcm1EYXRhQmVmb3JlUG9zdGluZzpcbiAgICAgICAgICB0aGlzLmFkanVzdEZvcm1EYXRhQmVmb3JlUG9zdGluZ1RvVmlkZW9tYWlsU2VydmVyLmJpbmQodGhpcyksXG4gICAgICB9LFxuXG4gICAgICAvLyB3aGVuIHRydWUsIHVzZXIgbWVkaWEgaXMgbG9hZGVkIG9ubHkgd2hlbiByZWNvcmQgYnV0dG9uIGlzIHByZXNzZWRcbiAgICAgIGxvYWRVc2VyTWVkaWFPblJlY29yZDogdGhpcy5maWVsZE1vZGVsLmdldChcImxvYWRfdXNlcl9tZWRpYV9vbl9yZWNvcmRcIiksXG5cbiAgICAgIGRpc2FibGVGb3JtV2hlblN1Ym1pdHRpbmc6IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJkaXNhYmxlX2Zvcm1fd2hlbl9zdWJtaXR0aW5nXCIpLFxuXG4gICAgICAvLyBsZWF2ZSBpdCB0byBuaW5qYSBmb3JtIHRvIHZhbGlkYXRlIHRoZSBpbnB1dHNcbiAgICAgIGVuYWJsZUF1dG9WYWxpZGF0aW9uOiBmYWxzZSxcblxuICAgICAgLy8gbGVhdmUgaXQgdG8gbmluamEgZm9ybSB0byBkZWFsIHdpdGggZm9ybSBzdWJtaXNzaW9uc1xuICAgICAgZW5hYmxlQXV0b1N1Ym1pc3Npb246IGZhbHNlLFxuXG4gICAgICAvLyBsb2cgYWN0aW9ucy9ldmVudHMgdG8gY29uc29sZVxuICAgICAgdmVyYm9zZSxcblxuICAgICAgdmVyc2lvbnM6IHsgdmlkZW9tYWlsTmluamFGb3JtUGx1Z2luOiBQTFVHSU5fVkVSU0lPTiB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy52aWRlb21haWxDbGllbnQub24oXCJQUkVWSUVXXCIsIHRoaXMub25QcmV2aWV3LmJpbmQodGhpcykpO1xuICAgIHRoaXMudmlkZW9tYWlsQ2xpZW50Lm9uKFwiU1VCTUlUVEVEXCIsIHRoaXMub25TdWJtaXR0ZWQuYmluZCh0aGlzKSk7XG4gICAgdGhpcy52aWRlb21haWxDbGllbnQub24oXCJHT0lOR19CQUNLXCIsIHRoaXMub25Hb2luZ0JhY2suYmluZCh0aGlzKSk7XG5cbiAgICB0aGlzLnZpZGVvbWFpbENsaWVudC5zaG93KCk7XG4gIH0sXG5cbiAgLy8gbmVlZGVkIHRvIGdldCB0aGUgdmlkZW9tYWlsIGtleSB3aGljaCBpcyByZXF1aXJlZCBiZWZvcmVcbiAgLy8gc3VibWl0dGluZyB0byB0aGUgdmlkZW9tYWlsIHNlcnZlclxuICBvblByZXZpZXc6IGZ1bmN0aW9uIChrZXkpIHtcbiAgICB0aGlzLmZpZWxkTW9kZWwuc2V0KFwidmlkZW9tYWlsLWtleVwiLCBrZXkpO1xuICAgIHRoaXMuZmllbGRNb2RlbC5zZXQoXCJ2YWx1ZVwiLCBrZXkpO1xuXG4gICAgQmFja2JvbmUuUmFkaW8uY2hhbm5lbChcImZpZWxkc1wiKVxuICAgICAgLy8gY2xlYXJzIGFueSBwcmV2aW91cyBlcnJvcnNcbiAgICAgIC5yZXF1ZXN0KFwicmVtb3ZlOmVycm9yXCIsIHRoaXMuZmllbGRNb2RlbC5nZXQoXCJpZFwiKSwgXCJyZXF1aXJlZC1lcnJvclwiKTtcbiAgfSxcblxuICBvblN1Ym1pdHRlZDogZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgIGxldCBmb3JtTW9kZWwgPSBCYWNrYm9uZS5SYWRpby5jaGFubmVsKFwiYXBwXCIpLnJlcXVlc3QoXCJnZXQ6Zm9ybVwiLCB0aGlzLmdldEZvcm1JZCgpKTtcblxuICAgIGlmICghZm9ybU1vZGVsKSB7XG4gICAgICAvLyBmYWxsYmFjayBmb3Igb2xkZXIgdmVyc2lvbnNcbiAgICAgIGZvcm1Nb2RlbCA9IHRoaXMuZmllbGRNb2RlbC5jb2xsZWN0aW9uLm9wdGlvbnMuZm9ybU1vZGVsO1xuICAgIH1cblxuICAgIC8vIFRPRE8gSXNuJ3QgJ2Zvcm0tJyArIGZvcm1Nb2RlbC5nZXQoJ2lkJykgdGhlIHNhbWUgYXMgdGhlIGZvcm1JRCBhbHJlYWR5P1xuICAgIEJhY2tib25lLlJhZGlvLmNoYW5uZWwoXCJmb3JtLVwiICsgZm9ybU1vZGVsLmdldChcImlkXCIpKS5yZXF1ZXN0KFxuICAgICAgXCJhZGQ6ZXh0cmFcIixcbiAgICAgIFwidmlkZW9tYWlsXCIsXG4gICAgICByZXN1bHQudmlkZW9tYWlsLFxuICAgICk7XG5cbiAgICAvLyByZXN0YXJ0IHN1Ym1pc3Npb24gYWdhaW4sIHRoaXMgdGltZSB0byB0aGUgcmVhbCB3cCBzaXRlXG4gICAgQmFja2JvbmUuUmFkaW8uY2hhbm5lbChcImZvcm0tXCIgKyB0aGlzLmdldEZvcm1JZCgpKS5yZXF1ZXN0KFwic3VibWl0XCIsIGZvcm1Nb2RlbCk7XG4gIH0sXG5cbiAgb25Hb2luZ0JhY2s6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZpZWxkTW9kZWwuc2V0KFwidmlkZW9tYWlsLWtleVwiLCBudWxsKTtcbiAgICB0aGlzLmludmFsaWRhdGUoKTtcbiAgfSxcblxuICB2YWxpZGF0ZVJlcXVpcmVkOiBmdW5jdGlvbiAoZWwsIGZpZWxkTW9kZWwpIHtcbiAgICBjb25zdCB2YWxpZCA9IHRoaXMudmFsaWRhdGVWaWRlb21haWwoZmllbGRNb2RlbCk7XG5cbiAgICBpZiAoIXZhbGlkKSB7XG4gICAgICB0aGlzLmludmFsaWRhdGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWQ7XG4gIH0sXG5cbiAgaW52YWxpZGF0ZTogZnVuY3Rpb24gKCkge1xuICAgIC8vIG92ZXJyaWRlIGRlZmF1bHQgYmVoYXZpb3Igc28gdGhhdCB3ZSBjYW4gc2V0IG91ciBvd24gZXJyb3IgdGV4dCBoZXJlXG4gICAgQmFja2JvbmUuUmFkaW8uY2hhbm5lbChcImZpZWxkc1wiKS5yZXF1ZXN0KFxuICAgICAgXCJhZGQ6ZXJyb3JcIixcbiAgICAgIHRoaXMuZmllbGRNb2RlbC5nZXQoXCJpZFwiKSxcbiAgICAgIFwicmVxdWlyZWQtZXJyb3JcIixcbiAgICAgIFwiUmVjb3JkIGFuZCBjbGljayBvbiBzdG9wIHRvIHNlZSBhIHByZXZpZXcgdmlkZW8uXCIsXG4gICAgKTtcbiAgfSxcblxuICB2YWxpZGF0ZVZpZGVvbWFpbDogZnVuY3Rpb24gKGZpZWxkTW9kZWwpIHtcbiAgICBmaWVsZE1vZGVsID0gZmllbGRNb2RlbCB8fCB0aGlzLmZpZWxkTW9kZWw7XG4gICAgcmV0dXJuIGZpZWxkTW9kZWwuZ2V0KFwidmlkZW9tYWlsLWtleVwiKSB8fCBmYWxzZTtcbiAgfSxcblxuICBoYXNFcnJvcnM6IGZ1bmN0aW9uIChmb3JtTW9kZWwpIHtcbiAgICByZXR1cm4gZm9ybU1vZGVsLmdldChcImVycm9yc1wiKS5sZW5ndGggPiAwO1xuICB9LFxuXG4gIG1heWJlU3VibWl0OiBmdW5jdGlvbiAoZm9ybU1vZGVsKSB7XG4gICAgbGV0IG1heWJlID0gdHJ1ZTtcbiAgICBjb25zdCB2aWRlb21haWxTdWJtaXR0ZWQgPSBmb3JtTW9kZWwuZ2V0RXh0cmEoXCJ2aWRlb21haWxcIik7XG4gICAgY29uc3QgdmlkZW9tYWlsUmVjb3JkZWQgPSB0aGlzLnZhbGlkYXRlVmlkZW9tYWlsKCk7XG4gICAgY29uc3QgZXJyb3IgPSB0aGlzLmhhc0Vycm9ycyhmb3JtTW9kZWwpO1xuXG4gICAgLy8gaG9sZCBvbiB3aXRoIGZpbmFsIGZvcm0gc3VibWlzc2lvbiB3aGVuIG9uZSB3YXMgcmVjb3JkZWRcbiAgICAvLyBidXQgaGFzbid0IGJlZW4gc3VibWl0dGVkIHRvIHRoZSB2aWRlb21haWwgc2VydmVyIHlldFxuICAgIGlmICghdmlkZW9tYWlsU3VibWl0dGVkICYmICFlcnJvciAmJiB2aWRlb21haWxSZWNvcmRlZCkge1xuICAgICAgdGhpcy52aWRlb21haWxDbGllbnQuc3VibWl0KCk7XG4gICAgICBtYXliZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBtYXliZTtcbiAgfSxcblxuICBnZXRNZXJnZVRhZ1ZhbHVlOiBmdW5jdGlvbiAoZmllbGRLZXksIGZvcm1WYWx1ZXMpIHtcbiAgICBsZXQgdmFsdWUgPSB0aGlzLmZpZWxkTW9kZWwuZ2V0KGZpZWxkS2V5KTtcblxuICAgIC8vIGl0IGNhbiBoYXBwZW4gdGhhdCB0aGUgdXNlciBoYXMgY29uZmlndXJlZCBzb21ldGhpbmcgd3JvbmcsXG4gICAgLy8gaS5FLiBhbiBlbXB0eSBlbWFpbF9mcm9tLiBpbiB0aGF0IGNhc2UganVzdCBpZ25vcmUgLi4uXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICAvLyBhZG1pbiBlbWFpbCBsb2NhbGl6ZWQgZnJvbSBiYWNrZW5kLCBhIGJpdCB1Z2x5XG4gICAgICAvLyB0b2RvIGFzayBmb3IgYW4gZW5kcG9pbnQgdG8gcHJvY2VzcyB0aG9zZSBzcGVjaWFsIG1lcmdlIHRhZ3NcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iaW5hcnlraXRjaGVuL3ZpZGVvbWFpbC1mb3ItbmluamEtZm9ybXMvaXNzdWVzLzMwXG4gICAgICBpZiAodmFsdWUgPT09IFwie3dwOmFkbWluX2VtYWlsfVwiKSB7XG4gICAgICAgIHZhbHVlID0gd2luZG93Lm5mVmlkZW9tYWlsLmFkbWluX2VtYWlsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmF3RmllbGRLZXlNYXRjaGVzID0gdmFsdWUubWF0Y2goL3tmaWVsZDooLiopfS9pKTtcbiAgICAgICAgY29uc3QgcmF3RmllbGRLZXkgPSByYXdGaWVsZEtleU1hdGNoZXMgJiYgcmF3RmllbGRLZXlNYXRjaGVzWzFdO1xuXG4gICAgICAgIGlmIChyYXdGaWVsZEtleSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAvLyB5ZXMgaXQgd2FzIGEgbWVyZ2UgdGFnLCBzbyB1c2UgaXRcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL3tmaWVsZDooLiopfS9pLCBmb3JtVmFsdWVzW3Jhd0ZpZWxkS2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9LFxuXG4gIC8vIHJldHVybnMgYSBtYXAgbGlrZSB0aGlzOlxuICAvLyB7XG4gIC8vICAgZnJvbV9lbWFpbDogXCJtaWNLQGRlYWZvbnouZWhcIlxuICAvLyAgIGZyb21fbmFtZTogXCJNSFwiXG4gIC8vICAgbWVzc2FnZTogXCJzZGZzZGZzZGZcIlxuICAvLyAgIHN1YmplY3Q6IFwic2Rmc2RmXCJcbiAgLy8gICBzdWJtaXQ6IFwiXCJcbiAgLy8gICB2aWRlb19tZXNzYWdlOiBcIjExZWItNjFkNy1kZDU4MzMyMC1hZTYxLTJiODJiZTZjNmUzZVwiXG4gIC8vIH1cbiAgZ2V0Rm9ybVZhbHVlczogZnVuY3Rpb24gKCkge1xuICAgIGxldCBjb2xsZWN0aW9uO1xuICAgIGNvbnN0IGZvcm1Nb2RlbCA9IEJhY2tib25lLlJhZGlvLmNoYW5uZWwoXCJhcHBcIikucmVxdWVzdChcImdldDpmb3JtXCIsIHRoaXMuZ2V0Rm9ybUlkKCkpO1xuXG4gICAgaWYgKGZvcm1Nb2RlbCkge1xuICAgICAgY29sbGVjdGlvbiA9IGZvcm1Nb2RlbC5nZXQoXCJmaWVsZHNcIik7XG4gICAgICAvLyBmYWxsYmFjayBmb3Igb2xkZXIgdmVyc2lvbnNcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmllbGRNb2RlbC5jb2xsZWN0aW9uLm9wdGlvbnMuZm9ybU1vZGVsLmdldChcImZpZWxkc1wiKS5tb2RlbHMpIHtcbiAgICAgIGNvbGxlY3Rpb24gPSB0aGlzLmZpZWxkTW9kZWwuY29sbGVjdGlvbi5vcHRpb25zLmZvcm1Nb2RlbC5nZXQoXCJmaWVsZHNcIikubW9kZWxzO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1WYWx1ZXMgPSBjb2xsZWN0aW9uLnJlZHVjZShmdW5jdGlvbiAobWVtbywgZmllbGQpIHtcbiAgICAgIG1lbW9bZmllbGQuZ2V0KFwia2V5XCIpXSA9IGZpZWxkLmdldChcInZhbHVlXCIpO1xuICAgICAgcmV0dXJuIG1lbW87XG4gICAgfSwge30pO1xuXG4gICAgcmV0dXJuIGZvcm1WYWx1ZXM7XG4gIH0sXG5cbiAgYWRqdXN0Rm9ybURhdGFCZWZvcmVQb3N0aW5nVG9WaWRlb21haWxTZXJ2ZXI6IGZ1bmN0aW9uICh2aWRlb21haWwpIHtcbiAgICBjb25zdCBmb3JtVmFsdWVzID0gdGhpcy5nZXRGb3JtVmFsdWVzKCk7XG5cbiAgICB2aWRlb21haWwuZnJvbSA9IHRoaXMuZ2V0TWVyZ2VUYWdWYWx1ZShcImVtYWlsX2Zyb21cIiwgZm9ybVZhbHVlcyk7XG4gICAgdmlkZW9tYWlsLnRvID0gdGhpcy5nZXRNZXJnZVRhZ1ZhbHVlKFwiZW1haWxfdG9cIiwgZm9ybVZhbHVlcyk7XG4gICAgdmlkZW9tYWlsLnN1YmplY3QgPSB0aGlzLmdldE1lcmdlVGFnVmFsdWUoXCJlbWFpbF9zdWJqZWN0XCIsIGZvcm1WYWx1ZXMpO1xuICAgIHZpZGVvbWFpbC5ib2R5ID0gdGhpcy5nZXRNZXJnZVRhZ1ZhbHVlKFwiZW1haWxfYm9keVwiLCBmb3JtVmFsdWVzKTtcblxuICAgIHJldHVybiB2aWRlb21haWw7XG4gIH0sXG5cbiAgb25CZWZvcmVEZXN0cm95OiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy52aWRlb21haWxDbGllbnQudW5sb2FkKCk7XG4gICAgZGVsZXRlIHRoaXMudmlkZW9tYWlsQ2xpZW50O1xuICB9LFxufSk7XG5cbmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gbmV3IFZpZGVvbWFpbEZpZWxkQ29udHJvbGxlcigpO1xufSk7XG4iXSwibmFtZXMiOlsiUExVR0lOX1ZFUlNJT04iLCJERUJVRyIsIlZpZGVvbWFpbEZpZWxkQ29udHJvbGxlciIsIk1hcmlvbmV0dGUiLCJPYmplY3QiLCJleHRlbmQiLCJ2aWRlb21haWxDbGllbnQiLCJmaWVsZE1vZGVsIiwiY2hhbm5lbCIsIkJhY2tib25lIiwiUmFkaW8iLCJpbml0aWFsaXplIiwidGhpcyIsImxpc3RlblRvT25jZSIsInJlZ2lzdGVyVmlkZW9tYWlsRmllbGQiLCJsb2FkVmlkZW9tYWlsQ2xpZW50IiwibGlzdGVuVG8iLCJldmVudE5hbWUiLCJjb25zb2xlIiwibG9nIiwibmZSYWRpbyIsInBhcmFtcyIsImN1cnJlbnRNb2RlbHMiLCJjdXJyZW50RWxlbWVudCIsImF0dHJpYnV0ZXMiLCJmb3JtQ29udGVudERhdGEiLCJtb2RlbHMiLCJjdXJyZW50Q2lkIiwiY2lkIiwiZmluZCIsIm1vZGVsIiwidW5sb2FkIiwiZ2V0Rm9ybUlkIiwiZ2V0IiwicmVwbHkiLCJ2YWxpZGF0ZVJlcXVpcmVkIiwidmFsaWRhdGVWaWRlb21haWwiLCJtYXliZVN1Ym1pdCIsImxldCIsImltYWdlUXVhbGl0eVBlcmNlbnRhZ2UiLCJ2ZXJib3NlIiwiVmlkZW9tYWlsQ2xpZW50Iiwid2hpdGVsaXN0S2V5IiwidmlkZW8iLCJsaW1pdFNlY29uZHMiLCJ3aWR0aCIsInN0cmV0Y2giLCJjb3VudGRvd24iLCJhdWRpbyIsImVuYWJsZWQiLCJpbWFnZSIsInF1YWxpdHkiLCJzZWxlY3RvcnMiLCJjb250YWluZXJJZCIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiY2FsbGJhY2tzIiwiYWRqdXN0Rm9ybURhdGFCZWZvcmVQb3N0aW5nIiwiYWRqdXN0Rm9ybURhdGFCZWZvcmVQb3N0aW5nVG9WaWRlb21haWxTZXJ2ZXIiLCJiaW5kIiwibG9hZFVzZXJNZWRpYU9uUmVjb3JkIiwiZGlzYWJsZUZvcm1XaGVuU3VibWl0dGluZyIsImVuYWJsZUF1dG9WYWxpZGF0aW9uIiwiZW5hYmxlQXV0b1N1Ym1pc3Npb24iLCJ2ZXJzaW9ucyIsInZpZGVvbWFpbE5pbmphRm9ybVBsdWdpbiIsIm9uIiwib25QcmV2aWV3Iiwib25TdWJtaXR0ZWQiLCJvbkdvaW5nQmFjayIsInNob3ciLCJrZXkiLCJzZXQiLCJyZXF1ZXN0IiwicmVzdWx0IiwiZm9ybU1vZGVsIiwiY29sbGVjdGlvbiIsIm9wdGlvbnMiLCJ2aWRlb21haWwiLCJpbnZhbGlkYXRlIiwiZWwiLCJ2YWxpZCIsImhhc0Vycm9ycyIsImxlbmd0aCIsIm1heWJlIiwidmlkZW9tYWlsU3VibWl0dGVkIiwiZ2V0RXh0cmEiLCJ2aWRlb21haWxSZWNvcmRlZCIsImVycm9yIiwic3VibWl0IiwiZ2V0TWVyZ2VUYWdWYWx1ZSIsImZpZWxkS2V5IiwiZm9ybVZhbHVlcyIsInZhbHVlIiwid2luZG93IiwibmZWaWRlb21haWwiLCJhZG1pbl9lbWFpbCIsInJhd0ZpZWxkS2V5IiwicmF3RmllbGRLZXlNYXRjaGVzIiwibWF0Y2giLCJyZXBsYWNlIiwiZ2V0Rm9ybVZhbHVlcyIsInJlZHVjZSIsIm1lbW8iLCJmaWVsZCIsImZyb20iLCJ0byIsInN1YmplY3QiLCJib2R5Iiwib25CZWZvcmVEZXN0cm95IiwialF1ZXJ5IiwiZG9jdW1lbnQiLCJyZWFkeSJdLCJtYXBwaW5ncyI6IkFBQ0EsSUFBTUEsZUFBaUIsU0FHbkJDLE1BQVEsQ0FBQSxFQUtOQyx5QkFBMkJDLFdBQVdDLE9BQU9DLE9BQU8sQ0FDeERDLGdCQUFpQixLQUVqQkMsV0FBWSxLQUVaQyxRQUFTQyxTQUFTQyxNQUFNRixRQUFRLFdBQVcsRUFFM0NHLFdBQVksV0FDVkYsU0FBU0MsTUFBTVQsTUFBUUEsTUFFdkJXLEtBQUtDLGFBQWFELEtBQUtKLFFBQVMsYUFBY0ksS0FBS0Usc0JBQXNCLEVBQ3pFRixLQUFLQyxhQUFhRCxLQUFLSixRQUFTLGNBQWVJLEtBQUtHLG1CQUFtQixFQUd2RUgsS0FBS0ksU0FBU0osS0FBS0osUUFBUyxNQUFPLFNBQVVTLEdBQzNDaEIsT0FBU2lCLFFBQVFDLElBQUkscUNBQXNDRixDQUFTLEVBSXBFTCxLQUFLSSxTQUFTSSxRQUFRWixRQUFRLE1BQU0sRUFBRyxjQUFlLFNBQVVhLEdBQzlEcEIsT0FBU2lCLFFBQVFDLElBQUksZ0NBQWlDLGFBQWEsRUFFN0RHLEVBQ0pELEVBQU9FLGdCQUFnQkMsWUFBWUMsaUJBQWlCQyxRQUFVLEdBRWhFLElBQU1DLEVBQWFmLEtB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 -
videomail-for-ninja-forms/tags/10.2.0/target/js/videomail-client/index-min.js
r3455776 r3487728 6 6 })(globalThis, ()=>(()=>{ 7 7 var __webpack_modules__ = { 8 "./node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[1 3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[13].use[2]!./node_modules/stylus-loader/dist/cjs.js??ruleSet[1].rules[13].use[3]!./src/styles/main.styl" (module1, __webpack_exports__, __webpack_require__) {8 "./node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[2].use[2]!./node_modules/stylus-loader/dist/cjs.js??ruleSet[1].rules[10].oneOf[2].use[3]!./src/styles/main.styl" (module1, __webpack_exports__, __webpack_require__) { 9 9 "use strict"; 10 10 __webpack_require__.d(__webpack_exports__, { … … 2266 2266 this.encoding = null; 2267 2267 if (options.encoding) { 2268 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/duplexify/node_modules/string_decoder/lib/string_decoder.js"). StringDecoder;2268 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/duplexify/node_modules/string_decoder/lib/string_decoder.js").I; 2269 2269 this.decoder = new StringDecoder(options.encoding); 2270 2270 this.encoding = options.encoding; … … 2365 2365 }; 2366 2366 Readable.prototype.setEncoding = function(enc) { 2367 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/duplexify/node_modules/string_decoder/lib/string_decoder.js"). StringDecoder;2367 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/duplexify/node_modules/string_decoder/lib/string_decoder.js").I; 2368 2368 this._readableState.decoder = new StringDecoder(enc); 2369 2369 this._readableState.encoding = enc; … … 3558 3558 return nenc || enc; 3559 3559 } 3560 exports1. StringDecoder= StringDecoder;3560 exports1.I = StringDecoder; 3561 3561 function StringDecoder(encoding) { 3562 3562 this.encoding = normalizeEncoding(encoding); … … 8600 8600 this.encoding = null; 8601 8601 if (options.encoding) { 8602 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/websocket-stream/node_modules/string_decoder/lib/string_decoder.js"). StringDecoder;8602 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/websocket-stream/node_modules/string_decoder/lib/string_decoder.js").I; 8603 8603 this.decoder = new StringDecoder(options.encoding); 8604 8604 this.encoding = options.encoding; … … 8699 8699 }; 8700 8700 Readable.prototype.setEncoding = function(enc) { 8701 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/websocket-stream/node_modules/string_decoder/lib/string_decoder.js"). StringDecoder;8701 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/websocket-stream/node_modules/string_decoder/lib/string_decoder.js").I; 8702 8702 this._readableState.decoder = new StringDecoder(enc); 8703 8703 this._readableState.encoding = enc; … … 9892 9892 return nenc || enc; 9893 9893 } 9894 exports1. StringDecoder= StringDecoder;9894 exports1.I = StringDecoder; 9895 9895 function StringDecoder(encoding) { 9896 9896 this.encoding = normalizeEncoding(encoding); … … 10833 10833 var client_default = /*#__PURE__*/ __webpack_require__.n(client); 10834 10834 var package_namespaceObject = { 10835 rE: "13. 7.3"10835 rE: "13.8.3" 10836 10836 }; 10837 10837 function isAudioEnabled(options) { … … 14853 14853 [constants.WHITELIST_KEY_LABEL]: this.options.whitelistKey 14854 14854 }; 14855 let url = `${this.options.apiUrl}/videomail/`; 14855 const path = videomail.public ? "wall" : "videomail"; 14856 let url = `${this.options.apiUrl}/${path}/`; 14856 14857 if (method === FormMethod.PUT && videomail.key) url += videomail.key; 14857 14858 try { … … 15160 15161 var styleTagTransform = __webpack_require__("./node_modules/@rsbuild/core/compiled/style-loader/runtime/styleTagTransform.js"); 15161 15162 var styleTagTransform_default = /*#__PURE__*/ __webpack_require__.n(styleTagTransform); 15162 var main = __webpack_require__("./node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[1 3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[13].use[2]!./node_modules/stylus-loader/dist/cjs.js??ruleSet[1].rules[13].use[3]!./src/styles/main.styl");15163 var main = __webpack_require__("./node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[2].use[2]!./node_modules/stylus-loader/dist/cjs.js??ruleSet[1].rules[10].oneOf[2].use[3]!./src/styles/main.styl"); 15163 15164 var main_options = {}; 15164 15165 main_options.styleTagTransform = styleTagTransform_default(); … … 17060 17061 this.options.logger.debug(`Recorder: initializing web socket to ${url2Connect}`); 17061 17062 try { 17062 this.stream = stream_default()(url2Connect, { 17063 perMessageDeflate: false, 17064 objectMode: true 17065 }); 17063 this.stream = stream_default()(url2Connect); 17066 17064 } catch (exc) { 17067 17065 this.connecting = this.connected = false; 17068 17066 const err = error_createError({ 17069 17067 message: "Failed to connect to server", 17070 explanation: " Please upgrade your browser. Your current version does not seem to support websockets.",17068 explanation: "If this happens again, please contact us with the details of your environment.", 17071 17069 options: this.options, 17072 17070 exc … … 17097 17095 this.stream.on("data", (data)=>{ 17098 17096 this.options.logger.debug(`${PIPE_SYMBOL}Stream *data* event emitted`); 17099 let command;17100 17097 try { 17101 command = JSON.parse(data.toString()); 17098 const command = JSON.parse(data.toString()); 17099 this.executeCommand(command); 17102 17100 } catch (exc) { 17103 17101 this.options.logger.debug(`Failed to parse command: ${exc}`); … … 17111 17109 err 17112 17110 }); 17113 } finally{17114 this.executeCommand(command);17115 17111 } 17116 17112 }); … … 17371 17367 } 17372 17368 getIntervalSum() { 17369 if (!this.loop) return; 17373 17370 return this.loop.getElapsedTime(); 17374 17371 } 17375 17372 getAvgInterval() { 17376 return this.getIntervalSum() / this.framesCount; 17373 const intervalSum = this.getIntervalSum(); 17374 if (!intervalSum) return; 17375 return intervalSum / this.framesCount; 17377 17376 } 17378 17377 getAvgFps() { 17379 17378 const intervalSum = this.getIntervalSum(); 17380 if ( 0 === intervalSum || null ==intervalSum) return;17379 if (!intervalSum) return; 17381 17380 return this.framesCount / intervalSum * 1000; 17382 17381 } -
videomail-for-ninja-forms/tags/10.2.0/target/php/videomail.php
r3455776 r3487728 3 3 4 4 const NAME = 'Videomail'; 5 const VERSION = '10. 1.0';5 const VERSION = '10.2.0'; 6 6 const AUTHOR = 'Michael Heuberger + Kyle B. Johnson'; 7 7 const SLUG = 'videomail'; -
videomail-for-ninja-forms/tags/10.2.0/videomail-for-ninja-forms.php
r3455776 r3487728 4 4 Plugin URI: https://github.com/binarykitchen/videomail-for-ninja-forms 5 5 Description: Express yourself in more than just words. Record and send a short video from your webcam. 6 Version: 10. 1.06 Version: 10.2.0 7 7 Author: Michael Heuberger + Kyle B. Johnson 8 8 Author URI: https://videomail.io -
videomail-for-ninja-forms/trunk/readme.txt
r3455776 r3487728 4 4 Requires at least: 6.0 5 5 Tested up to: 6.9.1 6 Stable tag: 10. 1.06 Stable tag: 10.2.0 7 7 Requires PHP: 8.1.0 8 8 Donate link: https://videomail.io/faq … … 73 73 == Changelog == 74 74 75 = 10.2.0 (21 Mar 2026) = 76 77 **Change:** 78 * Remove obsolete WebSocket options to reduce race-condition related errors 79 80 **Chore** 81 * Upgrade VC dependency 82 * Apply patches 83 * Export types 84 75 85 = 10.1.0 (7 Feb 2026) = 76 86 **Improvement** -
videomail-for-ninja-forms/trunk/target/js/main-min.js
r3455776 r3487728 1 let PLUGIN_VERSION="10. 1.0",DEBUG=!1,VideomailFieldController=Marionette.Object.extend({videomailClient:null,fieldModel:null,channel:Backbone.Radio.channel("videomail"),initialize:function(){Backbone.Radio.DEBUG=DEBUG,this.listenToOnce(this.channel,"init:model",this.registerVideomailField),this.listenToOnce(this.channel,"attach:view",this.loadVideomailClient),this.listenTo(this.channel,"all",function(e){DEBUG&&console.log("Videomail channel event triggered:",e),this.listenTo(nfRadio.channel("nfMP"),"change:part",function(e){DEBUG&&console.log("nfMP channel event triggered:","change:part");e=e.currentElement?.attributes?.formContentData?.models||[];let i=this.fieldModel.cid;e.find(function(e){return e.cid===i})?this.loadVideomailClient():this.videomailClient.unload()})})},getFormId:function(){return this.fieldModel.get("formID")},registerVideomailField:function(e){this.fieldModel=e,this.channel.reply("validate:required",this.validateRequired,this),this.channel.reply("validate:modelData",this.validateVideomail,this),Backbone.Radio.channel("form-"+this.getFormId()).reply("maybe:submit",this.maybeSubmit,this,e)},loadVideomailClient:function(){let e=this.fieldModel.get("image_quality")||40;100<e?e=100:e<1&&(e=1);var i=this.fieldModel.get("verbose")||DEBUG;DEBUG=DEBUG||i,Backbone.Radio.DEBUG=Backbone.Radio.DEBUG||i,this.videomailClient=new VideomailClient.VideomailClient({whitelistKey:this.fieldModel.get("whitelist_key")||this.fieldModel.get("site_name"),video:{limitSeconds:this.fieldModel.get("limit_seconds")||90,width:this.fieldModel.get("width")||320,stretch:this.fieldModel.get("stretch")||!1,countdown:this.fieldModel.get("countdown")||!1},audio:{enabled:this.fieldModel.get("audio_enabled")},image:{quality:e/100},selectors:{containerId:"videomail",submitButtonSelector:".submit-wrap input"},callbacks:{adjustFormDataBeforePosting:this.adjustFormDataBeforePostingToVideomailServer.bind(this)},loadUserMediaOnRecord:this.fieldModel.get("load_user_media_on_record"),disableFormWhenSubmitting:this.fieldModel.get("disable_form_when_submitting"),enableAutoValidation:!1,enableAutoSubmission:!1,verbose:i,versions:{videomailNinjaFormPlugin:PLUGIN_VERSION}}),this.videomailClient.on("PREVIEW",this.onPreview.bind(this)),this.videomailClient.on("SUBMITTED",this.onSubmitted.bind(this)),this.videomailClient.on("GOING_BACK",this.onGoingBack.bind(this)),this.videomailClient.show()},onPreview:function(e){this.fieldModel.set("videomail-key",e),this.fieldModel.set("value",e),Backbone.Radio.channel("fields").request("remove:error",this.fieldModel.get("id"),"required-error")},onSubmitted:function(e){let i=Backbone.Radio.channel("app").request("get:form",this.getFormId());i=i||this.fieldModel.collection.options.formModel,Backbone.Radio.channel("form-"+i.get("id")).request("add:extra","videomail",e.videomail),Backbone.Radio.channel("form-"+this.getFormId()).request("submit",i)},onGoingBack:function(){this.fieldModel.set("videomail-key",null),this.invalidate()},validateRequired:function(e,i){i=this.validateVideomail(i);return i||this.invalidate(),i},invalidate:function(){Backbone.Radio.channel("fields").request("add:error",this.fieldModel.get("id"),"required-error","Record and click on stop to see a preview video.")},validateVideomail:function(e){return(e=e||this.fieldModel).get("videomail-key")||!1},hasErrors:function(e){return 0<e.get("errors").length},maybeSubmit:function(e){let i=!0;var t=e.getExtra("videomail"),o=this.validateVideomail(),e=this.hasErrors(e);return t||e||!o||(this.videomailClient.submit(),i=!1),i},getMergeTagValue:function(e,i){let t=this.fieldModel.get(e);if(t&&("{wp:admin_email}"===t?t=window.nfVideomail.admin_email:(e=(e=t.match(/{field:(.*)}/i))&&e[1])!==t&&(t=t.replace(/{field:(.*)}/i,i[e]))),"undefined"!==t)return t},getFormValues:function(){let e;var i=Backbone.Radio.channel("app").request("get:form",this.getFormId()),i=(i?e=i.get("fields"):this.fieldModel.collection.options.formModel.get("fields").models&&(e=this.fieldModel.collection.options.formModel.get("fields").models),e.reduce(function(e,i){return e[i.get("key")]=i.get("value"),e},{}));return i},adjustFormDataBeforePostingToVideomailServer:function(e){var i=this.getFormValues();return e.from=this.getMergeTagValue("email_from",i),e.to=this.getMergeTagValue("email_to",i),e.subject=this.getMergeTagValue("email_subject",i),e.body=this.getMergeTagValue("email_body",i),e},onBeforeDestroy:function(){this.videomailClient.unload(),delete this.videomailClient}});jQuery(document).ready(function(){return new VideomailFieldController});2 //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1taW4uanMiLCJzb3VyY2VzIjpbIm1haW4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gUmVtZW1iZXIsIHlvdSBjYW4ndCB1c2UgYW55IGltcG9ydC9yZXF1aXJlIHN0YXRlbWVudHMgaGVyZVxuY29uc3QgUExVR0lOX1ZFUlNJT04gPSBcIjEwLj EuMFwiO1xuXG4vLyBtYW51YWwgc3dpdGNoIHRvIGhhdmUgbW9yZSBzdHVmZiBwcmludGVkIHRvIGNvbnNvbGVcbmxldCBERUJVRyA9IGZhbHNlO1xuXG4vLyBnb29kIGRvY3VtZW50YXRpb24gb24gYmFja2JvbmUgZXZlbnQgaGFuZGxpbmdcbi8vIGh0dHA6Ly9iYWNrYm9uZWpzLm9yZy8jRXZlbnRzXG5cbmNvbnN0IFZpZGVvbWFpbEZpZWxkQ29udHJvbGxlciA9IE1hcmlvbmV0dGUuT2JqZWN0LmV4dGVuZCh7XG4gIHZpZGVvbWFpbENsaWVudDogbnVsbCxcblxuICBmaWVsZE1vZGVsOiBudWxsLFxuXG4gIGNoYW5uZWw6IEJhY2tib25lLlJhZGlvLmNoYW5uZWwoXCJ2aWRlb21haWxcIiksXG5cbiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24gKCkge1xuICAgIEJhY2tib25lLlJhZGlvLkRFQlVHID0gREVCVUc7XG5cbiAgICB0aGlzLmxpc3RlblRvT25jZSh0aGlzLmNoYW5uZWwsIFwiaW5pdDptb2RlbFwiLCB0aGlzLnJlZ2lzdGVyVmlkZW9tYWlsRmllbGQpO1xuICAgIHRoaXMubGlzdGVuVG9PbmNlKHRoaXMuY2hhbm5lbCwgXCJhdHRhY2g6dmlld1wiLCB0aGlzLmxvYWRWaWRlb21haWxDbGllbnQpO1xuXG4gICAgLy8gdWdseSB3b3JrYXJvdW5kIHRvIG1ha2UgaXQgd29yayB3aXRoIHRoZSBjb25kaXRpb25hbCBwbHVnaW5cbiAgICB0aGlzLmxpc3RlblRvKHRoaXMuY2hhbm5lbCwgXCJhbGxcIiwgZnVuY3Rpb24gKGV2ZW50TmFtZSkge1xuICAgICAgREVCVUcgJiYgY29uc29sZS5sb2coXCJWaWRlb21haWwgY2hhbm5lbCBldmVudCB0cmlnZ2VyZWQ6XCIsIGV2ZW50TmFtZSk7XG5cbiAgICAgIC8vIG11c3QgYmUgY29taW5nIGJhY2sgZnJvbSBhIG11bHRpLXN0ZXAgd2hlcmVcbiAgICAgIC8vIHZpZGVvbWFpbCBoYXMgYWxyZWFkeSBiZWVuIGluaXRpYWxpc2VkLiBzbyBqdXN0IHJlc3VtZSBpdC5cbiAgICAgIHRoaXMubGlzdGVuVG8obmZSYWRpby5jaGFubmVsKFwibmZNUFwiKSwgXCJjaGFuZ2U6cGFydFwiLCBmdW5jdGlvbiAocGFyYW1zKSB7XG4gICAgICAgIERFQlVHICYmIGNvbnNvbGUubG9nKFwibmZNUCBjaGFubmVsIGV2ZW50IHRyaWdnZXJlZDpcIiwgXCJjaGFuZ2U6cGFydFwiKTtcblxuICAgICAgICBjb25zdCBjdXJyZW50TW9kZWxzID1cbiAgICAgICAgICBwYXJhbXMuY3VycmVudEVsZW1lbnQ/LmF0dHJpYnV0ZXM/LmZvcm1Db250ZW50RGF0YT8ubW9kZWxzIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRDaWQgPSB0aGlzLmZpZWxkTW9kZWwuY2lkO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRNb2RlbCA9IGN1cnJlbnRNb2RlbHMuZmluZChmdW5jdGlvbiAobW9kZWwpIHtcbiAgICAgICAgICByZXR1cm4gbW9kZWwuY2lkID09PSBjdXJyZW50Q2lkO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoY3VycmVudE1vZGVsKSB7XG4gICAgICAgICAgdGhpcy5sb2FkVmlkZW9tYWlsQ2xpZW50KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy52aWRlb21haWxDbGllbnQudW5sb2FkKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9LFxuXG4gIGdldEZvcm1JZDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwiZm9ybUlEXCIpO1xuICB9LFxuXG4gIHJlZ2lzdGVyVmlkZW9tYWlsRmllbGQ6IGZ1bmN0aW9uIChmaWVsZE1vZGVsKSB7XG4gICAgdGhpcy5maWVsZE1vZGVsID0gZmllbGRNb2RlbDtcblxuICAgIC8vIGN1c3RvbSBmaWVsZCB2YWxpZGF0aW9uLCBzaW5jZSB3ZSBhcmVuJ3QgdXNpbmcgYSBzdGFuZGFyZCBgdmFsdWVgXG4gICAgLy8gZm9yIHRoZSB2aWRlb21haWwgaW5wdXRcbiAgICB0aGlzLmNoYW5uZWwucmVwbHkoXCJ2YWxpZGF0ZTpyZXF1aXJlZFwiLCB0aGlzLnZhbGlkYXRlUmVxdWlyZWQsIHRoaXMpO1xuXG4gICAgdGhpcy5jaGFubmVsLnJlcGx5KFwidmFsaWRhdGU6bW9kZWxEYXRhXCIsIHRoaXMudmFsaWRhdGVWaWRlb21haWwsIHRoaXMpO1xuXG4gICAgLy8gY29udHJvbCBzdWJtaXNzaW9uIHByb2dyZXNzLFxuICAgIC8vIHNvIHRoYXQgd2UgY2FuIFBPU1QgdG8gdGhlIFZpZGVvbWFpbCBzZXJ2ZXIgZmlyc3RcbiAgICBCYWNrYm9uZS5SYWRpby5jaGFubmVsKFwiZm9ybS1cIiArIHRoaXMuZ2V0Rm9ybUlkKCkpLnJlcGx5KFxuICAgICAgXCJtYXliZTpzdWJtaXRcIixcbiAgICAgIHRoaXMubWF5YmVTdWJtaXQsXG4gICAgICB0aGlzLFxuICAgICAgZmllbGRNb2RlbCxcbiAgICApO1xuICB9LFxuXG4gIGxvYWRWaWRlb21haWxDbGllbnQ6IGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgaW1hZ2VRdWFsaXR5UGVyY2VudGFnZSA9IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJpbWFnZV9xdWFsaXR5XCIpIHx8IDQwO1xuXG4gICAgaWYgKGltYWdlUXVhbGl0eVBlcmNlbnRhZ2UgPiAxMDApIHtcbiAgICAgIGltYWdlUXVhbGl0eVBlcmNlbnRhZ2UgPSAxMDA7XG4gICAgfSBlbHNlIGlmIChpbWFnZVF1YWxpdHlQZXJjZW50YWdlIDwgMSkge1xuICAgICAgaW1hZ2VRdWFsaXR5UGVyY2VudGFnZSA9IDE7XG4gICAgfVxuXG4gICAgY29uc3QgdmVyYm9zZSA9IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJ2ZXJib3NlXCIpIHx8IERFQlVHO1xuXG4gICAgLy8gbGF0ZSBvdmVycmlkZXNcbiAgICBERUJVRyA9IERFQlVHIHx8IHZlcmJvc2U7XG4gICAgQmFja2JvbmUuUmFkaW8uREVCVUcgPSBCYWNrYm9uZS5SYWRpby5ERUJVRyB8fCB2ZXJib3NlO1xuXG4gICAgdGhpcy52aWRlb21haWxDbGllbnQgPSBuZXcgVmlkZW9tYWlsQ2xpZW50LlZpZGVvbWFpbENsaWVudCh7XG4gICAgICAvLyB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwic2l0ZV9uYW1lXCIpIGlzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdoaWNoIGNhbiBiZVxuICAgICAgLy8gcmVtb3ZlZCBsYXRlciBvbmNlIGFsbCBsZWdhY3kgd2hpdGVsaXN0IGVudHJpZXMgaGF2ZSBiZWVuIG1pZ3JhdGVkLlxuICAgICAgd2hpdGVsaXN0S2V5OlxuICAgICAgICB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwid2hpdGVsaXN0X2tleVwiKSB8fCB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwic2l0ZV9uYW1lXCIpLFxuICAgICAgdmlkZW86IHtcbiAgICAgICAgbGltaXRTZWNvbmRzOiB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwibGltaXRfc2Vjb25kc1wiKSB8fCA5MCxcbiAgICAgICAgd2lkdGg6IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJ3aWR0aFwiKSB8fCAzMjAsXG4gICAgICAgIC8vIFRPRE8gSW1wbGVtZW50IG9uIFZDIHNpZGVcbiAgICAgICAgc3RyZXRjaDogdGhpcy5maWVsZE1vZGVsLmdldChcInN0cmV0Y2hcIikgfHwgZmFsc2UsXG4gICAgICAgIGNvdW50ZG93bjogdGhpcy5maWVsZE1vZGVsLmdldChcImNvdW50ZG93blwiKSB8fCBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBhdWRpbzogeyBlbmFibGVkOiB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwiYXVkaW9fZW5hYmxlZFwiKSB9LFxuICAgICAgaW1hZ2U6IHtcbiAgICAgICAgcXVhbGl0eTogaW1hZ2VRdWFsaXR5UGVyY2VudGFnZSAvIDEwMCwgLy8gbXVzdCBiZSBhIGZsb2F0XG4gICAgICB9LFxuICAgICAgc2VsZWN0b3JzOiB7IGNvbnRhaW5lcklkOiBcInZpZGVvbWFpbFwiLCBzdWJtaXRCdXR0b25TZWxlY3RvcjogXCIuc3VibWl0LXdyYXAgaW5wdXRcIiB9LFxuICAgICAgY2FsbGJhY2tzOiB7XG4gICAgICAgIGFkanVzdEZvcm1EYXRhQmVmb3JlUG9zdGluZzpcbiAgICAgICAgICB0aGlzLmFkanVzdEZvcm1EYXRhQmVmb3JlUG9zdGluZ1RvVmlkZW9tYWlsU2VydmVyLmJpbmQodGhpcyksXG4gICAgICB9LFxuXG4gICAgICAvLyB3aGVuIHRydWUsIHVzZXIgbWVkaWEgaXMgbG9hZGVkIG9ubHkgd2hlbiByZWNvcmQgYnV0dG9uIGlzIHByZXNzZWRcbiAgICAgIGxvYWRVc2VyTWVkaWFPblJlY29yZDogdGhpcy5maWVsZE1vZGVsLmdldChcImxvYWRfdXNlcl9tZWRpYV9vbl9yZWNvcmRcIiksXG5cbiAgICAgIGRpc2FibGVGb3JtV2hlblN1Ym1pdHRpbmc6IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJkaXNhYmxlX2Zvcm1fd2hlbl9zdWJtaXR0aW5nXCIpLFxuXG4gICAgICAvLyBsZWF2ZSBpdCB0byBuaW5qYSBmb3JtIHRvIHZhbGlkYXRlIHRoZSBpbnB1dHNcbiAgICAgIGVuYWJsZUF1dG9WYWxpZGF0aW9uOiBmYWxzZSxcblxuICAgICAgLy8gbGVhdmUgaXQgdG8gbmluamEgZm9ybSB0byBkZWFsIHdpdGggZm9ybSBzdWJtaXNzaW9uc1xuICAgICAgZW5hYmxlQXV0b1N1Ym1pc3Npb246IGZhbHNlLFxuXG4gICAgICAvLyBsb2cgYWN0aW9ucy9ldmVudHMgdG8gY29uc29sZVxuICAgICAgdmVyYm9zZSxcblxuICAgICAgdmVyc2lvbnM6IHsgdmlkZW9tYWlsTmluamFGb3JtUGx1Z2luOiBQTFVHSU5fVkVSU0lPTiB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy52aWRlb21haWxDbGllbnQub24oXCJQUkVWSUVXXCIsIHRoaXMub25QcmV2aWV3LmJpbmQodGhpcykpO1xuICAgIHRoaXMudmlkZW9tYWlsQ2xpZW50Lm9uKFwiU1VCTUlUVEVEXCIsIHRoaXMub25TdWJtaXR0ZWQuYmluZCh0aGlzKSk7XG4gICAgdGhpcy52aWRlb21haWxDbGllbnQub24oXCJHT0lOR19CQUNLXCIsIHRoaXMub25Hb2luZ0JhY2suYmluZCh0aGlzKSk7XG5cbiAgICB0aGlzLnZpZGVvbWFpbENsaWVudC5zaG93KCk7XG4gIH0sXG5cbiAgLy8gbmVlZGVkIHRvIGdldCB0aGUgdmlkZW9tYWlsIGtleSB3aGljaCBpcyByZXF1aXJlZCBiZWZvcmVcbiAgLy8gc3VibWl0dGluZyB0byB0aGUgdmlkZW9tYWlsIHNlcnZlclxuICBvblByZXZpZXc6IGZ1bmN0aW9uIChrZXkpIHtcbiAgICB0aGlzLmZpZWxkTW9kZWwuc2V0KFwidmlkZW9tYWlsLWtleVwiLCBrZXkpO1xuICAgIHRoaXMuZmllbGRNb2RlbC5zZXQoXCJ2YWx1ZVwiLCBrZXkpO1xuXG4gICAgQmFja2JvbmUuUmFkaW8uY2hhbm5lbChcImZpZWxkc1wiKVxuICAgICAgLy8gY2xlYXJzIGFueSBwcmV2aW91cyBlcnJvcnNcbiAgICAgIC5yZXF1ZXN0KFwicmVtb3ZlOmVycm9yXCIsIHRoaXMuZmllbGRNb2RlbC5nZXQoXCJpZFwiKSwgXCJyZXF1aXJlZC1lcnJvclwiKTtcbiAgfSxcblxuICBvblN1Ym1pdHRlZDogZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgIGxldCBmb3JtTW9kZWwgPSBCYWNrYm9uZS5SYWRpby5jaGFubmVsKFwiYXBwXCIpLnJlcXVlc3QoXCJnZXQ6Zm9ybVwiLCB0aGlzLmdldEZvcm1JZCgpKTtcblxuICAgIGlmICghZm9ybU1vZGVsKSB7XG4gICAgICAvLyBmYWxsYmFjayBmb3Igb2xkZXIgdmVyc2lvbnNcbiAgICAgIGZvcm1Nb2RlbCA9IHRoaXMuZmllbGRNb2RlbC5jb2xsZWN0aW9uLm9wdGlvbnMuZm9ybU1vZGVsO1xuICAgIH1cblxuICAgIC8vIFRPRE8gSXNuJ3QgJ2Zvcm0tJyArIGZvcm1Nb2RlbC5nZXQoJ2lkJykgdGhlIHNhbWUgYXMgdGhlIGZvcm1JRCBhbHJlYWR5P1xuICAgIEJhY2tib25lLlJhZGlvLmNoYW5uZWwoXCJmb3JtLVwiICsgZm9ybU1vZGVsLmdldChcImlkXCIpKS5yZXF1ZXN0KFxuICAgICAgXCJhZGQ6ZXh0cmFcIixcbiAgICAgIFwidmlkZW9tYWlsXCIsXG4gICAgICByZXN1bHQudmlkZW9tYWlsLFxuICAgICk7XG5cbiAgICAvLyByZXN0YXJ0IHN1Ym1pc3Npb24gYWdhaW4sIHRoaXMgdGltZSB0byB0aGUgcmVhbCB3cCBzaXRlXG4gICAgQmFja2JvbmUuUmFkaW8uY2hhbm5lbChcImZvcm0tXCIgKyB0aGlzLmdldEZvcm1JZCgpKS5yZXF1ZXN0KFwic3VibWl0XCIsIGZvcm1Nb2RlbCk7XG4gIH0sXG5cbiAgb25Hb2luZ0JhY2s6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZpZWxkTW9kZWwuc2V0KFwidmlkZW9tYWlsLWtleVwiLCBudWxsKTtcbiAgICB0aGlzLmludmFsaWRhdGUoKTtcbiAgfSxcblxuICB2YWxpZGF0ZVJlcXVpcmVkOiBmdW5jdGlvbiAoZWwsIGZpZWxkTW9kZWwpIHtcbiAgICBjb25zdCB2YWxpZCA9IHRoaXMudmFsaWRhdGVWaWRlb21haWwoZmllbGRNb2RlbCk7XG5cbiAgICBpZiAoIXZhbGlkKSB7XG4gICAgICB0aGlzLmludmFsaWRhdGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWQ7XG4gIH0sXG5cbiAgaW52YWxpZGF0ZTogZnVuY3Rpb24gKCkge1xuICAgIC8vIG92ZXJyaWRlIGRlZmF1bHQgYmVoYXZpb3Igc28gdGhhdCB3ZSBjYW4gc2V0IG91ciBvd24gZXJyb3IgdGV4dCBoZXJlXG4gICAgQmFja2JvbmUuUmFkaW8uY2hhbm5lbChcImZpZWxkc1wiKS5yZXF1ZXN0KFxuICAgICAgXCJhZGQ6ZXJyb3JcIixcbiAgICAgIHRoaXMuZmllbGRNb2RlbC5nZXQoXCJpZFwiKSxcbiAgICAgIFwicmVxdWlyZWQtZXJyb3JcIixcbiAgICAgIFwiUmVjb3JkIGFuZCBjbGljayBvbiBzdG9wIHRvIHNlZSBhIHByZXZpZXcgdmlkZW8uXCIsXG4gICAgKTtcbiAgfSxcblxuICB2YWxpZGF0ZVZpZGVvbWFpbDogZnVuY3Rpb24gKGZpZWxkTW9kZWwpIHtcbiAgICBmaWVsZE1vZGVsID0gZmllbGRNb2RlbCB8fCB0aGlzLmZpZWxkTW9kZWw7XG4gICAgcmV0dXJuIGZpZWxkTW9kZWwuZ2V0KFwidmlkZW9tYWlsLWtleVwiKSB8fCBmYWxzZTtcbiAgfSxcblxuICBoYXNFcnJvcnM6IGZ1bmN0aW9uIChmb3JtTW9kZWwpIHtcbiAgICByZXR1cm4gZm9ybU1vZGVsLmdldChcImVycm9yc1wiKS5sZW5ndGggPiAwO1xuICB9LFxuXG4gIG1heWJlU3VibWl0OiBmdW5jdGlvbiAoZm9ybU1vZGVsKSB7XG4gICAgbGV0IG1heWJlID0gdHJ1ZTtcbiAgICBjb25zdCB2aWRlb21haWxTdWJtaXR0ZWQgPSBmb3JtTW9kZWwuZ2V0RXh0cmEoXCJ2aWRlb21haWxcIik7XG4gICAgY29uc3QgdmlkZW9tYWlsUmVjb3JkZWQgPSB0aGlzLnZhbGlkYXRlVmlkZW9tYWlsKCk7XG4gICAgY29uc3QgZXJyb3IgPSB0aGlzLmhhc0Vycm9ycyhmb3JtTW9kZWwpO1xuXG4gICAgLy8gaG9sZCBvbiB3aXRoIGZpbmFsIGZvcm0gc3VibWlzc2lvbiB3aGVuIG9uZSB3YXMgcmVjb3JkZWRcbiAgICAvLyBidXQgaGFzbid0IGJlZW4gc3VibWl0dGVkIHRvIHRoZSB2aWRlb21haWwgc2VydmVyIHlldFxuICAgIGlmICghdmlkZW9tYWlsU3VibWl0dGVkICYmICFlcnJvciAmJiB2aWRlb21haWxSZWNvcmRlZCkge1xuICAgICAgdGhpcy52aWRlb21haWxDbGllbnQuc3VibWl0KCk7XG4gICAgICBtYXliZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBtYXliZTtcbiAgfSxcblxuICBnZXRNZXJnZVRhZ1ZhbHVlOiBmdW5jdGlvbiAoZmllbGRLZXksIGZvcm1WYWx1ZXMpIHtcbiAgICBsZXQgdmFsdWUgPSB0aGlzLmZpZWxkTW9kZWwuZ2V0KGZpZWxkS2V5KTtcblxuICAgIC8vIGl0IGNhbiBoYXBwZW4gdGhhdCB0aGUgdXNlciBoYXMgY29uZmlndXJlZCBzb21ldGhpbmcgd3JvbmcsXG4gICAgLy8gaS5FLiBhbiBlbXB0eSBlbWFpbF9mcm9tLiBpbiB0aGF0IGNhc2UganVzdCBpZ25vcmUgLi4uXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICAvLyBhZG1pbiBlbWFpbCBsb2NhbGl6ZWQgZnJvbSBiYWNrZW5kLCBhIGJpdCB1Z2x5XG4gICAgICAvLyB0b2RvIGFzayBmb3IgYW4gZW5kcG9pbnQgdG8gcHJvY2VzcyB0aG9zZSBzcGVjaWFsIG1lcmdlIHRhZ3NcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iaW5hcnlraXRjaGVuL3ZpZGVvbWFpbC1mb3ItbmluamEtZm9ybXMvaXNzdWVzLzMwXG4gICAgICBpZiAodmFsdWUgPT09IFwie3dwOmFkbWluX2VtYWlsfVwiKSB7XG4gICAgICAgIHZhbHVlID0gd2luZG93Lm5mVmlkZW9tYWlsLmFkbWluX2VtYWlsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmF3RmllbGRLZXlNYXRjaGVzID0gdmFsdWUubWF0Y2goL3tmaWVsZDooLiopfS9pKTtcbiAgICAgICAgY29uc3QgcmF3RmllbGRLZXkgPSByYXdGaWVsZEtleU1hdGNoZXMgJiYgcmF3RmllbGRLZXlNYXRjaGVzWzFdO1xuXG4gICAgICAgIGlmIChyYXdGaWVsZEtleSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAvLyB5ZXMgaXQgd2FzIGEgbWVyZ2UgdGFnLCBzbyB1c2UgaXRcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL3tmaWVsZDooLiopfS9pLCBmb3JtVmFsdWVzW3Jhd0ZpZWxkS2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9LFxuXG4gIC8vIHJldHVybnMgYSBtYXAgbGlrZSB0aGlzOlxuICAvLyB7XG4gIC8vICAgZnJvbV9lbWFpbDogXCJtaWNLQGRlYWZvbnouZWhcIlxuICAvLyAgIGZyb21fbmFtZTogXCJNSFwiXG4gIC8vICAgbWVzc2FnZTogXCJzZGZzZGZzZGZcIlxuICAvLyAgIHN1YmplY3Q6IFwic2Rmc2RmXCJcbiAgLy8gICBzdWJtaXQ6IFwiXCJcbiAgLy8gICB2aWRlb19tZXNzYWdlOiBcIjExZWItNjFkNy1kZDU4MzMyMC1hZTYxLTJiODJiZTZjNmUzZVwiXG4gIC8vIH1cbiAgZ2V0Rm9ybVZhbHVlczogZnVuY3Rpb24gKCkge1xuICAgIGxldCBjb2xsZWN0aW9uO1xuICAgIGNvbnN0IGZvcm1Nb2RlbCA9IEJhY2tib25lLlJhZGlvLmNoYW5uZWwoXCJhcHBcIikucmVxdWVzdChcImdldDpmb3JtXCIsIHRoaXMuZ2V0Rm9ybUlkKCkpO1xuXG4gICAgaWYgKGZvcm1Nb2RlbCkge1xuICAgICAgY29sbGVjdGlvbiA9IGZvcm1Nb2RlbC5nZXQoXCJmaWVsZHNcIik7XG4gICAgICAvLyBmYWxsYmFjayBmb3Igb2xkZXIgdmVyc2lvbnNcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmllbGRNb2RlbC5jb2xsZWN0aW9uLm9wdGlvbnMuZm9ybU1vZGVsLmdldChcImZpZWxkc1wiKS5tb2RlbHMpIHtcbiAgICAgIGNvbGxlY3Rpb24gPSB0aGlzLmZpZWxkTW9kZWwuY29sbGVjdGlvbi5vcHRpb25zLmZvcm1Nb2RlbC5nZXQoXCJmaWVsZHNcIikubW9kZWxzO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1WYWx1ZXMgPSBjb2xsZWN0aW9uLnJlZHVjZShmdW5jdGlvbiAobWVtbywgZmllbGQpIHtcbiAgICAgIG1lbW9bZmllbGQuZ2V0KFwia2V5XCIpXSA9IGZpZWxkLmdldChcInZhbHVlXCIpO1xuICAgICAgcmV0dXJuIG1lbW87XG4gICAgfSwge30pO1xuXG4gICAgcmV0dXJuIGZvcm1WYWx1ZXM7XG4gIH0sXG5cbiAgYWRqdXN0Rm9ybURhdGFCZWZvcmVQb3N0aW5nVG9WaWRlb21haWxTZXJ2ZXI6IGZ1bmN0aW9uICh2aWRlb21haWwpIHtcbiAgICBjb25zdCBmb3JtVmFsdWVzID0gdGhpcy5nZXRGb3JtVmFsdWVzKCk7XG5cbiAgICB2aWRlb21haWwuZnJvbSA9IHRoaXMuZ2V0TWVyZ2VUYWdWYWx1ZShcImVtYWlsX2Zyb21cIiwgZm9ybVZhbHVlcyk7XG4gICAgdmlkZW9tYWlsLnRvID0gdGhpcy5nZXRNZXJnZVRhZ1ZhbHVlKFwiZW1haWxfdG9cIiwgZm9ybVZhbHVlcyk7XG4gICAgdmlkZW9tYWlsLnN1YmplY3QgPSB0aGlzLmdldE1lcmdlVGFnVmFsdWUoXCJlbWFpbF9zdWJqZWN0XCIsIGZvcm1WYWx1ZXMpO1xuICAgIHZpZGVvbWFpbC5ib2R5ID0gdGhpcy5nZXRNZXJnZVRhZ1ZhbHVlKFwiZW1haWxfYm9keVwiLCBmb3JtVmFsdWVzKTtcblxuICAgIHJldHVybiB2aWRlb21haWw7XG4gIH0sXG5cbiAgb25CZWZvcmVEZXN0cm95OiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy52aWRlb21haWxDbGllbnQudW5sb2FkKCk7XG4gICAgZGVsZXRlIHRoaXMudmlkZW9tYWlsQ2xpZW50O1xuICB9LFxufSk7XG5cbmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gbmV3IFZpZGVvbWFpbEZpZWxkQ29udHJvbGxlcigpO1xufSk7XG4iXSwibmFtZXMiOlsiUExVR0lOX1ZFUlNJT04iLCJERUJVRyIsIlZpZGVvbWFpbEZpZWxkQ29udHJvbGxlciIsIk1hcmlvbmV0dGUiLCJPYmplY3QiLCJleHRlbmQiLCJ2aWRlb21haWxDbGllbnQiLCJmaWVsZE1vZGVsIiwiY2hhbm5lbCIsIkJhY2tib25lIiwiUmFkaW8iLCJpbml0aWFsaXplIiwidGhpcyIsImxpc3RlblRvT25jZSIsInJlZ2lzdGVyVmlkZW9tYWlsRmllbGQiLCJsb2FkVmlkZW9tYWlsQ2xpZW50IiwibGlzdGVuVG8iLCJldmVudE5hbWUiLCJjb25zb2xlIiwibG9nIiwibmZSYWRpbyIsInBhcmFtcyIsImN1cnJlbnRNb2RlbHMiLCJjdXJyZW50RWxlbWVudCIsImF0dHJpYnV0ZXMiLCJmb3JtQ29udGVudERhdGEiLCJtb2RlbHMiLCJjdXJyZW50Q2lkIiwiY2lkIiwiZmluZCIsIm1vZGVsIiwidW5sb2FkIiwiZ2V0Rm9ybUlkIiwiZ2V0IiwicmVwbHkiLCJ2YWxpZGF0ZVJlcXVpcmVkIiwidmFsaWRhdGVWaWRlb21haWwiLCJtYXliZVN1Ym1pdCIsImxldCIsImltYWdlUXVhbGl0eVBlcmNlbnRhZ2UiLCJ2ZXJib3NlIiwiVmlkZW9tYWlsQ2xpZW50Iiwid2hpdGVsaXN0S2V5IiwidmlkZW8iLCJsaW1pdFNlY29uZHMiLCJ3aWR0aCIsInN0cmV0Y2giLCJjb3VudGRvd24iLCJhdWRpbyIsImVuYWJsZWQiLCJpbWFnZSIsInF1YWxpdHkiLCJzZWxlY3RvcnMiLCJjb250YWluZXJJZCIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiY2FsbGJhY2tzIiwiYWRqdXN0Rm9ybURhdGFCZWZvcmVQb3N0aW5nIiwiYWRqdXN0Rm9ybURhdGFCZWZvcmVQb3N0aW5nVG9WaWRlb21haWxTZXJ2ZXIiLCJiaW5kIiwibG9hZFVzZXJNZWRpYU9uUmVjb3JkIiwiZGlzYWJsZUZvcm1XaGVuU3VibWl0dGluZyIsImVuYWJsZUF1dG9WYWxpZGF0aW9uIiwiZW5hYmxlQXV0b1N1Ym1pc3Npb24iLCJ2ZXJzaW9ucyIsInZpZGVvbWFpbE5pbmphRm9ybVBsdWdpbiIsIm9uIiwib25QcmV2aWV3Iiwib25TdWJtaXR0ZWQiLCJvbkdvaW5nQmFjayIsInNob3ciLCJrZXkiLCJzZXQiLCJyZXF1ZXN0IiwicmVzdWx0IiwiZm9ybU1vZGVsIiwiY29sbGVjdGlvbiIsIm9wdGlvbnMiLCJ2aWRlb21haWwiLCJpbnZhbGlkYXRlIiwiZWwiLCJ2YWxpZCIsImhhc0Vycm9ycyIsImxlbmd0aCIsIm1heWJlIiwidmlkZW9tYWlsU3VibWl0dGVkIiwiZ2V0RXh0cmEiLCJ2aWRlb21haWxSZWNvcmRlZCIsImVycm9yIiwic3VibWl0IiwiZ2V0TWVyZ2VUYWdWYWx1ZSIsImZpZWxkS2V5IiwiZm9ybVZhbHVlcyIsInZhbHVlIiwid2luZG93IiwibmZWaWRlb21haWwiLCJhZG1pbl9lbWFpbCIsInJhd0ZpZWxkS2V5IiwicmF3RmllbGRLZXlNYXRjaGVzIiwibWF0Y2giLCJyZXBsYWNlIiwiZ2V0Rm9ybVZhbHVlcyIsInJlZHVjZSIsIm1lbW8iLCJmaWVsZCIsImZyb20iLCJ0byIsInN1YmplY3QiLCJib2R5Iiwib25CZWZvcmVEZXN0cm95IiwialF1ZXJ5IiwiZG9jdW1lbnQiLCJyZWFkeSJdLCJtYXBwaW5ncyI6IkFBQ0EsSUFBTUEsZUFBaUIsU0FHbkJDLE1BQVEsQ0FBQSxFQUtOQyx5QkFBMkJDLFdBQVdDLE9BQU9DLE9BQU8sQ0FDeERDLGdCQUFpQixLQUVqQkMsV0FBWSxLQUVaQyxRQUFTQyxTQUFTQyxNQUFNRixRQUFRLFdBQVcsRUFFM0NHLFdBQVksV0FDVkYsU0FBU0MsTUFBTVQsTUFBUUEsTUFFdkJXLEtBQUtDLGFBQWFELEtBQUtKLFFBQVMsYUFBY0ksS0FBS0Usc0JBQXNCLEVBQ3pFRixLQUFLQyxhQUFhRCxLQUFLSixRQUFTLGNBQWVJLEtBQUtHLG1CQUFtQixFQUd2RUgsS0FBS0ksU0FBU0osS0FBS0osUUFBUyxNQUFPLFNBQVVTLEdBQzNDaEIsT0FBU2lCLFFBQVFDLElBQUkscUNBQXNDRixDQUFTLEVBSXBFTCxLQUFLSSxTQUFTSSxRQUFRWixRQUFRLE1BQU0sRUFBRyxjQUFlLFNBQVVhLEdBQzlEcEIsT0FBU2lCLFFBQVFDLElBQUksZ0NBQWlDLGFBQWEsRUFFN0RHLEVBQ0pELEVBQU9FLGdCQUFnQkMsWUFBWUMsaUJBQWlCQyxRQUFVLEdBRWhFLElBQU1DLEVBQWFmLEtBQUtMLFdBQVdxQixJQUVkTixFQUFjTyxLQUFLLFNBQVVDLEdBQ2hELE9BQU9BLEVBQU1GLE1BQVFELENBQ3ZCLENBQUMsRUFHQ2YsS0FBS0csb0JBQW9CLEVBRXpCSCxLQUFLTixnQkFBZ0J5QixPQUFPLENBRWhDLENBQUMsQ0FDSCxDQUFDLENBQ0gsRUFFQUMsVUFBVyxXQUNULE9BQU9wQixLQU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1 let PLUGIN_VERSION="10.2.0",DEBUG=!1,VideomailFieldController=Marionette.Object.extend({videomailClient:null,fieldModel:null,channel:Backbone.Radio.channel("videomail"),initialize:function(){Backbone.Radio.DEBUG=DEBUG,this.listenToOnce(this.channel,"init:model",this.registerVideomailField),this.listenToOnce(this.channel,"attach:view",this.loadVideomailClient),this.listenTo(this.channel,"all",function(e){DEBUG&&console.log("Videomail channel event triggered:",e),this.listenTo(nfRadio.channel("nfMP"),"change:part",function(e){DEBUG&&console.log("nfMP channel event triggered:","change:part");e=e.currentElement?.attributes?.formContentData?.models||[];let i=this.fieldModel.cid;e.find(function(e){return e.cid===i})?this.loadVideomailClient():this.videomailClient.unload()})})},getFormId:function(){return this.fieldModel.get("formID")},registerVideomailField:function(e){this.fieldModel=e,this.channel.reply("validate:required",this.validateRequired,this),this.channel.reply("validate:modelData",this.validateVideomail,this),Backbone.Radio.channel("form-"+this.getFormId()).reply("maybe:submit",this.maybeSubmit,this,e)},loadVideomailClient:function(){let e=this.fieldModel.get("image_quality")||40;100<e?e=100:e<1&&(e=1);var i=this.fieldModel.get("verbose")||DEBUG;DEBUG=DEBUG||i,Backbone.Radio.DEBUG=Backbone.Radio.DEBUG||i,this.videomailClient=new VideomailClient.VideomailClient({whitelistKey:this.fieldModel.get("whitelist_key")||this.fieldModel.get("site_name"),video:{limitSeconds:this.fieldModel.get("limit_seconds")||90,width:this.fieldModel.get("width")||320,stretch:this.fieldModel.get("stretch")||!1,countdown:this.fieldModel.get("countdown")||!1},audio:{enabled:this.fieldModel.get("audio_enabled")},image:{quality:e/100},selectors:{containerId:"videomail",submitButtonSelector:".submit-wrap input"},callbacks:{adjustFormDataBeforePosting:this.adjustFormDataBeforePostingToVideomailServer.bind(this)},loadUserMediaOnRecord:this.fieldModel.get("load_user_media_on_record"),disableFormWhenSubmitting:this.fieldModel.get("disable_form_when_submitting"),enableAutoValidation:!1,enableAutoSubmission:!1,verbose:i,versions:{videomailNinjaFormPlugin:PLUGIN_VERSION}}),this.videomailClient.on("PREVIEW",this.onPreview.bind(this)),this.videomailClient.on("SUBMITTED",this.onSubmitted.bind(this)),this.videomailClient.on("GOING_BACK",this.onGoingBack.bind(this)),this.videomailClient.show()},onPreview:function(e){this.fieldModel.set("videomail-key",e),this.fieldModel.set("value",e),Backbone.Radio.channel("fields").request("remove:error",this.fieldModel.get("id"),"required-error")},onSubmitted:function(e){let i=Backbone.Radio.channel("app").request("get:form",this.getFormId());i=i||this.fieldModel.collection.options.formModel,Backbone.Radio.channel("form-"+i.get("id")).request("add:extra","videomail",e.videomail),Backbone.Radio.channel("form-"+this.getFormId()).request("submit",i)},onGoingBack:function(){this.fieldModel.set("videomail-key",null),this.invalidate()},validateRequired:function(e,i){i=this.validateVideomail(i);return i||this.invalidate(),i},invalidate:function(){Backbone.Radio.channel("fields").request("add:error",this.fieldModel.get("id"),"required-error","Record and click on stop to see a preview video.")},validateVideomail:function(e){return(e=e||this.fieldModel).get("videomail-key")||!1},hasErrors:function(e){return 0<e.get("errors").length},maybeSubmit:function(e){let i=!0;var t=e.getExtra("videomail"),o=this.validateVideomail(),e=this.hasErrors(e);return t||e||!o||(this.videomailClient.submit(),i=!1),i},getMergeTagValue:function(e,i){let t=this.fieldModel.get(e);if(t&&("{wp:admin_email}"===t?t=window.nfVideomail.admin_email:(e=(e=t.match(/{field:(.*)}/i))&&e[1])!==t&&(t=t.replace(/{field:(.*)}/i,i[e]))),"undefined"!==t)return t},getFormValues:function(){let e;var i=Backbone.Radio.channel("app").request("get:form",this.getFormId()),i=(i?e=i.get("fields"):this.fieldModel.collection.options.formModel.get("fields").models&&(e=this.fieldModel.collection.options.formModel.get("fields").models),e.reduce(function(e,i){return e[i.get("key")]=i.get("value"),e},{}));return i},adjustFormDataBeforePostingToVideomailServer:function(e){var i=this.getFormValues();return e.from=this.getMergeTagValue("email_from",i),e.to=this.getMergeTagValue("email_to",i),e.subject=this.getMergeTagValue("email_subject",i),e.body=this.getMergeTagValue("email_body",i),e},onBeforeDestroy:function(){this.videomailClient.unload(),delete this.videomailClient}});jQuery(document).ready(function(){return new VideomailFieldController}); 2 //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1taW4uanMiLCJzb3VyY2VzIjpbIm1haW4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gUmVtZW1iZXIsIHlvdSBjYW4ndCB1c2UgYW55IGltcG9ydC9yZXF1aXJlIHN0YXRlbWVudHMgaGVyZVxuY29uc3QgUExVR0lOX1ZFUlNJT04gPSBcIjEwLjIuMFwiO1xuXG4vLyBtYW51YWwgc3dpdGNoIHRvIGhhdmUgbW9yZSBzdHVmZiBwcmludGVkIHRvIGNvbnNvbGVcbmxldCBERUJVRyA9IGZhbHNlO1xuXG4vLyBnb29kIGRvY3VtZW50YXRpb24gb24gYmFja2JvbmUgZXZlbnQgaGFuZGxpbmdcbi8vIGh0dHA6Ly9iYWNrYm9uZWpzLm9yZy8jRXZlbnRzXG5cbmNvbnN0IFZpZGVvbWFpbEZpZWxkQ29udHJvbGxlciA9IE1hcmlvbmV0dGUuT2JqZWN0LmV4dGVuZCh7XG4gIHZpZGVvbWFpbENsaWVudDogbnVsbCxcblxuICBmaWVsZE1vZGVsOiBudWxsLFxuXG4gIGNoYW5uZWw6IEJhY2tib25lLlJhZGlvLmNoYW5uZWwoXCJ2aWRlb21haWxcIiksXG5cbiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24gKCkge1xuICAgIEJhY2tib25lLlJhZGlvLkRFQlVHID0gREVCVUc7XG5cbiAgICB0aGlzLmxpc3RlblRvT25jZSh0aGlzLmNoYW5uZWwsIFwiaW5pdDptb2RlbFwiLCB0aGlzLnJlZ2lzdGVyVmlkZW9tYWlsRmllbGQpO1xuICAgIHRoaXMubGlzdGVuVG9PbmNlKHRoaXMuY2hhbm5lbCwgXCJhdHRhY2g6dmlld1wiLCB0aGlzLmxvYWRWaWRlb21haWxDbGllbnQpO1xuXG4gICAgLy8gdWdseSB3b3JrYXJvdW5kIHRvIG1ha2UgaXQgd29yayB3aXRoIHRoZSBjb25kaXRpb25hbCBwbHVnaW5cbiAgICB0aGlzLmxpc3RlblRvKHRoaXMuY2hhbm5lbCwgXCJhbGxcIiwgZnVuY3Rpb24gKGV2ZW50TmFtZSkge1xuICAgICAgREVCVUcgJiYgY29uc29sZS5sb2coXCJWaWRlb21haWwgY2hhbm5lbCBldmVudCB0cmlnZ2VyZWQ6XCIsIGV2ZW50TmFtZSk7XG5cbiAgICAgIC8vIG11c3QgYmUgY29taW5nIGJhY2sgZnJvbSBhIG11bHRpLXN0ZXAgd2hlcmVcbiAgICAgIC8vIHZpZGVvbWFpbCBoYXMgYWxyZWFkeSBiZWVuIGluaXRpYWxpc2VkLiBzbyBqdXN0IHJlc3VtZSBpdC5cbiAgICAgIHRoaXMubGlzdGVuVG8obmZSYWRpby5jaGFubmVsKFwibmZNUFwiKSwgXCJjaGFuZ2U6cGFydFwiLCBmdW5jdGlvbiAocGFyYW1zKSB7XG4gICAgICAgIERFQlVHICYmIGNvbnNvbGUubG9nKFwibmZNUCBjaGFubmVsIGV2ZW50IHRyaWdnZXJlZDpcIiwgXCJjaGFuZ2U6cGFydFwiKTtcblxuICAgICAgICBjb25zdCBjdXJyZW50TW9kZWxzID1cbiAgICAgICAgICBwYXJhbXMuY3VycmVudEVsZW1lbnQ/LmF0dHJpYnV0ZXM/LmZvcm1Db250ZW50RGF0YT8ubW9kZWxzIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRDaWQgPSB0aGlzLmZpZWxkTW9kZWwuY2lkO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRNb2RlbCA9IGN1cnJlbnRNb2RlbHMuZmluZChmdW5jdGlvbiAobW9kZWwpIHtcbiAgICAgICAgICByZXR1cm4gbW9kZWwuY2lkID09PSBjdXJyZW50Q2lkO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoY3VycmVudE1vZGVsKSB7XG4gICAgICAgICAgdGhpcy5sb2FkVmlkZW9tYWlsQ2xpZW50KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy52aWRlb21haWxDbGllbnQudW5sb2FkKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9LFxuXG4gIGdldEZvcm1JZDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwiZm9ybUlEXCIpO1xuICB9LFxuXG4gIHJlZ2lzdGVyVmlkZW9tYWlsRmllbGQ6IGZ1bmN0aW9uIChmaWVsZE1vZGVsKSB7XG4gICAgdGhpcy5maWVsZE1vZGVsID0gZmllbGRNb2RlbDtcblxuICAgIC8vIGN1c3RvbSBmaWVsZCB2YWxpZGF0aW9uLCBzaW5jZSB3ZSBhcmVuJ3QgdXNpbmcgYSBzdGFuZGFyZCBgdmFsdWVgXG4gICAgLy8gZm9yIHRoZSB2aWRlb21haWwgaW5wdXRcbiAgICB0aGlzLmNoYW5uZWwucmVwbHkoXCJ2YWxpZGF0ZTpyZXF1aXJlZFwiLCB0aGlzLnZhbGlkYXRlUmVxdWlyZWQsIHRoaXMpO1xuXG4gICAgdGhpcy5jaGFubmVsLnJlcGx5KFwidmFsaWRhdGU6bW9kZWxEYXRhXCIsIHRoaXMudmFsaWRhdGVWaWRlb21haWwsIHRoaXMpO1xuXG4gICAgLy8gY29udHJvbCBzdWJtaXNzaW9uIHByb2dyZXNzLFxuICAgIC8vIHNvIHRoYXQgd2UgY2FuIFBPU1QgdG8gdGhlIFZpZGVvbWFpbCBzZXJ2ZXIgZmlyc3RcbiAgICBCYWNrYm9uZS5SYWRpby5jaGFubmVsKFwiZm9ybS1cIiArIHRoaXMuZ2V0Rm9ybUlkKCkpLnJlcGx5KFxuICAgICAgXCJtYXliZTpzdWJtaXRcIixcbiAgICAgIHRoaXMubWF5YmVTdWJtaXQsXG4gICAgICB0aGlzLFxuICAgICAgZmllbGRNb2RlbCxcbiAgICApO1xuICB9LFxuXG4gIGxvYWRWaWRlb21haWxDbGllbnQ6IGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgaW1hZ2VRdWFsaXR5UGVyY2VudGFnZSA9IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJpbWFnZV9xdWFsaXR5XCIpIHx8IDQwO1xuXG4gICAgaWYgKGltYWdlUXVhbGl0eVBlcmNlbnRhZ2UgPiAxMDApIHtcbiAgICAgIGltYWdlUXVhbGl0eVBlcmNlbnRhZ2UgPSAxMDA7XG4gICAgfSBlbHNlIGlmIChpbWFnZVF1YWxpdHlQZXJjZW50YWdlIDwgMSkge1xuICAgICAgaW1hZ2VRdWFsaXR5UGVyY2VudGFnZSA9IDE7XG4gICAgfVxuXG4gICAgY29uc3QgdmVyYm9zZSA9IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJ2ZXJib3NlXCIpIHx8IERFQlVHO1xuXG4gICAgLy8gbGF0ZSBvdmVycmlkZXNcbiAgICBERUJVRyA9IERFQlVHIHx8IHZlcmJvc2U7XG4gICAgQmFja2JvbmUuUmFkaW8uREVCVUcgPSBCYWNrYm9uZS5SYWRpby5ERUJVRyB8fCB2ZXJib3NlO1xuXG4gICAgdGhpcy52aWRlb21haWxDbGllbnQgPSBuZXcgVmlkZW9tYWlsQ2xpZW50LlZpZGVvbWFpbENsaWVudCh7XG4gICAgICAvLyB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwic2l0ZV9uYW1lXCIpIGlzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdoaWNoIGNhbiBiZVxuICAgICAgLy8gcmVtb3ZlZCBsYXRlciBvbmNlIGFsbCBsZWdhY3kgd2hpdGVsaXN0IGVudHJpZXMgaGF2ZSBiZWVuIG1pZ3JhdGVkLlxuICAgICAgd2hpdGVsaXN0S2V5OlxuICAgICAgICB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwid2hpdGVsaXN0X2tleVwiKSB8fCB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwic2l0ZV9uYW1lXCIpLFxuICAgICAgdmlkZW86IHtcbiAgICAgICAgbGltaXRTZWNvbmRzOiB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwibGltaXRfc2Vjb25kc1wiKSB8fCA5MCxcbiAgICAgICAgd2lkdGg6IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJ3aWR0aFwiKSB8fCAzMjAsXG4gICAgICAgIC8vIFRPRE8gSW1wbGVtZW50IG9uIFZDIHNpZGVcbiAgICAgICAgc3RyZXRjaDogdGhpcy5maWVsZE1vZGVsLmdldChcInN0cmV0Y2hcIikgfHwgZmFsc2UsXG4gICAgICAgIGNvdW50ZG93bjogdGhpcy5maWVsZE1vZGVsLmdldChcImNvdW50ZG93blwiKSB8fCBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBhdWRpbzogeyBlbmFibGVkOiB0aGlzLmZpZWxkTW9kZWwuZ2V0KFwiYXVkaW9fZW5hYmxlZFwiKSB9LFxuICAgICAgaW1hZ2U6IHtcbiAgICAgICAgcXVhbGl0eTogaW1hZ2VRdWFsaXR5UGVyY2VudGFnZSAvIDEwMCwgLy8gbXVzdCBiZSBhIGZsb2F0XG4gICAgICB9LFxuICAgICAgc2VsZWN0b3JzOiB7IGNvbnRhaW5lcklkOiBcInZpZGVvbWFpbFwiLCBzdWJtaXRCdXR0b25TZWxlY3RvcjogXCIuc3VibWl0LXdyYXAgaW5wdXRcIiB9LFxuICAgICAgY2FsbGJhY2tzOiB7XG4gICAgICAgIGFkanVzdEZvcm1EYXRhQmVmb3JlUG9zdGluZzpcbiAgICAgICAgICB0aGlzLmFkanVzdEZvcm1EYXRhQmVmb3JlUG9zdGluZ1RvVmlkZW9tYWlsU2VydmVyLmJpbmQodGhpcyksXG4gICAgICB9LFxuXG4gICAgICAvLyB3aGVuIHRydWUsIHVzZXIgbWVkaWEgaXMgbG9hZGVkIG9ubHkgd2hlbiByZWNvcmQgYnV0dG9uIGlzIHByZXNzZWRcbiAgICAgIGxvYWRVc2VyTWVkaWFPblJlY29yZDogdGhpcy5maWVsZE1vZGVsLmdldChcImxvYWRfdXNlcl9tZWRpYV9vbl9yZWNvcmRcIiksXG5cbiAgICAgIGRpc2FibGVGb3JtV2hlblN1Ym1pdHRpbmc6IHRoaXMuZmllbGRNb2RlbC5nZXQoXCJkaXNhYmxlX2Zvcm1fd2hlbl9zdWJtaXR0aW5nXCIpLFxuXG4gICAgICAvLyBsZWF2ZSBpdCB0byBuaW5qYSBmb3JtIHRvIHZhbGlkYXRlIHRoZSBpbnB1dHNcbiAgICAgIGVuYWJsZUF1dG9WYWxpZGF0aW9uOiBmYWxzZSxcblxuICAgICAgLy8gbGVhdmUgaXQgdG8gbmluamEgZm9ybSB0byBkZWFsIHdpdGggZm9ybSBzdWJtaXNzaW9uc1xuICAgICAgZW5hYmxlQXV0b1N1Ym1pc3Npb246IGZhbHNlLFxuXG4gICAgICAvLyBsb2cgYWN0aW9ucy9ldmVudHMgdG8gY29uc29sZVxuICAgICAgdmVyYm9zZSxcblxuICAgICAgdmVyc2lvbnM6IHsgdmlkZW9tYWlsTmluamFGb3JtUGx1Z2luOiBQTFVHSU5fVkVSU0lPTiB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy52aWRlb21haWxDbGllbnQub24oXCJQUkVWSUVXXCIsIHRoaXMub25QcmV2aWV3LmJpbmQodGhpcykpO1xuICAgIHRoaXMudmlkZW9tYWlsQ2xpZW50Lm9uKFwiU1VCTUlUVEVEXCIsIHRoaXMub25TdWJtaXR0ZWQuYmluZCh0aGlzKSk7XG4gICAgdGhpcy52aWRlb21haWxDbGllbnQub24oXCJHT0lOR19CQUNLXCIsIHRoaXMub25Hb2luZ0JhY2suYmluZCh0aGlzKSk7XG5cbiAgICB0aGlzLnZpZGVvbWFpbENsaWVudC5zaG93KCk7XG4gIH0sXG5cbiAgLy8gbmVlZGVkIHRvIGdldCB0aGUgdmlkZW9tYWlsIGtleSB3aGljaCBpcyByZXF1aXJlZCBiZWZvcmVcbiAgLy8gc3VibWl0dGluZyB0byB0aGUgdmlkZW9tYWlsIHNlcnZlclxuICBvblByZXZpZXc6IGZ1bmN0aW9uIChrZXkpIHtcbiAgICB0aGlzLmZpZWxkTW9kZWwuc2V0KFwidmlkZW9tYWlsLWtleVwiLCBrZXkpO1xuICAgIHRoaXMuZmllbGRNb2RlbC5zZXQoXCJ2YWx1ZVwiLCBrZXkpO1xuXG4gICAgQmFja2JvbmUuUmFkaW8uY2hhbm5lbChcImZpZWxkc1wiKVxuICAgICAgLy8gY2xlYXJzIGFueSBwcmV2aW91cyBlcnJvcnNcbiAgICAgIC5yZXF1ZXN0KFwicmVtb3ZlOmVycm9yXCIsIHRoaXMuZmllbGRNb2RlbC5nZXQoXCJpZFwiKSwgXCJyZXF1aXJlZC1lcnJvclwiKTtcbiAgfSxcblxuICBvblN1Ym1pdHRlZDogZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgIGxldCBmb3JtTW9kZWwgPSBCYWNrYm9uZS5SYWRpby5jaGFubmVsKFwiYXBwXCIpLnJlcXVlc3QoXCJnZXQ6Zm9ybVwiLCB0aGlzLmdldEZvcm1JZCgpKTtcblxuICAgIGlmICghZm9ybU1vZGVsKSB7XG4gICAgICAvLyBmYWxsYmFjayBmb3Igb2xkZXIgdmVyc2lvbnNcbiAgICAgIGZvcm1Nb2RlbCA9IHRoaXMuZmllbGRNb2RlbC5jb2xsZWN0aW9uLm9wdGlvbnMuZm9ybU1vZGVsO1xuICAgIH1cblxuICAgIC8vIFRPRE8gSXNuJ3QgJ2Zvcm0tJyArIGZvcm1Nb2RlbC5nZXQoJ2lkJykgdGhlIHNhbWUgYXMgdGhlIGZvcm1JRCBhbHJlYWR5P1xuICAgIEJhY2tib25lLlJhZGlvLmNoYW5uZWwoXCJmb3JtLVwiICsgZm9ybU1vZGVsLmdldChcImlkXCIpKS5yZXF1ZXN0KFxuICAgICAgXCJhZGQ6ZXh0cmFcIixcbiAgICAgIFwidmlkZW9tYWlsXCIsXG4gICAgICByZXN1bHQudmlkZW9tYWlsLFxuICAgICk7XG5cbiAgICAvLyByZXN0YXJ0IHN1Ym1pc3Npb24gYWdhaW4sIHRoaXMgdGltZSB0byB0aGUgcmVhbCB3cCBzaXRlXG4gICAgQmFja2JvbmUuUmFkaW8uY2hhbm5lbChcImZvcm0tXCIgKyB0aGlzLmdldEZvcm1JZCgpKS5yZXF1ZXN0KFwic3VibWl0XCIsIGZvcm1Nb2RlbCk7XG4gIH0sXG5cbiAgb25Hb2luZ0JhY2s6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZpZWxkTW9kZWwuc2V0KFwidmlkZW9tYWlsLWtleVwiLCBudWxsKTtcbiAgICB0aGlzLmludmFsaWRhdGUoKTtcbiAgfSxcblxuICB2YWxpZGF0ZVJlcXVpcmVkOiBmdW5jdGlvbiAoZWwsIGZpZWxkTW9kZWwpIHtcbiAgICBjb25zdCB2YWxpZCA9IHRoaXMudmFsaWRhdGVWaWRlb21haWwoZmllbGRNb2RlbCk7XG5cbiAgICBpZiAoIXZhbGlkKSB7XG4gICAgICB0aGlzLmludmFsaWRhdGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWQ7XG4gIH0sXG5cbiAgaW52YWxpZGF0ZTogZnVuY3Rpb24gKCkge1xuICAgIC8vIG92ZXJyaWRlIGRlZmF1bHQgYmVoYXZpb3Igc28gdGhhdCB3ZSBjYW4gc2V0IG91ciBvd24gZXJyb3IgdGV4dCBoZXJlXG4gICAgQmFja2JvbmUuUmFkaW8uY2hhbm5lbChcImZpZWxkc1wiKS5yZXF1ZXN0KFxuICAgICAgXCJhZGQ6ZXJyb3JcIixcbiAgICAgIHRoaXMuZmllbGRNb2RlbC5nZXQoXCJpZFwiKSxcbiAgICAgIFwicmVxdWlyZWQtZXJyb3JcIixcbiAgICAgIFwiUmVjb3JkIGFuZCBjbGljayBvbiBzdG9wIHRvIHNlZSBhIHByZXZpZXcgdmlkZW8uXCIsXG4gICAgKTtcbiAgfSxcblxuICB2YWxpZGF0ZVZpZGVvbWFpbDogZnVuY3Rpb24gKGZpZWxkTW9kZWwpIHtcbiAgICBmaWVsZE1vZGVsID0gZmllbGRNb2RlbCB8fCB0aGlzLmZpZWxkTW9kZWw7XG4gICAgcmV0dXJuIGZpZWxkTW9kZWwuZ2V0KFwidmlkZW9tYWlsLWtleVwiKSB8fCBmYWxzZTtcbiAgfSxcblxuICBoYXNFcnJvcnM6IGZ1bmN0aW9uIChmb3JtTW9kZWwpIHtcbiAgICByZXR1cm4gZm9ybU1vZGVsLmdldChcImVycm9yc1wiKS5sZW5ndGggPiAwO1xuICB9LFxuXG4gIG1heWJlU3VibWl0OiBmdW5jdGlvbiAoZm9ybU1vZGVsKSB7XG4gICAgbGV0IG1heWJlID0gdHJ1ZTtcbiAgICBjb25zdCB2aWRlb21haWxTdWJtaXR0ZWQgPSBmb3JtTW9kZWwuZ2V0RXh0cmEoXCJ2aWRlb21haWxcIik7XG4gICAgY29uc3QgdmlkZW9tYWlsUmVjb3JkZWQgPSB0aGlzLnZhbGlkYXRlVmlkZW9tYWlsKCk7XG4gICAgY29uc3QgZXJyb3IgPSB0aGlzLmhhc0Vycm9ycyhmb3JtTW9kZWwpO1xuXG4gICAgLy8gaG9sZCBvbiB3aXRoIGZpbmFsIGZvcm0gc3VibWlzc2lvbiB3aGVuIG9uZSB3YXMgcmVjb3JkZWRcbiAgICAvLyBidXQgaGFzbid0IGJlZW4gc3VibWl0dGVkIHRvIHRoZSB2aWRlb21haWwgc2VydmVyIHlldFxuICAgIGlmICghdmlkZW9tYWlsU3VibWl0dGVkICYmICFlcnJvciAmJiB2aWRlb21haWxSZWNvcmRlZCkge1xuICAgICAgdGhpcy52aWRlb21haWxDbGllbnQuc3VibWl0KCk7XG4gICAgICBtYXliZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBtYXliZTtcbiAgfSxcblxuICBnZXRNZXJnZVRhZ1ZhbHVlOiBmdW5jdGlvbiAoZmllbGRLZXksIGZvcm1WYWx1ZXMpIHtcbiAgICBsZXQgdmFsdWUgPSB0aGlzLmZpZWxkTW9kZWwuZ2V0KGZpZWxkS2V5KTtcblxuICAgIC8vIGl0IGNhbiBoYXBwZW4gdGhhdCB0aGUgdXNlciBoYXMgY29uZmlndXJlZCBzb21ldGhpbmcgd3JvbmcsXG4gICAgLy8gaS5FLiBhbiBlbXB0eSBlbWFpbF9mcm9tLiBpbiB0aGF0IGNhc2UganVzdCBpZ25vcmUgLi4uXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICAvLyBhZG1pbiBlbWFpbCBsb2NhbGl6ZWQgZnJvbSBiYWNrZW5kLCBhIGJpdCB1Z2x5XG4gICAgICAvLyB0b2RvIGFzayBmb3IgYW4gZW5kcG9pbnQgdG8gcHJvY2VzcyB0aG9zZSBzcGVjaWFsIG1lcmdlIHRhZ3NcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iaW5hcnlraXRjaGVuL3ZpZGVvbWFpbC1mb3ItbmluamEtZm9ybXMvaXNzdWVzLzMwXG4gICAgICBpZiAodmFsdWUgPT09IFwie3dwOmFkbWluX2VtYWlsfVwiKSB7XG4gICAgICAgIHZhbHVlID0gd2luZG93Lm5mVmlkZW9tYWlsLmFkbWluX2VtYWlsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmF3RmllbGRLZXlNYXRjaGVzID0gdmFsdWUubWF0Y2goL3tmaWVsZDooLiopfS9pKTtcbiAgICAgICAgY29uc3QgcmF3RmllbGRLZXkgPSByYXdGaWVsZEtleU1hdGNoZXMgJiYgcmF3RmllbGRLZXlNYXRjaGVzWzFdO1xuXG4gICAgICAgIGlmIChyYXdGaWVsZEtleSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAvLyB5ZXMgaXQgd2FzIGEgbWVyZ2UgdGFnLCBzbyB1c2UgaXRcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL3tmaWVsZDooLiopfS9pLCBmb3JtVmFsdWVzW3Jhd0ZpZWxkS2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9LFxuXG4gIC8vIHJldHVybnMgYSBtYXAgbGlrZSB0aGlzOlxuICAvLyB7XG4gIC8vICAgZnJvbV9lbWFpbDogXCJtaWNLQGRlYWZvbnouZWhcIlxuICAvLyAgIGZyb21fbmFtZTogXCJNSFwiXG4gIC8vICAgbWVzc2FnZTogXCJzZGZzZGZzZGZcIlxuICAvLyAgIHN1YmplY3Q6IFwic2Rmc2RmXCJcbiAgLy8gICBzdWJtaXQ6IFwiXCJcbiAgLy8gICB2aWRlb19tZXNzYWdlOiBcIjExZWItNjFkNy1kZDU4MzMyMC1hZTYxLTJiODJiZTZjNmUzZVwiXG4gIC8vIH1cbiAgZ2V0Rm9ybVZhbHVlczogZnVuY3Rpb24gKCkge1xuICAgIGxldCBjb2xsZWN0aW9uO1xuICAgIGNvbnN0IGZvcm1Nb2RlbCA9IEJhY2tib25lLlJhZGlvLmNoYW5uZWwoXCJhcHBcIikucmVxdWVzdChcImdldDpmb3JtXCIsIHRoaXMuZ2V0Rm9ybUlkKCkpO1xuXG4gICAgaWYgKGZvcm1Nb2RlbCkge1xuICAgICAgY29sbGVjdGlvbiA9IGZvcm1Nb2RlbC5nZXQoXCJmaWVsZHNcIik7XG4gICAgICAvLyBmYWxsYmFjayBmb3Igb2xkZXIgdmVyc2lvbnNcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmllbGRNb2RlbC5jb2xsZWN0aW9uLm9wdGlvbnMuZm9ybU1vZGVsLmdldChcImZpZWxkc1wiKS5tb2RlbHMpIHtcbiAgICAgIGNvbGxlY3Rpb24gPSB0aGlzLmZpZWxkTW9kZWwuY29sbGVjdGlvbi5vcHRpb25zLmZvcm1Nb2RlbC5nZXQoXCJmaWVsZHNcIikubW9kZWxzO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1WYWx1ZXMgPSBjb2xsZWN0aW9uLnJlZHVjZShmdW5jdGlvbiAobWVtbywgZmllbGQpIHtcbiAgICAgIG1lbW9bZmllbGQuZ2V0KFwia2V5XCIpXSA9IGZpZWxkLmdldChcInZhbHVlXCIpO1xuICAgICAgcmV0dXJuIG1lbW87XG4gICAgfSwge30pO1xuXG4gICAgcmV0dXJuIGZvcm1WYWx1ZXM7XG4gIH0sXG5cbiAgYWRqdXN0Rm9ybURhdGFCZWZvcmVQb3N0aW5nVG9WaWRlb21haWxTZXJ2ZXI6IGZ1bmN0aW9uICh2aWRlb21haWwpIHtcbiAgICBjb25zdCBmb3JtVmFsdWVzID0gdGhpcy5nZXRGb3JtVmFsdWVzKCk7XG5cbiAgICB2aWRlb21haWwuZnJvbSA9IHRoaXMuZ2V0TWVyZ2VUYWdWYWx1ZShcImVtYWlsX2Zyb21cIiwgZm9ybVZhbHVlcyk7XG4gICAgdmlkZW9tYWlsLnRvID0gdGhpcy5nZXRNZXJnZVRhZ1ZhbHVlKFwiZW1haWxfdG9cIiwgZm9ybVZhbHVlcyk7XG4gICAgdmlkZW9tYWlsLnN1YmplY3QgPSB0aGlzLmdldE1lcmdlVGFnVmFsdWUoXCJlbWFpbF9zdWJqZWN0XCIsIGZvcm1WYWx1ZXMpO1xuICAgIHZpZGVvbWFpbC5ib2R5ID0gdGhpcy5nZXRNZXJnZVRhZ1ZhbHVlKFwiZW1haWxfYm9keVwiLCBmb3JtVmFsdWVzKTtcblxuICAgIHJldHVybiB2aWRlb21haWw7XG4gIH0sXG5cbiAgb25CZWZvcmVEZXN0cm95OiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy52aWRlb21haWxDbGllbnQudW5sb2FkKCk7XG4gICAgZGVsZXRlIHRoaXMudmlkZW9tYWlsQ2xpZW50O1xuICB9LFxufSk7XG5cbmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gbmV3IFZpZGVvbWFpbEZpZWxkQ29udHJvbGxlcigpO1xufSk7XG4iXSwibmFtZXMiOlsiUExVR0lOX1ZFUlNJT04iLCJERUJVRyIsIlZpZGVvbWFpbEZpZWxkQ29udHJvbGxlciIsIk1hcmlvbmV0dGUiLCJPYmplY3QiLCJleHRlbmQiLCJ2aWRlb21haWxDbGllbnQiLCJmaWVsZE1vZGVsIiwiY2hhbm5lbCIsIkJhY2tib25lIiwiUmFkaW8iLCJpbml0aWFsaXplIiwidGhpcyIsImxpc3RlblRvT25jZSIsInJlZ2lzdGVyVmlkZW9tYWlsRmllbGQiLCJsb2FkVmlkZW9tYWlsQ2xpZW50IiwibGlzdGVuVG8iLCJldmVudE5hbWUiLCJjb25zb2xlIiwibG9nIiwibmZSYWRpbyIsInBhcmFtcyIsImN1cnJlbnRNb2RlbHMiLCJjdXJyZW50RWxlbWVudCIsImF0dHJpYnV0ZXMiLCJmb3JtQ29udGVudERhdGEiLCJtb2RlbHMiLCJjdXJyZW50Q2lkIiwiY2lkIiwiZmluZCIsIm1vZGVsIiwidW5sb2FkIiwiZ2V0Rm9ybUlkIiwiZ2V0IiwicmVwbHkiLCJ2YWxpZGF0ZVJlcXVpcmVkIiwidmFsaWRhdGVWaWRlb21haWwiLCJtYXliZVN1Ym1pdCIsImxldCIsImltYWdlUXVhbGl0eVBlcmNlbnRhZ2UiLCJ2ZXJib3NlIiwiVmlkZW9tYWlsQ2xpZW50Iiwid2hpdGVsaXN0S2V5IiwidmlkZW8iLCJsaW1pdFNlY29uZHMiLCJ3aWR0aCIsInN0cmV0Y2giLCJjb3VudGRvd24iLCJhdWRpbyIsImVuYWJsZWQiLCJpbWFnZSIsInF1YWxpdHkiLCJzZWxlY3RvcnMiLCJjb250YWluZXJJZCIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiY2FsbGJhY2tzIiwiYWRqdXN0Rm9ybURhdGFCZWZvcmVQb3N0aW5nIiwiYWRqdXN0Rm9ybURhdGFCZWZvcmVQb3N0aW5nVG9WaWRlb21haWxTZXJ2ZXIiLCJiaW5kIiwibG9hZFVzZXJNZWRpYU9uUmVjb3JkIiwiZGlzYWJsZUZvcm1XaGVuU3VibWl0dGluZyIsImVuYWJsZUF1dG9WYWxpZGF0aW9uIiwiZW5hYmxlQXV0b1N1Ym1pc3Npb24iLCJ2ZXJzaW9ucyIsInZpZGVvbWFpbE5pbmphRm9ybVBsdWdpbiIsIm9uIiwib25QcmV2aWV3Iiwib25TdWJtaXR0ZWQiLCJvbkdvaW5nQmFjayIsInNob3ciLCJrZXkiLCJzZXQiLCJyZXF1ZXN0IiwicmVzdWx0IiwiZm9ybU1vZGVsIiwiY29sbGVjdGlvbiIsIm9wdGlvbnMiLCJ2aWRlb21haWwiLCJpbnZhbGlkYXRlIiwiZWwiLCJ2YWxpZCIsImhhc0Vycm9ycyIsImxlbmd0aCIsIm1heWJlIiwidmlkZW9tYWlsU3VibWl0dGVkIiwiZ2V0RXh0cmEiLCJ2aWRlb21haWxSZWNvcmRlZCIsImVycm9yIiwic3VibWl0IiwiZ2V0TWVyZ2VUYWdWYWx1ZSIsImZpZWxkS2V5IiwiZm9ybVZhbHVlcyIsInZhbHVlIiwid2luZG93IiwibmZWaWRlb21haWwiLCJhZG1pbl9lbWFpbCIsInJhd0ZpZWxkS2V5IiwicmF3RmllbGRLZXlNYXRjaGVzIiwibWF0Y2giLCJyZXBsYWNlIiwiZ2V0Rm9ybVZhbHVlcyIsInJlZHVjZSIsIm1lbW8iLCJmaWVsZCIsImZyb20iLCJ0byIsInN1YmplY3QiLCJib2R5Iiwib25CZWZvcmVEZXN0cm95IiwialF1ZXJ5IiwiZG9jdW1lbnQiLCJyZWFkeSJdLCJtYXBwaW5ncyI6IkFBQ0EsSUFBTUEsZUFBaUIsU0FHbkJDLE1BQVEsQ0FBQSxFQUtOQyx5QkFBMkJDLFdBQVdDLE9BQU9DLE9BQU8sQ0FDeERDLGdCQUFpQixLQUVqQkMsV0FBWSxLQUVaQyxRQUFTQyxTQUFTQyxNQUFNRixRQUFRLFdBQVcsRUFFM0NHLFdBQVksV0FDVkYsU0FBU0MsTUFBTVQsTUFBUUEsTUFFdkJXLEtBQUtDLGFBQWFELEtBQUtKLFFBQVMsYUFBY0ksS0FBS0Usc0JBQXNCLEVBQ3pFRixLQUFLQyxhQUFhRCxLQUFLSixRQUFTLGNBQWVJLEtBQUtHLG1CQUFtQixFQUd2RUgsS0FBS0ksU0FBU0osS0FBS0osUUFBUyxNQUFPLFNBQVVTLEdBQzNDaEIsT0FBU2lCLFFBQVFDLElBQUkscUNBQXNDRixDQUFTLEVBSXBFTCxLQUFLSSxTQUFTSSxRQUFRWixRQUFRLE1BQU0sRUFBRyxjQUFlLFNBQVVhLEdBQzlEcEIsT0FBU2lCLFFBQVFDLElBQUksZ0NBQWlDLGFBQWEsRUFFN0RHLEVBQ0pELEVBQU9FLGdCQUFnQkMsWUFBWUMsaUJBQWlCQyxRQUFVLEdBRWhFLElBQU1DLEVBQWFmLEtB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 -
videomail-for-ninja-forms/trunk/target/js/videomail-client/index-min.js
r3455776 r3487728 6 6 })(globalThis, ()=>(()=>{ 7 7 var __webpack_modules__ = { 8 "./node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[1 3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[13].use[2]!./node_modules/stylus-loader/dist/cjs.js??ruleSet[1].rules[13].use[3]!./src/styles/main.styl" (module1, __webpack_exports__, __webpack_require__) {8 "./node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[2].use[2]!./node_modules/stylus-loader/dist/cjs.js??ruleSet[1].rules[10].oneOf[2].use[3]!./src/styles/main.styl" (module1, __webpack_exports__, __webpack_require__) { 9 9 "use strict"; 10 10 __webpack_require__.d(__webpack_exports__, { … … 2266 2266 this.encoding = null; 2267 2267 if (options.encoding) { 2268 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/duplexify/node_modules/string_decoder/lib/string_decoder.js"). StringDecoder;2268 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/duplexify/node_modules/string_decoder/lib/string_decoder.js").I; 2269 2269 this.decoder = new StringDecoder(options.encoding); 2270 2270 this.encoding = options.encoding; … … 2365 2365 }; 2366 2366 Readable.prototype.setEncoding = function(enc) { 2367 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/duplexify/node_modules/string_decoder/lib/string_decoder.js"). StringDecoder;2367 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/duplexify/node_modules/string_decoder/lib/string_decoder.js").I; 2368 2368 this._readableState.decoder = new StringDecoder(enc); 2369 2369 this._readableState.encoding = enc; … … 3558 3558 return nenc || enc; 3559 3559 } 3560 exports1. StringDecoder= StringDecoder;3560 exports1.I = StringDecoder; 3561 3561 function StringDecoder(encoding) { 3562 3562 this.encoding = normalizeEncoding(encoding); … … 8600 8600 this.encoding = null; 8601 8601 if (options.encoding) { 8602 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/websocket-stream/node_modules/string_decoder/lib/string_decoder.js"). StringDecoder;8602 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/websocket-stream/node_modules/string_decoder/lib/string_decoder.js").I; 8603 8603 this.decoder = new StringDecoder(options.encoding); 8604 8604 this.encoding = options.encoding; … … 8699 8699 }; 8700 8700 Readable.prototype.setEncoding = function(enc) { 8701 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/websocket-stream/node_modules/string_decoder/lib/string_decoder.js"). StringDecoder;8701 if (!StringDecoder) StringDecoder = __webpack_require__("./node_modules/websocket-stream/node_modules/string_decoder/lib/string_decoder.js").I; 8702 8702 this._readableState.decoder = new StringDecoder(enc); 8703 8703 this._readableState.encoding = enc; … … 9892 9892 return nenc || enc; 9893 9893 } 9894 exports1. StringDecoder= StringDecoder;9894 exports1.I = StringDecoder; 9895 9895 function StringDecoder(encoding) { 9896 9896 this.encoding = normalizeEncoding(encoding); … … 10833 10833 var client_default = /*#__PURE__*/ __webpack_require__.n(client); 10834 10834 var package_namespaceObject = { 10835 rE: "13. 7.3"10835 rE: "13.8.3" 10836 10836 }; 10837 10837 function isAudioEnabled(options) { … … 14853 14853 [constants.WHITELIST_KEY_LABEL]: this.options.whitelistKey 14854 14854 }; 14855 let url = `${this.options.apiUrl}/videomail/`; 14855 const path = videomail.public ? "wall" : "videomail"; 14856 let url = `${this.options.apiUrl}/${path}/`; 14856 14857 if (method === FormMethod.PUT && videomail.key) url += videomail.key; 14857 14858 try { … … 15160 15161 var styleTagTransform = __webpack_require__("./node_modules/@rsbuild/core/compiled/style-loader/runtime/styleTagTransform.js"); 15161 15162 var styleTagTransform_default = /*#__PURE__*/ __webpack_require__.n(styleTagTransform); 15162 var main = __webpack_require__("./node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[1 3].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[13].use[2]!./node_modules/stylus-loader/dist/cjs.js??ruleSet[1].rules[13].use[3]!./src/styles/main.styl");15163 var main = __webpack_require__("./node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[10].oneOf[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[10].oneOf[2].use[2]!./node_modules/stylus-loader/dist/cjs.js??ruleSet[1].rules[10].oneOf[2].use[3]!./src/styles/main.styl"); 15163 15164 var main_options = {}; 15164 15165 main_options.styleTagTransform = styleTagTransform_default(); … … 17060 17061 this.options.logger.debug(`Recorder: initializing web socket to ${url2Connect}`); 17061 17062 try { 17062 this.stream = stream_default()(url2Connect, { 17063 perMessageDeflate: false, 17064 objectMode: true 17065 }); 17063 this.stream = stream_default()(url2Connect); 17066 17064 } catch (exc) { 17067 17065 this.connecting = this.connected = false; 17068 17066 const err = error_createError({ 17069 17067 message: "Failed to connect to server", 17070 explanation: " Please upgrade your browser. Your current version does not seem to support websockets.",17068 explanation: "If this happens again, please contact us with the details of your environment.", 17071 17069 options: this.options, 17072 17070 exc … … 17097 17095 this.stream.on("data", (data)=>{ 17098 17096 this.options.logger.debug(`${PIPE_SYMBOL}Stream *data* event emitted`); 17099 let command;17100 17097 try { 17101 command = JSON.parse(data.toString()); 17098 const command = JSON.parse(data.toString()); 17099 this.executeCommand(command); 17102 17100 } catch (exc) { 17103 17101 this.options.logger.debug(`Failed to parse command: ${exc}`); … … 17111 17109 err 17112 17110 }); 17113 } finally{17114 this.executeCommand(command);17115 17111 } 17116 17112 }); … … 17371 17367 } 17372 17368 getIntervalSum() { 17369 if (!this.loop) return; 17373 17370 return this.loop.getElapsedTime(); 17374 17371 } 17375 17372 getAvgInterval() { 17376 return this.getIntervalSum() / this.framesCount; 17373 const intervalSum = this.getIntervalSum(); 17374 if (!intervalSum) return; 17375 return intervalSum / this.framesCount; 17377 17376 } 17378 17377 getAvgFps() { 17379 17378 const intervalSum = this.getIntervalSum(); 17380 if ( 0 === intervalSum || null ==intervalSum) return;17379 if (!intervalSum) return; 17381 17380 return this.framesCount / intervalSum * 1000; 17382 17381 } -
videomail-for-ninja-forms/trunk/target/php/videomail.php
r3455776 r3487728 3 3 4 4 const NAME = 'Videomail'; 5 const VERSION = '10. 1.0';5 const VERSION = '10.2.0'; 6 6 const AUTHOR = 'Michael Heuberger + Kyle B. Johnson'; 7 7 const SLUG = 'videomail'; -
videomail-for-ninja-forms/trunk/videomail-for-ninja-forms.php
r3455776 r3487728 4 4 Plugin URI: https://github.com/binarykitchen/videomail-for-ninja-forms 5 5 Description: Express yourself in more than just words. Record and send a short video from your webcam. 6 Version: 10. 1.06 Version: 10.2.0 7 7 Author: Michael Heuberger + Kyle B. Johnson 8 8 Author URI: https://videomail.io
Note: See TracChangeset
for help on using the changeset viewer.