From aec8ed1332d72aec8accca79ef56e0e2fef1632f Mon Sep 17 00:00:00 2001 From: plocket <52798256+plocket@users.noreply.github.com> Date: Wed, 25 Jan 2023 14:47:21 -0500 Subject: [PATCH 1/7] Preserve canvas content when window resized/zoomed/etc. --- docassemble_webapp/docassemble/webapp/static/app/app.js | 9 +++++++++ .../docassemble/webapp/static/app/app.min.js | 2 +- .../docassemble/webapp/static/app/bundle.js | 2 +- .../docassemble/webapp/static/app/bundlenojquery.js | 2 +- .../docassemble/webapp/static/app/bundlewrapjquery.js | 2 +- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.js b/docassemble_webapp/docassemble/webapp/static/app/app.js index 8be19de06..596c96f4d 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.js @@ -68,7 +68,16 @@ function daInitializeSignature() { function daResizeCanvas() { //var cheight = $(window).height()-($("#sigheader").height() + $("#sigtoppart").height() + $("#sigbottompart").height()); setTimeout(function () { + // store current canvas content + var canvas = $("#dasigcanvas")[0]; + var daCtx = canvas.getContext("2d"); + var imgData = daCtx.getImageData(0, 0, canvas.width, canvas.height); + daNewCanvas(); + + // restore previous canvas content onto new canvas element + daCtx = $("#dasigcanvas")[0].getContext("2d"); + daCtx.putImageData(imgData, 0, 0); }, 200); //console.log("I resized"); return; diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.min.js b/docassemble_webapp/docassemble/webapp/static/app/app.min.js index 9f0c9805e..fbc815624 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.min.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.min.js @@ -1 +1 @@ -if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daIsEmpty,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,daIsEmpty=1,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()})},500),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daNewCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daIsEmpty&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})}function daResizeCanvas(){setTimeout(function(){daNewCanvas()},200)}function daSaveCanvas(){var e=document.getElementById("dasigcanvas").toDataURL();daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;os&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:''},layoutTemplates:{fileIcon:' '},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' '}})(window.jQuery); -if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daIsEmpty,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,daIsEmpty=1,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()})},500),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daNewCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daIsEmpty&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})}function daResizeCanvas(){setTimeout(function(){daNewCanvas()},200)}function daSaveCanvas(){var e=document.getElementById("dasigcanvas").toDataURL();daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;os&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o
':'
'},disable:function(){this.$element.prop("disabled",!0),this.$button.attr("disabled",!0),this.disabled=!0,this.$container.addClass("combobox-disabled")},enable:function(){this.$element.prop("disabled",!1),this.$button.attr("disabled",!1),this.disabled=!1,this.$container.removeClass("combobox-disabled")},parse:function(){var a=this,n={},s={},o=[],t=!1,i="";return this.$source.find("option").each(function(){var r=e(this);if(r.val()===""){a.options.placeholder=r.text();return}n[r.text()]=r.val(),s[r.val()]=r.text(),o.push(r.text()),r.prop("selected")&&(t=r.text(),i=r.val())}),this.map=n,this.revMap=s,t?(this.$element.val(t),this.$target.val(i),this.$container.addClass("combobox-selected"),this.selected=!0):(this.$container.removeClass("combobox-selected"),this.selected=!1),o},transferAttributes:function(){if(this.options.placeholder=this.$source.attr("data-placeholder")||this.options.placeholder,this.options.appendId!=="undefined"&&(this.$element.attr("id",this.$source.attr("id")),this.$source.attr("id",this.$source.attr("id")+this.options.appendId),daComboBoxes[this.$element.attr("id")]=this),this.$menu.attr("id",this.$element.attr("id")+"menu"),this.$element.attr("aria-controls",this.$menu.attr("id")),this.$element.attr("aria-owns",this.$menu.attr("id")),this.$button.attr("aria-controls",this.$menu.attr("id")),this.$button.attr("aria-label",this.$source.attr("aria-label")),this.$button.attr("aria-labelledby",this.$source.attr("aria-labelledby")),this.$button.attr("aria-describedby",this.$source.attr("aria-describedby")),this.$element.attr("placeholder",this.options.placeholder),this.$target.prop("name",this.$source.prop("name")),this.$target.val(this.$source.val()),this.$source.removeAttr("name"),this.$element.attr("required",this.$source.attr("required")),this.$element.attr("rel",this.$source.attr("rel")),this.$element.attr("title",this.$source.attr("title")),this.$element.attr("class",this.$source.attr("class")),this.$element.attr("tabindex",this.$source.attr("tabindex")),this.$source.removeAttr("tabindex"),!this.$target.val()&&this.$source.data("default")){var e=this.$source.data("default");this.$element.val(e),this.$target.val(e)}this.$source.attr("disabled")!==void 0&&this.disable()},select:function(){var t,e=this.$menu.find(".active").attr("data-value");this.$container.parent().find(".da-has-error").remove(),this.$element.val(this.updater(e)),t=this.$target.val(),t!=this.map[e]&&this.$target.val(this.map[e]),t=this.$source.val(),t!=this.map[e]&&this.$source.val(this.map[e]).trigger("change"),this.$container.addClass("combobox-selected"),this.selected=!0,this.hide()},manualSelect:function(e){var t,n=!1;this.$container.parent().find(".da-has-error").remove(),e!==""&&this.revMap[e]!==void 0?(this.$element.val(this.revMap[e]),n=!0):this.$element.val(e),t=this.$target.val(),t!=e&&this.$target.val(e),t=this.$source.val(),t!=e&&this.$source.val(e).trigger("change"),e!==""&&n&&(this.$container.addClass("combobox-selected"),this.selected=!0)},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.hidden=!1,this.$element.attr("aria-expanded",!0),this.$button.attr("aria-expanded",!0),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.hidden=!0,this.$element.on("blur",e.proxy(this.blur,this)),this.$element.attr("aria-expanded",!1),this.$button.attr("aria-expanded",!1),this.shown=!1,this},lookup:function(){this.query=this.$element.val(),this.process(this.source)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){for(var t,n=[],s=[],o=[];t=e.shift();)t.toLowerCase().indexOf(this.query.toLowerCase())?~t.indexOf(this.query)?s.push(t):o.push(t):n.push(t);return n.concat(s,o)},highlighter:function(e){var t=this.query.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");return t?e.replace(new RegExp("("+t+")","ig"),function(e,t){return""+t+""}):e},render:function(t){var n=this;return t=e(t).map(function(t,s){return t=e(n.options.item).attr("data-value",s).attr("aria-label",s),t.attr("id",n.$element.attr("id")+"-option-"+s),t.html(n.highlighter(s)),t[0]}),this.setActive(t.first()),this.$menu.html(t),this},setActive:function(e){e.addClass("active").attr("aria-selected",!0),this.$element.attr("aria-activedescendant",e.attr("id"))},swapActive:function(e,t){e.removeClass("active").attr("aria-selected",!1),this.setActive(t)},next:function(){var s=this.$menu.find('[aria-selected="true"]'),n=s.next();n.length||(n=e(this.$menu.find("li")[0])),this.swapActive(s,n)},prev:function(){var n=this.$menu.find('[aria-selected="true"]'),t=n.prev();t.length||(t=this.$menu.find("li").last()),this.swapActive(n,t)},toggle:function(e){return this.disabled||(this.$container.hasClass("combobox-selected")?(this.clearTarget(),this.$source.trigger("change"),this.clearElement(),this.$element.attr("aria-expanded",!1),this.$button.attr("aria-expanded",!1)):this.shown?(this.$element.attr("aria-expanded",!1),this.$button.attr("aria-expanded",!1),this.hide()):(this.$element.attr("aria-expanded",!0),this.$button.attr("aria-expanded",!0),this.clearElement(),this.lookup())),e&&(e.preventDefault(),e.stopPropagation()),!1},clearElement:function(){this.$element.val("").focus()},clearTarget:function(){this.$source.val(""),this.$target.val(""),this.$container.removeClass("combobox-selected"),this.selected=!1},refresh:function(){this.source=this.parse(),this.options.items=this.source.length},listen:function(){this.$element.on("focus",e.proxy(this.focus,this)).on("change",e.proxy(this.change,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this)).on("mousedown","li",e.proxy(this.mousedown,this)),this.$button.on("click touchend",e.proxy(this.toggle,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev(),this.fixMenuScroll();break;case 40:e.preventDefault(),this.next(),this.fixMenuScroll();break}e.stopPropagation()},fixMenuScroll:function(){var t,n,s,o,e=this.$menu.find(".active");e.length&&(this.$element.attr("aria-activedescendant",e.attr("id")),t=e.position().top,n=t+e.height(),s=this.$menu.scrollTop(),o=this.$menu.height(),n>o?this.$menu.scrollTop(s+n-o):t<0&&this.$menu.scrollTop(s+t))},setActiveDescendant:function(t){this.mousedover&&this.swapActive(this.$menu.find(".active"),e(t.currentTarget))},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(t){switch(t.keyCode){case 40:this.shown||this.toggle();break;case 39:case 38:case 37:case 36:case 35:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;if(this.selected){for(var i=this.$element.val(),s=this.$menu.find("li"),o=s.length,n=0;n',item:'',appendId:"combobox",clearIfNoMatch:!1},e.fn.combobox.Constructor=t})(window.jQuery) /*! * Socket.IO v4.5.4 diff --git a/docassemble_webapp/docassemble/webapp/static/app/bundlenojquery.js b/docassemble_webapp/docassemble/webapp/static/app/bundlenojquery.js index 5e8f30bba..10930e381 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/bundlenojquery.js +++ b/docassemble_webapp/docassemble/webapp/static/app/bundlenojquery.js @@ -335,7 +335,7 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md */(function(e){"use strict";e.fn.fileinputThemes.fas={fileActionSettings:{removeIcon:'',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:''},layoutTemplates:{fileIcon:' '},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' '}})(window.jQuery); -if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daIsEmpty,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,daIsEmpty=1,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()})},500),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daNewCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daIsEmpty&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})}function daResizeCanvas(){setTimeout(function(){daNewCanvas()},200)}function daSaveCanvas(){var e=document.getElementById("dasigcanvas").toDataURL();daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;os&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o
',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:''},layoutTemplates:{fileIcon:' '},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' '}})(window.jQuery); -if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daIsEmpty,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,daIsEmpty=1,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()})},500),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daNewCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daIsEmpty&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})}function daResizeCanvas(){setTimeout(function(){daNewCanvas()},200)}function daSaveCanvas(){var e=document.getElementById("dasigcanvas").toDataURL();daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;os&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o Date: Thu, 26 Jan 2023 14:46:53 -0500 Subject: [PATCH 2/7] Adds signature_pad. Not yet preserving image. --- .../docassemble/webapp/server.py | 6 +- .../docassemble/webapp/static/app/app.js | 250 ++++-------------- 2 files changed, 56 insertions(+), 200 deletions(-) diff --git a/docassemble_webapp/docassemble/webapp/server.py b/docassemble_webapp/docassemble/webapp/server.py index 734a4eead..927f28745 100644 --- a/docassemble_webapp/docassemble/webapp/server.py +++ b/docassemble_webapp/docassemble/webapp/server.py @@ -22912,7 +22912,7 @@ def playground_css_bundle(): def js_bundle(): base_path = Path(importlib.resources.files('docassemble.webapp'), 'static') output = '' - for parts in [['app', 'jquery.min.js'], ['app', 'jquery.validate.min.js'], ['app', 'additional-methods.min.js'], ['app', 'jquery.visible.min.js'], ['bootstrap', 'js', 'bootstrap.bundle.min.js'], ['bootstrap-slider', 'dist', 'bootstrap-slider.min.js'], ['labelauty', 'source', 'jquery-labelauty.min.js'], ['bootstrap-fileinput', 'js', 'plugins', 'piexif.min.js'], ['bootstrap-fileinput', 'js', 'fileinput.min.js'], ['bootstrap-fileinput', 'themes', 'fas', 'theme.min.js'], ['app', 'app.min.js'], ['bootstrap-combobox', 'js', 'bootstrap-combobox.min.js'], ['app', 'socket.io.min.js']]: + for parts in [['app', 'signature_pad.min.js'], ['app', 'jquery.min.js'], ['app', 'jquery.validate.min.js'], ['app', 'additional-methods.min.js'], ['app', 'jquery.visible.min.js'], ['bootstrap', 'js', 'bootstrap.bundle.min.js'], ['bootstrap-slider', 'dist', 'bootstrap-slider.min.js'], ['labelauty', 'source', 'jquery-labelauty.min.js'], ['bootstrap-fileinput', 'js', 'plugins', 'piexif.min.js'], ['bootstrap-fileinput', 'js', 'fileinput.min.js'], ['bootstrap-fileinput', 'themes', 'fas', 'theme.min.js'], ['app', 'app.min.js'], ['bootstrap-combobox', 'js', 'bootstrap-combobox.min.js'], ['app', 'socket.io.min.js']]: with open(os.path.join(base_path, *parts), encoding='utf-8') as fp: output += fp.read() output += "\n" @@ -22945,7 +22945,7 @@ def js_admin_bundle(): def js_bundle_wrap(): base_path = Path(importlib.resources.files('docassemble.webapp'), 'static') output = '(function($) {' - for parts in [['app', 'jquery.validate.min.js'], ['app', 'additional-methods.min.js'], ['app', 'jquery.visible.js'], ['bootstrap', 'js', 'bootstrap.bundle.min.js'], ['bootstrap-slider', 'dist', 'bootstrap-slider.min.js'], ['bootstrap-fileinput', 'js', 'plugins', 'piexif.min.js'], ['bootstrap-fileinput', 'js', 'fileinput.min.js'], ['bootstrap-fileinput', 'themes', 'fas', 'theme.min.js'], ['app', 'app.min.js'], ['labelauty', 'source', 'jquery-labelauty.min.js'], ['bootstrap-combobox', 'js', 'bootstrap-combobox.min.js'], ['app', 'socket.io.min.js']]: + for parts in [['app', 'signature_pad.min.js'], ['app', 'jquery.validate.min.js'], ['app', 'additional-methods.min.js'], ['app', 'jquery.visible.js'], ['bootstrap', 'js', 'bootstrap.bundle.min.js'], ['bootstrap-slider', 'dist', 'bootstrap-slider.min.js'], ['bootstrap-fileinput', 'js', 'plugins', 'piexif.min.js'], ['bootstrap-fileinput', 'js', 'fileinput.min.js'], ['bootstrap-fileinput', 'themes', 'fas', 'theme.min.js'], ['app', 'app.min.js'], ['labelauty', 'source', 'jquery-labelauty.min.js'], ['bootstrap-combobox', 'js', 'bootstrap-combobox.min.js'], ['app', 'socket.io.min.js']]: with open(os.path.join(base_path, *parts), encoding='utf-8') as fp: output += fp.read() output += "\n" @@ -22957,7 +22957,7 @@ def js_bundle_wrap(): def js_bundle_no_query(): base_path = Path(importlib.resources.files('docassemble.webapp'), 'static') output = '' - for parts in [['app', 'jquery.validate.min.js'], ['app', 'additional-methods.min.js'], ['app', 'jquery.visible.min.js'], ['bootstrap', 'js', 'bootstrap.bundle.min.js'], ['bootstrap-slider', 'dist', 'bootstrap-slider.min.js'], ['bootstrap-fileinput', 'js', 'plugins', 'piexif.min.js'], ['bootstrap-fileinput', 'js', 'fileinput.min.js'], ['bootstrap-fileinput', 'themes', 'fas', 'theme.min.js'], ['app', 'app.min.js'], ['labelauty', 'source', 'jquery-labelauty.min.js'], ['bootstrap-combobox', 'js', 'bootstrap-combobox.min.js'], ['app', 'socket.io.min.js']]: + for parts in [['app', 'signature_pad.min.js'], ['app', 'jquery.validate.min.js'], ['app', 'additional-methods.min.js'], ['app', 'jquery.visible.min.js'], ['bootstrap', 'js', 'bootstrap.bundle.min.js'], ['bootstrap-slider', 'dist', 'bootstrap-slider.min.js'], ['bootstrap-fileinput', 'js', 'plugins', 'piexif.min.js'], ['bootstrap-fileinput', 'js', 'fileinput.min.js'], ['bootstrap-fileinput', 'themes', 'fas', 'theme.min.js'], ['app', 'app.min.js'], ['labelauty', 'source', 'jquery-labelauty.min.js'], ['bootstrap-combobox', 'js', 'bootstrap-combobox.min.js'], ['app', 'socket.io.min.js']]: with open(os.path.join(base_path, *parts), encoding='utf-8') as fp: output += fp.read() output += "\n" diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.js b/docassemble_webapp/docassemble/webapp/static/app/app.js index 596c96f4d..350e4f38c 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.js @@ -7,12 +7,11 @@ var daCtx, var daTheWidth; var daAspectRatio; var daTheBorders; -var daIsEmpty; +var daSigPad; function daInitializeSignature() { daAspectRatio = 0.4; daTheBorders = 30; - daIsEmpty = 1; setTimeout(function () { if (!isCanvasSupported()) { daPost({ da_success: 0, da_ajax: 1 }); @@ -23,61 +22,62 @@ function daInitializeSignature() { event.preventDefault(); } }); + + $(window).on("resize", function () { + daResizeCanvas(); + }); + $(window).on("orientationchange", function () { + daResizeCanvas(); + }); + + // $(".dasigpalette").click(function(){ + // $(".dasigpalette").css("border-color", "#777"); + // $(".dasigpalette").css("border-style", "solid"); + // $(this).css("border-color", "#fff"); + // $(this).css("border-style", "dashed"); + // daColor = $(this).css("background-color"); + // daCtx.beginPath(); + // daCtx.lineJoin="round"; + // daCtx.strokeStyle = daColor; + // daCtx.fillStyle = daColor; + // }); + $(".dasigclear").click(function (e) { + e.preventDefault(); + daClearCanvas(); + return false; + }); + $(".dasigsave").click(function (e) { + e.preventDefault(); + if (daCanvasIsEmpty() && document.getElementById("da_sig_required").value == "1") { + $("#daerrormess").removeClass("dasignotshowing"); + setTimeout(function () { + $("#daerrormess").addClass("dasignotshowing"); + }, 3000); + } else { + $(".dasigclear").attr("disabled", true); + $(".dasigsave").attr("disabled", true); + daSaveCanvas(); + } + return false; + }); }, 500); - $(window).on("resize", function () { - daResizeCanvas(); - }); - $(window).on("orientationchange", function () { - daResizeCanvas(); - }); +} - // $(".dasigpalette").click(function(){ - // $(".dasigpalette").css("border-color", "#777"); - // $(".dasigpalette").css("border-style", "solid"); - // $(this).css("border-color", "#fff"); - // $(this).css("border-style", "dashed"); - // daColor = $(this).css("background-color"); - // daCtx.beginPath(); - // daCtx.lineJoin="round"; - // daCtx.strokeStyle = daColor; - // daCtx.fillStyle = daColor; - // }); - $(".dasigclear").click(function (e) { - e.preventDefault(); - daNewCanvas(); - return false; - }); - $(".dasigsave").click(function (e) { - e.preventDefault(); - if (daIsEmpty && document.getElementById("da_sig_required").value == "1") { - $("#daerrormess").removeClass("dasignotshowing"); - setTimeout(function () { - $("#daerrormess").addClass("dasignotshowing"); - }, 3000); - } else { - $(".dasigclear").attr("disabled", true); - $(".dasigsave").attr("disabled", true); - daSaveCanvas(); - } - return false; - }); +function daClearCanvas() { + daSigPad.clear(); } -// function to setup a new canvas for drawing +function daCanvasIsEmpty() { + return daSigPad.isEmpty(); +} +// function to setup a new canvas for drawing function daResizeCanvas() { //var cheight = $(window).height()-($("#sigheader").height() + $("#sigtoppart").height() + $("#sigbottompart").height()); setTimeout(function () { - // store current canvas content - var canvas = $("#dasigcanvas")[0]; - var daCtx = canvas.getContext("2d"); - var imgData = daCtx.getImageData(0, 0, canvas.width, canvas.height); - + // var data = daSigPad.toData(); daNewCanvas(); - - // restore previous canvas content onto new canvas element - daCtx = $("#dasigcanvas")[0].getContext("2d"); - daCtx.putImageData(imgData, 0, 0); + // daSigPad.fromData(data); }, 200); //console.log("I resized"); return; @@ -109,6 +109,7 @@ function daSaveCanvas() { //console.log(dataURL) daSpinnerTimeout = setTimeout(daShowSpinner, 1000); daPost({ da_success: 1, da_the_image: dataURL, da_ajax: 1 }); + // TODO: What's daSigPad like on multiple signature pages? } function daNewCanvas() { @@ -148,17 +149,12 @@ function daNewCanvas() { } // setup canvas - // daCtx=document.getElementById("sigcanvas").getContext("2d"); - $("#dasigcanvas").each(function () { - daCtx = $(this)[0].getContext("2d"); - daCtx.strokeStyle = daColor; - daCtx.lineWidth = daTheWidth; + daSigPad = new SignaturePad($("#dasigcanvas")[0], { + dotSize: daTheWidth/2, + maxWidth: daTheWidth, + penColor: daColor }); - // setup to trigger drawing on mouse or touch - $("#dasigcanvas").drawTouch(); - $("#dasigcanvas").drawPointer(); - $("#dasigcanvas").drawMouse(); //$(document).on("touchend", function(event){event.preventDefault();}); //$(document).on("touchcancel", function(event){event.preventDefault();}); //$(document).on("touchstart", function(event){event.preventDefault();}); @@ -176,146 +172,6 @@ function daNewCanvas() { }, 10); } -// prototype to start drawing on touch using canvas moveTo and lineTo -$.fn.drawTouch = function () { - var start = function (e) { - e = e.originalEvent; - x = e.changedTouches[0].pageX - $("#dasigcanvas").offset().left; - y = e.changedTouches[0].pageY - $("#dasigcanvas").offset().top; - daCtx.beginPath(); - daCtx.arc(x, y, 0.5 * daTheWidth, 0, 2 * Math.PI); - daCtx.fill(); - daCtx.beginPath(); - daCtx.lineJoin = "round"; - daCtx.moveTo(x, y); - if (daIsEmpty) { - $(".dasigsave").prop("disabled", false); - daIsEmpty = 0; - } - }; - var move = function (e) { - e.preventDefault(); - e = e.originalEvent; - x = e.changedTouches[0].pageX - $("#dasigcanvas").offset().left; - y = e.changedTouches[0].pageY - $("#dasigcanvas").offset().top; - daCtx.lineTo(x, y); - daCtx.stroke(); - if (daIsEmpty) { - daIsEmpty = 0; - } - //daCtx.fillRect(x-0.5*daTheWidth,y-0.5*daTheWidth,daTheWidth,daTheWidth); - //daCtx.beginPath(); - //daCtx.arc(x, y, 0.5*daTheWidth, 0, 2*Math.PI); - //daCtx.fill(); - }; - var moveline = function (e) { - move(e); - }; - var dot = function (e) { - e.preventDefault(); - e = e.originalEvent; - daCtx.lineJoin = "round"; - x = e.pageX - $("#dasigcanvas").offset().left; - y = e.pageY - $("#dasigcanvas").offset().top; - daCtx.beginPath(); - daCtx.arc(x, y, 0.5 * daTheWidth, 0, 2 * Math.PI); - daCtx.fill(); - daCtx.moveTo(x, y); - if (daIsEmpty) { - daIsEmpty = 0; - } - //daCtx.fillRect(x-0.5*daTheWidth,y-0.5*daTheWidth,daTheWidth,daTheWidth); - //console.log("Got click"); - }; - $(this).on("click", dot); - $(this).on("touchend", moveline); - $(this).on("touchcancel", moveline); - $(this).on("touchstart", start); - $(this).on("touchmove", move); -}; - -// prototype to start drawing on pointer(microsoft ie) using canvas moveTo and lineTo -$.fn.drawPointer = function () { - var start = function (e) { - e = e.originalEvent; - daCtx.beginPath(); - daCtx.lineJoin = "round"; - x = e.pageX - $("#dasigcanvas").offset().left; - y = e.pageY - $("#dasigcanvas").offset().top; - daCtx.moveTo(x, y); - if (daIsEmpty) { - daIsEmpty = 0; - } - //daCtx.arc(x, y, 0.5*daTheWidth, 0, 2*Math.PI); - //daCtx.fill(); - }; - var move = function (e) { - e.preventDefault(); - e = e.originalEvent; - x = e.pageX - $("#dasigcanvas").offset().left; - y = e.pageY - $("#dasigcanvas").offset().top; - daCtx.lineTo(x, y); - daCtx.stroke(); - daCtx.beginPath(); - daCtx.arc(x, y, 0.5 * daTheWidth, 0, 2 * Math.PI); - daCtx.fill(); - daCtx.beginPath(); - daCtx.moveTo(x, y); - if (daIsEmpty) { - daIsEmpty = 0; - } - }; - var moveline = function (e) { - move(e); - }; - $(this).on("MSPointerDown", start); - $(this).on("MSPointerMove", move); - $(this).on("MSPointerUp", moveline); -}; - -// prototype to start drawing on mouse using canvas moveTo and lineTo -$.fn.drawMouse = function () { - var clicked = 0; - var start = function (e) { - clicked = 1; - x = e.pageX - $("#dasigcanvas").offset().left; - y = e.pageY - $("#dasigcanvas").offset().top; - daCtx.beginPath(); - daCtx.arc(x, y, 0.5 * daTheWidth, 0, 2 * Math.PI); - daCtx.fill(); - daCtx.beginPath(); - daCtx.lineJoin = "round"; - daCtx.moveTo(x, y); - if (daIsEmpty) { - daIsEmpty = 0; - } - }; - var move = function (e) { - if (clicked) { - x = e.pageX - $("#dasigcanvas").offset().left; - y = e.pageY - $("#dasigcanvas").offset().top; - daCtx.lineTo(x, y); - daCtx.stroke(); - daCtx.beginPath(); - daCtx.arc(x, y, 0.5 * daTheWidth, 0, 2 * Math.PI); - daCtx.fill(); - daCtx.beginPath(); - daCtx.moveTo(x, y); - if (daIsEmpty) { - daIsEmpty = 0; - } - } - }; - var stop = function (e) { - move(e); - clicked = 0; - return true; - }; - $(this).on("mousedown", start); - $(this).on("mousemove", move); - $(window).on("mouseup", stop); -}; - function daPost(params) { for (var key in params) { if (params.hasOwnProperty(key)) { From 5591c0f4a42dabd1b499f47f3411845f252e8c88 Mon Sep 17 00:00:00 2001 From: plocket <52798256+plocket@users.noreply.github.com> Date: Thu, 26 Jan 2023 21:15:03 -0500 Subject: [PATCH 3/7] Scale size of signature to size of canvas for most cases When user has signed at < 175% zoom and zooms to 175%+, parts of the signature get cut off. This is a nonissue when going the other way. --- .../docassemble/webapp/static/app/app.js | 55 ++++++++----------- .../webapp/static/app/signature_pad.min.js | 6 ++ 2 files changed, 30 insertions(+), 31 deletions(-) create mode 100644 docassemble_webapp/docassemble/webapp/static/app/signature_pad.min.js diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.js b/docassemble_webapp/docassemble/webapp/static/app/app.js index 350e4f38c..b31638c5c 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.js @@ -7,7 +7,8 @@ var daCtx, var daTheWidth; var daAspectRatio; var daTheBorders; -var daSigPad; +var daSignPad; +var daPrevCanvasWidth; function daInitializeSignature() { daAspectRatio = 0.4; @@ -17,6 +18,7 @@ function daInitializeSignature() { daPost({ da_success: 0, da_ajax: 1 }); } daNewCanvas(); + daPrevCanvasWidth = $("#dasigcanvas").width(); $(document).on("touchmove", function (event) { if (window.matchMedia("(max-width: 575px)").matches) { event.preventDefault(); @@ -64,52 +66,43 @@ function daInitializeSignature() { } function daClearCanvas() { - daSigPad.clear(); + daSignPad.clear(); } function daCanvasIsEmpty() { - return daSigPad.isEmpty(); + return daSignPad.isEmpty(); } // function to setup a new canvas for drawing -function daResizeCanvas() { - //var cheight = $(window).height()-($("#sigheader").height() + $("#sigtoppart").height() + $("#sigbottompart").height()); +function daResizeCanvas(){ setTimeout(function () { - // var data = daSigPad.toData(); + var lines = daSignPad.toData(); daNewCanvas(); - // daSigPad.fromData(data); + var currWidth = $('#dasigcanvas').width(); + // Restore old content + var scale = currWidth/daPrevCanvasWidth; + daPrevCanvasWidth = currWidth; + daScaleSignaturePad(lines, scale); + daSignPad.fromData(lines); }, 200); //console.log("I resized"); return; - // var cheight = $(window).width()*daAspectRatio; - // if (cheight > $(window).height()-theTop){ - // cheight = $(window).height()-theTop; - // } - // if (cheight > 350){ - // cheight = 350; - // } - // var cwidth = $(window).width() - daTheBorders; - - // $("#sigcontent").height(cheight); - // //$("#sigcontent").css('top', ($("#sigheader").height() + $("#sigtoppart").height()) + "px"); - // //$("#sigbottompart").css('top', (cheight) + "px"); - // $("#sigcanvas").width(cwidth); - // $("#sigcanvas").height(cheight); - // theTop = $("#sigcanvas").offset().top; - // theLeft = $("#sigcanvas").offset().left; - // daTheWidth = cwidth/100.0; - // if (daTheWidth < 1){ - // daTheWidth = 1; - // } - // return; } +function daScaleSignaturePad (lines, scale) { + lines.forEach(line => { + line.points.forEach(point => { + point.x *= scale; + point.y *= scale; + }); + }); +}; + function daSaveCanvas() { var dataURL = document.getElementById("dasigcanvas").toDataURL(); //console.log(dataURL) daSpinnerTimeout = setTimeout(daShowSpinner, 1000); daPost({ da_success: 1, da_the_image: dataURL, da_ajax: 1 }); - // TODO: What's daSigPad like on multiple signature pages? } function daNewCanvas() { @@ -149,7 +142,7 @@ function daNewCanvas() { } // setup canvas - daSigPad = new SignaturePad($("#dasigcanvas")[0], { + daSignPad = new SignaturePad($("#dasigcanvas")[0], { dotSize: daTheWidth/2, maxWidth: daTheWidth, penColor: daColor @@ -159,7 +152,7 @@ function daNewCanvas() { //$(document).on("touchcancel", function(event){event.preventDefault();}); //$(document).on("touchstart", function(event){event.preventDefault();}); //$("meta[name=viewport]").attr('content', "width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0, user-scalable=0"); - daIsEmpty = 1; + setTimeout(function () { if (daJsEmbed) { $(daTargetDiv)[0].scrollTo(0, 1); diff --git a/docassemble_webapp/docassemble/webapp/static/app/signature_pad.min.js b/docassemble_webapp/docassemble/webapp/static/app/signature_pad.min.js new file mode 100644 index 000000000..17315002a --- /dev/null +++ b/docassemble_webapp/docassemble/webapp/static/app/signature_pad.min.js @@ -0,0 +1,6 @@ +/*! + * Signature Pad v4.0.0 | https://github.com/szimek/signature_pad + * (c) 2021 Szymon Nowak | Released under the MIT license + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SignaturePad=e()}(this,(function(){"use strict";class t{constructor(t,e,i,n){if(isNaN(t)||isNaN(e))throw new Error(`Point is invalid: (${t}, ${e})`);this.x=+t,this.y=+e,this.pressure=i||0,this.time=n||Date.now()}distanceTo(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))}equals(t){return this.x===t.x&&this.y===t.y&&this.pressure===t.pressure&&this.time===t.time}velocityFrom(t){return this.time!==t.time?this.distanceTo(t)/(this.time-t.time):0}}class e{constructor(t,e,i,n,s,o){this.startPoint=t,this.control2=e,this.control1=i,this.endPoint=n,this.startWidth=s,this.endWidth=o}static fromPoints(t,i){const n=this.calculateControlPoints(t[0],t[1],t[2]).c2,s=this.calculateControlPoints(t[1],t[2],t[3]).c1;return new e(t[1],n,s,t[2],i.start,i.end)}static calculateControlPoints(e,i,n){const s=e.x-i.x,o=e.y-i.y,h=i.x-n.x,r=i.y-n.y,a=(e.x+i.x)/2,d=(e.y+i.y)/2,l=(i.x+n.x)/2,c=(i.y+n.y)/2,u=Math.sqrt(s*s+o*o),v=Math.sqrt(h*h+r*r),m=v/(u+v),_=l+(a-l)*m,p=c+(d-c)*m,g=i.x-_,x=i.y-p;return{c1:new t(a+g,d+x),c2:new t(l+g,c+x)}}length(){let t,e,i=0;for(let n=0;n<=10;n+=1){const s=n/10,o=this.point(s,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),h=this.point(s,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(n>0){const n=o-t,s=h-e;i+=Math.sqrt(n*n+s*s)}t=o,e=h}return i}point(t,e,i,n,s){return e*(1-t)*(1-t)*(1-t)+3*i*(1-t)*(1-t)*t+3*n*(1-t)*t*t+s*t*t*t}}class i extends EventTarget{constructor(t,e={}){super(),this.canvas=t,this.options=e,this._handleMouseDown=t=>{1===t.buttons&&(this._drawningStroke=!0,this._strokeBegin(t))},this._handleMouseMove=t=>{this._drawningStroke&&this._strokeMoveUpdate(t)},this._handleMouseUp=t=>{1===t.buttons&&this._drawningStroke&&(this._drawningStroke=!1,this._strokeEnd(t))},this._handleTouchStart=t=>{if(t.preventDefault(),1===t.targetTouches.length){const e=t.changedTouches[0];this._strokeBegin(e)}},this._handleTouchMove=t=>{t.preventDefault();const e=t.targetTouches[0];this._strokeMoveUpdate(e)},this._handleTouchEnd=t=>{if(t.target===this.canvas){t.preventDefault();const e=t.changedTouches[0];this._strokeEnd(e)}},this._handlePointerStart=t=>{this._drawningStroke=!0,t.preventDefault(),this._strokeBegin(t)},this._handlePointerMove=t=>{this._drawningStroke&&(t.preventDefault(),this._strokeMoveUpdate(t))},this._handlePointerEnd=t=>{this._drawningStroke=!1;t.target===this.canvas&&(t.preventDefault(),this._strokeEnd(t))},this.velocityFilterWeight=e.velocityFilterWeight||.7,this.minWidth=e.minWidth||.5,this.maxWidth=e.maxWidth||2.5,this.throttle="throttle"in e?e.throttle:16,this.minDistance="minDistance"in e?e.minDistance:5,this.dotSize=e.dotSize||0,this.penColor=e.penColor||"black",this.backgroundColor=e.backgroundColor||"rgba(0,0,0,0)",this._strokeMoveUpdate=this.throttle?function(t,e=250){let i,n,s,o=0,h=null;const r=()=>{o=Date.now(),h=null,i=t.apply(n,s),h||(n=null,s=[])};return function(...a){const d=Date.now(),l=e-(d-o);return n=this,s=a,l<=0||l>e?(h&&(clearTimeout(h),h=null),o=d,i=t.apply(n,s),h||(n=null,s=[])):h||(h=window.setTimeout(r,l)),i}}(i.prototype._strokeUpdate,this.throttle):i.prototype._strokeUpdate,this._ctx=t.getContext("2d"),this.clear(),this.on()}clear(){const{_ctx:t,canvas:e}=this;t.fillStyle=this.backgroundColor,t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._data=[],this._reset(),this._isEmpty=!0}fromDataURL(t,e={}){return new Promise((i,n)=>{const s=new Image,o=e.ratio||window.devicePixelRatio||1,h=e.width||this.canvas.width/o,r=e.height||this.canvas.height/o,a=e.xOffset||0,d=e.yOffset||0;this._reset(),s.onload=()=>{this._ctx.drawImage(s,a,d,h,r),i()},s.onerror=t=>{n(t)},s.crossOrigin="anonymous",s.src=t,this._isEmpty=!1})}toDataURL(t="image/png",e){switch(t){case"image/svg+xml":return this._toSVG();default:return this.canvas.toDataURL(t,e)}}on(){this.canvas.style.touchAction="none",this.canvas.style.msTouchAction="none",window.PointerEvent?this._handlePointerEvents():(this._handleMouseEvents(),"ontouchstart"in window&&this._handleTouchEvents())}off(){this.canvas.style.touchAction="auto",this.canvas.style.msTouchAction="auto",this.canvas.removeEventListener("pointerdown",this._handlePointerStart),this.canvas.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerEnd),this.canvas.removeEventListener("mousedown",this._handleMouseDown),this.canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this.canvas.removeEventListener("touchstart",this._handleTouchStart),this.canvas.removeEventListener("touchmove",this._handleTouchMove),this.canvas.removeEventListener("touchend",this._handleTouchEnd)}isEmpty(){return this._isEmpty}fromData(t,{clear:e=!0}={}){e&&this.clear(),this._fromData(t,this._drawCurve.bind(this),this._drawDot.bind(this)),this._data=e?t:this._data.concat(t)}toData(){return this._data}_strokeBegin(t){this.dispatchEvent(new CustomEvent("beginStroke",{detail:t}));const e={dotSize:this.dotSize,minWidth:this.minWidth,maxWidth:this.maxWidth,penColor:this.penColor,points:[]};this._data.push(e),this._reset(),this._strokeUpdate(t)}_strokeUpdate(t){if(0===this._data.length)return void this._strokeBegin(t);this.dispatchEvent(new CustomEvent("beforeUpdateStroke",{detail:t}));const e=t.clientX,i=t.clientY,n=void 0!==t.pressure?t.pressure:void 0!==t.force?t.force:0,s=this._createPoint(e,i,n),o=this._data[this._data.length-1],h=o.points,r=h.length>0&&h[h.length-1],a=!!r&&s.distanceTo(r)<=this.minDistance,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}=o;if(!r||!r||!a){const t=this._addPoint(s);r?t&&this._drawCurve(t,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}):this._drawDot(s,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}),h.push({time:s.time,x:s.x,y:s.y,pressure:s.pressure})}this.dispatchEvent(new CustomEvent("afterUpdateStroke",{detail:t}))}_strokeEnd(t){this._strokeUpdate(t),this.dispatchEvent(new CustomEvent("endStroke",{detail:t}))}_handlePointerEvents(){this._drawningStroke=!1,this.canvas.addEventListener("pointerdown",this._handlePointerStart),this.canvas.addEventListener("pointermove",this._handlePointerMove),document.addEventListener("pointerup",this._handlePointerEnd)}_handleMouseEvents(){this._drawningStroke=!1,this.canvas.addEventListener("mousedown",this._handleMouseDown),this.canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)}_handleTouchEvents(){this.canvas.addEventListener("touchstart",this._handleTouchStart),this.canvas.addEventListener("touchmove",this._handleTouchMove),this.canvas.addEventListener("touchend",this._handleTouchEnd)}_reset(){this._lastPoints=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor}_createPoint(e,i,n){const s=this.canvas.getBoundingClientRect();return new t(e-s.left,i-s.top,n,(new Date).getTime())}_addPoint(t){const{_lastPoints:i}=this;if(i.push(t),i.length>2){3===i.length&&i.unshift(i[0]);const t=this._calculateCurveWidths(i[1],i[2]),n=e.fromPoints(i,t);return i.shift(),n}return null}_calculateCurveWidths(t,e){const i=this.velocityFilterWeight*e.velocityFrom(t)+(1-this.velocityFilterWeight)*this._lastVelocity,n=this._strokeWidth(i),s={end:n,start:this._lastWidth};return this._lastVelocity=i,this._lastWidth=n,s}_strokeWidth(t){return Math.max(this.maxWidth/(t+1),this.minWidth)}_drawCurveSegment(t,e,i){const n=this._ctx;n.moveTo(t,e),n.arc(t,e,i,0,2*Math.PI,!1),this._isEmpty=!1}_drawCurve(t,e){const i=this._ctx,n=t.endWidth-t.startWidth,s=2*Math.ceil(t.length());i.beginPath(),i.fillStyle=e.penColor;for(let i=0;i0?e.dotSize:(e.minWidth+e.maxWidth)/2;i.beginPath(),this._drawCurveSegment(t.x,t.y,n),i.closePath(),i.fillStyle=e.penColor,i.fill()}_fromData(e,i,n){for(const s of e){const{penColor:e,dotSize:o,minWidth:h,maxWidth:r,points:a}=s;if(a.length>1)for(let n=0;n{const i=document.createElement("path");if(!(isNaN(t.control1.x)||isNaN(t.control1.y)||isNaN(t.control2.x)||isNaN(t.control2.y))){const n=`M ${t.startPoint.x.toFixed(3)},${t.startPoint.y.toFixed(3)} C ${t.control1.x.toFixed(3)},${t.control1.y.toFixed(3)} ${t.control2.x.toFixed(3)},${t.control2.y.toFixed(3)} ${t.endPoint.x.toFixed(3)},${t.endPoint.y.toFixed(3)}`;i.setAttribute("d",n),i.setAttribute("stroke-width",(2.25*t.endWidth).toFixed(3)),i.setAttribute("stroke",e),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),s.appendChild(i)}},(t,{penColor:e,dotSize:i,minWidth:n,maxWidth:o})=>{const h=document.createElement("circle"),r=i>0?i:(n+o)/2;h.setAttribute("r",r.toString()),h.setAttribute("cx",t.x.toString()),h.setAttribute("cy",t.y.toString()),h.setAttribute("fill",e),s.appendChild(h)});const o=``;let h=s.innerHTML;if(void 0===h){const t=document.createElement("dummy"),e=s.childNodes;t.innerHTML="";for(let i=0;i")}}return i})); +//# sourceMappingURL=signature_pad.umd.min.js.map \ No newline at end of file From 7ac09e66afe7728e7720f23aaa3b91eff19f066a Mon Sep 17 00:00:00 2001 From: plocket <52798256+plocket@users.noreply.github.com> Date: Fri, 27 Jan 2023 09:15:51 -0500 Subject: [PATCH 4/7] Tweak size of line start/dot --- docassemble_webapp/docassemble/webapp/static/app/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.js b/docassemble_webapp/docassemble/webapp/static/app/app.js index b31638c5c..ce61d855e 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.js @@ -143,7 +143,7 @@ function daNewCanvas() { // setup canvas daSignPad = new SignaturePad($("#dasigcanvas")[0], { - dotSize: daTheWidth/2, + dotSize: daTheWidth/1.75, maxWidth: daTheWidth, penColor: daColor }); From 2b616b47519cbeeea441489cae12f61101188a6f Mon Sep 17 00:00:00 2001 From: plocket <52798256+plocket@users.noreply.github.com> Date: Fri, 27 Jan 2023 10:04:19 -0500 Subject: [PATCH 5/7] Conform with other var names --- .../docassemble/webapp/static/app/app.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.js b/docassemble_webapp/docassemble/webapp/static/app/app.js index ce61d855e..5fe4beeb7 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.js @@ -7,7 +7,7 @@ var daCtx, var daTheWidth; var daAspectRatio; var daTheBorders; -var daSignPad; +var daSigPad; var daPrevCanvasWidth; function daInitializeSignature() { @@ -66,24 +66,24 @@ function daInitializeSignature() { } function daClearCanvas() { - daSignPad.clear(); + daSigPad.clear(); } function daCanvasIsEmpty() { - return daSignPad.isEmpty(); + return daSigPad.isEmpty(); } // function to setup a new canvas for drawing function daResizeCanvas(){ setTimeout(function () { - var lines = daSignPad.toData(); + var lines = daSigPad.toData(); daNewCanvas(); var currWidth = $('#dasigcanvas').width(); // Restore old content var scale = currWidth/daPrevCanvasWidth; daPrevCanvasWidth = currWidth; daScaleSignaturePad(lines, scale); - daSignPad.fromData(lines); + daSigPad.fromData(lines); }, 200); //console.log("I resized"); return; @@ -142,7 +142,7 @@ function daNewCanvas() { } // setup canvas - daSignPad = new SignaturePad($("#dasigcanvas")[0], { + daSigPad = new SignaturePad($("#dasigcanvas")[0], { dotSize: daTheWidth/1.75, maxWidth: daTheWidth, penColor: daColor From 1148086b3008283aff3e4dbc020b7d82dbc043b9 Mon Sep 17 00:00:00 2001 From: plocket <52798256+plocket@users.noreply.github.com> Date: Sun, 29 Jan 2023 11:58:40 -0500 Subject: [PATCH 6/7] Use signature_pad to make sure to capture the full signature image Also add updated bundles because having outdated ones on there bugs me. --- .../docassemble/webapp/static/app/app.js | 2 +- .../docassemble/webapp/static/app/app.min.js | 2 +- .../docassemble/webapp/static/app/bundle.js | 66 +++++++++++++++++++ .../webapp/static/app/bundlenojquery.js | 21 ++++++ .../webapp/static/app/bundlewrapjquery.js | 23 ++++++- 5 files changed, 111 insertions(+), 3 deletions(-) diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.js b/docassemble_webapp/docassemble/webapp/static/app/app.js index 5fe4beeb7..baa437810 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.js @@ -99,7 +99,7 @@ function daScaleSignaturePad (lines, scale) { }; function daSaveCanvas() { - var dataURL = document.getElementById("dasigcanvas").toDataURL(); + var dataURL = daSigPad.toDataURL("image/png"); //console.log(dataURL) daSpinnerTimeout = setTimeout(daShowSpinner, 1000); daPost({ da_success: 1, da_the_image: dataURL, da_ajax: 1 }); diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.min.js b/docassemble_webapp/docassemble/webapp/static/app/app.min.js index fbc815624..1d93eff58 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.min.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.min.js @@ -1 +1 @@ -if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daIsEmpty,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,daIsEmpty=1,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()})},500),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daNewCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daIsEmpty&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})}function daResizeCanvas(){setTimeout(function(){var e=$("#dasigcanvas")[0],t=e.getContext("2d"),n=t.getImageData(0,0,e.width,e.height);daNewCanvas(),t=$("#dasigcanvas")[0].getContext("2d"),t.putImageData(n,0,0)},200)}function daSaveCanvas(){var e=document.getElementById("dasigcanvas").toDataURL();daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o{e.points.forEach(e=>{e.x*=t,e.y*=t})})}function daSaveCanvas(){var e=daSigPad.toDataURL("image/png");daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),daSigPad=new SignaturePad($("#dasigcanvas")[0],{dotSize:daTheWidth/1.75,maxWidth:daTheWidth,penColor:daColor}),setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,S)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=E)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{if(d.cssSupportsSelector&&!CSS.supports("selector(:is("+c+"))"))throw new Error;return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===E&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[E]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,S=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.cssSupportsSelector=ce(function(){return CSS.supports("selector(*)")&&C.querySelectorAll(":is(:jqfake)")&&!CSS.supports("selector(:is(*,:jqfake))")}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=E,!C.getElementsByName||!C.getElementsByName(E).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&S)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+E+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+E+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),d.cssSupportsSelector||y.push(":has"),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&S&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:S,!0)),N.test(r[1])&&E.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=S.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,D=E(S);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=S.createDocumentFragment().appendChild(S.createElement("div")),(fe=S.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),S.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;E.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||E.expando+"_"+Ct.guid++;return this[e]=!0,e}}),E.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||E.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?E(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=S.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=S.implementation.createHTMLDocument("")).createElement("base")).href=S.location.href,t.head.appendChild(r)):t=S),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(E.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},E.expr.pseudos.animated=function(t){return E.grep(E.timers,function(e){return t===e.elem}).length},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){E.fn[t]=function(e){return this.on(t,e)}}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 00){const n=o-t,s=h-e;i+=Math.sqrt(n*n+s*s)}t=o,e=h}return i}point(t,e,i,n,s){return e*(1-t)*(1-t)*(1-t)+3*i*(1-t)*(1-t)*t+3*n*(1-t)*t*t+s*t*t*t}}class i extends EventTarget{constructor(t,e={}){super(),this.canvas=t,this.options=e,this._handleMouseDown=t=>{1===t.buttons&&(this._drawningStroke=!0,this._strokeBegin(t))},this._handleMouseMove=t=>{this._drawningStroke&&this._strokeMoveUpdate(t)},this._handleMouseUp=t=>{1===t.buttons&&this._drawningStroke&&(this._drawningStroke=!1,this._strokeEnd(t))},this._handleTouchStart=t=>{if(t.preventDefault(),1===t.targetTouches.length){const e=t.changedTouches[0];this._strokeBegin(e)}},this._handleTouchMove=t=>{t.preventDefault();const e=t.targetTouches[0];this._strokeMoveUpdate(e)},this._handleTouchEnd=t=>{if(t.target===this.canvas){t.preventDefault();const e=t.changedTouches[0];this._strokeEnd(e)}},this._handlePointerStart=t=>{this._drawningStroke=!0,t.preventDefault(),this._strokeBegin(t)},this._handlePointerMove=t=>{this._drawningStroke&&(t.preventDefault(),this._strokeMoveUpdate(t))},this._handlePointerEnd=t=>{this._drawningStroke=!1;t.target===this.canvas&&(t.preventDefault(),this._strokeEnd(t))},this.velocityFilterWeight=e.velocityFilterWeight||.7,this.minWidth=e.minWidth||.5,this.maxWidth=e.maxWidth||2.5,this.throttle="throttle"in e?e.throttle:16,this.minDistance="minDistance"in e?e.minDistance:5,this.dotSize=e.dotSize||0,this.penColor=e.penColor||"black",this.backgroundColor=e.backgroundColor||"rgba(0,0,0,0)",this._strokeMoveUpdate=this.throttle?function(t,e=250){let i,n,s,o=0,h=null;const r=()=>{o=Date.now(),h=null,i=t.apply(n,s),h||(n=null,s=[])};return function(...a){const d=Date.now(),l=e-(d-o);return n=this,s=a,l<=0||l>e?(h&&(clearTimeout(h),h=null),o=d,i=t.apply(n,s),h||(n=null,s=[])):h||(h=window.setTimeout(r,l)),i}}(i.prototype._strokeUpdate,this.throttle):i.prototype._strokeUpdate,this._ctx=t.getContext("2d"),this.clear(),this.on()}clear(){const{_ctx:t,canvas:e}=this;t.fillStyle=this.backgroundColor,t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._data=[],this._reset(),this._isEmpty=!0}fromDataURL(t,e={}){return new Promise((i,n)=>{const s=new Image,o=e.ratio||window.devicePixelRatio||1,h=e.width||this.canvas.width/o,r=e.height||this.canvas.height/o,a=e.xOffset||0,d=e.yOffset||0;this._reset(),s.onload=()=>{this._ctx.drawImage(s,a,d,h,r),i()},s.onerror=t=>{n(t)},s.crossOrigin="anonymous",s.src=t,this._isEmpty=!1})}toDataURL(t="image/png",e){switch(t){case"image/svg+xml":return this._toSVG();default:return this.canvas.toDataURL(t,e)}}on(){this.canvas.style.touchAction="none",this.canvas.style.msTouchAction="none",window.PointerEvent?this._handlePointerEvents():(this._handleMouseEvents(),"ontouchstart"in window&&this._handleTouchEvents())}off(){this.canvas.style.touchAction="auto",this.canvas.style.msTouchAction="auto",this.canvas.removeEventListener("pointerdown",this._handlePointerStart),this.canvas.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerEnd),this.canvas.removeEventListener("mousedown",this._handleMouseDown),this.canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this.canvas.removeEventListener("touchstart",this._handleTouchStart),this.canvas.removeEventListener("touchmove",this._handleTouchMove),this.canvas.removeEventListener("touchend",this._handleTouchEnd)}isEmpty(){return this._isEmpty}fromData(t,{clear:e=!0}={}){e&&this.clear(),this._fromData(t,this._drawCurve.bind(this),this._drawDot.bind(this)),this._data=e?t:this._data.concat(t)}toData(){return this._data}_strokeBegin(t){this.dispatchEvent(new CustomEvent("beginStroke",{detail:t}));const e={dotSize:this.dotSize,minWidth:this.minWidth,maxWidth:this.maxWidth,penColor:this.penColor,points:[]};this._data.push(e),this._reset(),this._strokeUpdate(t)}_strokeUpdate(t){if(0===this._data.length)return void this._strokeBegin(t);this.dispatchEvent(new CustomEvent("beforeUpdateStroke",{detail:t}));const e=t.clientX,i=t.clientY,n=void 0!==t.pressure?t.pressure:void 0!==t.force?t.force:0,s=this._createPoint(e,i,n),o=this._data[this._data.length-1],h=o.points,r=h.length>0&&h[h.length-1],a=!!r&&s.distanceTo(r)<=this.minDistance,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}=o;if(!r||!r||!a){const t=this._addPoint(s);r?t&&this._drawCurve(t,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}):this._drawDot(s,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}),h.push({time:s.time,x:s.x,y:s.y,pressure:s.pressure})}this.dispatchEvent(new CustomEvent("afterUpdateStroke",{detail:t}))}_strokeEnd(t){this._strokeUpdate(t),this.dispatchEvent(new CustomEvent("endStroke",{detail:t}))}_handlePointerEvents(){this._drawningStroke=!1,this.canvas.addEventListener("pointerdown",this._handlePointerStart),this.canvas.addEventListener("pointermove",this._handlePointerMove),document.addEventListener("pointerup",this._handlePointerEnd)}_handleMouseEvents(){this._drawningStroke=!1,this.canvas.addEventListener("mousedown",this._handleMouseDown),this.canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)}_handleTouchEvents(){this.canvas.addEventListener("touchstart",this._handleTouchStart),this.canvas.addEventListener("touchmove",this._handleTouchMove),this.canvas.addEventListener("touchend",this._handleTouchEnd)}_reset(){this._lastPoints=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor}_createPoint(e,i,n){const s=this.canvas.getBoundingClientRect();return new t(e-s.left,i-s.top,n,(new Date).getTime())}_addPoint(t){const{_lastPoints:i}=this;if(i.push(t),i.length>2){3===i.length&&i.unshift(i[0]);const t=this._calculateCurveWidths(i[1],i[2]),n=e.fromPoints(i,t);return i.shift(),n}return null}_calculateCurveWidths(t,e){const i=this.velocityFilterWeight*e.velocityFrom(t)+(1-this.velocityFilterWeight)*this._lastVelocity,n=this._strokeWidth(i),s={end:n,start:this._lastWidth};return this._lastVelocity=i,this._lastWidth=n,s}_strokeWidth(t){return Math.max(this.maxWidth/(t+1),this.minWidth)}_drawCurveSegment(t,e,i){const n=this._ctx;n.moveTo(t,e),n.arc(t,e,i,0,2*Math.PI,!1),this._isEmpty=!1}_drawCurve(t,e){const i=this._ctx,n=t.endWidth-t.startWidth,s=2*Math.ceil(t.length());i.beginPath(),i.fillStyle=e.penColor;for(let i=0;i0?e.dotSize:(e.minWidth+e.maxWidth)/2;i.beginPath(),this._drawCurveSegment(t.x,t.y,n),i.closePath(),i.fillStyle=e.penColor,i.fill()}_fromData(e,i,n){for(const s of e){const{penColor:e,dotSize:o,minWidth:h,maxWidth:r,points:a}=s;if(a.length>1)for(let n=0;n{const i=document.createElement("path");if(!(isNaN(t.control1.x)||isNaN(t.control1.y)||isNaN(t.control2.x)||isNaN(t.control2.y))){const n=`M ${t.startPoint.x.toFixed(3)},${t.startPoint.y.toFixed(3)} C ${t.control1.x.toFixed(3)},${t.control1.y.toFixed(3)} ${t.control2.x.toFixed(3)},${t.control2.y.toFixed(3)} ${t.endPoint.x.toFixed(3)},${t.endPoint.y.toFixed(3)}`;i.setAttribute("d",n),i.setAttribute("stroke-width",(2.25*t.endWidth).toFixed(3)),i.setAttribute("stroke",e),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),s.appendChild(i)}},(t,{penColor:e,dotSize:i,minWidth:n,maxWidth:o})=>{const h=document.createElement("circle"),r=i>0?i:(n+o)/2;h.setAttribute("r",r.toString()),h.setAttribute("cx",t.x.toString()),h.setAttribute("cy",t.y.toString()),h.setAttribute("fill",e),s.appendChild(h)});const o=``;let h=s.innerHTML;if(void 0===h){const t=document.createElement("dummy"),e=s.childNodes;t.innerHTML="";for(let i=0;i")}}return i})); +//# sourceMappingURL=signature_pad.umd.min.js.map +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0>>>>>> ca725c692 (Use signature_pad to make sure to capture the full signature image) /*! jQuery Validation Plugin - v1.19.5 - 7/1/2022 * https://jqueryvalidation.org/ @@ -335,6 +346,7 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] `+g._getLayoutTemplate("zoomCache").replace("{zoomContent}",v),typeof g.sanitizeZoomCache=="function"&&(v=g.sanitizeZoomCache(v)),E=w(C?"other":n,s,!1,"kv-preview-thumb"),E.setTokens({zoomCache:v})},_addToPreview:function(e,n){var s,o=this;return n=t.cspBuffer.stash(n),s=o.reversePreviewOrder?e.prepend(n):e.append(n),t.cspBuffer.apply(e),s},_previewDefault:function(e,n){if(s=this,i=s.$preview,!s.showPreview)return;var s,i,a,l=t.getFileName(e),d=e?e.type:"",r=e.size||0,u=s._getFileName(e,""),h=n===!0&&!s.isAjaxUpload,m=t.createObjectURL(e),c=s.fileManager.getId(e),o=s._getThumbId(c);s._clearDefaultPreview(),a=s._generatePreviewTemplate("other",m,l,d,o,c,h,r),s._addToPreview(i,a),s._setThumbAttr(o,u,r),n===!0&&s.isAjaxUpload&&s._setThumbStatus(s._getFrame(o),"Error")},_previewFile:function(e,n,s,o,i){if(!this.showPreview)return;var p,a=this,u=t.getFileName(n),c=i.type,h=i.name,m=a._parseFileType(c,u),v=a.$preview,l=n.size||0,f=m==="image"?s.target.result:o,d=a.fileManager.getId(n),r=a._getThumbId(d),g=a._generatePreviewTemplate(m,f,u,c,r,d,!1,l);a._clearDefaultPreview(),a._addToPreview(v,g),p=a._getFrame(r),a._validateImageOrientation(p.find("img"),n,r,d,h,c,l,f),a._setThumbAttr(r,h,l),a._initSortable()},_setThumbAttr:function(e,t,n){var s=this,o=s._getFrame(e);o.length&&(n=n&&n>0?s._getSize(n):"",o.data({caption:t,size:n}))},_setInitThumbAttr:function(){var e,s,i,a,r,n=this,c=n.previewCache.data,o=n.previewCache.count(!0);if(o===0)return;for(e=0;e&"']/g,"_")},_updateFileDetails:function(e,n){var o,a,c,l,d,s=this,i=s.$element,r=t.isIE(9)&&t.findFileName(i.val())||i[0].files[0]&&i[0].files[0].name;!r&&s.fileManager.count()>0?(d=s.fileManager.getFirstFile(),o=d.nameFmt):o=r?s.slug(r):"_",a=s.isAjaxUpload?s.fileManager.count():e,l=s.previewCache.count(!0)+a,c=a===1?o:s._getMsgSelected(l),s.isError?(s.$previewContainer.removeClass("file-thumb-loading"),s.$previewStatus.html(""),s.$captionContainer.removeClass("icon-visible")):s._showFileIcon(),s._setCaption(c,s.isError),s.$container.removeClass("file-input-new file-input-ajax-new"),n||s._raise("fileselect",[e,o]),s.previewCache.count(!0)&&s._initPreviewActions()},_setThumbStatus:function(e,n){if(s=this,!s.showPreview)return;var s,o="indicator"+n,r=o+"Title",c="file-preview-"+n.toLowerCase(),i=e.find(".file-upload-indicator"),a=s.fileActionSettings;e.removeClass("file-preview-success file-preview-error file-preview-paused file-preview-loading"),n==="Success"&&e.find(".file-drag-handle").remove(),t.setHtml(i,a[o]),i.attr("title",a[r]),e.addClass(c),n==="Error"&&!s.retryErrorUploads&&e.find(".kv-file-upload").attr("disabled",!0)},_setProgressCancelled:function(){var e=this;e._setProgress(101,e.$progress,e.msgCancelled)},_setProgress:function(e,n,s,o){if(i=this,n=n||i.$progress,!n.length)return;var i,a,r=Math.min(e,100),c=i.progressUploadThreshold,d=e<=100?i.progressTemplate:i.progressCompleteTemplate,l=r<100?i.progressTemplate:s?i.paused?i.progressPauseTemplate:i.progressErrorTemplate:d;e>=100&&(o=""),t.isEmpty(l)||(c&&r>c&&e<=100?a=l.setTokens({percent:c,status:i.msgUploadThreshold}):a=l.setTokens({percent:r,status:e>100?i.msgUploadEnd:r+"%"}),o=o||"",a=a.setTokens({stats:o}),t.setHtml(n,a),s&&t.setHtml(n.find('[role="progressbar"]'),s))},_hasFiles:function(){var e=this.$element[0];return!!(e&&e.files&&e.files.length)},_setFileDropZoneTitle:function(){var o,e=this,n=e.$container.find(".file-drop-zone"),s=e.dropZoneTitle;if(e.isClickable&&(o=t.isEmpty(e.$element.attr("multiple"))?e.fileSingle:e.filePlural,s+=e.dropZoneClickTitle.replace("{files}",o)),n.find("."+e.dropZoneTitleClass).remove(),!e.showPreview||n.length===0||e.fileManager.count()>0||!e.dropZoneEnabled||e.previewCache.count()>0||!e.isAjaxUpload&&e._hasFiles())return;n.find(t.FRAMES).length===0&&t.isEmpty(e.defaultPreviewContent)&&n.prepend('
'+s+"
"),e.$container.removeClass("file-input-new"),t.addCss(e.$container,"file-input-ajax-new")},_getStats:function(e){var s,o,n=this;return!n.showUploadStats||!e||!e.bitrate?"":(o=n._getLayoutTemplate("stats"),s=!e.elapsed||!e.bps?n.msgCalculatingTime:n.msgPendingTime.setTokens({time:t.getElapsed(Math.ceil(e.pendingBytes/e.bps))}),o.setTokens({uploadSpeed:e.bitrate,pendingTime:s}))},_setResumableProgress:function(e,t,n){var o=this,i=o.resumableManager,s=n?i:o,a=n?n.find(".file-thumb-progress"):null;s.lastProgress===0&&(s.lastProgress=e),e0&&e._getFileCount(t-1)=d:u<=d,m)return;h=l["msgImage"+a+n].setTokens({name:i,size:d}),l._showFileError(h,r),l._setPreviewError(o)},_getExifObj:function(e){var n,o=this,s=t.logMessages.exifWarning;if(e.slice(0,23)!=="data:image/jpeg;base64,"&&e.slice(0,22)!=="data:image/jpg;base64,"){n=null;return}try{n=window.piexif?window.piexif.load(e):null}catch(e){n=null,s=e&&e.message||""}return n||o._log(t.logMessages.badExifParser,{details:s}),n},setImageOrientation:function(n,s,o,i){var r,l,d,a=this,u=!n||!n.length,m=!s||!s.length,c=!1,h=u&&i&&i.attr("data-template")==="image";if(u&&m)return;d="load.fileinputimageorient",h?(n=s,s=null,n.css(a.previewSettings.image),l=e(document.createElement("div")).appendTo(i.find(".kv-file-content")),r=e(document.createElement("span")).insertBefore(n),n.css("visibility","hidden").removeClass("file-zoom-detail").appendTo(l)):c=!n.is(":visible"),n.off(d).on(d,function(){c&&(a.$preview.removeClass("hide-content"),i.find(".kv-file-content").css("visibility","hidden"));var e=n[0],u=s&&s.length?s[0]:null,m=e.offsetHeight,f=e.offsetWidth,d=t.getRotation(o);if(c&&(i.find(".kv-file-content").css("visibility","visible"),a.$preview.addClass("hide-content")),n.data("orientation",o),u&&s.data("orientation",o),o<5){t.setTransform(e,d),t.setTransform(u,d);return}var v=Math.atan(f/m),p=Math.sqrt(Math.pow(m,2)+Math.pow(f,2)),b=p?m/Math.cos(Math.PI/2+v)/p:1,g=" scale("+Math.abs(b)+")";t.setTransform(e,d+g),t.setTransform(u,d+g),h&&(n.css("visibility","visible").insertAfter(r).addClass("file-zoom-detail"),r.remove(),l.remove())})},_validateImageOrientation:function(n,s,o,i,a,r,c,l){var u,h,f,d=this,m=d.autoOrientImage;if(d.canOrientImage){n.css("image-orientation",m?"from-image":"none");return}if(f=t.getZoomSelector(o," img"),u=m?d._getExifObj(l):null,h=u?u["0th"][piexif.ImageIFD.Orientation]:null,!h){d._validateImage(o,i,a,r,c,l,u);return}d.setImageOrientation(n,e(f),h,d._getFrame(o)),d._raise("fileimageoriented",{$img:n,file:s}),d._validateImage(o,i,a,r,c,l,u)},_validateImage:function(t,n,s,o,i,a,r){var h,m,f,c=this,p=c.$preview,l=c._getFrame(t),u=l.attr("data-fileindex"),d=l.find("img");s=s||"Untitled",d.one("load",function(){m=l.width(),f=p.width(),m>f&&d.css("width","100%"),h={ind:u,id:t,fileId:n},c._checkDimensions(u,"Small",d,l,s,"Width",h),c._checkDimensions(u,"Small",d,l,s,"Height",h),c.resizeImage||(c._checkDimensions(u,"Large",d,l,s,"Width",h),c._checkDimensions(u,"Large",d,l,s,"Height",h)),c._raise("fileimageloaded",[t]),c.fileManager.addImage(n,{ind:u,img:d,thumb:l,pid:t,typ:o,siz:i,validated:!1,imgData:a,exifObj:r}),l.data("exif",r),c._validateAllImages()}).one("error",function(){c._raise("fileimageloaderror",[t])}).each(function(){this.complete?e(this).trigger("load"):this.error&&e(this).trigger("error")})},_validateAllImages:function(){var n,t=this,o={val:0},s=t.fileManager.getImageCount(),i=t.resizeIfSizeMoreThan;if(s!==t.fileManager.totalImages)return;if(t._raise("fileimagesloaded"),!t.resizeImage)return;e.each(t.fileManager.loadedImages,function(e,a){a.validated||(n=a.siz,n&&n>i*1e3&&t._getResizedImage(e,a,o,s),a.validated=!0)})},_getResizedImage:function(n,s,o,i){var l,p,g,y,x,E,a=this,b=e(s.img)[0],c=b.naturalWidth,r=b.naturalHeight,u=1,h=a.maxImageWidth||c,d=a.maxImageHeight||r,f=!!(c&&r),v=a.imageCanvas,M=a.imageCanvasContext,m=s.typ,O=s.pid,w=s.ind,S=s.thumb,C=s.exifObj,_=function(e,t,n){a.isAjaxUpload?a._showFileError(e,t,n):a._showError(e,t,n),a._setPreviewError(S)},k=a.fileManager.getFile(n),j={id:O,index:w,fileId:n},A=[n,O,w];if((!k||!f||c<=h&&r<=d)&&(f&&k&&a._raise("fileimageresized",A),o.val++,o.val===i&&a._raise("fileimagesresized"),!f)){_(a.msgImageResizeError,j,"fileimageresizeerror");return}m=m||a.resizeDefaultImageType,p=c>h,g=r>d,a.resizePreference==="width"?u=p?h/c:g?d/r:1:u=g?d/r:p?h/c:1,a._resetCanvas(),c*=u,r*=u,v.width=c,v.height=r;try{M.drawImage(b,0,0,c,r),l=v.toDataURL(m,a.resizeQuality),C&&(E=window.piexif.dump(C),l=window.piexif.insert(E,l)),y=t.dataURI2Blob(l),a.fileManager.setFile(n,y),a._raise("fileimageresized",A),o.val++,o.val===i&&a._raise("fileimagesresized",[void 0,void 0]),y instanceof Blob||_(a.msgImageResizeError,j,"fileimageresizeerror")}catch(e){o.val++,o.val===i&&a._raise("fileimagesresized",[void 0,void 0]),x=a.msgImageResizeException.replace("{errors}",e.message),_(x,j,"fileimageresizeexception")}},_showProgress:function(){var e=this;e.$progress&&e.$progress.length&&e.$progress.show()},_hideProgress:function(){var e=this;e.$progress&&e.$progress.length&&e.$progress.hide()},_initBrowse:function(e){var n=this,s=n.$element;n.showBrowse?n.$btnFile=e.find(".btn-file").append(s):(s.appendTo(e).attr("tabindex",-1),t.addCss(s,"file-no-browse"))},_initClickable:function(){var s,o,n=this;if(!n.isClickable)return;s=n.$dropZone,n.isAjaxUpload||(o=n.$preview.find(".file-default-preview"),o.length&&(s=o)),t.addCss(s,"clickable"),s.attr("tabindex",-1),n._handler(s,"click",function(t){var o=e(t.target);!e(n.elErrorContainer+":visible").length&&(!o.parents(".file-preview-thumbnails").length||o.parents(".file-default-preview").length)&&(n.$element.data("zoneClicked",!0).trigger("click"),s.blur())})},_initCaption:function(){var e=this,n=e.initialCaption||"";return e.overwriteInitial||t.isEmpty(n)?(e.$caption.val(""),!1):(e._setCaption(n),!0)},_setCaption:function(n,s){var i,a,r,c,l,d,o=this;if(!o.$caption.length)return;if(o.$captionContainer.removeClass("icon-visible"),s)i=e("
"+o.msgValidationError+"
").text(),a=o.fileManager.count(),a?(d=o.fileManager.getFirstFile(),l=a===1&&d?d.nameFmt:o._getMsgSelected(a)):l=o._getMsgSelected(o.msgNo),r=t.isEmpty(n)?l:n,c=''+o.msgValidationErrorIcon+"";else{if(t.isEmpty(n))return;i=e("
"+n+"
").text(),r=i,c=o._getLayoutTemplate("fileIcon")}o.$captionContainer.addClass("icon-visible"),o.$caption.attr("title",i).val(r),t.setHtml(o.$captionIcon,c)},_createContainer:function(){var e=this,s={class:"file-input file-input-new"+(e.rtl?" kv-rtl":"")},n=t.createElement(t.cspBuffer.stash(e._renderMain()));return t.cspBuffer.apply(n),n.insertBefore(e.$element).attr(s),e._initBrowse(n),e.theme&&n.addClass("theme-"+e.theme),n},_refreshContainer:function(){var e=this,n=e.$container,s=e.$element;s.insertAfter(n),t.setHtml(n,e._renderMain()),e._initBrowse(n),e._validateDisabled()},_validateDisabled:function(){var e=this;e.$caption.attr({readonly:e.isDisabled})},_renderMain:function(){var e=this,t=e.dropZoneEnabled?" file-drop-zone":"file-drop-disabled",n=e.showClose?e._getLayoutTemplate("close"):"",s=e.showPreview?e._getLayoutTemplate("preview").setTokens({class:e.previewClass,dropClass:t}):"",o=e.isDisabled?e.captionClass+" file-caption-disabled":e.captionClass,i=e.captionTemplate.setTokens({class:o+" kv-fileinput-caption"});return e.mainTemplate.setTokens({class:e.mainClass+(!e.showBrowse&&e.showCaption?" no-browse":""),preview:s,close:n,caption:i,upload:e._renderButton("upload"),remove:e._renderButton("remove"),cancel:e._renderButton("cancel"),pause:e._renderButton("pause"),browse:e._renderButton("browse")})},_renderButton:function(e){var n=this,i=n._getLayoutTemplate("btnDefault"),s=n[e+"Class"],r=n[e+"Title"],c=n[e+"Icon"],o=n[e+"Label"],l=n.isDisabled?" disabled":"",a="button";switch(e){case"remove":if(!n.showRemove)return"";break;case"cancel":if(!n.showCancel)return"";s+=" kv-hidden";break;case"pause":if(!n.showPause)return"";s+=" kv-hidden";break;case"upload":if(!n.showUpload)return"";n.isAjaxUpload&&!n.isDisabled?i=n._getLayoutTemplate("btnLink").replace("{href}",n.uploadUrl):a="submit";break;case"browse":if(!n.showBrowse)return"";i=n._getLayoutTemplate("btnBrowse");break;default:return""}return s+=e==="browse"?" btn-file":" fileinput-"+e+" fileinput-"+e+"-button",t.isEmpty(o)||(o=' '+o+""),i.setTokens({type:a,css:s,title:r,status:l,icon:c,label:o})},_renderThumbProgress:function(){var e=this;return'
'+e.progressInfoTemplate.setTokens({percent:101,status:e.msgUploadBegin,stats:""})+"
"},_renderFileFooter:function(e,n,s,o,i){var c,l,a=this,r=a.fileActionSettings,m=r.showRemove,d=r.showDrag,h=r.showUpload,u=r.showZoom,f=a._getLayoutTemplate("footer"),p=a._getLayoutTemplate("indicator"),g=i?r.indicatorError:r.indicatorNew,v=i?r.indicatorErrorTitle:r.indicatorNewTitle,b=p.setTokens({indicator:g,indicatorTitle:v});return s=a._getSize(s),c={type:e,caption:n,size:s,width:o,progress:"",indicator:b},a.isAjaxUpload?(c.progress=a._renderThumbProgress(),c.actions=a._renderFileActions(c,h,!1,m,u,d,!1,!1,!1)):c.actions=a._renderFileActions(c,!1,!1,!1,u,d,!1,!1,!1),l=f.setTokens(c),l=t.replaceTags(l,a.previewThumbTags),l},_renderFileActions:function(e,t,n,s,o,i,a,r,c,l,d,u){if(m=this,!e.type&&l&&(e.type="image"),m.enableResumableUpload?t=!1:typeof t=="function"&&(t=t(e)),typeof n=="function"&&(n=n(e)),typeof s=="function"&&(s=s(e)),typeof o=="function"&&(o=o(e)),typeof i=="function"&&(i=i(e)),!t&&!n&&!s&&!o&&!i)return"";var m,g,w=r===!1?"":' data-url="'+r+'"',y="",b="",v=c===!1?"":' data-key="'+c+'"',p="",j="",f="",_=m._getLayoutTemplate("actions"),h=m.fileActionSettings,O=m.otherActionButtons.setTokens({dataKey:v,key:c}),x=a?h.removeClass+" disabled":h.removeClass;return s&&(p=m._getLayoutTemplate("actionDelete").setTokens({removeClass:x,removeIcon:h.removeIcon,removeTitle:h.removeTitle,dataUrl:w,dataKey:v,key:c})),t&&(j=m._getLayoutTemplate("actionUpload").setTokens({uploadClass:h.uploadClass,uploadIcon:h.uploadIcon,uploadTitle:h.uploadTitle})),n&&(f=m._getLayoutTemplate("actionDownload").setTokens({downloadClass:h.downloadClass,downloadIcon:h.downloadIcon,downloadTitle:h.downloadTitle,downloadUrl:d||m.initialPreviewDownloadUrl}),f=f.setTokens({filename:u,key:c})),o&&(y=m._getLayoutTemplate("actionZoom").setTokens({zoomClass:h.zoomClass,zoomIcon:h.zoomIcon,zoomTitle:h.zoomTitle})),i&&l&&(g="drag-handle-init "+h.dragClass,b=m._getLayoutTemplate("actionDrag").setTokens({dragClass:g,dragTitle:h.dragTitle,dragIcon:h.dragIcon})),_.setTokens({delete:p,upload:j,download:f,zoom:y,drag:b,other:O})},_browse:function(e){var t=this;if(e&&e.isDefaultPrevented()||!t._raise("filebrowse"))return;t.isError&&!t.isAjaxUpload&&t.clear(),t.focusCaptionOnBrowse&&t.$captionContainer.focus()},_change:function(n){if(s=this,s.changeTriggered)return;var s,a,r,l,u,f=s.$element,b=arguments.length>1,i=s.isAjaxUpload,d=b?arguments[1]:f[0].files,h=s.fileManager.count(),m=t.isEmpty(f.attr("multiple")),o=!i&&m?1:s.maxFileCount,c=s.maxTotalFileCount,p=c>0&&c>o,g=m&&h>0,j=function(t,n,o,a){var r=e.extend(!0,{},s._getOutData(null,{},{},d),{id:o,index:a}),c={id:o,index:a,file:n,files:d};return s.isPersistentError=!0,i?s._showFileError(t,r):s._showError(t,c)},v=function(e,t,n){var o=n?s.msgTotalFilesTooMany:s.msgFilesTooMany,o=o.replace("{m}",t).replace("{n}",e);s.isError=j(o,null,null,null),s.$captionContainer.removeClass("icon-visible"),s._setCaption("",!0),s.$container.removeClass("file-input-new file-input-ajax-new")};if(s.reader=null,s._resetUpload(),s._hideFileIcon(),s.dropZoneEnabled&&s.$container.find(".file-drop-zone ."+s.dropZoneTitleClass).remove(),i||(n.target&&n.target.files===void 0?d=n.target.value?[{name:n.target.value.replace(/^.+\\/,"")}]:[]:d=n.target.files||{}),l=d,t.isEmpty(l)||l.length===0){i||s.clear(),s._raise("fileselectnone");return}if(s._resetErrors(),a=l.length,u=i?s.fileManager.count()+a:a,r=s._getFileCount(u,!p&&void 0),o>0&&r>o){if(!s.autoReplace||a>o){v(s.autoReplace&&a>o?a:r,o);return}r>o&&s._resetPreviewThumbs(i)}else{if(p&&(r=s._getFileCount(u,!0),c>0&&r>c)){if(!s.autoReplace||a>o){v(s.autoReplace&&a>c?a:r,c,!0);return}r>o&&s._resetPreviewThumbs(i)}!i||g?(s._resetPreviewThumbs(!1),g&&s.clearFileStack()):i&&h===0&&(!s.previewCache.count(!0)||s.overwriteInitial)&&s._resetPreviewThumbs(!0)}s.readFiles(l)},_abort:function(t){var s,n=this;return n.ajaxAborted&&typeof n.ajaxAborted=="object"&&n.ajaxAborted.message!==void 0?(s=e.extend(!0,{},n._getOutData(null),t),s.abortData=n.ajaxAborted.data||{},s.abortMessage=n.ajaxAborted.message,n._setProgress(101,n.$progress,n.msgCancelled),n._showFileError(n.ajaxAborted.message,s,"filecustomerror"),n.cancel(),!0):!!n.ajaxAborted},_resetFileStack:function(){var t=this,n=0;t._getThumbs().each(function(){var s=e(this),o=s.attr("data-fileindex"),i=s.attr("id");if(o==="-1"||o===-1)return;t.fileManager.getFile(s.attr("data-fileid"))?s.attr({"data-fileindex":"-1"}):(s.attr({"data-fileindex":n}),n++),t._getZoom(i).attr({"data-fileindex":s.attr("data-fileindex")})})},_isFileSelectionValid:function(e){var t=this;return e=e||0,t.required&&!t.getFilesCount()?(t.$errorContainer.html(""),t._showFileError(t.msgFileRequired),!1):!(t.minFileCount>0&&t._getFileCount(e)i;return!m&&(g||p||f)},addToStack:function(e,t){this.fileManager.add(e,t)},clearFileStack:function(){var e=this;return e.fileManager.clear(),e._initResumableUpload(),e.enableResumableUpload?(e.showPause===null&&(e.showPause=!0),e.showCancel===null&&(e.showCancel=!1)):(e.showPause=!1,e.showCancel===null&&(e.showCancel=!0)),e.$element},getFileStack:function(){return this.fileManager.stack},getFileList:function(){return this.fileManager.list()},getFilesCount:function(e){var t=this,n=t.isAjaxUpload?t.fileManager.count():t._inputFileCount();return e&&(n+=t.previewCache.count(!0)),t._getFileCount(n)},readFiles:function(n){this.reader=new FileReader;var r,s=this,i=s.reader,u=s.$previewContainer,c=s.$previewStatus,g=s.msgLoading,m=s.msgProgress,p=s.previewInitId,o=n.length,d=s.fileTypeSettings,a=s.allowedFileTypes,f=a?a.length:0,l=s.allowedFileExtensions,v=t.isEmpty(l)?"":l.join(", "),h=function(t,i,a,c,l){var d,u=e.extend(!0,{},s._getOutData(null,{},{},n),{id:a,index:c,fileId:l}),h={id:a,index:c,fileId:l,file:i,files:n};s._previewDefault(i,!0),d=s._getFrame(a,!0),s.isAjaxUpload?setTimeout(function(){r(c+1)},s.processDelay):(s.unlock(),o=0),s.removeFromPreviewOnError&&d.length?d.remove():(s._initFileActions(),d.find(".kv-file-upload").remove()),s.isPersistentError=!0,s.isError=s.isAjaxUpload?s._showFileError(t,u):s._showError(t,h),s._updateFileDetails(o)};s.fileManager.clearImages(),e.each(n,function(e,t){var n=s.fileTypeSettings.image;n&&n(t.type)&&s.fileManager.totalImages++}),r=function(b){if(E=s.$errorContainer,C=s.fileManager,b>=o){s.unlock(),s.duplicateErrors.length&&(N="
  • "+s.duplicateErrors.join("
  • ")+"
  • ",E.find("ul").length===0?t.setHtml(E,s.errorCloseButton+"
      "+N+"
    "):E.find("ul").append(N),E.fadeIn(s.fadeDelay),s._handler(E.find(".kv-error-close"),"click",function(){E.fadeOut(s.fadeDelay)}),s.duplicateErrors=[]),s.isAjaxUpload?(s._raise("filebatchselected",[C.stack]),C.count()===0&&!s.isError&&s.reset()):s._raise("filebatchselected",[n]),u.removeClass("file-thumb-loading"),c.html("");return}s.lock(!0);var _,w,x,C,E,k,S,M,F,T,z,D,N,W,K,q,j=n[b],P=s._getFileId(j),O=p+"-"+P,Y=d.text,I=d.image,G=d.html,y=s._getFileName(j,""),L=(j&&j.size||0)/1e3,R="",V=t.createObjectURL(j),A=0,B="",H=!1,$=0,U=function(){var e=m.setTokens({index:b+1,files:o,percent:50,name:y});setTimeout(function(){c.html(e),s._updateFileDetails(o),r(b+1)},s.processDelay),s._raise("fileloaded",[j,O,P,b,i])&&s.isAjaxUpload&&C.add(j)};if(!j)return;if(x=C.getId(j),f>0)for(w=0;w0&&L>s.maxFileSize){_=s.msgSizeTooLarge.setTokens({name:y,size:k,maxSize:s.maxFileSize}),h(_,j,O,b,x);return}if(s.minFileSize!==null&&L<=t.getNum(s.minFileSize)){_=s.msgSizeTooSmall.setTokens({name:y,size:k,minSize:s.minFileSize}),h(_,j,O,b,x);return}if(!t.isEmpty(a)&&t.isArray(a)){for(w=0;w0)for(n=0;n0)for(s=0;s0?n.initialCaption:"",n.$caption.attr("title","").val(s),t.addCss(n.$container,"file-input-new"),n._validateDefaultPreview()),n.$container.find(t.FRAMES).length===0&&(n._initCaption()||n.$captionContainer.removeClass("icon-visible")),n._hideFileIcon(),n.focusCaptionOnClear&&n.$captionContainer.focus(),n._setFileDropZoneTitle(),n._raise("filecleared"),n.$element},reset:function(){var e=this;if(!e._raise("filereset"))return;return e.lastProgress=0,e._resetPreview(),e.$container.find(".fileinput-filename").text(""),t.addCss(e.$container,"file-input-new"),e.getFrames().length&&e.$container.removeClass("file-input-new"),e.clearFileStack(),e._setFileDropZoneTitle(),e.$element},disable:function(){var e=this,n=e.$container;return e.isDisabled=!0,e._raise("filedisabled"),e.$element.attr("disabled","disabled"),n.addClass("is-locked"),t.addCss(n.find(".btn-file"),"disabled"),n.find(".kv-fileinput-caption").addClass("file-caption-disabled"),n.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").attr("disabled",!0),e._initDragDrop(),e.$element},enable:function(){var e=this,t=e.$container;return e.isDisabled=!1,e._raise("fileenabled"),e.$element.removeAttr("disabled"),t.removeClass("is-locked"),t.find(".kv-fileinput-caption").removeClass("file-caption-disabled"),t.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").removeAttr("disabled"),t.find(".btn-file").removeClass("disabled"),e._initDragDrop(),e.$element},upload:function(){var o,a,n=this,i=n.fileManager,s=i.count(),r=!e.isEmptyObject(n._getExtraData());if(!n.isAjaxUpload||n.isDisabled||!n._isFileSelectionValid(s))return;if(n.lastProgress=0,n._resetUpload(),s===0&&!r){n._showFileError(n.msgUploadEmpty);return}if(n.cancelling=!1,n._showProgress(),n.lock(),s===0&&r){n._setProgress(2),n._uploadExtraOnly();return}if(n.enableResumableUpload)return n.resume();if((n.uploadAsync||n.enableResumableUpload)&&(a=n._getOutData(null),n._raise("filebatchpreupload",[a]),n.fileBatchCompleted=!1,n.uploadCache=[],e.each(n.getFileStack(),function(e){var t=n._getThumbId(e);n.uploadCache.push({id:t,content:null,config:null,tags:null,append:!0})}),n.$preview.find(".file-preview-initial").removeClass(t.SORT_CSS),n._initSortable()),n._setProgress(2),n.hasInitData=!1,n.uploadAsync){o=0,e.each(i.stack,function(e){n._uploadSingle(o,e,!0),o++});return}return n._uploadBatch(),n.$element},destroy:function(){var t=this,s=t.$form,o=t.$container,i=t.$element,n=t.namespace;return e(document).off(n),e(window).off(n),s&&s.length&&s.off(n),t.isAjaxUpload&&t._clearFileInput(),t._cleanup(),t._initPreviewCache(),i.insertBefore(o).off(n).removeData(),o.off().remove(),i},refresh:function(n){var s=this,o=s.$element;return typeof n!="object"||t.isEmpty(n)?n=s.options:n=e.extend(!0,{},s.options,n),s._init(n,!0),s._listen(),o},zoom:function(e){var t=this,n=t._getFrame(e);t._showModal(n)},getExif:function(e){var n=this,t=n._getFrame(e);return t&&t.data("exif")||null},getFrames:function(n){var s,o=this;return n=n||"",s=o.$preview.find(t.FRAMES+n),o.reversePreviewOrder&&(s=e(s.get().reverse())),s},getPreview:function(){var e=this;return{content:e.initialPreview,config:e.initialPreviewConfig,tags:e.initialPreviewThumbTags}}},e.fn.fileinput=function(s){if(!t.hasFileAPISupport()&&!t.isIE(9))return;var i=Array.apply(null,arguments),o=[];switch(i.shift(),this.each(function(){var m,a=e(this),r=a.data("fileinput"),c=typeof s=="object"&&s,d=c.theme||a.data("theme"),u={},h={},l=c.language||a.data("language")||e.fn.fileinput.defaults.language||"en";r||(d&&(h=e.fn.fileinputThemes[d]||{}),l!=="en"&&!t.isEmpty(e.fn.fileinputLocales[l])&&(u=e.fn.fileinputLocales[l]||{}),m=e.extend(!0,{},e.fn.fileinput.defaults,h,e.fn.fileinputLocales.en,u,c,a.data()),r=new n(this,m),a.data("fileinput",r)),typeof s=="string"&&o.push(r[s].apply(r,i))}),o.length){case 0:return this;case 1:return o[0];default:return o}};var t,n,s='class="kv-preview-data file-preview-pdf" src="{renderer}?file={data}" {style}';e.fn.fileinput.defaults={language:"en",showCaption:!0,showBrowse:!0,showPreview:!0,showRemove:!0,showUpload:!0,showUploadStats:!0,showCancel:null,showPause:null,showClose:!0,showUploadedThumbs:!0,showConsoleLogs:!1,browseOnZoneClick:!1,autoReplace:!1,autoOrientImage:function(){var e=window.navigator.userAgent,t=!!e.match(/WebKit/i),n=!!e.match(/iP(od|ad|hone)/i),s=n&&t&&!e.match(/CriOS/i);return!s},autoOrientImageInitial:!0,required:!1,rtl:!1,hideThumbnailContent:!1,encodeUrl:!0,focusCaptionOnBrowse:!0,focusCaptionOnClear:!0,generateFileId:null,previewClass:"",captionClass:"",frameClass:"krajee-default",mainClass:"file-caption-main",mainTemplate:null,fileSizeGetter:null,initialCaption:"",initialPreview:[],initialPreviewDelimiter:"*$$*",initialPreviewAsData:!1,initialPreviewFileType:"image",initialPreviewConfig:[],initialPreviewThumbTags:[],previewThumbTags:{},initialPreviewShowDelete:!0,initialPreviewDownloadUrl:"",removeFromPreviewOnError:!1,deleteUrl:"",deleteExtraData:{},overwriteInitial:!0,sanitizeZoomCache:function(e){var n=t.createElement(e);return n.find("input,textarea,select,datalist,form,.file-thumbnail-footer").remove(),n.html()},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewZoomButtonClasses:{prev:"btn btn-navigate",next:"btn btn-navigate",toggleheader:"btn btn-sm btn-kv btn-default btn-outline-secondary",fullscreen:"btn btn-sm btn-kv btn-default btn-outline-secondary",borderless:"btn btn-sm btn-kv btn-default btn-outline-secondary",close:"btn btn-sm btn-kv btn-default btn-outline-secondary"},previewTemplates:{},previewContentTemplates:{},preferIconicPreview:!1,preferIconicZoomPreview:!1,allowedFileTypes:null,allowedFileExtensions:null,allowedPreviewTypes:void 0,allowedPreviewMimeTypes:null,allowedPreviewExtensions:null,disabledPreviewTypes:void 0,disabledPreviewExtensions:["msi","exe","com","zip","rar","app","vb","scr"],disabledPreviewMimeTypes:null,defaultPreviewContent:null,customLayoutTags:{},customPreviewTags:{},previewFileIcon:'',previewFileIconClass:"file-other-icon",previewFileIconSettings:{},previewFileExtSettings:{},buttonLabelClass:"hidden-xs",browseIcon:' ',browseClass:"btn btn-primary",removeIcon:'',removeClass:"btn btn-default btn-secondary",cancelIcon:'',cancelClass:"btn btn-default btn-secondary",pauseIcon:'',pauseClass:"btn btn-default btn-secondary",uploadIcon:'',uploadClass:"btn btn-default btn-secondary",uploadUrl:null,uploadUrlThumb:null,uploadAsync:!0,uploadParamNames:{chunkCount:"chunkCount",chunkIndex:"chunkIndex",chunkSize:"chunkSize",chunkSizeStart:"chunkSizeStart",chunksUploaded:"chunksUploaded",fileBlob:"fileBlob",fileId:"fileId",fileName:"fileName",fileRelativePath:"fileRelativePath",fileSize:"fileSize",retryCount:"retryCount"},maxAjaxThreads:5,fadeDelay:800,processDelay:100,queueDelay:10,progressDelay:0,enableResumableUpload:!1,resumableUploadOptions:{fallback:null,testUrl:null,chunkSize:2*1024,maxThreads:4,maxRetries:3,showErrorLog:!0},uploadExtraData:{},zoomModalHeight:480,minImageWidth:null,minImageHeight:null,maxImageWidth:null,maxImageHeight:null,resizeImage:!1,resizePreference:"width",resizeQuality:.92,resizeDefaultImageType:"image/jpeg",resizeIfSizeMoreThan:0,minFileSize:-1,maxFileSize:0,maxFilePreviewSize:25600,minFileCount:0,maxFileCount:0,maxTotalFileCount:0,validateInitialCount:!1,msgValidationErrorClass:"text-danger",msgValidationErrorIcon:' ',msgErrorClass:"file-error-message",progressThumbClass:"progress-bar progress-bar-striped active progress-bar-animated",progressClass:"progress-bar bg-success progress-bar-success progress-bar-striped active progress-bar-animated",progressInfoClass:"progress-bar bg-info progress-bar-info progress-bar-striped active progress-bar-animated",progressCompleteClass:"progress-bar bg-success progress-bar-success",progressPauseClass:"progress-bar bg-primary progress-bar-primary progress-bar-striped active progress-bar-animated",progressErrorClass:"progress-bar bg-danger progress-bar-danger",progressUploadThreshold:99,previewFileType:"image",elCaptionContainer:null,elCaptionText:null,elCaptionLabelText:null,elPreviewContainer:null,elPreviewImage:null,elPreviewStatus:null,elErrorContainer:null,errorCloseButton:t.closeButton("kv-error-close"),slugCallback:null,dropZoneEnabled:!0,dropZoneTitleClass:"file-drop-zone-title",fileActionSettings:{},otherActionButtons:"",textEncoding:"UTF-8",preProcessUpload:null,ajaxSettings:{},ajaxDeleteSettings:{},showAjaxErrorDetails:!0,mergeAjaxCallbacks:!1,mergeAjaxDeleteCallbacks:!1,retryErrorUploads:!0,reversePreviewOrder:!1,usePdfRenderer:function(){var e=!!window.MSInputMethodContext&&!!document.documentMode;return!!navigator.userAgent.match(/(iPod|iPhone|iPad|Android)/i)||e},pdfRendererUrl:"",pdfRendererTemplate:""},e.fn.fileinputLocales.en={fileSingle:"file",filePlural:"files",browseLabel:"Browse …",removeLabel:"Remove",removeTitle:"Clear all unprocessed files",cancelLabel:"Cancel",cancelTitle:"Abort ongoing upload",pauseLabel:"Pause",pauseTitle:"Pause ongoing upload",uploadLabel:"Upload",uploadTitle:"Upload selected files",msgNo:"No",msgNoFilesSelected:"No files selected",msgCancelled:"Cancelled",msgPaused:"Paused",msgPlaceholder:"Select {files} ...",msgZoomModalHeading:"Detailed Preview",msgFileRequired:"You must select a file to upload.",msgSizeTooSmall:'File "{name}" ({size} KB) is too small and must be larger than {minSize} KB.',msgSizeTooLarge:'File "{name}" ({size} KB) exceeds maximum allowed upload size of {maxSize} KB.',msgFilesTooLess:"You must select at least {n} {files} to upload.",msgFilesTooMany:"Number of files selected for upload ({n}) exceeds maximum allowed limit of {m}.",msgTotalFilesTooMany:"You can upload a maximum of {m} files ({n} files detected).",msgFileNotFound:'File "{name}" not found!',msgFileSecured:'Security restrictions prevent reading the file "{name}".',msgFileNotReadable:'File "{name}" is not readable.',msgFilePreviewAborted:'File preview aborted for "{name}".',msgFilePreviewError:'An error occurred while reading the file "{name}".',msgInvalidFileName:'Invalid or unsupported characters in file name "{name}".',msgInvalidFileType:'Invalid type for file "{name}". Only "{types}" files are supported.',msgInvalidFileExtension:'Invalid extension for file "{name}". Only "{extensions}" files are supported.',msgFileTypes:{image:"image",html:"HTML",text:"text",video:"video",audio:"audio",flash:"flash",pdf:"PDF",object:"object"},msgUploadAborted:"The file upload was aborted",msgUploadThreshold:"Processing …",msgUploadBegin:"Initializing …",msgUploadEnd:"Done",msgUploadResume:"Resuming upload …",msgUploadEmpty:"No valid data available for upload.",msgUploadError:"Upload Error",msgDeleteError:"Delete Error",msgProgressError:"Error",msgValidationError:"Validation Error",msgLoading:"Loading file {index} of {files} …",msgProgress:"Loading file {index} of {files} - {name} - {percent}% completed.",msgSelected:"{n} {files} selected",msgFoldersNotAllowed:"Drag & drop files only! {n} folder(s) dropped were skipped.",msgImageWidthSmall:'Width of image file "{name}" must be at least {size} px.',msgImageHeightSmall:'Height of image file "{name}" must be at least {size} px.',msgImageWidthLarge:'Width of image file "{name}" cannot exceed {size} px.',msgImageHeightLarge:'Height of image file "{name}" cannot exceed {size} px.',msgImageResizeError:"Could not get the image dimensions to resize.",msgImageResizeException:"Error while resizing the image.
    {errors}
    ",msgAjaxError:"Something went wrong with the {operation} operation. Please try again later!",msgAjaxProgressError:"{operation} failed",msgDuplicateFile:'File "{name}" of same size "{size} KB" has already been selected earlier. Skipping duplicate selection.',msgResumableUploadRetriesExceeded:"Upload aborted beyond {max} retries for file {file}! Error Details:
    {error}
    ",msgPendingTime:"{time} remaining",msgCalculatingTime:"calculating time remaining",ajaxOperations:{deleteThumb:"file delete",uploadThumb:"file upload",uploadBatch:"batch file upload",uploadExtra:"form data upload"},dropZoneTitle:"Drag & drop files here …",dropZoneClickTitle:"
    (or click to select {files})",previewZoomButtonTitles:{prev:"View previous file",next:"View next file",toggleheader:"Toggle header",fullscreen:"Toggle full screen",borderless:"Toggle borderless mode",close:"Close detailed preview"}},e.fn.fileinput.Constructor=n,e(document).ready(function(){var t=e("input.file[type=file]");t.length&&t.fileinput()})}); /*! +<<<<<<< HEAD * bootstrap-fileinput v5.1.3 * http://plugins.krajee.com/file-input * @@ -349,6 +361,60 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daIsEmpty,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,daIsEmpty=1,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()})},500),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daNewCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daIsEmpty&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})}function daResizeCanvas(){setTimeout(function(){var e=$("#dasigcanvas")[0],t=e.getContext("2d"),n=t.getImageData(0,0,e.width,e.height);daNewCanvas(),t=$("#dasigcanvas")[0].getContext("2d"),t.putImageData(n,0,0)},200)}function daSaveCanvas(){var e=document.getElementById("dasigcanvas").toDataURL();daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o
    ':'
    '},disable:function(){this.$element.prop("disabled",!0),this.$button.attr("disabled",!0),this.disabled=!0,this.$container.addClass("combobox-disabled")},enable:function(){this.$element.prop("disabled",!1),this.$button.attr("disabled",!1),this.disabled=!1,this.$container.removeClass("combobox-disabled")},parse:function(){var a=this,n={},s={},o=[],t=!1,i="";return this.$source.find("option").each(function(){var r=e(this);if(r.val()===""){a.options.placeholder=r.text();return}n[r.text()]=r.val(),s[r.val()]=r.text(),o.push(r.text()),r.prop("selected")&&(t=r.text(),i=r.val())}),this.map=n,this.revMap=s,t?(this.$element.val(t),this.$target.val(i),this.$container.addClass("combobox-selected"),this.selected=!0):(this.$container.removeClass("combobox-selected"),this.selected=!1),o},transferAttributes:function(){if(this.options.placeholder=this.$source.attr("data-placeholder")||this.options.placeholder,this.options.appendId!=="undefined"&&(this.$element.attr("id",this.$source.attr("id")),this.$source.attr("id",this.$source.attr("id")+this.options.appendId),daComboBoxes[this.$element.attr("id")]=this),this.$menu.attr("id",this.$element.attr("id")+"menu"),this.$element.attr("aria-controls",this.$menu.attr("id")),this.$element.attr("aria-owns",this.$menu.attr("id")),this.$button.attr("aria-controls",this.$menu.attr("id")),this.$button.attr("aria-label",this.$source.attr("aria-label")),this.$button.attr("aria-labelledby",this.$source.attr("aria-labelledby")),this.$button.attr("aria-describedby",this.$source.attr("aria-describedby")),this.$element.attr("placeholder",this.options.placeholder),this.$target.prop("name",this.$source.prop("name")),this.$target.val(this.$source.val()),this.$source.removeAttr("name"),this.$element.attr("required",this.$source.attr("required")),this.$element.attr("rel",this.$source.attr("rel")),this.$element.attr("title",this.$source.attr("title")),this.$element.attr("class",this.$source.attr("class")),this.$element.attr("tabindex",this.$source.attr("tabindex")),this.$source.removeAttr("tabindex"),!this.$target.val()&&this.$source.data("default")){var e=this.$source.data("default");this.$element.val(e),this.$target.val(e)}this.$source.attr("disabled")!==void 0&&this.disable()},select:function(){var t,e=this.$menu.find(".active").attr("data-value");this.$container.parent().find(".da-has-error").remove(),this.$element.val(this.updater(e)),t=this.$target.val(),t!=this.map[e]&&this.$target.val(this.map[e]),t=this.$source.val(),t!=this.map[e]&&this.$source.val(this.map[e]).trigger("change"),this.$container.addClass("combobox-selected"),this.selected=!0,this.hide()},manualSelect:function(e){var t,n=!1;this.$container.parent().find(".da-has-error").remove(),e!==""&&this.revMap[e]!==void 0?(this.$element.val(this.revMap[e]),n=!0):this.$element.val(e),t=this.$target.val(),t!=e&&this.$target.val(e),t=this.$source.val(),t!=e&&this.$source.val(e).trigger("change"),e!==""&&n&&(this.$container.addClass("combobox-selected"),this.selected=!0)},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.hidden=!1,this.$element.attr("aria-expanded",!0),this.$button.attr("aria-expanded",!0),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.hidden=!0,this.$element.on("blur",e.proxy(this.blur,this)),this.$element.attr("aria-expanded",!1),this.$button.attr("aria-expanded",!1),this.shown=!1,this},lookup:function(){this.query=this.$element.val(),this.process(this.source)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){for(var t,n=[],s=[],o=[];t=e.shift();)t.toLowerCase().indexOf(this.query.toLowerCase())?~t.indexOf(this.query)?s.push(t):o.push(t):n.push(t);return n.concat(s,o)},highlighter:function(e){var t=this.query.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");return t?e.replace(new RegExp("("+t+")","ig"),function(e,t){return""+t+""}):e},render:function(t){var n=this;return t=e(t).map(function(t,s){return t=e(n.options.item).attr("data-value",s).attr("aria-label",s),t.attr("id",n.$element.attr("id")+"-option-"+s),t.html(n.highlighter(s)),t[0]}),this.setActive(t.first()),this.$menu.html(t),this},setActive:function(e){e.addClass("active").attr("aria-selected",!0),this.$element.attr("aria-activedescendant",e.attr("id"))},swapActive:function(e,t){e.removeClass("active").attr("aria-selected",!1),this.setActive(t)},next:function(){var s=this.$menu.find('[aria-selected="true"]'),n=s.next();n.length||(n=e(this.$menu.find("li")[0])),this.swapActive(s,n)},prev:function(){var n=this.$menu.find('[aria-selected="true"]'),t=n.prev();t.length||(t=this.$menu.find("li").last()),this.swapActive(n,t)},toggle:function(e){return this.disabled||(this.$container.hasClass("combobox-selected")?(this.clearTarget(),this.$source.trigger("change"),this.clearElement(),this.$element.attr("aria-expanded",!1),this.$button.attr("aria-expanded",!1)):this.shown?(this.$element.attr("aria-expanded",!1),this.$button.attr("aria-expanded",!1),this.hide()):(this.$element.attr("aria-expanded",!0),this.$button.attr("aria-expanded",!0),this.clearElement(),this.lookup())),e&&(e.preventDefault(),e.stopPropagation()),!1},clearElement:function(){this.$element.val("").focus()},clearTarget:function(){this.$source.val(""),this.$target.val(""),this.$container.removeClass("combobox-selected"),this.selected=!1},refresh:function(){this.source=this.parse(),this.options.items=this.source.length},listen:function(){this.$element.on("focus",e.proxy(this.focus,this)).on("change",e.proxy(this.change,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this)).on("mousedown","li",e.proxy(this.mousedown,this)),this.$button.on("click touchend",e.proxy(this.toggle,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev(),this.fixMenuScroll();break;case 40:e.preventDefault(),this.next(),this.fixMenuScroll();break}e.stopPropagation()},fixMenuScroll:function(){var t,n,s,o,e=this.$menu.find(".active");e.length&&(this.$element.attr("aria-activedescendant",e.attr("id")),t=e.position().top,n=t+e.height(),s=this.$menu.scrollTop(),o=this.$menu.height(),n>o?this.$menu.scrollTop(s+n-o):t<0&&this.$menu.scrollTop(s+t))},setActiveDescendant:function(t){this.mousedover&&this.swapActive(this.$menu.find(".active"),e(t.currentTarget))},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(t){switch(t.keyCode){case 40:this.shown||this.toggle();break;case 39:case 38:case 37:case 36:case 35:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;if(this.selected){for(var i=this.$element.val(),s=this.$menu.find("li"),o=s.length,n=0;n',item:'',appendId:"combobox",clearIfNoMatch:!1},e.fn.combobox.Constructor=t})(window.jQuery) +======= +* bootstrap-fileinput v5.1.3 +* http://plugins.krajee.com/file-input +* +* Font Awesome 5 icon theme configuration for bootstrap-fileinput. Requires font awesome 5 assets to be loaded. +* +* Author: Kartik Visweswaran +* Copyright: 2014 - 2020, Kartik Visweswaran, Krajee.com +* +* Licensed under the BSD-3-Clause +* https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md +*/(function($){"use strict";$.fn.fileinputThemes.fas={fileActionSettings:{removeIcon:'',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:'',},layoutTemplates:{fileIcon:' ',},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:'',},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' ',};})(window.jQuery); +if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daSigPad,daPrevCanvasWidth,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),daPrevCanvasWidth=$("#dasigcanvas").width(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()}),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daClearCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daCanvasIsEmpty()&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})},500)}function daClearCanvas(){daSigPad.clear()}function daCanvasIsEmpty(){return daSigPad.isEmpty()}function daResizeCanvas(){setTimeout(function(){var e,n,t=daSigPad.toData();daNewCanvas(),e=$("#dasigcanvas").width(),n=e/daPrevCanvasWidth,daPrevCanvasWidth=e,daScaleSignaturePad(t,n),daSigPad.fromData(t)},200)}function daScaleSignaturePad(e,t){e.forEach(e=>{e.points.forEach(e=>{e.x*=t,e.y*=t})})}function daSaveCanvas(){var e=daSigPad.toDataURL("image/png");daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),daSigPad=new SignaturePad($("#dasigcanvas")[0],{dotSize:daTheWidth/1.75,maxWidth:daTheWidth,penColor:daColor}),setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o '+ +'
    '+ +'
    ';}else{return '
    '+ +'
    '+ +'
    '+ +'
    ';}},disable:function(){this.$element.prop("disabled",true);this.$button.attr("disabled",true);this.disabled=true;this.$container.addClass("combobox-disabled");},enable:function(){this.$element.prop("disabled",false);this.$button.attr("disabled",false);this.disabled=false;this.$container.removeClass("combobox-disabled");},parse:function(){var that=this,map={},source=[],selected=false,selectedValue="";this.$source.find("option").each(function(){var option=$(this);if(option.val()===""){that.options.placeholder=option.text();return;} +map[option.text()]=option.val();source.push(option.text());if(option.prop("selected")){selected=option.text();selectedValue=option.val();}});this.map=map;if(selected){this.$element.val(selected);this.$target.val(selectedValue);this.$container.addClass("combobox-selected");this.selected=true;} +return source;},transferAttributes:function(){this.options.placeholder=this.$source.attr("data-placeholder")||this.options.placeholder;if(this.options.appendId!=="undefined"){this.$element.attr("id",this.$source.attr("id"));this.$source.attr("id",this.$source.attr("id")+this.options.appendId);daComboBoxes[this.$element.attr("id")]=this;} +this.$menu.attr("id",this.$element.attr("id")+"menu");this.$element.attr("aria-controls",this.$menu.attr("id"));this.$element.attr("aria-owns",this.$menu.attr("id"));this.$button.attr("aria-controls",this.$menu.attr("id"));this.$button.attr("aria-label",this.$source.attr("aria-label"));this.$button.attr("aria-labelledby",this.$source.attr("aria-labelledby"));this.$button.attr("aria-describedby",this.$source.attr("aria-describedby"));this.$element.attr("placeholder",this.options.placeholder);this.$target.prop("name",this.$source.prop("name"));this.$target.val(this.$source.val());this.$source.removeAttr("name");this.$element.attr("required",this.$source.attr("required"));this.$element.attr("rel",this.$source.attr("rel"));this.$element.attr("title",this.$source.attr("title"));this.$element.attr("class",this.$source.attr("class"));this.$element.attr("tabindex",this.$source.attr("tabindex"));this.$source.removeAttr("tabindex");if(!this.$target.val()&&this.$source.data("default")){var defaultVal=this.$source.data("default");this.$element.val(defaultVal);this.$target.val(defaultVal);} +if(this.$source.attr("disabled")!==undefined)this.disable();},select:function(){var val=this.$menu.find(".active").attr("data-value");var oldVal;this.$container.parent().find(".da-has-error").remove();this.$element.val(this.updater(val));oldVal=this.$target.val();if(oldVal!=this.map[val]){this.$target.val(this.map[val]);} +oldVal=this.$source.val();if(oldVal!=this.map[val]){this.$source.val(this.map[val]).trigger("change");} +this.$container.addClass("combobox-selected");this.selected=true;this.hide();return;},updater:function(item){return item;},show:function(){var pos=$.extend({},this.$element.position(),{height:this.$element[0].offsetHeight,});this.$menu.insertAfter(this.$element).css({top:pos.top+pos.height,left:pos.left,}).show();this.hidden=false;this.$element.attr("aria-expanded",true);this.$button.attr("aria-expanded",true);this.shown=true;return this;},hide:function(){this.$menu.hide();this.hidden=true;this.$element.on("blur",$.proxy(this.blur,this));this.$element.attr("aria-expanded",false);this.$button.attr("aria-expanded",false);this.shown=false;return this;},lookup:function(event){this.query=this.$element.val();this.process(this.source);},process:function(items){var that=this;items=$.grep(items,function(item){return that.matcher(item);});items=this.sorter(items);if(!items.length){return this.shown?this.hide():this;} +return this.render(items.slice(0,this.options.items)).show();},matcher:function(item){return~item.toLowerCase().indexOf(this.query.toLowerCase());},sorter:function(items){var beginswith=[],caseSensitive=[],caseInsensitive=[],item;while((item=items.shift())){if(!item.toLowerCase().indexOf(this.query.toLowerCase())){beginswith.push(item);}else if(~item.indexOf(this.query)){caseSensitive.push(item);}else{caseInsensitive.push(item);}} +return beginswith.concat(caseSensitive,caseInsensitive);},highlighter:function(item){var query=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");if(!query){return item;} +return item.replace(new RegExp("("+query+")","ig"),function($1,match){return ""+match+"";});},render:function(items){var that=this;items=$(items).map(function(i,item){i=$(that.options.item).attr("data-value",item).attr("aria-label",item);i.attr("id",that.$element.attr("id")+"-option-"+item) +i.html(that.highlighter(item));return i[0];});this.setActive(items.first());this.$menu.html(items);return this;},setActive:function(elem){elem.addClass("active").attr("aria-selected",true);this.$element.attr("aria-activedescendant",elem.attr("id"));},swapActive:function(oldElem,newElem){oldElem.removeClass("active").attr("aria-selected",false);this.setActive(newElem);},next:function(event){var active=this.$menu.find('[aria-selected="true"]');var next=active.next();if(!next.length){next=$(this.$menu.find("li")[0]);} +this.swapActive(active,next);},prev:function(event){var active=this.$menu.find('[aria-selected="true"]');var prev=active.prev();if(!prev.length){prev=this.$menu.find("li").last();} +this.swapActive(active,prev);},toggle:function(e){if(!this.disabled){if(this.$container.hasClass("combobox-selected")){this.clearTarget();this.$source.trigger("change");this.clearElement();this.$element.attr("aria-expanded",false);this.$button.attr("aria-expanded",false);}else{if(this.shown){this.$element.attr("aria-expanded",false);this.$button.attr("aria-expanded",false);this.hide();}else{this.$element.attr("aria-expanded",true);this.$button.attr("aria-expanded",true);this.clearElement();this.lookup();}}} +if(e){e.preventDefault();e.stopPropagation();} +return false;},clearElement:function(){this.$element.val("").focus();},clearTarget:function(){this.$source.val("");this.$target.val("");this.$container.removeClass("combobox-selected");this.selected=false;},refresh:function(){this.source=this.parse();this.options.items=this.source.length;},listen:function(){this.$element.on("focus",$.proxy(this.focus,this)).on("change",$.proxy(this.change,this)).on("blur",$.proxy(this.blur,this)).on("keypress",$.proxy(this.keypress,this)).on("keyup",$.proxy(this.keyup,this));if(this.eventSupported("keydown")){this.$element.on("keydown",$.proxy(this.keydown,this));} +this.$menu.on("click",$.proxy(this.click,this)).on("mouseenter","li",$.proxy(this.mouseenter,this)).on("mouseleave","li",$.proxy(this.mouseleave,this)).on("mousedown","li",$.proxy(this.mousedown,this));this.$button.on("click touchend",$.proxy(this.toggle,this));},eventSupported:function(eventName){var isSupported=eventName in this.$element;if(!isSupported){this.$element.setAttribute(eventName,"return;");isSupported=typeof this.$element[eventName]==="function";} +return isSupported;},move:function(e){if(!this.shown){return;} +switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault();this.prev();this.fixMenuScroll();break;case 40:e.preventDefault();this.next();this.fixMenuScroll();break;} +e.stopPropagation();},fixMenuScroll:function(){var active=this.$menu.find(".active");if(active.length){this.$element.attr("aria-activedescendant",active.attr("id")) +var top=active.position().top;var bottom=top+active.height();var scrollTop=this.$menu.scrollTop();var menuHeight=this.$menu.height();if(bottom>menuHeight){this.$menu.scrollTop(scrollTop+bottom-menuHeight);}else if(top<0){this.$menu.scrollTop(scrollTop+top);}}},setActiveDescendant:function(e){if(this.mousedover){this.swapActive(this.$menu.find(".active"),$(e.currentTarget));}},keydown:function(e){this.suppressKeyPressRepeat=~$.inArray(e.keyCode,[40,38,9,13,27]);this.move(e);},keypress:function(e){if(this.suppressKeyPressRepeat){return;} +this.move(e);},keyup:function(e){switch(e.keyCode){case 40:if(!this.shown){this.toggle();} +break;case 39:case 38:case 37:case 36:case 35:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown){return;} +if(!this.selected){this.select();}else{var val=this.$element.val();var opts=this.$menu.find("li");var n=opts.length;for(var i=0;i',item:'',appendId:"combobox",clearIfNoMatch:false,};$.fn.combobox.Constructor=Combobox;})(window.jQuery); +>>>>>>> ca725c692 (Use signature_pad to make sure to capture the full signature image) /*! * Socket.IO v4.5.4 * (c) 2014-2022 Guillermo Rauch diff --git a/docassemble_webapp/docassemble/webapp/static/app/bundlenojquery.js b/docassemble_webapp/docassemble/webapp/static/app/bundlenojquery.js index 10930e381..dd8909f22 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/bundlenojquery.js +++ b/docassemble_webapp/docassemble/webapp/static/app/bundlenojquery.js @@ -1,3 +1,9 @@ +/*! + * Signature Pad v4.0.0 | https://github.com/szimek/signature_pad + * (c) 2021 Szymon Nowak | Released under the MIT license + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SignaturePad=e()}(this,(function(){"use strict";class t{constructor(t,e,i,n){if(isNaN(t)||isNaN(e))throw new Error(`Point is invalid: (${t}, ${e})`);this.x=+t,this.y=+e,this.pressure=i||0,this.time=n||Date.now()}distanceTo(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))}equals(t){return this.x===t.x&&this.y===t.y&&this.pressure===t.pressure&&this.time===t.time}velocityFrom(t){return this.time!==t.time?this.distanceTo(t)/(this.time-t.time):0}}class e{constructor(t,e,i,n,s,o){this.startPoint=t,this.control2=e,this.control1=i,this.endPoint=n,this.startWidth=s,this.endWidth=o}static fromPoints(t,i){const n=this.calculateControlPoints(t[0],t[1],t[2]).c2,s=this.calculateControlPoints(t[1],t[2],t[3]).c1;return new e(t[1],n,s,t[2],i.start,i.end)}static calculateControlPoints(e,i,n){const s=e.x-i.x,o=e.y-i.y,h=i.x-n.x,r=i.y-n.y,a=(e.x+i.x)/2,d=(e.y+i.y)/2,l=(i.x+n.x)/2,c=(i.y+n.y)/2,u=Math.sqrt(s*s+o*o),v=Math.sqrt(h*h+r*r),m=v/(u+v),_=l+(a-l)*m,p=c+(d-c)*m,g=i.x-_,x=i.y-p;return{c1:new t(a+g,d+x),c2:new t(l+g,c+x)}}length(){let t,e,i=0;for(let n=0;n<=10;n+=1){const s=n/10,o=this.point(s,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),h=this.point(s,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(n>0){const n=o-t,s=h-e;i+=Math.sqrt(n*n+s*s)}t=o,e=h}return i}point(t,e,i,n,s){return e*(1-t)*(1-t)*(1-t)+3*i*(1-t)*(1-t)*t+3*n*(1-t)*t*t+s*t*t*t}}class i extends EventTarget{constructor(t,e={}){super(),this.canvas=t,this.options=e,this._handleMouseDown=t=>{1===t.buttons&&(this._drawningStroke=!0,this._strokeBegin(t))},this._handleMouseMove=t=>{this._drawningStroke&&this._strokeMoveUpdate(t)},this._handleMouseUp=t=>{1===t.buttons&&this._drawningStroke&&(this._drawningStroke=!1,this._strokeEnd(t))},this._handleTouchStart=t=>{if(t.preventDefault(),1===t.targetTouches.length){const e=t.changedTouches[0];this._strokeBegin(e)}},this._handleTouchMove=t=>{t.preventDefault();const e=t.targetTouches[0];this._strokeMoveUpdate(e)},this._handleTouchEnd=t=>{if(t.target===this.canvas){t.preventDefault();const e=t.changedTouches[0];this._strokeEnd(e)}},this._handlePointerStart=t=>{this._drawningStroke=!0,t.preventDefault(),this._strokeBegin(t)},this._handlePointerMove=t=>{this._drawningStroke&&(t.preventDefault(),this._strokeMoveUpdate(t))},this._handlePointerEnd=t=>{this._drawningStroke=!1;t.target===this.canvas&&(t.preventDefault(),this._strokeEnd(t))},this.velocityFilterWeight=e.velocityFilterWeight||.7,this.minWidth=e.minWidth||.5,this.maxWidth=e.maxWidth||2.5,this.throttle="throttle"in e?e.throttle:16,this.minDistance="minDistance"in e?e.minDistance:5,this.dotSize=e.dotSize||0,this.penColor=e.penColor||"black",this.backgroundColor=e.backgroundColor||"rgba(0,0,0,0)",this._strokeMoveUpdate=this.throttle?function(t,e=250){let i,n,s,o=0,h=null;const r=()=>{o=Date.now(),h=null,i=t.apply(n,s),h||(n=null,s=[])};return function(...a){const d=Date.now(),l=e-(d-o);return n=this,s=a,l<=0||l>e?(h&&(clearTimeout(h),h=null),o=d,i=t.apply(n,s),h||(n=null,s=[])):h||(h=window.setTimeout(r,l)),i}}(i.prototype._strokeUpdate,this.throttle):i.prototype._strokeUpdate,this._ctx=t.getContext("2d"),this.clear(),this.on()}clear(){const{_ctx:t,canvas:e}=this;t.fillStyle=this.backgroundColor,t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._data=[],this._reset(),this._isEmpty=!0}fromDataURL(t,e={}){return new Promise((i,n)=>{const s=new Image,o=e.ratio||window.devicePixelRatio||1,h=e.width||this.canvas.width/o,r=e.height||this.canvas.height/o,a=e.xOffset||0,d=e.yOffset||0;this._reset(),s.onload=()=>{this._ctx.drawImage(s,a,d,h,r),i()},s.onerror=t=>{n(t)},s.crossOrigin="anonymous",s.src=t,this._isEmpty=!1})}toDataURL(t="image/png",e){switch(t){case"image/svg+xml":return this._toSVG();default:return this.canvas.toDataURL(t,e)}}on(){this.canvas.style.touchAction="none",this.canvas.style.msTouchAction="none",window.PointerEvent?this._handlePointerEvents():(this._handleMouseEvents(),"ontouchstart"in window&&this._handleTouchEvents())}off(){this.canvas.style.touchAction="auto",this.canvas.style.msTouchAction="auto",this.canvas.removeEventListener("pointerdown",this._handlePointerStart),this.canvas.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerEnd),this.canvas.removeEventListener("mousedown",this._handleMouseDown),this.canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this.canvas.removeEventListener("touchstart",this._handleTouchStart),this.canvas.removeEventListener("touchmove",this._handleTouchMove),this.canvas.removeEventListener("touchend",this._handleTouchEnd)}isEmpty(){return this._isEmpty}fromData(t,{clear:e=!0}={}){e&&this.clear(),this._fromData(t,this._drawCurve.bind(this),this._drawDot.bind(this)),this._data=e?t:this._data.concat(t)}toData(){return this._data}_strokeBegin(t){this.dispatchEvent(new CustomEvent("beginStroke",{detail:t}));const e={dotSize:this.dotSize,minWidth:this.minWidth,maxWidth:this.maxWidth,penColor:this.penColor,points:[]};this._data.push(e),this._reset(),this._strokeUpdate(t)}_strokeUpdate(t){if(0===this._data.length)return void this._strokeBegin(t);this.dispatchEvent(new CustomEvent("beforeUpdateStroke",{detail:t}));const e=t.clientX,i=t.clientY,n=void 0!==t.pressure?t.pressure:void 0!==t.force?t.force:0,s=this._createPoint(e,i,n),o=this._data[this._data.length-1],h=o.points,r=h.length>0&&h[h.length-1],a=!!r&&s.distanceTo(r)<=this.minDistance,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}=o;if(!r||!r||!a){const t=this._addPoint(s);r?t&&this._drawCurve(t,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}):this._drawDot(s,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}),h.push({time:s.time,x:s.x,y:s.y,pressure:s.pressure})}this.dispatchEvent(new CustomEvent("afterUpdateStroke",{detail:t}))}_strokeEnd(t){this._strokeUpdate(t),this.dispatchEvent(new CustomEvent("endStroke",{detail:t}))}_handlePointerEvents(){this._drawningStroke=!1,this.canvas.addEventListener("pointerdown",this._handlePointerStart),this.canvas.addEventListener("pointermove",this._handlePointerMove),document.addEventListener("pointerup",this._handlePointerEnd)}_handleMouseEvents(){this._drawningStroke=!1,this.canvas.addEventListener("mousedown",this._handleMouseDown),this.canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)}_handleTouchEvents(){this.canvas.addEventListener("touchstart",this._handleTouchStart),this.canvas.addEventListener("touchmove",this._handleTouchMove),this.canvas.addEventListener("touchend",this._handleTouchEnd)}_reset(){this._lastPoints=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor}_createPoint(e,i,n){const s=this.canvas.getBoundingClientRect();return new t(e-s.left,i-s.top,n,(new Date).getTime())}_addPoint(t){const{_lastPoints:i}=this;if(i.push(t),i.length>2){3===i.length&&i.unshift(i[0]);const t=this._calculateCurveWidths(i[1],i[2]),n=e.fromPoints(i,t);return i.shift(),n}return null}_calculateCurveWidths(t,e){const i=this.velocityFilterWeight*e.velocityFrom(t)+(1-this.velocityFilterWeight)*this._lastVelocity,n=this._strokeWidth(i),s={end:n,start:this._lastWidth};return this._lastVelocity=i,this._lastWidth=n,s}_strokeWidth(t){return Math.max(this.maxWidth/(t+1),this.minWidth)}_drawCurveSegment(t,e,i){const n=this._ctx;n.moveTo(t,e),n.arc(t,e,i,0,2*Math.PI,!1),this._isEmpty=!1}_drawCurve(t,e){const i=this._ctx,n=t.endWidth-t.startWidth,s=2*Math.ceil(t.length());i.beginPath(),i.fillStyle=e.penColor;for(let i=0;i0?e.dotSize:(e.minWidth+e.maxWidth)/2;i.beginPath(),this._drawCurveSegment(t.x,t.y,n),i.closePath(),i.fillStyle=e.penColor,i.fill()}_fromData(e,i,n){for(const s of e){const{penColor:e,dotSize:o,minWidth:h,maxWidth:r,points:a}=s;if(a.length>1)for(let n=0;n{const i=document.createElement("path");if(!(isNaN(t.control1.x)||isNaN(t.control1.y)||isNaN(t.control2.x)||isNaN(t.control2.y))){const n=`M ${t.startPoint.x.toFixed(3)},${t.startPoint.y.toFixed(3)} C ${t.control1.x.toFixed(3)},${t.control1.y.toFixed(3)} ${t.control2.x.toFixed(3)},${t.control2.y.toFixed(3)} ${t.endPoint.x.toFixed(3)},${t.endPoint.y.toFixed(3)}`;i.setAttribute("d",n),i.setAttribute("stroke-width",(2.25*t.endWidth).toFixed(3)),i.setAttribute("stroke",e),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),s.appendChild(i)}},(t,{penColor:e,dotSize:i,minWidth:n,maxWidth:o})=>{const h=document.createElement("circle"),r=i>0?i:(n+o)/2;h.setAttribute("r",r.toString()),h.setAttribute("cx",t.x.toString()),h.setAttribute("cy",t.y.toString()),h.setAttribute("fill",e),s.appendChild(h)});const o=``;let h=s.innerHTML;if(void 0===h){const t=document.createElement("dummy"),e=s.childNodes;t.innerHTML="";for(let i=0;i")}}return i})); +//# sourceMappingURL=signature_pad.umd.min.js.map /*! jQuery Validation Plugin - v1.19.5 - 7/1/2022 * https://jqueryvalidation.org/ * Copyright (c) 2022 Jörn Zaefferer; Licensed MIT */ @@ -323,6 +329,7 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] `+g._getLayoutTemplate("zoomCache").replace("{zoomContent}",v),typeof g.sanitizeZoomCache=="function"&&(v=g.sanitizeZoomCache(v)),E=w(C?"other":n,s,!1,"kv-preview-thumb"),E.setTokens({zoomCache:v})},_addToPreview:function(e,n){var s,o=this;return n=t.cspBuffer.stash(n),s=o.reversePreviewOrder?e.prepend(n):e.append(n),t.cspBuffer.apply(e),s},_previewDefault:function(e,n){if(s=this,i=s.$preview,!s.showPreview)return;var s,i,a,l=t.getFileName(e),d=e?e.type:"",r=e.size||0,u=s._getFileName(e,""),h=n===!0&&!s.isAjaxUpload,m=t.createObjectURL(e),c=s.fileManager.getId(e),o=s._getThumbId(c);s._clearDefaultPreview(),a=s._generatePreviewTemplate("other",m,l,d,o,c,h,r),s._addToPreview(i,a),s._setThumbAttr(o,u,r),n===!0&&s.isAjaxUpload&&s._setThumbStatus(s._getFrame(o),"Error")},_previewFile:function(e,n,s,o,i){if(!this.showPreview)return;var p,a=this,u=t.getFileName(n),c=i.type,h=i.name,m=a._parseFileType(c,u),v=a.$preview,l=n.size||0,f=m==="image"?s.target.result:o,d=a.fileManager.getId(n),r=a._getThumbId(d),g=a._generatePreviewTemplate(m,f,u,c,r,d,!1,l);a._clearDefaultPreview(),a._addToPreview(v,g),p=a._getFrame(r),a._validateImageOrientation(p.find("img"),n,r,d,h,c,l,f),a._setThumbAttr(r,h,l),a._initSortable()},_setThumbAttr:function(e,t,n){var s=this,o=s._getFrame(e);o.length&&(n=n&&n>0?s._getSize(n):"",o.data({caption:t,size:n}))},_setInitThumbAttr:function(){var e,s,i,a,r,n=this,c=n.previewCache.data,o=n.previewCache.count(!0);if(o===0)return;for(e=0;e&"']/g,"_")},_updateFileDetails:function(e,n){var o,a,c,l,d,s=this,i=s.$element,r=t.isIE(9)&&t.findFileName(i.val())||i[0].files[0]&&i[0].files[0].name;!r&&s.fileManager.count()>0?(d=s.fileManager.getFirstFile(),o=d.nameFmt):o=r?s.slug(r):"_",a=s.isAjaxUpload?s.fileManager.count():e,l=s.previewCache.count(!0)+a,c=a===1?o:s._getMsgSelected(l),s.isError?(s.$previewContainer.removeClass("file-thumb-loading"),s.$previewStatus.html(""),s.$captionContainer.removeClass("icon-visible")):s._showFileIcon(),s._setCaption(c,s.isError),s.$container.removeClass("file-input-new file-input-ajax-new"),n||s._raise("fileselect",[e,o]),s.previewCache.count(!0)&&s._initPreviewActions()},_setThumbStatus:function(e,n){if(s=this,!s.showPreview)return;var s,o="indicator"+n,r=o+"Title",c="file-preview-"+n.toLowerCase(),i=e.find(".file-upload-indicator"),a=s.fileActionSettings;e.removeClass("file-preview-success file-preview-error file-preview-paused file-preview-loading"),n==="Success"&&e.find(".file-drag-handle").remove(),t.setHtml(i,a[o]),i.attr("title",a[r]),e.addClass(c),n==="Error"&&!s.retryErrorUploads&&e.find(".kv-file-upload").attr("disabled",!0)},_setProgressCancelled:function(){var e=this;e._setProgress(101,e.$progress,e.msgCancelled)},_setProgress:function(e,n,s,o){if(i=this,n=n||i.$progress,!n.length)return;var i,a,r=Math.min(e,100),c=i.progressUploadThreshold,d=e<=100?i.progressTemplate:i.progressCompleteTemplate,l=r<100?i.progressTemplate:s?i.paused?i.progressPauseTemplate:i.progressErrorTemplate:d;e>=100&&(o=""),t.isEmpty(l)||(c&&r>c&&e<=100?a=l.setTokens({percent:c,status:i.msgUploadThreshold}):a=l.setTokens({percent:r,status:e>100?i.msgUploadEnd:r+"%"}),o=o||"",a=a.setTokens({stats:o}),t.setHtml(n,a),s&&t.setHtml(n.find('[role="progressbar"]'),s))},_hasFiles:function(){var e=this.$element[0];return!!(e&&e.files&&e.files.length)},_setFileDropZoneTitle:function(){var o,e=this,n=e.$container.find(".file-drop-zone"),s=e.dropZoneTitle;if(e.isClickable&&(o=t.isEmpty(e.$element.attr("multiple"))?e.fileSingle:e.filePlural,s+=e.dropZoneClickTitle.replace("{files}",o)),n.find("."+e.dropZoneTitleClass).remove(),!e.showPreview||n.length===0||e.fileManager.count()>0||!e.dropZoneEnabled||e.previewCache.count()>0||!e.isAjaxUpload&&e._hasFiles())return;n.find(t.FRAMES).length===0&&t.isEmpty(e.defaultPreviewContent)&&n.prepend('
    '+s+"
    "),e.$container.removeClass("file-input-new"),t.addCss(e.$container,"file-input-ajax-new")},_getStats:function(e){var s,o,n=this;return!n.showUploadStats||!e||!e.bitrate?"":(o=n._getLayoutTemplate("stats"),s=!e.elapsed||!e.bps?n.msgCalculatingTime:n.msgPendingTime.setTokens({time:t.getElapsed(Math.ceil(e.pendingBytes/e.bps))}),o.setTokens({uploadSpeed:e.bitrate,pendingTime:s}))},_setResumableProgress:function(e,t,n){var o=this,i=o.resumableManager,s=n?i:o,a=n?n.find(".file-thumb-progress"):null;s.lastProgress===0&&(s.lastProgress=e),e0&&e._getFileCount(t-1)=d:u<=d,m)return;h=l["msgImage"+a+n].setTokens({name:i,size:d}),l._showFileError(h,r),l._setPreviewError(o)},_getExifObj:function(e){var n,o=this,s=t.logMessages.exifWarning;if(e.slice(0,23)!=="data:image/jpeg;base64,"&&e.slice(0,22)!=="data:image/jpg;base64,"){n=null;return}try{n=window.piexif?window.piexif.load(e):null}catch(e){n=null,s=e&&e.message||""}return n||o._log(t.logMessages.badExifParser,{details:s}),n},setImageOrientation:function(n,s,o,i){var r,l,d,a=this,u=!n||!n.length,m=!s||!s.length,c=!1,h=u&&i&&i.attr("data-template")==="image";if(u&&m)return;d="load.fileinputimageorient",h?(n=s,s=null,n.css(a.previewSettings.image),l=e(document.createElement("div")).appendTo(i.find(".kv-file-content")),r=e(document.createElement("span")).insertBefore(n),n.css("visibility","hidden").removeClass("file-zoom-detail").appendTo(l)):c=!n.is(":visible"),n.off(d).on(d,function(){c&&(a.$preview.removeClass("hide-content"),i.find(".kv-file-content").css("visibility","hidden"));var e=n[0],u=s&&s.length?s[0]:null,m=e.offsetHeight,f=e.offsetWidth,d=t.getRotation(o);if(c&&(i.find(".kv-file-content").css("visibility","visible"),a.$preview.addClass("hide-content")),n.data("orientation",o),u&&s.data("orientation",o),o<5){t.setTransform(e,d),t.setTransform(u,d);return}var v=Math.atan(f/m),p=Math.sqrt(Math.pow(m,2)+Math.pow(f,2)),b=p?m/Math.cos(Math.PI/2+v)/p:1,g=" scale("+Math.abs(b)+")";t.setTransform(e,d+g),t.setTransform(u,d+g),h&&(n.css("visibility","visible").insertAfter(r).addClass("file-zoom-detail"),r.remove(),l.remove())})},_validateImageOrientation:function(n,s,o,i,a,r,c,l){var u,h,f,d=this,m=d.autoOrientImage;if(d.canOrientImage){n.css("image-orientation",m?"from-image":"none");return}if(f=t.getZoomSelector(o," img"),u=m?d._getExifObj(l):null,h=u?u["0th"][piexif.ImageIFD.Orientation]:null,!h){d._validateImage(o,i,a,r,c,l,u);return}d.setImageOrientation(n,e(f),h,d._getFrame(o)),d._raise("fileimageoriented",{$img:n,file:s}),d._validateImage(o,i,a,r,c,l,u)},_validateImage:function(t,n,s,o,i,a,r){var h,m,f,c=this,p=c.$preview,l=c._getFrame(t),u=l.attr("data-fileindex"),d=l.find("img");s=s||"Untitled",d.one("load",function(){m=l.width(),f=p.width(),m>f&&d.css("width","100%"),h={ind:u,id:t,fileId:n},c._checkDimensions(u,"Small",d,l,s,"Width",h),c._checkDimensions(u,"Small",d,l,s,"Height",h),c.resizeImage||(c._checkDimensions(u,"Large",d,l,s,"Width",h),c._checkDimensions(u,"Large",d,l,s,"Height",h)),c._raise("fileimageloaded",[t]),c.fileManager.addImage(n,{ind:u,img:d,thumb:l,pid:t,typ:o,siz:i,validated:!1,imgData:a,exifObj:r}),l.data("exif",r),c._validateAllImages()}).one("error",function(){c._raise("fileimageloaderror",[t])}).each(function(){this.complete?e(this).trigger("load"):this.error&&e(this).trigger("error")})},_validateAllImages:function(){var n,t=this,o={val:0},s=t.fileManager.getImageCount(),i=t.resizeIfSizeMoreThan;if(s!==t.fileManager.totalImages)return;if(t._raise("fileimagesloaded"),!t.resizeImage)return;e.each(t.fileManager.loadedImages,function(e,a){a.validated||(n=a.siz,n&&n>i*1e3&&t._getResizedImage(e,a,o,s),a.validated=!0)})},_getResizedImage:function(n,s,o,i){var l,p,g,y,x,E,a=this,b=e(s.img)[0],c=b.naturalWidth,r=b.naturalHeight,u=1,h=a.maxImageWidth||c,d=a.maxImageHeight||r,f=!!(c&&r),v=a.imageCanvas,M=a.imageCanvasContext,m=s.typ,O=s.pid,w=s.ind,S=s.thumb,C=s.exifObj,_=function(e,t,n){a.isAjaxUpload?a._showFileError(e,t,n):a._showError(e,t,n),a._setPreviewError(S)},k=a.fileManager.getFile(n),j={id:O,index:w,fileId:n},A=[n,O,w];if((!k||!f||c<=h&&r<=d)&&(f&&k&&a._raise("fileimageresized",A),o.val++,o.val===i&&a._raise("fileimagesresized"),!f)){_(a.msgImageResizeError,j,"fileimageresizeerror");return}m=m||a.resizeDefaultImageType,p=c>h,g=r>d,a.resizePreference==="width"?u=p?h/c:g?d/r:1:u=g?d/r:p?h/c:1,a._resetCanvas(),c*=u,r*=u,v.width=c,v.height=r;try{M.drawImage(b,0,0,c,r),l=v.toDataURL(m,a.resizeQuality),C&&(E=window.piexif.dump(C),l=window.piexif.insert(E,l)),y=t.dataURI2Blob(l),a.fileManager.setFile(n,y),a._raise("fileimageresized",A),o.val++,o.val===i&&a._raise("fileimagesresized",[void 0,void 0]),y instanceof Blob||_(a.msgImageResizeError,j,"fileimageresizeerror")}catch(e){o.val++,o.val===i&&a._raise("fileimagesresized",[void 0,void 0]),x=a.msgImageResizeException.replace("{errors}",e.message),_(x,j,"fileimageresizeexception")}},_showProgress:function(){var e=this;e.$progress&&e.$progress.length&&e.$progress.show()},_hideProgress:function(){var e=this;e.$progress&&e.$progress.length&&e.$progress.hide()},_initBrowse:function(e){var n=this,s=n.$element;n.showBrowse?n.$btnFile=e.find(".btn-file").append(s):(s.appendTo(e).attr("tabindex",-1),t.addCss(s,"file-no-browse"))},_initClickable:function(){var s,o,n=this;if(!n.isClickable)return;s=n.$dropZone,n.isAjaxUpload||(o=n.$preview.find(".file-default-preview"),o.length&&(s=o)),t.addCss(s,"clickable"),s.attr("tabindex",-1),n._handler(s,"click",function(t){var o=e(t.target);!e(n.elErrorContainer+":visible").length&&(!o.parents(".file-preview-thumbnails").length||o.parents(".file-default-preview").length)&&(n.$element.data("zoneClicked",!0).trigger("click"),s.blur())})},_initCaption:function(){var e=this,n=e.initialCaption||"";return e.overwriteInitial||t.isEmpty(n)?(e.$caption.val(""),!1):(e._setCaption(n),!0)},_setCaption:function(n,s){var i,a,r,c,l,d,o=this;if(!o.$caption.length)return;if(o.$captionContainer.removeClass("icon-visible"),s)i=e("
    "+o.msgValidationError+"
    ").text(),a=o.fileManager.count(),a?(d=o.fileManager.getFirstFile(),l=a===1&&d?d.nameFmt:o._getMsgSelected(a)):l=o._getMsgSelected(o.msgNo),r=t.isEmpty(n)?l:n,c=''+o.msgValidationErrorIcon+"";else{if(t.isEmpty(n))return;i=e("
    "+n+"
    ").text(),r=i,c=o._getLayoutTemplate("fileIcon")}o.$captionContainer.addClass("icon-visible"),o.$caption.attr("title",i).val(r),t.setHtml(o.$captionIcon,c)},_createContainer:function(){var e=this,s={class:"file-input file-input-new"+(e.rtl?" kv-rtl":"")},n=t.createElement(t.cspBuffer.stash(e._renderMain()));return t.cspBuffer.apply(n),n.insertBefore(e.$element).attr(s),e._initBrowse(n),e.theme&&n.addClass("theme-"+e.theme),n},_refreshContainer:function(){var e=this,n=e.$container,s=e.$element;s.insertAfter(n),t.setHtml(n,e._renderMain()),e._initBrowse(n),e._validateDisabled()},_validateDisabled:function(){var e=this;e.$caption.attr({readonly:e.isDisabled})},_renderMain:function(){var e=this,t=e.dropZoneEnabled?" file-drop-zone":"file-drop-disabled",n=e.showClose?e._getLayoutTemplate("close"):"",s=e.showPreview?e._getLayoutTemplate("preview").setTokens({class:e.previewClass,dropClass:t}):"",o=e.isDisabled?e.captionClass+" file-caption-disabled":e.captionClass,i=e.captionTemplate.setTokens({class:o+" kv-fileinput-caption"});return e.mainTemplate.setTokens({class:e.mainClass+(!e.showBrowse&&e.showCaption?" no-browse":""),preview:s,close:n,caption:i,upload:e._renderButton("upload"),remove:e._renderButton("remove"),cancel:e._renderButton("cancel"),pause:e._renderButton("pause"),browse:e._renderButton("browse")})},_renderButton:function(e){var n=this,i=n._getLayoutTemplate("btnDefault"),s=n[e+"Class"],r=n[e+"Title"],c=n[e+"Icon"],o=n[e+"Label"],l=n.isDisabled?" disabled":"",a="button";switch(e){case"remove":if(!n.showRemove)return"";break;case"cancel":if(!n.showCancel)return"";s+=" kv-hidden";break;case"pause":if(!n.showPause)return"";s+=" kv-hidden";break;case"upload":if(!n.showUpload)return"";n.isAjaxUpload&&!n.isDisabled?i=n._getLayoutTemplate("btnLink").replace("{href}",n.uploadUrl):a="submit";break;case"browse":if(!n.showBrowse)return"";i=n._getLayoutTemplate("btnBrowse");break;default:return""}return s+=e==="browse"?" btn-file":" fileinput-"+e+" fileinput-"+e+"-button",t.isEmpty(o)||(o=' '+o+""),i.setTokens({type:a,css:s,title:r,status:l,icon:c,label:o})},_renderThumbProgress:function(){var e=this;return'
    '+e.progressInfoTemplate.setTokens({percent:101,status:e.msgUploadBegin,stats:""})+"
    "},_renderFileFooter:function(e,n,s,o,i){var c,l,a=this,r=a.fileActionSettings,m=r.showRemove,d=r.showDrag,h=r.showUpload,u=r.showZoom,f=a._getLayoutTemplate("footer"),p=a._getLayoutTemplate("indicator"),g=i?r.indicatorError:r.indicatorNew,v=i?r.indicatorErrorTitle:r.indicatorNewTitle,b=p.setTokens({indicator:g,indicatorTitle:v});return s=a._getSize(s),c={type:e,caption:n,size:s,width:o,progress:"",indicator:b},a.isAjaxUpload?(c.progress=a._renderThumbProgress(),c.actions=a._renderFileActions(c,h,!1,m,u,d,!1,!1,!1)):c.actions=a._renderFileActions(c,!1,!1,!1,u,d,!1,!1,!1),l=f.setTokens(c),l=t.replaceTags(l,a.previewThumbTags),l},_renderFileActions:function(e,t,n,s,o,i,a,r,c,l,d,u){if(m=this,!e.type&&l&&(e.type="image"),m.enableResumableUpload?t=!1:typeof t=="function"&&(t=t(e)),typeof n=="function"&&(n=n(e)),typeof s=="function"&&(s=s(e)),typeof o=="function"&&(o=o(e)),typeof i=="function"&&(i=i(e)),!t&&!n&&!s&&!o&&!i)return"";var m,g,w=r===!1?"":' data-url="'+r+'"',y="",b="",v=c===!1?"":' data-key="'+c+'"',p="",j="",f="",_=m._getLayoutTemplate("actions"),h=m.fileActionSettings,O=m.otherActionButtons.setTokens({dataKey:v,key:c}),x=a?h.removeClass+" disabled":h.removeClass;return s&&(p=m._getLayoutTemplate("actionDelete").setTokens({removeClass:x,removeIcon:h.removeIcon,removeTitle:h.removeTitle,dataUrl:w,dataKey:v,key:c})),t&&(j=m._getLayoutTemplate("actionUpload").setTokens({uploadClass:h.uploadClass,uploadIcon:h.uploadIcon,uploadTitle:h.uploadTitle})),n&&(f=m._getLayoutTemplate("actionDownload").setTokens({downloadClass:h.downloadClass,downloadIcon:h.downloadIcon,downloadTitle:h.downloadTitle,downloadUrl:d||m.initialPreviewDownloadUrl}),f=f.setTokens({filename:u,key:c})),o&&(y=m._getLayoutTemplate("actionZoom").setTokens({zoomClass:h.zoomClass,zoomIcon:h.zoomIcon,zoomTitle:h.zoomTitle})),i&&l&&(g="drag-handle-init "+h.dragClass,b=m._getLayoutTemplate("actionDrag").setTokens({dragClass:g,dragTitle:h.dragTitle,dragIcon:h.dragIcon})),_.setTokens({delete:p,upload:j,download:f,zoom:y,drag:b,other:O})},_browse:function(e){var t=this;if(e&&e.isDefaultPrevented()||!t._raise("filebrowse"))return;t.isError&&!t.isAjaxUpload&&t.clear(),t.focusCaptionOnBrowse&&t.$captionContainer.focus()},_change:function(n){if(s=this,s.changeTriggered)return;var s,a,r,l,u,f=s.$element,b=arguments.length>1,i=s.isAjaxUpload,d=b?arguments[1]:f[0].files,h=s.fileManager.count(),m=t.isEmpty(f.attr("multiple")),o=!i&&m?1:s.maxFileCount,c=s.maxTotalFileCount,p=c>0&&c>o,g=m&&h>0,j=function(t,n,o,a){var r=e.extend(!0,{},s._getOutData(null,{},{},d),{id:o,index:a}),c={id:o,index:a,file:n,files:d};return s.isPersistentError=!0,i?s._showFileError(t,r):s._showError(t,c)},v=function(e,t,n){var o=n?s.msgTotalFilesTooMany:s.msgFilesTooMany,o=o.replace("{m}",t).replace("{n}",e);s.isError=j(o,null,null,null),s.$captionContainer.removeClass("icon-visible"),s._setCaption("",!0),s.$container.removeClass("file-input-new file-input-ajax-new")};if(s.reader=null,s._resetUpload(),s._hideFileIcon(),s.dropZoneEnabled&&s.$container.find(".file-drop-zone ."+s.dropZoneTitleClass).remove(),i||(n.target&&n.target.files===void 0?d=n.target.value?[{name:n.target.value.replace(/^.+\\/,"")}]:[]:d=n.target.files||{}),l=d,t.isEmpty(l)||l.length===0){i||s.clear(),s._raise("fileselectnone");return}if(s._resetErrors(),a=l.length,u=i?s.fileManager.count()+a:a,r=s._getFileCount(u,!p&&void 0),o>0&&r>o){if(!s.autoReplace||a>o){v(s.autoReplace&&a>o?a:r,o);return}r>o&&s._resetPreviewThumbs(i)}else{if(p&&(r=s._getFileCount(u,!0),c>0&&r>c)){if(!s.autoReplace||a>o){v(s.autoReplace&&a>c?a:r,c,!0);return}r>o&&s._resetPreviewThumbs(i)}!i||g?(s._resetPreviewThumbs(!1),g&&s.clearFileStack()):i&&h===0&&(!s.previewCache.count(!0)||s.overwriteInitial)&&s._resetPreviewThumbs(!0)}s.readFiles(l)},_abort:function(t){var s,n=this;return n.ajaxAborted&&typeof n.ajaxAborted=="object"&&n.ajaxAborted.message!==void 0?(s=e.extend(!0,{},n._getOutData(null),t),s.abortData=n.ajaxAborted.data||{},s.abortMessage=n.ajaxAborted.message,n._setProgress(101,n.$progress,n.msgCancelled),n._showFileError(n.ajaxAborted.message,s,"filecustomerror"),n.cancel(),!0):!!n.ajaxAborted},_resetFileStack:function(){var t=this,n=0;t._getThumbs().each(function(){var s=e(this),o=s.attr("data-fileindex"),i=s.attr("id");if(o==="-1"||o===-1)return;t.fileManager.getFile(s.attr("data-fileid"))?s.attr({"data-fileindex":"-1"}):(s.attr({"data-fileindex":n}),n++),t._getZoom(i).attr({"data-fileindex":s.attr("data-fileindex")})})},_isFileSelectionValid:function(e){var t=this;return e=e||0,t.required&&!t.getFilesCount()?(t.$errorContainer.html(""),t._showFileError(t.msgFileRequired),!1):!(t.minFileCount>0&&t._getFileCount(e)i;return!m&&(g||p||f)},addToStack:function(e,t){this.fileManager.add(e,t)},clearFileStack:function(){var e=this;return e.fileManager.clear(),e._initResumableUpload(),e.enableResumableUpload?(e.showPause===null&&(e.showPause=!0),e.showCancel===null&&(e.showCancel=!1)):(e.showPause=!1,e.showCancel===null&&(e.showCancel=!0)),e.$element},getFileStack:function(){return this.fileManager.stack},getFileList:function(){return this.fileManager.list()},getFilesCount:function(e){var t=this,n=t.isAjaxUpload?t.fileManager.count():t._inputFileCount();return e&&(n+=t.previewCache.count(!0)),t._getFileCount(n)},readFiles:function(n){this.reader=new FileReader;var r,s=this,i=s.reader,u=s.$previewContainer,c=s.$previewStatus,g=s.msgLoading,m=s.msgProgress,p=s.previewInitId,o=n.length,d=s.fileTypeSettings,a=s.allowedFileTypes,f=a?a.length:0,l=s.allowedFileExtensions,v=t.isEmpty(l)?"":l.join(", "),h=function(t,i,a,c,l){var d,u=e.extend(!0,{},s._getOutData(null,{},{},n),{id:a,index:c,fileId:l}),h={id:a,index:c,fileId:l,file:i,files:n};s._previewDefault(i,!0),d=s._getFrame(a,!0),s.isAjaxUpload?setTimeout(function(){r(c+1)},s.processDelay):(s.unlock(),o=0),s.removeFromPreviewOnError&&d.length?d.remove():(s._initFileActions(),d.find(".kv-file-upload").remove()),s.isPersistentError=!0,s.isError=s.isAjaxUpload?s._showFileError(t,u):s._showError(t,h),s._updateFileDetails(o)};s.fileManager.clearImages(),e.each(n,function(e,t){var n=s.fileTypeSettings.image;n&&n(t.type)&&s.fileManager.totalImages++}),r=function(b){if(E=s.$errorContainer,C=s.fileManager,b>=o){s.unlock(),s.duplicateErrors.length&&(N="
  • "+s.duplicateErrors.join("
  • ")+"
  • ",E.find("ul").length===0?t.setHtml(E,s.errorCloseButton+"
      "+N+"
    "):E.find("ul").append(N),E.fadeIn(s.fadeDelay),s._handler(E.find(".kv-error-close"),"click",function(){E.fadeOut(s.fadeDelay)}),s.duplicateErrors=[]),s.isAjaxUpload?(s._raise("filebatchselected",[C.stack]),C.count()===0&&!s.isError&&s.reset()):s._raise("filebatchselected",[n]),u.removeClass("file-thumb-loading"),c.html("");return}s.lock(!0);var _,w,x,C,E,k,S,M,F,T,z,D,N,W,K,q,j=n[b],P=s._getFileId(j),O=p+"-"+P,Y=d.text,I=d.image,G=d.html,y=s._getFileName(j,""),L=(j&&j.size||0)/1e3,R="",V=t.createObjectURL(j),A=0,B="",H=!1,$=0,U=function(){var e=m.setTokens({index:b+1,files:o,percent:50,name:y});setTimeout(function(){c.html(e),s._updateFileDetails(o),r(b+1)},s.processDelay),s._raise("fileloaded",[j,O,P,b,i])&&s.isAjaxUpload&&C.add(j)};if(!j)return;if(x=C.getId(j),f>0)for(w=0;w0&&L>s.maxFileSize){_=s.msgSizeTooLarge.setTokens({name:y,size:k,maxSize:s.maxFileSize}),h(_,j,O,b,x);return}if(s.minFileSize!==null&&L<=t.getNum(s.minFileSize)){_=s.msgSizeTooSmall.setTokens({name:y,size:k,minSize:s.minFileSize}),h(_,j,O,b,x);return}if(!t.isEmpty(a)&&t.isArray(a)){for(w=0;w0)for(n=0;n0)for(s=0;s0?n.initialCaption:"",n.$caption.attr("title","").val(s),t.addCss(n.$container,"file-input-new"),n._validateDefaultPreview()),n.$container.find(t.FRAMES).length===0&&(n._initCaption()||n.$captionContainer.removeClass("icon-visible")),n._hideFileIcon(),n.focusCaptionOnClear&&n.$captionContainer.focus(),n._setFileDropZoneTitle(),n._raise("filecleared"),n.$element},reset:function(){var e=this;if(!e._raise("filereset"))return;return e.lastProgress=0,e._resetPreview(),e.$container.find(".fileinput-filename").text(""),t.addCss(e.$container,"file-input-new"),e.getFrames().length&&e.$container.removeClass("file-input-new"),e.clearFileStack(),e._setFileDropZoneTitle(),e.$element},disable:function(){var e=this,n=e.$container;return e.isDisabled=!0,e._raise("filedisabled"),e.$element.attr("disabled","disabled"),n.addClass("is-locked"),t.addCss(n.find(".btn-file"),"disabled"),n.find(".kv-fileinput-caption").addClass("file-caption-disabled"),n.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").attr("disabled",!0),e._initDragDrop(),e.$element},enable:function(){var e=this,t=e.$container;return e.isDisabled=!1,e._raise("fileenabled"),e.$element.removeAttr("disabled"),t.removeClass("is-locked"),t.find(".kv-fileinput-caption").removeClass("file-caption-disabled"),t.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").removeAttr("disabled"),t.find(".btn-file").removeClass("disabled"),e._initDragDrop(),e.$element},upload:function(){var o,a,n=this,i=n.fileManager,s=i.count(),r=!e.isEmptyObject(n._getExtraData());if(!n.isAjaxUpload||n.isDisabled||!n._isFileSelectionValid(s))return;if(n.lastProgress=0,n._resetUpload(),s===0&&!r){n._showFileError(n.msgUploadEmpty);return}if(n.cancelling=!1,n._showProgress(),n.lock(),s===0&&r){n._setProgress(2),n._uploadExtraOnly();return}if(n.enableResumableUpload)return n.resume();if((n.uploadAsync||n.enableResumableUpload)&&(a=n._getOutData(null),n._raise("filebatchpreupload",[a]),n.fileBatchCompleted=!1,n.uploadCache=[],e.each(n.getFileStack(),function(e){var t=n._getThumbId(e);n.uploadCache.push({id:t,content:null,config:null,tags:null,append:!0})}),n.$preview.find(".file-preview-initial").removeClass(t.SORT_CSS),n._initSortable()),n._setProgress(2),n.hasInitData=!1,n.uploadAsync){o=0,e.each(i.stack,function(e){n._uploadSingle(o,e,!0),o++});return}return n._uploadBatch(),n.$element},destroy:function(){var t=this,s=t.$form,o=t.$container,i=t.$element,n=t.namespace;return e(document).off(n),e(window).off(n),s&&s.length&&s.off(n),t.isAjaxUpload&&t._clearFileInput(),t._cleanup(),t._initPreviewCache(),i.insertBefore(o).off(n).removeData(),o.off().remove(),i},refresh:function(n){var s=this,o=s.$element;return typeof n!="object"||t.isEmpty(n)?n=s.options:n=e.extend(!0,{},s.options,n),s._init(n,!0),s._listen(),o},zoom:function(e){var t=this,n=t._getFrame(e);t._showModal(n)},getExif:function(e){var n=this,t=n._getFrame(e);return t&&t.data("exif")||null},getFrames:function(n){var s,o=this;return n=n||"",s=o.$preview.find(t.FRAMES+n),o.reversePreviewOrder&&(s=e(s.get().reverse())),s},getPreview:function(){var e=this;return{content:e.initialPreview,config:e.initialPreviewConfig,tags:e.initialPreviewThumbTags}}},e.fn.fileinput=function(s){if(!t.hasFileAPISupport()&&!t.isIE(9))return;var i=Array.apply(null,arguments),o=[];switch(i.shift(),this.each(function(){var m,a=e(this),r=a.data("fileinput"),c=typeof s=="object"&&s,d=c.theme||a.data("theme"),u={},h={},l=c.language||a.data("language")||e.fn.fileinput.defaults.language||"en";r||(d&&(h=e.fn.fileinputThemes[d]||{}),l!=="en"&&!t.isEmpty(e.fn.fileinputLocales[l])&&(u=e.fn.fileinputLocales[l]||{}),m=e.extend(!0,{},e.fn.fileinput.defaults,h,e.fn.fileinputLocales.en,u,c,a.data()),r=new n(this,m),a.data("fileinput",r)),typeof s=="string"&&o.push(r[s].apply(r,i))}),o.length){case 0:return this;case 1:return o[0];default:return o}};var t,n,s='class="kv-preview-data file-preview-pdf" src="{renderer}?file={data}" {style}';e.fn.fileinput.defaults={language:"en",showCaption:!0,showBrowse:!0,showPreview:!0,showRemove:!0,showUpload:!0,showUploadStats:!0,showCancel:null,showPause:null,showClose:!0,showUploadedThumbs:!0,showConsoleLogs:!1,browseOnZoneClick:!1,autoReplace:!1,autoOrientImage:function(){var e=window.navigator.userAgent,t=!!e.match(/WebKit/i),n=!!e.match(/iP(od|ad|hone)/i),s=n&&t&&!e.match(/CriOS/i);return!s},autoOrientImageInitial:!0,required:!1,rtl:!1,hideThumbnailContent:!1,encodeUrl:!0,focusCaptionOnBrowse:!0,focusCaptionOnClear:!0,generateFileId:null,previewClass:"",captionClass:"",frameClass:"krajee-default",mainClass:"file-caption-main",mainTemplate:null,fileSizeGetter:null,initialCaption:"",initialPreview:[],initialPreviewDelimiter:"*$$*",initialPreviewAsData:!1,initialPreviewFileType:"image",initialPreviewConfig:[],initialPreviewThumbTags:[],previewThumbTags:{},initialPreviewShowDelete:!0,initialPreviewDownloadUrl:"",removeFromPreviewOnError:!1,deleteUrl:"",deleteExtraData:{},overwriteInitial:!0,sanitizeZoomCache:function(e){var n=t.createElement(e);return n.find("input,textarea,select,datalist,form,.file-thumbnail-footer").remove(),n.html()},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewZoomButtonClasses:{prev:"btn btn-navigate",next:"btn btn-navigate",toggleheader:"btn btn-sm btn-kv btn-default btn-outline-secondary",fullscreen:"btn btn-sm btn-kv btn-default btn-outline-secondary",borderless:"btn btn-sm btn-kv btn-default btn-outline-secondary",close:"btn btn-sm btn-kv btn-default btn-outline-secondary"},previewTemplates:{},previewContentTemplates:{},preferIconicPreview:!1,preferIconicZoomPreview:!1,allowedFileTypes:null,allowedFileExtensions:null,allowedPreviewTypes:void 0,allowedPreviewMimeTypes:null,allowedPreviewExtensions:null,disabledPreviewTypes:void 0,disabledPreviewExtensions:["msi","exe","com","zip","rar","app","vb","scr"],disabledPreviewMimeTypes:null,defaultPreviewContent:null,customLayoutTags:{},customPreviewTags:{},previewFileIcon:'',previewFileIconClass:"file-other-icon",previewFileIconSettings:{},previewFileExtSettings:{},buttonLabelClass:"hidden-xs",browseIcon:' ',browseClass:"btn btn-primary",removeIcon:'',removeClass:"btn btn-default btn-secondary",cancelIcon:'',cancelClass:"btn btn-default btn-secondary",pauseIcon:'',pauseClass:"btn btn-default btn-secondary",uploadIcon:'',uploadClass:"btn btn-default btn-secondary",uploadUrl:null,uploadUrlThumb:null,uploadAsync:!0,uploadParamNames:{chunkCount:"chunkCount",chunkIndex:"chunkIndex",chunkSize:"chunkSize",chunkSizeStart:"chunkSizeStart",chunksUploaded:"chunksUploaded",fileBlob:"fileBlob",fileId:"fileId",fileName:"fileName",fileRelativePath:"fileRelativePath",fileSize:"fileSize",retryCount:"retryCount"},maxAjaxThreads:5,fadeDelay:800,processDelay:100,queueDelay:10,progressDelay:0,enableResumableUpload:!1,resumableUploadOptions:{fallback:null,testUrl:null,chunkSize:2*1024,maxThreads:4,maxRetries:3,showErrorLog:!0},uploadExtraData:{},zoomModalHeight:480,minImageWidth:null,minImageHeight:null,maxImageWidth:null,maxImageHeight:null,resizeImage:!1,resizePreference:"width",resizeQuality:.92,resizeDefaultImageType:"image/jpeg",resizeIfSizeMoreThan:0,minFileSize:-1,maxFileSize:0,maxFilePreviewSize:25600,minFileCount:0,maxFileCount:0,maxTotalFileCount:0,validateInitialCount:!1,msgValidationErrorClass:"text-danger",msgValidationErrorIcon:' ',msgErrorClass:"file-error-message",progressThumbClass:"progress-bar progress-bar-striped active progress-bar-animated",progressClass:"progress-bar bg-success progress-bar-success progress-bar-striped active progress-bar-animated",progressInfoClass:"progress-bar bg-info progress-bar-info progress-bar-striped active progress-bar-animated",progressCompleteClass:"progress-bar bg-success progress-bar-success",progressPauseClass:"progress-bar bg-primary progress-bar-primary progress-bar-striped active progress-bar-animated",progressErrorClass:"progress-bar bg-danger progress-bar-danger",progressUploadThreshold:99,previewFileType:"image",elCaptionContainer:null,elCaptionText:null,elCaptionLabelText:null,elPreviewContainer:null,elPreviewImage:null,elPreviewStatus:null,elErrorContainer:null,errorCloseButton:t.closeButton("kv-error-close"),slugCallback:null,dropZoneEnabled:!0,dropZoneTitleClass:"file-drop-zone-title",fileActionSettings:{},otherActionButtons:"",textEncoding:"UTF-8",preProcessUpload:null,ajaxSettings:{},ajaxDeleteSettings:{},showAjaxErrorDetails:!0,mergeAjaxCallbacks:!1,mergeAjaxDeleteCallbacks:!1,retryErrorUploads:!0,reversePreviewOrder:!1,usePdfRenderer:function(){var e=!!window.MSInputMethodContext&&!!document.documentMode;return!!navigator.userAgent.match(/(iPod|iPhone|iPad|Android)/i)||e},pdfRendererUrl:"",pdfRendererTemplate:""},e.fn.fileinputLocales.en={fileSingle:"file",filePlural:"files",browseLabel:"Browse …",removeLabel:"Remove",removeTitle:"Clear all unprocessed files",cancelLabel:"Cancel",cancelTitle:"Abort ongoing upload",pauseLabel:"Pause",pauseTitle:"Pause ongoing upload",uploadLabel:"Upload",uploadTitle:"Upload selected files",msgNo:"No",msgNoFilesSelected:"No files selected",msgCancelled:"Cancelled",msgPaused:"Paused",msgPlaceholder:"Select {files} ...",msgZoomModalHeading:"Detailed Preview",msgFileRequired:"You must select a file to upload.",msgSizeTooSmall:'File "{name}" ({size} KB) is too small and must be larger than {minSize} KB.',msgSizeTooLarge:'File "{name}" ({size} KB) exceeds maximum allowed upload size of {maxSize} KB.',msgFilesTooLess:"You must select at least {n} {files} to upload.",msgFilesTooMany:"Number of files selected for upload ({n}) exceeds maximum allowed limit of {m}.",msgTotalFilesTooMany:"You can upload a maximum of {m} files ({n} files detected).",msgFileNotFound:'File "{name}" not found!',msgFileSecured:'Security restrictions prevent reading the file "{name}".',msgFileNotReadable:'File "{name}" is not readable.',msgFilePreviewAborted:'File preview aborted for "{name}".',msgFilePreviewError:'An error occurred while reading the file "{name}".',msgInvalidFileName:'Invalid or unsupported characters in file name "{name}".',msgInvalidFileType:'Invalid type for file "{name}". Only "{types}" files are supported.',msgInvalidFileExtension:'Invalid extension for file "{name}". Only "{extensions}" files are supported.',msgFileTypes:{image:"image",html:"HTML",text:"text",video:"video",audio:"audio",flash:"flash",pdf:"PDF",object:"object"},msgUploadAborted:"The file upload was aborted",msgUploadThreshold:"Processing …",msgUploadBegin:"Initializing …",msgUploadEnd:"Done",msgUploadResume:"Resuming upload …",msgUploadEmpty:"No valid data available for upload.",msgUploadError:"Upload Error",msgDeleteError:"Delete Error",msgProgressError:"Error",msgValidationError:"Validation Error",msgLoading:"Loading file {index} of {files} …",msgProgress:"Loading file {index} of {files} - {name} - {percent}% completed.",msgSelected:"{n} {files} selected",msgFoldersNotAllowed:"Drag & drop files only! {n} folder(s) dropped were skipped.",msgImageWidthSmall:'Width of image file "{name}" must be at least {size} px.',msgImageHeightSmall:'Height of image file "{name}" must be at least {size} px.',msgImageWidthLarge:'Width of image file "{name}" cannot exceed {size} px.',msgImageHeightLarge:'Height of image file "{name}" cannot exceed {size} px.',msgImageResizeError:"Could not get the image dimensions to resize.",msgImageResizeException:"Error while resizing the image.
    {errors}
    ",msgAjaxError:"Something went wrong with the {operation} operation. Please try again later!",msgAjaxProgressError:"{operation} failed",msgDuplicateFile:'File "{name}" of same size "{size} KB" has already been selected earlier. Skipping duplicate selection.',msgResumableUploadRetriesExceeded:"Upload aborted beyond {max} retries for file {file}! Error Details:
    {error}
    ",msgPendingTime:"{time} remaining",msgCalculatingTime:"calculating time remaining",ajaxOperations:{deleteThumb:"file delete",uploadThumb:"file upload",uploadBatch:"batch file upload",uploadExtra:"form data upload"},dropZoneTitle:"Drag & drop files here …",dropZoneClickTitle:"
    (or click to select {files})",previewZoomButtonTitles:{prev:"View previous file",next:"View next file",toggleheader:"Toggle header",fullscreen:"Toggle full screen",borderless:"Toggle borderless mode",close:"Close detailed preview"}},e.fn.fileinput.Constructor=n,e(document).ready(function(){var t=e("input.file[type=file]");t.length&&t.fileinput()})}); /*! +<<<<<<< HEAD * bootstrap-fileinput v5.1.3 * http://plugins.krajee.com/file-input * @@ -336,6 +343,20 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] */(function(e){"use strict";e.fn.fileinputThemes.fas={fileActionSettings:{removeIcon:'',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:''},layoutTemplates:{fileIcon:' '},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' '}})(window.jQuery); if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daIsEmpty,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,daIsEmpty=1,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()})},500),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daNewCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daIsEmpty&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})}function daResizeCanvas(){setTimeout(function(){var e=$("#dasigcanvas")[0],t=e.getContext("2d"),n=t.getImageData(0,0,e.width,e.height);daNewCanvas(),t=$("#dasigcanvas")[0].getContext("2d"),t.putImageData(n,0,0)},200)}function daSaveCanvas(){var e=document.getElementById("dasigcanvas").toDataURL();daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o
    ',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:'',},layoutTemplates:{fileIcon:' ',},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:'',},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' ',};})(window.jQuery); +if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daSigPad,daPrevCanvasWidth,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),daPrevCanvasWidth=$("#dasigcanvas").width(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()}),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daClearCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daCanvasIsEmpty()&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})},500)}function daClearCanvas(){daSigPad.clear()}function daCanvasIsEmpty(){return daSigPad.isEmpty()}function daResizeCanvas(){setTimeout(function(){var e,n,t=daSigPad.toData();daNewCanvas(),e=$("#dasigcanvas").width(),n=e/daPrevCanvasWidth,daPrevCanvasWidth=e,daScaleSignaturePad(t,n),daSigPad.fromData(t)},200)}function daScaleSignaturePad(e,t){e.forEach(e=>{e.points.forEach(e=>{e.x*=t,e.y*=t})})}function daSaveCanvas(){var e=daSigPad.toDataURL("image/png");daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),daSigPad=new SignaturePad($("#dasigcanvas")[0],{dotSize:daTheWidth/1.75,maxWidth:daTheWidth,penColor:daColor}),setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o>>>>>> ca725c692 (Use signature_pad to make sure to capture the full signature image) /*! * LABELAUTY jQuery Plugin * diff --git a/docassemble_webapp/docassemble/webapp/static/app/bundlewrapjquery.js b/docassemble_webapp/docassemble/webapp/static/app/bundlewrapjquery.js index 133f02fe1..37321767d 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/bundlewrapjquery.js +++ b/docassemble_webapp/docassemble/webapp/static/app/bundlewrapjquery.js @@ -1,4 +1,10 @@ -(function($) {/*! jQuery Validation Plugin - v1.19.5 - 7/1/2022 +(function($) {/*! + * Signature Pad v4.0.0 | https://github.com/szimek/signature_pad + * (c) 2021 Szymon Nowak | Released under the MIT license + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SignaturePad=e()}(this,(function(){"use strict";class t{constructor(t,e,i,n){if(isNaN(t)||isNaN(e))throw new Error(`Point is invalid: (${t}, ${e})`);this.x=+t,this.y=+e,this.pressure=i||0,this.time=n||Date.now()}distanceTo(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))}equals(t){return this.x===t.x&&this.y===t.y&&this.pressure===t.pressure&&this.time===t.time}velocityFrom(t){return this.time!==t.time?this.distanceTo(t)/(this.time-t.time):0}}class e{constructor(t,e,i,n,s,o){this.startPoint=t,this.control2=e,this.control1=i,this.endPoint=n,this.startWidth=s,this.endWidth=o}static fromPoints(t,i){const n=this.calculateControlPoints(t[0],t[1],t[2]).c2,s=this.calculateControlPoints(t[1],t[2],t[3]).c1;return new e(t[1],n,s,t[2],i.start,i.end)}static calculateControlPoints(e,i,n){const s=e.x-i.x,o=e.y-i.y,h=i.x-n.x,r=i.y-n.y,a=(e.x+i.x)/2,d=(e.y+i.y)/2,l=(i.x+n.x)/2,c=(i.y+n.y)/2,u=Math.sqrt(s*s+o*o),v=Math.sqrt(h*h+r*r),m=v/(u+v),_=l+(a-l)*m,p=c+(d-c)*m,g=i.x-_,x=i.y-p;return{c1:new t(a+g,d+x),c2:new t(l+g,c+x)}}length(){let t,e,i=0;for(let n=0;n<=10;n+=1){const s=n/10,o=this.point(s,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),h=this.point(s,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(n>0){const n=o-t,s=h-e;i+=Math.sqrt(n*n+s*s)}t=o,e=h}return i}point(t,e,i,n,s){return e*(1-t)*(1-t)*(1-t)+3*i*(1-t)*(1-t)*t+3*n*(1-t)*t*t+s*t*t*t}}class i extends EventTarget{constructor(t,e={}){super(),this.canvas=t,this.options=e,this._handleMouseDown=t=>{1===t.buttons&&(this._drawningStroke=!0,this._strokeBegin(t))},this._handleMouseMove=t=>{this._drawningStroke&&this._strokeMoveUpdate(t)},this._handleMouseUp=t=>{1===t.buttons&&this._drawningStroke&&(this._drawningStroke=!1,this._strokeEnd(t))},this._handleTouchStart=t=>{if(t.preventDefault(),1===t.targetTouches.length){const e=t.changedTouches[0];this._strokeBegin(e)}},this._handleTouchMove=t=>{t.preventDefault();const e=t.targetTouches[0];this._strokeMoveUpdate(e)},this._handleTouchEnd=t=>{if(t.target===this.canvas){t.preventDefault();const e=t.changedTouches[0];this._strokeEnd(e)}},this._handlePointerStart=t=>{this._drawningStroke=!0,t.preventDefault(),this._strokeBegin(t)},this._handlePointerMove=t=>{this._drawningStroke&&(t.preventDefault(),this._strokeMoveUpdate(t))},this._handlePointerEnd=t=>{this._drawningStroke=!1;t.target===this.canvas&&(t.preventDefault(),this._strokeEnd(t))},this.velocityFilterWeight=e.velocityFilterWeight||.7,this.minWidth=e.minWidth||.5,this.maxWidth=e.maxWidth||2.5,this.throttle="throttle"in e?e.throttle:16,this.minDistance="minDistance"in e?e.minDistance:5,this.dotSize=e.dotSize||0,this.penColor=e.penColor||"black",this.backgroundColor=e.backgroundColor||"rgba(0,0,0,0)",this._strokeMoveUpdate=this.throttle?function(t,e=250){let i,n,s,o=0,h=null;const r=()=>{o=Date.now(),h=null,i=t.apply(n,s),h||(n=null,s=[])};return function(...a){const d=Date.now(),l=e-(d-o);return n=this,s=a,l<=0||l>e?(h&&(clearTimeout(h),h=null),o=d,i=t.apply(n,s),h||(n=null,s=[])):h||(h=window.setTimeout(r,l)),i}}(i.prototype._strokeUpdate,this.throttle):i.prototype._strokeUpdate,this._ctx=t.getContext("2d"),this.clear(),this.on()}clear(){const{_ctx:t,canvas:e}=this;t.fillStyle=this.backgroundColor,t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._data=[],this._reset(),this._isEmpty=!0}fromDataURL(t,e={}){return new Promise((i,n)=>{const s=new Image,o=e.ratio||window.devicePixelRatio||1,h=e.width||this.canvas.width/o,r=e.height||this.canvas.height/o,a=e.xOffset||0,d=e.yOffset||0;this._reset(),s.onload=()=>{this._ctx.drawImage(s,a,d,h,r),i()},s.onerror=t=>{n(t)},s.crossOrigin="anonymous",s.src=t,this._isEmpty=!1})}toDataURL(t="image/png",e){switch(t){case"image/svg+xml":return this._toSVG();default:return this.canvas.toDataURL(t,e)}}on(){this.canvas.style.touchAction="none",this.canvas.style.msTouchAction="none",window.PointerEvent?this._handlePointerEvents():(this._handleMouseEvents(),"ontouchstart"in window&&this._handleTouchEvents())}off(){this.canvas.style.touchAction="auto",this.canvas.style.msTouchAction="auto",this.canvas.removeEventListener("pointerdown",this._handlePointerStart),this.canvas.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerEnd),this.canvas.removeEventListener("mousedown",this._handleMouseDown),this.canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this.canvas.removeEventListener("touchstart",this._handleTouchStart),this.canvas.removeEventListener("touchmove",this._handleTouchMove),this.canvas.removeEventListener("touchend",this._handleTouchEnd)}isEmpty(){return this._isEmpty}fromData(t,{clear:e=!0}={}){e&&this.clear(),this._fromData(t,this._drawCurve.bind(this),this._drawDot.bind(this)),this._data=e?t:this._data.concat(t)}toData(){return this._data}_strokeBegin(t){this.dispatchEvent(new CustomEvent("beginStroke",{detail:t}));const e={dotSize:this.dotSize,minWidth:this.minWidth,maxWidth:this.maxWidth,penColor:this.penColor,points:[]};this._data.push(e),this._reset(),this._strokeUpdate(t)}_strokeUpdate(t){if(0===this._data.length)return void this._strokeBegin(t);this.dispatchEvent(new CustomEvent("beforeUpdateStroke",{detail:t}));const e=t.clientX,i=t.clientY,n=void 0!==t.pressure?t.pressure:void 0!==t.force?t.force:0,s=this._createPoint(e,i,n),o=this._data[this._data.length-1],h=o.points,r=h.length>0&&h[h.length-1],a=!!r&&s.distanceTo(r)<=this.minDistance,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}=o;if(!r||!r||!a){const t=this._addPoint(s);r?t&&this._drawCurve(t,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}):this._drawDot(s,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}),h.push({time:s.time,x:s.x,y:s.y,pressure:s.pressure})}this.dispatchEvent(new CustomEvent("afterUpdateStroke",{detail:t}))}_strokeEnd(t){this._strokeUpdate(t),this.dispatchEvent(new CustomEvent("endStroke",{detail:t}))}_handlePointerEvents(){this._drawningStroke=!1,this.canvas.addEventListener("pointerdown",this._handlePointerStart),this.canvas.addEventListener("pointermove",this._handlePointerMove),document.addEventListener("pointerup",this._handlePointerEnd)}_handleMouseEvents(){this._drawningStroke=!1,this.canvas.addEventListener("mousedown",this._handleMouseDown),this.canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)}_handleTouchEvents(){this.canvas.addEventListener("touchstart",this._handleTouchStart),this.canvas.addEventListener("touchmove",this._handleTouchMove),this.canvas.addEventListener("touchend",this._handleTouchEnd)}_reset(){this._lastPoints=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor}_createPoint(e,i,n){const s=this.canvas.getBoundingClientRect();return new t(e-s.left,i-s.top,n,(new Date).getTime())}_addPoint(t){const{_lastPoints:i}=this;if(i.push(t),i.length>2){3===i.length&&i.unshift(i[0]);const t=this._calculateCurveWidths(i[1],i[2]),n=e.fromPoints(i,t);return i.shift(),n}return null}_calculateCurveWidths(t,e){const i=this.velocityFilterWeight*e.velocityFrom(t)+(1-this.velocityFilterWeight)*this._lastVelocity,n=this._strokeWidth(i),s={end:n,start:this._lastWidth};return this._lastVelocity=i,this._lastWidth=n,s}_strokeWidth(t){return Math.max(this.maxWidth/(t+1),this.minWidth)}_drawCurveSegment(t,e,i){const n=this._ctx;n.moveTo(t,e),n.arc(t,e,i,0,2*Math.PI,!1),this._isEmpty=!1}_drawCurve(t,e){const i=this._ctx,n=t.endWidth-t.startWidth,s=2*Math.ceil(t.length());i.beginPath(),i.fillStyle=e.penColor;for(let i=0;i0?e.dotSize:(e.minWidth+e.maxWidth)/2;i.beginPath(),this._drawCurveSegment(t.x,t.y,n),i.closePath(),i.fillStyle=e.penColor,i.fill()}_fromData(e,i,n){for(const s of e){const{penColor:e,dotSize:o,minWidth:h,maxWidth:r,points:a}=s;if(a.length>1)for(let n=0;n{const i=document.createElement("path");if(!(isNaN(t.control1.x)||isNaN(t.control1.y)||isNaN(t.control2.x)||isNaN(t.control2.y))){const n=`M ${t.startPoint.x.toFixed(3)},${t.startPoint.y.toFixed(3)} C ${t.control1.x.toFixed(3)},${t.control1.y.toFixed(3)} ${t.control2.x.toFixed(3)},${t.control2.y.toFixed(3)} ${t.endPoint.x.toFixed(3)},${t.endPoint.y.toFixed(3)}`;i.setAttribute("d",n),i.setAttribute("stroke-width",(2.25*t.endWidth).toFixed(3)),i.setAttribute("stroke",e),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),s.appendChild(i)}},(t,{penColor:e,dotSize:i,minWidth:n,maxWidth:o})=>{const h=document.createElement("circle"),r=i>0?i:(n+o)/2;h.setAttribute("r",r.toString()),h.setAttribute("cx",t.x.toString()),h.setAttribute("cy",t.y.toString()),h.setAttribute("fill",e),s.appendChild(h)});const o=``;let h=s.innerHTML;if(void 0===h){const t=document.createElement("dummy"),e=s.childNodes;t.innerHTML="";for(let i=0;i")}}return i})); +//# sourceMappingURL=signature_pad.umd.min.js.map +/*! jQuery Validation Plugin - v1.19.5 - 7/1/2022 * https://jqueryvalidation.org/ * Copyright (c) 2022 Jörn Zaefferer; Licensed MIT */ !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.submitButton=b.currentTarget,a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.submitButton&&(c.settings.submitHandler||c.formSubmitted)&&(d=a("").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),!(c.settings.submitHandler&&!c.settings.debug)||(e=c.settings.submitHandler.call(c,c.currentForm,b),d&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0],k="undefined"!=typeof this.attr("contenteditable")&&"false"!==this.attr("contenteditable");if(null!=j&&(!j.form&&k&&(j.form=this.closest("form")[0],j.name=this.attr("name")),null!=j.form)){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(a,b){i[b]=f[b],delete f[b]}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g)),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}});var b=function(a){return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};a.extend(a.expr.pseudos||a.expr[":"],{blank:function(c){return!b(""+a(c).val())},filled:function(c){var d=a(c).val();return null!==d&&!!b(""+d)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");if(!this.form&&c&&(this.form=a(this).closest("form")[0],this.name=a(this).attr("name")),d===this.form){var e=a.data(this.form,"validator"),f="on"+b.type.replace(/^validate/,""),g=e.settings;g[f]&&!a(this).is(g.ignore)&&g[f].call(e,this,b)}}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.currentForm,e=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){e[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)void 0!==a[b]&&null!==a[b]&&a[b]!==!1&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").trigger("focus").trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name"),e="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),e&&(this.form=a(this).closest("form")[0],this.name=d),this.form===b.currentForm&&(!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0))})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type,g="undefined"!=typeof e.attr("contenteditable")&&"false"!==e.attr("contenteditable");return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=g?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f,g=a(b).rules(),h=a.map(g,function(a,b){return b}).length,i=!1,j=this.elementValue(b);"function"==typeof g.normalizer?f=g.normalizer:"function"==typeof this.settings.normalizer&&(f=this.settings.normalizer),f&&(j=f.call(b,j),delete g.normalizer);for(d in g){e={method:d,parameters:g[d]};try{if(c=a.validator.methods[d].call(this,j,b,e.parameters),"dependency-mismatch"===c&&1===h){i=!0;continue}if(i=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(k){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",k),k instanceof TypeError&&(k.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),k}}if(!i)return this.objectLength(g)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+b.name+""),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.name],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return void 0===a?"":a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()&&0===this.pendingRequest?(a(this.currentForm).trigger("submit"),this.submitButton&&a("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a["date"===b?"dateISO":c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),""===d&&(d=!0),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(a,d){b[a]="function"==typeof d&&"normalizer"!==a?d(c):d}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var a;b[this]&&(Array.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(a=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(a[0]),Number(a[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:void 0!==b&&null!==b&&b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})+(?::(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(){var a=!1;return function(b,c){return a||(a=!0,this.settings.debug&&window.console&&console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")),this.optional(c)||!/Invalid|NaN/.test(new Date(b).toString())}}(),dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d>=c},maxlength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d<=c},rangelength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d>=c[0]&&d<=c[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var c,d={};return a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,c){var e=a.port;"abort"===a.mode&&(d[e]&&d[e].abort(),d[e]=c)}):(c=a.ajax,a.ajax=function(b){var e=("mode"in b?b:a.ajaxSettings).mode,f=("port"in b?b:a.ajaxSettings).port;return"abort"===e?(d[f]&&d[f].abort(),d[f]=c.apply(this,arguments),d[f]):c.apply(this,arguments)}),a}); @@ -409,6 +415,7 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] `+g._getLayoutTemplate("zoomCache").replace("{zoomContent}",v),typeof g.sanitizeZoomCache=="function"&&(v=g.sanitizeZoomCache(v)),E=w(C?"other":n,s,!1,"kv-preview-thumb"),E.setTokens({zoomCache:v})},_addToPreview:function(e,n){var s,o=this;return n=t.cspBuffer.stash(n),s=o.reversePreviewOrder?e.prepend(n):e.append(n),t.cspBuffer.apply(e),s},_previewDefault:function(e,n){if(s=this,i=s.$preview,!s.showPreview)return;var s,i,a,l=t.getFileName(e),d=e?e.type:"",r=e.size||0,u=s._getFileName(e,""),h=n===!0&&!s.isAjaxUpload,m=t.createObjectURL(e),c=s.fileManager.getId(e),o=s._getThumbId(c);s._clearDefaultPreview(),a=s._generatePreviewTemplate("other",m,l,d,o,c,h,r),s._addToPreview(i,a),s._setThumbAttr(o,u,r),n===!0&&s.isAjaxUpload&&s._setThumbStatus(s._getFrame(o),"Error")},_previewFile:function(e,n,s,o,i){if(!this.showPreview)return;var p,a=this,u=t.getFileName(n),c=i.type,h=i.name,m=a._parseFileType(c,u),v=a.$preview,l=n.size||0,f=m==="image"?s.target.result:o,d=a.fileManager.getId(n),r=a._getThumbId(d),g=a._generatePreviewTemplate(m,f,u,c,r,d,!1,l);a._clearDefaultPreview(),a._addToPreview(v,g),p=a._getFrame(r),a._validateImageOrientation(p.find("img"),n,r,d,h,c,l,f),a._setThumbAttr(r,h,l),a._initSortable()},_setThumbAttr:function(e,t,n){var s=this,o=s._getFrame(e);o.length&&(n=n&&n>0?s._getSize(n):"",o.data({caption:t,size:n}))},_setInitThumbAttr:function(){var e,s,i,a,r,n=this,c=n.previewCache.data,o=n.previewCache.count(!0);if(o===0)return;for(e=0;e&"']/g,"_")},_updateFileDetails:function(e,n){var o,a,c,l,d,s=this,i=s.$element,r=t.isIE(9)&&t.findFileName(i.val())||i[0].files[0]&&i[0].files[0].name;!r&&s.fileManager.count()>0?(d=s.fileManager.getFirstFile(),o=d.nameFmt):o=r?s.slug(r):"_",a=s.isAjaxUpload?s.fileManager.count():e,l=s.previewCache.count(!0)+a,c=a===1?o:s._getMsgSelected(l),s.isError?(s.$previewContainer.removeClass("file-thumb-loading"),s.$previewStatus.html(""),s.$captionContainer.removeClass("icon-visible")):s._showFileIcon(),s._setCaption(c,s.isError),s.$container.removeClass("file-input-new file-input-ajax-new"),n||s._raise("fileselect",[e,o]),s.previewCache.count(!0)&&s._initPreviewActions()},_setThumbStatus:function(e,n){if(s=this,!s.showPreview)return;var s,o="indicator"+n,r=o+"Title",c="file-preview-"+n.toLowerCase(),i=e.find(".file-upload-indicator"),a=s.fileActionSettings;e.removeClass("file-preview-success file-preview-error file-preview-paused file-preview-loading"),n==="Success"&&e.find(".file-drag-handle").remove(),t.setHtml(i,a[o]),i.attr("title",a[r]),e.addClass(c),n==="Error"&&!s.retryErrorUploads&&e.find(".kv-file-upload").attr("disabled",!0)},_setProgressCancelled:function(){var e=this;e._setProgress(101,e.$progress,e.msgCancelled)},_setProgress:function(e,n,s,o){if(i=this,n=n||i.$progress,!n.length)return;var i,a,r=Math.min(e,100),c=i.progressUploadThreshold,d=e<=100?i.progressTemplate:i.progressCompleteTemplate,l=r<100?i.progressTemplate:s?i.paused?i.progressPauseTemplate:i.progressErrorTemplate:d;e>=100&&(o=""),t.isEmpty(l)||(c&&r>c&&e<=100?a=l.setTokens({percent:c,status:i.msgUploadThreshold}):a=l.setTokens({percent:r,status:e>100?i.msgUploadEnd:r+"%"}),o=o||"",a=a.setTokens({stats:o}),t.setHtml(n,a),s&&t.setHtml(n.find('[role="progressbar"]'),s))},_hasFiles:function(){var e=this.$element[0];return!!(e&&e.files&&e.files.length)},_setFileDropZoneTitle:function(){var o,e=this,n=e.$container.find(".file-drop-zone"),s=e.dropZoneTitle;if(e.isClickable&&(o=t.isEmpty(e.$element.attr("multiple"))?e.fileSingle:e.filePlural,s+=e.dropZoneClickTitle.replace("{files}",o)),n.find("."+e.dropZoneTitleClass).remove(),!e.showPreview||n.length===0||e.fileManager.count()>0||!e.dropZoneEnabled||e.previewCache.count()>0||!e.isAjaxUpload&&e._hasFiles())return;n.find(t.FRAMES).length===0&&t.isEmpty(e.defaultPreviewContent)&&n.prepend('
    '+s+"
    "),e.$container.removeClass("file-input-new"),t.addCss(e.$container,"file-input-ajax-new")},_getStats:function(e){var s,o,n=this;return!n.showUploadStats||!e||!e.bitrate?"":(o=n._getLayoutTemplate("stats"),s=!e.elapsed||!e.bps?n.msgCalculatingTime:n.msgPendingTime.setTokens({time:t.getElapsed(Math.ceil(e.pendingBytes/e.bps))}),o.setTokens({uploadSpeed:e.bitrate,pendingTime:s}))},_setResumableProgress:function(e,t,n){var o=this,i=o.resumableManager,s=n?i:o,a=n?n.find(".file-thumb-progress"):null;s.lastProgress===0&&(s.lastProgress=e),e0&&e._getFileCount(t-1)=d:u<=d,m)return;h=l["msgImage"+a+n].setTokens({name:i,size:d}),l._showFileError(h,r),l._setPreviewError(o)},_getExifObj:function(e){var n,o=this,s=t.logMessages.exifWarning;if(e.slice(0,23)!=="data:image/jpeg;base64,"&&e.slice(0,22)!=="data:image/jpg;base64,"){n=null;return}try{n=window.piexif?window.piexif.load(e):null}catch(e){n=null,s=e&&e.message||""}return n||o._log(t.logMessages.badExifParser,{details:s}),n},setImageOrientation:function(n,s,o,i){var r,l,d,a=this,u=!n||!n.length,m=!s||!s.length,c=!1,h=u&&i&&i.attr("data-template")==="image";if(u&&m)return;d="load.fileinputimageorient",h?(n=s,s=null,n.css(a.previewSettings.image),l=e(document.createElement("div")).appendTo(i.find(".kv-file-content")),r=e(document.createElement("span")).insertBefore(n),n.css("visibility","hidden").removeClass("file-zoom-detail").appendTo(l)):c=!n.is(":visible"),n.off(d).on(d,function(){c&&(a.$preview.removeClass("hide-content"),i.find(".kv-file-content").css("visibility","hidden"));var e=n[0],u=s&&s.length?s[0]:null,m=e.offsetHeight,f=e.offsetWidth,d=t.getRotation(o);if(c&&(i.find(".kv-file-content").css("visibility","visible"),a.$preview.addClass("hide-content")),n.data("orientation",o),u&&s.data("orientation",o),o<5){t.setTransform(e,d),t.setTransform(u,d);return}var v=Math.atan(f/m),p=Math.sqrt(Math.pow(m,2)+Math.pow(f,2)),b=p?m/Math.cos(Math.PI/2+v)/p:1,g=" scale("+Math.abs(b)+")";t.setTransform(e,d+g),t.setTransform(u,d+g),h&&(n.css("visibility","visible").insertAfter(r).addClass("file-zoom-detail"),r.remove(),l.remove())})},_validateImageOrientation:function(n,s,o,i,a,r,c,l){var u,h,f,d=this,m=d.autoOrientImage;if(d.canOrientImage){n.css("image-orientation",m?"from-image":"none");return}if(f=t.getZoomSelector(o," img"),u=m?d._getExifObj(l):null,h=u?u["0th"][piexif.ImageIFD.Orientation]:null,!h){d._validateImage(o,i,a,r,c,l,u);return}d.setImageOrientation(n,e(f),h,d._getFrame(o)),d._raise("fileimageoriented",{$img:n,file:s}),d._validateImage(o,i,a,r,c,l,u)},_validateImage:function(t,n,s,o,i,a,r){var h,m,f,c=this,p=c.$preview,l=c._getFrame(t),u=l.attr("data-fileindex"),d=l.find("img");s=s||"Untitled",d.one("load",function(){m=l.width(),f=p.width(),m>f&&d.css("width","100%"),h={ind:u,id:t,fileId:n},c._checkDimensions(u,"Small",d,l,s,"Width",h),c._checkDimensions(u,"Small",d,l,s,"Height",h),c.resizeImage||(c._checkDimensions(u,"Large",d,l,s,"Width",h),c._checkDimensions(u,"Large",d,l,s,"Height",h)),c._raise("fileimageloaded",[t]),c.fileManager.addImage(n,{ind:u,img:d,thumb:l,pid:t,typ:o,siz:i,validated:!1,imgData:a,exifObj:r}),l.data("exif",r),c._validateAllImages()}).one("error",function(){c._raise("fileimageloaderror",[t])}).each(function(){this.complete?e(this).trigger("load"):this.error&&e(this).trigger("error")})},_validateAllImages:function(){var n,t=this,o={val:0},s=t.fileManager.getImageCount(),i=t.resizeIfSizeMoreThan;if(s!==t.fileManager.totalImages)return;if(t._raise("fileimagesloaded"),!t.resizeImage)return;e.each(t.fileManager.loadedImages,function(e,a){a.validated||(n=a.siz,n&&n>i*1e3&&t._getResizedImage(e,a,o,s),a.validated=!0)})},_getResizedImage:function(n,s,o,i){var l,p,g,y,x,E,a=this,b=e(s.img)[0],c=b.naturalWidth,r=b.naturalHeight,u=1,h=a.maxImageWidth||c,d=a.maxImageHeight||r,f=!!(c&&r),v=a.imageCanvas,M=a.imageCanvasContext,m=s.typ,O=s.pid,w=s.ind,S=s.thumb,C=s.exifObj,_=function(e,t,n){a.isAjaxUpload?a._showFileError(e,t,n):a._showError(e,t,n),a._setPreviewError(S)},k=a.fileManager.getFile(n),j={id:O,index:w,fileId:n},A=[n,O,w];if((!k||!f||c<=h&&r<=d)&&(f&&k&&a._raise("fileimageresized",A),o.val++,o.val===i&&a._raise("fileimagesresized"),!f)){_(a.msgImageResizeError,j,"fileimageresizeerror");return}m=m||a.resizeDefaultImageType,p=c>h,g=r>d,a.resizePreference==="width"?u=p?h/c:g?d/r:1:u=g?d/r:p?h/c:1,a._resetCanvas(),c*=u,r*=u,v.width=c,v.height=r;try{M.drawImage(b,0,0,c,r),l=v.toDataURL(m,a.resizeQuality),C&&(E=window.piexif.dump(C),l=window.piexif.insert(E,l)),y=t.dataURI2Blob(l),a.fileManager.setFile(n,y),a._raise("fileimageresized",A),o.val++,o.val===i&&a._raise("fileimagesresized",[void 0,void 0]),y instanceof Blob||_(a.msgImageResizeError,j,"fileimageresizeerror")}catch(e){o.val++,o.val===i&&a._raise("fileimagesresized",[void 0,void 0]),x=a.msgImageResizeException.replace("{errors}",e.message),_(x,j,"fileimageresizeexception")}},_showProgress:function(){var e=this;e.$progress&&e.$progress.length&&e.$progress.show()},_hideProgress:function(){var e=this;e.$progress&&e.$progress.length&&e.$progress.hide()},_initBrowse:function(e){var n=this,s=n.$element;n.showBrowse?n.$btnFile=e.find(".btn-file").append(s):(s.appendTo(e).attr("tabindex",-1),t.addCss(s,"file-no-browse"))},_initClickable:function(){var s,o,n=this;if(!n.isClickable)return;s=n.$dropZone,n.isAjaxUpload||(o=n.$preview.find(".file-default-preview"),o.length&&(s=o)),t.addCss(s,"clickable"),s.attr("tabindex",-1),n._handler(s,"click",function(t){var o=e(t.target);!e(n.elErrorContainer+":visible").length&&(!o.parents(".file-preview-thumbnails").length||o.parents(".file-default-preview").length)&&(n.$element.data("zoneClicked",!0).trigger("click"),s.blur())})},_initCaption:function(){var e=this,n=e.initialCaption||"";return e.overwriteInitial||t.isEmpty(n)?(e.$caption.val(""),!1):(e._setCaption(n),!0)},_setCaption:function(n,s){var i,a,r,c,l,d,o=this;if(!o.$caption.length)return;if(o.$captionContainer.removeClass("icon-visible"),s)i=e("
    "+o.msgValidationError+"
    ").text(),a=o.fileManager.count(),a?(d=o.fileManager.getFirstFile(),l=a===1&&d?d.nameFmt:o._getMsgSelected(a)):l=o._getMsgSelected(o.msgNo),r=t.isEmpty(n)?l:n,c=''+o.msgValidationErrorIcon+"";else{if(t.isEmpty(n))return;i=e("
    "+n+"
    ").text(),r=i,c=o._getLayoutTemplate("fileIcon")}o.$captionContainer.addClass("icon-visible"),o.$caption.attr("title",i).val(r),t.setHtml(o.$captionIcon,c)},_createContainer:function(){var e=this,s={class:"file-input file-input-new"+(e.rtl?" kv-rtl":"")},n=t.createElement(t.cspBuffer.stash(e._renderMain()));return t.cspBuffer.apply(n),n.insertBefore(e.$element).attr(s),e._initBrowse(n),e.theme&&n.addClass("theme-"+e.theme),n},_refreshContainer:function(){var e=this,n=e.$container,s=e.$element;s.insertAfter(n),t.setHtml(n,e._renderMain()),e._initBrowse(n),e._validateDisabled()},_validateDisabled:function(){var e=this;e.$caption.attr({readonly:e.isDisabled})},_renderMain:function(){var e=this,t=e.dropZoneEnabled?" file-drop-zone":"file-drop-disabled",n=e.showClose?e._getLayoutTemplate("close"):"",s=e.showPreview?e._getLayoutTemplate("preview").setTokens({class:e.previewClass,dropClass:t}):"",o=e.isDisabled?e.captionClass+" file-caption-disabled":e.captionClass,i=e.captionTemplate.setTokens({class:o+" kv-fileinput-caption"});return e.mainTemplate.setTokens({class:e.mainClass+(!e.showBrowse&&e.showCaption?" no-browse":""),preview:s,close:n,caption:i,upload:e._renderButton("upload"),remove:e._renderButton("remove"),cancel:e._renderButton("cancel"),pause:e._renderButton("pause"),browse:e._renderButton("browse")})},_renderButton:function(e){var n=this,i=n._getLayoutTemplate("btnDefault"),s=n[e+"Class"],r=n[e+"Title"],c=n[e+"Icon"],o=n[e+"Label"],l=n.isDisabled?" disabled":"",a="button";switch(e){case"remove":if(!n.showRemove)return"";break;case"cancel":if(!n.showCancel)return"";s+=" kv-hidden";break;case"pause":if(!n.showPause)return"";s+=" kv-hidden";break;case"upload":if(!n.showUpload)return"";n.isAjaxUpload&&!n.isDisabled?i=n._getLayoutTemplate("btnLink").replace("{href}",n.uploadUrl):a="submit";break;case"browse":if(!n.showBrowse)return"";i=n._getLayoutTemplate("btnBrowse");break;default:return""}return s+=e==="browse"?" btn-file":" fileinput-"+e+" fileinput-"+e+"-button",t.isEmpty(o)||(o=' '+o+""),i.setTokens({type:a,css:s,title:r,status:l,icon:c,label:o})},_renderThumbProgress:function(){var e=this;return'
    '+e.progressInfoTemplate.setTokens({percent:101,status:e.msgUploadBegin,stats:""})+"
    "},_renderFileFooter:function(e,n,s,o,i){var c,l,a=this,r=a.fileActionSettings,m=r.showRemove,d=r.showDrag,h=r.showUpload,u=r.showZoom,f=a._getLayoutTemplate("footer"),p=a._getLayoutTemplate("indicator"),g=i?r.indicatorError:r.indicatorNew,v=i?r.indicatorErrorTitle:r.indicatorNewTitle,b=p.setTokens({indicator:g,indicatorTitle:v});return s=a._getSize(s),c={type:e,caption:n,size:s,width:o,progress:"",indicator:b},a.isAjaxUpload?(c.progress=a._renderThumbProgress(),c.actions=a._renderFileActions(c,h,!1,m,u,d,!1,!1,!1)):c.actions=a._renderFileActions(c,!1,!1,!1,u,d,!1,!1,!1),l=f.setTokens(c),l=t.replaceTags(l,a.previewThumbTags),l},_renderFileActions:function(e,t,n,s,o,i,a,r,c,l,d,u){if(m=this,!e.type&&l&&(e.type="image"),m.enableResumableUpload?t=!1:typeof t=="function"&&(t=t(e)),typeof n=="function"&&(n=n(e)),typeof s=="function"&&(s=s(e)),typeof o=="function"&&(o=o(e)),typeof i=="function"&&(i=i(e)),!t&&!n&&!s&&!o&&!i)return"";var m,g,w=r===!1?"":' data-url="'+r+'"',y="",b="",v=c===!1?"":' data-key="'+c+'"',p="",j="",f="",_=m._getLayoutTemplate("actions"),h=m.fileActionSettings,O=m.otherActionButtons.setTokens({dataKey:v,key:c}),x=a?h.removeClass+" disabled":h.removeClass;return s&&(p=m._getLayoutTemplate("actionDelete").setTokens({removeClass:x,removeIcon:h.removeIcon,removeTitle:h.removeTitle,dataUrl:w,dataKey:v,key:c})),t&&(j=m._getLayoutTemplate("actionUpload").setTokens({uploadClass:h.uploadClass,uploadIcon:h.uploadIcon,uploadTitle:h.uploadTitle})),n&&(f=m._getLayoutTemplate("actionDownload").setTokens({downloadClass:h.downloadClass,downloadIcon:h.downloadIcon,downloadTitle:h.downloadTitle,downloadUrl:d||m.initialPreviewDownloadUrl}),f=f.setTokens({filename:u,key:c})),o&&(y=m._getLayoutTemplate("actionZoom").setTokens({zoomClass:h.zoomClass,zoomIcon:h.zoomIcon,zoomTitle:h.zoomTitle})),i&&l&&(g="drag-handle-init "+h.dragClass,b=m._getLayoutTemplate("actionDrag").setTokens({dragClass:g,dragTitle:h.dragTitle,dragIcon:h.dragIcon})),_.setTokens({delete:p,upload:j,download:f,zoom:y,drag:b,other:O})},_browse:function(e){var t=this;if(e&&e.isDefaultPrevented()||!t._raise("filebrowse"))return;t.isError&&!t.isAjaxUpload&&t.clear(),t.focusCaptionOnBrowse&&t.$captionContainer.focus()},_change:function(n){if(s=this,s.changeTriggered)return;var s,a,r,l,u,f=s.$element,b=arguments.length>1,i=s.isAjaxUpload,d=b?arguments[1]:f[0].files,h=s.fileManager.count(),m=t.isEmpty(f.attr("multiple")),o=!i&&m?1:s.maxFileCount,c=s.maxTotalFileCount,p=c>0&&c>o,g=m&&h>0,j=function(t,n,o,a){var r=e.extend(!0,{},s._getOutData(null,{},{},d),{id:o,index:a}),c={id:o,index:a,file:n,files:d};return s.isPersistentError=!0,i?s._showFileError(t,r):s._showError(t,c)},v=function(e,t,n){var o=n?s.msgTotalFilesTooMany:s.msgFilesTooMany,o=o.replace("{m}",t).replace("{n}",e);s.isError=j(o,null,null,null),s.$captionContainer.removeClass("icon-visible"),s._setCaption("",!0),s.$container.removeClass("file-input-new file-input-ajax-new")};if(s.reader=null,s._resetUpload(),s._hideFileIcon(),s.dropZoneEnabled&&s.$container.find(".file-drop-zone ."+s.dropZoneTitleClass).remove(),i||(n.target&&n.target.files===void 0?d=n.target.value?[{name:n.target.value.replace(/^.+\\/,"")}]:[]:d=n.target.files||{}),l=d,t.isEmpty(l)||l.length===0){i||s.clear(),s._raise("fileselectnone");return}if(s._resetErrors(),a=l.length,u=i?s.fileManager.count()+a:a,r=s._getFileCount(u,!p&&void 0),o>0&&r>o){if(!s.autoReplace||a>o){v(s.autoReplace&&a>o?a:r,o);return}r>o&&s._resetPreviewThumbs(i)}else{if(p&&(r=s._getFileCount(u,!0),c>0&&r>c)){if(!s.autoReplace||a>o){v(s.autoReplace&&a>c?a:r,c,!0);return}r>o&&s._resetPreviewThumbs(i)}!i||g?(s._resetPreviewThumbs(!1),g&&s.clearFileStack()):i&&h===0&&(!s.previewCache.count(!0)||s.overwriteInitial)&&s._resetPreviewThumbs(!0)}s.readFiles(l)},_abort:function(t){var s,n=this;return n.ajaxAborted&&typeof n.ajaxAborted=="object"&&n.ajaxAborted.message!==void 0?(s=e.extend(!0,{},n._getOutData(null),t),s.abortData=n.ajaxAborted.data||{},s.abortMessage=n.ajaxAborted.message,n._setProgress(101,n.$progress,n.msgCancelled),n._showFileError(n.ajaxAborted.message,s,"filecustomerror"),n.cancel(),!0):!!n.ajaxAborted},_resetFileStack:function(){var t=this,n=0;t._getThumbs().each(function(){var s=e(this),o=s.attr("data-fileindex"),i=s.attr("id");if(o==="-1"||o===-1)return;t.fileManager.getFile(s.attr("data-fileid"))?s.attr({"data-fileindex":"-1"}):(s.attr({"data-fileindex":n}),n++),t._getZoom(i).attr({"data-fileindex":s.attr("data-fileindex")})})},_isFileSelectionValid:function(e){var t=this;return e=e||0,t.required&&!t.getFilesCount()?(t.$errorContainer.html(""),t._showFileError(t.msgFileRequired),!1):!(t.minFileCount>0&&t._getFileCount(e)i;return!m&&(g||p||f)},addToStack:function(e,t){this.fileManager.add(e,t)},clearFileStack:function(){var e=this;return e.fileManager.clear(),e._initResumableUpload(),e.enableResumableUpload?(e.showPause===null&&(e.showPause=!0),e.showCancel===null&&(e.showCancel=!1)):(e.showPause=!1,e.showCancel===null&&(e.showCancel=!0)),e.$element},getFileStack:function(){return this.fileManager.stack},getFileList:function(){return this.fileManager.list()},getFilesCount:function(e){var t=this,n=t.isAjaxUpload?t.fileManager.count():t._inputFileCount();return e&&(n+=t.previewCache.count(!0)),t._getFileCount(n)},readFiles:function(n){this.reader=new FileReader;var r,s=this,i=s.reader,u=s.$previewContainer,c=s.$previewStatus,g=s.msgLoading,m=s.msgProgress,p=s.previewInitId,o=n.length,d=s.fileTypeSettings,a=s.allowedFileTypes,f=a?a.length:0,l=s.allowedFileExtensions,v=t.isEmpty(l)?"":l.join(", "),h=function(t,i,a,c,l){var d,u=e.extend(!0,{},s._getOutData(null,{},{},n),{id:a,index:c,fileId:l}),h={id:a,index:c,fileId:l,file:i,files:n};s._previewDefault(i,!0),d=s._getFrame(a,!0),s.isAjaxUpload?setTimeout(function(){r(c+1)},s.processDelay):(s.unlock(),o=0),s.removeFromPreviewOnError&&d.length?d.remove():(s._initFileActions(),d.find(".kv-file-upload").remove()),s.isPersistentError=!0,s.isError=s.isAjaxUpload?s._showFileError(t,u):s._showError(t,h),s._updateFileDetails(o)};s.fileManager.clearImages(),e.each(n,function(e,t){var n=s.fileTypeSettings.image;n&&n(t.type)&&s.fileManager.totalImages++}),r=function(b){if(E=s.$errorContainer,C=s.fileManager,b>=o){s.unlock(),s.duplicateErrors.length&&(N="
  • "+s.duplicateErrors.join("
  • ")+"
  • ",E.find("ul").length===0?t.setHtml(E,s.errorCloseButton+"
      "+N+"
    "):E.find("ul").append(N),E.fadeIn(s.fadeDelay),s._handler(E.find(".kv-error-close"),"click",function(){E.fadeOut(s.fadeDelay)}),s.duplicateErrors=[]),s.isAjaxUpload?(s._raise("filebatchselected",[C.stack]),C.count()===0&&!s.isError&&s.reset()):s._raise("filebatchselected",[n]),u.removeClass("file-thumb-loading"),c.html("");return}s.lock(!0);var _,w,x,C,E,k,S,M,F,T,z,D,N,W,K,q,j=n[b],P=s._getFileId(j),O=p+"-"+P,Y=d.text,I=d.image,G=d.html,y=s._getFileName(j,""),L=(j&&j.size||0)/1e3,R="",V=t.createObjectURL(j),A=0,B="",H=!1,$=0,U=function(){var e=m.setTokens({index:b+1,files:o,percent:50,name:y});setTimeout(function(){c.html(e),s._updateFileDetails(o),r(b+1)},s.processDelay),s._raise("fileloaded",[j,O,P,b,i])&&s.isAjaxUpload&&C.add(j)};if(!j)return;if(x=C.getId(j),f>0)for(w=0;w0&&L>s.maxFileSize){_=s.msgSizeTooLarge.setTokens({name:y,size:k,maxSize:s.maxFileSize}),h(_,j,O,b,x);return}if(s.minFileSize!==null&&L<=t.getNum(s.minFileSize)){_=s.msgSizeTooSmall.setTokens({name:y,size:k,minSize:s.minFileSize}),h(_,j,O,b,x);return}if(!t.isEmpty(a)&&t.isArray(a)){for(w=0;w0)for(n=0;n0)for(s=0;s0?n.initialCaption:"",n.$caption.attr("title","").val(s),t.addCss(n.$container,"file-input-new"),n._validateDefaultPreview()),n.$container.find(t.FRAMES).length===0&&(n._initCaption()||n.$captionContainer.removeClass("icon-visible")),n._hideFileIcon(),n.focusCaptionOnClear&&n.$captionContainer.focus(),n._setFileDropZoneTitle(),n._raise("filecleared"),n.$element},reset:function(){var e=this;if(!e._raise("filereset"))return;return e.lastProgress=0,e._resetPreview(),e.$container.find(".fileinput-filename").text(""),t.addCss(e.$container,"file-input-new"),e.getFrames().length&&e.$container.removeClass("file-input-new"),e.clearFileStack(),e._setFileDropZoneTitle(),e.$element},disable:function(){var e=this,n=e.$container;return e.isDisabled=!0,e._raise("filedisabled"),e.$element.attr("disabled","disabled"),n.addClass("is-locked"),t.addCss(n.find(".btn-file"),"disabled"),n.find(".kv-fileinput-caption").addClass("file-caption-disabled"),n.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").attr("disabled",!0),e._initDragDrop(),e.$element},enable:function(){var e=this,t=e.$container;return e.isDisabled=!1,e._raise("fileenabled"),e.$element.removeAttr("disabled"),t.removeClass("is-locked"),t.find(".kv-fileinput-caption").removeClass("file-caption-disabled"),t.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").removeAttr("disabled"),t.find(".btn-file").removeClass("disabled"),e._initDragDrop(),e.$element},upload:function(){var o,a,n=this,i=n.fileManager,s=i.count(),r=!e.isEmptyObject(n._getExtraData());if(!n.isAjaxUpload||n.isDisabled||!n._isFileSelectionValid(s))return;if(n.lastProgress=0,n._resetUpload(),s===0&&!r){n._showFileError(n.msgUploadEmpty);return}if(n.cancelling=!1,n._showProgress(),n.lock(),s===0&&r){n._setProgress(2),n._uploadExtraOnly();return}if(n.enableResumableUpload)return n.resume();if((n.uploadAsync||n.enableResumableUpload)&&(a=n._getOutData(null),n._raise("filebatchpreupload",[a]),n.fileBatchCompleted=!1,n.uploadCache=[],e.each(n.getFileStack(),function(e){var t=n._getThumbId(e);n.uploadCache.push({id:t,content:null,config:null,tags:null,append:!0})}),n.$preview.find(".file-preview-initial").removeClass(t.SORT_CSS),n._initSortable()),n._setProgress(2),n.hasInitData=!1,n.uploadAsync){o=0,e.each(i.stack,function(e){n._uploadSingle(o,e,!0),o++});return}return n._uploadBatch(),n.$element},destroy:function(){var t=this,s=t.$form,o=t.$container,i=t.$element,n=t.namespace;return e(document).off(n),e(window).off(n),s&&s.length&&s.off(n),t.isAjaxUpload&&t._clearFileInput(),t._cleanup(),t._initPreviewCache(),i.insertBefore(o).off(n).removeData(),o.off().remove(),i},refresh:function(n){var s=this,o=s.$element;return typeof n!="object"||t.isEmpty(n)?n=s.options:n=e.extend(!0,{},s.options,n),s._init(n,!0),s._listen(),o},zoom:function(e){var t=this,n=t._getFrame(e);t._showModal(n)},getExif:function(e){var n=this,t=n._getFrame(e);return t&&t.data("exif")||null},getFrames:function(n){var s,o=this;return n=n||"",s=o.$preview.find(t.FRAMES+n),o.reversePreviewOrder&&(s=e(s.get().reverse())),s},getPreview:function(){var e=this;return{content:e.initialPreview,config:e.initialPreviewConfig,tags:e.initialPreviewThumbTags}}},e.fn.fileinput=function(s){if(!t.hasFileAPISupport()&&!t.isIE(9))return;var i=Array.apply(null,arguments),o=[];switch(i.shift(),this.each(function(){var m,a=e(this),r=a.data("fileinput"),c=typeof s=="object"&&s,d=c.theme||a.data("theme"),u={},h={},l=c.language||a.data("language")||e.fn.fileinput.defaults.language||"en";r||(d&&(h=e.fn.fileinputThemes[d]||{}),l!=="en"&&!t.isEmpty(e.fn.fileinputLocales[l])&&(u=e.fn.fileinputLocales[l]||{}),m=e.extend(!0,{},e.fn.fileinput.defaults,h,e.fn.fileinputLocales.en,u,c,a.data()),r=new n(this,m),a.data("fileinput",r)),typeof s=="string"&&o.push(r[s].apply(r,i))}),o.length){case 0:return this;case 1:return o[0];default:return o}};var t,n,s='class="kv-preview-data file-preview-pdf" src="{renderer}?file={data}" {style}';e.fn.fileinput.defaults={language:"en",showCaption:!0,showBrowse:!0,showPreview:!0,showRemove:!0,showUpload:!0,showUploadStats:!0,showCancel:null,showPause:null,showClose:!0,showUploadedThumbs:!0,showConsoleLogs:!1,browseOnZoneClick:!1,autoReplace:!1,autoOrientImage:function(){var e=window.navigator.userAgent,t=!!e.match(/WebKit/i),n=!!e.match(/iP(od|ad|hone)/i),s=n&&t&&!e.match(/CriOS/i);return!s},autoOrientImageInitial:!0,required:!1,rtl:!1,hideThumbnailContent:!1,encodeUrl:!0,focusCaptionOnBrowse:!0,focusCaptionOnClear:!0,generateFileId:null,previewClass:"",captionClass:"",frameClass:"krajee-default",mainClass:"file-caption-main",mainTemplate:null,fileSizeGetter:null,initialCaption:"",initialPreview:[],initialPreviewDelimiter:"*$$*",initialPreviewAsData:!1,initialPreviewFileType:"image",initialPreviewConfig:[],initialPreviewThumbTags:[],previewThumbTags:{},initialPreviewShowDelete:!0,initialPreviewDownloadUrl:"",removeFromPreviewOnError:!1,deleteUrl:"",deleteExtraData:{},overwriteInitial:!0,sanitizeZoomCache:function(e){var n=t.createElement(e);return n.find("input,textarea,select,datalist,form,.file-thumbnail-footer").remove(),n.html()},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewZoomButtonClasses:{prev:"btn btn-navigate",next:"btn btn-navigate",toggleheader:"btn btn-sm btn-kv btn-default btn-outline-secondary",fullscreen:"btn btn-sm btn-kv btn-default btn-outline-secondary",borderless:"btn btn-sm btn-kv btn-default btn-outline-secondary",close:"btn btn-sm btn-kv btn-default btn-outline-secondary"},previewTemplates:{},previewContentTemplates:{},preferIconicPreview:!1,preferIconicZoomPreview:!1,allowedFileTypes:null,allowedFileExtensions:null,allowedPreviewTypes:void 0,allowedPreviewMimeTypes:null,allowedPreviewExtensions:null,disabledPreviewTypes:void 0,disabledPreviewExtensions:["msi","exe","com","zip","rar","app","vb","scr"],disabledPreviewMimeTypes:null,defaultPreviewContent:null,customLayoutTags:{},customPreviewTags:{},previewFileIcon:'',previewFileIconClass:"file-other-icon",previewFileIconSettings:{},previewFileExtSettings:{},buttonLabelClass:"hidden-xs",browseIcon:' ',browseClass:"btn btn-primary",removeIcon:'',removeClass:"btn btn-default btn-secondary",cancelIcon:'',cancelClass:"btn btn-default btn-secondary",pauseIcon:'',pauseClass:"btn btn-default btn-secondary",uploadIcon:'',uploadClass:"btn btn-default btn-secondary",uploadUrl:null,uploadUrlThumb:null,uploadAsync:!0,uploadParamNames:{chunkCount:"chunkCount",chunkIndex:"chunkIndex",chunkSize:"chunkSize",chunkSizeStart:"chunkSizeStart",chunksUploaded:"chunksUploaded",fileBlob:"fileBlob",fileId:"fileId",fileName:"fileName",fileRelativePath:"fileRelativePath",fileSize:"fileSize",retryCount:"retryCount"},maxAjaxThreads:5,fadeDelay:800,processDelay:100,queueDelay:10,progressDelay:0,enableResumableUpload:!1,resumableUploadOptions:{fallback:null,testUrl:null,chunkSize:2*1024,maxThreads:4,maxRetries:3,showErrorLog:!0},uploadExtraData:{},zoomModalHeight:480,minImageWidth:null,minImageHeight:null,maxImageWidth:null,maxImageHeight:null,resizeImage:!1,resizePreference:"width",resizeQuality:.92,resizeDefaultImageType:"image/jpeg",resizeIfSizeMoreThan:0,minFileSize:-1,maxFileSize:0,maxFilePreviewSize:25600,minFileCount:0,maxFileCount:0,maxTotalFileCount:0,validateInitialCount:!1,msgValidationErrorClass:"text-danger",msgValidationErrorIcon:' ',msgErrorClass:"file-error-message",progressThumbClass:"progress-bar progress-bar-striped active progress-bar-animated",progressClass:"progress-bar bg-success progress-bar-success progress-bar-striped active progress-bar-animated",progressInfoClass:"progress-bar bg-info progress-bar-info progress-bar-striped active progress-bar-animated",progressCompleteClass:"progress-bar bg-success progress-bar-success",progressPauseClass:"progress-bar bg-primary progress-bar-primary progress-bar-striped active progress-bar-animated",progressErrorClass:"progress-bar bg-danger progress-bar-danger",progressUploadThreshold:99,previewFileType:"image",elCaptionContainer:null,elCaptionText:null,elCaptionLabelText:null,elPreviewContainer:null,elPreviewImage:null,elPreviewStatus:null,elErrorContainer:null,errorCloseButton:t.closeButton("kv-error-close"),slugCallback:null,dropZoneEnabled:!0,dropZoneTitleClass:"file-drop-zone-title",fileActionSettings:{},otherActionButtons:"",textEncoding:"UTF-8",preProcessUpload:null,ajaxSettings:{},ajaxDeleteSettings:{},showAjaxErrorDetails:!0,mergeAjaxCallbacks:!1,mergeAjaxDeleteCallbacks:!1,retryErrorUploads:!0,reversePreviewOrder:!1,usePdfRenderer:function(){var e=!!window.MSInputMethodContext&&!!document.documentMode;return!!navigator.userAgent.match(/(iPod|iPhone|iPad|Android)/i)||e},pdfRendererUrl:"",pdfRendererTemplate:""},e.fn.fileinputLocales.en={fileSingle:"file",filePlural:"files",browseLabel:"Browse …",removeLabel:"Remove",removeTitle:"Clear all unprocessed files",cancelLabel:"Cancel",cancelTitle:"Abort ongoing upload",pauseLabel:"Pause",pauseTitle:"Pause ongoing upload",uploadLabel:"Upload",uploadTitle:"Upload selected files",msgNo:"No",msgNoFilesSelected:"No files selected",msgCancelled:"Cancelled",msgPaused:"Paused",msgPlaceholder:"Select {files} ...",msgZoomModalHeading:"Detailed Preview",msgFileRequired:"You must select a file to upload.",msgSizeTooSmall:'File "{name}" ({size} KB) is too small and must be larger than {minSize} KB.',msgSizeTooLarge:'File "{name}" ({size} KB) exceeds maximum allowed upload size of {maxSize} KB.',msgFilesTooLess:"You must select at least {n} {files} to upload.",msgFilesTooMany:"Number of files selected for upload ({n}) exceeds maximum allowed limit of {m}.",msgTotalFilesTooMany:"You can upload a maximum of {m} files ({n} files detected).",msgFileNotFound:'File "{name}" not found!',msgFileSecured:'Security restrictions prevent reading the file "{name}".',msgFileNotReadable:'File "{name}" is not readable.',msgFilePreviewAborted:'File preview aborted for "{name}".',msgFilePreviewError:'An error occurred while reading the file "{name}".',msgInvalidFileName:'Invalid or unsupported characters in file name "{name}".',msgInvalidFileType:'Invalid type for file "{name}". Only "{types}" files are supported.',msgInvalidFileExtension:'Invalid extension for file "{name}". Only "{extensions}" files are supported.',msgFileTypes:{image:"image",html:"HTML",text:"text",video:"video",audio:"audio",flash:"flash",pdf:"PDF",object:"object"},msgUploadAborted:"The file upload was aborted",msgUploadThreshold:"Processing …",msgUploadBegin:"Initializing …",msgUploadEnd:"Done",msgUploadResume:"Resuming upload …",msgUploadEmpty:"No valid data available for upload.",msgUploadError:"Upload Error",msgDeleteError:"Delete Error",msgProgressError:"Error",msgValidationError:"Validation Error",msgLoading:"Loading file {index} of {files} …",msgProgress:"Loading file {index} of {files} - {name} - {percent}% completed.",msgSelected:"{n} {files} selected",msgFoldersNotAllowed:"Drag & drop files only! {n} folder(s) dropped were skipped.",msgImageWidthSmall:'Width of image file "{name}" must be at least {size} px.',msgImageHeightSmall:'Height of image file "{name}" must be at least {size} px.',msgImageWidthLarge:'Width of image file "{name}" cannot exceed {size} px.',msgImageHeightLarge:'Height of image file "{name}" cannot exceed {size} px.',msgImageResizeError:"Could not get the image dimensions to resize.",msgImageResizeException:"Error while resizing the image.
    {errors}
    ",msgAjaxError:"Something went wrong with the {operation} operation. Please try again later!",msgAjaxProgressError:"{operation} failed",msgDuplicateFile:'File "{name}" of same size "{size} KB" has already been selected earlier. Skipping duplicate selection.',msgResumableUploadRetriesExceeded:"Upload aborted beyond {max} retries for file {file}! Error Details:
    {error}
    ",msgPendingTime:"{time} remaining",msgCalculatingTime:"calculating time remaining",ajaxOperations:{deleteThumb:"file delete",uploadThumb:"file upload",uploadBatch:"batch file upload",uploadExtra:"form data upload"},dropZoneTitle:"Drag & drop files here …",dropZoneClickTitle:"
    (or click to select {files})",previewZoomButtonTitles:{prev:"View previous file",next:"View next file",toggleheader:"Toggle header",fullscreen:"Toggle full screen",borderless:"Toggle borderless mode",close:"Close detailed preview"}},e.fn.fileinput.Constructor=n,e(document).ready(function(){var t=e("input.file[type=file]");t.length&&t.fileinput()})}); /*! +<<<<<<< HEAD * bootstrap-fileinput v5.1.3 * http://plugins.krajee.com/file-input * @@ -422,6 +429,20 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] */(function(e){"use strict";e.fn.fileinputThemes.fas={fileActionSettings:{removeIcon:'',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:''},layoutTemplates:{fileIcon:' '},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' '}})(window.jQuery); if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daIsEmpty,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,daIsEmpty=1,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()})},500),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daNewCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daIsEmpty&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})}function daResizeCanvas(){setTimeout(function(){var e=$("#dasigcanvas")[0],t=e.getContext("2d"),n=t.getImageData(0,0,e.width,e.height);daNewCanvas(),t=$("#dasigcanvas")[0].getContext("2d"),t.putImageData(n,0,0)},200)}function daSaveCanvas(){var e=document.getElementById("dasigcanvas").toDataURL();daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o
    ',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:'',},layoutTemplates:{fileIcon:' ',},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:'',},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' ',};})(window.jQuery); +if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daSigPad,daPrevCanvasWidth,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),daPrevCanvasWidth=$("#dasigcanvas").width(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()}),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daClearCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daCanvasIsEmpty()&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})},500)}function daClearCanvas(){daSigPad.clear()}function daCanvasIsEmpty(){return daSigPad.isEmpty()}function daResizeCanvas(){setTimeout(function(){var e,n,t=daSigPad.toData();daNewCanvas(),e=$("#dasigcanvas").width(),n=e/daPrevCanvasWidth,daPrevCanvasWidth=e,daScaleSignaturePad(t,n),daSigPad.fromData(t)},200)}function daScaleSignaturePad(e,t){e.forEach(e=>{e.points.forEach(e=>{e.x*=t,e.y*=t})})}function daSaveCanvas(){var e=daSigPad.toDataURL("image/png");daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),daSigPad=new SignaturePad($("#dasigcanvas")[0],{dotSize:daTheWidth/1.75,maxWidth:daTheWidth,penColor:daColor}),setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o>>>>>> ca725c692 (Use signature_pad to make sure to capture the full signature image) /*! * LABELAUTY jQuery Plugin * From 37b210120fee8e02fb93229cb8f0755f472c913d Mon Sep 17 00:00:00 2001 From: plocket <52798256+plocket@users.noreply.github.com> Date: Sun, 29 Jan 2023 17:40:27 -0500 Subject: [PATCH 7/7] Change order of bundling files --- .../docassemble/webapp/server.py | 6 +- .../docassemble/webapp/static/app/bundle.js | 74 ++----------------- .../webapp/static/app/bundlenojquery.js | 27 ++----- .../webapp/static/app/bundlewrapjquery.js | 29 ++------ 4 files changed, 23 insertions(+), 113 deletions(-) diff --git a/docassemble_webapp/docassemble/webapp/server.py b/docassemble_webapp/docassemble/webapp/server.py index 927f28745..be61679bb 100644 --- a/docassemble_webapp/docassemble/webapp/server.py +++ b/docassemble_webapp/docassemble/webapp/server.py @@ -22912,7 +22912,7 @@ def playground_css_bundle(): def js_bundle(): base_path = Path(importlib.resources.files('docassemble.webapp'), 'static') output = '' - for parts in [['app', 'signature_pad.min.js'], ['app', 'jquery.min.js'], ['app', 'jquery.validate.min.js'], ['app', 'additional-methods.min.js'], ['app', 'jquery.visible.min.js'], ['bootstrap', 'js', 'bootstrap.bundle.min.js'], ['bootstrap-slider', 'dist', 'bootstrap-slider.min.js'], ['labelauty', 'source', 'jquery-labelauty.min.js'], ['bootstrap-fileinput', 'js', 'plugins', 'piexif.min.js'], ['bootstrap-fileinput', 'js', 'fileinput.min.js'], ['bootstrap-fileinput', 'themes', 'fas', 'theme.min.js'], ['app', 'app.min.js'], ['bootstrap-combobox', 'js', 'bootstrap-combobox.min.js'], ['app', 'socket.io.min.js']]: + for parts in [['app', 'jquery.min.js'], ['app', 'jquery.validate.min.js'], ['app', 'additional-methods.min.js'], ['app', 'jquery.visible.min.js'], ['bootstrap', 'js', 'bootstrap.bundle.min.js'], ['bootstrap-slider', 'dist', 'bootstrap-slider.min.js'], ['labelauty', 'source', 'jquery-labelauty.min.js'], ['bootstrap-fileinput', 'js', 'plugins', 'piexif.min.js'], ['bootstrap-fileinput', 'js', 'fileinput.min.js'], ['bootstrap-fileinput', 'themes', 'fas', 'theme.min.js'], ['app', 'app.min.js'], ['bootstrap-combobox', 'js', 'bootstrap-combobox.min.js'], ['app', 'socket.io.min.js'], ['app', 'signature_pad.min.js']]: with open(os.path.join(base_path, *parts), encoding='utf-8') as fp: output += fp.read() output += "\n" @@ -22945,7 +22945,7 @@ def js_admin_bundle(): def js_bundle_wrap(): base_path = Path(importlib.resources.files('docassemble.webapp'), 'static') output = '(function($) {' - for parts in [['app', 'signature_pad.min.js'], ['app', 'jquery.validate.min.js'], ['app', 'additional-methods.min.js'], ['app', 'jquery.visible.js'], ['bootstrap', 'js', 'bootstrap.bundle.min.js'], ['bootstrap-slider', 'dist', 'bootstrap-slider.min.js'], ['bootstrap-fileinput', 'js', 'plugins', 'piexif.min.js'], ['bootstrap-fileinput', 'js', 'fileinput.min.js'], ['bootstrap-fileinput', 'themes', 'fas', 'theme.min.js'], ['app', 'app.min.js'], ['labelauty', 'source', 'jquery-labelauty.min.js'], ['bootstrap-combobox', 'js', 'bootstrap-combobox.min.js'], ['app', 'socket.io.min.js']]: + for parts in [['app', 'jquery.validate.min.js'], ['app', 'additional-methods.min.js'], ['app', 'jquery.visible.js'], ['bootstrap', 'js', 'bootstrap.bundle.min.js'], ['bootstrap-slider', 'dist', 'bootstrap-slider.min.js'], ['bootstrap-fileinput', 'js', 'plugins', 'piexif.min.js'], ['bootstrap-fileinput', 'js', 'fileinput.min.js'], ['bootstrap-fileinput', 'themes', 'fas', 'theme.min.js'], ['app', 'app.min.js'], ['labelauty', 'source', 'jquery-labelauty.min.js'], ['bootstrap-combobox', 'js', 'bootstrap-combobox.min.js'], ['app', 'socket.io.min.js'], ['app', 'signature_pad.min.js']]: with open(os.path.join(base_path, *parts), encoding='utf-8') as fp: output += fp.read() output += "\n" @@ -22957,7 +22957,7 @@ def js_bundle_wrap(): def js_bundle_no_query(): base_path = Path(importlib.resources.files('docassemble.webapp'), 'static') output = '' - for parts in [['app', 'signature_pad.min.js'], ['app', 'jquery.validate.min.js'], ['app', 'additional-methods.min.js'], ['app', 'jquery.visible.min.js'], ['bootstrap', 'js', 'bootstrap.bundle.min.js'], ['bootstrap-slider', 'dist', 'bootstrap-slider.min.js'], ['bootstrap-fileinput', 'js', 'plugins', 'piexif.min.js'], ['bootstrap-fileinput', 'js', 'fileinput.min.js'], ['bootstrap-fileinput', 'themes', 'fas', 'theme.min.js'], ['app', 'app.min.js'], ['labelauty', 'source', 'jquery-labelauty.min.js'], ['bootstrap-combobox', 'js', 'bootstrap-combobox.min.js'], ['app', 'socket.io.min.js']]: + for parts in [['app', 'jquery.validate.min.js'], ['app', 'additional-methods.min.js'], ['app', 'jquery.visible.min.js'], ['bootstrap', 'js', 'bootstrap.bundle.min.js'], ['bootstrap-slider', 'dist', 'bootstrap-slider.min.js'], ['bootstrap-fileinput', 'js', 'plugins', 'piexif.min.js'], ['bootstrap-fileinput', 'js', 'fileinput.min.js'], ['bootstrap-fileinput', 'themes', 'fas', 'theme.min.js'], ['app', 'app.min.js'], ['labelauty', 'source', 'jquery-labelauty.min.js'], ['bootstrap-combobox', 'js', 'bootstrap-combobox.min.js'], ['app', 'socket.io.min.js'], ['app', 'signature_pad.min.js']]: with open(os.path.join(base_path, *parts), encoding='utf-8') as fp: output += fp.read() output += "\n" diff --git a/docassemble_webapp/docassemble/webapp/static/app/bundle.js b/docassemble_webapp/docassemble/webapp/static/app/bundle.js index 972d8ba33..e142b184a 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/bundle.js +++ b/docassemble_webapp/docassemble/webapp/static/app/bundle.js @@ -1,16 +1,5 @@ -<<<<<<< HEAD /*! jQuery v3.6.3 | (c) OpenJS Foundation and other contributors | jquery.org/license */ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},S=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||S).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.3",E=function(e,t){return new E.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,S)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=E)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{if(d.cssSupportsSelector&&!CSS.supports("selector(:is("+c+"))"))throw new Error;return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===E&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[E]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,S=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.cssSupportsSelector=ce(function(){return CSS.supports("selector(*)")&&C.querySelectorAll(":is(:jqfake)")&&!CSS.supports("selector(:is(*,:jqfake))")}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=E,!C.getElementsByName||!C.getElementsByName(E).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&S)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+E+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+E+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),d.cssSupportsSelector||y.push(":has"),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&S&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:S,!0)),N.test(r[1])&&E.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=S.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,D=E(S);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=S.createDocumentFragment().appendChild(S.createElement("div")),(fe=S.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),S.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;E.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||E.expando+"_"+Ct.guid++;return this[e]=!0,e}}),E.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||E.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?E(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=S.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Ut.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=S.implementation.createHTMLDocument("")).createElement("base")).href=S.location.href,t.head.appendChild(r)):t=S),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(E.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},E.expr.pseudos.animated=function(t){return E.grep(E.timers,function(e){return t===e.elem}).length},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){E.fn[t]=function(e){return this.on(t,e)}}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 00){const n=o-t,s=h-e;i+=Math.sqrt(n*n+s*s)}t=o,e=h}return i}point(t,e,i,n,s){return e*(1-t)*(1-t)*(1-t)+3*i*(1-t)*(1-t)*t+3*n*(1-t)*t*t+s*t*t*t}}class i extends EventTarget{constructor(t,e={}){super(),this.canvas=t,this.options=e,this._handleMouseDown=t=>{1===t.buttons&&(this._drawningStroke=!0,this._strokeBegin(t))},this._handleMouseMove=t=>{this._drawningStroke&&this._strokeMoveUpdate(t)},this._handleMouseUp=t=>{1===t.buttons&&this._drawningStroke&&(this._drawningStroke=!1,this._strokeEnd(t))},this._handleTouchStart=t=>{if(t.preventDefault(),1===t.targetTouches.length){const e=t.changedTouches[0];this._strokeBegin(e)}},this._handleTouchMove=t=>{t.preventDefault();const e=t.targetTouches[0];this._strokeMoveUpdate(e)},this._handleTouchEnd=t=>{if(t.target===this.canvas){t.preventDefault();const e=t.changedTouches[0];this._strokeEnd(e)}},this._handlePointerStart=t=>{this._drawningStroke=!0,t.preventDefault(),this._strokeBegin(t)},this._handlePointerMove=t=>{this._drawningStroke&&(t.preventDefault(),this._strokeMoveUpdate(t))},this._handlePointerEnd=t=>{this._drawningStroke=!1;t.target===this.canvas&&(t.preventDefault(),this._strokeEnd(t))},this.velocityFilterWeight=e.velocityFilterWeight||.7,this.minWidth=e.minWidth||.5,this.maxWidth=e.maxWidth||2.5,this.throttle="throttle"in e?e.throttle:16,this.minDistance="minDistance"in e?e.minDistance:5,this.dotSize=e.dotSize||0,this.penColor=e.penColor||"black",this.backgroundColor=e.backgroundColor||"rgba(0,0,0,0)",this._strokeMoveUpdate=this.throttle?function(t,e=250){let i,n,s,o=0,h=null;const r=()=>{o=Date.now(),h=null,i=t.apply(n,s),h||(n=null,s=[])};return function(...a){const d=Date.now(),l=e-(d-o);return n=this,s=a,l<=0||l>e?(h&&(clearTimeout(h),h=null),o=d,i=t.apply(n,s),h||(n=null,s=[])):h||(h=window.setTimeout(r,l)),i}}(i.prototype._strokeUpdate,this.throttle):i.prototype._strokeUpdate,this._ctx=t.getContext("2d"),this.clear(),this.on()}clear(){const{_ctx:t,canvas:e}=this;t.fillStyle=this.backgroundColor,t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._data=[],this._reset(),this._isEmpty=!0}fromDataURL(t,e={}){return new Promise((i,n)=>{const s=new Image,o=e.ratio||window.devicePixelRatio||1,h=e.width||this.canvas.width/o,r=e.height||this.canvas.height/o,a=e.xOffset||0,d=e.yOffset||0;this._reset(),s.onload=()=>{this._ctx.drawImage(s,a,d,h,r),i()},s.onerror=t=>{n(t)},s.crossOrigin="anonymous",s.src=t,this._isEmpty=!1})}toDataURL(t="image/png",e){switch(t){case"image/svg+xml":return this._toSVG();default:return this.canvas.toDataURL(t,e)}}on(){this.canvas.style.touchAction="none",this.canvas.style.msTouchAction="none",window.PointerEvent?this._handlePointerEvents():(this._handleMouseEvents(),"ontouchstart"in window&&this._handleTouchEvents())}off(){this.canvas.style.touchAction="auto",this.canvas.style.msTouchAction="auto",this.canvas.removeEventListener("pointerdown",this._handlePointerStart),this.canvas.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerEnd),this.canvas.removeEventListener("mousedown",this._handleMouseDown),this.canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this.canvas.removeEventListener("touchstart",this._handleTouchStart),this.canvas.removeEventListener("touchmove",this._handleTouchMove),this.canvas.removeEventListener("touchend",this._handleTouchEnd)}isEmpty(){return this._isEmpty}fromData(t,{clear:e=!0}={}){e&&this.clear(),this._fromData(t,this._drawCurve.bind(this),this._drawDot.bind(this)),this._data=e?t:this._data.concat(t)}toData(){return this._data}_strokeBegin(t){this.dispatchEvent(new CustomEvent("beginStroke",{detail:t}));const e={dotSize:this.dotSize,minWidth:this.minWidth,maxWidth:this.maxWidth,penColor:this.penColor,points:[]};this._data.push(e),this._reset(),this._strokeUpdate(t)}_strokeUpdate(t){if(0===this._data.length)return void this._strokeBegin(t);this.dispatchEvent(new CustomEvent("beforeUpdateStroke",{detail:t}));const e=t.clientX,i=t.clientY,n=void 0!==t.pressure?t.pressure:void 0!==t.force?t.force:0,s=this._createPoint(e,i,n),o=this._data[this._data.length-1],h=o.points,r=h.length>0&&h[h.length-1],a=!!r&&s.distanceTo(r)<=this.minDistance,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}=o;if(!r||!r||!a){const t=this._addPoint(s);r?t&&this._drawCurve(t,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}):this._drawDot(s,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}),h.push({time:s.time,x:s.x,y:s.y,pressure:s.pressure})}this.dispatchEvent(new CustomEvent("afterUpdateStroke",{detail:t}))}_strokeEnd(t){this._strokeUpdate(t),this.dispatchEvent(new CustomEvent("endStroke",{detail:t}))}_handlePointerEvents(){this._drawningStroke=!1,this.canvas.addEventListener("pointerdown",this._handlePointerStart),this.canvas.addEventListener("pointermove",this._handlePointerMove),document.addEventListener("pointerup",this._handlePointerEnd)}_handleMouseEvents(){this._drawningStroke=!1,this.canvas.addEventListener("mousedown",this._handleMouseDown),this.canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)}_handleTouchEvents(){this.canvas.addEventListener("touchstart",this._handleTouchStart),this.canvas.addEventListener("touchmove",this._handleTouchMove),this.canvas.addEventListener("touchend",this._handleTouchEnd)}_reset(){this._lastPoints=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor}_createPoint(e,i,n){const s=this.canvas.getBoundingClientRect();return new t(e-s.left,i-s.top,n,(new Date).getTime())}_addPoint(t){const{_lastPoints:i}=this;if(i.push(t),i.length>2){3===i.length&&i.unshift(i[0]);const t=this._calculateCurveWidths(i[1],i[2]),n=e.fromPoints(i,t);return i.shift(),n}return null}_calculateCurveWidths(t,e){const i=this.velocityFilterWeight*e.velocityFrom(t)+(1-this.velocityFilterWeight)*this._lastVelocity,n=this._strokeWidth(i),s={end:n,start:this._lastWidth};return this._lastVelocity=i,this._lastWidth=n,s}_strokeWidth(t){return Math.max(this.maxWidth/(t+1),this.minWidth)}_drawCurveSegment(t,e,i){const n=this._ctx;n.moveTo(t,e),n.arc(t,e,i,0,2*Math.PI,!1),this._isEmpty=!1}_drawCurve(t,e){const i=this._ctx,n=t.endWidth-t.startWidth,s=2*Math.ceil(t.length());i.beginPath(),i.fillStyle=e.penColor;for(let i=0;i0?e.dotSize:(e.minWidth+e.maxWidth)/2;i.beginPath(),this._drawCurveSegment(t.x,t.y,n),i.closePath(),i.fillStyle=e.penColor,i.fill()}_fromData(e,i,n){for(const s of e){const{penColor:e,dotSize:o,minWidth:h,maxWidth:r,points:a}=s;if(a.length>1)for(let n=0;n{const i=document.createElement("path");if(!(isNaN(t.control1.x)||isNaN(t.control1.y)||isNaN(t.control2.x)||isNaN(t.control2.y))){const n=`M ${t.startPoint.x.toFixed(3)},${t.startPoint.y.toFixed(3)} C ${t.control1.x.toFixed(3)},${t.control1.y.toFixed(3)} ${t.control2.x.toFixed(3)},${t.control2.y.toFixed(3)} ${t.endPoint.x.toFixed(3)},${t.endPoint.y.toFixed(3)}`;i.setAttribute("d",n),i.setAttribute("stroke-width",(2.25*t.endWidth).toFixed(3)),i.setAttribute("stroke",e),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),s.appendChild(i)}},(t,{penColor:e,dotSize:i,minWidth:n,maxWidth:o})=>{const h=document.createElement("circle"),r=i>0?i:(n+o)/2;h.setAttribute("r",r.toString()),h.setAttribute("cx",t.x.toString()),h.setAttribute("cy",t.y.toString()),h.setAttribute("fill",e),s.appendChild(h)});const o=``;let h=s.innerHTML;if(void 0===h){const t=document.createElement("dummy"),e=s.childNodes;t.innerHTML="";for(let i=0;i")}}return i})); -//# sourceMappingURL=signature_pad.umd.min.js.map -/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0>>>>>> ca725c692 (Use signature_pad to make sure to capture the full signature image) /*! jQuery Validation Plugin - v1.19.5 - 7/1/2022 * https://jqueryvalidation.org/ @@ -346,7 +335,6 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] `+g._getLayoutTemplate("zoomCache").replace("{zoomContent}",v),typeof g.sanitizeZoomCache=="function"&&(v=g.sanitizeZoomCache(v)),E=w(C?"other":n,s,!1,"kv-preview-thumb"),E.setTokens({zoomCache:v})},_addToPreview:function(e,n){var s,o=this;return n=t.cspBuffer.stash(n),s=o.reversePreviewOrder?e.prepend(n):e.append(n),t.cspBuffer.apply(e),s},_previewDefault:function(e,n){if(s=this,i=s.$preview,!s.showPreview)return;var s,i,a,l=t.getFileName(e),d=e?e.type:"",r=e.size||0,u=s._getFileName(e,""),h=n===!0&&!s.isAjaxUpload,m=t.createObjectURL(e),c=s.fileManager.getId(e),o=s._getThumbId(c);s._clearDefaultPreview(),a=s._generatePreviewTemplate("other",m,l,d,o,c,h,r),s._addToPreview(i,a),s._setThumbAttr(o,u,r),n===!0&&s.isAjaxUpload&&s._setThumbStatus(s._getFrame(o),"Error")},_previewFile:function(e,n,s,o,i){if(!this.showPreview)return;var p,a=this,u=t.getFileName(n),c=i.type,h=i.name,m=a._parseFileType(c,u),v=a.$preview,l=n.size||0,f=m==="image"?s.target.result:o,d=a.fileManager.getId(n),r=a._getThumbId(d),g=a._generatePreviewTemplate(m,f,u,c,r,d,!1,l);a._clearDefaultPreview(),a._addToPreview(v,g),p=a._getFrame(r),a._validateImageOrientation(p.find("img"),n,r,d,h,c,l,f),a._setThumbAttr(r,h,l),a._initSortable()},_setThumbAttr:function(e,t,n){var s=this,o=s._getFrame(e);o.length&&(n=n&&n>0?s._getSize(n):"",o.data({caption:t,size:n}))},_setInitThumbAttr:function(){var e,s,i,a,r,n=this,c=n.previewCache.data,o=n.previewCache.count(!0);if(o===0)return;for(e=0;e&"']/g,"_")},_updateFileDetails:function(e,n){var o,a,c,l,d,s=this,i=s.$element,r=t.isIE(9)&&t.findFileName(i.val())||i[0].files[0]&&i[0].files[0].name;!r&&s.fileManager.count()>0?(d=s.fileManager.getFirstFile(),o=d.nameFmt):o=r?s.slug(r):"_",a=s.isAjaxUpload?s.fileManager.count():e,l=s.previewCache.count(!0)+a,c=a===1?o:s._getMsgSelected(l),s.isError?(s.$previewContainer.removeClass("file-thumb-loading"),s.$previewStatus.html(""),s.$captionContainer.removeClass("icon-visible")):s._showFileIcon(),s._setCaption(c,s.isError),s.$container.removeClass("file-input-new file-input-ajax-new"),n||s._raise("fileselect",[e,o]),s.previewCache.count(!0)&&s._initPreviewActions()},_setThumbStatus:function(e,n){if(s=this,!s.showPreview)return;var s,o="indicator"+n,r=o+"Title",c="file-preview-"+n.toLowerCase(),i=e.find(".file-upload-indicator"),a=s.fileActionSettings;e.removeClass("file-preview-success file-preview-error file-preview-paused file-preview-loading"),n==="Success"&&e.find(".file-drag-handle").remove(),t.setHtml(i,a[o]),i.attr("title",a[r]),e.addClass(c),n==="Error"&&!s.retryErrorUploads&&e.find(".kv-file-upload").attr("disabled",!0)},_setProgressCancelled:function(){var e=this;e._setProgress(101,e.$progress,e.msgCancelled)},_setProgress:function(e,n,s,o){if(i=this,n=n||i.$progress,!n.length)return;var i,a,r=Math.min(e,100),c=i.progressUploadThreshold,d=e<=100?i.progressTemplate:i.progressCompleteTemplate,l=r<100?i.progressTemplate:s?i.paused?i.progressPauseTemplate:i.progressErrorTemplate:d;e>=100&&(o=""),t.isEmpty(l)||(c&&r>c&&e<=100?a=l.setTokens({percent:c,status:i.msgUploadThreshold}):a=l.setTokens({percent:r,status:e>100?i.msgUploadEnd:r+"%"}),o=o||"",a=a.setTokens({stats:o}),t.setHtml(n,a),s&&t.setHtml(n.find('[role="progressbar"]'),s))},_hasFiles:function(){var e=this.$element[0];return!!(e&&e.files&&e.files.length)},_setFileDropZoneTitle:function(){var o,e=this,n=e.$container.find(".file-drop-zone"),s=e.dropZoneTitle;if(e.isClickable&&(o=t.isEmpty(e.$element.attr("multiple"))?e.fileSingle:e.filePlural,s+=e.dropZoneClickTitle.replace("{files}",o)),n.find("."+e.dropZoneTitleClass).remove(),!e.showPreview||n.length===0||e.fileManager.count()>0||!e.dropZoneEnabled||e.previewCache.count()>0||!e.isAjaxUpload&&e._hasFiles())return;n.find(t.FRAMES).length===0&&t.isEmpty(e.defaultPreviewContent)&&n.prepend('
    '+s+"
    "),e.$container.removeClass("file-input-new"),t.addCss(e.$container,"file-input-ajax-new")},_getStats:function(e){var s,o,n=this;return!n.showUploadStats||!e||!e.bitrate?"":(o=n._getLayoutTemplate("stats"),s=!e.elapsed||!e.bps?n.msgCalculatingTime:n.msgPendingTime.setTokens({time:t.getElapsed(Math.ceil(e.pendingBytes/e.bps))}),o.setTokens({uploadSpeed:e.bitrate,pendingTime:s}))},_setResumableProgress:function(e,t,n){var o=this,i=o.resumableManager,s=n?i:o,a=n?n.find(".file-thumb-progress"):null;s.lastProgress===0&&(s.lastProgress=e),e0&&e._getFileCount(t-1)=d:u<=d,m)return;h=l["msgImage"+a+n].setTokens({name:i,size:d}),l._showFileError(h,r),l._setPreviewError(o)},_getExifObj:function(e){var n,o=this,s=t.logMessages.exifWarning;if(e.slice(0,23)!=="data:image/jpeg;base64,"&&e.slice(0,22)!=="data:image/jpg;base64,"){n=null;return}try{n=window.piexif?window.piexif.load(e):null}catch(e){n=null,s=e&&e.message||""}return n||o._log(t.logMessages.badExifParser,{details:s}),n},setImageOrientation:function(n,s,o,i){var r,l,d,a=this,u=!n||!n.length,m=!s||!s.length,c=!1,h=u&&i&&i.attr("data-template")==="image";if(u&&m)return;d="load.fileinputimageorient",h?(n=s,s=null,n.css(a.previewSettings.image),l=e(document.createElement("div")).appendTo(i.find(".kv-file-content")),r=e(document.createElement("span")).insertBefore(n),n.css("visibility","hidden").removeClass("file-zoom-detail").appendTo(l)):c=!n.is(":visible"),n.off(d).on(d,function(){c&&(a.$preview.removeClass("hide-content"),i.find(".kv-file-content").css("visibility","hidden"));var e=n[0],u=s&&s.length?s[0]:null,m=e.offsetHeight,f=e.offsetWidth,d=t.getRotation(o);if(c&&(i.find(".kv-file-content").css("visibility","visible"),a.$preview.addClass("hide-content")),n.data("orientation",o),u&&s.data("orientation",o),o<5){t.setTransform(e,d),t.setTransform(u,d);return}var v=Math.atan(f/m),p=Math.sqrt(Math.pow(m,2)+Math.pow(f,2)),b=p?m/Math.cos(Math.PI/2+v)/p:1,g=" scale("+Math.abs(b)+")";t.setTransform(e,d+g),t.setTransform(u,d+g),h&&(n.css("visibility","visible").insertAfter(r).addClass("file-zoom-detail"),r.remove(),l.remove())})},_validateImageOrientation:function(n,s,o,i,a,r,c,l){var u,h,f,d=this,m=d.autoOrientImage;if(d.canOrientImage){n.css("image-orientation",m?"from-image":"none");return}if(f=t.getZoomSelector(o," img"),u=m?d._getExifObj(l):null,h=u?u["0th"][piexif.ImageIFD.Orientation]:null,!h){d._validateImage(o,i,a,r,c,l,u);return}d.setImageOrientation(n,e(f),h,d._getFrame(o)),d._raise("fileimageoriented",{$img:n,file:s}),d._validateImage(o,i,a,r,c,l,u)},_validateImage:function(t,n,s,o,i,a,r){var h,m,f,c=this,p=c.$preview,l=c._getFrame(t),u=l.attr("data-fileindex"),d=l.find("img");s=s||"Untitled",d.one("load",function(){m=l.width(),f=p.width(),m>f&&d.css("width","100%"),h={ind:u,id:t,fileId:n},c._checkDimensions(u,"Small",d,l,s,"Width",h),c._checkDimensions(u,"Small",d,l,s,"Height",h),c.resizeImage||(c._checkDimensions(u,"Large",d,l,s,"Width",h),c._checkDimensions(u,"Large",d,l,s,"Height",h)),c._raise("fileimageloaded",[t]),c.fileManager.addImage(n,{ind:u,img:d,thumb:l,pid:t,typ:o,siz:i,validated:!1,imgData:a,exifObj:r}),l.data("exif",r),c._validateAllImages()}).one("error",function(){c._raise("fileimageloaderror",[t])}).each(function(){this.complete?e(this).trigger("load"):this.error&&e(this).trigger("error")})},_validateAllImages:function(){var n,t=this,o={val:0},s=t.fileManager.getImageCount(),i=t.resizeIfSizeMoreThan;if(s!==t.fileManager.totalImages)return;if(t._raise("fileimagesloaded"),!t.resizeImage)return;e.each(t.fileManager.loadedImages,function(e,a){a.validated||(n=a.siz,n&&n>i*1e3&&t._getResizedImage(e,a,o,s),a.validated=!0)})},_getResizedImage:function(n,s,o,i){var l,p,g,y,x,E,a=this,b=e(s.img)[0],c=b.naturalWidth,r=b.naturalHeight,u=1,h=a.maxImageWidth||c,d=a.maxImageHeight||r,f=!!(c&&r),v=a.imageCanvas,M=a.imageCanvasContext,m=s.typ,O=s.pid,w=s.ind,S=s.thumb,C=s.exifObj,_=function(e,t,n){a.isAjaxUpload?a._showFileError(e,t,n):a._showError(e,t,n),a._setPreviewError(S)},k=a.fileManager.getFile(n),j={id:O,index:w,fileId:n},A=[n,O,w];if((!k||!f||c<=h&&r<=d)&&(f&&k&&a._raise("fileimageresized",A),o.val++,o.val===i&&a._raise("fileimagesresized"),!f)){_(a.msgImageResizeError,j,"fileimageresizeerror");return}m=m||a.resizeDefaultImageType,p=c>h,g=r>d,a.resizePreference==="width"?u=p?h/c:g?d/r:1:u=g?d/r:p?h/c:1,a._resetCanvas(),c*=u,r*=u,v.width=c,v.height=r;try{M.drawImage(b,0,0,c,r),l=v.toDataURL(m,a.resizeQuality),C&&(E=window.piexif.dump(C),l=window.piexif.insert(E,l)),y=t.dataURI2Blob(l),a.fileManager.setFile(n,y),a._raise("fileimageresized",A),o.val++,o.val===i&&a._raise("fileimagesresized",[void 0,void 0]),y instanceof Blob||_(a.msgImageResizeError,j,"fileimageresizeerror")}catch(e){o.val++,o.val===i&&a._raise("fileimagesresized",[void 0,void 0]),x=a.msgImageResizeException.replace("{errors}",e.message),_(x,j,"fileimageresizeexception")}},_showProgress:function(){var e=this;e.$progress&&e.$progress.length&&e.$progress.show()},_hideProgress:function(){var e=this;e.$progress&&e.$progress.length&&e.$progress.hide()},_initBrowse:function(e){var n=this,s=n.$element;n.showBrowse?n.$btnFile=e.find(".btn-file").append(s):(s.appendTo(e).attr("tabindex",-1),t.addCss(s,"file-no-browse"))},_initClickable:function(){var s,o,n=this;if(!n.isClickable)return;s=n.$dropZone,n.isAjaxUpload||(o=n.$preview.find(".file-default-preview"),o.length&&(s=o)),t.addCss(s,"clickable"),s.attr("tabindex",-1),n._handler(s,"click",function(t){var o=e(t.target);!e(n.elErrorContainer+":visible").length&&(!o.parents(".file-preview-thumbnails").length||o.parents(".file-default-preview").length)&&(n.$element.data("zoneClicked",!0).trigger("click"),s.blur())})},_initCaption:function(){var e=this,n=e.initialCaption||"";return e.overwriteInitial||t.isEmpty(n)?(e.$caption.val(""),!1):(e._setCaption(n),!0)},_setCaption:function(n,s){var i,a,r,c,l,d,o=this;if(!o.$caption.length)return;if(o.$captionContainer.removeClass("icon-visible"),s)i=e("
    "+o.msgValidationError+"
    ").text(),a=o.fileManager.count(),a?(d=o.fileManager.getFirstFile(),l=a===1&&d?d.nameFmt:o._getMsgSelected(a)):l=o._getMsgSelected(o.msgNo),r=t.isEmpty(n)?l:n,c=''+o.msgValidationErrorIcon+"";else{if(t.isEmpty(n))return;i=e("
    "+n+"
    ").text(),r=i,c=o._getLayoutTemplate("fileIcon")}o.$captionContainer.addClass("icon-visible"),o.$caption.attr("title",i).val(r),t.setHtml(o.$captionIcon,c)},_createContainer:function(){var e=this,s={class:"file-input file-input-new"+(e.rtl?" kv-rtl":"")},n=t.createElement(t.cspBuffer.stash(e._renderMain()));return t.cspBuffer.apply(n),n.insertBefore(e.$element).attr(s),e._initBrowse(n),e.theme&&n.addClass("theme-"+e.theme),n},_refreshContainer:function(){var e=this,n=e.$container,s=e.$element;s.insertAfter(n),t.setHtml(n,e._renderMain()),e._initBrowse(n),e._validateDisabled()},_validateDisabled:function(){var e=this;e.$caption.attr({readonly:e.isDisabled})},_renderMain:function(){var e=this,t=e.dropZoneEnabled?" file-drop-zone":"file-drop-disabled",n=e.showClose?e._getLayoutTemplate("close"):"",s=e.showPreview?e._getLayoutTemplate("preview").setTokens({class:e.previewClass,dropClass:t}):"",o=e.isDisabled?e.captionClass+" file-caption-disabled":e.captionClass,i=e.captionTemplate.setTokens({class:o+" kv-fileinput-caption"});return e.mainTemplate.setTokens({class:e.mainClass+(!e.showBrowse&&e.showCaption?" no-browse":""),preview:s,close:n,caption:i,upload:e._renderButton("upload"),remove:e._renderButton("remove"),cancel:e._renderButton("cancel"),pause:e._renderButton("pause"),browse:e._renderButton("browse")})},_renderButton:function(e){var n=this,i=n._getLayoutTemplate("btnDefault"),s=n[e+"Class"],r=n[e+"Title"],c=n[e+"Icon"],o=n[e+"Label"],l=n.isDisabled?" disabled":"",a="button";switch(e){case"remove":if(!n.showRemove)return"";break;case"cancel":if(!n.showCancel)return"";s+=" kv-hidden";break;case"pause":if(!n.showPause)return"";s+=" kv-hidden";break;case"upload":if(!n.showUpload)return"";n.isAjaxUpload&&!n.isDisabled?i=n._getLayoutTemplate("btnLink").replace("{href}",n.uploadUrl):a="submit";break;case"browse":if(!n.showBrowse)return"";i=n._getLayoutTemplate("btnBrowse");break;default:return""}return s+=e==="browse"?" btn-file":" fileinput-"+e+" fileinput-"+e+"-button",t.isEmpty(o)||(o=' '+o+""),i.setTokens({type:a,css:s,title:r,status:l,icon:c,label:o})},_renderThumbProgress:function(){var e=this;return'
    '+e.progressInfoTemplate.setTokens({percent:101,status:e.msgUploadBegin,stats:""})+"
    "},_renderFileFooter:function(e,n,s,o,i){var c,l,a=this,r=a.fileActionSettings,m=r.showRemove,d=r.showDrag,h=r.showUpload,u=r.showZoom,f=a._getLayoutTemplate("footer"),p=a._getLayoutTemplate("indicator"),g=i?r.indicatorError:r.indicatorNew,v=i?r.indicatorErrorTitle:r.indicatorNewTitle,b=p.setTokens({indicator:g,indicatorTitle:v});return s=a._getSize(s),c={type:e,caption:n,size:s,width:o,progress:"",indicator:b},a.isAjaxUpload?(c.progress=a._renderThumbProgress(),c.actions=a._renderFileActions(c,h,!1,m,u,d,!1,!1,!1)):c.actions=a._renderFileActions(c,!1,!1,!1,u,d,!1,!1,!1),l=f.setTokens(c),l=t.replaceTags(l,a.previewThumbTags),l},_renderFileActions:function(e,t,n,s,o,i,a,r,c,l,d,u){if(m=this,!e.type&&l&&(e.type="image"),m.enableResumableUpload?t=!1:typeof t=="function"&&(t=t(e)),typeof n=="function"&&(n=n(e)),typeof s=="function"&&(s=s(e)),typeof o=="function"&&(o=o(e)),typeof i=="function"&&(i=i(e)),!t&&!n&&!s&&!o&&!i)return"";var m,g,w=r===!1?"":' data-url="'+r+'"',y="",b="",v=c===!1?"":' data-key="'+c+'"',p="",j="",f="",_=m._getLayoutTemplate("actions"),h=m.fileActionSettings,O=m.otherActionButtons.setTokens({dataKey:v,key:c}),x=a?h.removeClass+" disabled":h.removeClass;return s&&(p=m._getLayoutTemplate("actionDelete").setTokens({removeClass:x,removeIcon:h.removeIcon,removeTitle:h.removeTitle,dataUrl:w,dataKey:v,key:c})),t&&(j=m._getLayoutTemplate("actionUpload").setTokens({uploadClass:h.uploadClass,uploadIcon:h.uploadIcon,uploadTitle:h.uploadTitle})),n&&(f=m._getLayoutTemplate("actionDownload").setTokens({downloadClass:h.downloadClass,downloadIcon:h.downloadIcon,downloadTitle:h.downloadTitle,downloadUrl:d||m.initialPreviewDownloadUrl}),f=f.setTokens({filename:u,key:c})),o&&(y=m._getLayoutTemplate("actionZoom").setTokens({zoomClass:h.zoomClass,zoomIcon:h.zoomIcon,zoomTitle:h.zoomTitle})),i&&l&&(g="drag-handle-init "+h.dragClass,b=m._getLayoutTemplate("actionDrag").setTokens({dragClass:g,dragTitle:h.dragTitle,dragIcon:h.dragIcon})),_.setTokens({delete:p,upload:j,download:f,zoom:y,drag:b,other:O})},_browse:function(e){var t=this;if(e&&e.isDefaultPrevented()||!t._raise("filebrowse"))return;t.isError&&!t.isAjaxUpload&&t.clear(),t.focusCaptionOnBrowse&&t.$captionContainer.focus()},_change:function(n){if(s=this,s.changeTriggered)return;var s,a,r,l,u,f=s.$element,b=arguments.length>1,i=s.isAjaxUpload,d=b?arguments[1]:f[0].files,h=s.fileManager.count(),m=t.isEmpty(f.attr("multiple")),o=!i&&m?1:s.maxFileCount,c=s.maxTotalFileCount,p=c>0&&c>o,g=m&&h>0,j=function(t,n,o,a){var r=e.extend(!0,{},s._getOutData(null,{},{},d),{id:o,index:a}),c={id:o,index:a,file:n,files:d};return s.isPersistentError=!0,i?s._showFileError(t,r):s._showError(t,c)},v=function(e,t,n){var o=n?s.msgTotalFilesTooMany:s.msgFilesTooMany,o=o.replace("{m}",t).replace("{n}",e);s.isError=j(o,null,null,null),s.$captionContainer.removeClass("icon-visible"),s._setCaption("",!0),s.$container.removeClass("file-input-new file-input-ajax-new")};if(s.reader=null,s._resetUpload(),s._hideFileIcon(),s.dropZoneEnabled&&s.$container.find(".file-drop-zone ."+s.dropZoneTitleClass).remove(),i||(n.target&&n.target.files===void 0?d=n.target.value?[{name:n.target.value.replace(/^.+\\/,"")}]:[]:d=n.target.files||{}),l=d,t.isEmpty(l)||l.length===0){i||s.clear(),s._raise("fileselectnone");return}if(s._resetErrors(),a=l.length,u=i?s.fileManager.count()+a:a,r=s._getFileCount(u,!p&&void 0),o>0&&r>o){if(!s.autoReplace||a>o){v(s.autoReplace&&a>o?a:r,o);return}r>o&&s._resetPreviewThumbs(i)}else{if(p&&(r=s._getFileCount(u,!0),c>0&&r>c)){if(!s.autoReplace||a>o){v(s.autoReplace&&a>c?a:r,c,!0);return}r>o&&s._resetPreviewThumbs(i)}!i||g?(s._resetPreviewThumbs(!1),g&&s.clearFileStack()):i&&h===0&&(!s.previewCache.count(!0)||s.overwriteInitial)&&s._resetPreviewThumbs(!0)}s.readFiles(l)},_abort:function(t){var s,n=this;return n.ajaxAborted&&typeof n.ajaxAborted=="object"&&n.ajaxAborted.message!==void 0?(s=e.extend(!0,{},n._getOutData(null),t),s.abortData=n.ajaxAborted.data||{},s.abortMessage=n.ajaxAborted.message,n._setProgress(101,n.$progress,n.msgCancelled),n._showFileError(n.ajaxAborted.message,s,"filecustomerror"),n.cancel(),!0):!!n.ajaxAborted},_resetFileStack:function(){var t=this,n=0;t._getThumbs().each(function(){var s=e(this),o=s.attr("data-fileindex"),i=s.attr("id");if(o==="-1"||o===-1)return;t.fileManager.getFile(s.attr("data-fileid"))?s.attr({"data-fileindex":"-1"}):(s.attr({"data-fileindex":n}),n++),t._getZoom(i).attr({"data-fileindex":s.attr("data-fileindex")})})},_isFileSelectionValid:function(e){var t=this;return e=e||0,t.required&&!t.getFilesCount()?(t.$errorContainer.html(""),t._showFileError(t.msgFileRequired),!1):!(t.minFileCount>0&&t._getFileCount(e)i;return!m&&(g||p||f)},addToStack:function(e,t){this.fileManager.add(e,t)},clearFileStack:function(){var e=this;return e.fileManager.clear(),e._initResumableUpload(),e.enableResumableUpload?(e.showPause===null&&(e.showPause=!0),e.showCancel===null&&(e.showCancel=!1)):(e.showPause=!1,e.showCancel===null&&(e.showCancel=!0)),e.$element},getFileStack:function(){return this.fileManager.stack},getFileList:function(){return this.fileManager.list()},getFilesCount:function(e){var t=this,n=t.isAjaxUpload?t.fileManager.count():t._inputFileCount();return e&&(n+=t.previewCache.count(!0)),t._getFileCount(n)},readFiles:function(n){this.reader=new FileReader;var r,s=this,i=s.reader,u=s.$previewContainer,c=s.$previewStatus,g=s.msgLoading,m=s.msgProgress,p=s.previewInitId,o=n.length,d=s.fileTypeSettings,a=s.allowedFileTypes,f=a?a.length:0,l=s.allowedFileExtensions,v=t.isEmpty(l)?"":l.join(", "),h=function(t,i,a,c,l){var d,u=e.extend(!0,{},s._getOutData(null,{},{},n),{id:a,index:c,fileId:l}),h={id:a,index:c,fileId:l,file:i,files:n};s._previewDefault(i,!0),d=s._getFrame(a,!0),s.isAjaxUpload?setTimeout(function(){r(c+1)},s.processDelay):(s.unlock(),o=0),s.removeFromPreviewOnError&&d.length?d.remove():(s._initFileActions(),d.find(".kv-file-upload").remove()),s.isPersistentError=!0,s.isError=s.isAjaxUpload?s._showFileError(t,u):s._showError(t,h),s._updateFileDetails(o)};s.fileManager.clearImages(),e.each(n,function(e,t){var n=s.fileTypeSettings.image;n&&n(t.type)&&s.fileManager.totalImages++}),r=function(b){if(E=s.$errorContainer,C=s.fileManager,b>=o){s.unlock(),s.duplicateErrors.length&&(N="
  • "+s.duplicateErrors.join("
  • ")+"
  • ",E.find("ul").length===0?t.setHtml(E,s.errorCloseButton+"
      "+N+"
    "):E.find("ul").append(N),E.fadeIn(s.fadeDelay),s._handler(E.find(".kv-error-close"),"click",function(){E.fadeOut(s.fadeDelay)}),s.duplicateErrors=[]),s.isAjaxUpload?(s._raise("filebatchselected",[C.stack]),C.count()===0&&!s.isError&&s.reset()):s._raise("filebatchselected",[n]),u.removeClass("file-thumb-loading"),c.html("");return}s.lock(!0);var _,w,x,C,E,k,S,M,F,T,z,D,N,W,K,q,j=n[b],P=s._getFileId(j),O=p+"-"+P,Y=d.text,I=d.image,G=d.html,y=s._getFileName(j,""),L=(j&&j.size||0)/1e3,R="",V=t.createObjectURL(j),A=0,B="",H=!1,$=0,U=function(){var e=m.setTokens({index:b+1,files:o,percent:50,name:y});setTimeout(function(){c.html(e),s._updateFileDetails(o),r(b+1)},s.processDelay),s._raise("fileloaded",[j,O,P,b,i])&&s.isAjaxUpload&&C.add(j)};if(!j)return;if(x=C.getId(j),f>0)for(w=0;w0&&L>s.maxFileSize){_=s.msgSizeTooLarge.setTokens({name:y,size:k,maxSize:s.maxFileSize}),h(_,j,O,b,x);return}if(s.minFileSize!==null&&L<=t.getNum(s.minFileSize)){_=s.msgSizeTooSmall.setTokens({name:y,size:k,minSize:s.minFileSize}),h(_,j,O,b,x);return}if(!t.isEmpty(a)&&t.isArray(a)){for(w=0;w0)for(n=0;n0)for(s=0;s0?n.initialCaption:"",n.$caption.attr("title","").val(s),t.addCss(n.$container,"file-input-new"),n._validateDefaultPreview()),n.$container.find(t.FRAMES).length===0&&(n._initCaption()||n.$captionContainer.removeClass("icon-visible")),n._hideFileIcon(),n.focusCaptionOnClear&&n.$captionContainer.focus(),n._setFileDropZoneTitle(),n._raise("filecleared"),n.$element},reset:function(){var e=this;if(!e._raise("filereset"))return;return e.lastProgress=0,e._resetPreview(),e.$container.find(".fileinput-filename").text(""),t.addCss(e.$container,"file-input-new"),e.getFrames().length&&e.$container.removeClass("file-input-new"),e.clearFileStack(),e._setFileDropZoneTitle(),e.$element},disable:function(){var e=this,n=e.$container;return e.isDisabled=!0,e._raise("filedisabled"),e.$element.attr("disabled","disabled"),n.addClass("is-locked"),t.addCss(n.find(".btn-file"),"disabled"),n.find(".kv-fileinput-caption").addClass("file-caption-disabled"),n.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").attr("disabled",!0),e._initDragDrop(),e.$element},enable:function(){var e=this,t=e.$container;return e.isDisabled=!1,e._raise("fileenabled"),e.$element.removeAttr("disabled"),t.removeClass("is-locked"),t.find(".kv-fileinput-caption").removeClass("file-caption-disabled"),t.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").removeAttr("disabled"),t.find(".btn-file").removeClass("disabled"),e._initDragDrop(),e.$element},upload:function(){var o,a,n=this,i=n.fileManager,s=i.count(),r=!e.isEmptyObject(n._getExtraData());if(!n.isAjaxUpload||n.isDisabled||!n._isFileSelectionValid(s))return;if(n.lastProgress=0,n._resetUpload(),s===0&&!r){n._showFileError(n.msgUploadEmpty);return}if(n.cancelling=!1,n._showProgress(),n.lock(),s===0&&r){n._setProgress(2),n._uploadExtraOnly();return}if(n.enableResumableUpload)return n.resume();if((n.uploadAsync||n.enableResumableUpload)&&(a=n._getOutData(null),n._raise("filebatchpreupload",[a]),n.fileBatchCompleted=!1,n.uploadCache=[],e.each(n.getFileStack(),function(e){var t=n._getThumbId(e);n.uploadCache.push({id:t,content:null,config:null,tags:null,append:!0})}),n.$preview.find(".file-preview-initial").removeClass(t.SORT_CSS),n._initSortable()),n._setProgress(2),n.hasInitData=!1,n.uploadAsync){o=0,e.each(i.stack,function(e){n._uploadSingle(o,e,!0),o++});return}return n._uploadBatch(),n.$element},destroy:function(){var t=this,s=t.$form,o=t.$container,i=t.$element,n=t.namespace;return e(document).off(n),e(window).off(n),s&&s.length&&s.off(n),t.isAjaxUpload&&t._clearFileInput(),t._cleanup(),t._initPreviewCache(),i.insertBefore(o).off(n).removeData(),o.off().remove(),i},refresh:function(n){var s=this,o=s.$element;return typeof n!="object"||t.isEmpty(n)?n=s.options:n=e.extend(!0,{},s.options,n),s._init(n,!0),s._listen(),o},zoom:function(e){var t=this,n=t._getFrame(e);t._showModal(n)},getExif:function(e){var n=this,t=n._getFrame(e);return t&&t.data("exif")||null},getFrames:function(n){var s,o=this;return n=n||"",s=o.$preview.find(t.FRAMES+n),o.reversePreviewOrder&&(s=e(s.get().reverse())),s},getPreview:function(){var e=this;return{content:e.initialPreview,config:e.initialPreviewConfig,tags:e.initialPreviewThumbTags}}},e.fn.fileinput=function(s){if(!t.hasFileAPISupport()&&!t.isIE(9))return;var i=Array.apply(null,arguments),o=[];switch(i.shift(),this.each(function(){var m,a=e(this),r=a.data("fileinput"),c=typeof s=="object"&&s,d=c.theme||a.data("theme"),u={},h={},l=c.language||a.data("language")||e.fn.fileinput.defaults.language||"en";r||(d&&(h=e.fn.fileinputThemes[d]||{}),l!=="en"&&!t.isEmpty(e.fn.fileinputLocales[l])&&(u=e.fn.fileinputLocales[l]||{}),m=e.extend(!0,{},e.fn.fileinput.defaults,h,e.fn.fileinputLocales.en,u,c,a.data()),r=new n(this,m),a.data("fileinput",r)),typeof s=="string"&&o.push(r[s].apply(r,i))}),o.length){case 0:return this;case 1:return o[0];default:return o}};var t,n,s='class="kv-preview-data file-preview-pdf" src="{renderer}?file={data}" {style}';e.fn.fileinput.defaults={language:"en",showCaption:!0,showBrowse:!0,showPreview:!0,showRemove:!0,showUpload:!0,showUploadStats:!0,showCancel:null,showPause:null,showClose:!0,showUploadedThumbs:!0,showConsoleLogs:!1,browseOnZoneClick:!1,autoReplace:!1,autoOrientImage:function(){var e=window.navigator.userAgent,t=!!e.match(/WebKit/i),n=!!e.match(/iP(od|ad|hone)/i),s=n&&t&&!e.match(/CriOS/i);return!s},autoOrientImageInitial:!0,required:!1,rtl:!1,hideThumbnailContent:!1,encodeUrl:!0,focusCaptionOnBrowse:!0,focusCaptionOnClear:!0,generateFileId:null,previewClass:"",captionClass:"",frameClass:"krajee-default",mainClass:"file-caption-main",mainTemplate:null,fileSizeGetter:null,initialCaption:"",initialPreview:[],initialPreviewDelimiter:"*$$*",initialPreviewAsData:!1,initialPreviewFileType:"image",initialPreviewConfig:[],initialPreviewThumbTags:[],previewThumbTags:{},initialPreviewShowDelete:!0,initialPreviewDownloadUrl:"",removeFromPreviewOnError:!1,deleteUrl:"",deleteExtraData:{},overwriteInitial:!0,sanitizeZoomCache:function(e){var n=t.createElement(e);return n.find("input,textarea,select,datalist,form,.file-thumbnail-footer").remove(),n.html()},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewZoomButtonClasses:{prev:"btn btn-navigate",next:"btn btn-navigate",toggleheader:"btn btn-sm btn-kv btn-default btn-outline-secondary",fullscreen:"btn btn-sm btn-kv btn-default btn-outline-secondary",borderless:"btn btn-sm btn-kv btn-default btn-outline-secondary",close:"btn btn-sm btn-kv btn-default btn-outline-secondary"},previewTemplates:{},previewContentTemplates:{},preferIconicPreview:!1,preferIconicZoomPreview:!1,allowedFileTypes:null,allowedFileExtensions:null,allowedPreviewTypes:void 0,allowedPreviewMimeTypes:null,allowedPreviewExtensions:null,disabledPreviewTypes:void 0,disabledPreviewExtensions:["msi","exe","com","zip","rar","app","vb","scr"],disabledPreviewMimeTypes:null,defaultPreviewContent:null,customLayoutTags:{},customPreviewTags:{},previewFileIcon:'',previewFileIconClass:"file-other-icon",previewFileIconSettings:{},previewFileExtSettings:{},buttonLabelClass:"hidden-xs",browseIcon:' ',browseClass:"btn btn-primary",removeIcon:'',removeClass:"btn btn-default btn-secondary",cancelIcon:'',cancelClass:"btn btn-default btn-secondary",pauseIcon:'',pauseClass:"btn btn-default btn-secondary",uploadIcon:'',uploadClass:"btn btn-default btn-secondary",uploadUrl:null,uploadUrlThumb:null,uploadAsync:!0,uploadParamNames:{chunkCount:"chunkCount",chunkIndex:"chunkIndex",chunkSize:"chunkSize",chunkSizeStart:"chunkSizeStart",chunksUploaded:"chunksUploaded",fileBlob:"fileBlob",fileId:"fileId",fileName:"fileName",fileRelativePath:"fileRelativePath",fileSize:"fileSize",retryCount:"retryCount"},maxAjaxThreads:5,fadeDelay:800,processDelay:100,queueDelay:10,progressDelay:0,enableResumableUpload:!1,resumableUploadOptions:{fallback:null,testUrl:null,chunkSize:2*1024,maxThreads:4,maxRetries:3,showErrorLog:!0},uploadExtraData:{},zoomModalHeight:480,minImageWidth:null,minImageHeight:null,maxImageWidth:null,maxImageHeight:null,resizeImage:!1,resizePreference:"width",resizeQuality:.92,resizeDefaultImageType:"image/jpeg",resizeIfSizeMoreThan:0,minFileSize:-1,maxFileSize:0,maxFilePreviewSize:25600,minFileCount:0,maxFileCount:0,maxTotalFileCount:0,validateInitialCount:!1,msgValidationErrorClass:"text-danger",msgValidationErrorIcon:' ',msgErrorClass:"file-error-message",progressThumbClass:"progress-bar progress-bar-striped active progress-bar-animated",progressClass:"progress-bar bg-success progress-bar-success progress-bar-striped active progress-bar-animated",progressInfoClass:"progress-bar bg-info progress-bar-info progress-bar-striped active progress-bar-animated",progressCompleteClass:"progress-bar bg-success progress-bar-success",progressPauseClass:"progress-bar bg-primary progress-bar-primary progress-bar-striped active progress-bar-animated",progressErrorClass:"progress-bar bg-danger progress-bar-danger",progressUploadThreshold:99,previewFileType:"image",elCaptionContainer:null,elCaptionText:null,elCaptionLabelText:null,elPreviewContainer:null,elPreviewImage:null,elPreviewStatus:null,elErrorContainer:null,errorCloseButton:t.closeButton("kv-error-close"),slugCallback:null,dropZoneEnabled:!0,dropZoneTitleClass:"file-drop-zone-title",fileActionSettings:{},otherActionButtons:"",textEncoding:"UTF-8",preProcessUpload:null,ajaxSettings:{},ajaxDeleteSettings:{},showAjaxErrorDetails:!0,mergeAjaxCallbacks:!1,mergeAjaxDeleteCallbacks:!1,retryErrorUploads:!0,reversePreviewOrder:!1,usePdfRenderer:function(){var e=!!window.MSInputMethodContext&&!!document.documentMode;return!!navigator.userAgent.match(/(iPod|iPhone|iPad|Android)/i)||e},pdfRendererUrl:"",pdfRendererTemplate:""},e.fn.fileinputLocales.en={fileSingle:"file",filePlural:"files",browseLabel:"Browse …",removeLabel:"Remove",removeTitle:"Clear all unprocessed files",cancelLabel:"Cancel",cancelTitle:"Abort ongoing upload",pauseLabel:"Pause",pauseTitle:"Pause ongoing upload",uploadLabel:"Upload",uploadTitle:"Upload selected files",msgNo:"No",msgNoFilesSelected:"No files selected",msgCancelled:"Cancelled",msgPaused:"Paused",msgPlaceholder:"Select {files} ...",msgZoomModalHeading:"Detailed Preview",msgFileRequired:"You must select a file to upload.",msgSizeTooSmall:'File "{name}" ({size} KB) is too small and must be larger than {minSize} KB.',msgSizeTooLarge:'File "{name}" ({size} KB) exceeds maximum allowed upload size of {maxSize} KB.',msgFilesTooLess:"You must select at least {n} {files} to upload.",msgFilesTooMany:"Number of files selected for upload ({n}) exceeds maximum allowed limit of {m}.",msgTotalFilesTooMany:"You can upload a maximum of {m} files ({n} files detected).",msgFileNotFound:'File "{name}" not found!',msgFileSecured:'Security restrictions prevent reading the file "{name}".',msgFileNotReadable:'File "{name}" is not readable.',msgFilePreviewAborted:'File preview aborted for "{name}".',msgFilePreviewError:'An error occurred while reading the file "{name}".',msgInvalidFileName:'Invalid or unsupported characters in file name "{name}".',msgInvalidFileType:'Invalid type for file "{name}". Only "{types}" files are supported.',msgInvalidFileExtension:'Invalid extension for file "{name}". Only "{extensions}" files are supported.',msgFileTypes:{image:"image",html:"HTML",text:"text",video:"video",audio:"audio",flash:"flash",pdf:"PDF",object:"object"},msgUploadAborted:"The file upload was aborted",msgUploadThreshold:"Processing …",msgUploadBegin:"Initializing …",msgUploadEnd:"Done",msgUploadResume:"Resuming upload …",msgUploadEmpty:"No valid data available for upload.",msgUploadError:"Upload Error",msgDeleteError:"Delete Error",msgProgressError:"Error",msgValidationError:"Validation Error",msgLoading:"Loading file {index} of {files} …",msgProgress:"Loading file {index} of {files} - {name} - {percent}% completed.",msgSelected:"{n} {files} selected",msgFoldersNotAllowed:"Drag & drop files only! {n} folder(s) dropped were skipped.",msgImageWidthSmall:'Width of image file "{name}" must be at least {size} px.',msgImageHeightSmall:'Height of image file "{name}" must be at least {size} px.',msgImageWidthLarge:'Width of image file "{name}" cannot exceed {size} px.',msgImageHeightLarge:'Height of image file "{name}" cannot exceed {size} px.',msgImageResizeError:"Could not get the image dimensions to resize.",msgImageResizeException:"Error while resizing the image.
    {errors}
    ",msgAjaxError:"Something went wrong with the {operation} operation. Please try again later!",msgAjaxProgressError:"{operation} failed",msgDuplicateFile:'File "{name}" of same size "{size} KB" has already been selected earlier. Skipping duplicate selection.',msgResumableUploadRetriesExceeded:"Upload aborted beyond {max} retries for file {file}! Error Details:
    {error}
    ",msgPendingTime:"{time} remaining",msgCalculatingTime:"calculating time remaining",ajaxOperations:{deleteThumb:"file delete",uploadThumb:"file upload",uploadBatch:"batch file upload",uploadExtra:"form data upload"},dropZoneTitle:"Drag & drop files here …",dropZoneClickTitle:"
    (or click to select {files})",previewZoomButtonTitles:{prev:"View previous file",next:"View next file",toggleheader:"Toggle header",fullscreen:"Toggle full screen",borderless:"Toggle borderless mode",close:"Close detailed preview"}},e.fn.fileinput.Constructor=n,e(document).ready(function(){var t=e("input.file[type=file]");t.length&&t.fileinput()})}); /*! -<<<<<<< HEAD * bootstrap-fileinput v5.1.3 * http://plugins.krajee.com/file-input * @@ -359,62 +347,8 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md */(function(e){"use strict";e.fn.fileinputThemes.fas={fileActionSettings:{removeIcon:'',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:''},layoutTemplates:{fileIcon:' '},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' '}})(window.jQuery); -if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daIsEmpty,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,daIsEmpty=1,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()})},500),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daNewCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daIsEmpty&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})}function daResizeCanvas(){setTimeout(function(){var e=$("#dasigcanvas")[0],t=e.getContext("2d"),n=t.getImageData(0,0,e.width,e.height);daNewCanvas(),t=$("#dasigcanvas")[0].getContext("2d"),t.putImageData(n,0,0)},200)}function daSaveCanvas(){var e=document.getElementById("dasigcanvas").toDataURL();daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o
    ':'
    '},disable:function(){this.$element.prop("disabled",!0),this.$button.attr("disabled",!0),this.disabled=!0,this.$container.addClass("combobox-disabled")},enable:function(){this.$element.prop("disabled",!1),this.$button.attr("disabled",!1),this.disabled=!1,this.$container.removeClass("combobox-disabled")},parse:function(){var a=this,n={},s={},o=[],t=!1,i="";return this.$source.find("option").each(function(){var r=e(this);if(r.val()===""){a.options.placeholder=r.text();return}n[r.text()]=r.val(),s[r.val()]=r.text(),o.push(r.text()),r.prop("selected")&&(t=r.text(),i=r.val())}),this.map=n,this.revMap=s,t?(this.$element.val(t),this.$target.val(i),this.$container.addClass("combobox-selected"),this.selected=!0):(this.$container.removeClass("combobox-selected"),this.selected=!1),o},transferAttributes:function(){if(this.options.placeholder=this.$source.attr("data-placeholder")||this.options.placeholder,this.options.appendId!=="undefined"&&(this.$element.attr("id",this.$source.attr("id")),this.$source.attr("id",this.$source.attr("id")+this.options.appendId),daComboBoxes[this.$element.attr("id")]=this),this.$menu.attr("id",this.$element.attr("id")+"menu"),this.$element.attr("aria-controls",this.$menu.attr("id")),this.$element.attr("aria-owns",this.$menu.attr("id")),this.$button.attr("aria-controls",this.$menu.attr("id")),this.$button.attr("aria-label",this.$source.attr("aria-label")),this.$button.attr("aria-labelledby",this.$source.attr("aria-labelledby")),this.$button.attr("aria-describedby",this.$source.attr("aria-describedby")),this.$element.attr("placeholder",this.options.placeholder),this.$target.prop("name",this.$source.prop("name")),this.$target.val(this.$source.val()),this.$source.removeAttr("name"),this.$element.attr("required",this.$source.attr("required")),this.$element.attr("rel",this.$source.attr("rel")),this.$element.attr("title",this.$source.attr("title")),this.$element.attr("class",this.$source.attr("class")),this.$element.attr("tabindex",this.$source.attr("tabindex")),this.$source.removeAttr("tabindex"),!this.$target.val()&&this.$source.data("default")){var e=this.$source.data("default");this.$element.val(e),this.$target.val(e)}this.$source.attr("disabled")!==void 0&&this.disable()},select:function(){var t,e=this.$menu.find(".active").attr("data-value");this.$container.parent().find(".da-has-error").remove(),this.$element.val(this.updater(e)),t=this.$target.val(),t!=this.map[e]&&this.$target.val(this.map[e]),t=this.$source.val(),t!=this.map[e]&&this.$source.val(this.map[e]).trigger("change"),this.$container.addClass("combobox-selected"),this.selected=!0,this.hide()},manualSelect:function(e){var t,n=!1;this.$container.parent().find(".da-has-error").remove(),e!==""&&this.revMap[e]!==void 0?(this.$element.val(this.revMap[e]),n=!0):this.$element.val(e),t=this.$target.val(),t!=e&&this.$target.val(e),t=this.$source.val(),t!=e&&this.$source.val(e).trigger("change"),e!==""&&n&&(this.$container.addClass("combobox-selected"),this.selected=!0)},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.hidden=!1,this.$element.attr("aria-expanded",!0),this.$button.attr("aria-expanded",!0),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.hidden=!0,this.$element.on("blur",e.proxy(this.blur,this)),this.$element.attr("aria-expanded",!1),this.$button.attr("aria-expanded",!1),this.shown=!1,this},lookup:function(){this.query=this.$element.val(),this.process(this.source)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){for(var t,n=[],s=[],o=[];t=e.shift();)t.toLowerCase().indexOf(this.query.toLowerCase())?~t.indexOf(this.query)?s.push(t):o.push(t):n.push(t);return n.concat(s,o)},highlighter:function(e){var t=this.query.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");return t?e.replace(new RegExp("("+t+")","ig"),function(e,t){return""+t+""}):e},render:function(t){var n=this;return t=e(t).map(function(t,s){return t=e(n.options.item).attr("data-value",s).attr("aria-label",s),t.attr("id",n.$element.attr("id")+"-option-"+s),t.html(n.highlighter(s)),t[0]}),this.setActive(t.first()),this.$menu.html(t),this},setActive:function(e){e.addClass("active").attr("aria-selected",!0),this.$element.attr("aria-activedescendant",e.attr("id"))},swapActive:function(e,t){e.removeClass("active").attr("aria-selected",!1),this.setActive(t)},next:function(){var s=this.$menu.find('[aria-selected="true"]'),n=s.next();n.length||(n=e(this.$menu.find("li")[0])),this.swapActive(s,n)},prev:function(){var n=this.$menu.find('[aria-selected="true"]'),t=n.prev();t.length||(t=this.$menu.find("li").last()),this.swapActive(n,t)},toggle:function(e){return this.disabled||(this.$container.hasClass("combobox-selected")?(this.clearTarget(),this.$source.trigger("change"),this.clearElement(),this.$element.attr("aria-expanded",!1),this.$button.attr("aria-expanded",!1)):this.shown?(this.$element.attr("aria-expanded",!1),this.$button.attr("aria-expanded",!1),this.hide()):(this.$element.attr("aria-expanded",!0),this.$button.attr("aria-expanded",!0),this.clearElement(),this.lookup())),e&&(e.preventDefault(),e.stopPropagation()),!1},clearElement:function(){this.$element.val("").focus()},clearTarget:function(){this.$source.val(""),this.$target.val(""),this.$container.removeClass("combobox-selected"),this.selected=!1},refresh:function(){this.source=this.parse(),this.options.items=this.source.length},listen:function(){this.$element.on("focus",e.proxy(this.focus,this)).on("change",e.proxy(this.change,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this)).on("mousedown","li",e.proxy(this.mousedown,this)),this.$button.on("click touchend",e.proxy(this.toggle,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev(),this.fixMenuScroll();break;case 40:e.preventDefault(),this.next(),this.fixMenuScroll();break}e.stopPropagation()},fixMenuScroll:function(){var t,n,s,o,e=this.$menu.find(".active");e.length&&(this.$element.attr("aria-activedescendant",e.attr("id")),t=e.position().top,n=t+e.height(),s=this.$menu.scrollTop(),o=this.$menu.height(),n>o?this.$menu.scrollTop(s+n-o):t<0&&this.$menu.scrollTop(s+t))},setActiveDescendant:function(t){this.mousedover&&this.swapActive(this.$menu.find(".active"),e(t.currentTarget))},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(t){switch(t.keyCode){case 40:this.shown||this.toggle();break;case 39:case 38:case 37:case 36:case 35:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;if(this.selected){for(var i=this.$element.val(),s=this.$menu.find("li"),o=s.length,n=0;n',item:'',appendId:"combobox",clearIfNoMatch:!1},e.fn.combobox.Constructor=t})(window.jQuery) -======= -* bootstrap-fileinput v5.1.3 -* http://plugins.krajee.com/file-input -* -* Font Awesome 5 icon theme configuration for bootstrap-fileinput. Requires font awesome 5 assets to be loaded. -* -* Author: Kartik Visweswaran -* Copyright: 2014 - 2020, Kartik Visweswaran, Krajee.com -* -* Licensed under the BSD-3-Clause -* https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md -*/(function($){"use strict";$.fn.fileinputThemes.fas={fileActionSettings:{removeIcon:'',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:'',},layoutTemplates:{fileIcon:' ',},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:'',},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' ',};})(window.jQuery); if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daSigPad,daPrevCanvasWidth,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),daPrevCanvasWidth=$("#dasigcanvas").width(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()}),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daClearCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daCanvasIsEmpty()&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})},500)}function daClearCanvas(){daSigPad.clear()}function daCanvasIsEmpty(){return daSigPad.isEmpty()}function daResizeCanvas(){setTimeout(function(){var e,n,t=daSigPad.toData();daNewCanvas(),e=$("#dasigcanvas").width(),n=e/daPrevCanvasWidth,daPrevCanvasWidth=e,daScaleSignaturePad(t,n),daSigPad.fromData(t)},200)}function daScaleSignaturePad(e,t){e.forEach(e=>{e.points.forEach(e=>{e.x*=t,e.y*=t})})}function daSaveCanvas(){var e=daSigPad.toDataURL("image/png");daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),daSigPad=new SignaturePad($("#dasigcanvas")[0],{dotSize:daTheWidth/1.75,maxWidth:daTheWidth,penColor:daColor}),setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o '+ -'
    '+ -'
    ';}else{return '
    '+ -'
    '+ -'
    '+ -'
    ';}},disable:function(){this.$element.prop("disabled",true);this.$button.attr("disabled",true);this.disabled=true;this.$container.addClass("combobox-disabled");},enable:function(){this.$element.prop("disabled",false);this.$button.attr("disabled",false);this.disabled=false;this.$container.removeClass("combobox-disabled");},parse:function(){var that=this,map={},source=[],selected=false,selectedValue="";this.$source.find("option").each(function(){var option=$(this);if(option.val()===""){that.options.placeholder=option.text();return;} -map[option.text()]=option.val();source.push(option.text());if(option.prop("selected")){selected=option.text();selectedValue=option.val();}});this.map=map;if(selected){this.$element.val(selected);this.$target.val(selectedValue);this.$container.addClass("combobox-selected");this.selected=true;} -return source;},transferAttributes:function(){this.options.placeholder=this.$source.attr("data-placeholder")||this.options.placeholder;if(this.options.appendId!=="undefined"){this.$element.attr("id",this.$source.attr("id"));this.$source.attr("id",this.$source.attr("id")+this.options.appendId);daComboBoxes[this.$element.attr("id")]=this;} -this.$menu.attr("id",this.$element.attr("id")+"menu");this.$element.attr("aria-controls",this.$menu.attr("id"));this.$element.attr("aria-owns",this.$menu.attr("id"));this.$button.attr("aria-controls",this.$menu.attr("id"));this.$button.attr("aria-label",this.$source.attr("aria-label"));this.$button.attr("aria-labelledby",this.$source.attr("aria-labelledby"));this.$button.attr("aria-describedby",this.$source.attr("aria-describedby"));this.$element.attr("placeholder",this.options.placeholder);this.$target.prop("name",this.$source.prop("name"));this.$target.val(this.$source.val());this.$source.removeAttr("name");this.$element.attr("required",this.$source.attr("required"));this.$element.attr("rel",this.$source.attr("rel"));this.$element.attr("title",this.$source.attr("title"));this.$element.attr("class",this.$source.attr("class"));this.$element.attr("tabindex",this.$source.attr("tabindex"));this.$source.removeAttr("tabindex");if(!this.$target.val()&&this.$source.data("default")){var defaultVal=this.$source.data("default");this.$element.val(defaultVal);this.$target.val(defaultVal);} -if(this.$source.attr("disabled")!==undefined)this.disable();},select:function(){var val=this.$menu.find(".active").attr("data-value");var oldVal;this.$container.parent().find(".da-has-error").remove();this.$element.val(this.updater(val));oldVal=this.$target.val();if(oldVal!=this.map[val]){this.$target.val(this.map[val]);} -oldVal=this.$source.val();if(oldVal!=this.map[val]){this.$source.val(this.map[val]).trigger("change");} -this.$container.addClass("combobox-selected");this.selected=true;this.hide();return;},updater:function(item){return item;},show:function(){var pos=$.extend({},this.$element.position(),{height:this.$element[0].offsetHeight,});this.$menu.insertAfter(this.$element).css({top:pos.top+pos.height,left:pos.left,}).show();this.hidden=false;this.$element.attr("aria-expanded",true);this.$button.attr("aria-expanded",true);this.shown=true;return this;},hide:function(){this.$menu.hide();this.hidden=true;this.$element.on("blur",$.proxy(this.blur,this));this.$element.attr("aria-expanded",false);this.$button.attr("aria-expanded",false);this.shown=false;return this;},lookup:function(event){this.query=this.$element.val();this.process(this.source);},process:function(items){var that=this;items=$.grep(items,function(item){return that.matcher(item);});items=this.sorter(items);if(!items.length){return this.shown?this.hide():this;} -return this.render(items.slice(0,this.options.items)).show();},matcher:function(item){return~item.toLowerCase().indexOf(this.query.toLowerCase());},sorter:function(items){var beginswith=[],caseSensitive=[],caseInsensitive=[],item;while((item=items.shift())){if(!item.toLowerCase().indexOf(this.query.toLowerCase())){beginswith.push(item);}else if(~item.indexOf(this.query)){caseSensitive.push(item);}else{caseInsensitive.push(item);}} -return beginswith.concat(caseSensitive,caseInsensitive);},highlighter:function(item){var query=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");if(!query){return item;} -return item.replace(new RegExp("("+query+")","ig"),function($1,match){return ""+match+"";});},render:function(items){var that=this;items=$(items).map(function(i,item){i=$(that.options.item).attr("data-value",item).attr("aria-label",item);i.attr("id",that.$element.attr("id")+"-option-"+item) -i.html(that.highlighter(item));return i[0];});this.setActive(items.first());this.$menu.html(items);return this;},setActive:function(elem){elem.addClass("active").attr("aria-selected",true);this.$element.attr("aria-activedescendant",elem.attr("id"));},swapActive:function(oldElem,newElem){oldElem.removeClass("active").attr("aria-selected",false);this.setActive(newElem);},next:function(event){var active=this.$menu.find('[aria-selected="true"]');var next=active.next();if(!next.length){next=$(this.$menu.find("li")[0]);} -this.swapActive(active,next);},prev:function(event){var active=this.$menu.find('[aria-selected="true"]');var prev=active.prev();if(!prev.length){prev=this.$menu.find("li").last();} -this.swapActive(active,prev);},toggle:function(e){if(!this.disabled){if(this.$container.hasClass("combobox-selected")){this.clearTarget();this.$source.trigger("change");this.clearElement();this.$element.attr("aria-expanded",false);this.$button.attr("aria-expanded",false);}else{if(this.shown){this.$element.attr("aria-expanded",false);this.$button.attr("aria-expanded",false);this.hide();}else{this.$element.attr("aria-expanded",true);this.$button.attr("aria-expanded",true);this.clearElement();this.lookup();}}} -if(e){e.preventDefault();e.stopPropagation();} -return false;},clearElement:function(){this.$element.val("").focus();},clearTarget:function(){this.$source.val("");this.$target.val("");this.$container.removeClass("combobox-selected");this.selected=false;},refresh:function(){this.source=this.parse();this.options.items=this.source.length;},listen:function(){this.$element.on("focus",$.proxy(this.focus,this)).on("change",$.proxy(this.change,this)).on("blur",$.proxy(this.blur,this)).on("keypress",$.proxy(this.keypress,this)).on("keyup",$.proxy(this.keyup,this));if(this.eventSupported("keydown")){this.$element.on("keydown",$.proxy(this.keydown,this));} -this.$menu.on("click",$.proxy(this.click,this)).on("mouseenter","li",$.proxy(this.mouseenter,this)).on("mouseleave","li",$.proxy(this.mouseleave,this)).on("mousedown","li",$.proxy(this.mousedown,this));this.$button.on("click touchend",$.proxy(this.toggle,this));},eventSupported:function(eventName){var isSupported=eventName in this.$element;if(!isSupported){this.$element.setAttribute(eventName,"return;");isSupported=typeof this.$element[eventName]==="function";} -return isSupported;},move:function(e){if(!this.shown){return;} -switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault();this.prev();this.fixMenuScroll();break;case 40:e.preventDefault();this.next();this.fixMenuScroll();break;} -e.stopPropagation();},fixMenuScroll:function(){var active=this.$menu.find(".active");if(active.length){this.$element.attr("aria-activedescendant",active.attr("id")) -var top=active.position().top;var bottom=top+active.height();var scrollTop=this.$menu.scrollTop();var menuHeight=this.$menu.height();if(bottom>menuHeight){this.$menu.scrollTop(scrollTop+bottom-menuHeight);}else if(top<0){this.$menu.scrollTop(scrollTop+top);}}},setActiveDescendant:function(e){if(this.mousedover){this.swapActive(this.$menu.find(".active"),$(e.currentTarget));}},keydown:function(e){this.suppressKeyPressRepeat=~$.inArray(e.keyCode,[40,38,9,13,27]);this.move(e);},keypress:function(e){if(this.suppressKeyPressRepeat){return;} -this.move(e);},keyup:function(e){switch(e.keyCode){case 40:if(!this.shown){this.toggle();} -break;case 39:case 38:case 37:case 36:case 35:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown){return;} -if(!this.selected){this.select();}else{var val=this.$element.val();var opts=this.$menu.find("li");var n=opts.length;for(var i=0;i',item:'',appendId:"combobox",clearIfNoMatch:false,};$.fn.combobox.Constructor=Combobox;})(window.jQuery); ->>>>>>> ca725c692 (Use signature_pad to make sure to capture the full signature image) +(function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.combobox.defaults,n),this.template=this.options.template||this.template,this.$source=e(t),this.$container=this.setup(),this.$element=this.$container.find("input[type=text]"),this.$target=this.$container.find("input[type=hidden]"),this.mousedover=!1,this.$source.attr("disabled")!==void 0&&this.$target.prop("disabled",!0),this.$button=this.$container.find(".dacomboboxtoggle"),this.$menu=e(this.options.menu).insertAfter(this.$element),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.clearIfNoMatch=this.options.clearIfNoMatch,this.shown=!1,this.selected=!1,this.refresh(),this.transferAttributes(),this.listen()};t.prototype={constructor:t,setup:function(){var t=e(this.template());return this.$source.before(t),this.$source.hide(),t},template:function(){return this.options.bsVersion=="2"?'
    ':'
    '},disable:function(){this.$element.prop("disabled",!0),this.$button.attr("disabled",!0),this.disabled=!0,this.$container.addClass("combobox-disabled")},enable:function(){this.$element.prop("disabled",!1),this.$button.attr("disabled",!1),this.disabled=!1,this.$container.removeClass("combobox-disabled")},parse:function(){var a=this,n={},s={},o=[],t=!1,i="";return this.$source.find("option").each(function(){var r=e(this);if(r.val()===""){a.options.placeholder=r.text();return}n[r.text()]=r.val(),s[r.val()]=r.text(),o.push(r.text()),r.prop("selected")&&(t=r.text(),i=r.val())}),this.map=n,this.revMap=s,t?(this.$element.val(t),this.$target.val(i),this.$container.addClass("combobox-selected"),this.selected=!0):(this.$container.removeClass("combobox-selected"),this.selected=!1),o},transferAttributes:function(){if(this.options.placeholder=this.$source.attr("data-placeholder")||this.options.placeholder,this.options.appendId!=="undefined"&&(this.$element.attr("id",this.$source.attr("id")),this.$source.attr("id",this.$source.attr("id")+this.options.appendId),daComboBoxes[this.$element.attr("id")]=this),this.$menu.attr("id",this.$element.attr("id")+"menu"),this.$element.attr("aria-controls",this.$menu.attr("id")),this.$element.attr("aria-owns",this.$menu.attr("id")),this.$button.attr("aria-controls",this.$menu.attr("id")),this.$button.attr("aria-label",this.$source.attr("aria-label")),this.$button.attr("aria-labelledby",this.$source.attr("aria-labelledby")),this.$button.attr("aria-describedby",this.$source.attr("aria-describedby")),this.$element.attr("placeholder",this.options.placeholder),this.$target.prop("name",this.$source.prop("name")),this.$target.val(this.$source.val()),this.$source.removeAttr("name"),this.$element.attr("required",this.$source.attr("required")),this.$element.attr("rel",this.$source.attr("rel")),this.$element.attr("title",this.$source.attr("title")),this.$element.attr("class",this.$source.attr("class")),this.$element.attr("tabindex",this.$source.attr("tabindex")),this.$source.removeAttr("tabindex"),!this.$target.val()&&this.$source.data("default")){var e=this.$source.data("default");this.$element.val(e),this.$target.val(e)}this.$source.attr("disabled")!==void 0&&this.disable()},select:function(){var t,e=this.$menu.find(".active").attr("data-value");this.$container.parent().find(".da-has-error").remove(),this.$element.val(this.updater(e)),t=this.$target.val(),t!=this.map[e]&&this.$target.val(this.map[e]),t=this.$source.val(),t!=this.map[e]&&this.$source.val(this.map[e]).trigger("change"),this.$container.addClass("combobox-selected"),this.selected=!0,this.hide()},manualSelect:function(e){var t,n=!1;this.$container.parent().find(".da-has-error").remove(),e!==""&&this.revMap[e]!==void 0?(this.$element.val(this.revMap[e]),n=!0):this.$element.val(e),t=this.$target.val(),t!=e&&this.$target.val(e),t=this.$source.val(),t!=e&&this.$source.val(e).trigger("change"),e!==""&&n&&(this.$container.addClass("combobox-selected"),this.selected=!0)},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.hidden=!1,this.$element.attr("aria-expanded",!0),this.$button.attr("aria-expanded",!0),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.hidden=!0,this.$element.on("blur",e.proxy(this.blur,this)),this.$element.attr("aria-expanded",!1),this.$button.attr("aria-expanded",!1),this.shown=!1,this},lookup:function(){this.query=this.$element.val(),this.process(this.source)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){for(var t,n=[],s=[],o=[];t=e.shift();)t.toLowerCase().indexOf(this.query.toLowerCase())?~t.indexOf(this.query)?s.push(t):o.push(t):n.push(t);return n.concat(s,o)},highlighter:function(e){var t=this.query.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");return t?e.replace(new RegExp("("+t+")","ig"),function(e,t){return""+t+""}):e},render:function(t){var n=this;return t=e(t).map(function(t,s){return t=e(n.options.item).attr("data-value",s).attr("aria-label",s),t.attr("id",n.$element.attr("id")+"-option-"+s),t.html(n.highlighter(s)),t[0]}),this.setActive(t.first()),this.$menu.html(t),this},setActive:function(e){e.addClass("active").attr("aria-selected",!0),this.$element.attr("aria-activedescendant",e.attr("id"))},swapActive:function(e,t){e.removeClass("active").attr("aria-selected",!1),this.setActive(t)},next:function(){var s=this.$menu.find('[aria-selected="true"]'),n=s.next();n.length||(n=e(this.$menu.find("li")[0])),this.swapActive(s,n)},prev:function(){var n=this.$menu.find('[aria-selected="true"]'),t=n.prev();t.length||(t=this.$menu.find("li").last()),this.swapActive(n,t)},toggle:function(e){return this.disabled||(this.$container.hasClass("combobox-selected")?(this.clearTarget(),this.$source.trigger("change"),this.clearElement(),this.$element.attr("aria-expanded",!1),this.$button.attr("aria-expanded",!1)):this.shown?(this.$element.attr("aria-expanded",!1),this.$button.attr("aria-expanded",!1),this.hide()):(this.$element.attr("aria-expanded",!0),this.$button.attr("aria-expanded",!0),this.clearElement(),this.lookup())),e&&(e.preventDefault(),e.stopPropagation()),!1},clearElement:function(){this.$element.val("").focus()},clearTarget:function(){this.$source.val(""),this.$target.val(""),this.$container.removeClass("combobox-selected"),this.selected=!1},refresh:function(){this.source=this.parse(),this.options.items=this.source.length},listen:function(){this.$element.on("focus",e.proxy(this.focus,this)).on("change",e.proxy(this.change,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this)).on("mousedown","li",e.proxy(this.mousedown,this)),this.$button.on("click touchend",e.proxy(this.toggle,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev(),this.fixMenuScroll();break;case 40:e.preventDefault(),this.next(),this.fixMenuScroll();break}e.stopPropagation()},fixMenuScroll:function(){var t,n,s,o,e=this.$menu.find(".active");e.length&&(this.$element.attr("aria-activedescendant",e.attr("id")),t=e.position().top,n=t+e.height(),s=this.$menu.scrollTop(),o=this.$menu.height(),n>o?this.$menu.scrollTop(s+n-o):t<0&&this.$menu.scrollTop(s+t))},setActiveDescendant:function(t){this.mousedover&&this.swapActive(this.$menu.find(".active"),e(t.currentTarget))},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(t){switch(t.keyCode){case 40:this.shown||this.toggle();break;case 39:case 38:case 37:case 36:case 35:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;if(this.selected){for(var i=this.$element.val(),s=this.$menu.find("li"),o=s.length,n=0;n',item:'',appendId:"combobox",clearIfNoMatch:!1},e.fn.combobox.Constructor=t})(window.jQuery) /*! * Socket.IO v4.5.4 * (c) 2014-2022 Guillermo Rauch @@ -423,3 +357,9 @@ if(typeof option=="string"){data[option]();}});};$.fn.combobox.defaults={bsVersi !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).io=e()}(this,(function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}var m=Object.create(null);m.open="0",m.close="1",m.ping="2",m.pong="3",m.message="4",m.upgrade="5",m.noop="6";var b=Object.create(null);Object.keys(m).forEach((function(t){b[m[t]]=t}));for(var k={type:"error",data:"parser error"},w="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),_="function"==typeof ArrayBuffer,E=function(t,e,n){var r,i=t.type,o=t.data;return w&&o instanceof Blob?e?n(o):O(o,n):_&&(o instanceof ArrayBuffer||(r=o,"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(r):r&&r.buffer instanceof ArrayBuffer))?e?n(o):O(new Blob([o]),n):n(m[i]+(o||""))},O=function(t,e){var n=new FileReader;return n.onload=function(){var t=n.result.split(",")[1];e("b"+t)},n.readAsDataURL(t)},A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",R="undefined"==typeof Uint8Array?[]:new Uint8Array(256),T=0;T1?{type:b[n],data:t.substring(1)}:{type:b[n]}:k},S=function(t,e){if(C){var n=function(t){var e,n,r,i,o,s=.75*t.length,a=t.length,c=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var u=new ArrayBuffer(s),h=new Uint8Array(u);for(e=0;e>4,h[c++]=(15&r)<<4|i>>2,h[c++]=(3&i)<<6|63&o;return u}(t);return N(n,e)}return{base64:!0,data:t}},N=function(t,e){return"blob"===e&&t instanceof ArrayBuffer?new Blob([t]):t},x=String.fromCharCode(30);function L(t){if(t)return function(t){for(var e in L.prototype)t[e]=L.prototype[e];return t}(t)}L.prototype.on=L.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},L.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},L.prototype.off=L.prototype.removeListener=L.prototype.removeAllListeners=L.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+t];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var i=0;i1?e-1:0),r=1;r0);return e}function W(){var t=z(+new Date);return t!==F?(K=0,F=t):t+"."+z(K++)}for(;Y<64;Y++)H[V[Y]]=Y;function $(t){var e="";for(var n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e}function J(t){for(var e={},n=t.split("&"),r=0,i=n.length;r0&&void 0!==arguments[0]?arguments[0]:{};return i(t,{xd:this.xd,xs:this.xs},this.opts),new nt(this.uri(),t)}},{key:"doWrite",value:function(t,e){var n=this,r=this.request({method:"POST",data:t});r.on("success",e),r.on("error",(function(t,e){n.onError("xhr post error",t,e)}))}},{key:"doPoll",value:function(){var t=this,e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(function(e,n){t.onError("xhr poll error",e,n)})),this.pollXhr=e}}]),s}(U),nt=function(t){o(i,t);var n=p(i);function i(t,r){var o;return e(this,i),D(f(o=n.call(this)),r),o.opts=r,o.method=r.method||"GET",o.uri=t,o.async=!1!==r.async,o.data=void 0!==r.data?r.data:null,o.create(),o}return r(i,[{key:"create",value:function(){var t=this,e=j(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd,e.xscheme=!!this.opts.xs;var n=this.xhr=new Q(e);try{n.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders)for(var r in n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(r)&&n.setRequestHeader(r,this.opts.extraHeaders[r])}catch(t){}if("POST"===this.method)try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{n.setRequestHeader("Accept","*/*")}catch(t){}"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=function(){4===n.readyState&&(200===n.status||1223===n.status?t.onLoad():t.setTimeoutFn((function(){t.onError("number"==typeof n.status?n.status:0)}),0))},n.send(this.data)}catch(e){return void this.setTimeoutFn((function(){t.onError(e)}),0)}"undefined"!=typeof document&&(this.index=i.requestsCount++,i.requests[this.index]=this)}},{key:"onError",value:function(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}},{key:"cleanup",value:function(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=Z,t)try{this.xhr.abort()}catch(t){}"undefined"!=typeof document&&delete i.requests[this.index],this.xhr=null}}},{key:"onLoad",value:function(){var t=this.xhr.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}},{key:"abort",value:function(){this.cleanup()}}]),i}(L);if(nt.requestsCount=0,nt.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",rt);else if("function"==typeof addEventListener){addEventListener("onpagehide"in P?"pagehide":"unload",rt,!1)}function rt(){for(var t in nt.requests)nt.requests.hasOwnProperty(t)&&nt.requests[t].abort()}var it="function"==typeof Promise&&"function"==typeof Promise.resolve?function(t){return Promise.resolve().then(t)}:function(t,e){return e(t,0)},ot=P.WebSocket||P.MozWebSocket,st="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),at=function(t){o(i,t);var n=p(i);function i(t){var r;return e(this,i),(r=n.call(this,t)).supportsBinary=!t.forceBase64,r}return r(i,[{key:"name",get:function(){return"websocket"}},{key:"doOpen",value:function(){if(this.check()){var t=this.uri(),e=this.opts.protocols,n=st?{}:j(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=st?new ot(t,e,n):e?new ot(t,e):new ot(t)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType||"arraybuffer",this.addEventListeners()}}},{key:"addEventListeners",value:function(){var t=this;this.ws.onopen=function(){t.opts.autoUnref&&t.ws._socket.unref(),t.onOpen()},this.ws.onclose=function(e){return t.onClose({description:"websocket connection closed",context:e})},this.ws.onmessage=function(e){return t.onData(e.data)},this.ws.onerror=function(e){return t.onError("websocket error",e)}}},{key:"write",value:function(t){var e=this;this.writable=!1;for(var n=function(n){var r=t[n],i=n===t.length-1;E(r,e.supportsBinary,(function(t){try{e.ws.send(t)}catch(t){}i&&it((function(){e.writable=!0,e.emitReserved("drain")}),e.setTimeoutFn)}))},r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return e(this,a),r=s.call(this),n&&"object"===t(n)&&(o=n,n=null),n?(n=ft(n),o.hostname=n.host,o.secure="https"===n.protocol||"wss"===n.protocol,o.port=n.port,n.query&&(o.query=n.query)):o.host&&(o.hostname=ft(o.host).host),D(f(r),o),r.secure=null!=o.secure?o.secure:"undefined"!=typeof location&&"https:"===location.protocol,o.hostname&&!o.port&&(o.port=r.secure?"443":"80"),r.hostname=o.hostname||("undefined"!=typeof location?location.hostname:"localhost"),r.port=o.port||("undefined"!=typeof location&&location.port?location.port:r.secure?"443":"80"),r.transports=o.transports||["polling","websocket"],r.readyState="",r.writeBuffer=[],r.prevBufferLen=0,r.opts=i({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},o),r.opts.path=r.opts.path.replace(/\/$/,"")+"/","string"==typeof r.opts.query&&(r.opts.query=J(r.opts.query)),r.id=null,r.upgrades=null,r.pingInterval=null,r.pingTimeout=null,r.pingTimeoutTimer=null,"function"==typeof addEventListener&&(r.opts.closeOnBeforeunload&&(r.beforeunloadEventListener=function(){r.transport&&(r.transport.removeAllListeners(),r.transport.close())},addEventListener("beforeunload",r.beforeunloadEventListener,!1)),"localhost"!==r.hostname&&(r.offlineEventListener=function(){r.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",r.offlineEventListener,!1))),r.open(),r}return r(a,[{key:"createTransport",value:function(t){var e=i({},this.opts.query);e.EIO=4,e.transport=t,this.id&&(e.sid=this.id);var n=i({},this.opts.transportOptions[t],this.opts,{query:e,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new ct[t](n)}},{key:"open",value:function(){var t,e=this;if(this.opts.rememberUpgrade&&a.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((function(){e.emitReserved("error","No transports available")}),0);t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)}},{key:"setTransport",value:function(t){var e=this;this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(function(t){return e.onClose("transport close",t)}))}},{key:"probe",value:function(t){var e=this,n=this.createTransport(t),r=!1;a.priorWebsocketSuccess=!1;var i=function(){r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",(function(t){if(!r)if("pong"===t.type&&"probe"===t.data){if(e.upgrading=!0,e.emitReserved("upgrading",n),!n)return;a.priorWebsocketSuccess="websocket"===n.name,e.transport.pause((function(){r||"closed"!==e.readyState&&(f(),e.setTransport(n),n.send([{type:"upgrade"}]),e.emitReserved("upgrade",n),n=null,e.upgrading=!1,e.flush())}))}else{var i=new Error("probe error");i.transport=n.name,e.emitReserved("upgradeError",i)}})))};function o(){r||(r=!0,f(),n.close(),n=null)}var s=function(t){var r=new Error("probe error: "+t);r.transport=n.name,o(),e.emitReserved("upgradeError",r)};function c(){s("transport closed")}function u(){s("socket closed")}function h(t){n&&t.name!==n.name&&o()}var f=function(){n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",c),e.off("close",u),e.off("upgrading",h)};n.once("open",i),n.once("error",s),n.once("close",c),this.once("close",u),this.once("upgrading",h),n.open()}},{key:"onOpen",value:function(){if(this.readyState="open",a.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade&&this.transport.pause)for(var t=0,e=this.upgrades.length;t1))return this.writeBuffer;for(var t,e=1,n=0;n=57344?n+=3:(r++,n+=4);return n}(t):Math.ceil(1.33*(t.byteLength||t.size))),n>0&&e>this.maxPayload)return this.writeBuffer.slice(0,n);e+=2}return this.writeBuffer}},{key:"write",value:function(t,e,n){return this.sendPacket("message",t,e,n),this}},{key:"send",value:function(t,e,n){return this.sendPacket("message",t,e,n),this}},{key:"sendPacket",value:function(t,e,n,r){if("function"==typeof e&&(r=e,e=void 0),"function"==typeof n&&(r=n,n=null),"closing"!==this.readyState&&"closed"!==this.readyState){(n=n||{}).compress=!1!==n.compress;var i={type:t,data:e,options:n};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),r&&this.once("flush",r),this.flush()}}},{key:"close",value:function(){var t=this,e=function(){t.onClose("forced close"),t.transport.close()},n=function n(){t.off("upgrade",n),t.off("upgradeError",n),e()},r=function(){t.once("upgrade",n),t.once("upgradeError",n)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){t.upgrading?r():e()})):this.upgrading?r():e()),this}},{key:"onError",value:function(t){a.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}},{key:"onClose",value:function(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,e),this.writeBuffer=[],this.prevBufferLen=0)}},{key:"filterUpgrades",value:function(t){for(var e=[],n=0,r=t.length;n=0&&e.num0;case Et.ACK:case Et.BINARY_ACK:return Array.isArray(n)}}}]),a}(L),Rt=function(){function t(n){e(this,t),this.packet=n,this.buffers=[],this.reconPack=n}return r(t,[{key:"takeBinaryData",value:function(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){var e=wt(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}},{key:"finishedReconstruction",value:function(){this.reconPack=null,this.buffers=[]}}]),t}(),Tt=Object.freeze({__proto__:null,protocol:5,get PacketType(){return Et},Encoder:Ot,Decoder:At});function Ct(t,e,n){return t.on(e,n),function(){t.off(e,n)}}var Bt=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),St=function(t){o(i,t);var n=p(i);function i(t,r,o){var s;return e(this,i),(s=n.call(this)).connected=!1,s.receiveBuffer=[],s.sendBuffer=[],s.ids=0,s.acks={},s.flags={},s.io=t,s.nsp=r,o&&o.auth&&(s.auth=o.auth),s.io._autoConnect&&s.open(),s}return r(i,[{key:"disconnected",get:function(){return!this.connected}},{key:"subEvents",value:function(){if(!this.subs){var t=this.io;this.subs=[Ct(t,"open",this.onopen.bind(this)),Ct(t,"packet",this.onpacket.bind(this)),Ct(t,"error",this.onerror.bind(this)),Ct(t,"close",this.onclose.bind(this))]}}},{key:"active",get:function(){return!!this.subs}},{key:"connect",value:function(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}},{key:"open",value:function(){return this.connect()}},{key:"send",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n1?e-1:0),r=1;r0&&t.jitter<=1?t.jitter:0,this.attempts=0}Nt.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=0==(1&Math.floor(10*e))?t-n:t+n}return 0|Math.min(t,this.max)},Nt.prototype.reset=function(){this.attempts=0},Nt.prototype.setMin=function(t){this.ms=t},Nt.prototype.setMax=function(t){this.max=t},Nt.prototype.setJitter=function(t){this.jitter=t};var xt=function(n){o(s,n);var i=p(s);function s(n,r){var o,a;e(this,s),(o=i.call(this)).nsps={},o.subs=[],n&&"object"===t(n)&&(r=n,n=void 0),(r=r||{}).path=r.path||"/socket.io",o.opts=r,D(f(o),r),o.reconnection(!1!==r.reconnection),o.reconnectionAttempts(r.reconnectionAttempts||1/0),o.reconnectionDelay(r.reconnectionDelay||1e3),o.reconnectionDelayMax(r.reconnectionDelayMax||5e3),o.randomizationFactor(null!==(a=r.randomizationFactor)&&void 0!==a?a:.5),o.backoff=new Nt({min:o.reconnectionDelay(),max:o.reconnectionDelayMax(),jitter:o.randomizationFactor()}),o.timeout(null==r.timeout?2e4:r.timeout),o._readyState="closed",o.uri=n;var c=r.parser||Tt;return o.encoder=new c.Encoder,o.decoder=new c.Decoder,o._autoConnect=!1!==r.autoConnect,o._autoConnect&&o.open(),o}return r(s,[{key:"reconnection",value:function(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}},{key:"reconnectionAttempts",value:function(t){return void 0===t?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}},{key:"reconnectionDelay",value:function(t){var e;return void 0===t?this._reconnectionDelay:(this._reconnectionDelay=t,null===(e=this.backoff)||void 0===e||e.setMin(t),this)}},{key:"randomizationFactor",value:function(t){var e;return void 0===t?this._randomizationFactor:(this._randomizationFactor=t,null===(e=this.backoff)||void 0===e||e.setJitter(t),this)}},{key:"reconnectionDelayMax",value:function(t){var e;return void 0===t?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,null===(e=this.backoff)||void 0===e||e.setMax(t),this)}},{key:"timeout",value:function(t){return arguments.length?(this._timeout=t,this):this._timeout}},{key:"maybeReconnectOnOpen",value:function(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}},{key:"open",value:function(t){var e=this;if(~this._readyState.indexOf("open"))return this;this.engine=new lt(this.uri,this.opts);var n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;var i=Ct(n,"open",(function(){r.onopen(),t&&t()})),o=Ct(n,"error",(function(n){r.cleanup(),r._readyState="closed",e.emitReserved("error",n),t?t(n):r.maybeReconnectOnOpen()}));if(!1!==this._timeout){var s=this._timeout;0===s&&i();var a=this.setTimeoutFn((function(){i(),n.close(),n.emit("error",new Error("timeout"))}),s);this.opts.autoUnref&&a.unref(),this.subs.push((function(){clearTimeout(a)}))}return this.subs.push(i),this.subs.push(o),this}},{key:"connect",value:function(t){return this.open(t)}},{key:"onopen",value:function(){this.cleanup(),this._readyState="open",this.emitReserved("open");var t=this.engine;this.subs.push(Ct(t,"ping",this.onping.bind(this)),Ct(t,"data",this.ondata.bind(this)),Ct(t,"error",this.onerror.bind(this)),Ct(t,"close",this.onclose.bind(this)),Ct(this.decoder,"decoded",this.ondecoded.bind(this)))}},{key:"onping",value:function(){this.emitReserved("ping")}},{key:"ondata",value:function(t){try{this.decoder.add(t)}catch(t){this.onclose("parse error",t)}}},{key:"ondecoded",value:function(t){var e=this;it((function(){e.emitReserved("packet",t)}),this.setTimeoutFn)}},{key:"onerror",value:function(t){this.emitReserved("error",t)}},{key:"socket",value:function(t,e){var n=this.nsps[t];return n||(n=new St(this,t,e),this.nsps[t]=n),n}},{key:"_destroy",value:function(t){for(var e=0,n=Object.keys(this.nsps);e=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{var n=this.backoff.duration();this._reconnecting=!0;var r=this.setTimeoutFn((function(){e.skipReconnect||(t.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((function(n){n?(e._reconnecting=!1,e.reconnect(),t.emitReserved("reconnect_error",n)):e.onreconnect()})))}),n);this.opts.autoUnref&&r.unref(),this.subs.push((function(){clearTimeout(r)}))}}},{key:"onreconnect",value:function(){var t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}]),s}(L),Lt={};function Pt(e,n){"object"===t(e)&&(n=e,e=void 0);var r,i=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,r=t;n=n||"undefined"!=typeof location&&location,null==t&&(t=n.protocol+"//"+n.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?n.protocol+t:n.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==n?n.protocol+"//"+t:"https://"+t),r=ft(t)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";var i=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+i+":"+r.port+e,r.href=r.protocol+"://"+i+(n&&n.port===r.port?"":":"+r.port),r}(e,(n=n||{}).path||"/socket.io"),o=i.source,s=i.id,a=i.path,c=Lt[s]&&a in Lt[s].nsps;return n.forceNew||n["force new connection"]||!1===n.multiplex||c?r=new xt(o,n):(Lt[s]||(Lt[s]=new xt(o,n)),r=Lt[s]),i.query&&!n.query&&(n.query=i.queryKey),r.socket(i.path,n)}return i(Pt,{Manager:xt,Socket:St,io:Pt,connect:Pt}),Pt})); //# sourceMappingURL=socket.io.min.js.map +/*! + * Signature Pad v4.0.0 | https://github.com/szimek/signature_pad + * (c) 2021 Szymon Nowak | Released under the MIT license + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SignaturePad=e()}(this,(function(){"use strict";class t{constructor(t,e,i,n){if(isNaN(t)||isNaN(e))throw new Error(`Point is invalid: (${t}, ${e})`);this.x=+t,this.y=+e,this.pressure=i||0,this.time=n||Date.now()}distanceTo(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))}equals(t){return this.x===t.x&&this.y===t.y&&this.pressure===t.pressure&&this.time===t.time}velocityFrom(t){return this.time!==t.time?this.distanceTo(t)/(this.time-t.time):0}}class e{constructor(t,e,i,n,s,o){this.startPoint=t,this.control2=e,this.control1=i,this.endPoint=n,this.startWidth=s,this.endWidth=o}static fromPoints(t,i){const n=this.calculateControlPoints(t[0],t[1],t[2]).c2,s=this.calculateControlPoints(t[1],t[2],t[3]).c1;return new e(t[1],n,s,t[2],i.start,i.end)}static calculateControlPoints(e,i,n){const s=e.x-i.x,o=e.y-i.y,h=i.x-n.x,r=i.y-n.y,a=(e.x+i.x)/2,d=(e.y+i.y)/2,l=(i.x+n.x)/2,c=(i.y+n.y)/2,u=Math.sqrt(s*s+o*o),v=Math.sqrt(h*h+r*r),m=v/(u+v),_=l+(a-l)*m,p=c+(d-c)*m,g=i.x-_,x=i.y-p;return{c1:new t(a+g,d+x),c2:new t(l+g,c+x)}}length(){let t,e,i=0;for(let n=0;n<=10;n+=1){const s=n/10,o=this.point(s,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),h=this.point(s,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(n>0){const n=o-t,s=h-e;i+=Math.sqrt(n*n+s*s)}t=o,e=h}return i}point(t,e,i,n,s){return e*(1-t)*(1-t)*(1-t)+3*i*(1-t)*(1-t)*t+3*n*(1-t)*t*t+s*t*t*t}}class i extends EventTarget{constructor(t,e={}){super(),this.canvas=t,this.options=e,this._handleMouseDown=t=>{1===t.buttons&&(this._drawningStroke=!0,this._strokeBegin(t))},this._handleMouseMove=t=>{this._drawningStroke&&this._strokeMoveUpdate(t)},this._handleMouseUp=t=>{1===t.buttons&&this._drawningStroke&&(this._drawningStroke=!1,this._strokeEnd(t))},this._handleTouchStart=t=>{if(t.preventDefault(),1===t.targetTouches.length){const e=t.changedTouches[0];this._strokeBegin(e)}},this._handleTouchMove=t=>{t.preventDefault();const e=t.targetTouches[0];this._strokeMoveUpdate(e)},this._handleTouchEnd=t=>{if(t.target===this.canvas){t.preventDefault();const e=t.changedTouches[0];this._strokeEnd(e)}},this._handlePointerStart=t=>{this._drawningStroke=!0,t.preventDefault(),this._strokeBegin(t)},this._handlePointerMove=t=>{this._drawningStroke&&(t.preventDefault(),this._strokeMoveUpdate(t))},this._handlePointerEnd=t=>{this._drawningStroke=!1;t.target===this.canvas&&(t.preventDefault(),this._strokeEnd(t))},this.velocityFilterWeight=e.velocityFilterWeight||.7,this.minWidth=e.minWidth||.5,this.maxWidth=e.maxWidth||2.5,this.throttle="throttle"in e?e.throttle:16,this.minDistance="minDistance"in e?e.minDistance:5,this.dotSize=e.dotSize||0,this.penColor=e.penColor||"black",this.backgroundColor=e.backgroundColor||"rgba(0,0,0,0)",this._strokeMoveUpdate=this.throttle?function(t,e=250){let i,n,s,o=0,h=null;const r=()=>{o=Date.now(),h=null,i=t.apply(n,s),h||(n=null,s=[])};return function(...a){const d=Date.now(),l=e-(d-o);return n=this,s=a,l<=0||l>e?(h&&(clearTimeout(h),h=null),o=d,i=t.apply(n,s),h||(n=null,s=[])):h||(h=window.setTimeout(r,l)),i}}(i.prototype._strokeUpdate,this.throttle):i.prototype._strokeUpdate,this._ctx=t.getContext("2d"),this.clear(),this.on()}clear(){const{_ctx:t,canvas:e}=this;t.fillStyle=this.backgroundColor,t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._data=[],this._reset(),this._isEmpty=!0}fromDataURL(t,e={}){return new Promise((i,n)=>{const s=new Image,o=e.ratio||window.devicePixelRatio||1,h=e.width||this.canvas.width/o,r=e.height||this.canvas.height/o,a=e.xOffset||0,d=e.yOffset||0;this._reset(),s.onload=()=>{this._ctx.drawImage(s,a,d,h,r),i()},s.onerror=t=>{n(t)},s.crossOrigin="anonymous",s.src=t,this._isEmpty=!1})}toDataURL(t="image/png",e){switch(t){case"image/svg+xml":return this._toSVG();default:return this.canvas.toDataURL(t,e)}}on(){this.canvas.style.touchAction="none",this.canvas.style.msTouchAction="none",window.PointerEvent?this._handlePointerEvents():(this._handleMouseEvents(),"ontouchstart"in window&&this._handleTouchEvents())}off(){this.canvas.style.touchAction="auto",this.canvas.style.msTouchAction="auto",this.canvas.removeEventListener("pointerdown",this._handlePointerStart),this.canvas.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerEnd),this.canvas.removeEventListener("mousedown",this._handleMouseDown),this.canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this.canvas.removeEventListener("touchstart",this._handleTouchStart),this.canvas.removeEventListener("touchmove",this._handleTouchMove),this.canvas.removeEventListener("touchend",this._handleTouchEnd)}isEmpty(){return this._isEmpty}fromData(t,{clear:e=!0}={}){e&&this.clear(),this._fromData(t,this._drawCurve.bind(this),this._drawDot.bind(this)),this._data=e?t:this._data.concat(t)}toData(){return this._data}_strokeBegin(t){this.dispatchEvent(new CustomEvent("beginStroke",{detail:t}));const e={dotSize:this.dotSize,minWidth:this.minWidth,maxWidth:this.maxWidth,penColor:this.penColor,points:[]};this._data.push(e),this._reset(),this._strokeUpdate(t)}_strokeUpdate(t){if(0===this._data.length)return void this._strokeBegin(t);this.dispatchEvent(new CustomEvent("beforeUpdateStroke",{detail:t}));const e=t.clientX,i=t.clientY,n=void 0!==t.pressure?t.pressure:void 0!==t.force?t.force:0,s=this._createPoint(e,i,n),o=this._data[this._data.length-1],h=o.points,r=h.length>0&&h[h.length-1],a=!!r&&s.distanceTo(r)<=this.minDistance,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}=o;if(!r||!r||!a){const t=this._addPoint(s);r?t&&this._drawCurve(t,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}):this._drawDot(s,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}),h.push({time:s.time,x:s.x,y:s.y,pressure:s.pressure})}this.dispatchEvent(new CustomEvent("afterUpdateStroke",{detail:t}))}_strokeEnd(t){this._strokeUpdate(t),this.dispatchEvent(new CustomEvent("endStroke",{detail:t}))}_handlePointerEvents(){this._drawningStroke=!1,this.canvas.addEventListener("pointerdown",this._handlePointerStart),this.canvas.addEventListener("pointermove",this._handlePointerMove),document.addEventListener("pointerup",this._handlePointerEnd)}_handleMouseEvents(){this._drawningStroke=!1,this.canvas.addEventListener("mousedown",this._handleMouseDown),this.canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)}_handleTouchEvents(){this.canvas.addEventListener("touchstart",this._handleTouchStart),this.canvas.addEventListener("touchmove",this._handleTouchMove),this.canvas.addEventListener("touchend",this._handleTouchEnd)}_reset(){this._lastPoints=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor}_createPoint(e,i,n){const s=this.canvas.getBoundingClientRect();return new t(e-s.left,i-s.top,n,(new Date).getTime())}_addPoint(t){const{_lastPoints:i}=this;if(i.push(t),i.length>2){3===i.length&&i.unshift(i[0]);const t=this._calculateCurveWidths(i[1],i[2]),n=e.fromPoints(i,t);return i.shift(),n}return null}_calculateCurveWidths(t,e){const i=this.velocityFilterWeight*e.velocityFrom(t)+(1-this.velocityFilterWeight)*this._lastVelocity,n=this._strokeWidth(i),s={end:n,start:this._lastWidth};return this._lastVelocity=i,this._lastWidth=n,s}_strokeWidth(t){return Math.max(this.maxWidth/(t+1),this.minWidth)}_drawCurveSegment(t,e,i){const n=this._ctx;n.moveTo(t,e),n.arc(t,e,i,0,2*Math.PI,!1),this._isEmpty=!1}_drawCurve(t,e){const i=this._ctx,n=t.endWidth-t.startWidth,s=2*Math.ceil(t.length());i.beginPath(),i.fillStyle=e.penColor;for(let i=0;i0?e.dotSize:(e.minWidth+e.maxWidth)/2;i.beginPath(),this._drawCurveSegment(t.x,t.y,n),i.closePath(),i.fillStyle=e.penColor,i.fill()}_fromData(e,i,n){for(const s of e){const{penColor:e,dotSize:o,minWidth:h,maxWidth:r,points:a}=s;if(a.length>1)for(let n=0;n{const i=document.createElement("path");if(!(isNaN(t.control1.x)||isNaN(t.control1.y)||isNaN(t.control2.x)||isNaN(t.control2.y))){const n=`M ${t.startPoint.x.toFixed(3)},${t.startPoint.y.toFixed(3)} C ${t.control1.x.toFixed(3)},${t.control1.y.toFixed(3)} ${t.control2.x.toFixed(3)},${t.control2.y.toFixed(3)} ${t.endPoint.x.toFixed(3)},${t.endPoint.y.toFixed(3)}`;i.setAttribute("d",n),i.setAttribute("stroke-width",(2.25*t.endWidth).toFixed(3)),i.setAttribute("stroke",e),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),s.appendChild(i)}},(t,{penColor:e,dotSize:i,minWidth:n,maxWidth:o})=>{const h=document.createElement("circle"),r=i>0?i:(n+o)/2;h.setAttribute("r",r.toString()),h.setAttribute("cx",t.x.toString()),h.setAttribute("cy",t.y.toString()),h.setAttribute("fill",e),s.appendChild(h)});const o=``;let h=s.innerHTML;if(void 0===h){const t=document.createElement("dummy"),e=s.childNodes;t.innerHTML="";for(let i=0;i")}}return i})); +//# sourceMappingURL=signature_pad.umd.min.js.map diff --git a/docassemble_webapp/docassemble/webapp/static/app/bundlenojquery.js b/docassemble_webapp/docassemble/webapp/static/app/bundlenojquery.js index dd8909f22..b62adba64 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/bundlenojquery.js +++ b/docassemble_webapp/docassemble/webapp/static/app/bundlenojquery.js @@ -1,9 +1,3 @@ -/*! - * Signature Pad v4.0.0 | https://github.com/szimek/signature_pad - * (c) 2021 Szymon Nowak | Released under the MIT license - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SignaturePad=e()}(this,(function(){"use strict";class t{constructor(t,e,i,n){if(isNaN(t)||isNaN(e))throw new Error(`Point is invalid: (${t}, ${e})`);this.x=+t,this.y=+e,this.pressure=i||0,this.time=n||Date.now()}distanceTo(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))}equals(t){return this.x===t.x&&this.y===t.y&&this.pressure===t.pressure&&this.time===t.time}velocityFrom(t){return this.time!==t.time?this.distanceTo(t)/(this.time-t.time):0}}class e{constructor(t,e,i,n,s,o){this.startPoint=t,this.control2=e,this.control1=i,this.endPoint=n,this.startWidth=s,this.endWidth=o}static fromPoints(t,i){const n=this.calculateControlPoints(t[0],t[1],t[2]).c2,s=this.calculateControlPoints(t[1],t[2],t[3]).c1;return new e(t[1],n,s,t[2],i.start,i.end)}static calculateControlPoints(e,i,n){const s=e.x-i.x,o=e.y-i.y,h=i.x-n.x,r=i.y-n.y,a=(e.x+i.x)/2,d=(e.y+i.y)/2,l=(i.x+n.x)/2,c=(i.y+n.y)/2,u=Math.sqrt(s*s+o*o),v=Math.sqrt(h*h+r*r),m=v/(u+v),_=l+(a-l)*m,p=c+(d-c)*m,g=i.x-_,x=i.y-p;return{c1:new t(a+g,d+x),c2:new t(l+g,c+x)}}length(){let t,e,i=0;for(let n=0;n<=10;n+=1){const s=n/10,o=this.point(s,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),h=this.point(s,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(n>0){const n=o-t,s=h-e;i+=Math.sqrt(n*n+s*s)}t=o,e=h}return i}point(t,e,i,n,s){return e*(1-t)*(1-t)*(1-t)+3*i*(1-t)*(1-t)*t+3*n*(1-t)*t*t+s*t*t*t}}class i extends EventTarget{constructor(t,e={}){super(),this.canvas=t,this.options=e,this._handleMouseDown=t=>{1===t.buttons&&(this._drawningStroke=!0,this._strokeBegin(t))},this._handleMouseMove=t=>{this._drawningStroke&&this._strokeMoveUpdate(t)},this._handleMouseUp=t=>{1===t.buttons&&this._drawningStroke&&(this._drawningStroke=!1,this._strokeEnd(t))},this._handleTouchStart=t=>{if(t.preventDefault(),1===t.targetTouches.length){const e=t.changedTouches[0];this._strokeBegin(e)}},this._handleTouchMove=t=>{t.preventDefault();const e=t.targetTouches[0];this._strokeMoveUpdate(e)},this._handleTouchEnd=t=>{if(t.target===this.canvas){t.preventDefault();const e=t.changedTouches[0];this._strokeEnd(e)}},this._handlePointerStart=t=>{this._drawningStroke=!0,t.preventDefault(),this._strokeBegin(t)},this._handlePointerMove=t=>{this._drawningStroke&&(t.preventDefault(),this._strokeMoveUpdate(t))},this._handlePointerEnd=t=>{this._drawningStroke=!1;t.target===this.canvas&&(t.preventDefault(),this._strokeEnd(t))},this.velocityFilterWeight=e.velocityFilterWeight||.7,this.minWidth=e.minWidth||.5,this.maxWidth=e.maxWidth||2.5,this.throttle="throttle"in e?e.throttle:16,this.minDistance="minDistance"in e?e.minDistance:5,this.dotSize=e.dotSize||0,this.penColor=e.penColor||"black",this.backgroundColor=e.backgroundColor||"rgba(0,0,0,0)",this._strokeMoveUpdate=this.throttle?function(t,e=250){let i,n,s,o=0,h=null;const r=()=>{o=Date.now(),h=null,i=t.apply(n,s),h||(n=null,s=[])};return function(...a){const d=Date.now(),l=e-(d-o);return n=this,s=a,l<=0||l>e?(h&&(clearTimeout(h),h=null),o=d,i=t.apply(n,s),h||(n=null,s=[])):h||(h=window.setTimeout(r,l)),i}}(i.prototype._strokeUpdate,this.throttle):i.prototype._strokeUpdate,this._ctx=t.getContext("2d"),this.clear(),this.on()}clear(){const{_ctx:t,canvas:e}=this;t.fillStyle=this.backgroundColor,t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._data=[],this._reset(),this._isEmpty=!0}fromDataURL(t,e={}){return new Promise((i,n)=>{const s=new Image,o=e.ratio||window.devicePixelRatio||1,h=e.width||this.canvas.width/o,r=e.height||this.canvas.height/o,a=e.xOffset||0,d=e.yOffset||0;this._reset(),s.onload=()=>{this._ctx.drawImage(s,a,d,h,r),i()},s.onerror=t=>{n(t)},s.crossOrigin="anonymous",s.src=t,this._isEmpty=!1})}toDataURL(t="image/png",e){switch(t){case"image/svg+xml":return this._toSVG();default:return this.canvas.toDataURL(t,e)}}on(){this.canvas.style.touchAction="none",this.canvas.style.msTouchAction="none",window.PointerEvent?this._handlePointerEvents():(this._handleMouseEvents(),"ontouchstart"in window&&this._handleTouchEvents())}off(){this.canvas.style.touchAction="auto",this.canvas.style.msTouchAction="auto",this.canvas.removeEventListener("pointerdown",this._handlePointerStart),this.canvas.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerEnd),this.canvas.removeEventListener("mousedown",this._handleMouseDown),this.canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this.canvas.removeEventListener("touchstart",this._handleTouchStart),this.canvas.removeEventListener("touchmove",this._handleTouchMove),this.canvas.removeEventListener("touchend",this._handleTouchEnd)}isEmpty(){return this._isEmpty}fromData(t,{clear:e=!0}={}){e&&this.clear(),this._fromData(t,this._drawCurve.bind(this),this._drawDot.bind(this)),this._data=e?t:this._data.concat(t)}toData(){return this._data}_strokeBegin(t){this.dispatchEvent(new CustomEvent("beginStroke",{detail:t}));const e={dotSize:this.dotSize,minWidth:this.minWidth,maxWidth:this.maxWidth,penColor:this.penColor,points:[]};this._data.push(e),this._reset(),this._strokeUpdate(t)}_strokeUpdate(t){if(0===this._data.length)return void this._strokeBegin(t);this.dispatchEvent(new CustomEvent("beforeUpdateStroke",{detail:t}));const e=t.clientX,i=t.clientY,n=void 0!==t.pressure?t.pressure:void 0!==t.force?t.force:0,s=this._createPoint(e,i,n),o=this._data[this._data.length-1],h=o.points,r=h.length>0&&h[h.length-1],a=!!r&&s.distanceTo(r)<=this.minDistance,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}=o;if(!r||!r||!a){const t=this._addPoint(s);r?t&&this._drawCurve(t,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}):this._drawDot(s,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}),h.push({time:s.time,x:s.x,y:s.y,pressure:s.pressure})}this.dispatchEvent(new CustomEvent("afterUpdateStroke",{detail:t}))}_strokeEnd(t){this._strokeUpdate(t),this.dispatchEvent(new CustomEvent("endStroke",{detail:t}))}_handlePointerEvents(){this._drawningStroke=!1,this.canvas.addEventListener("pointerdown",this._handlePointerStart),this.canvas.addEventListener("pointermove",this._handlePointerMove),document.addEventListener("pointerup",this._handlePointerEnd)}_handleMouseEvents(){this._drawningStroke=!1,this.canvas.addEventListener("mousedown",this._handleMouseDown),this.canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)}_handleTouchEvents(){this.canvas.addEventListener("touchstart",this._handleTouchStart),this.canvas.addEventListener("touchmove",this._handleTouchMove),this.canvas.addEventListener("touchend",this._handleTouchEnd)}_reset(){this._lastPoints=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor}_createPoint(e,i,n){const s=this.canvas.getBoundingClientRect();return new t(e-s.left,i-s.top,n,(new Date).getTime())}_addPoint(t){const{_lastPoints:i}=this;if(i.push(t),i.length>2){3===i.length&&i.unshift(i[0]);const t=this._calculateCurveWidths(i[1],i[2]),n=e.fromPoints(i,t);return i.shift(),n}return null}_calculateCurveWidths(t,e){const i=this.velocityFilterWeight*e.velocityFrom(t)+(1-this.velocityFilterWeight)*this._lastVelocity,n=this._strokeWidth(i),s={end:n,start:this._lastWidth};return this._lastVelocity=i,this._lastWidth=n,s}_strokeWidth(t){return Math.max(this.maxWidth/(t+1),this.minWidth)}_drawCurveSegment(t,e,i){const n=this._ctx;n.moveTo(t,e),n.arc(t,e,i,0,2*Math.PI,!1),this._isEmpty=!1}_drawCurve(t,e){const i=this._ctx,n=t.endWidth-t.startWidth,s=2*Math.ceil(t.length());i.beginPath(),i.fillStyle=e.penColor;for(let i=0;i0?e.dotSize:(e.minWidth+e.maxWidth)/2;i.beginPath(),this._drawCurveSegment(t.x,t.y,n),i.closePath(),i.fillStyle=e.penColor,i.fill()}_fromData(e,i,n){for(const s of e){const{penColor:e,dotSize:o,minWidth:h,maxWidth:r,points:a}=s;if(a.length>1)for(let n=0;n{const i=document.createElement("path");if(!(isNaN(t.control1.x)||isNaN(t.control1.y)||isNaN(t.control2.x)||isNaN(t.control2.y))){const n=`M ${t.startPoint.x.toFixed(3)},${t.startPoint.y.toFixed(3)} C ${t.control1.x.toFixed(3)},${t.control1.y.toFixed(3)} ${t.control2.x.toFixed(3)},${t.control2.y.toFixed(3)} ${t.endPoint.x.toFixed(3)},${t.endPoint.y.toFixed(3)}`;i.setAttribute("d",n),i.setAttribute("stroke-width",(2.25*t.endWidth).toFixed(3)),i.setAttribute("stroke",e),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),s.appendChild(i)}},(t,{penColor:e,dotSize:i,minWidth:n,maxWidth:o})=>{const h=document.createElement("circle"),r=i>0?i:(n+o)/2;h.setAttribute("r",r.toString()),h.setAttribute("cx",t.x.toString()),h.setAttribute("cy",t.y.toString()),h.setAttribute("fill",e),s.appendChild(h)});const o=``;let h=s.innerHTML;if(void 0===h){const t=document.createElement("dummy"),e=s.childNodes;t.innerHTML="";for(let i=0;i")}}return i})); -//# sourceMappingURL=signature_pad.umd.min.js.map /*! jQuery Validation Plugin - v1.19.5 - 7/1/2022 * https://jqueryvalidation.org/ * Copyright (c) 2022 Jörn Zaefferer; Licensed MIT */ @@ -329,7 +323,6 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] `+g._getLayoutTemplate("zoomCache").replace("{zoomContent}",v),typeof g.sanitizeZoomCache=="function"&&(v=g.sanitizeZoomCache(v)),E=w(C?"other":n,s,!1,"kv-preview-thumb"),E.setTokens({zoomCache:v})},_addToPreview:function(e,n){var s,o=this;return n=t.cspBuffer.stash(n),s=o.reversePreviewOrder?e.prepend(n):e.append(n),t.cspBuffer.apply(e),s},_previewDefault:function(e,n){if(s=this,i=s.$preview,!s.showPreview)return;var s,i,a,l=t.getFileName(e),d=e?e.type:"",r=e.size||0,u=s._getFileName(e,""),h=n===!0&&!s.isAjaxUpload,m=t.createObjectURL(e),c=s.fileManager.getId(e),o=s._getThumbId(c);s._clearDefaultPreview(),a=s._generatePreviewTemplate("other",m,l,d,o,c,h,r),s._addToPreview(i,a),s._setThumbAttr(o,u,r),n===!0&&s.isAjaxUpload&&s._setThumbStatus(s._getFrame(o),"Error")},_previewFile:function(e,n,s,o,i){if(!this.showPreview)return;var p,a=this,u=t.getFileName(n),c=i.type,h=i.name,m=a._parseFileType(c,u),v=a.$preview,l=n.size||0,f=m==="image"?s.target.result:o,d=a.fileManager.getId(n),r=a._getThumbId(d),g=a._generatePreviewTemplate(m,f,u,c,r,d,!1,l);a._clearDefaultPreview(),a._addToPreview(v,g),p=a._getFrame(r),a._validateImageOrientation(p.find("img"),n,r,d,h,c,l,f),a._setThumbAttr(r,h,l),a._initSortable()},_setThumbAttr:function(e,t,n){var s=this,o=s._getFrame(e);o.length&&(n=n&&n>0?s._getSize(n):"",o.data({caption:t,size:n}))},_setInitThumbAttr:function(){var e,s,i,a,r,n=this,c=n.previewCache.data,o=n.previewCache.count(!0);if(o===0)return;for(e=0;e&"']/g,"_")},_updateFileDetails:function(e,n){var o,a,c,l,d,s=this,i=s.$element,r=t.isIE(9)&&t.findFileName(i.val())||i[0].files[0]&&i[0].files[0].name;!r&&s.fileManager.count()>0?(d=s.fileManager.getFirstFile(),o=d.nameFmt):o=r?s.slug(r):"_",a=s.isAjaxUpload?s.fileManager.count():e,l=s.previewCache.count(!0)+a,c=a===1?o:s._getMsgSelected(l),s.isError?(s.$previewContainer.removeClass("file-thumb-loading"),s.$previewStatus.html(""),s.$captionContainer.removeClass("icon-visible")):s._showFileIcon(),s._setCaption(c,s.isError),s.$container.removeClass("file-input-new file-input-ajax-new"),n||s._raise("fileselect",[e,o]),s.previewCache.count(!0)&&s._initPreviewActions()},_setThumbStatus:function(e,n){if(s=this,!s.showPreview)return;var s,o="indicator"+n,r=o+"Title",c="file-preview-"+n.toLowerCase(),i=e.find(".file-upload-indicator"),a=s.fileActionSettings;e.removeClass("file-preview-success file-preview-error file-preview-paused file-preview-loading"),n==="Success"&&e.find(".file-drag-handle").remove(),t.setHtml(i,a[o]),i.attr("title",a[r]),e.addClass(c),n==="Error"&&!s.retryErrorUploads&&e.find(".kv-file-upload").attr("disabled",!0)},_setProgressCancelled:function(){var e=this;e._setProgress(101,e.$progress,e.msgCancelled)},_setProgress:function(e,n,s,o){if(i=this,n=n||i.$progress,!n.length)return;var i,a,r=Math.min(e,100),c=i.progressUploadThreshold,d=e<=100?i.progressTemplate:i.progressCompleteTemplate,l=r<100?i.progressTemplate:s?i.paused?i.progressPauseTemplate:i.progressErrorTemplate:d;e>=100&&(o=""),t.isEmpty(l)||(c&&r>c&&e<=100?a=l.setTokens({percent:c,status:i.msgUploadThreshold}):a=l.setTokens({percent:r,status:e>100?i.msgUploadEnd:r+"%"}),o=o||"",a=a.setTokens({stats:o}),t.setHtml(n,a),s&&t.setHtml(n.find('[role="progressbar"]'),s))},_hasFiles:function(){var e=this.$element[0];return!!(e&&e.files&&e.files.length)},_setFileDropZoneTitle:function(){var o,e=this,n=e.$container.find(".file-drop-zone"),s=e.dropZoneTitle;if(e.isClickable&&(o=t.isEmpty(e.$element.attr("multiple"))?e.fileSingle:e.filePlural,s+=e.dropZoneClickTitle.replace("{files}",o)),n.find("."+e.dropZoneTitleClass).remove(),!e.showPreview||n.length===0||e.fileManager.count()>0||!e.dropZoneEnabled||e.previewCache.count()>0||!e.isAjaxUpload&&e._hasFiles())return;n.find(t.FRAMES).length===0&&t.isEmpty(e.defaultPreviewContent)&&n.prepend('
    '+s+"
    "),e.$container.removeClass("file-input-new"),t.addCss(e.$container,"file-input-ajax-new")},_getStats:function(e){var s,o,n=this;return!n.showUploadStats||!e||!e.bitrate?"":(o=n._getLayoutTemplate("stats"),s=!e.elapsed||!e.bps?n.msgCalculatingTime:n.msgPendingTime.setTokens({time:t.getElapsed(Math.ceil(e.pendingBytes/e.bps))}),o.setTokens({uploadSpeed:e.bitrate,pendingTime:s}))},_setResumableProgress:function(e,t,n){var o=this,i=o.resumableManager,s=n?i:o,a=n?n.find(".file-thumb-progress"):null;s.lastProgress===0&&(s.lastProgress=e),e0&&e._getFileCount(t-1)=d:u<=d,m)return;h=l["msgImage"+a+n].setTokens({name:i,size:d}),l._showFileError(h,r),l._setPreviewError(o)},_getExifObj:function(e){var n,o=this,s=t.logMessages.exifWarning;if(e.slice(0,23)!=="data:image/jpeg;base64,"&&e.slice(0,22)!=="data:image/jpg;base64,"){n=null;return}try{n=window.piexif?window.piexif.load(e):null}catch(e){n=null,s=e&&e.message||""}return n||o._log(t.logMessages.badExifParser,{details:s}),n},setImageOrientation:function(n,s,o,i){var r,l,d,a=this,u=!n||!n.length,m=!s||!s.length,c=!1,h=u&&i&&i.attr("data-template")==="image";if(u&&m)return;d="load.fileinputimageorient",h?(n=s,s=null,n.css(a.previewSettings.image),l=e(document.createElement("div")).appendTo(i.find(".kv-file-content")),r=e(document.createElement("span")).insertBefore(n),n.css("visibility","hidden").removeClass("file-zoom-detail").appendTo(l)):c=!n.is(":visible"),n.off(d).on(d,function(){c&&(a.$preview.removeClass("hide-content"),i.find(".kv-file-content").css("visibility","hidden"));var e=n[0],u=s&&s.length?s[0]:null,m=e.offsetHeight,f=e.offsetWidth,d=t.getRotation(o);if(c&&(i.find(".kv-file-content").css("visibility","visible"),a.$preview.addClass("hide-content")),n.data("orientation",o),u&&s.data("orientation",o),o<5){t.setTransform(e,d),t.setTransform(u,d);return}var v=Math.atan(f/m),p=Math.sqrt(Math.pow(m,2)+Math.pow(f,2)),b=p?m/Math.cos(Math.PI/2+v)/p:1,g=" scale("+Math.abs(b)+")";t.setTransform(e,d+g),t.setTransform(u,d+g),h&&(n.css("visibility","visible").insertAfter(r).addClass("file-zoom-detail"),r.remove(),l.remove())})},_validateImageOrientation:function(n,s,o,i,a,r,c,l){var u,h,f,d=this,m=d.autoOrientImage;if(d.canOrientImage){n.css("image-orientation",m?"from-image":"none");return}if(f=t.getZoomSelector(o," img"),u=m?d._getExifObj(l):null,h=u?u["0th"][piexif.ImageIFD.Orientation]:null,!h){d._validateImage(o,i,a,r,c,l,u);return}d.setImageOrientation(n,e(f),h,d._getFrame(o)),d._raise("fileimageoriented",{$img:n,file:s}),d._validateImage(o,i,a,r,c,l,u)},_validateImage:function(t,n,s,o,i,a,r){var h,m,f,c=this,p=c.$preview,l=c._getFrame(t),u=l.attr("data-fileindex"),d=l.find("img");s=s||"Untitled",d.one("load",function(){m=l.width(),f=p.width(),m>f&&d.css("width","100%"),h={ind:u,id:t,fileId:n},c._checkDimensions(u,"Small",d,l,s,"Width",h),c._checkDimensions(u,"Small",d,l,s,"Height",h),c.resizeImage||(c._checkDimensions(u,"Large",d,l,s,"Width",h),c._checkDimensions(u,"Large",d,l,s,"Height",h)),c._raise("fileimageloaded",[t]),c.fileManager.addImage(n,{ind:u,img:d,thumb:l,pid:t,typ:o,siz:i,validated:!1,imgData:a,exifObj:r}),l.data("exif",r),c._validateAllImages()}).one("error",function(){c._raise("fileimageloaderror",[t])}).each(function(){this.complete?e(this).trigger("load"):this.error&&e(this).trigger("error")})},_validateAllImages:function(){var n,t=this,o={val:0},s=t.fileManager.getImageCount(),i=t.resizeIfSizeMoreThan;if(s!==t.fileManager.totalImages)return;if(t._raise("fileimagesloaded"),!t.resizeImage)return;e.each(t.fileManager.loadedImages,function(e,a){a.validated||(n=a.siz,n&&n>i*1e3&&t._getResizedImage(e,a,o,s),a.validated=!0)})},_getResizedImage:function(n,s,o,i){var l,p,g,y,x,E,a=this,b=e(s.img)[0],c=b.naturalWidth,r=b.naturalHeight,u=1,h=a.maxImageWidth||c,d=a.maxImageHeight||r,f=!!(c&&r),v=a.imageCanvas,M=a.imageCanvasContext,m=s.typ,O=s.pid,w=s.ind,S=s.thumb,C=s.exifObj,_=function(e,t,n){a.isAjaxUpload?a._showFileError(e,t,n):a._showError(e,t,n),a._setPreviewError(S)},k=a.fileManager.getFile(n),j={id:O,index:w,fileId:n},A=[n,O,w];if((!k||!f||c<=h&&r<=d)&&(f&&k&&a._raise("fileimageresized",A),o.val++,o.val===i&&a._raise("fileimagesresized"),!f)){_(a.msgImageResizeError,j,"fileimageresizeerror");return}m=m||a.resizeDefaultImageType,p=c>h,g=r>d,a.resizePreference==="width"?u=p?h/c:g?d/r:1:u=g?d/r:p?h/c:1,a._resetCanvas(),c*=u,r*=u,v.width=c,v.height=r;try{M.drawImage(b,0,0,c,r),l=v.toDataURL(m,a.resizeQuality),C&&(E=window.piexif.dump(C),l=window.piexif.insert(E,l)),y=t.dataURI2Blob(l),a.fileManager.setFile(n,y),a._raise("fileimageresized",A),o.val++,o.val===i&&a._raise("fileimagesresized",[void 0,void 0]),y instanceof Blob||_(a.msgImageResizeError,j,"fileimageresizeerror")}catch(e){o.val++,o.val===i&&a._raise("fileimagesresized",[void 0,void 0]),x=a.msgImageResizeException.replace("{errors}",e.message),_(x,j,"fileimageresizeexception")}},_showProgress:function(){var e=this;e.$progress&&e.$progress.length&&e.$progress.show()},_hideProgress:function(){var e=this;e.$progress&&e.$progress.length&&e.$progress.hide()},_initBrowse:function(e){var n=this,s=n.$element;n.showBrowse?n.$btnFile=e.find(".btn-file").append(s):(s.appendTo(e).attr("tabindex",-1),t.addCss(s,"file-no-browse"))},_initClickable:function(){var s,o,n=this;if(!n.isClickable)return;s=n.$dropZone,n.isAjaxUpload||(o=n.$preview.find(".file-default-preview"),o.length&&(s=o)),t.addCss(s,"clickable"),s.attr("tabindex",-1),n._handler(s,"click",function(t){var o=e(t.target);!e(n.elErrorContainer+":visible").length&&(!o.parents(".file-preview-thumbnails").length||o.parents(".file-default-preview").length)&&(n.$element.data("zoneClicked",!0).trigger("click"),s.blur())})},_initCaption:function(){var e=this,n=e.initialCaption||"";return e.overwriteInitial||t.isEmpty(n)?(e.$caption.val(""),!1):(e._setCaption(n),!0)},_setCaption:function(n,s){var i,a,r,c,l,d,o=this;if(!o.$caption.length)return;if(o.$captionContainer.removeClass("icon-visible"),s)i=e("
    "+o.msgValidationError+"
    ").text(),a=o.fileManager.count(),a?(d=o.fileManager.getFirstFile(),l=a===1&&d?d.nameFmt:o._getMsgSelected(a)):l=o._getMsgSelected(o.msgNo),r=t.isEmpty(n)?l:n,c=''+o.msgValidationErrorIcon+"";else{if(t.isEmpty(n))return;i=e("
    "+n+"
    ").text(),r=i,c=o._getLayoutTemplate("fileIcon")}o.$captionContainer.addClass("icon-visible"),o.$caption.attr("title",i).val(r),t.setHtml(o.$captionIcon,c)},_createContainer:function(){var e=this,s={class:"file-input file-input-new"+(e.rtl?" kv-rtl":"")},n=t.createElement(t.cspBuffer.stash(e._renderMain()));return t.cspBuffer.apply(n),n.insertBefore(e.$element).attr(s),e._initBrowse(n),e.theme&&n.addClass("theme-"+e.theme),n},_refreshContainer:function(){var e=this,n=e.$container,s=e.$element;s.insertAfter(n),t.setHtml(n,e._renderMain()),e._initBrowse(n),e._validateDisabled()},_validateDisabled:function(){var e=this;e.$caption.attr({readonly:e.isDisabled})},_renderMain:function(){var e=this,t=e.dropZoneEnabled?" file-drop-zone":"file-drop-disabled",n=e.showClose?e._getLayoutTemplate("close"):"",s=e.showPreview?e._getLayoutTemplate("preview").setTokens({class:e.previewClass,dropClass:t}):"",o=e.isDisabled?e.captionClass+" file-caption-disabled":e.captionClass,i=e.captionTemplate.setTokens({class:o+" kv-fileinput-caption"});return e.mainTemplate.setTokens({class:e.mainClass+(!e.showBrowse&&e.showCaption?" no-browse":""),preview:s,close:n,caption:i,upload:e._renderButton("upload"),remove:e._renderButton("remove"),cancel:e._renderButton("cancel"),pause:e._renderButton("pause"),browse:e._renderButton("browse")})},_renderButton:function(e){var n=this,i=n._getLayoutTemplate("btnDefault"),s=n[e+"Class"],r=n[e+"Title"],c=n[e+"Icon"],o=n[e+"Label"],l=n.isDisabled?" disabled":"",a="button";switch(e){case"remove":if(!n.showRemove)return"";break;case"cancel":if(!n.showCancel)return"";s+=" kv-hidden";break;case"pause":if(!n.showPause)return"";s+=" kv-hidden";break;case"upload":if(!n.showUpload)return"";n.isAjaxUpload&&!n.isDisabled?i=n._getLayoutTemplate("btnLink").replace("{href}",n.uploadUrl):a="submit";break;case"browse":if(!n.showBrowse)return"";i=n._getLayoutTemplate("btnBrowse");break;default:return""}return s+=e==="browse"?" btn-file":" fileinput-"+e+" fileinput-"+e+"-button",t.isEmpty(o)||(o=' '+o+""),i.setTokens({type:a,css:s,title:r,status:l,icon:c,label:o})},_renderThumbProgress:function(){var e=this;return'
    '+e.progressInfoTemplate.setTokens({percent:101,status:e.msgUploadBegin,stats:""})+"
    "},_renderFileFooter:function(e,n,s,o,i){var c,l,a=this,r=a.fileActionSettings,m=r.showRemove,d=r.showDrag,h=r.showUpload,u=r.showZoom,f=a._getLayoutTemplate("footer"),p=a._getLayoutTemplate("indicator"),g=i?r.indicatorError:r.indicatorNew,v=i?r.indicatorErrorTitle:r.indicatorNewTitle,b=p.setTokens({indicator:g,indicatorTitle:v});return s=a._getSize(s),c={type:e,caption:n,size:s,width:o,progress:"",indicator:b},a.isAjaxUpload?(c.progress=a._renderThumbProgress(),c.actions=a._renderFileActions(c,h,!1,m,u,d,!1,!1,!1)):c.actions=a._renderFileActions(c,!1,!1,!1,u,d,!1,!1,!1),l=f.setTokens(c),l=t.replaceTags(l,a.previewThumbTags),l},_renderFileActions:function(e,t,n,s,o,i,a,r,c,l,d,u){if(m=this,!e.type&&l&&(e.type="image"),m.enableResumableUpload?t=!1:typeof t=="function"&&(t=t(e)),typeof n=="function"&&(n=n(e)),typeof s=="function"&&(s=s(e)),typeof o=="function"&&(o=o(e)),typeof i=="function"&&(i=i(e)),!t&&!n&&!s&&!o&&!i)return"";var m,g,w=r===!1?"":' data-url="'+r+'"',y="",b="",v=c===!1?"":' data-key="'+c+'"',p="",j="",f="",_=m._getLayoutTemplate("actions"),h=m.fileActionSettings,O=m.otherActionButtons.setTokens({dataKey:v,key:c}),x=a?h.removeClass+" disabled":h.removeClass;return s&&(p=m._getLayoutTemplate("actionDelete").setTokens({removeClass:x,removeIcon:h.removeIcon,removeTitle:h.removeTitle,dataUrl:w,dataKey:v,key:c})),t&&(j=m._getLayoutTemplate("actionUpload").setTokens({uploadClass:h.uploadClass,uploadIcon:h.uploadIcon,uploadTitle:h.uploadTitle})),n&&(f=m._getLayoutTemplate("actionDownload").setTokens({downloadClass:h.downloadClass,downloadIcon:h.downloadIcon,downloadTitle:h.downloadTitle,downloadUrl:d||m.initialPreviewDownloadUrl}),f=f.setTokens({filename:u,key:c})),o&&(y=m._getLayoutTemplate("actionZoom").setTokens({zoomClass:h.zoomClass,zoomIcon:h.zoomIcon,zoomTitle:h.zoomTitle})),i&&l&&(g="drag-handle-init "+h.dragClass,b=m._getLayoutTemplate("actionDrag").setTokens({dragClass:g,dragTitle:h.dragTitle,dragIcon:h.dragIcon})),_.setTokens({delete:p,upload:j,download:f,zoom:y,drag:b,other:O})},_browse:function(e){var t=this;if(e&&e.isDefaultPrevented()||!t._raise("filebrowse"))return;t.isError&&!t.isAjaxUpload&&t.clear(),t.focusCaptionOnBrowse&&t.$captionContainer.focus()},_change:function(n){if(s=this,s.changeTriggered)return;var s,a,r,l,u,f=s.$element,b=arguments.length>1,i=s.isAjaxUpload,d=b?arguments[1]:f[0].files,h=s.fileManager.count(),m=t.isEmpty(f.attr("multiple")),o=!i&&m?1:s.maxFileCount,c=s.maxTotalFileCount,p=c>0&&c>o,g=m&&h>0,j=function(t,n,o,a){var r=e.extend(!0,{},s._getOutData(null,{},{},d),{id:o,index:a}),c={id:o,index:a,file:n,files:d};return s.isPersistentError=!0,i?s._showFileError(t,r):s._showError(t,c)},v=function(e,t,n){var o=n?s.msgTotalFilesTooMany:s.msgFilesTooMany,o=o.replace("{m}",t).replace("{n}",e);s.isError=j(o,null,null,null),s.$captionContainer.removeClass("icon-visible"),s._setCaption("",!0),s.$container.removeClass("file-input-new file-input-ajax-new")};if(s.reader=null,s._resetUpload(),s._hideFileIcon(),s.dropZoneEnabled&&s.$container.find(".file-drop-zone ."+s.dropZoneTitleClass).remove(),i||(n.target&&n.target.files===void 0?d=n.target.value?[{name:n.target.value.replace(/^.+\\/,"")}]:[]:d=n.target.files||{}),l=d,t.isEmpty(l)||l.length===0){i||s.clear(),s._raise("fileselectnone");return}if(s._resetErrors(),a=l.length,u=i?s.fileManager.count()+a:a,r=s._getFileCount(u,!p&&void 0),o>0&&r>o){if(!s.autoReplace||a>o){v(s.autoReplace&&a>o?a:r,o);return}r>o&&s._resetPreviewThumbs(i)}else{if(p&&(r=s._getFileCount(u,!0),c>0&&r>c)){if(!s.autoReplace||a>o){v(s.autoReplace&&a>c?a:r,c,!0);return}r>o&&s._resetPreviewThumbs(i)}!i||g?(s._resetPreviewThumbs(!1),g&&s.clearFileStack()):i&&h===0&&(!s.previewCache.count(!0)||s.overwriteInitial)&&s._resetPreviewThumbs(!0)}s.readFiles(l)},_abort:function(t){var s,n=this;return n.ajaxAborted&&typeof n.ajaxAborted=="object"&&n.ajaxAborted.message!==void 0?(s=e.extend(!0,{},n._getOutData(null),t),s.abortData=n.ajaxAborted.data||{},s.abortMessage=n.ajaxAborted.message,n._setProgress(101,n.$progress,n.msgCancelled),n._showFileError(n.ajaxAborted.message,s,"filecustomerror"),n.cancel(),!0):!!n.ajaxAborted},_resetFileStack:function(){var t=this,n=0;t._getThumbs().each(function(){var s=e(this),o=s.attr("data-fileindex"),i=s.attr("id");if(o==="-1"||o===-1)return;t.fileManager.getFile(s.attr("data-fileid"))?s.attr({"data-fileindex":"-1"}):(s.attr({"data-fileindex":n}),n++),t._getZoom(i).attr({"data-fileindex":s.attr("data-fileindex")})})},_isFileSelectionValid:function(e){var t=this;return e=e||0,t.required&&!t.getFilesCount()?(t.$errorContainer.html(""),t._showFileError(t.msgFileRequired),!1):!(t.minFileCount>0&&t._getFileCount(e)i;return!m&&(g||p||f)},addToStack:function(e,t){this.fileManager.add(e,t)},clearFileStack:function(){var e=this;return e.fileManager.clear(),e._initResumableUpload(),e.enableResumableUpload?(e.showPause===null&&(e.showPause=!0),e.showCancel===null&&(e.showCancel=!1)):(e.showPause=!1,e.showCancel===null&&(e.showCancel=!0)),e.$element},getFileStack:function(){return this.fileManager.stack},getFileList:function(){return this.fileManager.list()},getFilesCount:function(e){var t=this,n=t.isAjaxUpload?t.fileManager.count():t._inputFileCount();return e&&(n+=t.previewCache.count(!0)),t._getFileCount(n)},readFiles:function(n){this.reader=new FileReader;var r,s=this,i=s.reader,u=s.$previewContainer,c=s.$previewStatus,g=s.msgLoading,m=s.msgProgress,p=s.previewInitId,o=n.length,d=s.fileTypeSettings,a=s.allowedFileTypes,f=a?a.length:0,l=s.allowedFileExtensions,v=t.isEmpty(l)?"":l.join(", "),h=function(t,i,a,c,l){var d,u=e.extend(!0,{},s._getOutData(null,{},{},n),{id:a,index:c,fileId:l}),h={id:a,index:c,fileId:l,file:i,files:n};s._previewDefault(i,!0),d=s._getFrame(a,!0),s.isAjaxUpload?setTimeout(function(){r(c+1)},s.processDelay):(s.unlock(),o=0),s.removeFromPreviewOnError&&d.length?d.remove():(s._initFileActions(),d.find(".kv-file-upload").remove()),s.isPersistentError=!0,s.isError=s.isAjaxUpload?s._showFileError(t,u):s._showError(t,h),s._updateFileDetails(o)};s.fileManager.clearImages(),e.each(n,function(e,t){var n=s.fileTypeSettings.image;n&&n(t.type)&&s.fileManager.totalImages++}),r=function(b){if(E=s.$errorContainer,C=s.fileManager,b>=o){s.unlock(),s.duplicateErrors.length&&(N="
  • "+s.duplicateErrors.join("
  • ")+"
  • ",E.find("ul").length===0?t.setHtml(E,s.errorCloseButton+"
      "+N+"
    "):E.find("ul").append(N),E.fadeIn(s.fadeDelay),s._handler(E.find(".kv-error-close"),"click",function(){E.fadeOut(s.fadeDelay)}),s.duplicateErrors=[]),s.isAjaxUpload?(s._raise("filebatchselected",[C.stack]),C.count()===0&&!s.isError&&s.reset()):s._raise("filebatchselected",[n]),u.removeClass("file-thumb-loading"),c.html("");return}s.lock(!0);var _,w,x,C,E,k,S,M,F,T,z,D,N,W,K,q,j=n[b],P=s._getFileId(j),O=p+"-"+P,Y=d.text,I=d.image,G=d.html,y=s._getFileName(j,""),L=(j&&j.size||0)/1e3,R="",V=t.createObjectURL(j),A=0,B="",H=!1,$=0,U=function(){var e=m.setTokens({index:b+1,files:o,percent:50,name:y});setTimeout(function(){c.html(e),s._updateFileDetails(o),r(b+1)},s.processDelay),s._raise("fileloaded",[j,O,P,b,i])&&s.isAjaxUpload&&C.add(j)};if(!j)return;if(x=C.getId(j),f>0)for(w=0;w0&&L>s.maxFileSize){_=s.msgSizeTooLarge.setTokens({name:y,size:k,maxSize:s.maxFileSize}),h(_,j,O,b,x);return}if(s.minFileSize!==null&&L<=t.getNum(s.minFileSize)){_=s.msgSizeTooSmall.setTokens({name:y,size:k,minSize:s.minFileSize}),h(_,j,O,b,x);return}if(!t.isEmpty(a)&&t.isArray(a)){for(w=0;w0)for(n=0;n0)for(s=0;s0?n.initialCaption:"",n.$caption.attr("title","").val(s),t.addCss(n.$container,"file-input-new"),n._validateDefaultPreview()),n.$container.find(t.FRAMES).length===0&&(n._initCaption()||n.$captionContainer.removeClass("icon-visible")),n._hideFileIcon(),n.focusCaptionOnClear&&n.$captionContainer.focus(),n._setFileDropZoneTitle(),n._raise("filecleared"),n.$element},reset:function(){var e=this;if(!e._raise("filereset"))return;return e.lastProgress=0,e._resetPreview(),e.$container.find(".fileinput-filename").text(""),t.addCss(e.$container,"file-input-new"),e.getFrames().length&&e.$container.removeClass("file-input-new"),e.clearFileStack(),e._setFileDropZoneTitle(),e.$element},disable:function(){var e=this,n=e.$container;return e.isDisabled=!0,e._raise("filedisabled"),e.$element.attr("disabled","disabled"),n.addClass("is-locked"),t.addCss(n.find(".btn-file"),"disabled"),n.find(".kv-fileinput-caption").addClass("file-caption-disabled"),n.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").attr("disabled",!0),e._initDragDrop(),e.$element},enable:function(){var e=this,t=e.$container;return e.isDisabled=!1,e._raise("fileenabled"),e.$element.removeAttr("disabled"),t.removeClass("is-locked"),t.find(".kv-fileinput-caption").removeClass("file-caption-disabled"),t.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").removeAttr("disabled"),t.find(".btn-file").removeClass("disabled"),e._initDragDrop(),e.$element},upload:function(){var o,a,n=this,i=n.fileManager,s=i.count(),r=!e.isEmptyObject(n._getExtraData());if(!n.isAjaxUpload||n.isDisabled||!n._isFileSelectionValid(s))return;if(n.lastProgress=0,n._resetUpload(),s===0&&!r){n._showFileError(n.msgUploadEmpty);return}if(n.cancelling=!1,n._showProgress(),n.lock(),s===0&&r){n._setProgress(2),n._uploadExtraOnly();return}if(n.enableResumableUpload)return n.resume();if((n.uploadAsync||n.enableResumableUpload)&&(a=n._getOutData(null),n._raise("filebatchpreupload",[a]),n.fileBatchCompleted=!1,n.uploadCache=[],e.each(n.getFileStack(),function(e){var t=n._getThumbId(e);n.uploadCache.push({id:t,content:null,config:null,tags:null,append:!0})}),n.$preview.find(".file-preview-initial").removeClass(t.SORT_CSS),n._initSortable()),n._setProgress(2),n.hasInitData=!1,n.uploadAsync){o=0,e.each(i.stack,function(e){n._uploadSingle(o,e,!0),o++});return}return n._uploadBatch(),n.$element},destroy:function(){var t=this,s=t.$form,o=t.$container,i=t.$element,n=t.namespace;return e(document).off(n),e(window).off(n),s&&s.length&&s.off(n),t.isAjaxUpload&&t._clearFileInput(),t._cleanup(),t._initPreviewCache(),i.insertBefore(o).off(n).removeData(),o.off().remove(),i},refresh:function(n){var s=this,o=s.$element;return typeof n!="object"||t.isEmpty(n)?n=s.options:n=e.extend(!0,{},s.options,n),s._init(n,!0),s._listen(),o},zoom:function(e){var t=this,n=t._getFrame(e);t._showModal(n)},getExif:function(e){var n=this,t=n._getFrame(e);return t&&t.data("exif")||null},getFrames:function(n){var s,o=this;return n=n||"",s=o.$preview.find(t.FRAMES+n),o.reversePreviewOrder&&(s=e(s.get().reverse())),s},getPreview:function(){var e=this;return{content:e.initialPreview,config:e.initialPreviewConfig,tags:e.initialPreviewThumbTags}}},e.fn.fileinput=function(s){if(!t.hasFileAPISupport()&&!t.isIE(9))return;var i=Array.apply(null,arguments),o=[];switch(i.shift(),this.each(function(){var m,a=e(this),r=a.data("fileinput"),c=typeof s=="object"&&s,d=c.theme||a.data("theme"),u={},h={},l=c.language||a.data("language")||e.fn.fileinput.defaults.language||"en";r||(d&&(h=e.fn.fileinputThemes[d]||{}),l!=="en"&&!t.isEmpty(e.fn.fileinputLocales[l])&&(u=e.fn.fileinputLocales[l]||{}),m=e.extend(!0,{},e.fn.fileinput.defaults,h,e.fn.fileinputLocales.en,u,c,a.data()),r=new n(this,m),a.data("fileinput",r)),typeof s=="string"&&o.push(r[s].apply(r,i))}),o.length){case 0:return this;case 1:return o[0];default:return o}};var t,n,s='class="kv-preview-data file-preview-pdf" src="{renderer}?file={data}" {style}';e.fn.fileinput.defaults={language:"en",showCaption:!0,showBrowse:!0,showPreview:!0,showRemove:!0,showUpload:!0,showUploadStats:!0,showCancel:null,showPause:null,showClose:!0,showUploadedThumbs:!0,showConsoleLogs:!1,browseOnZoneClick:!1,autoReplace:!1,autoOrientImage:function(){var e=window.navigator.userAgent,t=!!e.match(/WebKit/i),n=!!e.match(/iP(od|ad|hone)/i),s=n&&t&&!e.match(/CriOS/i);return!s},autoOrientImageInitial:!0,required:!1,rtl:!1,hideThumbnailContent:!1,encodeUrl:!0,focusCaptionOnBrowse:!0,focusCaptionOnClear:!0,generateFileId:null,previewClass:"",captionClass:"",frameClass:"krajee-default",mainClass:"file-caption-main",mainTemplate:null,fileSizeGetter:null,initialCaption:"",initialPreview:[],initialPreviewDelimiter:"*$$*",initialPreviewAsData:!1,initialPreviewFileType:"image",initialPreviewConfig:[],initialPreviewThumbTags:[],previewThumbTags:{},initialPreviewShowDelete:!0,initialPreviewDownloadUrl:"",removeFromPreviewOnError:!1,deleteUrl:"",deleteExtraData:{},overwriteInitial:!0,sanitizeZoomCache:function(e){var n=t.createElement(e);return n.find("input,textarea,select,datalist,form,.file-thumbnail-footer").remove(),n.html()},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewZoomButtonClasses:{prev:"btn btn-navigate",next:"btn btn-navigate",toggleheader:"btn btn-sm btn-kv btn-default btn-outline-secondary",fullscreen:"btn btn-sm btn-kv btn-default btn-outline-secondary",borderless:"btn btn-sm btn-kv btn-default btn-outline-secondary",close:"btn btn-sm btn-kv btn-default btn-outline-secondary"},previewTemplates:{},previewContentTemplates:{},preferIconicPreview:!1,preferIconicZoomPreview:!1,allowedFileTypes:null,allowedFileExtensions:null,allowedPreviewTypes:void 0,allowedPreviewMimeTypes:null,allowedPreviewExtensions:null,disabledPreviewTypes:void 0,disabledPreviewExtensions:["msi","exe","com","zip","rar","app","vb","scr"],disabledPreviewMimeTypes:null,defaultPreviewContent:null,customLayoutTags:{},customPreviewTags:{},previewFileIcon:'',previewFileIconClass:"file-other-icon",previewFileIconSettings:{},previewFileExtSettings:{},buttonLabelClass:"hidden-xs",browseIcon:' ',browseClass:"btn btn-primary",removeIcon:'',removeClass:"btn btn-default btn-secondary",cancelIcon:'',cancelClass:"btn btn-default btn-secondary",pauseIcon:'',pauseClass:"btn btn-default btn-secondary",uploadIcon:'',uploadClass:"btn btn-default btn-secondary",uploadUrl:null,uploadUrlThumb:null,uploadAsync:!0,uploadParamNames:{chunkCount:"chunkCount",chunkIndex:"chunkIndex",chunkSize:"chunkSize",chunkSizeStart:"chunkSizeStart",chunksUploaded:"chunksUploaded",fileBlob:"fileBlob",fileId:"fileId",fileName:"fileName",fileRelativePath:"fileRelativePath",fileSize:"fileSize",retryCount:"retryCount"},maxAjaxThreads:5,fadeDelay:800,processDelay:100,queueDelay:10,progressDelay:0,enableResumableUpload:!1,resumableUploadOptions:{fallback:null,testUrl:null,chunkSize:2*1024,maxThreads:4,maxRetries:3,showErrorLog:!0},uploadExtraData:{},zoomModalHeight:480,minImageWidth:null,minImageHeight:null,maxImageWidth:null,maxImageHeight:null,resizeImage:!1,resizePreference:"width",resizeQuality:.92,resizeDefaultImageType:"image/jpeg",resizeIfSizeMoreThan:0,minFileSize:-1,maxFileSize:0,maxFilePreviewSize:25600,minFileCount:0,maxFileCount:0,maxTotalFileCount:0,validateInitialCount:!1,msgValidationErrorClass:"text-danger",msgValidationErrorIcon:' ',msgErrorClass:"file-error-message",progressThumbClass:"progress-bar progress-bar-striped active progress-bar-animated",progressClass:"progress-bar bg-success progress-bar-success progress-bar-striped active progress-bar-animated",progressInfoClass:"progress-bar bg-info progress-bar-info progress-bar-striped active progress-bar-animated",progressCompleteClass:"progress-bar bg-success progress-bar-success",progressPauseClass:"progress-bar bg-primary progress-bar-primary progress-bar-striped active progress-bar-animated",progressErrorClass:"progress-bar bg-danger progress-bar-danger",progressUploadThreshold:99,previewFileType:"image",elCaptionContainer:null,elCaptionText:null,elCaptionLabelText:null,elPreviewContainer:null,elPreviewImage:null,elPreviewStatus:null,elErrorContainer:null,errorCloseButton:t.closeButton("kv-error-close"),slugCallback:null,dropZoneEnabled:!0,dropZoneTitleClass:"file-drop-zone-title",fileActionSettings:{},otherActionButtons:"",textEncoding:"UTF-8",preProcessUpload:null,ajaxSettings:{},ajaxDeleteSettings:{},showAjaxErrorDetails:!0,mergeAjaxCallbacks:!1,mergeAjaxDeleteCallbacks:!1,retryErrorUploads:!0,reversePreviewOrder:!1,usePdfRenderer:function(){var e=!!window.MSInputMethodContext&&!!document.documentMode;return!!navigator.userAgent.match(/(iPod|iPhone|iPad|Android)/i)||e},pdfRendererUrl:"",pdfRendererTemplate:""},e.fn.fileinputLocales.en={fileSingle:"file",filePlural:"files",browseLabel:"Browse …",removeLabel:"Remove",removeTitle:"Clear all unprocessed files",cancelLabel:"Cancel",cancelTitle:"Abort ongoing upload",pauseLabel:"Pause",pauseTitle:"Pause ongoing upload",uploadLabel:"Upload",uploadTitle:"Upload selected files",msgNo:"No",msgNoFilesSelected:"No files selected",msgCancelled:"Cancelled",msgPaused:"Paused",msgPlaceholder:"Select {files} ...",msgZoomModalHeading:"Detailed Preview",msgFileRequired:"You must select a file to upload.",msgSizeTooSmall:'File "{name}" ({size} KB) is too small and must be larger than {minSize} KB.',msgSizeTooLarge:'File "{name}" ({size} KB) exceeds maximum allowed upload size of {maxSize} KB.',msgFilesTooLess:"You must select at least {n} {files} to upload.",msgFilesTooMany:"Number of files selected for upload ({n}) exceeds maximum allowed limit of {m}.",msgTotalFilesTooMany:"You can upload a maximum of {m} files ({n} files detected).",msgFileNotFound:'File "{name}" not found!',msgFileSecured:'Security restrictions prevent reading the file "{name}".',msgFileNotReadable:'File "{name}" is not readable.',msgFilePreviewAborted:'File preview aborted for "{name}".',msgFilePreviewError:'An error occurred while reading the file "{name}".',msgInvalidFileName:'Invalid or unsupported characters in file name "{name}".',msgInvalidFileType:'Invalid type for file "{name}". Only "{types}" files are supported.',msgInvalidFileExtension:'Invalid extension for file "{name}". Only "{extensions}" files are supported.',msgFileTypes:{image:"image",html:"HTML",text:"text",video:"video",audio:"audio",flash:"flash",pdf:"PDF",object:"object"},msgUploadAborted:"The file upload was aborted",msgUploadThreshold:"Processing …",msgUploadBegin:"Initializing …",msgUploadEnd:"Done",msgUploadResume:"Resuming upload …",msgUploadEmpty:"No valid data available for upload.",msgUploadError:"Upload Error",msgDeleteError:"Delete Error",msgProgressError:"Error",msgValidationError:"Validation Error",msgLoading:"Loading file {index} of {files} …",msgProgress:"Loading file {index} of {files} - {name} - {percent}% completed.",msgSelected:"{n} {files} selected",msgFoldersNotAllowed:"Drag & drop files only! {n} folder(s) dropped were skipped.",msgImageWidthSmall:'Width of image file "{name}" must be at least {size} px.',msgImageHeightSmall:'Height of image file "{name}" must be at least {size} px.',msgImageWidthLarge:'Width of image file "{name}" cannot exceed {size} px.',msgImageHeightLarge:'Height of image file "{name}" cannot exceed {size} px.',msgImageResizeError:"Could not get the image dimensions to resize.",msgImageResizeException:"Error while resizing the image.
    {errors}
    ",msgAjaxError:"Something went wrong with the {operation} operation. Please try again later!",msgAjaxProgressError:"{operation} failed",msgDuplicateFile:'File "{name}" of same size "{size} KB" has already been selected earlier. Skipping duplicate selection.',msgResumableUploadRetriesExceeded:"Upload aborted beyond {max} retries for file {file}! Error Details:
    {error}
    ",msgPendingTime:"{time} remaining",msgCalculatingTime:"calculating time remaining",ajaxOperations:{deleteThumb:"file delete",uploadThumb:"file upload",uploadBatch:"batch file upload",uploadExtra:"form data upload"},dropZoneTitle:"Drag & drop files here …",dropZoneClickTitle:"
    (or click to select {files})",previewZoomButtonTitles:{prev:"View previous file",next:"View next file",toggleheader:"Toggle header",fullscreen:"Toggle full screen",borderless:"Toggle borderless mode",close:"Close detailed preview"}},e.fn.fileinput.Constructor=n,e(document).ready(function(){var t=e("input.file[type=file]");t.length&&t.fileinput()})}); /*! -<<<<<<< HEAD * bootstrap-fileinput v5.1.3 * http://plugins.krajee.com/file-input * @@ -342,21 +335,7 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md */(function(e){"use strict";e.fn.fileinputThemes.fas={fileActionSettings:{removeIcon:'',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:''},layoutTemplates:{fileIcon:' '},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' '}})(window.jQuery); -if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daIsEmpty,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,daIsEmpty=1,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()})},500),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daNewCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daIsEmpty&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})}function daResizeCanvas(){setTimeout(function(){var e=$("#dasigcanvas")[0],t=e.getContext("2d"),n=t.getImageData(0,0,e.width,e.height);daNewCanvas(),t=$("#dasigcanvas")[0].getContext("2d"),t.putImageData(n,0,0)},200)}function daSaveCanvas(){var e=document.getElementById("dasigcanvas").toDataURL();daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o
    ',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:'',},layoutTemplates:{fileIcon:' ',},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:'',},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' ',};})(window.jQuery); if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daSigPad,daPrevCanvasWidth,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),daPrevCanvasWidth=$("#dasigcanvas").width(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()}),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daClearCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daCanvasIsEmpty()&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})},500)}function daClearCanvas(){daSigPad.clear()}function daCanvasIsEmpty(){return daSigPad.isEmpty()}function daResizeCanvas(){setTimeout(function(){var e,n,t=daSigPad.toData();daNewCanvas(),e=$("#dasigcanvas").width(),n=e/daPrevCanvasWidth,daPrevCanvasWidth=e,daScaleSignaturePad(t,n),daSigPad.fromData(t)},200)}function daScaleSignaturePad(e,t){e.forEach(e=>{e.points.forEach(e=>{e.x*=t,e.y*=t})})}function daSaveCanvas(){var e=daSigPad.toDataURL("image/png");daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),daSigPad=new SignaturePad($("#dasigcanvas")[0],{dotSize:daTheWidth/1.75,maxWidth:daTheWidth,penColor:daColor}),setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o>>>>>> ca725c692 (Use signature_pad to make sure to capture the full signature image) /*! * LABELAUTY jQuery Plugin * @@ -375,3 +354,9 @@ if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAs !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).io=e()}(this,(function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}var m=Object.create(null);m.open="0",m.close="1",m.ping="2",m.pong="3",m.message="4",m.upgrade="5",m.noop="6";var b=Object.create(null);Object.keys(m).forEach((function(t){b[m[t]]=t}));for(var k={type:"error",data:"parser error"},w="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),_="function"==typeof ArrayBuffer,E=function(t,e,n){var r,i=t.type,o=t.data;return w&&o instanceof Blob?e?n(o):O(o,n):_&&(o instanceof ArrayBuffer||(r=o,"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(r):r&&r.buffer instanceof ArrayBuffer))?e?n(o):O(new Blob([o]),n):n(m[i]+(o||""))},O=function(t,e){var n=new FileReader;return n.onload=function(){var t=n.result.split(",")[1];e("b"+t)},n.readAsDataURL(t)},A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",R="undefined"==typeof Uint8Array?[]:new Uint8Array(256),T=0;T1?{type:b[n],data:t.substring(1)}:{type:b[n]}:k},S=function(t,e){if(C){var n=function(t){var e,n,r,i,o,s=.75*t.length,a=t.length,c=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var u=new ArrayBuffer(s),h=new Uint8Array(u);for(e=0;e>4,h[c++]=(15&r)<<4|i>>2,h[c++]=(3&i)<<6|63&o;return u}(t);return N(n,e)}return{base64:!0,data:t}},N=function(t,e){return"blob"===e&&t instanceof ArrayBuffer?new Blob([t]):t},x=String.fromCharCode(30);function L(t){if(t)return function(t){for(var e in L.prototype)t[e]=L.prototype[e];return t}(t)}L.prototype.on=L.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},L.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},L.prototype.off=L.prototype.removeListener=L.prototype.removeAllListeners=L.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+t];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var i=0;i1?e-1:0),r=1;r0);return e}function W(){var t=z(+new Date);return t!==F?(K=0,F=t):t+"."+z(K++)}for(;Y<64;Y++)H[V[Y]]=Y;function $(t){var e="";for(var n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e}function J(t){for(var e={},n=t.split("&"),r=0,i=n.length;r0&&void 0!==arguments[0]?arguments[0]:{};return i(t,{xd:this.xd,xs:this.xs},this.opts),new nt(this.uri(),t)}},{key:"doWrite",value:function(t,e){var n=this,r=this.request({method:"POST",data:t});r.on("success",e),r.on("error",(function(t,e){n.onError("xhr post error",t,e)}))}},{key:"doPoll",value:function(){var t=this,e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(function(e,n){t.onError("xhr poll error",e,n)})),this.pollXhr=e}}]),s}(U),nt=function(t){o(i,t);var n=p(i);function i(t,r){var o;return e(this,i),D(f(o=n.call(this)),r),o.opts=r,o.method=r.method||"GET",o.uri=t,o.async=!1!==r.async,o.data=void 0!==r.data?r.data:null,o.create(),o}return r(i,[{key:"create",value:function(){var t=this,e=j(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd,e.xscheme=!!this.opts.xs;var n=this.xhr=new Q(e);try{n.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders)for(var r in n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(r)&&n.setRequestHeader(r,this.opts.extraHeaders[r])}catch(t){}if("POST"===this.method)try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{n.setRequestHeader("Accept","*/*")}catch(t){}"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=function(){4===n.readyState&&(200===n.status||1223===n.status?t.onLoad():t.setTimeoutFn((function(){t.onError("number"==typeof n.status?n.status:0)}),0))},n.send(this.data)}catch(e){return void this.setTimeoutFn((function(){t.onError(e)}),0)}"undefined"!=typeof document&&(this.index=i.requestsCount++,i.requests[this.index]=this)}},{key:"onError",value:function(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}},{key:"cleanup",value:function(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=Z,t)try{this.xhr.abort()}catch(t){}"undefined"!=typeof document&&delete i.requests[this.index],this.xhr=null}}},{key:"onLoad",value:function(){var t=this.xhr.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}},{key:"abort",value:function(){this.cleanup()}}]),i}(L);if(nt.requestsCount=0,nt.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",rt);else if("function"==typeof addEventListener){addEventListener("onpagehide"in P?"pagehide":"unload",rt,!1)}function rt(){for(var t in nt.requests)nt.requests.hasOwnProperty(t)&&nt.requests[t].abort()}var it="function"==typeof Promise&&"function"==typeof Promise.resolve?function(t){return Promise.resolve().then(t)}:function(t,e){return e(t,0)},ot=P.WebSocket||P.MozWebSocket,st="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),at=function(t){o(i,t);var n=p(i);function i(t){var r;return e(this,i),(r=n.call(this,t)).supportsBinary=!t.forceBase64,r}return r(i,[{key:"name",get:function(){return"websocket"}},{key:"doOpen",value:function(){if(this.check()){var t=this.uri(),e=this.opts.protocols,n=st?{}:j(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=st?new ot(t,e,n):e?new ot(t,e):new ot(t)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType||"arraybuffer",this.addEventListeners()}}},{key:"addEventListeners",value:function(){var t=this;this.ws.onopen=function(){t.opts.autoUnref&&t.ws._socket.unref(),t.onOpen()},this.ws.onclose=function(e){return t.onClose({description:"websocket connection closed",context:e})},this.ws.onmessage=function(e){return t.onData(e.data)},this.ws.onerror=function(e){return t.onError("websocket error",e)}}},{key:"write",value:function(t){var e=this;this.writable=!1;for(var n=function(n){var r=t[n],i=n===t.length-1;E(r,e.supportsBinary,(function(t){try{e.ws.send(t)}catch(t){}i&&it((function(){e.writable=!0,e.emitReserved("drain")}),e.setTimeoutFn)}))},r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return e(this,a),r=s.call(this),n&&"object"===t(n)&&(o=n,n=null),n?(n=ft(n),o.hostname=n.host,o.secure="https"===n.protocol||"wss"===n.protocol,o.port=n.port,n.query&&(o.query=n.query)):o.host&&(o.hostname=ft(o.host).host),D(f(r),o),r.secure=null!=o.secure?o.secure:"undefined"!=typeof location&&"https:"===location.protocol,o.hostname&&!o.port&&(o.port=r.secure?"443":"80"),r.hostname=o.hostname||("undefined"!=typeof location?location.hostname:"localhost"),r.port=o.port||("undefined"!=typeof location&&location.port?location.port:r.secure?"443":"80"),r.transports=o.transports||["polling","websocket"],r.readyState="",r.writeBuffer=[],r.prevBufferLen=0,r.opts=i({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},o),r.opts.path=r.opts.path.replace(/\/$/,"")+"/","string"==typeof r.opts.query&&(r.opts.query=J(r.opts.query)),r.id=null,r.upgrades=null,r.pingInterval=null,r.pingTimeout=null,r.pingTimeoutTimer=null,"function"==typeof addEventListener&&(r.opts.closeOnBeforeunload&&(r.beforeunloadEventListener=function(){r.transport&&(r.transport.removeAllListeners(),r.transport.close())},addEventListener("beforeunload",r.beforeunloadEventListener,!1)),"localhost"!==r.hostname&&(r.offlineEventListener=function(){r.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",r.offlineEventListener,!1))),r.open(),r}return r(a,[{key:"createTransport",value:function(t){var e=i({},this.opts.query);e.EIO=4,e.transport=t,this.id&&(e.sid=this.id);var n=i({},this.opts.transportOptions[t],this.opts,{query:e,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new ct[t](n)}},{key:"open",value:function(){var t,e=this;if(this.opts.rememberUpgrade&&a.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((function(){e.emitReserved("error","No transports available")}),0);t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)}},{key:"setTransport",value:function(t){var e=this;this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(function(t){return e.onClose("transport close",t)}))}},{key:"probe",value:function(t){var e=this,n=this.createTransport(t),r=!1;a.priorWebsocketSuccess=!1;var i=function(){r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",(function(t){if(!r)if("pong"===t.type&&"probe"===t.data){if(e.upgrading=!0,e.emitReserved("upgrading",n),!n)return;a.priorWebsocketSuccess="websocket"===n.name,e.transport.pause((function(){r||"closed"!==e.readyState&&(f(),e.setTransport(n),n.send([{type:"upgrade"}]),e.emitReserved("upgrade",n),n=null,e.upgrading=!1,e.flush())}))}else{var i=new Error("probe error");i.transport=n.name,e.emitReserved("upgradeError",i)}})))};function o(){r||(r=!0,f(),n.close(),n=null)}var s=function(t){var r=new Error("probe error: "+t);r.transport=n.name,o(),e.emitReserved("upgradeError",r)};function c(){s("transport closed")}function u(){s("socket closed")}function h(t){n&&t.name!==n.name&&o()}var f=function(){n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",c),e.off("close",u),e.off("upgrading",h)};n.once("open",i),n.once("error",s),n.once("close",c),this.once("close",u),this.once("upgrading",h),n.open()}},{key:"onOpen",value:function(){if(this.readyState="open",a.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade&&this.transport.pause)for(var t=0,e=this.upgrades.length;t1))return this.writeBuffer;for(var t,e=1,n=0;n=57344?n+=3:(r++,n+=4);return n}(t):Math.ceil(1.33*(t.byteLength||t.size))),n>0&&e>this.maxPayload)return this.writeBuffer.slice(0,n);e+=2}return this.writeBuffer}},{key:"write",value:function(t,e,n){return this.sendPacket("message",t,e,n),this}},{key:"send",value:function(t,e,n){return this.sendPacket("message",t,e,n),this}},{key:"sendPacket",value:function(t,e,n,r){if("function"==typeof e&&(r=e,e=void 0),"function"==typeof n&&(r=n,n=null),"closing"!==this.readyState&&"closed"!==this.readyState){(n=n||{}).compress=!1!==n.compress;var i={type:t,data:e,options:n};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),r&&this.once("flush",r),this.flush()}}},{key:"close",value:function(){var t=this,e=function(){t.onClose("forced close"),t.transport.close()},n=function n(){t.off("upgrade",n),t.off("upgradeError",n),e()},r=function(){t.once("upgrade",n),t.once("upgradeError",n)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){t.upgrading?r():e()})):this.upgrading?r():e()),this}},{key:"onError",value:function(t){a.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}},{key:"onClose",value:function(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,e),this.writeBuffer=[],this.prevBufferLen=0)}},{key:"filterUpgrades",value:function(t){for(var e=[],n=0,r=t.length;n=0&&e.num0;case Et.ACK:case Et.BINARY_ACK:return Array.isArray(n)}}}]),a}(L),Rt=function(){function t(n){e(this,t),this.packet=n,this.buffers=[],this.reconPack=n}return r(t,[{key:"takeBinaryData",value:function(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){var e=wt(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}},{key:"finishedReconstruction",value:function(){this.reconPack=null,this.buffers=[]}}]),t}(),Tt=Object.freeze({__proto__:null,protocol:5,get PacketType(){return Et},Encoder:Ot,Decoder:At});function Ct(t,e,n){return t.on(e,n),function(){t.off(e,n)}}var Bt=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),St=function(t){o(i,t);var n=p(i);function i(t,r,o){var s;return e(this,i),(s=n.call(this)).connected=!1,s.receiveBuffer=[],s.sendBuffer=[],s.ids=0,s.acks={},s.flags={},s.io=t,s.nsp=r,o&&o.auth&&(s.auth=o.auth),s.io._autoConnect&&s.open(),s}return r(i,[{key:"disconnected",get:function(){return!this.connected}},{key:"subEvents",value:function(){if(!this.subs){var t=this.io;this.subs=[Ct(t,"open",this.onopen.bind(this)),Ct(t,"packet",this.onpacket.bind(this)),Ct(t,"error",this.onerror.bind(this)),Ct(t,"close",this.onclose.bind(this))]}}},{key:"active",get:function(){return!!this.subs}},{key:"connect",value:function(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}},{key:"open",value:function(){return this.connect()}},{key:"send",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n1?e-1:0),r=1;r0&&t.jitter<=1?t.jitter:0,this.attempts=0}Nt.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=0==(1&Math.floor(10*e))?t-n:t+n}return 0|Math.min(t,this.max)},Nt.prototype.reset=function(){this.attempts=0},Nt.prototype.setMin=function(t){this.ms=t},Nt.prototype.setMax=function(t){this.max=t},Nt.prototype.setJitter=function(t){this.jitter=t};var xt=function(n){o(s,n);var i=p(s);function s(n,r){var o,a;e(this,s),(o=i.call(this)).nsps={},o.subs=[],n&&"object"===t(n)&&(r=n,n=void 0),(r=r||{}).path=r.path||"/socket.io",o.opts=r,D(f(o),r),o.reconnection(!1!==r.reconnection),o.reconnectionAttempts(r.reconnectionAttempts||1/0),o.reconnectionDelay(r.reconnectionDelay||1e3),o.reconnectionDelayMax(r.reconnectionDelayMax||5e3),o.randomizationFactor(null!==(a=r.randomizationFactor)&&void 0!==a?a:.5),o.backoff=new Nt({min:o.reconnectionDelay(),max:o.reconnectionDelayMax(),jitter:o.randomizationFactor()}),o.timeout(null==r.timeout?2e4:r.timeout),o._readyState="closed",o.uri=n;var c=r.parser||Tt;return o.encoder=new c.Encoder,o.decoder=new c.Decoder,o._autoConnect=!1!==r.autoConnect,o._autoConnect&&o.open(),o}return r(s,[{key:"reconnection",value:function(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}},{key:"reconnectionAttempts",value:function(t){return void 0===t?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}},{key:"reconnectionDelay",value:function(t){var e;return void 0===t?this._reconnectionDelay:(this._reconnectionDelay=t,null===(e=this.backoff)||void 0===e||e.setMin(t),this)}},{key:"randomizationFactor",value:function(t){var e;return void 0===t?this._randomizationFactor:(this._randomizationFactor=t,null===(e=this.backoff)||void 0===e||e.setJitter(t),this)}},{key:"reconnectionDelayMax",value:function(t){var e;return void 0===t?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,null===(e=this.backoff)||void 0===e||e.setMax(t),this)}},{key:"timeout",value:function(t){return arguments.length?(this._timeout=t,this):this._timeout}},{key:"maybeReconnectOnOpen",value:function(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}},{key:"open",value:function(t){var e=this;if(~this._readyState.indexOf("open"))return this;this.engine=new lt(this.uri,this.opts);var n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;var i=Ct(n,"open",(function(){r.onopen(),t&&t()})),o=Ct(n,"error",(function(n){r.cleanup(),r._readyState="closed",e.emitReserved("error",n),t?t(n):r.maybeReconnectOnOpen()}));if(!1!==this._timeout){var s=this._timeout;0===s&&i();var a=this.setTimeoutFn((function(){i(),n.close(),n.emit("error",new Error("timeout"))}),s);this.opts.autoUnref&&a.unref(),this.subs.push((function(){clearTimeout(a)}))}return this.subs.push(i),this.subs.push(o),this}},{key:"connect",value:function(t){return this.open(t)}},{key:"onopen",value:function(){this.cleanup(),this._readyState="open",this.emitReserved("open");var t=this.engine;this.subs.push(Ct(t,"ping",this.onping.bind(this)),Ct(t,"data",this.ondata.bind(this)),Ct(t,"error",this.onerror.bind(this)),Ct(t,"close",this.onclose.bind(this)),Ct(this.decoder,"decoded",this.ondecoded.bind(this)))}},{key:"onping",value:function(){this.emitReserved("ping")}},{key:"ondata",value:function(t){try{this.decoder.add(t)}catch(t){this.onclose("parse error",t)}}},{key:"ondecoded",value:function(t){var e=this;it((function(){e.emitReserved("packet",t)}),this.setTimeoutFn)}},{key:"onerror",value:function(t){this.emitReserved("error",t)}},{key:"socket",value:function(t,e){var n=this.nsps[t];return n||(n=new St(this,t,e),this.nsps[t]=n),n}},{key:"_destroy",value:function(t){for(var e=0,n=Object.keys(this.nsps);e=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{var n=this.backoff.duration();this._reconnecting=!0;var r=this.setTimeoutFn((function(){e.skipReconnect||(t.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((function(n){n?(e._reconnecting=!1,e.reconnect(),t.emitReserved("reconnect_error",n)):e.onreconnect()})))}),n);this.opts.autoUnref&&r.unref(),this.subs.push((function(){clearTimeout(r)}))}}},{key:"onreconnect",value:function(){var t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}]),s}(L),Lt={};function Pt(e,n){"object"===t(e)&&(n=e,e=void 0);var r,i=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,r=t;n=n||"undefined"!=typeof location&&location,null==t&&(t=n.protocol+"//"+n.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?n.protocol+t:n.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==n?n.protocol+"//"+t:"https://"+t),r=ft(t)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";var i=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+i+":"+r.port+e,r.href=r.protocol+"://"+i+(n&&n.port===r.port?"":":"+r.port),r}(e,(n=n||{}).path||"/socket.io"),o=i.source,s=i.id,a=i.path,c=Lt[s]&&a in Lt[s].nsps;return n.forceNew||n["force new connection"]||!1===n.multiplex||c?r=new xt(o,n):(Lt[s]||(Lt[s]=new xt(o,n)),r=Lt[s]),i.query&&!n.query&&(n.query=i.queryKey),r.socket(i.path,n)}return i(Pt,{Manager:xt,Socket:St,io:Pt,connect:Pt}),Pt})); //# sourceMappingURL=socket.io.min.js.map +/*! + * Signature Pad v4.0.0 | https://github.com/szimek/signature_pad + * (c) 2021 Szymon Nowak | Released under the MIT license + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SignaturePad=e()}(this,(function(){"use strict";class t{constructor(t,e,i,n){if(isNaN(t)||isNaN(e))throw new Error(`Point is invalid: (${t}, ${e})`);this.x=+t,this.y=+e,this.pressure=i||0,this.time=n||Date.now()}distanceTo(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))}equals(t){return this.x===t.x&&this.y===t.y&&this.pressure===t.pressure&&this.time===t.time}velocityFrom(t){return this.time!==t.time?this.distanceTo(t)/(this.time-t.time):0}}class e{constructor(t,e,i,n,s,o){this.startPoint=t,this.control2=e,this.control1=i,this.endPoint=n,this.startWidth=s,this.endWidth=o}static fromPoints(t,i){const n=this.calculateControlPoints(t[0],t[1],t[2]).c2,s=this.calculateControlPoints(t[1],t[2],t[3]).c1;return new e(t[1],n,s,t[2],i.start,i.end)}static calculateControlPoints(e,i,n){const s=e.x-i.x,o=e.y-i.y,h=i.x-n.x,r=i.y-n.y,a=(e.x+i.x)/2,d=(e.y+i.y)/2,l=(i.x+n.x)/2,c=(i.y+n.y)/2,u=Math.sqrt(s*s+o*o),v=Math.sqrt(h*h+r*r),m=v/(u+v),_=l+(a-l)*m,p=c+(d-c)*m,g=i.x-_,x=i.y-p;return{c1:new t(a+g,d+x),c2:new t(l+g,c+x)}}length(){let t,e,i=0;for(let n=0;n<=10;n+=1){const s=n/10,o=this.point(s,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),h=this.point(s,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(n>0){const n=o-t,s=h-e;i+=Math.sqrt(n*n+s*s)}t=o,e=h}return i}point(t,e,i,n,s){return e*(1-t)*(1-t)*(1-t)+3*i*(1-t)*(1-t)*t+3*n*(1-t)*t*t+s*t*t*t}}class i extends EventTarget{constructor(t,e={}){super(),this.canvas=t,this.options=e,this._handleMouseDown=t=>{1===t.buttons&&(this._drawningStroke=!0,this._strokeBegin(t))},this._handleMouseMove=t=>{this._drawningStroke&&this._strokeMoveUpdate(t)},this._handleMouseUp=t=>{1===t.buttons&&this._drawningStroke&&(this._drawningStroke=!1,this._strokeEnd(t))},this._handleTouchStart=t=>{if(t.preventDefault(),1===t.targetTouches.length){const e=t.changedTouches[0];this._strokeBegin(e)}},this._handleTouchMove=t=>{t.preventDefault();const e=t.targetTouches[0];this._strokeMoveUpdate(e)},this._handleTouchEnd=t=>{if(t.target===this.canvas){t.preventDefault();const e=t.changedTouches[0];this._strokeEnd(e)}},this._handlePointerStart=t=>{this._drawningStroke=!0,t.preventDefault(),this._strokeBegin(t)},this._handlePointerMove=t=>{this._drawningStroke&&(t.preventDefault(),this._strokeMoveUpdate(t))},this._handlePointerEnd=t=>{this._drawningStroke=!1;t.target===this.canvas&&(t.preventDefault(),this._strokeEnd(t))},this.velocityFilterWeight=e.velocityFilterWeight||.7,this.minWidth=e.minWidth||.5,this.maxWidth=e.maxWidth||2.5,this.throttle="throttle"in e?e.throttle:16,this.minDistance="minDistance"in e?e.minDistance:5,this.dotSize=e.dotSize||0,this.penColor=e.penColor||"black",this.backgroundColor=e.backgroundColor||"rgba(0,0,0,0)",this._strokeMoveUpdate=this.throttle?function(t,e=250){let i,n,s,o=0,h=null;const r=()=>{o=Date.now(),h=null,i=t.apply(n,s),h||(n=null,s=[])};return function(...a){const d=Date.now(),l=e-(d-o);return n=this,s=a,l<=0||l>e?(h&&(clearTimeout(h),h=null),o=d,i=t.apply(n,s),h||(n=null,s=[])):h||(h=window.setTimeout(r,l)),i}}(i.prototype._strokeUpdate,this.throttle):i.prototype._strokeUpdate,this._ctx=t.getContext("2d"),this.clear(),this.on()}clear(){const{_ctx:t,canvas:e}=this;t.fillStyle=this.backgroundColor,t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._data=[],this._reset(),this._isEmpty=!0}fromDataURL(t,e={}){return new Promise((i,n)=>{const s=new Image,o=e.ratio||window.devicePixelRatio||1,h=e.width||this.canvas.width/o,r=e.height||this.canvas.height/o,a=e.xOffset||0,d=e.yOffset||0;this._reset(),s.onload=()=>{this._ctx.drawImage(s,a,d,h,r),i()},s.onerror=t=>{n(t)},s.crossOrigin="anonymous",s.src=t,this._isEmpty=!1})}toDataURL(t="image/png",e){switch(t){case"image/svg+xml":return this._toSVG();default:return this.canvas.toDataURL(t,e)}}on(){this.canvas.style.touchAction="none",this.canvas.style.msTouchAction="none",window.PointerEvent?this._handlePointerEvents():(this._handleMouseEvents(),"ontouchstart"in window&&this._handleTouchEvents())}off(){this.canvas.style.touchAction="auto",this.canvas.style.msTouchAction="auto",this.canvas.removeEventListener("pointerdown",this._handlePointerStart),this.canvas.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerEnd),this.canvas.removeEventListener("mousedown",this._handleMouseDown),this.canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this.canvas.removeEventListener("touchstart",this._handleTouchStart),this.canvas.removeEventListener("touchmove",this._handleTouchMove),this.canvas.removeEventListener("touchend",this._handleTouchEnd)}isEmpty(){return this._isEmpty}fromData(t,{clear:e=!0}={}){e&&this.clear(),this._fromData(t,this._drawCurve.bind(this),this._drawDot.bind(this)),this._data=e?t:this._data.concat(t)}toData(){return this._data}_strokeBegin(t){this.dispatchEvent(new CustomEvent("beginStroke",{detail:t}));const e={dotSize:this.dotSize,minWidth:this.minWidth,maxWidth:this.maxWidth,penColor:this.penColor,points:[]};this._data.push(e),this._reset(),this._strokeUpdate(t)}_strokeUpdate(t){if(0===this._data.length)return void this._strokeBegin(t);this.dispatchEvent(new CustomEvent("beforeUpdateStroke",{detail:t}));const e=t.clientX,i=t.clientY,n=void 0!==t.pressure?t.pressure:void 0!==t.force?t.force:0,s=this._createPoint(e,i,n),o=this._data[this._data.length-1],h=o.points,r=h.length>0&&h[h.length-1],a=!!r&&s.distanceTo(r)<=this.minDistance,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}=o;if(!r||!r||!a){const t=this._addPoint(s);r?t&&this._drawCurve(t,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}):this._drawDot(s,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}),h.push({time:s.time,x:s.x,y:s.y,pressure:s.pressure})}this.dispatchEvent(new CustomEvent("afterUpdateStroke",{detail:t}))}_strokeEnd(t){this._strokeUpdate(t),this.dispatchEvent(new CustomEvent("endStroke",{detail:t}))}_handlePointerEvents(){this._drawningStroke=!1,this.canvas.addEventListener("pointerdown",this._handlePointerStart),this.canvas.addEventListener("pointermove",this._handlePointerMove),document.addEventListener("pointerup",this._handlePointerEnd)}_handleMouseEvents(){this._drawningStroke=!1,this.canvas.addEventListener("mousedown",this._handleMouseDown),this.canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)}_handleTouchEvents(){this.canvas.addEventListener("touchstart",this._handleTouchStart),this.canvas.addEventListener("touchmove",this._handleTouchMove),this.canvas.addEventListener("touchend",this._handleTouchEnd)}_reset(){this._lastPoints=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor}_createPoint(e,i,n){const s=this.canvas.getBoundingClientRect();return new t(e-s.left,i-s.top,n,(new Date).getTime())}_addPoint(t){const{_lastPoints:i}=this;if(i.push(t),i.length>2){3===i.length&&i.unshift(i[0]);const t=this._calculateCurveWidths(i[1],i[2]),n=e.fromPoints(i,t);return i.shift(),n}return null}_calculateCurveWidths(t,e){const i=this.velocityFilterWeight*e.velocityFrom(t)+(1-this.velocityFilterWeight)*this._lastVelocity,n=this._strokeWidth(i),s={end:n,start:this._lastWidth};return this._lastVelocity=i,this._lastWidth=n,s}_strokeWidth(t){return Math.max(this.maxWidth/(t+1),this.minWidth)}_drawCurveSegment(t,e,i){const n=this._ctx;n.moveTo(t,e),n.arc(t,e,i,0,2*Math.PI,!1),this._isEmpty=!1}_drawCurve(t,e){const i=this._ctx,n=t.endWidth-t.startWidth,s=2*Math.ceil(t.length());i.beginPath(),i.fillStyle=e.penColor;for(let i=0;i0?e.dotSize:(e.minWidth+e.maxWidth)/2;i.beginPath(),this._drawCurveSegment(t.x,t.y,n),i.closePath(),i.fillStyle=e.penColor,i.fill()}_fromData(e,i,n){for(const s of e){const{penColor:e,dotSize:o,minWidth:h,maxWidth:r,points:a}=s;if(a.length>1)for(let n=0;n{const i=document.createElement("path");if(!(isNaN(t.control1.x)||isNaN(t.control1.y)||isNaN(t.control2.x)||isNaN(t.control2.y))){const n=`M ${t.startPoint.x.toFixed(3)},${t.startPoint.y.toFixed(3)} C ${t.control1.x.toFixed(3)},${t.control1.y.toFixed(3)} ${t.control2.x.toFixed(3)},${t.control2.y.toFixed(3)} ${t.endPoint.x.toFixed(3)},${t.endPoint.y.toFixed(3)}`;i.setAttribute("d",n),i.setAttribute("stroke-width",(2.25*t.endWidth).toFixed(3)),i.setAttribute("stroke",e),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),s.appendChild(i)}},(t,{penColor:e,dotSize:i,minWidth:n,maxWidth:o})=>{const h=document.createElement("circle"),r=i>0?i:(n+o)/2;h.setAttribute("r",r.toString()),h.setAttribute("cx",t.x.toString()),h.setAttribute("cy",t.y.toString()),h.setAttribute("fill",e),s.appendChild(h)});const o=``;let h=s.innerHTML;if(void 0===h){const t=document.createElement("dummy"),e=s.childNodes;t.innerHTML="";for(let i=0;i")}}return i})); +//# sourceMappingURL=signature_pad.umd.min.js.map diff --git a/docassemble_webapp/docassemble/webapp/static/app/bundlewrapjquery.js b/docassemble_webapp/docassemble/webapp/static/app/bundlewrapjquery.js index 37321767d..40da20f24 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/bundlewrapjquery.js +++ b/docassemble_webapp/docassemble/webapp/static/app/bundlewrapjquery.js @@ -1,10 +1,4 @@ -(function($) {/*! - * Signature Pad v4.0.0 | https://github.com/szimek/signature_pad - * (c) 2021 Szymon Nowak | Released under the MIT license - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SignaturePad=e()}(this,(function(){"use strict";class t{constructor(t,e,i,n){if(isNaN(t)||isNaN(e))throw new Error(`Point is invalid: (${t}, ${e})`);this.x=+t,this.y=+e,this.pressure=i||0,this.time=n||Date.now()}distanceTo(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))}equals(t){return this.x===t.x&&this.y===t.y&&this.pressure===t.pressure&&this.time===t.time}velocityFrom(t){return this.time!==t.time?this.distanceTo(t)/(this.time-t.time):0}}class e{constructor(t,e,i,n,s,o){this.startPoint=t,this.control2=e,this.control1=i,this.endPoint=n,this.startWidth=s,this.endWidth=o}static fromPoints(t,i){const n=this.calculateControlPoints(t[0],t[1],t[2]).c2,s=this.calculateControlPoints(t[1],t[2],t[3]).c1;return new e(t[1],n,s,t[2],i.start,i.end)}static calculateControlPoints(e,i,n){const s=e.x-i.x,o=e.y-i.y,h=i.x-n.x,r=i.y-n.y,a=(e.x+i.x)/2,d=(e.y+i.y)/2,l=(i.x+n.x)/2,c=(i.y+n.y)/2,u=Math.sqrt(s*s+o*o),v=Math.sqrt(h*h+r*r),m=v/(u+v),_=l+(a-l)*m,p=c+(d-c)*m,g=i.x-_,x=i.y-p;return{c1:new t(a+g,d+x),c2:new t(l+g,c+x)}}length(){let t,e,i=0;for(let n=0;n<=10;n+=1){const s=n/10,o=this.point(s,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),h=this.point(s,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(n>0){const n=o-t,s=h-e;i+=Math.sqrt(n*n+s*s)}t=o,e=h}return i}point(t,e,i,n,s){return e*(1-t)*(1-t)*(1-t)+3*i*(1-t)*(1-t)*t+3*n*(1-t)*t*t+s*t*t*t}}class i extends EventTarget{constructor(t,e={}){super(),this.canvas=t,this.options=e,this._handleMouseDown=t=>{1===t.buttons&&(this._drawningStroke=!0,this._strokeBegin(t))},this._handleMouseMove=t=>{this._drawningStroke&&this._strokeMoveUpdate(t)},this._handleMouseUp=t=>{1===t.buttons&&this._drawningStroke&&(this._drawningStroke=!1,this._strokeEnd(t))},this._handleTouchStart=t=>{if(t.preventDefault(),1===t.targetTouches.length){const e=t.changedTouches[0];this._strokeBegin(e)}},this._handleTouchMove=t=>{t.preventDefault();const e=t.targetTouches[0];this._strokeMoveUpdate(e)},this._handleTouchEnd=t=>{if(t.target===this.canvas){t.preventDefault();const e=t.changedTouches[0];this._strokeEnd(e)}},this._handlePointerStart=t=>{this._drawningStroke=!0,t.preventDefault(),this._strokeBegin(t)},this._handlePointerMove=t=>{this._drawningStroke&&(t.preventDefault(),this._strokeMoveUpdate(t))},this._handlePointerEnd=t=>{this._drawningStroke=!1;t.target===this.canvas&&(t.preventDefault(),this._strokeEnd(t))},this.velocityFilterWeight=e.velocityFilterWeight||.7,this.minWidth=e.minWidth||.5,this.maxWidth=e.maxWidth||2.5,this.throttle="throttle"in e?e.throttle:16,this.minDistance="minDistance"in e?e.minDistance:5,this.dotSize=e.dotSize||0,this.penColor=e.penColor||"black",this.backgroundColor=e.backgroundColor||"rgba(0,0,0,0)",this._strokeMoveUpdate=this.throttle?function(t,e=250){let i,n,s,o=0,h=null;const r=()=>{o=Date.now(),h=null,i=t.apply(n,s),h||(n=null,s=[])};return function(...a){const d=Date.now(),l=e-(d-o);return n=this,s=a,l<=0||l>e?(h&&(clearTimeout(h),h=null),o=d,i=t.apply(n,s),h||(n=null,s=[])):h||(h=window.setTimeout(r,l)),i}}(i.prototype._strokeUpdate,this.throttle):i.prototype._strokeUpdate,this._ctx=t.getContext("2d"),this.clear(),this.on()}clear(){const{_ctx:t,canvas:e}=this;t.fillStyle=this.backgroundColor,t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._data=[],this._reset(),this._isEmpty=!0}fromDataURL(t,e={}){return new Promise((i,n)=>{const s=new Image,o=e.ratio||window.devicePixelRatio||1,h=e.width||this.canvas.width/o,r=e.height||this.canvas.height/o,a=e.xOffset||0,d=e.yOffset||0;this._reset(),s.onload=()=>{this._ctx.drawImage(s,a,d,h,r),i()},s.onerror=t=>{n(t)},s.crossOrigin="anonymous",s.src=t,this._isEmpty=!1})}toDataURL(t="image/png",e){switch(t){case"image/svg+xml":return this._toSVG();default:return this.canvas.toDataURL(t,e)}}on(){this.canvas.style.touchAction="none",this.canvas.style.msTouchAction="none",window.PointerEvent?this._handlePointerEvents():(this._handleMouseEvents(),"ontouchstart"in window&&this._handleTouchEvents())}off(){this.canvas.style.touchAction="auto",this.canvas.style.msTouchAction="auto",this.canvas.removeEventListener("pointerdown",this._handlePointerStart),this.canvas.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerEnd),this.canvas.removeEventListener("mousedown",this._handleMouseDown),this.canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this.canvas.removeEventListener("touchstart",this._handleTouchStart),this.canvas.removeEventListener("touchmove",this._handleTouchMove),this.canvas.removeEventListener("touchend",this._handleTouchEnd)}isEmpty(){return this._isEmpty}fromData(t,{clear:e=!0}={}){e&&this.clear(),this._fromData(t,this._drawCurve.bind(this),this._drawDot.bind(this)),this._data=e?t:this._data.concat(t)}toData(){return this._data}_strokeBegin(t){this.dispatchEvent(new CustomEvent("beginStroke",{detail:t}));const e={dotSize:this.dotSize,minWidth:this.minWidth,maxWidth:this.maxWidth,penColor:this.penColor,points:[]};this._data.push(e),this._reset(),this._strokeUpdate(t)}_strokeUpdate(t){if(0===this._data.length)return void this._strokeBegin(t);this.dispatchEvent(new CustomEvent("beforeUpdateStroke",{detail:t}));const e=t.clientX,i=t.clientY,n=void 0!==t.pressure?t.pressure:void 0!==t.force?t.force:0,s=this._createPoint(e,i,n),o=this._data[this._data.length-1],h=o.points,r=h.length>0&&h[h.length-1],a=!!r&&s.distanceTo(r)<=this.minDistance,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}=o;if(!r||!r||!a){const t=this._addPoint(s);r?t&&this._drawCurve(t,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}):this._drawDot(s,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}),h.push({time:s.time,x:s.x,y:s.y,pressure:s.pressure})}this.dispatchEvent(new CustomEvent("afterUpdateStroke",{detail:t}))}_strokeEnd(t){this._strokeUpdate(t),this.dispatchEvent(new CustomEvent("endStroke",{detail:t}))}_handlePointerEvents(){this._drawningStroke=!1,this.canvas.addEventListener("pointerdown",this._handlePointerStart),this.canvas.addEventListener("pointermove",this._handlePointerMove),document.addEventListener("pointerup",this._handlePointerEnd)}_handleMouseEvents(){this._drawningStroke=!1,this.canvas.addEventListener("mousedown",this._handleMouseDown),this.canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)}_handleTouchEvents(){this.canvas.addEventListener("touchstart",this._handleTouchStart),this.canvas.addEventListener("touchmove",this._handleTouchMove),this.canvas.addEventListener("touchend",this._handleTouchEnd)}_reset(){this._lastPoints=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor}_createPoint(e,i,n){const s=this.canvas.getBoundingClientRect();return new t(e-s.left,i-s.top,n,(new Date).getTime())}_addPoint(t){const{_lastPoints:i}=this;if(i.push(t),i.length>2){3===i.length&&i.unshift(i[0]);const t=this._calculateCurveWidths(i[1],i[2]),n=e.fromPoints(i,t);return i.shift(),n}return null}_calculateCurveWidths(t,e){const i=this.velocityFilterWeight*e.velocityFrom(t)+(1-this.velocityFilterWeight)*this._lastVelocity,n=this._strokeWidth(i),s={end:n,start:this._lastWidth};return this._lastVelocity=i,this._lastWidth=n,s}_strokeWidth(t){return Math.max(this.maxWidth/(t+1),this.minWidth)}_drawCurveSegment(t,e,i){const n=this._ctx;n.moveTo(t,e),n.arc(t,e,i,0,2*Math.PI,!1),this._isEmpty=!1}_drawCurve(t,e){const i=this._ctx,n=t.endWidth-t.startWidth,s=2*Math.ceil(t.length());i.beginPath(),i.fillStyle=e.penColor;for(let i=0;i0?e.dotSize:(e.minWidth+e.maxWidth)/2;i.beginPath(),this._drawCurveSegment(t.x,t.y,n),i.closePath(),i.fillStyle=e.penColor,i.fill()}_fromData(e,i,n){for(const s of e){const{penColor:e,dotSize:o,minWidth:h,maxWidth:r,points:a}=s;if(a.length>1)for(let n=0;n{const i=document.createElement("path");if(!(isNaN(t.control1.x)||isNaN(t.control1.y)||isNaN(t.control2.x)||isNaN(t.control2.y))){const n=`M ${t.startPoint.x.toFixed(3)},${t.startPoint.y.toFixed(3)} C ${t.control1.x.toFixed(3)},${t.control1.y.toFixed(3)} ${t.control2.x.toFixed(3)},${t.control2.y.toFixed(3)} ${t.endPoint.x.toFixed(3)},${t.endPoint.y.toFixed(3)}`;i.setAttribute("d",n),i.setAttribute("stroke-width",(2.25*t.endWidth).toFixed(3)),i.setAttribute("stroke",e),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),s.appendChild(i)}},(t,{penColor:e,dotSize:i,minWidth:n,maxWidth:o})=>{const h=document.createElement("circle"),r=i>0?i:(n+o)/2;h.setAttribute("r",r.toString()),h.setAttribute("cx",t.x.toString()),h.setAttribute("cy",t.y.toString()),h.setAttribute("fill",e),s.appendChild(h)});const o=``;let h=s.innerHTML;if(void 0===h){const t=document.createElement("dummy"),e=s.childNodes;t.innerHTML="";for(let i=0;i")}}return i})); -//# sourceMappingURL=signature_pad.umd.min.js.map -/*! jQuery Validation Plugin - v1.19.5 - 7/1/2022 +(function($) {/*! jQuery Validation Plugin - v1.19.5 - 7/1/2022 * https://jqueryvalidation.org/ * Copyright (c) 2022 Jörn Zaefferer; Licensed MIT */ !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.submitButton=b.currentTarget,a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.submitButton&&(c.settings.submitHandler||c.formSubmitted)&&(d=a("").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),!(c.settings.submitHandler&&!c.settings.debug)||(e=c.settings.submitHandler.call(c,c.currentForm,b),d&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0],k="undefined"!=typeof this.attr("contenteditable")&&"false"!==this.attr("contenteditable");if(null!=j&&(!j.form&&k&&(j.form=this.closest("form")[0],j.name=this.attr("name")),null!=j.form)){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(a,b){i[b]=f[b],delete f[b]}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g)),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}});var b=function(a){return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};a.extend(a.expr.pseudos||a.expr[":"],{blank:function(c){return!b(""+a(c).val())},filled:function(c){var d=a(c).val();return null!==d&&!!b(""+d)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");if(!this.form&&c&&(this.form=a(this).closest("form")[0],this.name=a(this).attr("name")),d===this.form){var e=a.data(this.form,"validator"),f="on"+b.type.replace(/^validate/,""),g=e.settings;g[f]&&!a(this).is(g.ignore)&&g[f].call(e,this,b)}}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.currentForm,e=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){e[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)void 0!==a[b]&&null!==a[b]&&a[b]!==!1&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").trigger("focus").trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name"),e="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),e&&(this.form=a(this).closest("form")[0],this.name=d),this.form===b.currentForm&&(!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0))})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type,g="undefined"!=typeof e.attr("contenteditable")&&"false"!==e.attr("contenteditable");return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=g?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f,g=a(b).rules(),h=a.map(g,function(a,b){return b}).length,i=!1,j=this.elementValue(b);"function"==typeof g.normalizer?f=g.normalizer:"function"==typeof this.settings.normalizer&&(f=this.settings.normalizer),f&&(j=f.call(b,j),delete g.normalizer);for(d in g){e={method:d,parameters:g[d]};try{if(c=a.validator.methods[d].call(this,j,b,e.parameters),"dependency-mismatch"===c&&1===h){i=!0;continue}if(i=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(k){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",k),k instanceof TypeError&&(k.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),k}}if(!i)return this.objectLength(g)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+b.name+""),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.name],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return void 0===a?"":a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()&&0===this.pendingRequest?(a(this.currentForm).trigger("submit"),this.submitButton&&a("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a["date"===b?"dateISO":c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),""===d&&(d=!0),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(a,d){b[a]="function"==typeof d&&"normalizer"!==a?d(c):d}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var a;b[this]&&(Array.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(a=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(a[0]),Number(a[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:void 0!==b&&null!==b&&b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})+(?::(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(){var a=!1;return function(b,c){return a||(a=!0,this.settings.debug&&window.console&&console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")),this.optional(c)||!/Invalid|NaN/.test(new Date(b).toString())}}(),dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d>=c},maxlength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d<=c},rangelength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d>=c[0]&&d<=c[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var c,d={};return a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,c){var e=a.port;"abort"===a.mode&&(d[e]&&d[e].abort(),d[e]=c)}):(c=a.ajax,a.ajax=function(b){var e=("mode"in b?b:a.ajaxSettings).mode,f=("port"in b?b:a.ajaxSettings).port;return"abort"===e?(d[f]&&d[f].abort(),d[f]=c.apply(this,arguments),d[f]):c.apply(this,arguments)}),a}); @@ -415,7 +409,6 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] `+g._getLayoutTemplate("zoomCache").replace("{zoomContent}",v),typeof g.sanitizeZoomCache=="function"&&(v=g.sanitizeZoomCache(v)),E=w(C?"other":n,s,!1,"kv-preview-thumb"),E.setTokens({zoomCache:v})},_addToPreview:function(e,n){var s,o=this;return n=t.cspBuffer.stash(n),s=o.reversePreviewOrder?e.prepend(n):e.append(n),t.cspBuffer.apply(e),s},_previewDefault:function(e,n){if(s=this,i=s.$preview,!s.showPreview)return;var s,i,a,l=t.getFileName(e),d=e?e.type:"",r=e.size||0,u=s._getFileName(e,""),h=n===!0&&!s.isAjaxUpload,m=t.createObjectURL(e),c=s.fileManager.getId(e),o=s._getThumbId(c);s._clearDefaultPreview(),a=s._generatePreviewTemplate("other",m,l,d,o,c,h,r),s._addToPreview(i,a),s._setThumbAttr(o,u,r),n===!0&&s.isAjaxUpload&&s._setThumbStatus(s._getFrame(o),"Error")},_previewFile:function(e,n,s,o,i){if(!this.showPreview)return;var p,a=this,u=t.getFileName(n),c=i.type,h=i.name,m=a._parseFileType(c,u),v=a.$preview,l=n.size||0,f=m==="image"?s.target.result:o,d=a.fileManager.getId(n),r=a._getThumbId(d),g=a._generatePreviewTemplate(m,f,u,c,r,d,!1,l);a._clearDefaultPreview(),a._addToPreview(v,g),p=a._getFrame(r),a._validateImageOrientation(p.find("img"),n,r,d,h,c,l,f),a._setThumbAttr(r,h,l),a._initSortable()},_setThumbAttr:function(e,t,n){var s=this,o=s._getFrame(e);o.length&&(n=n&&n>0?s._getSize(n):"",o.data({caption:t,size:n}))},_setInitThumbAttr:function(){var e,s,i,a,r,n=this,c=n.previewCache.data,o=n.previewCache.count(!0);if(o===0)return;for(e=0;e&"']/g,"_")},_updateFileDetails:function(e,n){var o,a,c,l,d,s=this,i=s.$element,r=t.isIE(9)&&t.findFileName(i.val())||i[0].files[0]&&i[0].files[0].name;!r&&s.fileManager.count()>0?(d=s.fileManager.getFirstFile(),o=d.nameFmt):o=r?s.slug(r):"_",a=s.isAjaxUpload?s.fileManager.count():e,l=s.previewCache.count(!0)+a,c=a===1?o:s._getMsgSelected(l),s.isError?(s.$previewContainer.removeClass("file-thumb-loading"),s.$previewStatus.html(""),s.$captionContainer.removeClass("icon-visible")):s._showFileIcon(),s._setCaption(c,s.isError),s.$container.removeClass("file-input-new file-input-ajax-new"),n||s._raise("fileselect",[e,o]),s.previewCache.count(!0)&&s._initPreviewActions()},_setThumbStatus:function(e,n){if(s=this,!s.showPreview)return;var s,o="indicator"+n,r=o+"Title",c="file-preview-"+n.toLowerCase(),i=e.find(".file-upload-indicator"),a=s.fileActionSettings;e.removeClass("file-preview-success file-preview-error file-preview-paused file-preview-loading"),n==="Success"&&e.find(".file-drag-handle").remove(),t.setHtml(i,a[o]),i.attr("title",a[r]),e.addClass(c),n==="Error"&&!s.retryErrorUploads&&e.find(".kv-file-upload").attr("disabled",!0)},_setProgressCancelled:function(){var e=this;e._setProgress(101,e.$progress,e.msgCancelled)},_setProgress:function(e,n,s,o){if(i=this,n=n||i.$progress,!n.length)return;var i,a,r=Math.min(e,100),c=i.progressUploadThreshold,d=e<=100?i.progressTemplate:i.progressCompleteTemplate,l=r<100?i.progressTemplate:s?i.paused?i.progressPauseTemplate:i.progressErrorTemplate:d;e>=100&&(o=""),t.isEmpty(l)||(c&&r>c&&e<=100?a=l.setTokens({percent:c,status:i.msgUploadThreshold}):a=l.setTokens({percent:r,status:e>100?i.msgUploadEnd:r+"%"}),o=o||"",a=a.setTokens({stats:o}),t.setHtml(n,a),s&&t.setHtml(n.find('[role="progressbar"]'),s))},_hasFiles:function(){var e=this.$element[0];return!!(e&&e.files&&e.files.length)},_setFileDropZoneTitle:function(){var o,e=this,n=e.$container.find(".file-drop-zone"),s=e.dropZoneTitle;if(e.isClickable&&(o=t.isEmpty(e.$element.attr("multiple"))?e.fileSingle:e.filePlural,s+=e.dropZoneClickTitle.replace("{files}",o)),n.find("."+e.dropZoneTitleClass).remove(),!e.showPreview||n.length===0||e.fileManager.count()>0||!e.dropZoneEnabled||e.previewCache.count()>0||!e.isAjaxUpload&&e._hasFiles())return;n.find(t.FRAMES).length===0&&t.isEmpty(e.defaultPreviewContent)&&n.prepend('
    '+s+"
    "),e.$container.removeClass("file-input-new"),t.addCss(e.$container,"file-input-ajax-new")},_getStats:function(e){var s,o,n=this;return!n.showUploadStats||!e||!e.bitrate?"":(o=n._getLayoutTemplate("stats"),s=!e.elapsed||!e.bps?n.msgCalculatingTime:n.msgPendingTime.setTokens({time:t.getElapsed(Math.ceil(e.pendingBytes/e.bps))}),o.setTokens({uploadSpeed:e.bitrate,pendingTime:s}))},_setResumableProgress:function(e,t,n){var o=this,i=o.resumableManager,s=n?i:o,a=n?n.find(".file-thumb-progress"):null;s.lastProgress===0&&(s.lastProgress=e),e0&&e._getFileCount(t-1)=d:u<=d,m)return;h=l["msgImage"+a+n].setTokens({name:i,size:d}),l._showFileError(h,r),l._setPreviewError(o)},_getExifObj:function(e){var n,o=this,s=t.logMessages.exifWarning;if(e.slice(0,23)!=="data:image/jpeg;base64,"&&e.slice(0,22)!=="data:image/jpg;base64,"){n=null;return}try{n=window.piexif?window.piexif.load(e):null}catch(e){n=null,s=e&&e.message||""}return n||o._log(t.logMessages.badExifParser,{details:s}),n},setImageOrientation:function(n,s,o,i){var r,l,d,a=this,u=!n||!n.length,m=!s||!s.length,c=!1,h=u&&i&&i.attr("data-template")==="image";if(u&&m)return;d="load.fileinputimageorient",h?(n=s,s=null,n.css(a.previewSettings.image),l=e(document.createElement("div")).appendTo(i.find(".kv-file-content")),r=e(document.createElement("span")).insertBefore(n),n.css("visibility","hidden").removeClass("file-zoom-detail").appendTo(l)):c=!n.is(":visible"),n.off(d).on(d,function(){c&&(a.$preview.removeClass("hide-content"),i.find(".kv-file-content").css("visibility","hidden"));var e=n[0],u=s&&s.length?s[0]:null,m=e.offsetHeight,f=e.offsetWidth,d=t.getRotation(o);if(c&&(i.find(".kv-file-content").css("visibility","visible"),a.$preview.addClass("hide-content")),n.data("orientation",o),u&&s.data("orientation",o),o<5){t.setTransform(e,d),t.setTransform(u,d);return}var v=Math.atan(f/m),p=Math.sqrt(Math.pow(m,2)+Math.pow(f,2)),b=p?m/Math.cos(Math.PI/2+v)/p:1,g=" scale("+Math.abs(b)+")";t.setTransform(e,d+g),t.setTransform(u,d+g),h&&(n.css("visibility","visible").insertAfter(r).addClass("file-zoom-detail"),r.remove(),l.remove())})},_validateImageOrientation:function(n,s,o,i,a,r,c,l){var u,h,f,d=this,m=d.autoOrientImage;if(d.canOrientImage){n.css("image-orientation",m?"from-image":"none");return}if(f=t.getZoomSelector(o," img"),u=m?d._getExifObj(l):null,h=u?u["0th"][piexif.ImageIFD.Orientation]:null,!h){d._validateImage(o,i,a,r,c,l,u);return}d.setImageOrientation(n,e(f),h,d._getFrame(o)),d._raise("fileimageoriented",{$img:n,file:s}),d._validateImage(o,i,a,r,c,l,u)},_validateImage:function(t,n,s,o,i,a,r){var h,m,f,c=this,p=c.$preview,l=c._getFrame(t),u=l.attr("data-fileindex"),d=l.find("img");s=s||"Untitled",d.one("load",function(){m=l.width(),f=p.width(),m>f&&d.css("width","100%"),h={ind:u,id:t,fileId:n},c._checkDimensions(u,"Small",d,l,s,"Width",h),c._checkDimensions(u,"Small",d,l,s,"Height",h),c.resizeImage||(c._checkDimensions(u,"Large",d,l,s,"Width",h),c._checkDimensions(u,"Large",d,l,s,"Height",h)),c._raise("fileimageloaded",[t]),c.fileManager.addImage(n,{ind:u,img:d,thumb:l,pid:t,typ:o,siz:i,validated:!1,imgData:a,exifObj:r}),l.data("exif",r),c._validateAllImages()}).one("error",function(){c._raise("fileimageloaderror",[t])}).each(function(){this.complete?e(this).trigger("load"):this.error&&e(this).trigger("error")})},_validateAllImages:function(){var n,t=this,o={val:0},s=t.fileManager.getImageCount(),i=t.resizeIfSizeMoreThan;if(s!==t.fileManager.totalImages)return;if(t._raise("fileimagesloaded"),!t.resizeImage)return;e.each(t.fileManager.loadedImages,function(e,a){a.validated||(n=a.siz,n&&n>i*1e3&&t._getResizedImage(e,a,o,s),a.validated=!0)})},_getResizedImage:function(n,s,o,i){var l,p,g,y,x,E,a=this,b=e(s.img)[0],c=b.naturalWidth,r=b.naturalHeight,u=1,h=a.maxImageWidth||c,d=a.maxImageHeight||r,f=!!(c&&r),v=a.imageCanvas,M=a.imageCanvasContext,m=s.typ,O=s.pid,w=s.ind,S=s.thumb,C=s.exifObj,_=function(e,t,n){a.isAjaxUpload?a._showFileError(e,t,n):a._showError(e,t,n),a._setPreviewError(S)},k=a.fileManager.getFile(n),j={id:O,index:w,fileId:n},A=[n,O,w];if((!k||!f||c<=h&&r<=d)&&(f&&k&&a._raise("fileimageresized",A),o.val++,o.val===i&&a._raise("fileimagesresized"),!f)){_(a.msgImageResizeError,j,"fileimageresizeerror");return}m=m||a.resizeDefaultImageType,p=c>h,g=r>d,a.resizePreference==="width"?u=p?h/c:g?d/r:1:u=g?d/r:p?h/c:1,a._resetCanvas(),c*=u,r*=u,v.width=c,v.height=r;try{M.drawImage(b,0,0,c,r),l=v.toDataURL(m,a.resizeQuality),C&&(E=window.piexif.dump(C),l=window.piexif.insert(E,l)),y=t.dataURI2Blob(l),a.fileManager.setFile(n,y),a._raise("fileimageresized",A),o.val++,o.val===i&&a._raise("fileimagesresized",[void 0,void 0]),y instanceof Blob||_(a.msgImageResizeError,j,"fileimageresizeerror")}catch(e){o.val++,o.val===i&&a._raise("fileimagesresized",[void 0,void 0]),x=a.msgImageResizeException.replace("{errors}",e.message),_(x,j,"fileimageresizeexception")}},_showProgress:function(){var e=this;e.$progress&&e.$progress.length&&e.$progress.show()},_hideProgress:function(){var e=this;e.$progress&&e.$progress.length&&e.$progress.hide()},_initBrowse:function(e){var n=this,s=n.$element;n.showBrowse?n.$btnFile=e.find(".btn-file").append(s):(s.appendTo(e).attr("tabindex",-1),t.addCss(s,"file-no-browse"))},_initClickable:function(){var s,o,n=this;if(!n.isClickable)return;s=n.$dropZone,n.isAjaxUpload||(o=n.$preview.find(".file-default-preview"),o.length&&(s=o)),t.addCss(s,"clickable"),s.attr("tabindex",-1),n._handler(s,"click",function(t){var o=e(t.target);!e(n.elErrorContainer+":visible").length&&(!o.parents(".file-preview-thumbnails").length||o.parents(".file-default-preview").length)&&(n.$element.data("zoneClicked",!0).trigger("click"),s.blur())})},_initCaption:function(){var e=this,n=e.initialCaption||"";return e.overwriteInitial||t.isEmpty(n)?(e.$caption.val(""),!1):(e._setCaption(n),!0)},_setCaption:function(n,s){var i,a,r,c,l,d,o=this;if(!o.$caption.length)return;if(o.$captionContainer.removeClass("icon-visible"),s)i=e("
    "+o.msgValidationError+"
    ").text(),a=o.fileManager.count(),a?(d=o.fileManager.getFirstFile(),l=a===1&&d?d.nameFmt:o._getMsgSelected(a)):l=o._getMsgSelected(o.msgNo),r=t.isEmpty(n)?l:n,c=''+o.msgValidationErrorIcon+"";else{if(t.isEmpty(n))return;i=e("
    "+n+"
    ").text(),r=i,c=o._getLayoutTemplate("fileIcon")}o.$captionContainer.addClass("icon-visible"),o.$caption.attr("title",i).val(r),t.setHtml(o.$captionIcon,c)},_createContainer:function(){var e=this,s={class:"file-input file-input-new"+(e.rtl?" kv-rtl":"")},n=t.createElement(t.cspBuffer.stash(e._renderMain()));return t.cspBuffer.apply(n),n.insertBefore(e.$element).attr(s),e._initBrowse(n),e.theme&&n.addClass("theme-"+e.theme),n},_refreshContainer:function(){var e=this,n=e.$container,s=e.$element;s.insertAfter(n),t.setHtml(n,e._renderMain()),e._initBrowse(n),e._validateDisabled()},_validateDisabled:function(){var e=this;e.$caption.attr({readonly:e.isDisabled})},_renderMain:function(){var e=this,t=e.dropZoneEnabled?" file-drop-zone":"file-drop-disabled",n=e.showClose?e._getLayoutTemplate("close"):"",s=e.showPreview?e._getLayoutTemplate("preview").setTokens({class:e.previewClass,dropClass:t}):"",o=e.isDisabled?e.captionClass+" file-caption-disabled":e.captionClass,i=e.captionTemplate.setTokens({class:o+" kv-fileinput-caption"});return e.mainTemplate.setTokens({class:e.mainClass+(!e.showBrowse&&e.showCaption?" no-browse":""),preview:s,close:n,caption:i,upload:e._renderButton("upload"),remove:e._renderButton("remove"),cancel:e._renderButton("cancel"),pause:e._renderButton("pause"),browse:e._renderButton("browse")})},_renderButton:function(e){var n=this,i=n._getLayoutTemplate("btnDefault"),s=n[e+"Class"],r=n[e+"Title"],c=n[e+"Icon"],o=n[e+"Label"],l=n.isDisabled?" disabled":"",a="button";switch(e){case"remove":if(!n.showRemove)return"";break;case"cancel":if(!n.showCancel)return"";s+=" kv-hidden";break;case"pause":if(!n.showPause)return"";s+=" kv-hidden";break;case"upload":if(!n.showUpload)return"";n.isAjaxUpload&&!n.isDisabled?i=n._getLayoutTemplate("btnLink").replace("{href}",n.uploadUrl):a="submit";break;case"browse":if(!n.showBrowse)return"";i=n._getLayoutTemplate("btnBrowse");break;default:return""}return s+=e==="browse"?" btn-file":" fileinput-"+e+" fileinput-"+e+"-button",t.isEmpty(o)||(o=' '+o+""),i.setTokens({type:a,css:s,title:r,status:l,icon:c,label:o})},_renderThumbProgress:function(){var e=this;return'
    '+e.progressInfoTemplate.setTokens({percent:101,status:e.msgUploadBegin,stats:""})+"
    "},_renderFileFooter:function(e,n,s,o,i){var c,l,a=this,r=a.fileActionSettings,m=r.showRemove,d=r.showDrag,h=r.showUpload,u=r.showZoom,f=a._getLayoutTemplate("footer"),p=a._getLayoutTemplate("indicator"),g=i?r.indicatorError:r.indicatorNew,v=i?r.indicatorErrorTitle:r.indicatorNewTitle,b=p.setTokens({indicator:g,indicatorTitle:v});return s=a._getSize(s),c={type:e,caption:n,size:s,width:o,progress:"",indicator:b},a.isAjaxUpload?(c.progress=a._renderThumbProgress(),c.actions=a._renderFileActions(c,h,!1,m,u,d,!1,!1,!1)):c.actions=a._renderFileActions(c,!1,!1,!1,u,d,!1,!1,!1),l=f.setTokens(c),l=t.replaceTags(l,a.previewThumbTags),l},_renderFileActions:function(e,t,n,s,o,i,a,r,c,l,d,u){if(m=this,!e.type&&l&&(e.type="image"),m.enableResumableUpload?t=!1:typeof t=="function"&&(t=t(e)),typeof n=="function"&&(n=n(e)),typeof s=="function"&&(s=s(e)),typeof o=="function"&&(o=o(e)),typeof i=="function"&&(i=i(e)),!t&&!n&&!s&&!o&&!i)return"";var m,g,w=r===!1?"":' data-url="'+r+'"',y="",b="",v=c===!1?"":' data-key="'+c+'"',p="",j="",f="",_=m._getLayoutTemplate("actions"),h=m.fileActionSettings,O=m.otherActionButtons.setTokens({dataKey:v,key:c}),x=a?h.removeClass+" disabled":h.removeClass;return s&&(p=m._getLayoutTemplate("actionDelete").setTokens({removeClass:x,removeIcon:h.removeIcon,removeTitle:h.removeTitle,dataUrl:w,dataKey:v,key:c})),t&&(j=m._getLayoutTemplate("actionUpload").setTokens({uploadClass:h.uploadClass,uploadIcon:h.uploadIcon,uploadTitle:h.uploadTitle})),n&&(f=m._getLayoutTemplate("actionDownload").setTokens({downloadClass:h.downloadClass,downloadIcon:h.downloadIcon,downloadTitle:h.downloadTitle,downloadUrl:d||m.initialPreviewDownloadUrl}),f=f.setTokens({filename:u,key:c})),o&&(y=m._getLayoutTemplate("actionZoom").setTokens({zoomClass:h.zoomClass,zoomIcon:h.zoomIcon,zoomTitle:h.zoomTitle})),i&&l&&(g="drag-handle-init "+h.dragClass,b=m._getLayoutTemplate("actionDrag").setTokens({dragClass:g,dragTitle:h.dragTitle,dragIcon:h.dragIcon})),_.setTokens({delete:p,upload:j,download:f,zoom:y,drag:b,other:O})},_browse:function(e){var t=this;if(e&&e.isDefaultPrevented()||!t._raise("filebrowse"))return;t.isError&&!t.isAjaxUpload&&t.clear(),t.focusCaptionOnBrowse&&t.$captionContainer.focus()},_change:function(n){if(s=this,s.changeTriggered)return;var s,a,r,l,u,f=s.$element,b=arguments.length>1,i=s.isAjaxUpload,d=b?arguments[1]:f[0].files,h=s.fileManager.count(),m=t.isEmpty(f.attr("multiple")),o=!i&&m?1:s.maxFileCount,c=s.maxTotalFileCount,p=c>0&&c>o,g=m&&h>0,j=function(t,n,o,a){var r=e.extend(!0,{},s._getOutData(null,{},{},d),{id:o,index:a}),c={id:o,index:a,file:n,files:d};return s.isPersistentError=!0,i?s._showFileError(t,r):s._showError(t,c)},v=function(e,t,n){var o=n?s.msgTotalFilesTooMany:s.msgFilesTooMany,o=o.replace("{m}",t).replace("{n}",e);s.isError=j(o,null,null,null),s.$captionContainer.removeClass("icon-visible"),s._setCaption("",!0),s.$container.removeClass("file-input-new file-input-ajax-new")};if(s.reader=null,s._resetUpload(),s._hideFileIcon(),s.dropZoneEnabled&&s.$container.find(".file-drop-zone ."+s.dropZoneTitleClass).remove(),i||(n.target&&n.target.files===void 0?d=n.target.value?[{name:n.target.value.replace(/^.+\\/,"")}]:[]:d=n.target.files||{}),l=d,t.isEmpty(l)||l.length===0){i||s.clear(),s._raise("fileselectnone");return}if(s._resetErrors(),a=l.length,u=i?s.fileManager.count()+a:a,r=s._getFileCount(u,!p&&void 0),o>0&&r>o){if(!s.autoReplace||a>o){v(s.autoReplace&&a>o?a:r,o);return}r>o&&s._resetPreviewThumbs(i)}else{if(p&&(r=s._getFileCount(u,!0),c>0&&r>c)){if(!s.autoReplace||a>o){v(s.autoReplace&&a>c?a:r,c,!0);return}r>o&&s._resetPreviewThumbs(i)}!i||g?(s._resetPreviewThumbs(!1),g&&s.clearFileStack()):i&&h===0&&(!s.previewCache.count(!0)||s.overwriteInitial)&&s._resetPreviewThumbs(!0)}s.readFiles(l)},_abort:function(t){var s,n=this;return n.ajaxAborted&&typeof n.ajaxAborted=="object"&&n.ajaxAborted.message!==void 0?(s=e.extend(!0,{},n._getOutData(null),t),s.abortData=n.ajaxAborted.data||{},s.abortMessage=n.ajaxAborted.message,n._setProgress(101,n.$progress,n.msgCancelled),n._showFileError(n.ajaxAborted.message,s,"filecustomerror"),n.cancel(),!0):!!n.ajaxAborted},_resetFileStack:function(){var t=this,n=0;t._getThumbs().each(function(){var s=e(this),o=s.attr("data-fileindex"),i=s.attr("id");if(o==="-1"||o===-1)return;t.fileManager.getFile(s.attr("data-fileid"))?s.attr({"data-fileindex":"-1"}):(s.attr({"data-fileindex":n}),n++),t._getZoom(i).attr({"data-fileindex":s.attr("data-fileindex")})})},_isFileSelectionValid:function(e){var t=this;return e=e||0,t.required&&!t.getFilesCount()?(t.$errorContainer.html(""),t._showFileError(t.msgFileRequired),!1):!(t.minFileCount>0&&t._getFileCount(e)i;return!m&&(g||p||f)},addToStack:function(e,t){this.fileManager.add(e,t)},clearFileStack:function(){var e=this;return e.fileManager.clear(),e._initResumableUpload(),e.enableResumableUpload?(e.showPause===null&&(e.showPause=!0),e.showCancel===null&&(e.showCancel=!1)):(e.showPause=!1,e.showCancel===null&&(e.showCancel=!0)),e.$element},getFileStack:function(){return this.fileManager.stack},getFileList:function(){return this.fileManager.list()},getFilesCount:function(e){var t=this,n=t.isAjaxUpload?t.fileManager.count():t._inputFileCount();return e&&(n+=t.previewCache.count(!0)),t._getFileCount(n)},readFiles:function(n){this.reader=new FileReader;var r,s=this,i=s.reader,u=s.$previewContainer,c=s.$previewStatus,g=s.msgLoading,m=s.msgProgress,p=s.previewInitId,o=n.length,d=s.fileTypeSettings,a=s.allowedFileTypes,f=a?a.length:0,l=s.allowedFileExtensions,v=t.isEmpty(l)?"":l.join(", "),h=function(t,i,a,c,l){var d,u=e.extend(!0,{},s._getOutData(null,{},{},n),{id:a,index:c,fileId:l}),h={id:a,index:c,fileId:l,file:i,files:n};s._previewDefault(i,!0),d=s._getFrame(a,!0),s.isAjaxUpload?setTimeout(function(){r(c+1)},s.processDelay):(s.unlock(),o=0),s.removeFromPreviewOnError&&d.length?d.remove():(s._initFileActions(),d.find(".kv-file-upload").remove()),s.isPersistentError=!0,s.isError=s.isAjaxUpload?s._showFileError(t,u):s._showError(t,h),s._updateFileDetails(o)};s.fileManager.clearImages(),e.each(n,function(e,t){var n=s.fileTypeSettings.image;n&&n(t.type)&&s.fileManager.totalImages++}),r=function(b){if(E=s.$errorContainer,C=s.fileManager,b>=o){s.unlock(),s.duplicateErrors.length&&(N="
  • "+s.duplicateErrors.join("
  • ")+"
  • ",E.find("ul").length===0?t.setHtml(E,s.errorCloseButton+"
      "+N+"
    "):E.find("ul").append(N),E.fadeIn(s.fadeDelay),s._handler(E.find(".kv-error-close"),"click",function(){E.fadeOut(s.fadeDelay)}),s.duplicateErrors=[]),s.isAjaxUpload?(s._raise("filebatchselected",[C.stack]),C.count()===0&&!s.isError&&s.reset()):s._raise("filebatchselected",[n]),u.removeClass("file-thumb-loading"),c.html("");return}s.lock(!0);var _,w,x,C,E,k,S,M,F,T,z,D,N,W,K,q,j=n[b],P=s._getFileId(j),O=p+"-"+P,Y=d.text,I=d.image,G=d.html,y=s._getFileName(j,""),L=(j&&j.size||0)/1e3,R="",V=t.createObjectURL(j),A=0,B="",H=!1,$=0,U=function(){var e=m.setTokens({index:b+1,files:o,percent:50,name:y});setTimeout(function(){c.html(e),s._updateFileDetails(o),r(b+1)},s.processDelay),s._raise("fileloaded",[j,O,P,b,i])&&s.isAjaxUpload&&C.add(j)};if(!j)return;if(x=C.getId(j),f>0)for(w=0;w0&&L>s.maxFileSize){_=s.msgSizeTooLarge.setTokens({name:y,size:k,maxSize:s.maxFileSize}),h(_,j,O,b,x);return}if(s.minFileSize!==null&&L<=t.getNum(s.minFileSize)){_=s.msgSizeTooSmall.setTokens({name:y,size:k,minSize:s.minFileSize}),h(_,j,O,b,x);return}if(!t.isEmpty(a)&&t.isArray(a)){for(w=0;w0)for(n=0;n0)for(s=0;s0?n.initialCaption:"",n.$caption.attr("title","").val(s),t.addCss(n.$container,"file-input-new"),n._validateDefaultPreview()),n.$container.find(t.FRAMES).length===0&&(n._initCaption()||n.$captionContainer.removeClass("icon-visible")),n._hideFileIcon(),n.focusCaptionOnClear&&n.$captionContainer.focus(),n._setFileDropZoneTitle(),n._raise("filecleared"),n.$element},reset:function(){var e=this;if(!e._raise("filereset"))return;return e.lastProgress=0,e._resetPreview(),e.$container.find(".fileinput-filename").text(""),t.addCss(e.$container,"file-input-new"),e.getFrames().length&&e.$container.removeClass("file-input-new"),e.clearFileStack(),e._setFileDropZoneTitle(),e.$element},disable:function(){var e=this,n=e.$container;return e.isDisabled=!0,e._raise("filedisabled"),e.$element.attr("disabled","disabled"),n.addClass("is-locked"),t.addCss(n.find(".btn-file"),"disabled"),n.find(".kv-fileinput-caption").addClass("file-caption-disabled"),n.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").attr("disabled",!0),e._initDragDrop(),e.$element},enable:function(){var e=this,t=e.$container;return e.isDisabled=!1,e._raise("fileenabled"),e.$element.removeAttr("disabled"),t.removeClass("is-locked"),t.find(".kv-fileinput-caption").removeClass("file-caption-disabled"),t.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").removeAttr("disabled"),t.find(".btn-file").removeClass("disabled"),e._initDragDrop(),e.$element},upload:function(){var o,a,n=this,i=n.fileManager,s=i.count(),r=!e.isEmptyObject(n._getExtraData());if(!n.isAjaxUpload||n.isDisabled||!n._isFileSelectionValid(s))return;if(n.lastProgress=0,n._resetUpload(),s===0&&!r){n._showFileError(n.msgUploadEmpty);return}if(n.cancelling=!1,n._showProgress(),n.lock(),s===0&&r){n._setProgress(2),n._uploadExtraOnly();return}if(n.enableResumableUpload)return n.resume();if((n.uploadAsync||n.enableResumableUpload)&&(a=n._getOutData(null),n._raise("filebatchpreupload",[a]),n.fileBatchCompleted=!1,n.uploadCache=[],e.each(n.getFileStack(),function(e){var t=n._getThumbId(e);n.uploadCache.push({id:t,content:null,config:null,tags:null,append:!0})}),n.$preview.find(".file-preview-initial").removeClass(t.SORT_CSS),n._initSortable()),n._setProgress(2),n.hasInitData=!1,n.uploadAsync){o=0,e.each(i.stack,function(e){n._uploadSingle(o,e,!0),o++});return}return n._uploadBatch(),n.$element},destroy:function(){var t=this,s=t.$form,o=t.$container,i=t.$element,n=t.namespace;return e(document).off(n),e(window).off(n),s&&s.length&&s.off(n),t.isAjaxUpload&&t._clearFileInput(),t._cleanup(),t._initPreviewCache(),i.insertBefore(o).off(n).removeData(),o.off().remove(),i},refresh:function(n){var s=this,o=s.$element;return typeof n!="object"||t.isEmpty(n)?n=s.options:n=e.extend(!0,{},s.options,n),s._init(n,!0),s._listen(),o},zoom:function(e){var t=this,n=t._getFrame(e);t._showModal(n)},getExif:function(e){var n=this,t=n._getFrame(e);return t&&t.data("exif")||null},getFrames:function(n){var s,o=this;return n=n||"",s=o.$preview.find(t.FRAMES+n),o.reversePreviewOrder&&(s=e(s.get().reverse())),s},getPreview:function(){var e=this;return{content:e.initialPreview,config:e.initialPreviewConfig,tags:e.initialPreviewThumbTags}}},e.fn.fileinput=function(s){if(!t.hasFileAPISupport()&&!t.isIE(9))return;var i=Array.apply(null,arguments),o=[];switch(i.shift(),this.each(function(){var m,a=e(this),r=a.data("fileinput"),c=typeof s=="object"&&s,d=c.theme||a.data("theme"),u={},h={},l=c.language||a.data("language")||e.fn.fileinput.defaults.language||"en";r||(d&&(h=e.fn.fileinputThemes[d]||{}),l!=="en"&&!t.isEmpty(e.fn.fileinputLocales[l])&&(u=e.fn.fileinputLocales[l]||{}),m=e.extend(!0,{},e.fn.fileinput.defaults,h,e.fn.fileinputLocales.en,u,c,a.data()),r=new n(this,m),a.data("fileinput",r)),typeof s=="string"&&o.push(r[s].apply(r,i))}),o.length){case 0:return this;case 1:return o[0];default:return o}};var t,n,s='class="kv-preview-data file-preview-pdf" src="{renderer}?file={data}" {style}';e.fn.fileinput.defaults={language:"en",showCaption:!0,showBrowse:!0,showPreview:!0,showRemove:!0,showUpload:!0,showUploadStats:!0,showCancel:null,showPause:null,showClose:!0,showUploadedThumbs:!0,showConsoleLogs:!1,browseOnZoneClick:!1,autoReplace:!1,autoOrientImage:function(){var e=window.navigator.userAgent,t=!!e.match(/WebKit/i),n=!!e.match(/iP(od|ad|hone)/i),s=n&&t&&!e.match(/CriOS/i);return!s},autoOrientImageInitial:!0,required:!1,rtl:!1,hideThumbnailContent:!1,encodeUrl:!0,focusCaptionOnBrowse:!0,focusCaptionOnClear:!0,generateFileId:null,previewClass:"",captionClass:"",frameClass:"krajee-default",mainClass:"file-caption-main",mainTemplate:null,fileSizeGetter:null,initialCaption:"",initialPreview:[],initialPreviewDelimiter:"*$$*",initialPreviewAsData:!1,initialPreviewFileType:"image",initialPreviewConfig:[],initialPreviewThumbTags:[],previewThumbTags:{},initialPreviewShowDelete:!0,initialPreviewDownloadUrl:"",removeFromPreviewOnError:!1,deleteUrl:"",deleteExtraData:{},overwriteInitial:!0,sanitizeZoomCache:function(e){var n=t.createElement(e);return n.find("input,textarea,select,datalist,form,.file-thumbnail-footer").remove(),n.html()},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewZoomButtonClasses:{prev:"btn btn-navigate",next:"btn btn-navigate",toggleheader:"btn btn-sm btn-kv btn-default btn-outline-secondary",fullscreen:"btn btn-sm btn-kv btn-default btn-outline-secondary",borderless:"btn btn-sm btn-kv btn-default btn-outline-secondary",close:"btn btn-sm btn-kv btn-default btn-outline-secondary"},previewTemplates:{},previewContentTemplates:{},preferIconicPreview:!1,preferIconicZoomPreview:!1,allowedFileTypes:null,allowedFileExtensions:null,allowedPreviewTypes:void 0,allowedPreviewMimeTypes:null,allowedPreviewExtensions:null,disabledPreviewTypes:void 0,disabledPreviewExtensions:["msi","exe","com","zip","rar","app","vb","scr"],disabledPreviewMimeTypes:null,defaultPreviewContent:null,customLayoutTags:{},customPreviewTags:{},previewFileIcon:'',previewFileIconClass:"file-other-icon",previewFileIconSettings:{},previewFileExtSettings:{},buttonLabelClass:"hidden-xs",browseIcon:' ',browseClass:"btn btn-primary",removeIcon:'',removeClass:"btn btn-default btn-secondary",cancelIcon:'',cancelClass:"btn btn-default btn-secondary",pauseIcon:'',pauseClass:"btn btn-default btn-secondary",uploadIcon:'',uploadClass:"btn btn-default btn-secondary",uploadUrl:null,uploadUrlThumb:null,uploadAsync:!0,uploadParamNames:{chunkCount:"chunkCount",chunkIndex:"chunkIndex",chunkSize:"chunkSize",chunkSizeStart:"chunkSizeStart",chunksUploaded:"chunksUploaded",fileBlob:"fileBlob",fileId:"fileId",fileName:"fileName",fileRelativePath:"fileRelativePath",fileSize:"fileSize",retryCount:"retryCount"},maxAjaxThreads:5,fadeDelay:800,processDelay:100,queueDelay:10,progressDelay:0,enableResumableUpload:!1,resumableUploadOptions:{fallback:null,testUrl:null,chunkSize:2*1024,maxThreads:4,maxRetries:3,showErrorLog:!0},uploadExtraData:{},zoomModalHeight:480,minImageWidth:null,minImageHeight:null,maxImageWidth:null,maxImageHeight:null,resizeImage:!1,resizePreference:"width",resizeQuality:.92,resizeDefaultImageType:"image/jpeg",resizeIfSizeMoreThan:0,minFileSize:-1,maxFileSize:0,maxFilePreviewSize:25600,minFileCount:0,maxFileCount:0,maxTotalFileCount:0,validateInitialCount:!1,msgValidationErrorClass:"text-danger",msgValidationErrorIcon:' ',msgErrorClass:"file-error-message",progressThumbClass:"progress-bar progress-bar-striped active progress-bar-animated",progressClass:"progress-bar bg-success progress-bar-success progress-bar-striped active progress-bar-animated",progressInfoClass:"progress-bar bg-info progress-bar-info progress-bar-striped active progress-bar-animated",progressCompleteClass:"progress-bar bg-success progress-bar-success",progressPauseClass:"progress-bar bg-primary progress-bar-primary progress-bar-striped active progress-bar-animated",progressErrorClass:"progress-bar bg-danger progress-bar-danger",progressUploadThreshold:99,previewFileType:"image",elCaptionContainer:null,elCaptionText:null,elCaptionLabelText:null,elPreviewContainer:null,elPreviewImage:null,elPreviewStatus:null,elErrorContainer:null,errorCloseButton:t.closeButton("kv-error-close"),slugCallback:null,dropZoneEnabled:!0,dropZoneTitleClass:"file-drop-zone-title",fileActionSettings:{},otherActionButtons:"",textEncoding:"UTF-8",preProcessUpload:null,ajaxSettings:{},ajaxDeleteSettings:{},showAjaxErrorDetails:!0,mergeAjaxCallbacks:!1,mergeAjaxDeleteCallbacks:!1,retryErrorUploads:!0,reversePreviewOrder:!1,usePdfRenderer:function(){var e=!!window.MSInputMethodContext&&!!document.documentMode;return!!navigator.userAgent.match(/(iPod|iPhone|iPad|Android)/i)||e},pdfRendererUrl:"",pdfRendererTemplate:""},e.fn.fileinputLocales.en={fileSingle:"file",filePlural:"files",browseLabel:"Browse …",removeLabel:"Remove",removeTitle:"Clear all unprocessed files",cancelLabel:"Cancel",cancelTitle:"Abort ongoing upload",pauseLabel:"Pause",pauseTitle:"Pause ongoing upload",uploadLabel:"Upload",uploadTitle:"Upload selected files",msgNo:"No",msgNoFilesSelected:"No files selected",msgCancelled:"Cancelled",msgPaused:"Paused",msgPlaceholder:"Select {files} ...",msgZoomModalHeading:"Detailed Preview",msgFileRequired:"You must select a file to upload.",msgSizeTooSmall:'File "{name}" ({size} KB) is too small and must be larger than {minSize} KB.',msgSizeTooLarge:'File "{name}" ({size} KB) exceeds maximum allowed upload size of {maxSize} KB.',msgFilesTooLess:"You must select at least {n} {files} to upload.",msgFilesTooMany:"Number of files selected for upload ({n}) exceeds maximum allowed limit of {m}.",msgTotalFilesTooMany:"You can upload a maximum of {m} files ({n} files detected).",msgFileNotFound:'File "{name}" not found!',msgFileSecured:'Security restrictions prevent reading the file "{name}".',msgFileNotReadable:'File "{name}" is not readable.',msgFilePreviewAborted:'File preview aborted for "{name}".',msgFilePreviewError:'An error occurred while reading the file "{name}".',msgInvalidFileName:'Invalid or unsupported characters in file name "{name}".',msgInvalidFileType:'Invalid type for file "{name}". Only "{types}" files are supported.',msgInvalidFileExtension:'Invalid extension for file "{name}". Only "{extensions}" files are supported.',msgFileTypes:{image:"image",html:"HTML",text:"text",video:"video",audio:"audio",flash:"flash",pdf:"PDF",object:"object"},msgUploadAborted:"The file upload was aborted",msgUploadThreshold:"Processing …",msgUploadBegin:"Initializing …",msgUploadEnd:"Done",msgUploadResume:"Resuming upload …",msgUploadEmpty:"No valid data available for upload.",msgUploadError:"Upload Error",msgDeleteError:"Delete Error",msgProgressError:"Error",msgValidationError:"Validation Error",msgLoading:"Loading file {index} of {files} …",msgProgress:"Loading file {index} of {files} - {name} - {percent}% completed.",msgSelected:"{n} {files} selected",msgFoldersNotAllowed:"Drag & drop files only! {n} folder(s) dropped were skipped.",msgImageWidthSmall:'Width of image file "{name}" must be at least {size} px.',msgImageHeightSmall:'Height of image file "{name}" must be at least {size} px.',msgImageWidthLarge:'Width of image file "{name}" cannot exceed {size} px.',msgImageHeightLarge:'Height of image file "{name}" cannot exceed {size} px.',msgImageResizeError:"Could not get the image dimensions to resize.",msgImageResizeException:"Error while resizing the image.
    {errors}
    ",msgAjaxError:"Something went wrong with the {operation} operation. Please try again later!",msgAjaxProgressError:"{operation} failed",msgDuplicateFile:'File "{name}" of same size "{size} KB" has already been selected earlier. Skipping duplicate selection.',msgResumableUploadRetriesExceeded:"Upload aborted beyond {max} retries for file {file}! Error Details:
    {error}
    ",msgPendingTime:"{time} remaining",msgCalculatingTime:"calculating time remaining",ajaxOperations:{deleteThumb:"file delete",uploadThumb:"file upload",uploadBatch:"batch file upload",uploadExtra:"form data upload"},dropZoneTitle:"Drag & drop files here …",dropZoneClickTitle:"
    (or click to select {files})",previewZoomButtonTitles:{prev:"View previous file",next:"View next file",toggleheader:"Toggle header",fullscreen:"Toggle full screen",borderless:"Toggle borderless mode",close:"Close detailed preview"}},e.fn.fileinput.Constructor=n,e(document).ready(function(){var t=e("input.file[type=file]");t.length&&t.fileinput()})}); /*! -<<<<<<< HEAD * bootstrap-fileinput v5.1.3 * http://plugins.krajee.com/file-input * @@ -428,21 +421,7 @@ $.bridget(NAMESPACE_ALTERNATE,Slider);$(function(){$("input[data-provide=slider] * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md */(function(e){"use strict";e.fn.fileinputThemes.fas={fileActionSettings:{removeIcon:'',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:''},layoutTemplates:{fileIcon:' '},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' '}})(window.jQuery); -if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daIsEmpty,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,daIsEmpty=1,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()})},500),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daNewCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daIsEmpty&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})}function daResizeCanvas(){setTimeout(function(){var e=$("#dasigcanvas")[0],t=e.getContext("2d"),n=t.getImageData(0,0,e.width,e.height);daNewCanvas(),t=$("#dasigcanvas")[0].getContext("2d"),t.putImageData(n,0,0)},200)}function daSaveCanvas(){var e=document.getElementById("dasigcanvas").toDataURL();daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),$("#dasigcanvas").each(function(){daCtx=$(this)[0].getContext("2d"),daCtx.strokeStyle=daColor,daCtx.lineWidth=daTheWidth}),$("#dasigcanvas").drawTouch(),$("#dasigcanvas").drawPointer(),$("#dasigcanvas").drawMouse(),daIsEmpty=1,setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}$.fn.drawTouch=function(){var n=function(e){e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&($(".dasigsave").prop("disabled",!1),daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.changedTouches[0].pageX-$("#dasigcanvas").offset().left,y=e.changedTouches[0].pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daIsEmpty&&(daIsEmpty=0)},t=function(t){e(t)},s=function(e){e.preventDefault(),e=e.originalEvent,daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)};$(this).on("click",s),$(this).on("touchend",t),$(this).on("touchcancel",t),$(this).on("touchstart",n),$(this).on("touchmove",e)},$.fn.drawPointer=function(){var t=function(e){e=e.originalEvent,daCtx.beginPath(),daCtx.lineJoin="round",x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},e=function(e){e.preventDefault(),e=e.originalEvent,x=e.pageX-$("#dasigcanvas").offset().left,y=e.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},n=function(t){e(t)};$(this).on("MSPointerDown",t),$(this).on("MSPointerMove",e),$(this).on("MSPointerUp",n)},$.fn.drawMouse=function(){var e=0,n=function(t){e=1,x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.lineJoin="round",daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0)},t=function(t){e&&(x=t.pageX-$("#dasigcanvas").offset().left,y=t.pageY-$("#dasigcanvas").offset().top,daCtx.lineTo(x,y),daCtx.stroke(),daCtx.beginPath(),daCtx.arc(x,y,.5*daTheWidth,0,2*Math.PI),daCtx.fill(),daCtx.beginPath(),daCtx.moveTo(x,y),daIsEmpty&&(daIsEmpty=0))},s=function(n){return t(n),e=0,!0};$(this).on("mousedown",n),$(this).on("mousemove",t),$(window).on("mouseup",s)};function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o
    ',uploadIcon:'',uploadRetryIcon:'',downloadIcon:'',zoomIcon:'',dragIcon:'',indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:'',},layoutTemplates:{fileIcon:' ',},previewZoomButtonIcons:{prev:'',next:'',toggleheader:'',fullscreen:'',borderless:'',close:'',},previewFileIcon:'',browseIcon:'',removeIcon:'',cancelIcon:'',pauseIcon:'',uploadIcon:'',msgValidationErrorIcon:' ',};})(window.jQuery); if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAspectRatio,daTheBorders,daSigPad,daPrevCanvasWidth,daAutocomplete;daColor="#000";function daInitializeSignature(){daAspectRatio=.4,daTheBorders=30,setTimeout(function(){isCanvasSupported()||daPost({da_success:0,da_ajax:1}),daNewCanvas(),daPrevCanvasWidth=$("#dasigcanvas").width(),$(document).on("touchmove",function(e){window.matchMedia("(max-width: 575px)").matches&&e.preventDefault()}),$(window).on("resize",function(){daResizeCanvas()}),$(window).on("orientationchange",function(){daResizeCanvas()}),$(".dasigclear").click(function(e){return e.preventDefault(),daClearCanvas(),!1}),$(".dasigsave").click(function(e){return e.preventDefault(),daCanvasIsEmpty()&&document.getElementById("da_sig_required").value=="1"?($("#daerrormess").removeClass("dasignotshowing"),setTimeout(function(){$("#daerrormess").addClass("dasignotshowing")},3e3)):($(".dasigclear").attr("disabled",!0),$(".dasigsave").attr("disabled",!0),daSaveCanvas()),!1})},500)}function daClearCanvas(){daSigPad.clear()}function daCanvasIsEmpty(){return daSigPad.isEmpty()}function daResizeCanvas(){setTimeout(function(){var e,n,t=daSigPad.toData();daNewCanvas(),e=$("#dasigcanvas").width(),n=e/daPrevCanvasWidth,daPrevCanvasWidth=e,daScaleSignaturePad(t,n),daSigPad.fromData(t)},200)}function daScaleSignaturePad(e,t){e.forEach(e=>{e.points.forEach(e=>{e.x*=t,e.y*=t})})}function daSaveCanvas(){var e=daSigPad.toDataURL("image/png");daSpinnerTimeout=setTimeout(daShowSpinner,1e3),daPost({da_success:1,da_the_image:e,da_ajax:1})}function daNewCanvas(){var e,n,o,t=$(window).width()-daTheBorders,s=$("#dasigpage").outerWidth(!0);t>s&&(t=s),e=t*daAspectRatio,n=$("#dasigheader").outerHeight(!0)+$("#dasigtoppart").outerHeight(!0)+$("#dasigmidpart").outerHeight(!0)+$("#dasigbottompart").outerHeight(!0),e>$(window).height()-n&&(e=$(window).height()-n),(e>275||e<30)&&(e=275),$("#dasigcontent").height(e),o='',$("#dasigcontent").html(o),daTheWidth=daThicknessScalingFactor*t/100,daTheWidth<1&&(daTheWidth=1),daSigPad=new SignaturePad($("#dasigcanvas")[0],{dotSize:daTheWidth/1.75,maxWidth:daTheWidth,penColor:daColor}),setTimeout(function(){daJsEmbed?($(daTargetDiv)[0].scrollTo(0,1),daSteps>1&&$(daTargetDiv)[0].scrollIntoView()):window.scrollTo(0,1)},10)}function daPost(e){for(t in e)if(e.hasOwnProperty(t)){var t,n=document.getElementById(t);if(n!=null)n.setAttribute("value",e[t]);else{console.log("Key does not exist: "+t);return}}$("#dasigform").submit()}function isCanvasSupported(){var e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))}daAutocomplete=Object();function daInitAutocomplete(e){var t=0;try{google}catch{t=1e3}setTimeout(function(){for(var t,s,n=0;n1&&maps[t].map.fitBounds(s)}},t)}function daAddMap(e,t,n){var s=new google.maps.Map(document.getElementById("map"+e),{zoom:11,center:new google.maps.LatLng(t,n),mapTypeId:google.maps.MapTypeId.ROADMAP}),o=new google.maps.InfoWindow;return{map:s,infowindow:o}}function daAddMarker(e,t,n){var s;return t.icon?t.icon.path&&(t.icon.path=google.maps.SymbolPath[t.icon.path]):t.icon=null,s=new google.maps.Marker({position:new google.maps.LatLng(t.latitude,t.longitude),map:e.map,icon:t.icon}),t.info&&google.maps.event.addListener(s,"click",function(t,n){return function(){e.infowindow.setContent(n),e.infowindow.open(e.map,t)}}(s,t.info)),n&&(e.infowindow.setContent(t.info),e.infowindow.open(e.map,s)),s}function daFillInAddress(e){daVarLookupRev[e]?m=daVarLookupRev[e]:m=e;var n,s,o,i,a,r,l,d,u,h,m,f=atob(m).replace(/.[a-zA-Z0-9_]+$/,""),f=f.replace(/[[\]]/g,"."),v=new RegExp("^"+f+"\\.(.*)"),p={locality:"long_name",sublocality:"long_name",administrative_area_level_3:"long_name",administrative_area_level_2:"long_name",administrative_area_level_1:"short_name",country:"short_name",postal_code:"short_name"},c={locality:"city",administrative_area_level_2:"county",administrative_area_level_1:"state",country:"country",postal_code:"zip"},g=["address","city","county","state","zip","neighborhood","sublocality","administrative_area_level_3","postal_code"],t={};$("input, select").each(function(){var e,n,s=$(this).attr("id");if(typeof s!==typeof void 0&&s!==!1)try{e=atob($(this).attr("id")),e.indexOf("_field_")==0&&(e=atob(daVarLookupRev[$(this).attr("id")])),n=v.exec(e),n.length>0&&(t[n[1]]=$(this).attr("id"))}catch{}}),n=daAutocomplete[e].getPlace(),typeof t.address!="undefined"&&document.getElementById(t.address)!=null&&(document.getElementById(t.address).value="");for(d in g)typeof t[d]!="undefined"&&document.getElementById(t[d])!=null&&(document.getElementById(t[d]).value="");a={},r=[];for(o=0;o>>>>>> ca725c692 (Use signature_pad to make sure to capture the full signature image) /*! * LABELAUTY jQuery Plugin * @@ -461,4 +440,10 @@ if(typeof $=="undefined")var $=jQuery.noConflict(),daCtx,daColor,daTheWidth,daAs !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).io=e()}(this,(function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}var m=Object.create(null);m.open="0",m.close="1",m.ping="2",m.pong="3",m.message="4",m.upgrade="5",m.noop="6";var b=Object.create(null);Object.keys(m).forEach((function(t){b[m[t]]=t}));for(var k={type:"error",data:"parser error"},w="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),_="function"==typeof ArrayBuffer,E=function(t,e,n){var r,i=t.type,o=t.data;return w&&o instanceof Blob?e?n(o):O(o,n):_&&(o instanceof ArrayBuffer||(r=o,"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(r):r&&r.buffer instanceof ArrayBuffer))?e?n(o):O(new Blob([o]),n):n(m[i]+(o||""))},O=function(t,e){var n=new FileReader;return n.onload=function(){var t=n.result.split(",")[1];e("b"+t)},n.readAsDataURL(t)},A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",R="undefined"==typeof Uint8Array?[]:new Uint8Array(256),T=0;T1?{type:b[n],data:t.substring(1)}:{type:b[n]}:k},S=function(t,e){if(C){var n=function(t){var e,n,r,i,o,s=.75*t.length,a=t.length,c=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var u=new ArrayBuffer(s),h=new Uint8Array(u);for(e=0;e>4,h[c++]=(15&r)<<4|i>>2,h[c++]=(3&i)<<6|63&o;return u}(t);return N(n,e)}return{base64:!0,data:t}},N=function(t,e){return"blob"===e&&t instanceof ArrayBuffer?new Blob([t]):t},x=String.fromCharCode(30);function L(t){if(t)return function(t){for(var e in L.prototype)t[e]=L.prototype[e];return t}(t)}L.prototype.on=L.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},L.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},L.prototype.off=L.prototype.removeListener=L.prototype.removeAllListeners=L.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+t];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var i=0;i1?e-1:0),r=1;r0);return e}function W(){var t=z(+new Date);return t!==F?(K=0,F=t):t+"."+z(K++)}for(;Y<64;Y++)H[V[Y]]=Y;function $(t){var e="";for(var n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e}function J(t){for(var e={},n=t.split("&"),r=0,i=n.length;r0&&void 0!==arguments[0]?arguments[0]:{};return i(t,{xd:this.xd,xs:this.xs},this.opts),new nt(this.uri(),t)}},{key:"doWrite",value:function(t,e){var n=this,r=this.request({method:"POST",data:t});r.on("success",e),r.on("error",(function(t,e){n.onError("xhr post error",t,e)}))}},{key:"doPoll",value:function(){var t=this,e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(function(e,n){t.onError("xhr poll error",e,n)})),this.pollXhr=e}}]),s}(U),nt=function(t){o(i,t);var n=p(i);function i(t,r){var o;return e(this,i),D(f(o=n.call(this)),r),o.opts=r,o.method=r.method||"GET",o.uri=t,o.async=!1!==r.async,o.data=void 0!==r.data?r.data:null,o.create(),o}return r(i,[{key:"create",value:function(){var t=this,e=j(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd,e.xscheme=!!this.opts.xs;var n=this.xhr=new Q(e);try{n.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders)for(var r in n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(r)&&n.setRequestHeader(r,this.opts.extraHeaders[r])}catch(t){}if("POST"===this.method)try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{n.setRequestHeader("Accept","*/*")}catch(t){}"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=function(){4===n.readyState&&(200===n.status||1223===n.status?t.onLoad():t.setTimeoutFn((function(){t.onError("number"==typeof n.status?n.status:0)}),0))},n.send(this.data)}catch(e){return void this.setTimeoutFn((function(){t.onError(e)}),0)}"undefined"!=typeof document&&(this.index=i.requestsCount++,i.requests[this.index]=this)}},{key:"onError",value:function(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}},{key:"cleanup",value:function(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=Z,t)try{this.xhr.abort()}catch(t){}"undefined"!=typeof document&&delete i.requests[this.index],this.xhr=null}}},{key:"onLoad",value:function(){var t=this.xhr.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}},{key:"abort",value:function(){this.cleanup()}}]),i}(L);if(nt.requestsCount=0,nt.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",rt);else if("function"==typeof addEventListener){addEventListener("onpagehide"in P?"pagehide":"unload",rt,!1)}function rt(){for(var t in nt.requests)nt.requests.hasOwnProperty(t)&&nt.requests[t].abort()}var it="function"==typeof Promise&&"function"==typeof Promise.resolve?function(t){return Promise.resolve().then(t)}:function(t,e){return e(t,0)},ot=P.WebSocket||P.MozWebSocket,st="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),at=function(t){o(i,t);var n=p(i);function i(t){var r;return e(this,i),(r=n.call(this,t)).supportsBinary=!t.forceBase64,r}return r(i,[{key:"name",get:function(){return"websocket"}},{key:"doOpen",value:function(){if(this.check()){var t=this.uri(),e=this.opts.protocols,n=st?{}:j(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=st?new ot(t,e,n):e?new ot(t,e):new ot(t)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType||"arraybuffer",this.addEventListeners()}}},{key:"addEventListeners",value:function(){var t=this;this.ws.onopen=function(){t.opts.autoUnref&&t.ws._socket.unref(),t.onOpen()},this.ws.onclose=function(e){return t.onClose({description:"websocket connection closed",context:e})},this.ws.onmessage=function(e){return t.onData(e.data)},this.ws.onerror=function(e){return t.onError("websocket error",e)}}},{key:"write",value:function(t){var e=this;this.writable=!1;for(var n=function(n){var r=t[n],i=n===t.length-1;E(r,e.supportsBinary,(function(t){try{e.ws.send(t)}catch(t){}i&&it((function(){e.writable=!0,e.emitReserved("drain")}),e.setTimeoutFn)}))},r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return e(this,a),r=s.call(this),n&&"object"===t(n)&&(o=n,n=null),n?(n=ft(n),o.hostname=n.host,o.secure="https"===n.protocol||"wss"===n.protocol,o.port=n.port,n.query&&(o.query=n.query)):o.host&&(o.hostname=ft(o.host).host),D(f(r),o),r.secure=null!=o.secure?o.secure:"undefined"!=typeof location&&"https:"===location.protocol,o.hostname&&!o.port&&(o.port=r.secure?"443":"80"),r.hostname=o.hostname||("undefined"!=typeof location?location.hostname:"localhost"),r.port=o.port||("undefined"!=typeof location&&location.port?location.port:r.secure?"443":"80"),r.transports=o.transports||["polling","websocket"],r.readyState="",r.writeBuffer=[],r.prevBufferLen=0,r.opts=i({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},o),r.opts.path=r.opts.path.replace(/\/$/,"")+"/","string"==typeof r.opts.query&&(r.opts.query=J(r.opts.query)),r.id=null,r.upgrades=null,r.pingInterval=null,r.pingTimeout=null,r.pingTimeoutTimer=null,"function"==typeof addEventListener&&(r.opts.closeOnBeforeunload&&(r.beforeunloadEventListener=function(){r.transport&&(r.transport.removeAllListeners(),r.transport.close())},addEventListener("beforeunload",r.beforeunloadEventListener,!1)),"localhost"!==r.hostname&&(r.offlineEventListener=function(){r.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",r.offlineEventListener,!1))),r.open(),r}return r(a,[{key:"createTransport",value:function(t){var e=i({},this.opts.query);e.EIO=4,e.transport=t,this.id&&(e.sid=this.id);var n=i({},this.opts.transportOptions[t],this.opts,{query:e,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new ct[t](n)}},{key:"open",value:function(){var t,e=this;if(this.opts.rememberUpgrade&&a.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((function(){e.emitReserved("error","No transports available")}),0);t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)}},{key:"setTransport",value:function(t){var e=this;this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(function(t){return e.onClose("transport close",t)}))}},{key:"probe",value:function(t){var e=this,n=this.createTransport(t),r=!1;a.priorWebsocketSuccess=!1;var i=function(){r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",(function(t){if(!r)if("pong"===t.type&&"probe"===t.data){if(e.upgrading=!0,e.emitReserved("upgrading",n),!n)return;a.priorWebsocketSuccess="websocket"===n.name,e.transport.pause((function(){r||"closed"!==e.readyState&&(f(),e.setTransport(n),n.send([{type:"upgrade"}]),e.emitReserved("upgrade",n),n=null,e.upgrading=!1,e.flush())}))}else{var i=new Error("probe error");i.transport=n.name,e.emitReserved("upgradeError",i)}})))};function o(){r||(r=!0,f(),n.close(),n=null)}var s=function(t){var r=new Error("probe error: "+t);r.transport=n.name,o(),e.emitReserved("upgradeError",r)};function c(){s("transport closed")}function u(){s("socket closed")}function h(t){n&&t.name!==n.name&&o()}var f=function(){n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",c),e.off("close",u),e.off("upgrading",h)};n.once("open",i),n.once("error",s),n.once("close",c),this.once("close",u),this.once("upgrading",h),n.open()}},{key:"onOpen",value:function(){if(this.readyState="open",a.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade&&this.transport.pause)for(var t=0,e=this.upgrades.length;t1))return this.writeBuffer;for(var t,e=1,n=0;n=57344?n+=3:(r++,n+=4);return n}(t):Math.ceil(1.33*(t.byteLength||t.size))),n>0&&e>this.maxPayload)return this.writeBuffer.slice(0,n);e+=2}return this.writeBuffer}},{key:"write",value:function(t,e,n){return this.sendPacket("message",t,e,n),this}},{key:"send",value:function(t,e,n){return this.sendPacket("message",t,e,n),this}},{key:"sendPacket",value:function(t,e,n,r){if("function"==typeof e&&(r=e,e=void 0),"function"==typeof n&&(r=n,n=null),"closing"!==this.readyState&&"closed"!==this.readyState){(n=n||{}).compress=!1!==n.compress;var i={type:t,data:e,options:n};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),r&&this.once("flush",r),this.flush()}}},{key:"close",value:function(){var t=this,e=function(){t.onClose("forced close"),t.transport.close()},n=function n(){t.off("upgrade",n),t.off("upgradeError",n),e()},r=function(){t.once("upgrade",n),t.once("upgradeError",n)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){t.upgrading?r():e()})):this.upgrading?r():e()),this}},{key:"onError",value:function(t){a.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}},{key:"onClose",value:function(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,e),this.writeBuffer=[],this.prevBufferLen=0)}},{key:"filterUpgrades",value:function(t){for(var e=[],n=0,r=t.length;n=0&&e.num0;case Et.ACK:case Et.BINARY_ACK:return Array.isArray(n)}}}]),a}(L),Rt=function(){function t(n){e(this,t),this.packet=n,this.buffers=[],this.reconPack=n}return r(t,[{key:"takeBinaryData",value:function(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){var e=wt(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}},{key:"finishedReconstruction",value:function(){this.reconPack=null,this.buffers=[]}}]),t}(),Tt=Object.freeze({__proto__:null,protocol:5,get PacketType(){return Et},Encoder:Ot,Decoder:At});function Ct(t,e,n){return t.on(e,n),function(){t.off(e,n)}}var Bt=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),St=function(t){o(i,t);var n=p(i);function i(t,r,o){var s;return e(this,i),(s=n.call(this)).connected=!1,s.receiveBuffer=[],s.sendBuffer=[],s.ids=0,s.acks={},s.flags={},s.io=t,s.nsp=r,o&&o.auth&&(s.auth=o.auth),s.io._autoConnect&&s.open(),s}return r(i,[{key:"disconnected",get:function(){return!this.connected}},{key:"subEvents",value:function(){if(!this.subs){var t=this.io;this.subs=[Ct(t,"open",this.onopen.bind(this)),Ct(t,"packet",this.onpacket.bind(this)),Ct(t,"error",this.onerror.bind(this)),Ct(t,"close",this.onclose.bind(this))]}}},{key:"active",get:function(){return!!this.subs}},{key:"connect",value:function(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}},{key:"open",value:function(){return this.connect()}},{key:"send",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n1?e-1:0),r=1;r0&&t.jitter<=1?t.jitter:0,this.attempts=0}Nt.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=0==(1&Math.floor(10*e))?t-n:t+n}return 0|Math.min(t,this.max)},Nt.prototype.reset=function(){this.attempts=0},Nt.prototype.setMin=function(t){this.ms=t},Nt.prototype.setMax=function(t){this.max=t},Nt.prototype.setJitter=function(t){this.jitter=t};var xt=function(n){o(s,n);var i=p(s);function s(n,r){var o,a;e(this,s),(o=i.call(this)).nsps={},o.subs=[],n&&"object"===t(n)&&(r=n,n=void 0),(r=r||{}).path=r.path||"/socket.io",o.opts=r,D(f(o),r),o.reconnection(!1!==r.reconnection),o.reconnectionAttempts(r.reconnectionAttempts||1/0),o.reconnectionDelay(r.reconnectionDelay||1e3),o.reconnectionDelayMax(r.reconnectionDelayMax||5e3),o.randomizationFactor(null!==(a=r.randomizationFactor)&&void 0!==a?a:.5),o.backoff=new Nt({min:o.reconnectionDelay(),max:o.reconnectionDelayMax(),jitter:o.randomizationFactor()}),o.timeout(null==r.timeout?2e4:r.timeout),o._readyState="closed",o.uri=n;var c=r.parser||Tt;return o.encoder=new c.Encoder,o.decoder=new c.Decoder,o._autoConnect=!1!==r.autoConnect,o._autoConnect&&o.open(),o}return r(s,[{key:"reconnection",value:function(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}},{key:"reconnectionAttempts",value:function(t){return void 0===t?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}},{key:"reconnectionDelay",value:function(t){var e;return void 0===t?this._reconnectionDelay:(this._reconnectionDelay=t,null===(e=this.backoff)||void 0===e||e.setMin(t),this)}},{key:"randomizationFactor",value:function(t){var e;return void 0===t?this._randomizationFactor:(this._randomizationFactor=t,null===(e=this.backoff)||void 0===e||e.setJitter(t),this)}},{key:"reconnectionDelayMax",value:function(t){var e;return void 0===t?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,null===(e=this.backoff)||void 0===e||e.setMax(t),this)}},{key:"timeout",value:function(t){return arguments.length?(this._timeout=t,this):this._timeout}},{key:"maybeReconnectOnOpen",value:function(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}},{key:"open",value:function(t){var e=this;if(~this._readyState.indexOf("open"))return this;this.engine=new lt(this.uri,this.opts);var n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;var i=Ct(n,"open",(function(){r.onopen(),t&&t()})),o=Ct(n,"error",(function(n){r.cleanup(),r._readyState="closed",e.emitReserved("error",n),t?t(n):r.maybeReconnectOnOpen()}));if(!1!==this._timeout){var s=this._timeout;0===s&&i();var a=this.setTimeoutFn((function(){i(),n.close(),n.emit("error",new Error("timeout"))}),s);this.opts.autoUnref&&a.unref(),this.subs.push((function(){clearTimeout(a)}))}return this.subs.push(i),this.subs.push(o),this}},{key:"connect",value:function(t){return this.open(t)}},{key:"onopen",value:function(){this.cleanup(),this._readyState="open",this.emitReserved("open");var t=this.engine;this.subs.push(Ct(t,"ping",this.onping.bind(this)),Ct(t,"data",this.ondata.bind(this)),Ct(t,"error",this.onerror.bind(this)),Ct(t,"close",this.onclose.bind(this)),Ct(this.decoder,"decoded",this.ondecoded.bind(this)))}},{key:"onping",value:function(){this.emitReserved("ping")}},{key:"ondata",value:function(t){try{this.decoder.add(t)}catch(t){this.onclose("parse error",t)}}},{key:"ondecoded",value:function(t){var e=this;it((function(){e.emitReserved("packet",t)}),this.setTimeoutFn)}},{key:"onerror",value:function(t){this.emitReserved("error",t)}},{key:"socket",value:function(t,e){var n=this.nsps[t];return n||(n=new St(this,t,e),this.nsps[t]=n),n}},{key:"_destroy",value:function(t){for(var e=0,n=Object.keys(this.nsps);e=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{var n=this.backoff.duration();this._reconnecting=!0;var r=this.setTimeoutFn((function(){e.skipReconnect||(t.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((function(n){n?(e._reconnecting=!1,e.reconnect(),t.emitReserved("reconnect_error",n)):e.onreconnect()})))}),n);this.opts.autoUnref&&r.unref(),this.subs.push((function(){clearTimeout(r)}))}}},{key:"onreconnect",value:function(){var t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}]),s}(L),Lt={};function Pt(e,n){"object"===t(e)&&(n=e,e=void 0);var r,i=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,r=t;n=n||"undefined"!=typeof location&&location,null==t&&(t=n.protocol+"//"+n.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?n.protocol+t:n.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==n?n.protocol+"//"+t:"https://"+t),r=ft(t)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";var i=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+i+":"+r.port+e,r.href=r.protocol+"://"+i+(n&&n.port===r.port?"":":"+r.port),r}(e,(n=n||{}).path||"/socket.io"),o=i.source,s=i.id,a=i.path,c=Lt[s]&&a in Lt[s].nsps;return n.forceNew||n["force new connection"]||!1===n.multiplex||c?r=new xt(o,n):(Lt[s]||(Lt[s]=new xt(o,n)),r=Lt[s]),i.query&&!n.query&&(n.query=i.queryKey),r.socket(i.path,n)}return i(Pt,{Manager:xt,Socket:St,io:Pt,connect:Pt}),Pt})); //# sourceMappingURL=socket.io.min.js.map +/*! + * Signature Pad v4.0.0 | https://github.com/szimek/signature_pad + * (c) 2021 Szymon Nowak | Released under the MIT license + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SignaturePad=e()}(this,(function(){"use strict";class t{constructor(t,e,i,n){if(isNaN(t)||isNaN(e))throw new Error(`Point is invalid: (${t}, ${e})`);this.x=+t,this.y=+e,this.pressure=i||0,this.time=n||Date.now()}distanceTo(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))}equals(t){return this.x===t.x&&this.y===t.y&&this.pressure===t.pressure&&this.time===t.time}velocityFrom(t){return this.time!==t.time?this.distanceTo(t)/(this.time-t.time):0}}class e{constructor(t,e,i,n,s,o){this.startPoint=t,this.control2=e,this.control1=i,this.endPoint=n,this.startWidth=s,this.endWidth=o}static fromPoints(t,i){const n=this.calculateControlPoints(t[0],t[1],t[2]).c2,s=this.calculateControlPoints(t[1],t[2],t[3]).c1;return new e(t[1],n,s,t[2],i.start,i.end)}static calculateControlPoints(e,i,n){const s=e.x-i.x,o=e.y-i.y,h=i.x-n.x,r=i.y-n.y,a=(e.x+i.x)/2,d=(e.y+i.y)/2,l=(i.x+n.x)/2,c=(i.y+n.y)/2,u=Math.sqrt(s*s+o*o),v=Math.sqrt(h*h+r*r),m=v/(u+v),_=l+(a-l)*m,p=c+(d-c)*m,g=i.x-_,x=i.y-p;return{c1:new t(a+g,d+x),c2:new t(l+g,c+x)}}length(){let t,e,i=0;for(let n=0;n<=10;n+=1){const s=n/10,o=this.point(s,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),h=this.point(s,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(n>0){const n=o-t,s=h-e;i+=Math.sqrt(n*n+s*s)}t=o,e=h}return i}point(t,e,i,n,s){return e*(1-t)*(1-t)*(1-t)+3*i*(1-t)*(1-t)*t+3*n*(1-t)*t*t+s*t*t*t}}class i extends EventTarget{constructor(t,e={}){super(),this.canvas=t,this.options=e,this._handleMouseDown=t=>{1===t.buttons&&(this._drawningStroke=!0,this._strokeBegin(t))},this._handleMouseMove=t=>{this._drawningStroke&&this._strokeMoveUpdate(t)},this._handleMouseUp=t=>{1===t.buttons&&this._drawningStroke&&(this._drawningStroke=!1,this._strokeEnd(t))},this._handleTouchStart=t=>{if(t.preventDefault(),1===t.targetTouches.length){const e=t.changedTouches[0];this._strokeBegin(e)}},this._handleTouchMove=t=>{t.preventDefault();const e=t.targetTouches[0];this._strokeMoveUpdate(e)},this._handleTouchEnd=t=>{if(t.target===this.canvas){t.preventDefault();const e=t.changedTouches[0];this._strokeEnd(e)}},this._handlePointerStart=t=>{this._drawningStroke=!0,t.preventDefault(),this._strokeBegin(t)},this._handlePointerMove=t=>{this._drawningStroke&&(t.preventDefault(),this._strokeMoveUpdate(t))},this._handlePointerEnd=t=>{this._drawningStroke=!1;t.target===this.canvas&&(t.preventDefault(),this._strokeEnd(t))},this.velocityFilterWeight=e.velocityFilterWeight||.7,this.minWidth=e.minWidth||.5,this.maxWidth=e.maxWidth||2.5,this.throttle="throttle"in e?e.throttle:16,this.minDistance="minDistance"in e?e.minDistance:5,this.dotSize=e.dotSize||0,this.penColor=e.penColor||"black",this.backgroundColor=e.backgroundColor||"rgba(0,0,0,0)",this._strokeMoveUpdate=this.throttle?function(t,e=250){let i,n,s,o=0,h=null;const r=()=>{o=Date.now(),h=null,i=t.apply(n,s),h||(n=null,s=[])};return function(...a){const d=Date.now(),l=e-(d-o);return n=this,s=a,l<=0||l>e?(h&&(clearTimeout(h),h=null),o=d,i=t.apply(n,s),h||(n=null,s=[])):h||(h=window.setTimeout(r,l)),i}}(i.prototype._strokeUpdate,this.throttle):i.prototype._strokeUpdate,this._ctx=t.getContext("2d"),this.clear(),this.on()}clear(){const{_ctx:t,canvas:e}=this;t.fillStyle=this.backgroundColor,t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._data=[],this._reset(),this._isEmpty=!0}fromDataURL(t,e={}){return new Promise((i,n)=>{const s=new Image,o=e.ratio||window.devicePixelRatio||1,h=e.width||this.canvas.width/o,r=e.height||this.canvas.height/o,a=e.xOffset||0,d=e.yOffset||0;this._reset(),s.onload=()=>{this._ctx.drawImage(s,a,d,h,r),i()},s.onerror=t=>{n(t)},s.crossOrigin="anonymous",s.src=t,this._isEmpty=!1})}toDataURL(t="image/png",e){switch(t){case"image/svg+xml":return this._toSVG();default:return this.canvas.toDataURL(t,e)}}on(){this.canvas.style.touchAction="none",this.canvas.style.msTouchAction="none",window.PointerEvent?this._handlePointerEvents():(this._handleMouseEvents(),"ontouchstart"in window&&this._handleTouchEvents())}off(){this.canvas.style.touchAction="auto",this.canvas.style.msTouchAction="auto",this.canvas.removeEventListener("pointerdown",this._handlePointerStart),this.canvas.removeEventListener("pointermove",this._handlePointerMove),document.removeEventListener("pointerup",this._handlePointerEnd),this.canvas.removeEventListener("mousedown",this._handleMouseDown),this.canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this.canvas.removeEventListener("touchstart",this._handleTouchStart),this.canvas.removeEventListener("touchmove",this._handleTouchMove),this.canvas.removeEventListener("touchend",this._handleTouchEnd)}isEmpty(){return this._isEmpty}fromData(t,{clear:e=!0}={}){e&&this.clear(),this._fromData(t,this._drawCurve.bind(this),this._drawDot.bind(this)),this._data=e?t:this._data.concat(t)}toData(){return this._data}_strokeBegin(t){this.dispatchEvent(new CustomEvent("beginStroke",{detail:t}));const e={dotSize:this.dotSize,minWidth:this.minWidth,maxWidth:this.maxWidth,penColor:this.penColor,points:[]};this._data.push(e),this._reset(),this._strokeUpdate(t)}_strokeUpdate(t){if(0===this._data.length)return void this._strokeBegin(t);this.dispatchEvent(new CustomEvent("beforeUpdateStroke",{detail:t}));const e=t.clientX,i=t.clientY,n=void 0!==t.pressure?t.pressure:void 0!==t.force?t.force:0,s=this._createPoint(e,i,n),o=this._data[this._data.length-1],h=o.points,r=h.length>0&&h[h.length-1],a=!!r&&s.distanceTo(r)<=this.minDistance,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}=o;if(!r||!r||!a){const t=this._addPoint(s);r?t&&this._drawCurve(t,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}):this._drawDot(s,{penColor:d,dotSize:l,minWidth:c,maxWidth:u}),h.push({time:s.time,x:s.x,y:s.y,pressure:s.pressure})}this.dispatchEvent(new CustomEvent("afterUpdateStroke",{detail:t}))}_strokeEnd(t){this._strokeUpdate(t),this.dispatchEvent(new CustomEvent("endStroke",{detail:t}))}_handlePointerEvents(){this._drawningStroke=!1,this.canvas.addEventListener("pointerdown",this._handlePointerStart),this.canvas.addEventListener("pointermove",this._handlePointerMove),document.addEventListener("pointerup",this._handlePointerEnd)}_handleMouseEvents(){this._drawningStroke=!1,this.canvas.addEventListener("mousedown",this._handleMouseDown),this.canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)}_handleTouchEvents(){this.canvas.addEventListener("touchstart",this._handleTouchStart),this.canvas.addEventListener("touchmove",this._handleTouchMove),this.canvas.addEventListener("touchend",this._handleTouchEnd)}_reset(){this._lastPoints=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor}_createPoint(e,i,n){const s=this.canvas.getBoundingClientRect();return new t(e-s.left,i-s.top,n,(new Date).getTime())}_addPoint(t){const{_lastPoints:i}=this;if(i.push(t),i.length>2){3===i.length&&i.unshift(i[0]);const t=this._calculateCurveWidths(i[1],i[2]),n=e.fromPoints(i,t);return i.shift(),n}return null}_calculateCurveWidths(t,e){const i=this.velocityFilterWeight*e.velocityFrom(t)+(1-this.velocityFilterWeight)*this._lastVelocity,n=this._strokeWidth(i),s={end:n,start:this._lastWidth};return this._lastVelocity=i,this._lastWidth=n,s}_strokeWidth(t){return Math.max(this.maxWidth/(t+1),this.minWidth)}_drawCurveSegment(t,e,i){const n=this._ctx;n.moveTo(t,e),n.arc(t,e,i,0,2*Math.PI,!1),this._isEmpty=!1}_drawCurve(t,e){const i=this._ctx,n=t.endWidth-t.startWidth,s=2*Math.ceil(t.length());i.beginPath(),i.fillStyle=e.penColor;for(let i=0;i0?e.dotSize:(e.minWidth+e.maxWidth)/2;i.beginPath(),this._drawCurveSegment(t.x,t.y,n),i.closePath(),i.fillStyle=e.penColor,i.fill()}_fromData(e,i,n){for(const s of e){const{penColor:e,dotSize:o,minWidth:h,maxWidth:r,points:a}=s;if(a.length>1)for(let n=0;n{const i=document.createElement("path");if(!(isNaN(t.control1.x)||isNaN(t.control1.y)||isNaN(t.control2.x)||isNaN(t.control2.y))){const n=`M ${t.startPoint.x.toFixed(3)},${t.startPoint.y.toFixed(3)} C ${t.control1.x.toFixed(3)},${t.control1.y.toFixed(3)} ${t.control2.x.toFixed(3)},${t.control2.y.toFixed(3)} ${t.endPoint.x.toFixed(3)},${t.endPoint.y.toFixed(3)}`;i.setAttribute("d",n),i.setAttribute("stroke-width",(2.25*t.endWidth).toFixed(3)),i.setAttribute("stroke",e),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),s.appendChild(i)}},(t,{penColor:e,dotSize:i,minWidth:n,maxWidth:o})=>{const h=document.createElement("circle"),r=i>0?i:(n+o)/2;h.setAttribute("r",r.toString()),h.setAttribute("cx",t.x.toString()),h.setAttribute("cy",t.y.toString()),h.setAttribute("fill",e),s.appendChild(h)});const o=``;let h=s.innerHTML;if(void 0===h){const t=document.createElement("dummy"),e=s.childNodes;t.innerHTML="";for(let i=0;i")}}return i})); +//# sourceMappingURL=signature_pad.umd.min.js.map })(jQuery); \ No newline at end of file