(function(n){"use strict";typeof define=="function"&&define.amd?define(["jquery"],n):typeof module=="object"&&module.exports?module.exports=n(require("jquery")):n(window.jQuery)})(function(n){"use strict";n.fn.fileinputLocales={};n.fn.fileinputThemes={};String.prototype.setTokens=function(n){var i=this.toString(),t,r;for(t in n)n.hasOwnProperty(t)&&(r=new RegExp("{"+t+"}","g"),i=i.replace(r,n[t]));return i};var t,i;t={FRAMES:".kv-preview-thumb",SORT_CSS:"file-sortable",OBJECT_PARAMS:'<param name="controller" value="true" />\n<param name="allowFullScreen" value="true" />\n<param name="allowScriptAccess" value="always" />\n<param name="autoPlay" value="false" />\n<param name="autoStart" value="false" />\n<param name="quality" value="high" />\n',DEFAULT_PREVIEW:'<div class="file-preview-other">\n<span class="{previewFileIconClass}">{previewFileIcon}<\/span>\n<\/div>',MODAL_ID:"kvFileinputModal",MODAL_EVENTS:["show","shown","hide","hidden","loaded"],objUrl:window.URL||window.webkitURL,compare:function(n,t,i){return n!==undefined&&(i?n===t:n.match(t))},isIE:function(n){if(navigator.appName!=="Microsoft Internet Explorer")return!1;if(n===10)return new RegExp("msie\\s"+n,"i").test(navigator.userAgent);var t=document.createElement("div"),i;return t.innerHTML="<!--[if IE "+n+"]> <i><\/i> <![endif]-->",i=t.getElementsByTagName("i").length,document.body.appendChild(t),t.parentNode.removeChild(t),i},initModal:function(t){var i=n("body");i.length&&t.appendTo(i)},isEmpty:function(t,i){return t===undefined||t===null||t.length===0||i&&n.trim(t)===""},isArray:function(n){return Array.isArray(n)||Object.prototype.toString.call(n)==="[object Array]"},ifSet:function(n,t,i){return i=i||"",t&&typeof t=="object"&&n in t?t[n]:i},cleanArray:function(n){return n instanceof Array||(n=[]),n.filter(function(n){return n!==undefined&&n!==null})},spliceArray:function(n,t){var i,r=0,u=[];if(!(n instanceof Array))return[];for(i=0;i<n.length;i++)i!==t&&(u[r]=n[i],r++);return u},getNum:function(n,t){return(t=t||0,typeof n=="number")?n:(typeof n=="string"&&(n=parseFloat(n)),isNaN(n)?t:n)},hasFileAPISupport:function(){return!!(window.File&&window.FileReader)},hasDragDropSupport:function(){var n=document.createElement("div");return!t.isIE(9)&&(n.draggable!==undefined||n.ondragstart!==undefined&&n.ondrop!==undefined)},hasFileUploadSupport:function(){return t.hasFileAPISupport()&&window.FormData},hasBlobSupport:function(){try{return!!window.Blob&&Boolean(new Blob)}catch(n){return!1}},hasArrayBufferViewSupport:function(){try{return new Blob([new Uint8Array(100)]).size===100}catch(n){return!1}},dataURI2Blob:function(n){var s=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,h=t.hasBlobSupport(),r,u,f,i,e,o,c=(h||s)&&window.atob&&window.ArrayBuffer&&window.Uint8Array;if(!c)return null;for(r=n.split(",")[0].indexOf("base64")>=0?atob(n.split(",")[1]):decodeURIComponent(n.split(",")[1]),u=new ArrayBuffer(r.length),f=new Uint8Array(u),i=0;i<r.length;i+=1)f[i]=r.charCodeAt(i);return(e=n.split(",")[0].split(":")[1].split(";")[0],h)?new Blob([t.hasArrayBufferViewSupport()?f:u],{type:e}):(o=new s,o.append(u),o.getBlob(e))},arrayBuffer2String:function(n){if(window.TextDecoder)return new TextDecoder("utf-8").decode(n);for(var t=Array.prototype.slice.apply(new Uint8Array(n)),u="",i=0,r,f,o,e=t.length;i<e;){r=t[i++];switch(r>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:u+=String.fromCharCode(r);break;case 12:case 13:f=t[i++];u+=String.fromCharCode((r&31)<<6|f&63);break;case 14:f=t[i++];o=t[i++];u+=String.fromCharCode((r&15)<<12|(f&63)<<6|(o&63)<<0)}}return u},isHtml:function(n){var r=document.createElement("div"),t,i;for(r.innerHTML=n,t=r.childNodes,i=t.length;i--;)if(t[i].nodeType===1)return!0;return!1},isSvg:function(n){return n.match(/^\s*<\?xml/i)&&(n.match(/<!DOCTYPE svg/i)||n.match(/<svg/i))},getMimeType:function(n,t,i){switch(n){case"ffd8ffe0":case"ffd8ffe1":case"ffd8ffe2":return"image/jpeg";case"89504E47":return"image/png";case"47494638":return"image/gif";case"49492a00":return"image/tiff";case"52494646":return"image/webp";case"66747970":return"video/3gp";case"4f676753":return"video/ogg";case"1a45dfa3":return"video/mkv";case"000001ba":case"000001b3":return"video/mpeg";case"3026b275":return"video/wmv";case"25504446":return"application/pdf";case"25215053":return"application/ps";case"504b0304":case"504b0506":case"504b0508":return"application/zip";case"377abcaf":return"application/7z";case"75737461":return"application/tar";case"7801730d":return"application/dmg";default:switch(n.substring(0,6)){case"435753":return"application/x-shockwave-flash";case"494433":return"audio/mp3";case"425a68":return"application/bzip";default:switch(n.substring(0,4)){case"424d":return"image/bmp";case"fffb":return"audio/mp3";case"4d5a":return"application/exe";case"1f9d":case"1fa0":return"application/zip";case"1f8b":return"application/gzip";default:return t&&!t.match(/[^\u0000-\u007f]/)?"application/text-plain":i}}}},addCss:function(n,t){n.removeClass(t).addClass(t)},getElement:function(i,r,u){return t.isEmpty(i)||t.isEmpty(i[r])?u:n(i[r])},uniqId:function(){return Math.round((new Date).getTime())+"_"+Math.round(Math.random()*100)},htmlEncode:function(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")},replaceTags:function(t,i){var r=t;return i?(n.each(i,function(n,t){typeof t=="function"&&(t=t());r=r.split(n).join(t)}),r):r},cleanMemory:function(n){var i=n.is("img")?n.attr("src"):n.find("source").attr("src");t.objUrl.revokeObjectURL(i)},findFileName:function(n){var t=n.lastIndexOf("/");return t===-1&&(t=n.lastIndexOf("\\")),n.split(n.substring(t,t+1)).pop()},checkFullScreen:function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement},toggleFullScreen:function(n){var i=document,r=i.documentElement;r&&n&&!t.checkFullScreen()?r.requestFullscreen?r.requestFullscreen():r.msRequestFullscreen?r.msRequestFullscreen():r.mozRequestFullScreen?r.mozRequestFullScreen():r.webkitRequestFullscreen&&r.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):i.exitFullscreen?i.exitFullscreen():i.msExitFullscreen?i.msExitFullscreen():i.mozCancelFullScreen?i.mozCancelFullScreen():i.webkitExitFullscreen&&i.webkitExitFullscreen()},moveArray:function(n,t,i){if(i>=n.length)for(var r=i-n.length;r--+1;)n.push(undefined);return n.splice(i,0,n.splice(t,1)[0]),n},cleanZoomCache:function(n){var t=n.closest(".kv-zoom-cache-theme");t.length||(t=n.closest(".kv-zoom-cache"));t.remove()},setOrientation:function(n,t){var r=new DataView(n),i=0,f=1,u,e,o;if(r.getUint16(i)!==65496||n.length<2){t&&t();return}for(i+=2,u=r.byteLength;i<u-2;){e=r.getUint16(i);i+=2;switch(e){case 65505:o=r.getUint16(i);u=o-i;i+=2;break;case 274:f=r.getUint16(i+6,!1);u=0}}t&&t(f)},validateOrientation:function(n,i){if(window.FileReader&&window.DataView){var r=new FileReader,u;r.onloadend=function(){u=r.result;t.setOrientation(u,i)};r.readAsArrayBuffer(n)}},adjustOrientedImage:function(n,t){var i,r,u;if(n.hasClass("is-portrait-gt4")){if(t){n.css({width:n.parent().height()});return}n.css({height:"auto",width:n.height()});i=n.parent().offset().top;r=n.offset().top;u=i-r;n.css("margin-top",u)}}};i=function(i,r){var u=this;(u.$element=n(i),u.$parent=u.$element.parent(),u._validate())&&(u.isPreviewable=t.hasFileAPISupport(),u.isIE9=t.isIE(9),u.isIE10=t.isIE(10),(u.isPreviewable||u.isIE9)&&(u._init(r),u._listen()),u.$element.removeClass("file-loading"))};i.prototype={constructor:i,_cleanup:function(){var n=this;n.reader=null;n.formdata={};n.uploadCount=0;n.uploadStatus={};n.uploadLog=[];n.uploadAsyncCount=0;n.loadedImages=[];n.totalImagesCount=0;n.ajaxRequests=[];n.clearStack();n.fileInputCleared=!1;n.fileBatchCompleted=!0;n.isPreviewable||(n.showPreview=!1);n.isError=!1;n.ajaxAborted=!1;n.cancelling=!1},_init:function(i,r){var u=this,s,f=u.$element,e,o,h;u.options=i;n.each(i,function(n,i){switch(n){case"minFileCount":case"maxFileCount":case"minFileSize":case"maxFileSize":case"maxFilePreviewSize":case"resizeImageQuality":case"resizeIfSizeMoreThan":case"progressUploadThreshold":case"initialPreviewCount":case"zoomModalHeight":case"minImageHeight":case"maxImageHeight":case"minImageWidth":case"maxImageWidth":u[n]=t.getNum(i);break;default:u[n]=i}});u.rtl&&(h=u.previewZoomButtonIcons.prev,u.previewZoomButtonIcons.prev=u.previewZoomButtonIcons.next,u.previewZoomButtonIcons.next=h);r||u._cleanup();u.$form=f.closest("form");u._initTemplateDefaults();u.uploadFileAttr=t.isEmpty(f.attr("name"))?"file_data":f.attr("name");o=u._getLayoutTemplate("progress");u.progressTemplate=o.replace("{class}",u.progressClass);u.progressCompleteTemplate=o.replace("{class}",u.progressCompleteClass);u.progressErrorTemplate=o.replace("{class}",u.progressErrorClass);u.dropZoneEnabled=t.hasDragDropSupport()&&u.dropZoneEnabled;u.isDisabled=f.attr("disabled")||f.attr("readonly");u.isDisabled&&f.attr("disabled",!0);u.isAjaxUpload=t.hasFileUploadSupport()&&!t.isEmpty(u.uploadUrl);u.isClickable=u.browseOnZoneClick&&u.showPreview&&(u.isAjaxUpload&&u.dropZoneEnabled||!t.isEmpty(u.defaultPreviewContent));u.slug=typeof i.slugCallback=="function"?i.slugCallback:u._slugDefault;u.mainTemplate=u.showCaption?u._getLayoutTemplate("main1"):u._getLayoutTemplate("main2");u.captionTemplate=u._getLayoutTemplate("caption");u.previewGenericTemplate=u._getPreviewTemplate("generic");!u.imageCanvas&&u.resizeImage&&(u.maxImageWidth||u.maxImageHeight)&&(u.imageCanvas=document.createElement("canvas"),u.imageCanvasContext=u.imageCanvas.getContext("2d"));t.isEmpty(f.attr("id"))&&f.attr("id",t.uniqId());u.namespace=".fileinput_"+f.attr("id").replace(/-/g,"_");u.$container===undefined?u.$container=u._createContainer():u._refreshContainer();e=u.$container;u.$dropZone=e.find(".file-drop-zone");u.$progress=e.find(".kv-upload-progress");u.$btnUpload=e.find(".fileinput-upload");u.$captionContainer=t.getElement(i,"elCaptionContainer",e.find(".file-caption"));u.$caption=t.getElement(i,"elCaptionText",e.find(".file-caption-name"));t.isEmpty(u.msgPlaceholder)||(s=f.attr("multiple")?u.filePlural:u.fileSingle,u.$caption.attr("placeholder",u.msgPlaceholder.replace("{files}",s)));u.$captionIcon=u.$captionContainer.find(".file-caption-icon");u.mainClass.indexOf("input-group-lg")>-1?t.addCss(u.$captionIcon,"icon-lg"):u.$captionIcon.removeClass("icon-lg");u.$previewContainer=t.getElement(i,"elPreviewContainer",e.find(".file-preview"));u.$preview=t.getElement(i,"elPreviewImage",e.find(".file-preview-thumbnails"));u.$previewStatus=t.getElement(i,"elPreviewStatus",e.find(".file-preview-status"));u.$errorContainer=t.getElement(i,"elErrorContainer",u.$previewContainer.find(".kv-fileinput-error"));u._validateDisabled();t.isEmpty(u.msgErrorClass)||t.addCss(u.$errorContainer,u.msgErrorClass);r||(u.$errorContainer.hide(),u.previewInitId="preview-"+t.uniqId(),u._initPreviewCache(),u._initPreview(!0),u._initPreviewActions(),u._setFileDropZoneTitle(),u.$parent.hasClass("file-loading")&&(u.$container.insertBefore(u.$parent),u.$parent.remove()));f.attr("disabled")&&u.disable();u._initZoom();u.hideThumbnailContent&&t.addCss(u.$preview,"hide-content")},_initTemplateDefaults:function(){var i=this,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt,tt,it,rt,ut,u,ft,et,ot,st,ht,ct,lt,at,vt,yt,pt,wt,bt,kt,r;f='{preview}\n<div class="kv-upload-progress kv-hidden"><\/div><div class="clearfix"><\/div>\n<div class="input-group {class}">\n  {caption}\n<div class="input-group-btn">\n      {remove}\n      {cancel}\n      {upload}\n      {browse}\n    <\/div>\n<\/div>';e='{preview}\n<div class="kv-upload-progress kv-hidden"><\/div>\n<div class="clearfix"><\/div>\n{remove}\n{cancel}\n{upload}\n{browse}\n';o='<div class="file-preview {class}">\n    {close}    <div class="{dropClass}">\n    <div class="file-preview-thumbnails">\n    <\/div>\n    <div class="clearfix"><\/div>    <div class="file-preview-status text-center text-success"><\/div>\n    <div class="kv-fileinput-error"><\/div>\n    <\/div>\n<\/div>';h='<button type="button" class="close fileinput-remove">&times;<\/button>\n';s='<i class="glyphicon glyphicon-file"><\/i>';c='<div class="file-caption form-control {class}" tabindex="500">\n  <span class="file-caption-icon"><\/span>\n  <input class="file-caption-name" onkeydown="return false;" onpaste="return false;">\n<\/div>';l='<button type="{type}" tabindex="500" title="{title}" class="{css}" {status}>{icon} {label}<\/button>';a='<a href="{href}" tabindex="500" title="{title}" class="{css}" {status}>{icon} {label}<\/a>';v='<div tabindex="500" class="{css}" {status}>{icon} {label}<\/div>';y='<div id="'+t.MODAL_ID+'" class="file-zoom-dialog modal fade" tabindex="-1" aria-labelledby="'+t.MODAL_ID+'Label"><\/div>';p='<div class="modal-dialog modal-lg{rtl}" role="document">\n  <div class="modal-content">\n    <div class="modal-header">\n      <h5 class="modal-title">{heading}<\/h5>\n      <span class="kv-zoom-title"><\/span>\n      <div class="kv-zoom-actions">{toggleheader}{fullscreen}{borderless}{close}<\/div>\n    <\/div>\n    <div class="modal-body">\n      <div class="floating-buttons"><\/div>\n      <div class="kv-zoom-body file-zoom-content {zoomFrameClass}"><\/div>\n{prev} {next}\n    <\/div>\n  <\/div>\n<\/div>\n';w='<div class="progress">\n    <div class="{class}" role="progressbar" aria-valuenow="{percent}" aria-valuemin="0" aria-valuemax="100" style="width:{percent}%;">\n        {status}\n     <\/div>\n<\/div>';b=" <samp>({sizeText})<\/samp>";k='<div class="file-thumbnail-footer">\n    <div class="file-footer-caption" title="{caption}">\n        <div class="file-caption-info">{caption}<\/div>\n        <div class="file-size-info">{size}<\/div>\n    <\/div>\n    {progress}\n{indicator}\n{actions}\n<\/div>';d='<div class="file-actions">\n    <div class="file-footer-buttons">\n        {download} {upload} {delete} {zoom} {other}    <\/div>\n<\/div>\n{drag}\n<div class="clearfix"><\/div>';g='<button type="button" class="kv-file-remove {removeClass}" title="{removeTitle}" {dataUrl}{dataKey}>{removeIcon}<\/button>\n';nt='<button type="button" class="kv-file-upload {uploadClass}" title="{uploadTitle}">{uploadIcon}<\/button>';tt='<a href="{downloadUrl}" class="{downloadClass}" title="{downloadTitle}" download="{caption}">{downloadIcon}<\/a>';it='<button type="button" class="kv-file-zoom {zoomClass}" title="{zoomTitle}">{zoomIcon}<\/button>';rt='<span class="file-drag-handle {dragClass}" title="{dragTitle}">{dragIcon}<\/span>';ut='<div class="file-upload-indicator" title="{indicatorTitle}">{indicator}<\/div>';u='<div class="file-preview-frame {frameClass}" id="{previewId}" data-fileindex="{fileindex}" data-template="{template}"';ft=u+'><div class="kv-file-content">\n';et=u+' title="{caption}"><div class="kv-file-content">\n';ot="<\/div>{footer}\n<\/div>\n";st="{content}\n";ht='<div class="kv-preview-data file-preview-html" title="{caption}" {style}>{data}<\/div>\n';ct='<img src="{data}" class="file-preview-image kv-preview-data" title="{caption}" alt="{caption}" {style}>\n';lt='<textarea class="kv-preview-data file-preview-text" title="{caption}" readonly {style}>{data}<\/textarea>\n';at='<video class="kv-preview-data file-preview-video" controls {style}>\n<source src="{data}" type="{type}">\n'+t.DEFAULT_PREVIEW+"\n<\/video>\n";vt='<audio class="kv-preview-data file-preview-audio" controls {style}>\n<source src="{data}" type="{type}">\n'+t.DEFAULT_PREVIEW+"\n<\/audio>\n";yt='<embed class="kv-preview-data file-preview-flash" src="{data}" type="application/x-shockwave-flash" {style}>\n';wt='<embed class="kv-preview-data file-preview-pdf" src="{data}" type="application/pdf" {style}>\n';pt='<object class="kv-preview-data file-preview-object file-object {typeCss}" data="{data}" type="{type}" {style}>\n<param name="movie" value="{caption}" />\n'+t.OBJECT_PARAMS+" "+t.DEFAULT_PREVIEW+"\n<\/object>\n";bt='<div class="kv-preview-data file-preview-other-frame" {style}>\n'+t.DEFAULT_PREVIEW+"\n<\/div>\n";kt='<div class="kv-zoom-cache" style="display:none">{zoomContent}<\/div>';r={width:"100%",height:"100%","min-height":"480px"};i.defaults={layoutTemplates:{main1:f,main2:e,preview:o,close:h,fileIcon:s,caption:c,modalMain:y,modal:p,progress:w,size:b,footer:k,indicator:ut,actions:d,actionDelete:g,actionUpload:nt,actionDownload:tt,actionZoom:it,actionDrag:rt,btnDefault:l,btnLink:a,btnBrowse:v,zoomCache:kt},previewMarkupTags:{tagBefore1:ft,tagBefore2:et,tagAfter:ot},previewContentTemplates:{generic:st,html:ht,image:ct,text:lt,video:at,audio:vt,flash:yt,object:pt,pdf:wt,other:bt},allowedPreviewTypes:["image","html","text","video","audio","flash","pdf","object"],previewTemplates:{},previewSettings:{image:{width:"auto",height:"auto","max-width":"100%","max-height":"100%"},html:{width:"213px",height:"160px"},text:{width:"213px",height:"160px"},video:{width:"213px",height:"160px"},audio:{width:"100%",height:"30px"},flash:{width:"213px",height:"160px"},object:{width:"213px",height:"160px"},pdf:{width:"213px",height:"160px"},other:{width:"213px",height:"160px"}},previewSettingsSmall:{image:{width:"auto",height:"auto","max-width":"100%","max-height":"100%"},html:{width:"100%",height:"160px"},text:{width:"100%",height:"160px"},video:{width:"100%",height:"auto"},audio:{width:"100%",height:"30px"},flash:{width:"100%",height:"auto"},object:{width:"100%",height:"auto"},pdf:{width:"100%",height:"160px"},other:{width:"100%",height:"160px"}},previewZoomSettings:{image:{width:"auto",height:"auto","max-width":"100%","max-height":"100%"},html:r,text:r,video:{width:"auto",height:"100%","max-width":"100%"},audio:{width:"100%",height:"30px"},flash:{width:"auto",height:"480px"},object:{width:"auto",height:"100%","max-width":"100%","min-height":"480px"},pdf:r,other:{width:"auto",height:"100%","min-height":"480px"}},fileTypeSettings:{image:function(n,i){return t.compare(n,"image.*")||t.compare(i,/\.(gif|png|jpe?g)$/i)},html:function(n,i){return t.compare(n,"text/html")||t.compare(i,/\.(htm|html)$/i)},text:function(n,i){return t.compare(n,"text.*")||t.compare(i,/\.(xml|javascript)$/i)||t.compare(i,/\.(txt|md|csv|nfo|ini|json|php|js|css)$/i)},video:function(n,i){return t.compare(n,"video.*")&&(t.compare(n,/(ogg|mp4|mp?g|mov|webm|3gp)$/i)||t.compare(i,/\.(og?|mp4|webm|mp?g|mov|3gp)$/i))},audio:function(n,i){return t.compare(n,"audio.*")&&(t.compare(i,/(ogg|mp3|mp?g|wav)$/i)||t.compare(i,/\.(og?|mp3|mp?g|wav)$/i))},flash:function(n,i){return t.compare(n,"application/x-shockwave-flash",!0)||t.compare(i,/\.(swf)$/i)},pdf:function(n,i){return t.compare(n,"application/pdf",!0)||t.compare(i,/\.(pdf)$/i)},object:function(){return!0},other:function(){return!0}},fileActionSettings:{showRemove:!0,showUpload:!0,showDownload:!0,showZoom:!0,showDrag:!0,removeIcon:'<i class="glyphicon glyphicon-trash"><\/i>',removeClass:"btn btn-kv btn-default btn-outline-secondary",removeErrorClass:"btn btn-kv btn-danger",removeTitle:"Remove file",uploadIcon:'<i class="glyphicon glyphicon-upload"><\/i>',uploadClass:"btn btn-kv btn-default btn-outline-secondary",uploadTitle:"Upload file",uploadRetryIcon:'<i class="glyphicon glyphicon-repeat"><\/i>',uploadRetryTitle:"Retry upload",downloadIcon:'<i class="glyphicon glyphicon-download"><\/i>',downloadClass:"btn btn-kv btn-default btn-outline-secondary",downloadTitle:"Download file",zoomIcon:'<i class="glyphicon glyphicon-zoom-in"><\/i>',zoomClass:"btn btn-kv btn-default btn-outline-secondary",zoomTitle:"View Details",dragIcon:'<i class="glyphicon glyphicon-move"><\/i>',dragClass:"text-info",dragTitle:"Move / Rearrange",dragSettings:{},indicatorNew:'<i class="glyphicon glyphicon-plus-sign text-warning"><\/i>',indicatorSuccess:'<i class="glyphicon glyphicon-ok-sign text-success"><\/i>',indicatorError:'<i class="glyphicon glyphicon-exclamation-sign text-danger"><\/i>',indicatorLoading:'<i class="glyphicon glyphicon-hourglass text-muted"><\/i>',indicatorNewTitle:"Not uploaded yet",indicatorSuccessTitle:"Uploaded",indicatorErrorTitle:"Upload Error",indicatorLoadingTitle:"Uploading ..."}};n.each(i.defaults,function(t,r){if(t==="allowedPreviewTypes"){i.allowedPreviewTypes===undefined&&(i.allowedPreviewTypes=r);return}i[t]=n.extend(!0,{},r,i[t])});i._initPreviewTemplates()},_initPreviewTemplates:function(){var i=this,f=i.defaults,r=i.previewMarkupTags,u,e=r.tagAfter;n.each(f.previewContentTemplates,function(n,f){t.isEmpty(i.previewTemplates[n])&&(u=r.tagBefore2,(n==="generic"||n==="image"||n==="html"||n==="text")&&(u=r.tagBefore1),i.previewTemplates[n]=u+f+e)})},_initPreviewCache:function(){var i=this;i.previewCache={data:{},init:function(){var n=i.initialPreview;n.length>0&&!t.isArray(n)&&(n=n.split(i.initialPreviewDelimiter));i.previewCache.data={content:n,config:i.initialPreviewConfig,tags:i.initialPreviewThumbTags}},count:function(){return!!i.previewCache.data&&!!i.previewCache.data.content?i.previewCache.data.content.length:0},get:function(r,u){var c="init_"+r,e=i.previewCache.data,f=e.config[r],l=e.content[r],w=i.previewInitId+"-"+c,o,s,h,a,v,y,p,k=t.ifSet("previewAsData",f,i.initialPreviewAsData),b=function(n,r,u,f,e,o,s,h,c){return h=" file-preview-initial "+t.SORT_CSS+(h?" "+h:""),i._generatePreviewTemplate(n,r,u,f,e,!1,null,h,o,s,c)};return l?(u=u===undefined?!0:u,h=t.ifSet("type",f,i.initialPreviewFileType||"generic"),v=t.ifSet("filename",f,t.ifSet("caption",f)),y=t.ifSet("filetype",f,h),a=i.previewCache.footer(r,u,f&&f.size||null),p=t.ifSet("frameClass",f),o=k?b(h,l,v,y,w,a,c,p):b("generic",l,v,y,w,a,c,p,h).setTokens({content:e.content[r]}),e.tags.length&&e.tags[r]&&(o=t.replaceTags(o,e.tags[r])),t.isEmpty(f)||t.isEmpty(f.frameAttr)||(s=n(document.createElement("div")).html(o),s.find(".file-preview-initial").attr(f.frameAttr),o=s.html(),s.remove()),o):""},add:function(n,r,u,f){var e=i.previewCache.data,o;return t.isArray(n)||(n=n.split(i.initialPreviewDelimiter)),f?(o=e.content.push(n)-1,e.config[o]=r,e.tags[o]=u):(o=n.length-1,e.content=n,e.config=r,e.tags=u),i.previewCache.data=e,o},set:function(n,r,u,f){var o=i.previewCache.data,e,s;if(n&&n.length&&(t.isArray(n)||(n=n.split(i.initialPreviewDelimiter)),s=n.filter(function(n){return n!==null}),s.length)){if(o.content===undefined&&(o.content=[]),o.config===undefined&&(o.config=[]),o.tags===undefined&&(o.tags=[]),f){for(e=0;e<n.length;e++)n[e]&&o.content.push(n[e]);for(e=0;e<r.length;e++)r[e]&&o.config.push(r[e]);for(e=0;e<u.length;e++)u[e]&&o.tags.push(u[e])}else o.content=n,o.config=r,o.tags=u;i.previewCache.data=o}},unset:function(n){var t=i.previewCache.count();if(t){if(t===1){i.previewCache.data.content=[];i.previewCache.data.config=[];i.previewCache.data.tags=[];i.initialPreview=[];i.initialPreviewConfig=[];i.initialPreviewThumbTags=[];return}i.previewCache.data.content.splice(n,1);i.previewCache.data.config.splice(n,1);i.previewCache.data.tags.splice(n,1)}},out:function(){var r="",u,t=i.previewCache.count(),n;if(t===0)return{content:"",caption:""};for(n=0;n<t;n++)r+=i.previewCache.get(n);return u=i._getMsgSelected(t),{content:r,caption:u}},footer:function(n,r,u){var e=i.previewCache.data||{};if(t.isEmpty(e.content))return"";(t.isEmpty(e.config)||t.isEmpty(e.config[n]))&&(e.config[n]={});r=r===undefined?!0:r;var f=e.config[n],a=t.ifSet("caption",f),c,v=t.ifSet("width",f,"auto"),l=t.ifSet("url",f,!1),y=t.ifSet("key",f,null),o=i.fileActionSettings,p=i.initialPreviewShowDelete||!1,s=f.downloadUrl||i.initialPreviewDownloadUrl||"",w=f.filename||f.caption||"",b=!!s,k=t.ifSet("showDelete",f,t.ifSet("showDelete",o,p)),h=t.ifSet("showDownload",f,t.ifSet("showDownload",o,b)),d=t.ifSet("showZoom",f,t.ifSet("showZoom",o,!0)),g=t.ifSet("showDrag",f,t.ifSet("showDrag",o,!0)),nt=l===!1&&r;return h=h&&f.downloadUrl!==!1&&!!s,c=i._renderFileActions(!1,h,k,d,g,nt,l,y,!0,s,w),i._getLayoutTemplate("footer").setTokens({progress:i._renderThumbProgress(),actions:c,caption:a,size:i._getSize(u),width:v,indicator:""})}};i.previewCache.init()},_handler:function(n,t,i){var f=this,r=f.namespace,u=t.split(" ").join(r+" ")+r;if(n&&n.length)n.off(u).on(u,i)},_log:function(n){var i=this,t=i.$element.attr("id");t&&(n='"'+t+'": '+n);typeof window.console.log!="undefined"?window.console.log(n):window.alert(n)},_validate:function(){var n=this,t=n.$element.attr("type")==="file";return t||n._log('The input "type" must be set to "file" for initializing the "bootstrap-fileinput" plugin.'),t},_errorsExist:function(){var i=this,t,r=i.$errorContainer.find("li");return r.length?!0:(t=n(document.createElement("div")).html(i.$errorContainer.html()),t.find(".kv-error-close").remove(),t.find("ul").remove(),!!n.trim(t.text()).length)},_errorHandler:function(n,t){var r=this,i=n.target.error,u=function(n){r._showError(n.replace("{name}",t))};i.code===i.NOT_FOUND_ERR?u(r.msgFileNotFound):i.code===i.SECURITY_ERR?u(r.msgFileSecured):i.code===i.NOT_READABLE_ERR?u(r.msgFileNotReadable):i.code===i.ABORT_ERR?u(r.msgFilePreviewAborted):u(r.msgFilePreviewError)},_addError:function(n){var i=this,t=i.$errorContainer;n&&t.length&&(t.html(i.errorCloseButton+n),i._handler(t.find(".kv-error-close"),"click",function(){t.fadeOut("slow")}))},_setValidationError:function(n){var i=this;n=(n?n+" ":"")+"has-error";i.$container.removeClass(n).addClass("has-error");t.addCss(i.$captionContainer,"is-invalid")},_resetErrors:function(n){var t=this,i=t.$errorContainer;t.isError=!1;t.$container.removeClass("has-error");t.$captionContainer.removeClass("is-invalid");i.html("");n?i.fadeOut("slow"):i.hide()},_showFolderError:function(n){var t=this,r=t.$errorContainer,i;n&&(i=t.msgFoldersNotAllowed.replace("{n}",n),t._addError(i),t._setValidationError(),r.fadeIn(800),t._raise("filefoldererror",[n,i]))},_showUploadError:function(n,t,i){var r=this,u=r.$errorContainer,e=i||"fileuploaderror",f=t&&t.id?'<li data-file-id="'+t.id+'">'+n+"<\/li>":"<li>"+n+"<\/li>";return u.find("ul").length===0?r._addError("<ul>"+f+"<\/ul>"):u.find("ul").append(f),u.fadeIn(800),r._raise(e,[t,n]),r._setValidationError("file-input-new"),!0},_showError:function(n,t,i){var r=this,u=r.$errorContainer,f=i||"fileerror";return t=t||{},t.reader=r.reader,r._addError(n),u.fadeIn(800),r._raise(f,[t,n]),r.isAjaxUpload||r._clearFileInput(),r._setValidationError("file-input-new"),r.$btnUpload.attr("disabled",!0),!0},_noFilesError:function(n){var t=this,r=t.minFileCount>1?t.filePlural:t.fileSingle,i=t.msgFilesTooLess.replace("{n}",t.minFileCount).replace("{files}",r),u=t.$errorContainer;t._addError(i);t.isError=!0;t._updateFileDetails(0);u.fadeIn(800);t._raise("fileerror",[n,i]);t._clearFileInput();t._setValidationError()},_parseError:function(t,i,r,u){var e=this,f=n.trim(r+""),s,o=i.responseJSON!==undefined&&i.responseJSON.error!==undefined?i.responseJSON.error:i.responseText;return e.cancelling&&e.msgUploadAborted&&(f=e.msgUploadAborted),e.showAjaxErrorDetails&&o&&(o=n.trim(o.replace(/\n\s*\n/g,"\n")),s=o.length?"<pre>"+o+"<\/pre>":"",f+=f?s:o),f||(f=e.msgAjaxError.replace("{operation}",t)),e.cancelling=!1,u?"<b>"+u+": <\/b>"+f:f},_parseFileType:function(n,i){var e=this,o,u,f,r,s=e.allowedPreviewTypes||[];if(n==="application/text-plain")return"text";for(r=0;r<s.length;r++)if(f=s[r],o=e.fileTypeSettings[f],u=o(n,i)?f:"",!t.isEmpty(u))return u;return"other"},_getPreviewIcon:function(t){var i=this,r,u=null;return t&&t.indexOf(".")>-1&&(r=t.split(".").pop(),i.previewFileIconSettings&&(u=i.previewFileIconSettings[r]||i.previewFileIconSettings[r.toLowerCase()]||null),i.previewFileExtSettings&&n.each(i.previewFileExtSettings,function(n,t){if(i.previewFileIconSettings[n]&&t(r)){u=i.previewFileIconSettings[n];return}})),u},_parseFilePreviewIcon:function(n,t){var r=this,u=r._getPreviewIcon(t)||r.previewFileIcon,i=n;return i.indexOf("{previewFileIcon}")>-1&&(i=i.setTokens({previewFileIconClass:r.previewFileIconClass,previewFileIcon:u})),i},_raise:function(t,i){var u=this,r=n.Event(t);if(i!==undefined?u.$element.trigger(r,i):u.$element.trigger(r),r.isDefaultPrevented()||r.result===!1)return!1;switch(t){case"filebatchuploadcomplete":case"filebatchuploadsuccess":case"fileuploaded":case"fileclear":case"filecleared":case"filereset":case"fileerror":case"filefoldererror":case"fileuploaderror":case"filebatchuploaderror":case"filedeleteerror":case"filecustomerror":case"filesuccessremove":break;default:u.ajaxAborted||(u.ajaxAborted=r.result)}return!0},_listenFullScreen:function(n){var u=this,t=u.$modal,r,i;t&&t.length&&(r=t&&t.find(".btn-fullscreen"),i=t&&t.find(".btn-borderless"),r.length&&i.length)&&(r.removeClass("active").attr("aria-pressed","false"),i.removeClass("active").attr("aria-pressed","false"),n?r.addClass("active").attr("aria-pressed","true"):i.addClass("active").attr("aria-pressed","true"),t.hasClass("file-zoom-fullscreen")?u._maximizeZoomDialog():n?u._maximizeZoomDialog():i.removeClass("active").attr("aria-pressed","false"))},_listen:function(){var i=this,e=i.$element,r=i.$form,u=i.$container,f;i._handler(e,"change",n.proxy(i._change,i));i.showBrowse&&i._handler(i.$btnFile,"click",n.proxy(i._browse,i));i._handler(u.find(".fileinput-remove:not([disabled])"),"click",n.proxy(i.clear,i));i._handler(u.find(".fileinput-cancel"),"click",n.proxy(i.cancel,i));i._initDragDrop();i._handler(r,"reset",n.proxy(i.clear,i));i.isAjaxUpload||i._handler(r,"submit",n.proxy(i._submitForm,i));i._handler(i.$container.find(".fileinput-upload"),"click",n.proxy(i._uploadClick,i));i._handler(n(window),"resize",function(){i._listenFullScreen(screen.width===window.innerWidth&&screen.height===window.innerHeight)});f="webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange";i._handler(n(document),f,function(){i._listenFullScreen(t.checkFullScreen())});i._autoFitContent();i._initClickable()},_autoFitContent:function(){var r=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,t=this,u=r<400?t.previewSettingsSmall||t.defaults.previewSettingsSmall:t.previewSettings||t.defaults.previewSettings,i;n.each(u,function(n,r){i=".file-preview-frame .file-preview-"+n;t.$preview.find(i+".kv-preview-data,"+i+" .kv-preview-data").css(r)})},_initClickable:function(){var i=this,r;i.isClickable&&(r=i.isAjaxUpload?i.$dropZone:i.$preview.find(".file-default-preview"),t.addCss(r,"clickable"),r.attr("tabindex",-1),i._handler(r,"click",function(t){var u=n(t.target);(!u.parents(".file-preview-thumbnails").length||u.parents(".file-default-preview").length)&&(i.$element.trigger("click"),r.blur())}))},_initDragDrop:function(){var t=this,i=t.$dropZone;t.isAjaxUpload&&t.dropZoneEnabled&&t.showPreview&&(t._handler(i,"dragenter dragover",n.proxy(t._zoneDragEnter,t)),t._handler(i,"dragleave",n.proxy(t._zoneDragLeave,t)),t._handler(i,"drop",n.proxy(t._zoneDrop,t)),t._handler(n(document),"dragenter dragover drop",t._zoneDragDropInit))},_zoneDragDropInit:function(n){n.stopPropagation();n.preventDefault()},_zoneDragEnter:function(i){var r=this,u=n.inArray("Files",i.originalEvent.dataTransfer.types)>-1;if(r._zoneDragDropInit(i),r.isDisabled||!u){i.originalEvent.dataTransfer.effectAllowed="none";i.originalEvent.dataTransfer.dropEffect="none";return}t.addCss(r.$dropZone,"file-highlighted")},_zoneDragLeave:function(n){var t=this;(t._zoneDragDropInit(n),t.isDisabled)||t.$dropZone.removeClass("file-highlighted")},_zoneDrop:function(n){var i=this;(n.preventDefault(),i.isDisabled||t.isEmpty(n.originalEvent.dataTransfer.files))||(i._change(n,"dragdrop"),i.$dropZone.removeClass("file-highlighted"))},_uploadClick:function(n){var r=this,i=r.$container.find(".fileinput-upload"),u,f=!i.hasClass("disabled")&&t.isEmpty(i.attr("disabled"));if(!n||!n.isDefaultPrevented()){if(!r.isAjaxUpload){f&&i.attr("type")!=="submit"&&(u=i.closest("form"),u.length&&u.trigger("submit"),n.preventDefault());return}n.preventDefault();f&&r.upload()}},_submitForm:function(){var n=this;return n._isFileSelectionValid()&&!n._abort({})},_clearPreview:function(){var i=this,r=i.$preview,u=i.showUploadedThumbs?i.getFrames(":not(.file-preview-success)"):i.getFrames();u.each(function(){var i=n(this);i.remove();t.cleanZoomCache(r.find("#zoom-"+i.attr("id")))});i.getFrames().length&&i.showPreview||i._resetUpload();i._validateDefaultPreview()},_initSortable:function(){var i=this,r=i.$preview,u,f="."+t.SORT_CSS;window.KvSortable&&r.find(f).length!==0&&(u={handle:".drag-handle-init",dataIdAttr:"data-preview-id",scroll:!1,draggable:f,onSort:function(r){var f=r.oldIndex,e=r.newIndex,o,s,u;for(i.initialPreview=t.moveArray(i.initialPreview,f,e),i.initialPreviewConfig=t.moveArray(i.initialPreviewConfig,f,e),i.previewCache.init(),u=0;u<i.initialPreviewConfig.length;u++)i.initialPreviewConfig[u]!==null&&(o=i.initialPreviewConfig[u].key,s=n(".kv-file-remove[data-key='"+o+"']").closest(t.FRAMES),s.attr("data-fileindex","init_"+u).attr("data-fileindex","init_"+u));i._raise("filesorted",{previewId:n(r.item).attr("id"),oldIndex:f,newIndex:e,stack:i.initialPreviewConfig})}},r.data("kvsortable")&&r.kvsortable("destroy"),n.extend(!0,u,i.fileActionSettings.dragSettings),r.kvsortable(u))},_setPreviewContent:function(n){var t=this;t.$preview.html(n);t._autoFitContent()},_initPreview:function(n){var i=this,u=i.initialCaption||"",r;if(!i.previewCache.count()){i._clearPreview();n?i._setCaption(u):i._initCaption();return}r=i.previewCache.out();u=n&&i.initialCaption?i.initialCaption:r.caption;i._setPreviewContent(r.content);i._setInitThumbAttr();i._setCaption(u);i._initSortable();t.isEmpty(r.content)||i.$container.removeClass("file-input-new")},_getZoomButton:function(n){var t=this,r=t.previewZoomButtonIcons[n],u=t.previewZoomButtonClasses[n],f=' title="'+(t.previewZoomButtonTitles[n]||"")+'" ',i=f+(n==="close"?' data-dismiss="modal" aria-hidden="true"':"");return(n==="fullscreen"||n==="borderless"||n==="toggleheader")&&(i+=' data-toggle="button" aria-pressed="false" autocomplete="off"'),'<button type="button" class="'+u+" btn-"+n+'"'+i+">"+r+"<\/button>"},_getModalContent:function(){var n=this;return n._getLayoutTemplate("modal").setTokens({rtl:n.rtl?" kv-rtl":"",zoomFrameClass:n.frameClass,heading:n.msgZoomModalHeading,prev:n._getZoomButton("prev"),next:n._getZoomButton("next"),toggleheader:n._getZoomButton("toggleheader"),fullscreen:n._getZoomButton("fullscreen"),borderless:n._getZoomButton("borderless"),close:n._getZoomButton("close")})},_listenModalEvent:function(n){var r=this,i=r.$modal,u=function(n){return{sourceEvent:n,previewId:i.data("previewId"),modal:i}};i.on(n+".bs.modal",function(f){var e=i.find(".btn-fullscreen"),o=i.find(".btn-borderless");r._raise("filezoom"+n,u(f));n==="shown"&&(o.removeClass("active").attr("aria-pressed","false"),e.removeClass("active").attr("aria-pressed","false"),i.hasClass("file-zoom-fullscreen")&&(r._maximizeZoomDialog(),t.checkFullScreen()?e.addClass("active").attr("aria-pressed","true"):o.addClass("active").attr("aria-pressed","true")))})},_initZoom:function(){var i=this,r,f=i._getLayoutTemplate("modalMain"),u="#"+t.MODAL_ID;i.showPreview&&(i.$modal=n(u),i.$modal&&i.$modal.length||(r=n(document.createElement("div")).html(f).insertAfter(i.$container),i.$modal=n(u).insertBefore(r),r.remove()),t.initModal(i.$modal),i.$modal.html(i._getModalContent()),n.each(t.MODAL_EVENTS,function(n,t){i._listenModalEvent(t)}))},_initZoomButtons:function(){var t=this,o=t.$modal.data("previewId")||"",f,e,i=t.getFrames().toArray(),s=i.length,r=t.$modal.find(".btn-prev"),u=t.$modal.find(".btn-next");if(i.length<2){r.hide();u.hide();return}(r.show(),u.show(),s)&&(f=n(i[0]),e=n(i[s-1]),r.removeAttr("disabled"),u.removeAttr("disabled"),f.length&&f.attr("id")===o&&r.attr("disabled",!0),e.length&&e.attr("id")===o&&u.attr("disabled",!0))},_maximizeZoomDialog:function(){var o=this,t=o.$modal,u=t.find(".modal-header:visible"),f=t.find(".modal-footer:visible"),i=t.find(".modal-body"),r=n(window).height(),e=0;t.addClass("file-zoom-fullscreen");u&&u.length&&(r-=u.outerHeight(!0));f&&f.length&&(r-=f.outerHeight(!0));i&&i.length&&(e=i.outerHeight(!0)-i.height(),r-=e);t.find(".kv-zoom-body").height(r)},_resizeZoomDialog:function(n){var r=this,i=r.$modal,u=i.find(".btn-fullscreen"),f=i.find(".btn-borderless");if(i.hasClass("file-zoom-fullscreen"))t.toggleFullScreen(!1),n?u.hasClass("active")||(i.removeClass("file-zoom-fullscreen"),r._resizeZoomDialog(!0),f.hasClass("active")&&f.removeClass("active").attr("aria-pressed","false")):u.hasClass("active")?u.removeClass("active").attr("aria-pressed","false"):(i.removeClass("file-zoom-fullscreen"),r.$modal.find(".kv-zoom-body").css("height",r.zoomModalHeight));else{if(!n){r._maximizeZoomDialog();return}t.toggleFullScreen(!0)}i.focus()},_setZoomContent:function(i,r){var u=this,h,p,c,l,e,o,a,s=i.attr("id"),f=u.$modal,w=f.find(".btn-prev"),b=f.find(".btn-next"),v,nt=f.find(".btn-fullscreen"),tt=f.find(".btn-borderless"),k,d,it=f.find(".btn-toggleheader"),g=u.$preview.find("#zoom-"+s),y;p=g.attr("data-template")||"generic";h=g.find(".kv-file-content");c=h.length?h.html():"";k=i.data("caption")||"";d=i.data("size")||"";l=k+" "+d;f.find(".kv-zoom-title").attr("title",n("<div/>").html(l).text()).html(l);e=f.find(".kv-zoom-body");f.removeClass("kv-single-content");r?(v=e.addClass("file-thumb-loading").clone().insertAfter(e),e.html(c).hide(),v.fadeOut("fast",function(){e.fadeIn("fast",function(){e.removeClass("file-thumb-loading")});v.remove()})):e.html(c);a=u.previewZoomSettings[p];a&&(o=e.find(".kv-preview-data"),t.addCss(o,"file-zoom-detail"),n.each(a,function(n,t){o.css(n,t);(o.attr("width")&&n==="width"||o.attr("height")&&n==="height")&&o.removeAttr(n)}));f.data("previewId",s);y=e.find("img");y.length&&t.adjustOrientedImage(y,!0);u._handler(w,"click",function(){u._zoomSlideShow("prev",s)});u._handler(b,"click",function(){u._zoomSlideShow("next",s)});u._handler(nt,"click",function(){u._resizeZoomDialog(!0)});u._handler(tt,"click",function(){u._resizeZoomDialog(!1)});u._handler(it,"click",function(){var n=f.find(".modal-header"),t=f.find(".modal-body .floating-buttons"),i,r=n.find(".kv-zoom-actions"),e=function(t){var r=u.$modal.find(".kv-zoom-body"),i=u.zoomModalHeight;f.hasClass("file-zoom-fullscreen")&&(i=r.outerHeight(!0),t||(i=i-n.outerHeight(!0)));r.css("height",t?i+t:i)};n.is(":visible")?(i=n.outerHeight(!0),n.slideUp("slow",function(){r.find(".btn").appendTo(t);e(i)})):(t.find(".btn").appendTo(r),n.slideDown("slow",function(){e()}));f.focus()});u._handler(f,"keydown",function(n){var t=n.which||n.keyCode;t!==37||w.attr("disabled")||u._zoomSlideShow("prev",s);t!==39||b.attr("disabled")||u._zoomSlideShow("next",s)})},_zoomPreview:function(n){var i=this,u,r=i.$modal;if(!n.length)throw"Cannot zoom to detailed preview!";t.initModal(r);r.html(i._getModalContent());u=n.closest(t.FRAMES);i._setZoomContent(u);r.modal("show");i._initZoomButtons()},_zoomSlideShow:function(t,i){var r=this,h=r.$modal.find(".kv-zoom-actions .btn-"+t),o,u,e=r.getFrames().toArray(),s=e.length,f;if(!h.attr("disabled")){for(u=0;u<s;u++)if(n(e[u]).attr("id")===i){f=t==="prev"?u-1:u+1;break}f<0||f>=s||!e[f]||(o=n(e[f]),o.length&&r._setZoomContent(o,!0),r._initZoomButtons(),r._raise("filezoom"+t,{previewId:i,modal:r.$modal}))}},_initZoomButton:function(){var t=this;t.$preview.find(".kv-file-zoom").each(function(){var i=n(this);t._handler(i,"click",function(){t._zoomPreview(i)})})},_clearObjects:function(t){t.find("video audio").each(function(){this.pause();n(this).remove()});t.find("img object div").each(function(){n(this).remove()})},_clearFileInput:function(){var u=this,i=u.$element,e,r,f;(u.fileInputCleared=!0,t.isEmpty(i.val()))||(u.isIE9||u.isIE10?(e=i.closest("form"),r=n(document.createElement("form")),f=n(document.createElement("div")),i.before(f),e.length?e.after(r):f.after(r),r.append(i).trigger("reset"),f.before(i).remove(),r.remove()):i.val(""))},_resetUpload:function(){var n=this;n.uploadCache={content:[],config:[],tags:[],append:!0};n.uploadCount=0;n.uploadStatus={};n.uploadLog=[];n.uploadAsyncCount=0;n.loadedImages=[];n.totalImagesCount=0;n.$btnUpload.removeAttr("disabled");n._setProgress(0);n.$progress.hide();n._resetErrors(!1);n.ajaxAborted=!1;n.ajaxRequests=[];n._resetCanvas();n.cacheInitialPreview={};n.overwriteInitial&&(n.initialPreview=[],n.initialPreviewConfig=[],n.initialPreviewThumbTags=[],n.previewCache.data={content:[],config:[],tags:[]})},_resetCanvas:function(){var n=this;n.canvas&&n.imageCanvasContext&&n.imageCanvasContext.clearRect(0,0,n.canvas.width,n.canvas.height)},_hasInitialPreview:function(){var n=this;return!n.overwriteInitial&&n.previewCache.count()},_resetPreview:function(){var n=this,t,i;n.previewCache.count()?(t=n.previewCache.out(),n._setPreviewContent(t.content),n._setInitThumbAttr(),i=n.initialCaption?n.initialCaption:t.caption,n._setCaption(i)):(n._clearPreview(),n._initCaption());n.showPreview&&(n._initZoom(),n._initSortable())},_clearDefaultPreview:function(){var n=this;n.$preview.find(".file-default-preview").remove()},_validateDefaultPreview:function(){var n=this;n.showPreview&&!t.isEmpty(n.defaultPreviewContent)&&(n._setPreviewContent('<div class="file-default-preview">'+n.defaultPreviewContent+"<\/div>"),n.$container.removeClass("file-input-new"),n._initClickable())},_resetPreviewThumbs:function(n){var t=this,i;if(n){t._clearPreview();t.clearStack();return}t._hasInitialPreview()?(i=t.previewCache.out(),t._setPreviewContent(i.content),t._setInitThumbAttr(),t._setCaption(i.caption),t._initPreviewActions()):t._clearPreview()},_getLayoutTemplate:function(n){var i=this,r=i.layoutTemplates[n];return t.isEmpty(i.customLayoutTags)?r:t.replaceTags(r,i.customLayoutTags)},_getPreviewTemplate:function(n){var i=this,r=i.previewTemplates[n];return t.isEmpty(i.customPreviewTags)?r:t.replaceTags(r,i.customPreviewTags)},_getOutData:function(n,t,i){var r=this;return n=n||{},t=t||{},i=i||r.filestack.slice(0)||{},{form:r.formdata,files:i,filenames:r.filenames,filescount:r.getFilesCount(),extra:r._getExtraData(),response:t,reader:r.reader,jqXHR:n}},_getMsgSelected:function(n){var t=this,i=n===1?t.fileSingle:t.filePlural;return n>0?t.msgSelected.replace("{n}",n).replace("{files}",i):t.msgNoFilesSelected},_getFrame:function(t){var r=this,i=n("#"+t);return i.length?i:(r._log('Invalid thumb frame with id: "'+t+'".'),null)},_getThumbs:function(n){return n=n||"",this.getFrames(":not(.file-preview-initial)"+n)},_getExtraData:function(n,t){var i=this,r=i.uploadExtraData;return typeof i.uploadExtraData=="function"&&(r=i.uploadExtraData(n,t)),r},_initXhr:function(n,t,i){var r=this;return n.upload&&n.upload.addEventListener("progress",function(n){var u=0,f=n.total,e=n.loaded||n.position;n.lengthComputable&&(u=Math.floor(e/f*100));t?r._setAsyncUploadStatus(t,u,i):r._setProgress(u)},!1),n},_mergeAjaxCallback:function(n,t,i){var r=this,u=r.ajaxSettings,e=r.mergeAjaxCallbacks,f;i==="delete"&&(u=r.ajaxDeleteSettings,e=r.mergeAjaxDeleteCallbacks);f=u[n];u[n]=e&&typeof f=="function"?e==="before"?function(){f.apply(this,arguments);t.apply(this,arguments)}:function(){t.apply(this,arguments);f.apply(this,arguments)}:t;i==="delete"?r.ajaxDeleteSettings=u:r.ajaxSettings=u},_ajaxSubmit:function(t,i,r,u,f,e){var o=this,s;o._raise("filepreajax",[f,e])&&(o._uploadExtra(f,e),o._mergeAjaxCallback("beforeSend",t),o._mergeAjaxCallback("success",i),o._mergeAjaxCallback("complete",r),o._mergeAjaxCallback("error",u),s=n.extend(!0,{},{xhr:function(){var t=n.ajaxSettings.xhr();return o._initXhr(t,f,o.getFileStack().length)},url:e&&o.uploadUrlThumb?o.uploadUrlThumb:o.uploadUrl,type:"POST",dataType:"json",data:o.formdata,cache:!1,processData:!1,contentType:!1},o.ajaxSettings),o.ajaxRequests.push(n.ajax(s)))},_mergeArray:function(n,i){var r=this,u=t.cleanArray(r[n]),f=t.cleanArray(i);r[n]=u.concat(f)},_initUploadSuccess:function(i,r,u){var f=this,h,v,y,c,l,e,o,s,a;f.showPreview&&typeof i=="object"&&!n.isEmptyObject(i)&&i.initialPreview!==undefined&&i.initialPreview.length>0&&(f.hasInitData=!0,e=i.initialPreview||[],o=i.initialPreviewConfig||[],s=i.initialPreviewThumbTags||[],h=i.append===undefined||i.append,e.length>0&&!t.isArray(e)&&(e=e.split(f.initialPreviewDelimiter)),f._mergeArray("initialPreview",e),f._mergeArray("initialPreviewConfig",o),f._mergeArray("initialPreviewThumbTags",s),r!==undefined?u?(a=r.attr("data-fileindex"),f.uploadCache.content[a]=e[0],f.uploadCache.config[a]=o[0]||[],f.uploadCache.tags[a]=s[0]||[],f.uploadCache.append=h):(y=f.previewCache.add(e,o[0],s[0],h),v=f.previewCache.get(y,!1),c=n(document.createElement("div")).html(v).hide().insertAfter(r),l=c.find(".kv-zoom-cache"),l&&l.length&&l.insertAfter(r),r.fadeOut("slow",function(){var n=c.find(".file-preview-frame");n&&n.length&&n.insertBefore(r).fadeIn("slow").css("display:inline-block");f._initPreviewActions();f._clearFileInput();t.cleanZoomCache(f.$preview.find("#zoom-"+r.attr("id")));r.remove();c.remove();f._initSortable()})):(f.previewCache.set(e,o,s,h),f._initPreview(),f._initPreviewActions()))},_initSuccessThumbs:function(){var i=this;i.showPreview&&i._getThumbs(t.FRAMES+".file-preview-success").each(function(){var r=n(this),f=i.$preview,u=r.find(".kv-file-remove");u.removeAttr("disabled");i._handler(u,"click",function(){var n=r.attr("id"),u=i._raise("filesuccessremove",[n,r.attr("data-fileindex")]);(t.cleanMemory(r),u!==!1)&&r.fadeOut("slow",function(){t.cleanZoomCache(f.find("#zoom-"+n));r.remove();i.getFrames().length||i.reset()})})})},_checkAsyncComplete:function(){for(var t=this,r,i=0;i<t.filestack.length;i++)if(t.filestack[i]&&(r=t.previewInitId+"-"+i,n.inArray(r,t.uploadLog)===-1))return!1;return t.uploadAsyncCount===t.uploadLog.length},_uploadExtra:function(t,i){var r=this,u=r._getExtraData(t,i);u.length!==0&&n.each(u,function(n,t){r.formdata.append(n,t)})},_uploadSingle:function(i,r){var u=this,g=u.getFileStack().length,l=new FormData,h,e=u.previewInitId+"-"+i,f,p,o,a,nt=u.filestack.length>0||!n.isEmptyObject(u.uploadExtraData),v,y=n("#"+e).find(".file-thumb-progress"),w,b,k,d,c,s={id:e,index:i};(u.formdata=l,u.showPreview&&(f=n("#"+e+":not(.file-preview-initial)"),o=f.find(".kv-file-upload"),a=f.find(".kv-file-remove"),y.show()),g===0||!nt||o&&o.hasClass("disabled")||u._abort(s))||(c=function(n,t){v||u.updateStack(n,undefined);u.uploadLog.push(t);u._checkAsyncComplete()&&(u.fileBatchCompleted=!0)},p=function(){var n=u.uploadCache,e,r,f,o=0,i=u.cacheInitialPreview;u.fileBatchCompleted&&(i&&i.content&&(o=i.content.length),setTimeout(function(){var s=u.getFileStack(!0).length===0;if(u.showPreview){if(u.previewCache.set(n.content,n.config,n.tags,n.append),o){for(r=0;r<n.content.length;r++)f=r+o,i.content[f]=n.content[r],i.config.length&&(i.config[f]=n.config[r]),i.tags.length&&(i.tags[f]=n.tags[r]);u.initialPreview=t.cleanArray(i.content);u.initialPreviewConfig=t.cleanArray(i.config);u.initialPreviewThumbTags=t.cleanArray(i.tags)}else u.initialPreview=n.content,u.initialPreviewConfig=n.config,u.initialPreviewThumbTags=n.tags;u.cacheInitialPreview={};u.hasInitData&&(u._initPreview(),u._initPreviewActions())}u.unlock(s);s&&u._clearFileInput();e=u.$preview.find(".file-preview-initial");u.uploadAsync&&e.length&&(t.addCss(e,t.SORT_CSS),u._initSortable());u._raise("filebatchuploadcomplete",[u.filestack,u._getExtraData()]);u.uploadCount=0;u.uploadStatus={};u.uploadLog=[];u._setProgress(101)},100))},w=function(c){h=u._getOutData(c);u.fileBatchCompleted=!1;u.showPreview&&(f.hasClass("file-preview-success")||(u._setThumbStatus(f,"Loading"),t.addCss(f,"file-uploading")),o.attr("disabled",!0),a.attr("disabled",!0));r||u.lock();u._raise("filepreupload",[h,e,i]);n.extend(!0,s,h);u._abort(s)&&(c.abort(),u._setProgressCancelled())},b=function(l,a,p){var w=u.showPreview&&f.attr("id")?f.attr("id"):e;h=u._getOutData(p,l);n.extend(!0,s,h);setTimeout(function(){t.isEmpty(l)||t.isEmpty(l.error)?(u.showPreview&&(u._setThumbStatus(f,"Success"),o.hide(),u._initUploadSuccess(l,f,r),u._setProgress(101,y)),u._raise("fileuploaded",[h,w,i]),r?c(i,w):u.updateStack(i,undefined)):(v=!0,u._showUploadError(l.error,s),u._setPreviewError(f,i,u.filestack[i],u.retryErrorUploads),u.retryErrorUploads||o.hide(),r&&c(i,w),u._setProgress(101,n("#"+w).find(".file-thumb-progress"),u.msgUploadError))},100)},k=function(){setTimeout(function(){u.showPreview&&(o.removeAttr("disabled"),a.removeAttr("disabled"),f.removeClass("file-uploading"));r?p():(u.unlock(!1),u._clearFileInput());u._initSuccessThumbs()},100)},d=function(t,h,l){var a=u.ajaxOperations.uploadThumb,p=u._parseError(a,t,l,r&&u.filestack[i].name?u.filestack[i].name:null);v=!0;setTimeout(function(){r&&c(i,e);u.uploadStatus[e]=100;u._setPreviewError(f,i,u.filestack[i],u.retryErrorUploads);u.retryErrorUploads||o.hide();n.extend(!0,s,u._getOutData(t));u._setProgress(101,y,u.msgAjaxProgressError.replace("{operation}",a));u._setProgress(101,n("#"+e).find(".file-thumb-progress"),u.msgUploadError);u._showUploadError(p,s)},100)},l.append(u.uploadFileAttr,u.filestack[i],u.filenames[i]),l.append("file_id",i),u._ajaxSubmit(w,b,k,d,e,i))},_uploadBatch:function(){var i=this,r=i.filestack,u=r.length,f,e,o,s,c=i.filestack.length>0||!n.isEmptyObject(i.uploadExtraData),h;(i.formdata=new FormData,u!==0&&c&&!i._abort({}))&&(h=function(){n.each(r,function(n){i.updateStack(n,undefined)});i._clearFileInput()},f=function(r){i.lock();var u=i._getOutData(r);i.showPreview&&i._getThumbs().each(function(){var r=n(this),u=r.find(".kv-file-upload"),f=r.find(".kv-file-remove");r.hasClass("file-preview-success")||(i._setThumbStatus(r,"Loading"),t.addCss(r,"file-uploading"));u.attr("disabled",!0);f.attr("disabled",!0)});i._raise("filebatchpreupload",[u]);i._abort(u)&&(r.abort(),i._setProgressCancelled())},e=function(r,u,f){var e=i._getOutData(f,r),o=0,s=i._getThumbs(":not(.file-preview-success)"),c=t.isEmpty(r)||t.isEmpty(r.errorkeys)?[]:r.errorkeys;t.isEmpty(r)||t.isEmpty(r.error)?(i._raise("filebatchuploadsuccess",[e]),h(),i.showPreview?(s.each(function(){var t=n(this);i._setThumbStatus(t,"Success");t.removeClass("file-uploading");t.find(".kv-file-upload").hide().removeAttr("disabled")}),i._initUploadSuccess(r)):i.reset(),i._setProgress(101)):(i.showPreview&&(s.each(function(){var t=n(this),r=t.attr("data-fileindex");t.removeClass("file-uploading");t.find(".kv-file-upload").removeAttr("disabled");t.find(".kv-file-remove").removeAttr("disabled");c.length===0||n.inArray(o,c)!==-1?(i._setPreviewError(t,r,i.filestack[r],i.retryErrorUploads),i.retryErrorUploads||(t.find(".kv-file-upload").hide(),i.updateStack(r,undefined))):(t.find(".kv-file-upload").hide(),i._setThumbStatus(t,"Success"),i.updateStack(r,undefined));(!t.hasClass("file-preview-error")||i.retryErrorUploads)&&o++}),i._initUploadSuccess(r)),i._showUploadError(r.error,e,"filebatchuploaderror"),i._setProgress(101,i.$progress,i.msgUploadError))},s=function(){i.unlock();i._initSuccessThumbs();i._clearFileInput();i._raise("filebatchuploadcomplete",[i.filestack,i._getExtraData()])},o=function(t,r,f){var o=i._getOutData(t),e=i.ajaxOperations.uploadBatch,s=i._parseError(e,t,f);(i._showUploadError(s,o,"filebatchuploaderror"),i.uploadFileCount=u-1,i.showPreview)&&(i._getThumbs().each(function(){var t=n(this),r=t.attr("data-fileindex");t.removeClass("file-uploading");i.filestack[r]!==undefined&&i._setPreviewError(t)}),i._getThumbs().removeClass("file-uploading"),i._getThumbs(" .kv-file-upload").removeAttr("disabled"),i._getThumbs(" .kv-file-delete").removeAttr("disabled"),i._setProgress(101,i.$progress,i.msgAjaxProgressError.replace("{operation}",e)))},n.each(r,function(n,u){t.isEmpty(r[n])||i.formdata.append(i.uploadFileAttr,u,i.filenames[n])}),i._ajaxSubmit(f,e,s,o))},_uploadExtraOnly:function(){var n=this,i={},r,u,f,e;(n.formdata=new FormData,n._abort(i))||(r=function(t){n.lock();var r=n._getOutData(t);n._raise("filebatchpreupload",[r]);n._setProgress(50);i.data=r;i.xhr=t;n._abort(i)&&(t.abort(),n._setProgressCancelled())},u=function(i,r,u){var f=n._getOutData(u,i);t.isEmpty(i)||t.isEmpty(i.error)?(n._raise("filebatchuploadsuccess",[f]),n._clearFileInput(),n._initUploadSuccess(i),n._setProgress(101)):n._showUploadError(i.error,f,"filebatchuploaderror")},f=function(){n.unlock();n._clearFileInput();n._raise("filebatchuploadcomplete",[n.filestack,n._getExtraData()])},e=function(t,r,u){var f=n._getOutData(t),e=n.ajaxOperations.uploadExtra,o=n._parseError(e,t,u);i.data=f;n._showUploadError(o,f,"filebatchuploaderror");n._setProgress(101,n.$progress,n.msgAjaxProgressError.replace("{operation}",e))},n._ajaxSubmit(r,u,f,e))},_deleteFileIndex:function(i){var r=this,u=i.attr("data-fileindex");u.substring(0,5)==="init_"&&(u=parseInt(u.replace("init_","")),r.initialPreview=t.spliceArray(r.initialPreview,u),r.initialPreviewConfig=t.spliceArray(r.initialPreviewConfig,u),r.initialPreviewThumbTags=t.spliceArray(r.initialPreviewThumbTags,u),r.getFrames().each(function(){var i=n(this),t=i.attr("data-fileindex");t.substring(0,5)==="init_"&&(t=parseInt(t.replace("init_","")),t>u&&(t--,i.attr("data-fileindex","init_"+t)))}),r.uploadAsync&&(r.cacheInitialPreview=r.getPreview()))},_initFileActions:function(){var i=this,r=i.$preview;i.showPreview&&(i._initZoomButton(),i.getFrames(" .kv-file-remove").each(function(){var s=n(this),u=s.closest(t.FRAMES),h,f=u.attr("id"),e=u.attr("data-fileindex"),o,c,l;i._handler(s,"click",function(){if(l=i._raise("filepreremove",[f,e]),l===!1||!i._validateMinCount())return!1;h=u.hasClass("file-preview-error");t.cleanMemory(u);u.fadeOut("slow",function(){t.cleanZoomCache(r.find("#zoom-"+f));i.updateStack(e,undefined);i._clearObjects(u);u.remove();f&&h&&i.$errorContainer.find('li[data-file-id="'+f+'"]').fadeOut("fast",function(){n(this).remove();i._errorsExist()||i._resetErrors()});i._clearFileInput();var s=i.getFileStack(!0),l=i.previewCache.count(),a=s.length,v=i.showPreview&&i.getFrames().length;a!==0||l!==0||v?(o=l+a,c=o>1?i._getMsgSelected(o):s[0]?i._getFileNames()[0]:"",i._setCaption(c)):i.reset();i._raise("fileremoved",[f,e])})})}),i.getFrames(" .kv-file-upload").each(function(){var r=n(this);i._handler(r,"click",function(){var n=r.closest(t.FRAMES),u=n.attr("data-fileindex");(i.$progress.hide(),!n.hasClass("file-preview-error")||i.retryErrorUploads)&&i._uploadSingle(u,!1)})}))},_initPreviewActions:function(){var i=this,r=i.$preview,s=i.deleteExtraData||{},h=t.FRAMES+" .kv-file-remove",o=i.fileActionSettings,u=o.removeClass,f=o.removeErrorClass,e=function(){var n=i.isAjaxUpload?i.previewCache.count():i.$element.get(0).files.length;r.find(t.FRAMES).length||n||(i._setCaption(""),i.reset(),i.initialCaption="")};i._initZoomButton();r.find(h).each(function(){var h=n(this),b=h.data("url")||i.deleteUrl,a=h.data("key"),k,d,g;if(!t.isEmpty(b)&&a!==undefined){var o=h.closest(t.FRAMES),p=i.previewCache.data,w,l,v=o.attr("data-fileindex"),y,c;v=parseInt(v.replace("init_",""));y=t.isEmpty(p.config)&&t.isEmpty(p.config[v])?null:p.config[v];c=t.isEmpty(y)||t.isEmpty(y.extra)?s:y.extra;typeof c=="function"&&(c=c());l={id:h.attr("id"),key:a,extra:c};k=function(n){i.ajaxAborted=!1;i._raise("filepredelete",[a,n,c]);h.removeClass(f);i._abort()?n.abort():(t.addCss(o,"file-uploading"),t.addCss(h,"disabled "+u))};d=function(n,s,y){var p,w;if(!t.isEmpty(n)&&!t.isEmpty(n.error)){l.jqXHR=y;l.response=n;i._showError(n.error,l,"filedeleteerror");o.removeClass("file-uploading");h.removeClass("disabled "+u).addClass(f);e();return}o.removeClass("file-uploading").addClass("file-deleted");o.fadeOut("slow",function(){v=parseInt(o.attr("data-fileindex").replace("init_",""));i.previewCache.unset(v);p=i.previewCache.count();w=p>0?i._getMsgSelected(p):"";i._deleteFileIndex(o);i._setCaption(w);i._raise("filedeleted",[a,y,c]);t.cleanZoomCache(r.find("#zoom-"+o.attr("id")));i._clearObjects(o);o.remove();e()})};g=function(n,t,r){var s=i.ajaxOperations.deleteThumb,c=i._parseError(s,n,r);l.jqXHR=n;l.response={};i._showError(c,l,"filedeleteerror");o.removeClass("file-uploading");h.removeClass("disabled "+u).addClass(f);e()};i._mergeAjaxCallback("beforeSend",k,"delete");i._mergeAjaxCallback("success",d,"delete");i._mergeAjaxCallback("error",g,"delete");w=n.extend(!0,{},{url:b,type:"POST",dataType:"json",data:n.extend(!0,{},{key:a},c)},i.ajaxDeleteSettings);i._handler(h,"click",function(){if(!i._validateMinCount())return!1;i.ajaxAborted=!1;i._raise("filebeforedelete",[a,c]);i.ajaxAborted instanceof Promise?i.ajaxAborted.then(function(t){t||n.ajax(w)}):i.ajaxAborted||n.ajax(w)})}})},_hideFileIcon:function(){var n=this;n.overwriteInitial&&n.$captionContainer.removeClass("icon-visible")},_showFileIcon:function(){var n=this;t.addCss(n.$captionContainer,"icon-visible")},_getSize:function(t){var f=this,i=parseFloat(t),u,e=f.fileSizeGetter,o,r;return!n.isNumeric(t)||!n.isNumeric(i)?"":(typeof e=="function"?r=e(i):i===0?r="0.00 B":(u=Math.floor(Math.log(i)/Math.log(1024)),o=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],r=(i/Math.pow(1024,u)).toFixed(2)*1+" "+o[u]),f._getLayoutTemplate("size").replace("{sizeText}",r))},_generatePreviewTemplate:function(i,r,u,f,e,o,s,h,c,l,a){var v=this,b=v.slug(u),k,y="",p="",tt=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,d=tt<400?v.previewSettingsSmall[i]||v.defaults.previewSettingsSmall[i]:v.previewSettings[i]||v.defaults.previewSettings[i],it=c||v._renderFileFooter(b,s,"auto",o),g=v._getPreviewIcon(u),nt="type-default",rt=g&&v.preferIconicPreview,ut=g&&v.preferIconicZoomPreview,w;return d&&n.each(d,function(n,t){p+=n+":"+t+";"}),w=function(r,o,s,c){var k=s?"zoom-"+e:e,w=v._getPreviewTemplate(r),y=(h||"")+" "+c;return v.frameClass&&(y=v.frameClass+" "+y),s&&(y=y.replace(" "+t.SORT_CSS,"")),w=v._parseFilePreviewIcon(w,u),r==="text"&&(o=t.htmlEncode(o)),i!=="object"||f||n.each(v.defaults.fileTypeSettings,function(n,t){n!=="object"&&n!=="other"&&t(u,f)&&(nt="type-"+n)}),w.setTokens({previewId:k,caption:b,frameClass:y,type:f,fileindex:l,typeCss:nt,footer:it,data:o,template:a||i,style:p?'style="'+p+'"':""})},l=l||e.slice(e.lastIndexOf("-")+1),v.fileActionSettings.showZoom&&(y=w(ut?"other":i,r,!0,"kv-zoom-thumb")),y="\n"+v._getLayoutTemplate("zoomCache").replace("{zoomContent}",y),k=w(rt?"other":i,r,!1,"kv-preview-thumb"),k+y},_previewDefault:function(i,r,u){var f=this,h=f.$preview;if(f.showPreview){var e=i?i.name:"",c=i?i.type:"",o,s=i.size||0,l=f.slug(e),a=u===!0&&!f.isAjaxUpload,v=t.objUrl.createObjectURL(i);f._clearDefaultPreview();o=f._generatePreviewTemplate("other",v,e,c,r,a,s);h.append("\n"+o);f._setThumbAttr(r,l,s);u===!0&&f.isAjaxUpload&&f._setThumbStatus(n("#"+r),"Error")}},_previewFile:function(n,i,r,u,f,e){var s;if(this.showPreview){var o=this,p=i?i.name:"",h=e.type,v=e.name,c=o._parseFileType(h,p),w=o.allowedPreviewTypes,b,k=o.allowedPreviewMimeTypes,y=o.$preview,a=i.size||0,d=w&&w.indexOf(c)>=0,g=k&&k.indexOf(h)!==-1,l=c==="text"||c==="html"||c==="image"?r.target.result:f;c==="html"&&o.purifyHtml&&window.DOMPurify&&(l=window.DOMPurify.sanitize(l));d||g?(b=o._generatePreviewTemplate(c,l,p,h,u,!1,a),o._clearDefaultPreview(),y.append("\n"+b),s=y.find("#"+u+" img"),s.length&&o.autoOrientImage?t.validateOrientation(i,function(n){if(!n){o._validateImage(u,v,h,a,l);return}var f=y.find("#zoom-"+u+" img"),r="rotate-"+n;n>4&&(r+=s.width()>s.height()?" is-portrait-gt4":" is-landscape-gt4");t.addCss(s,r);t.addCss(f,r);o._raise("fileimageoriented",{$img:s,file:i});o._validateImage(u,v,h,a,l);t.adjustOrientedImage(s)}):o._validateImage(u,v,h,a,l)):o._previewDefault(i,u);o._setThumbAttr(u,v,a);o._initSortable()}},_setThumbAttr:function(t,i,r){var f=this,u=n("#"+t);u.length&&(r=r&&r>0?f._getSize(r):"",u.data({caption:i,size:r}))},_setInitThumbAttr:function(){var i=this,s=i.previewCache.data,u=i.previewCache.count(),r,f,e,o,n;if(u!==0)for(n=0;n<u;n++)r=s.config[n],o=i.previewInitId+"-init_"+n,f=t.ifSet("caption",r,t.ifSet("filename",r)),e=t.ifSet("size",r),i._setThumbAttr(o,f,e)},_slugDefault:function(n){return t.isEmpty(n)?"":String(n).replace(/[\-\[\]\/\{}:;#%=\(\)\*\+\?\\\^\$\|<>&"']/g,"_")},_readFiles:function(i){this.reader=new FileReader;var r=this,b=r.$element,y=r.$preview,f=r.reader,a=r.$previewContainer,l=r.$previewStatus,k=r.msgLoading,p=r.msgProgress,d=r.previewInitId,u=i.length,h=r.fileTypeSettings,g=r.filestack.length,e,o=r.allowedFileTypes,w=o?o.length:0,s=r.allowedFileExtensions,nt=t.isEmpty(s)?"":s.join(", "),v=r.maxFilePreviewSize&&parseFloat(r.maxFilePreviewSize),tt=y.length&&(!v||isNaN(v)),c=function(t,f,o,s){var c=n.extend(!0,{},r._getOutData({},{},i),{id:o,index:s}),l={id:o,index:s,file:f,files:i},h;r._previewDefault(f,o,!0);r.isAjaxUpload?(r.addToStack(undefined),setTimeout(function(){e(s+1)},100)):u=0;r._initFileActions();h=n("#"+o);h.find(".kv-file-upload").hide();r.removeFromPreviewOnError&&h.remove();r.isError=r.isAjaxUpload?r._showUploadError(t,c):r._showError(t,l);r._updateFileDetails(u)};r.loadedImages=[];r.totalImagesCount=0;n.each(i,function(n,t){var i=r.fileTypeSettings.image;i&&i(t.type)&&r.totalImagesCount++});e=function(it){if(t.isEmpty(b.attr("multiple"))&&(u=1),it>=u){r.isAjaxUpload&&r.filestack.length>0?r._raise("filebatchselected",[r.getFileStack()]):r._raise("filebatchselected",[i]);a.removeClass("file-thumb-loading");l.html("");return}var oi=g+it,ft=d+"-"+oi,rt=i[it],yt,ot,et,gt=h.text,ni=h.image,ti=h.html,ii,pt,wt,bt,ut=rt.name?r.slug(rt.name):"",ht=(rt.size||0)/1e3,kt="",ri=t.objUrl.createObjectURL(rt),st=0,ui="",ct,fi=0,lt,at,vt,dt,ei=function(){var n=p.setTokens({index:it+1,files:u,percent:50,name:ut});setTimeout(function(){l.html(n);r._updateFileDetails(u);e(it+1)},100);r._raise("fileloaded",[rt,ft,it,f])};if(w>0)for(ot=0;ot<w;ot++)wt=o[ot],bt=r.msgFileTypes[wt]||wt,ui+=ot===0?bt:", "+bt;if(ut===!1){e(it+1);return}if(ut.length===0){et=r.msgInvalidFileName.replace("{name}",t.htmlEncode(rt.name));c(et,rt,ft,it);return}if(t.isEmpty(s)||(kt=new RegExp("\\.("+s.join("|")+")$","i")),yt=ht.toFixed(2),r.maxFileSize>0&&ht>r.maxFileSize){et=r.msgSizeTooLarge.setTokens({name:ut,size:yt,maxSize:r.maxFileSize});c(et,rt,ft,it);return}if(r.minFileSize!==null&&ht<=t.getNum(r.minFileSize)){et=r.msgSizeTooSmall.setTokens({name:ut,size:yt,minSize:r.minFileSize});c(et,rt,ft,it);return}if(!t.isEmpty(o)&&t.isArray(o)){for(ot=0;ot<o.length;ot+=1)ii=o[ot],ct=h[ii],st+=!ct||typeof ct!="function"?0:ct(rt.type,rt.name)?1:0;if(st===0){et=r.msgInvalidFileType.setTokens({name:ut,types:ui});c(et,rt,ft,it);return}}if(st===0&&!t.isEmpty(s)&&t.isArray(s)&&!t.isEmpty(kt)&&(pt=t.compare(ut,kt),st+=t.isEmpty(pt)?0:pt.length,st===0)){et=r.msgInvalidFileExtension.setTokens({name:ut,extensions:nt});c(et,rt,ft,it);return}if(!r.showPreview){r.isAjaxUpload&&r.addToStack(rt);setTimeout(function(){e(it+1);r._updateFileDetails(u)},100);r._raise("fileloaded",[rt,ft,it,f]);return}if(!tt&&ht>v){r.addToStack(rt);a.addClass("file-thumb-loading");r._previewDefault(rt,ft);r._initFileActions();r._updateFileDetails(u);e(it+1);return}y.length&&FileReader!==undefined?(lt=gt(rt.type,ut),at=ti(rt.type,ut),vt=ni(rt.type,ut),l.html(k.replace("{index}",it+1).replace("{files}",u)),a.addClass("file-thumb-loading"),f.onerror=function(n){r._errorHandler(n,ut)},f.onload=function(i){var c,o,e,l=[],s,u,a=function(n){var t=new FileReader;t.onerror=function(n){r._errorHandler(n,ut)};t.onload=function(n){r._previewFile(it,rt,n,ft,ri,e);r._initFileActions();ei()};n?t.readAsText(rt,r.textEncoding):t.readAsDataURL(rt)};if(e={name:ut,type:rt.type},n.each(h,function(n,t){n!=="object"&&n!=="other"&&t(rt.type,ut)&&fi++}),fi===0&&(c=new Uint8Array(i.target.result),c.forEach(function(n){l.push(n.toString(16))}),o=l.join("").toLowerCase().substring(0,8),u=t.getMimeType(o,"",""),t.isEmpty(u)&&(s=t.arrayBuffer2String(f.result),u=t.isSvg(s)?"image/svg+xml":t.getMimeType(o,s,rt.type)),e={name:ut,type:u},lt=gt(u,""),at=ti(u,""),vt=ni(u,""),dt=lt||at,dt||vt)){a(dt);return}r._previewFile(it,rt,i,ft,ri,e);r._initFileActions();ei()},f.onprogress=function(n){if(n.lengthComputable){var t=n.loaded/n.total*100,i=Math.ceil(t);et=p.setTokens({index:it+1,files:u,percent:i,name:ut});setTimeout(function(){l.html(et)},100)}},lt||at?f.readAsText(rt,r.textEncoding):vt?f.readAsDataURL(rt):f.readAsArrayBuffer(rt)):(r._previewDefault(rt,ft),setTimeout(function(){e(it+1);r._updateFileDetails(u)},100),r._raise("fileloaded",[rt,ft,it,f]));r.addToStack(rt)};e(0);r._updateFileDetails(u,!1)},_updateFileDetails:function(n){var i=this,r=i.$element,u=i.getFileStack(),o=t.isIE(9)&&t.findFileName(r.val())||r[0].files[0]&&r[0].files[0].name||u.length&&u[0].name||"",f=i.slug(o),e=i.isAjaxUpload?u.length:n,s=i.previewCache.count()+e,h=e===1?f:i._getMsgSelected(s);i.isError?(i.$previewContainer.removeClass("file-thumb-loading"),i.$previewStatus.html(""),i.$captionContainer.removeClass("icon-visible")):i._showFileIcon();i._setCaption(h,i.isError);i.$container.removeClass("file-input-new file-input-ajax-new");arguments.length===1&&i._raise("fileselect",[n,f]);i.previewCache.count()&&i._initPreviewActions()},_setThumbStatus:function(n,t){var i=this;if(i.showPreview){var r="indicator"+t,e=r+"Title",o="file-preview-"+t.toLowerCase(),u=n.find(".file-upload-indicator"),f=i.fileActionSettings;n.removeClass("file-preview-success file-preview-error file-preview-loading");t==="Success"&&n.find(".file-drag-handle").remove();u.html(f[r]);u.attr("title",f[e]);n.addClass(o);t!=="Error"||i.retryErrorUploads||n.find(".kv-file-upload").attr("disabled",!0)}},_setProgressCancelled:function(){var n=this;n._setProgress(101,n.$progress,n.msgCancelled)},_setProgress:function(n,i,r){var u=this,f=Math.min(n,100),s,e=u.progressUploadThreshold,h=n<=100?u.progressTemplate:u.progressCompleteTemplate,o=f<100?u.progressTemplate:r?u.progressErrorTemplate:h;i=i||u.$progress;t.isEmpty(o)||(s=e&&f>e&&n<=100?o.setTokens({percent:e,status:u.msgUploadThreshold}):o.setTokens({percent:f,status:n>100?u.msgUploadEnd:f+"%"}),i.html(s),r&&i.find('[role="progressbar"]').html(r))},_setFileDropZoneTitle:function(){var n=this,i=n.$container.find(".file-drop-zone"),r=n.dropZoneTitle,u;(n.isClickable&&(u=t.isEmpty(n.$element.attr("multiple"))?n.fileSingle:n.filePlural,r+=n.dropZoneClickTitle.replace("{files}",u)),i.find("."+n.dropZoneTitleClass).remove(),n.isAjaxUpload&&n.showPreview&&i.length!==0&&!(n.getFileStack().length>0)&&n.dropZoneEnabled)&&(i.find(t.FRAMES).length===0&&t.isEmpty(n.defaultPreviewContent)&&i.prepend('<div class="'+n.dropZoneTitleClass+'">'+r+"<\/div>"),n.$container.removeClass("file-input-new"),t.addCss(n.$container,"file-input-ajax-new"))},_setAsyncUploadStatus:function(t,i,r){var u=this,f=0;u._setProgress(i,n("#"+t).find(".file-thumb-progress"));u.uploadStatus[t]=i;n.each(u.uploadStatus,function(n,t){f+=t});u._setProgress(Math.floor(f/r))},_validateMinCount:function(){var n=this,t=n.isAjaxUpload?n.getFileStack().length:n.$element.get(0).files.length;return n.validateInitialCount&&n.minFileCount>0&&n._getFileCount(t-1)<n.minFileCount?(n._noFilesError({}),!1):!0},_getFileCount:function(n){var t=this,i=0;return t.validateInitialCount&&!t.overwriteInitial&&(i=t.previewCache.count(),n+=i),n},_getFileId:function(n){var r=this,i=r.generateFileId,t;return typeof i=="function"?i(n,event):n?(t=String(n.webkitRelativePath||n.fileName||n.name||null),!t)?null:n.size+"-"+t.replace(/[^0-9a-zA-Z_-]/img,""):null},_getFileName:function(n){return n&&n.name?this.slug(n.name):undefined},_getFileIds:function(n){var t=this;return t.fileids.filter(function(t){return n?t!==undefined:t!==undefined&&t!==null})},_getFileNames:function(n){var t=this;return t.filenames.filter(function(t){return n?t!==undefined:t!==undefined&&t!==null})},_setPreviewError:function(n,t,i,r){var u=this;if(t!==undefined&&u.updateStack(t,i),u.showPreview){if(u.removeFromPreviewOnError&&!r){n.remove();return}u._setThumbStatus(n,"Error");u._refreshUploadButton(n,r)}},_refreshUploadButton:function(n,t){var e=this,r=n.find(".kv-file-upload"),i=e.fileActionSettings,u=i.uploadIcon,f=i.uploadTitle;r.length&&(t&&(u=i.uploadRetryIcon,f=i.uploadRetryTitle),r.attr("title",f).html(u))},_checkDimensions:function(n,i,r,u,f,e,o){var h=this,a,l,y=i==="Small"?"min":"max",c=h[y+"Image"+e],s,v;!t.isEmpty(c)&&r.length&&((s=r[0],l=e==="Width"?s.naturalWidth||s.width:s.naturalHeight||s.height,v=i==="Small"?l>=c:l<=c,v)||(a=h["msgImage"+e+i].setTokens({name:f,size:c}),h._showUploadError(a,o),h._setPreviewError(u,n,null)))},_validateImage:function(t,i,r,u,f){var e=this,a=e.$preview,c,v,y,o=a.find("#"+t),h=o.attr("data-fileindex"),s=o.find("img"),l;i=i||"Untitled";s.one("load",function(){v=o.width();y=a.width();v>y&&s.css("width","100%");c={ind:h,id:t};e._checkDimensions(h,"Small",s,o,i,"Width",c);e._checkDimensions(h,"Small",s,o,i,"Height",c);e.resizeImage||(e._checkDimensions(h,"Large",s,o,i,"Width",c),e._checkDimensions(h,"Large",s,o,i,"Height",c));e._raise("fileimageloaded",[t]);l=window.piexif?window.piexif.load(f):null;e.loadedImages.push({ind:h,img:s,thumb:o,pid:t,typ:r,siz:u,validated:!1,imgData:f,exifObj:l});o.data("exif",l);e._validateAllImages()}).one("error",function(){e._raise("fileimageloaderror",[t])}).each(function(){this.complete?n(this).trigger("load"):this.error&&n(this).trigger("error")})},_validateAllImages:function(){var n=this,t,f={val:0},u=n.loadedImages.length,i,r,e=n.resizeIfSizeMoreThan;if(u===n.totalImagesCount&&(n._raise("fileimagesloaded"),n.resizeImage))for(t=0;t<n.loadedImages.length;t++)(i=n.loadedImages[t],i.validated)||(r=i.siz,r&&r>e*1e3&&n._getResizedImage(i,f,u),n.loadedImages[t].validated=!0)},_getResizedImage:function(i,r,u){var f=this,y=n(i.img)[0],e=y.naturalWidth,o=y.naturalHeight,p,w=1,c=f.maxImageWidth||e,l=f.maxImageHeight||o,b=!!(e&&o),k,d,g=f.imageCanvas,a,ut=f.imageCanvasContext,nt=i.typ,h=i.pid,s=i.ind,ft=i.thumb,v,tt,it=i.exifObj,rt;if(v=function(n,t,i){f.isAjaxUpload?f._showUploadError(n,t,i):f._showError(n,t,i);f._setPreviewError(ft,s)},(!f.filestack[s]||!b||e<=c&&o<=l)&&(b&&f.filestack[s]&&f._raise("fileimageresized",[h,s]),r.val++,r.val===u&&f._raise("fileimagesresized"),!b)){v(f.msgImageResizeError,{id:h,index:s},"fileimageresizeerror");return}nt=nt||f.resizeDefaultImageType;k=e>c;d=o>l;w=f.resizePreference==="width"?k?c/e:d?l/o:1:d?l/o:k?c/e:1;f._resetCanvas();e*=w;o*=w;g.width=e;g.height=o;try{ut.drawImage(y,0,0,e,o);a=g.toDataURL(nt,f.resizeQuality);it&&(rt=window.piexif.dump(it),a=window.piexif.insert(rt,a));p=t.dataURI2Blob(a);f.filestack[s]=p;f._raise("fileimageresized",[h,s]);r.val++;r.val===u&&f._raise("fileimagesresized",[undefined,undefined]);p instanceof Blob||v(f.msgImageResizeError,{id:h,index:s},"fileimageresizeerror")}catch(et){r.val++;r.val===u&&f._raise("fileimagesresized",[undefined,undefined]);tt=f.msgImageResizeException.replace("{errors}",et.message);v(tt,{id:h,index:s},"fileimageresizeexception")}},_initBrowse:function(n){var t=this;t.showBrowse?(t.$btnFile=n.find(".btn-file"),t.$btnFile.append(t.$element)):t.$element.hide()},_initCaption:function(){var n=this,i=n.initialCaption||"";return n.overwriteInitial||t.isEmpty(i)?(n.$caption.val(""),!1):(n._setCaption(i),!0)},_setCaption:function(i,r){var u=this,f,o,s,e,h,c=u.getFileStack();if(u.$caption.length){if(u.$captionContainer.removeClass("icon-visible"),r)f=n("<div>"+u.msgValidationError+"<\/div>").text(),e=c.length,h=e?e===1&&c[0]?u._getFileNames()[0]:u._getMsgSelected(e):u._getMsgSelected(u.msgNo),o=t.isEmpty(i)?h:i,s='<span class="'+u.msgValidationErrorClass+'">'+u.msgValidationErrorIcon+"<\/span>";else{if(t.isEmpty(i))return;f=n("<div>"+i+"<\/div>").text();o=f;s=u._getLayoutTemplate("fileIcon")}u.$captionContainer.addClass("icon-visible");u.$caption.attr("title",f).val(o);u.$captionIcon.html(s)}},_createContainer:function(){var t=this,r={"class":"file-input file-input-new"+(t.rtl?" kv-rtl":"")},i=n(document.createElement("div")).attr(r).html(t._renderMain());return t.$element.before(i),t._initBrowse(i),t.theme&&i.addClass("theme-"+t.theme),i},_refreshContainer:function(){var n=this,t=n.$container;t.before(n.$element);t.html(n._renderMain());n._initBrowse(t);n._validateDisabled()},_validateDisabled:function(){var n=this;n.$caption.attr({readonly:n.isDisabled})},_renderMain:function(){var n=this,t=n.isAjaxUpload&&n.dropZoneEnabled?" file-drop-zone":"file-drop-disabled",i=n.showClose?n._getLayoutTemplate("close"):"",r=n.showPreview?n._getLayoutTemplate("preview").setTokens({"class":n.previewClass,dropClass:t}):"",u=n.isDisabled?n.captionClass+" file-caption-disabled":n.captionClass,f=n.captionTemplate.setTokens({"class":u+" kv-fileinput-caption"});return n.mainTemplate.setTokens({"class":n.mainClass+(!n.showBrowse&&n.showCaption?" no-browse":""),preview:r,close:i,caption:f,upload:n._renderButton("upload"),remove:n._renderButton("remove"),cancel:n._renderButton("cancel"),browse:n._renderButton("browse")})},_renderButton:function(n){var i=this,u=i._getLayoutTemplate("btnDefault"),f=i[n+"Class"],o=i[n+"Title"],s=i[n+"Icon"],r=i[n+"Label"],h=i.isDisabled?" disabled":"",e="button";switch(n){case"remove":if(!i.showRemove)return"";break;case"cancel":if(!i.showCancel)return"";f+=" kv-hidden";break;case"upload":if(!i.showUpload)return"";i.isAjaxUpload&&!i.isDisabled?u=i._getLayoutTemplate("btnLink").replace("{href}",i.uploadUrl):e="submit";break;case"browse":if(!i.showBrowse)return"";u=i._getLayoutTemplate("btnBrowse");break;default:return""}return f+=n==="browse"?" btn-file":" fileinput-"+n+" fileinput-"+n+"-button",t.isEmpty(r)||(r=' <span class="'+i.buttonLabelClass+'">'+r+"<\/span>"),u.setTokens({type:e,css:f,title:o,status:h,icon:s,label:r})},_renderThumbProgress:function(){var n=this;return'<div class="file-thumb-progress kv-hidden">'+n.progressTemplate.setTokens({percent:"0",status:n.msgUploadBegin})+"<\/div>"},_renderFileFooter:function(n,i,r,u){var f=this,e=f.fileActionSettings,a=e.showRemove,o=e.showDrag,v=e.showUpload,s=e.showZoom,h,c=f._getLayoutTemplate("footer"),y=f._getLayoutTemplate("indicator"),p=u?e.indicatorError:e.indicatorNew,w=u?e.indicatorErrorTitle:e.indicatorNewTitle,l=y.setTokens({indicator:p,indicatorTitle:w});return i=f._getSize(i),h=f.isAjaxUpload?c.setTokens({actions:f._renderFileActions(v,!1,a,s,o,!1,!1,!1),caption:n,size:i,width:r,progress:f._renderThumbProgress(),indicator:l}):c.setTokens({actions:f._renderFileActions(!1,!1,!1,s,o,!1,!1,!1),caption:n,size:i,width:r,progress:"",indicator:l}),t.replaceTags(h,f.previewThumbTags)},_renderFileActions:function(n,t,i,r,u,f,e,o,s,h,c){if(!n&&!t&&!i&&!r&&!u)return"";var a=this,g=e===!1?"":' data-url="'+e+'"',y=o===!1?"":' data-key="'+o+'"',p="",w="",v="",b="",k="",d,nt=a._getLayoutTemplate("actions"),l=a.fileActionSettings,tt=a.otherActionButtons.setTokens({dataKey:y,key:o}),it=f?l.removeClass+" disabled":l.removeClass;return i&&(p=a._getLayoutTemplate("actionDelete").setTokens({removeClass:it,removeIcon:l.removeIcon,removeTitle:l.removeTitle,dataUrl:g,dataKey:y,key:o})),n&&(w=a._getLayoutTemplate("actionUpload").setTokens({uploadClass:l.uploadClass,uploadIcon:l.uploadIcon,uploadTitle:l.uploadTitle})),t&&(v=a._getLayoutTemplate("actionDownload").setTokens({downloadClass:l.downloadClass,downloadIcon:l.downloadIcon,downloadTitle:l.downloadTitle,downloadUrl:h||a.initialPreviewDownloadUrl}),v=v.setTokens({filename:c,key:o})),r&&(b=a._getLayoutTemplate("actionZoom").setTokens({zoomClass:l.zoomClass,zoomIcon:l.zoomIcon,zoomTitle:l.zoomTitle})),u&&s&&(d="drag-handle-init "+l.dragClass,k=a._getLayoutTemplate("actionDrag").setTokens({dragClass:d,dragTitle:l.dragTitle,dragIcon:l.dragIcon})),nt.setTokens({"delete":p,upload:w,download:v,zoom:b,drag:k,other:tt})},_browse:function(n){var t=this;(t._raise("filebrowse"),n&&n.isDefaultPrevented())||(t.isError&&!t.isAjaxUpload&&t.clear(),t.$captionContainer.focus())},_filterDuplicate:function(n,t,i){var u=this,r=u._getFileId(n);r&&i&&i.indexOf(r)>-1||(i||(i=[]),t.push(n),i.push(r))},_change:function(i){var r=this,h=r.$element;if(!r.isAjaxUpload&&t.isEmpty(h.val())&&r.fileInputCleared){r.fileInputCleared=!1;return}r.fileInputCleared=!1;var u=[],l,s,a=arguments.length>1,o=r.isAjaxUpload,v,f,e=a?i.originalEvent.dataTransfer.files:h.get(0).files,y=r.filestack.length,b=t.isEmpty(h.attr("multiple")),p=b&&y>0,c=0,w=r._getFileIds(),k=function(t,i,u,f){var o=n.extend(!0,{},r._getOutData({},{},e),{id:u,index:f}),s={id:u,index:f,file:i,files:e};return r.isAjaxUpload?r._showUploadError(t,o):r._showError(t,s)};if(r.reader=null,r._resetUpload(),r._hideFileIcon(),r.isAjaxUpload&&r.$container.find(".file-drop-zone ."+r.dropZoneTitleClass).remove(),a?n.each(e,function(n,t){t&&!t.type&&t.size!==undefined&&t.size%4096==0?c++:r._filterDuplicate(t,u,w)}):(e=i.target&&i.target.files===undefined?i.target.value?[{name:i.target.value.replace(/^.+\\/,"")}]:[]:i.target.files||{},o?n.each(e,function(n,t){r._filterDuplicate(t,u,w)}):u=e),t.isEmpty(u)||u.length===0){o||r.clear();r._showFolderError(c);r._raise("fileselectnone");return}if(r._resetErrors(),f=u.length,s=r._getFileCount(r.isAjaxUpload?r.getFileStack().length+f:f),r.maxFileCount>0&&s>r.maxFileCount){if(!r.autoReplace||f>r.maxFileCount){v=r.autoReplace&&f>r.maxFileCount?f:s;l=r.msgFilesTooMany.replace("{m}",r.maxFileCount).replace("{n}",v);r.isError=k(l,null,null,null);r.$captionContainer.removeClass("icon-visible");r._setCaption("",!0);r.$container.removeClass("file-input-new file-input-ajax-new");return}s>r.maxFileCount&&r._resetPreviewThumbs(o)}else!o||p?(r._resetPreviewThumbs(!1),p&&r.clearStack()):o&&y===0&&(!r.previewCache.count()||r.overwriteInitial)&&r._resetPreviewThumbs(!0);r.isPreviewable?r._readFiles(u):r._updateFileDetails(1);r._showFolderError(c)},_abort:function(t){var i=this,r;return i.ajaxAborted&&typeof i.ajaxAborted=="object"&&i.ajaxAborted.message!==undefined?(r=n.extend(!0,{},i._getOutData(),t),r.abortData=i.ajaxAborted.data||{},r.abortMessage=i.ajaxAborted.message,i._setProgress(101,i.$progress,i.msgCancelled),i._showUploadError(i.ajaxAborted.message,r,"filecustomerror"),i.cancel(),!0):!1},_resetFileStack:function(){var i=this,r=0,u=[],f=[],e=[];i._getThumbs().each(function(){var o=n(this),h=o.attr("data-fileindex"),s=i.filestack[h],l=o.attr("id"),c;h!=="-1"&&h!==-1&&(s!==undefined?(u[r]=s,f[r]=i._getFileName(s),e[r]=i._getFileId(s),o.attr({id:i.previewInitId+"-"+r,"data-fileindex":r}),r++):(c="uploaded-"+t.uniqId(),o.attr({id:c,"data-fileindex":"-1"}),i.$preview.find("#zoom-"+l).attr("id","zoom-"+c)))});i.filestack=u;i.filenames=f;i.fileids=e},_isFileSelectionValid:function(n){var t=this;return(n=n||0,t.required&&!t.getFilesCount())?(t.$errorContainer.html(""),t._showUploadError(t.msgFileRequired),!1):t.minFileCount>0&&t._getFileCount(n)<t.minFileCount?(t._noFilesError({}),!1):!0},clearStack:function(){var n=this;return n.filestack=[],n.filenames=[],n.fileids=[],n.$element},updateStack:function(n,t){var i=this;return i.filestack[n]=t,i.filenames[n]=i._getFileName(t),i.fileids[n]=t&&i._getFileId(t)||null,i.$element},addToStack:function(n){var t=this;return t.filestack.push(n),t.filenames.push(t._getFileName(n)),t.fileids.push(t._getFileId(n)),t.$element},getFileStack:function(n){var t=this;return t.filestack.filter(function(t){return n?t!==undefined:t!==undefined&&t!==null})},getFilesCount:function(){var n=this,t=n.isAjaxUpload?n.getFileStack().length:n.$element.get(0).files.length;return n._getFileCount(t)},lock:function(){var n=this;return n._resetErrors(),n.disable(),n.showRemove&&n.$container.find(".fileinput-remove").hide(),n.showCancel&&n.$container.find(".fileinput-cancel").show(),n._raise("filelock",[n.filestack,n._getExtraData()]),n.$element},unlock:function(n){var t=this;return n===undefined&&(n=!0),t.enable(),t.showCancel&&t.$container.find(".fileinput-cancel").hide(),t.showRemove&&t.$container.find(".fileinput-remove").show(),n&&t._resetFileStack(),t._raise("fileunlock",[t.filestack,t._getExtraData()]),t.$element},cancel:function(){var t=this,r=t.ajaxRequests,u=r.length,i;if(u>0)for(i=0;i<u;i+=1)t.cancelling=!0,r[i].abort();return t._setProgressCancelled(),t._getThumbs().each(function(){var i=n(this),r=i.attr("data-fileindex");i.removeClass("file-uploading");t.filestack[r]!==undefined&&(i.find(".kv-file-upload").removeClass("disabled").removeAttr("disabled"),i.find(".kv-file-remove").removeClass("disabled").removeAttr("disabled"));t.unlock()}),t.$element},clear:function(){var i=this,r;if(i._raise("fileclear"))return i.$btnUpload.removeAttr("disabled"),i._getThumbs().find("video,audio,img").each(function(){t.cleanMemory(n(this))}),i._resetUpload(),i.clearStack(),i._clearFileInput(),i._resetErrors(!0),i._hasInitialPreview()?(i._showFileIcon(),i._resetPreview(),i._initPreviewActions(),i.$container.removeClass("file-input-new")):(i._getThumbs().each(function(){i._clearObjects(n(this))}),i.isAjaxUpload&&(i.previewCache.data={}),i.$preview.html(""),r=!i.overwriteInitial&&i.initialCaption.length>0?i.initialCaption:"",i.$caption.attr("title","").val(r),t.addCss(i.$container,"file-input-new"),i._validateDefaultPreview()),i.$container.find(t.FRAMES).length===0&&(i._initCaption()||i.$captionContainer.removeClass("icon-visible")),i._hideFileIcon(),i._raise("filecleared"),i.$captionContainer.focus(),i._setFileDropZoneTitle(),i.$element},reset:function(){var n=this;if(n._raise("filereset"))return n._resetPreview(),n.$container.find(".fileinput-filename").text(""),t.addCss(n.$container,"file-input-new"),(n.getFrames().length||n.isAjaxUpload&&n.dropZoneEnabled)&&n.$container.removeClass("file-input-new"),n.clearStack(),n.formdata={},n._setFileDropZoneTitle(),n.$element},disable:function(){var n=this;return n.isDisabled=!0,n._raise("filedisabled"),n.$element.attr("disabled","disabled"),n.$container.find(".kv-fileinput-caption").addClass("file-caption-disabled"),n.$container.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").attr("disabled",!0),t.addCss(n.$container.find(".btn-file"),"disabled"),n._initDragDrop(),n.$element},enable:function(){var n=this;return n.isDisabled=!1,n._raise("fileenabled"),n.$element.removeAttr("disabled"),n.$container.find(".kv-fileinput-caption").removeClass("file-caption-disabled"),n.$container.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").removeAttr("disabled"),n.$container.find(".btn-file").removeClass("disabled"),n._initDragDrop(),n.$element},upload:function(){var i=this,u=i.getFileStack().length,r,e,f,o=!n.isEmptyObject(i._getExtraData());if(i.isAjaxUpload&&!i.isDisabled&&i._isFileSelectionValid(u)){if(i._resetUpload(),u===0&&!o){i._showUploadError(i.msgUploadEmpty);return}if(i.$progress.show(),i.uploadCount=0,i.uploadStatus={},i.uploadLog=[],i.lock(),i._setProgress(2),u===0&&o){i._uploadExtraOnly();return}if(f=i.filestack.length,i.hasInitData=!1,i.uploadAsync){for(e=i._getOutData(),i._raise("filebatchpreupload",[e]),i.fileBatchCompleted=!1,i.uploadCache={content:[],config:[],tags:[],append:!0},i.uploadAsyncCount=i.getFileStack().length,r=0;r<f;r++)i.uploadCache.content[r]=null,i.uploadCache.config[r]=null,i.uploadCache.tags[r]=null;for(i.$preview.find(".file-preview-initial").removeClass(t.SORT_CSS),i._initSortable(),i.cacheInitialPreview=i.getPreview(),r=0;r<f;r++)i.filestack[r]&&i._uploadSingle(r,!0);return}return i._uploadBatch(),i.$element}},destroy:function(){var t=this,r=t.$form,u=t.$container,f=t.$element,i=t.namespace;return n(document).off(i),n(window).off(i),r&&r.length&&r.off(i),t.isAjaxUpload&&t._clearFileInput(),t._cleanup(),t._initPreviewCache(),f.insertBefore(u).off(i).removeData(),u.off().remove(),f},refresh:function(i,r){var u=this,f=u.$element;return i=typeof i!="object"||t.isEmpty(i)?u.options:n.extend(!0,{},u.options,i),u._init(i,!0),u._listen(),r&&f.trigger("change"+u.namespace),f},zoom:function(n){var i=this,u=i._getFrame(n),r=i.$modal;u&&(t.initModal(r),r.html(i._getModalContent()),i._setZoomContent(u),r.modal("show"),i._initZoomButtons())},getExif:function(n){var i=this,t=i._getFrame(n);return t&&t.data("exif")||null},getFrames:function(n){var i=this;return n=n||"",i.$preview.find(t.FRAMES+n)},getPreview:function(){var n=this;return{content:n.initialPreview,config:n.initialPreviewConfig,tags:n.initialPreviewThumbTags}}};n.fn.fileinput=function(r){if(t.hasFileAPISupport()||t.isIE(9)){var f=Array.apply(null,arguments),u=[];f.shift();this.each(function(){var e=n(this),o=e.data("fileinput"),s=typeof r=="object"&&r,c=s.theme||e.data("theme"),l={},a={},h=s.language||e.data("language")||n.fn.fileinput.defaults.language||"en",v;o||(c&&(a=n.fn.fileinputThemes[c]||{}),h==="en"||t.isEmpty(n.fn.fileinputLocales[h])||(l=n.fn.fileinputLocales[h]||{}),v=n.extend(!0,{},n.fn.fileinput.defaults,a,n.fn.fileinputLocales.en,l,s,e.data()),o=new i(this,v),e.data("fileinput",o));typeof r=="string"&&u.push(o[r].apply(o,f))});switch(u.length){case 0:return this;case 1:return u[0];default:return u}}};n.fn.fileinput.defaults={language:"en",showCaption:!0,showBrowse:!0,showPreview:!0,showRemove:!0,showUpload:!0,showCancel:!0,showClose:!0,showUploadedThumbs:!0,browseOnZoneClick:!1,autoReplace:!1,autoOrientImage:!0,required:!1,rtl:!1,hideThumbnailContent:!1,generateFileId:null,previewClass:"",captionClass:"",frameClass:"krajee-default",mainClass:"file-caption-main",mainTemplate:null,purifyHtml:!0,fileSizeGetter:null,initialCaption:"",initialPreview:[],initialPreviewDelimiter:"*$$*",initialPreviewAsData:!1,initialPreviewFileType:"image",initialPreviewConfig:[],initialPreviewThumbTags:[],previewThumbTags:{},initialPreviewShowDelete:!0,initialPreviewDownloadUrl:"",removeFromPreviewOnError:!1,deleteUrl:"",deleteExtraData:{},overwriteInitial:!0,previewZoomButtonIcons:{prev:'<i class="glyphicon glyphicon-triangle-left"><\/i>',next:'<i class="glyphicon glyphicon-triangle-right"><\/i>',toggleheader:'<i class="glyphicon glyphicon-resize-vertical"><\/i>',fullscreen:'<i class="glyphicon glyphicon-fullscreen"><\/i>',borderless:'<i class="glyphicon glyphicon-resize-full"><\/i>',close:'<i class="glyphicon glyphicon-remove"><\/i>'},previewZoomButtonClasses:{prev:"btn btn-navigate",next:"btn btn-navigate",toggleheader:"btn btn-kv btn-default btn-outline-secondary",fullscreen:"btn btn-kv btn-default btn-outline-secondary",borderless:"btn btn-kv btn-default btn-outline-secondary",close:"btn btn-kv btn-default btn-outline-secondary"},preferIconicPreview:!1,preferIconicZoomPreview:!1,allowedPreviewTypes:undefined,allowedPreviewMimeTypes:null,allowedFileTypes:null,allowedFileExtensions:null,defaultPreviewContent:null,customLayoutTags:{},customPreviewTags:{},previewFileIcon:'<i class="glyphicon glyphicon-file"><\/i>',previewFileIconClass:"file-other-icon",previewFileIconSettings:{},previewFileExtSettings:{},buttonLabelClass:"hidden-xs",browseIcon:'<i class="glyphicon glyphicon-folder-open"><\/i>&nbsp;',browseClass:"btn btn-primary",removeIcon:'<i class="glyphicon glyphicon-trash"><\/i>',removeClass:"btn btn-default btn-secondary",cancelIcon:'<i class="glyphicon glyphicon-ban-circle"><\/i>',cancelClass:"btn btn-default btn-secondary",uploadIcon:'<i class="glyphicon glyphicon-upload"><\/i>',uploadClass:"btn btn-default btn-secondary",uploadUrl:null,uploadUrlThumb:null,uploadAsync:!0,uploadExtraData:{},zoomModalHeight:480,minImageWidth:null,minImageHeight:null,maxImageWidth:null,maxImageHeight:null,resizeImage:!1,resizePreference:"width",resizeQuality:.92,resizeDefaultImageType:"image/jpeg",resizeIfSizeMoreThan:0,minFileSize:0,maxFileSize:0,maxFilePreviewSize:25600,minFileCount:0,maxFileCount:0,validateInitialCount:!1,msgValidationErrorClass:"text-danger",msgValidationErrorIcon:'<i class="glyphicon glyphicon-exclamation-sign"><\/i> ',msgErrorClass:"file-error-message",progressThumbClass:"progress-bar bg-success progress-bar-success progress-bar-striped active",progressClass:"progress-bar bg-success progress-bar-success progress-bar-striped active",progressCompleteClass:"progress-bar bg-success progress-bar-success",progressErrorClass:"progress-bar bg-danger progress-bar-danger",progressUploadThreshold:99,previewFileType:"image",elCaptionContainer:null,elCaptionText:null,elPreviewContainer:null,elPreviewImage:null,elPreviewStatus:null,elErrorContainer:null,errorCloseButton:'<button class="close kv-error-close">&times;<\/button>',slugCallback:null,dropZoneEnabled:!0,dropZoneTitleClass:"file-drop-zone-title",fileActionSettings:{},otherActionButtons:"",textEncoding:"UTF-8",ajaxSettings:{},ajaxDeleteSettings:{},showAjaxErrorDetails:!0,mergeAjaxCallbacks:!1,mergeAjaxDeleteCallbacks:!1,retryErrorUploads:!0};n.fn.fileinputLocales.en={fileSingle:"file",filePlural:"files",browseLabel:"Browse &hellip;",removeLabel:"Remove",removeTitle:"Clear selected files",cancelLabel:"Cancel",cancelTitle:"Abort ongoing upload",uploadLabel:"Upload",uploadTitle:"Upload selected files",msgNo:"No",msgNoFilesSelected:"No files selected",msgCancelled:"Cancelled",msgPlaceholder:"Select {files}...",msgZoomModalHeading:"Detailed Preview",msgFileRequired:"You must select a file to upload.",msgSizeTooSmall:'File "{name}" (<b>{size} KB<\/b>) is too small and must be larger than <b>{minSize} KB<\/b>.',msgSizeTooLarge:'File "{name}" (<b>{size} KB<\/b>) exceeds maximum allowed upload size of <b>{maxSize} KB<\/b>.',msgFilesTooLess:"You must select at least <b>{n}<\/b> {files} to upload.",msgFilesTooMany:"Number of files selected for upload <b>({n})<\/b> exceeds maximum allowed limit of <b>{m}<\/b>.",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",msgUploadEmpty:"No valid data available for upload.",msgUploadError:"Error",msgValidationError:"Validation Error",msgLoading:"Loading file {index} of {files} &hellip;",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.<pre>{errors}<\/pre>",msgAjaxError:"Something went wrong with the {operation} operation. Please try again later!",msgAjaxProgressError:"{operation} failed",ajaxOperations:{deleteThumb:"file delete",uploadThumb:"file upload",uploadBatch:"batch file upload",uploadExtra:"form data upload"},dropZoneTitle:"Drag & drop files here &hellip;",dropZoneClickTitle:"<br>(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"}};n.fn.fileinput.Constructor=i;n(document).ready(function(){var t=n("input.file[type=file]");t.length&&t.fileinput()})}),function(n){"use strict";n.fn.fileinputLocales.es={fileSingle:"archivo",filePlural:"archivos",browseLabel:"Examinar &hellip;",removeLabel:"Quitar",removeTitle:"Quitar archivos seleccionados",cancelLabel:"Cancelar",cancelTitle:"Abortar la subida en curso",uploadLabel:"Subir archivo",uploadTitle:"Subir archivos seleccionados",msgZoomTitle:"Ver detalles",msgZoomModalHeading:"Vista previa detallada",msgSizeTooLarge:'Archivo "{name}" (<b>{size} KB<\/b>) excede el tamaño máximo permitido de <b>{maxSize} KB<\/b>.',msgFilesTooLess:"Debe seleccionar al menos <b>{n}<\/b> {files} a cargar.",msgFilesTooMany:"El número de archivos seleccionados a cargar <b>({n})<\/b> excede el límite máximo permitido de <b>{m}<\/b>.",msgFileNotFound:'Archivo "{name}" no encontrado.',msgFileSecured:'No es posible acceder al archivo "{name}" porque estará siendo usado por otra aplicación o no tengamos permisos de lectura.',msgFileNotReadable:'No es posible acceder al archivo "{name}".',msgFilePreviewAborted:'Previsualización del archivo "{name}" cancelada.',msgFilePreviewError:'Ocurrió un error mientras se leía el archivo "{name}".',msgInvalidFileType:'Tipo de archivo no válido para "{name}". Sólo archivos "{types}" son permitidos.',msgInvalidFileExtension:'Extensión de archivo no válido para "{name}". Sólo archivos "{extensions}" son permitidos.',msgUploadAborted:"La carga de archivos se ha cancelado",msgValidationError:"Error al subir archivo",msgLoading:"Subiendo archivo {index} de {files} &hellip;",msgProgress:"Subiendo archivo {index} de {files} - {name} - {percent}% completado.",msgSelected:"{n} {files} seleccionado(s)",msgFoldersNotAllowed:"Arrastre y suelte únicamente archivos. Omitida(s) {n} carpeta(s).",msgImageWidthSmall:'El ancho de la imagen "{name}" debe ser al menos {size} px.',msgImageHeightSmall:'La altura de la imagen "{name}" debe ser al menos {size} px.',msgImageWidthLarge:'El ancho de la imagen "{name}" no puede exceder de {size} px.',msgImageHeightLarge:'La altura de la imagen "{name}" no puede exceder de {size} px.',msgImageResizeError:"No se pudo obtener las dimensiones de imagen para cambiar el tamaño.",msgImageResizeException:"Error al cambiar el tamaño de la imagen.<pre>{errors}<\/pre>",dropZoneTitle:"Arrastre y suelte aquí los archivos &hellip;",fileActionSettings:{removeTitle:"Eliminar archivo",uploadTitle:"Subir archivo",indicatorNewTitle:"No subido todavía",indicatorSuccessTitle:"Subido",indicatorErrorTitle:"Subir Error",indicatorLoadingTitle:"Subiendo ..."}}}(window.jQuery),function(n){"use strict";var t=typeof window=="undefined"?null:window;typeof define=="function"&&define.amd?define(function(){return n(t)}):typeof module!="undefined"?module.exports=n(t):t.DOMPurify=n(t)}(function factory(n){"use strict";var t=function(n){return factory(n)},l;if(t.version="0.7.4",!n||!n.document||n.document.nodeType!==9)return t.isSupported=!1,t;var r=n.document,w=r,b=n.DocumentFragment,wt=n.HTMLTemplateElement,c=n.NodeFilter,bt=n.NamedNodeMap||n.MozNamedAttrMap,kt=n.Text,dt=n.Comment,gt=n.DOMParser;typeof wt=="function"&&(l=r.createElement("template"),l.content&&l.content.ownerDocument&&(r=l.content.ownerDocument));var k=r.implementation,ni=r.createNodeIterator,ti=r.getElementsByTagName,ii=r.createDocumentFragment,ri=w.importNode,u={};t.isSupported=typeof k.createHTMLDocument!="undefined"&&r.documentMode!==9;var i=function(n,t){for(var i=t.length;i--;)typeof t[i]=="string"&&(t[i]=t[i].toLowerCase()),n[t[i]]=!0;return n},d=function(n){var i={},t;for(t in n)n.hasOwnProperty(t)&&(i[t]=n[t]);return i},e=null,g=i({},["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr","svg","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","switch","symbol","text","textpath","title","tref","tspan","view","vkern","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmuliscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mpspace","msqrt","mystyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","#text"]),o=null,nt=i({},["accept","action","align","alt","autocomplete","background","bgcolor","border","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","coords","datetime","default","dir","disabled","download","enctype","face","for","headers","height","hidden","high","href","hreflang","id","ismap","label","lang","list","loop","low","max","maxlength","media","method","min","multiple","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","rows","rowspan","spellcheck","scope","selected","shape","size","span","srclang","start","src","step","style","summary","tabindex","title","type","usemap","valign","value","width","xmlns","accent-height","accumulate","additivive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mode","min","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","surfacescale","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","u1","u2","unicode","values","viewbox","visibility","vert-adv-y","vert-origin-x","vert-origin-y","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","y","y1","y2","z","zoomandpan","accent","accentunder","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","display","displaystyle","fence","frame","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),tt=null,it=null,v=!0,rt=!1,ut=!1,a=!1,ft=/\{\{[\s\S]*|[\s\S]*\}\}/gm,et=/<%[\s\S]*|[\s\S]*%>/gm,s=!1,h=!1,y=!1,ot=!1,st=!0,p=!0,ui=i({},["audio","head","math","script","style","svg","video"]),fi=i({},["audio","video","img","source"]),ei=i({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),ht=null,oi=r.createElement("form"),si=function(n){typeof n!="object"&&(n={});e="ALLOWED_TAGS"in n?i({},n.ALLOWED_TAGS):g;o="ALLOWED_ATTR"in n?i({},n.ALLOWED_ATTR):nt;tt="FORBID_TAGS"in n?i({},n.FORBID_TAGS):{};it="FORBID_ATTR"in n?i({},n.FORBID_ATTR):{};v=n.ALLOW_DATA_ATTR!==!1;rt=n.ALLOW_UNKNOWN_PROTOCOLS||!1;ut=n.SAFE_FOR_JQUERY||!1;a=n.SAFE_FOR_TEMPLATES||!1;s=n.WHOLE_DOCUMENT||!1;h=n.RETURN_DOM||!1;y=n.RETURN_DOM_FRAGMENT||!1;ot=n.RETURN_DOM_IMPORT||!1;st=n.SANITIZE_DOM!==!1;p=n.KEEP_CONTENT!==!1;a&&(v=!1);y&&(h=!0);n.ADD_TAGS&&(e===g&&(e=d(e)),i(e,n.ADD_TAGS));n.ADD_ATTR&&(o===nt&&(o=d(o)),i(o,n.ADD_ATTR));p&&(e["#text"]=!0);Object&&"freeze"in Object&&Object.freeze(n);ht=n},ct=function(n){try{n.parentNode.removeChild(n)}catch(t){n.outerHTML=""}},hi=function(n){var t,i;try{t=(new gt).parseFromString(n,"text/html")}catch(r){}return(t||(t=k.createHTMLDocument(""),i=t.body,i.parentNode.removeChild(i.parentNode.firstElementChild),i.outerHTML=n),typeof t.getElementsByTagName=="function")?t.getElementsByTagName(s?"html":"body")[0]:ti.call(t,s?"html":"body")[0]},lt=function(n){return ni.call(n.ownerDocument||n,n,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,function(){return c.FILTER_ACCEPT},!1)},ci=function(n){return n instanceof kt||n instanceof dt?!1:typeof n.nodeName!="string"||typeof n.textContent!="string"||typeof n.removeChild!="function"||!(n.attributes instanceof bt)||typeof n.removeAttribute!="function"||typeof n.setAttribute!="function"?!0:!1},at=function(n){var i,t;if(f("beforeSanitizeElements",n,null),ci(n))return ct(n),!0;if(i=n.nodeName.toLowerCase(),f("uponSanitizeElement",n,{tagName:i}),!e[i]||tt[i]){if(p&&!ui[i]&&typeof n.insertAdjacentHTML=="function")try{n.insertAdjacentHTML("AfterEnd",n.innerHTML)}catch(r){}return ct(n),!0}return!ut||n.firstElementChild||n.content&&n.content.firstElementChild||(n.innerHTML=n.textContent.replace(/</g,"&lt;")),a&&n.nodeType===3&&(t=n.textContent,t=t.replace(ft," "),t=t.replace(et," "),n.textContent=t),f("afterSanitizeElements",n,null),!1},li=/^data-[\w.\u00B7-\uFFFF-]/,ai=/^(?:(?:(?:f|ht)tps?|mailto|tel):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,vi=/^(?:\w+script|data):/i,vt=/[\x00-\x20\xA0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,yt=function(t){var l,s,i,u,y,e,h,c;if(f("beforeSanitizeAttributes",t,null),e=t.attributes,e){for(h={attrName:"",attrValue:"",keepAttr:!0},c=e.length;c--;)if((l=e[c],s=l.name,i=l.value,u=s.toLowerCase(),h.attrName=u,h.attrValue=i,h.keepAttr=!0,f("uponSanitizeAttribute",t,h),i=h.attrValue,u==="name"&&t.nodeName==="IMG"&&e.id?(y=e.id,e=Array.prototype.slice.apply(e),t.removeAttribute("id"),t.removeAttribute(s),e.indexOf(y)>c&&t.setAttribute("id",y.value)):(s==="id"&&t.setAttribute(s,""),t.removeAttribute(s)),h.keepAttr)&&(!st||u!=="id"&&u!=="name"||!(i in n||i in r||i in oi))&&(a&&(i=i.replace(ft," "),i=i.replace(et," ")),o[u]&&!it[u]&&(ei[u]||ai.test(i.replace(vt,""))||u==="src"&&i.indexOf("data:")===0&&fi[t.nodeName.toLowerCase()])||v&&li.test(u)||rt&&!vi.test(i.replace(vt,""))))try{t.setAttribute(s,i)}catch(p){}f("afterSanitizeAttributes",t,null)}},pt=function(n){var t,i=lt(n);for(f("beforeSanitizeShadowDOM",n,null);t=i.nextNode();)(f("uponSanitizeShadowNode",t,null),at(t))||(t.content instanceof b&&pt(t.content),yt(t));f("afterSanitizeShadowDOM",n,null)},f=function(n,i,r){u[n]&&u[n].forEach(function(n){n.call(t,i,r,ht)})};return t.sanitize=function(i,r){var u,f,o,c,e;if(i||(i=""),typeof i!="string")if(typeof i.toString!="function")throw new TypeError("toString is not a function");else i=i.toString();if(!t.isSupported)return typeof n.toStaticHTML=="object"||typeof n.toStaticHTML=="function"?n.toStaticHTML(i):i;if(si(r),!h&&!s&&i.indexOf("<")===-1)return i;if(u=hi(i),!u)return h?null:"";for(c=lt(u);f=c.nextNode();)(f.nodeType!==3||f!==o)&&(at(f)||(f.content instanceof b&&pt(f.content),yt(f),o=f));if(h){if(y)for(e=ii.call(u.ownerDocument);u.firstChild;)e.appendChild(u.firstChild);else e=u;return ot&&(e=ri.call(w,e,!0)),e}return s?u.outerHTML:u.innerHTML},t.addHook=function(n,t){typeof t=="function"&&(u[n]=u[n]||[],u[n].push(t))},t.removeHook=function(n){u[n]&&u[n].pop()},t.removeHooks=function(n){u[n]&&(u[n]=[])},t.removeAllHooks=function(){u=[]},t}),function(n){"use strict";typeof define=="function"&&define.amd?define(n):typeof module!="undefined"&&typeof module.exports!="undefined"?module.exports=n():window.KvSortable=n()}(function(){"use strict";function h(n,t){var f,u,i;if(!(n&&n.nodeType&&n.nodeType===1))throw"KvSortable: `el` must be HTMLElement, and not "+{}.toString.call(n);this.el=n;this.options=t=oi({},t);n[g]=this;f={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(n.nodeName)?"li":">*",ghostClass:"kvsortable-ghost",chosenClass:"kvsortable-chosen",dragClass:"kvsortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,setData:function(n,t){n.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,forceFallback:!1,fallbackClass:"kvsortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0}};for(u in f)u in t||(t[u]=f[u]);ti(t);for(i in this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this));this.nativeDraggable=t.forceFallback?!1:ci;r(n,"mousedown",this._onTapStart);r(n,"touchstart",this._onTapStart);r(n,"pointerdown",this._onTapStart);this.nativeDraggable&&(r(n,"dragover",this),r(n,"dragenter",this));rt.push(this._onDragOver);t.store&&this.sort(t.store.get(this))}function bt(i,r){i.lastPullMode!=="clone"&&(r=!0);o&&o.state!==r&&(u(o,"display",r?"none":""),r||o.state&&(i.options.group.revertClone?(t.insertBefore(o,nt),i._animate(n,o)):t.insertBefore(o,n)),o.state=r)}function k(n,t,i){if(n){i=i||f;do if(t===">*"&&n.parentNode===i||fi(n,t))return n;while(n=vi(n))}return null}function vi(n){var t=n.host;return t&&t.nodeType?t:n.parentNode}function yi(n){n.dataTransfer&&(n.dataTransfer.dropEffect="move");n.preventDefault()}function r(n,t,i){n.addEventListener(t,i,yt)}function e(n,t,i){n.removeEventListener(t,i,yt)}function y(n,t,i){if(n)if(n.classList)n.classList[i?"add":"remove"](t);else{var r=(" "+n.className+" ").replace(kt," ").replace(" "+t+" "," ");n.className=(r+(i?" "+t:"")).replace(kt," ")}}function u(n,t,i){var r=n&&n.style;if(r){if(i===void 0)return f.defaultView&&f.defaultView.getComputedStyle?i=f.defaultView.getComputedStyle(n,""):n.currentStyle&&(i=n.currentStyle),t===void 0?i:i[t];t in r||(t="-webkit-"+t);r[t]=i+(typeof i=="string"?"":"px")}}function ii(n,t,i){if(n){var u=n.getElementsByTagName(t),r=0,f=u.length;if(i)for(;r<f;r++)i(u[r],r);return u}return[]}function l(n,t,i,r,u,e,s){n=n||t[g];var h=f.createEvent("Event"),c=n.options,l="on"+i.charAt(0).toUpperCase()+i.substr(1);h.initEvent(i,!0,!0);h.to=t;h.from=u||t;h.item=r||t;h.clone=o;h.oldIndex=e;h.newIndex=s;t.dispatchEvent(h);c[l]&&c[l].call(n,h)}function ri(n,t,i,r,u,e,o){var s,h=n[g],c=h.options.onMove,l;return s=f.createEvent("Event"),s.initEvent("move",!0,!0),s.to=t,s.from=n,s.dragged=i,s.draggedRect=r,s.related=u||t,s.relatedRect=e||t.getBoundingClientRect(),n.dispatchEvent(s),c&&(l=c.call(h,s,o)),l}function ui(n){n.draggable=!1}function pi(){pt=!1}function wi(n,t){var r=n.lastElementChild,i=r.getBoundingClientRect();return(t.clientY-(i.top+i.height)>5||t.clientX-(i.right+i.width)>5)&&r}function bi(n){for(var t=n.tagName+n.className+n.src+n.href+n.textContent,i=t.length,r=0;i--;)r+=t.charCodeAt(i);return r.toString(36)}function ot(n,t){var i=0;if(!n||!n.parentNode)return-1;while(n&&(n=n.previousElementSibling))n.nodeName.toUpperCase()!=="TEMPLATE"&&(t===">*"||fi(n,t))&&i++;return i}function fi(n,t){if(n){t=t.split(".");var i=t.shift().toUpperCase(),r=new RegExp("\\s("+t.join("|")+")(?=\\s)","g");return(i===""||n.nodeName.toUpperCase()==i)&&(!t.length||((" "+n.className+" ").match(r)||[]).length==t.length)}return!1}function ei(n,t){var i,r;return function(){i===void 0&&(i=arguments,r=this,setTimeout(function(){i.length===1?n.call(r,i[0]):n.apply(r,i);i=void 0},t))}}function oi(n,t){if(n&&t)for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);return n}function si(n){return gt?gt(n).clone(!0)[0]:vt&&vt.dom?vt.dom(n).cloneNode(!0):n.cloneNode(!0)}function ki(n){for(var i=n.getElementsByTagName("input"),r=i.length,t;r--;)t=i[r],t.checked&&wt.push(t)}if(typeof window=="undefined"||!window.document)return function(){throw new Error("KvSortable.js requires a window with a document");};var n,w,i,o,t,nt,st,c,ht,ct,lt,ut,at,a,s,it,ft,b={},d,v,et,kt=/\s+/g,hi=/left|right|inline/,g="KvSortable"+(new Date).getTime(),p=window,f=p.document,dt=p.parseInt,gt=p.jQuery||p.Zepto,vt=p.Polymer,yt=!1,ci=!!("draggable"in f.createElement("div")),ni=function(n){return!navigator.userAgent.match(/Trident.*rv[ :]?11\./)?(n=f.createElement("x"),n.style.cssText="pointer-events:auto",n.style.pointerEvents==="auto"):!1}(),pt=!1,tt=Math.abs,li=Math.min,wt=[],rt=[],ai=ei(function(n,t,i){if(i&&t.scroll){var y=i[g],r,o,u=t.scrollSensitivity,v=t.scrollSpeed,s=n.clientX,h=n.clientY,w=window.innerWidth,k=window.innerHeight,f,e,l,a;if(ht!==i&&(c=t.scroll,ht=i,ct=t.scrollFn,c===!0)){c=i;do if(c.offsetWidth<c.scrollWidth||c.offsetHeight<c.scrollHeight)break;while(c=c.parentNode)}c&&(r=c,o=c.getBoundingClientRect(),f=(tt(o.right-s)<=u)-(tt(o.left-s)<=u),e=(tt(o.bottom-h)<=u)-(tt(o.top-h)<=u));f||e||(f=(w-s<=u)-(s<=u),e=(k-h<=u)-(h<=u),(f||e)&&(r=p));(b.vx!==f||b.vy!==e||b.el!==r)&&(b.el=r,b.vx=f,b.vy=e,clearInterval(b.pid),r&&(b.pid=setInterval(function(){if(a=e?e*v:0,l=f?f*v:0,"function"==typeof ct)return ct.call(y,l,a,n);r===p?p.scrollTo(p.pageXOffset+l,p.pageYOffset+a):(r.scrollTop+=a,r.scrollLeft+=l)},24)))}},30),ti=function(n){function r(n,t){return(n===void 0||n===!0)&&(n=i.name),typeof n=="function"?n:function(i,r){var u=r.options.group.name;return t?n:n&&(n.join?n.indexOf(u)>-1:u==n)}}var i={},t=n.group;t&&typeof t=="object"||(t={name:t});i.name=t.name;i.checkPull=r(t.pull,!0);i.checkPut=r(t.put);i.revertClone=t.revertClone;n.group=i};h.prototype={constructor:h,_onTapStart:function(t){var s=this,u=this.el,r=this.options,h=r.preventOnFilter,a=t.type,c=t.touches&&t.touches[0],i=(c||t).target,o=t.target.shadowRoot&&t.path[0]||i,f=r.filter,e;if((ki(u),!n)&&(a!=="mousedown"||t.button===0)&&!r.disabled&&(i=k(i,r.draggable,u),i)&&st!==i){if(e=ot(i,r.draggable),typeof f=="function"){if(f.call(this,t,i,this)){l(s,o,"filter",i,u,e);h&&t.preventDefault();return}}else if(f&&(f=f.split(",").some(function(n){return n=k(o,n.trim(),u),n?(l(s,n,"filter",i,u,e),!0):void 0}),f)){h&&t.preventDefault();return}(!r.handle||k(o,r.handle,u))&&this._prepareDragStart(t,c,i,e)}},_prepareDragStart:function(i,u,f,e){var o=this,c=o.el,h=o.options,s=c.ownerDocument,v;f&&!n&&f.parentNode===c&&(d=i,t=c,n=f,w=n.parentNode,nt=n.nextSibling,st=f,it=h.group,a=e,this._lastX=(u||i).clientX,this._lastY=(u||i).clientY,n.style["will-change"]="transform",v=function(){o._disableDelayedDrag();n.draggable=o.nativeDraggable;y(n,h.chosenClass,!0);o._triggerDragStart(i,u);l(o,t,"choose",n,t,a)},h.ignore.split(",").forEach(function(t){ii(n,t.trim(),ui)}),r(s,"mouseup",o._onDrop),r(s,"touchend",o._onDrop),r(s,"touchcancel",o._onDrop),r(s,"pointercancel",o._onDrop),r(s,"selectstart",o),h.delay?(r(s,"mouseup",o._disableDelayedDrag),r(s,"touchend",o._disableDelayedDrag),r(s,"touchcancel",o._disableDelayedDrag),r(s,"mousemove",o._disableDelayedDrag),r(s,"touchmove",o._disableDelayedDrag),r(s,"pointermove",o._disableDelayedDrag),o._dragStartTimer=setTimeout(v,h.delay)):v())},_disableDelayedDrag:function(){var n=this.el.ownerDocument;clearTimeout(this._dragStartTimer);e(n,"mouseup",this._disableDelayedDrag);e(n,"touchend",this._disableDelayedDrag);e(n,"touchcancel",this._disableDelayedDrag);e(n,"mousemove",this._disableDelayedDrag);e(n,"touchmove",this._disableDelayedDrag);e(n,"pointermove",this._disableDelayedDrag)},_triggerDragStart:function(i,u){u=u||(i.pointerType=="touch"?i:null);u?(d={target:n,clientX:u.clientX,clientY:u.clientY},this._onDragStart(d,"touch")):this.nativeDraggable?(r(n,"dragend",this),r(t,"dragstart",this._onDragStart)):this._onDragStart(d,!0);try{f.selection?setTimeout(function(){f.selection.empty()}):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(){if(t&&n){var i=this.options;y(n,i.ghostClass,!0);y(n,i.dragClass,!1);h.active=this;l(this,t,"start",n,t,a)}else this._nulling()},_emulateDragOver:function(){if(v){if(this._lastX===v.clientX&&this._lastY===v.clientY)return;this._lastX=v.clientX;this._lastY=v.clientY;ni||u(i,"display","none");var t=f.elementFromPoint(v.clientX,v.clientY),n=t,r=rt.length;if(n)do{if(n[g]){while(r--)rt[r]({clientX:v.clientX,clientY:v.clientY,target:t,rootEl:n});break}t=n}while(n=n.parentNode);ni||u(i,"display","")}},_onTouchMove:function(n){if(d){var f=this.options,e=f.fallbackTolerance,o=f.fallbackOffset,t=n.touches?n.touches[0]:n,s=t.clientX-d.clientX+o.x,c=t.clientY-d.clientY+o.y,r=n.touches?"translate3d("+s+"px,"+c+"px,0)":"translate("+s+"px,"+c+"px)";if(!h.active){if(e&&li(tt(t.clientX-this._lastX),tt(t.clientY-this._lastY))<e)return;this._dragStarted()}this._appendGhost();et=!0;v=t;u(i,"webkitTransform",r);u(i,"mozTransform",r);u(i,"msTransform",r);u(i,"transform",r);n.preventDefault()}},_appendGhost:function(){if(!i){var r=n.getBoundingClientRect(),s=u(n),e=this.options,o;i=n.cloneNode(!0);y(i,e.ghostClass,!1);y(i,e.fallbackClass,!0);y(i,e.dragClass,!0);u(i,"top",r.top-dt(s.marginTop,10));u(i,"left",r.left-dt(s.marginLeft,10));u(i,"width",r.width);u(i,"height",r.height);u(i,"opacity","0.8");u(i,"position","fixed");u(i,"zIndex","100000");u(i,"pointerEvents","none");e.fallbackOnBody&&f.body.appendChild(i)||t.appendChild(i);o=i.getBoundingClientRect();u(i,"width",r.width*2-o.width);u(i,"height",r.height*2-o.height)}},_onDragStart:function(i,e){var s=i.dataTransfer,h=this.options;this._offUpEvents();it.checkPull(this,this,n,i)&&(o=si(n),o.draggable=!1,o.style["will-change"]="",u(o,"display","none"),y(o,this.options.chosenClass,!1),t.insertBefore(o,n),l(this,t,"clone",n));y(n,h.dragClass,!0);e?(e==="touch"?(r(f,"touchmove",this._onTouchMove),r(f,"touchend",this._onDrop),r(f,"touchcancel",this._onDrop),r(f,"pointermove",this._onTouchMove),r(f,"pointerup",this._onDrop)):(r(f,"mousemove",this._onTouchMove),r(f,"mouseup",this._onDrop)),this._loopId=setInterval(this._emulateDragOver,50)):(s&&(s.effectAllowed="move",h.setData&&h.setData.call(this,s,n)),r(f,"drop",this),setTimeout(this._dragStarted,0))},_onDragOver:function(r){var s=this.el,f,a,e,rt,l=this.options,ot=l.group,c=h.active,p=it===ot,st=!1,ht=l.sort,d,tt;if((r.preventDefault!==void 0&&(r.preventDefault(),l.dragoverBubble||r.stopPropagation()),!n.animated)&&(et=!0,c&&!l.disabled&&(p?ht||(rt=!t.contains(n)):ft===this||(c.lastPullMode=it.checkPull(this,c,n,r))&&ot.checkPut(this,c,n,r))&&(r.rootEl===void 0||r.rootEl===this.el))){if(ai(r,l,this.el),pt)return;if(f=k(r.target,l.draggable,s),a=n.getBoundingClientRect(),ft!==this&&(ft=this,st=!0),rt){bt(c,!0);w=t;o||nt?t.insertBefore(n,o||nt):ht||t.appendChild(n);return}if(s.children.length===0||s.children[0]===i||s===r.target&&(f=wi(s,r))){if(f){if(f.animated)return;e=f.getBoundingClientRect()}bt(c,p);ri(t,s,n,a,f,e,r)!==!1&&(n.contains(s)||(s.appendChild(n),w=s),this._animate(a,n),f&&this._animate(e,f))}else if(f&&!f.animated&&f!==n&&f.parentNode[g]!==void 0){lt!==f&&(lt=f,ut=u(f),at=u(f.parentNode));e=f.getBoundingClientRect();var dt=e.right-e.left,ct=e.bottom-e.top,vt=hi.test(ut.cssFloat+ut.display)||at.display=="flex"&&at["flex-direction"].indexOf("row")===0,yt=f.offsetWidth>n.offsetWidth,wt=f.offsetHeight>n.offsetHeight,kt=(vt?(r.clientX-e.left)/dt:(r.clientY-e.top)/ct)>.5,b=f.nextElementSibling,y=ri(t,s,n,a,f,e,r),v=!1;y!==!1&&(pt=!0,setTimeout(pi,30),bt(c,p),y===1||y===-1?v=y===1:vt?(d=n.offsetTop,tt=f.offsetTop,v=d===tt?f.previousElementSibling===n&&!yt||kt&&yt:f.previousElementSibling===n||n.previousElementSibling===f?(r.clientY-e.top)/ct>.5:tt>d):st||(v=b!==n&&!wt||kt&&wt),n.contains(s)||(v&&!b?s.appendChild(n):f.parentNode.insertBefore(n,v?b:f)),w=n.parentNode,this._animate(a,n),this._animate(e,f))}}},_animate:function(n,t){var i=this.options.animation,r;i&&(r=t.getBoundingClientRect(),n.nodeType===1&&(n=n.getBoundingClientRect()),u(t,"transition","none"),u(t,"transform","translate3d("+(n.left-r.left)+"px,"+(n.top-r.top)+"px,0)"),t.offsetWidth,u(t,"transition","all "+i+"ms"),u(t,"transform","translate3d(0,0,0)"),clearTimeout(t.animated),t.animated=setTimeout(function(){u(t,"transition","");u(t,"transform","");t.animated=!1},i))},_offUpEvents:function(){var n=this.el.ownerDocument;e(f,"touchmove",this._onTouchMove);e(f,"pointermove",this._onTouchMove);e(n,"mouseup",this._onDrop);e(n,"touchend",this._onDrop);e(n,"pointerup",this._onDrop);e(n,"touchcancel",this._onDrop);e(n,"selectstart",this)},_onDrop:function(r){var c=this.el,u=this.options;clearInterval(this._loopId);clearInterval(b.pid);clearTimeout(this._dragStartTimer);e(f,"mousemove",this._onTouchMove);this.nativeDraggable&&(e(f,"drop",this),e(c,"dragstart",this._onDragStart));this._offUpEvents();r&&(et&&(r.preventDefault(),u.dropBubble||r.stopPropagation()),i&&i.parentNode.removeChild(i),(t===w||h.active.lastPullMode!=="clone")&&o&&o.parentNode.removeChild(o),n&&(this.nativeDraggable&&e(n,"dragend",this),ui(n),n.style["will-change"]="",y(n,this.options.ghostClass,!1),y(n,this.options.chosenClass,!1),t!==w?(s=ot(n,u.draggable),s>=0&&(l(null,w,"add",n,t,a,s),l(this,t,"remove",n,t,a,s),l(null,w,"sort",n,t,a,s),l(this,t,"sort",n,t,a,s))):n.nextSibling!==nt&&(s=ot(n,u.draggable),s>=0&&(l(this,t,"update",n,t,a,s),l(this,t,"sort",n,t,a,s))),h.active&&((s==null||s===-1)&&(s=a),l(this,t,"end",n,t,a,s),this.save())));this._nulling()},_nulling:function(){t=n=w=i=nt=o=st=c=ht=d=v=et=s=lt=ut=ft=it=h.active=null;wt.forEach(function(n){n.checked=!0});wt.length=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragover":case"dragenter":n&&(this._onDragOver(t),yi(t));break;case"selectstart":t.preventDefault()}},toArray:function(){for(var i=[],n,r=this.el.children,t=0,f=r.length,u=this.options;t<f;t++)n=r[t],k(n,u.draggable,this.el)&&i.push(n.getAttribute(u.dataIdAttr)||bi(n));return i},sort:function(n){var t={},i=this.el;this.toArray().forEach(function(n,r){var u=i.children[r];k(u,this.options.draggable,i)&&(t[n]=u)},this);n.forEach(function(n){t[n]&&(i.removeChild(t[n]),i.appendChild(t[n]))})},save:function(){var n=this.options.store;n&&n.set(this)},closest:function(n,t){return k(n,t||this.options.draggable,this.el)},option:function(n,t){var i=this.options;if(t===void 0)return i[n];i[n]=t;n==="group"&&ti(i)},destroy:function(){var n=this.el;n[g]=null;e(n,"mousedown",this._onTapStart);e(n,"touchstart",this._onTapStart);e(n,"pointerdown",this._onTapStart);this.nativeDraggable&&(e(n,"dragover",this),e(n,"dragenter",this));Array.prototype.forEach.call(n.querySelectorAll("[draggable]"),function(n){n.removeAttribute("draggable")});rt.splice(rt.indexOf(this._onDragOver),1);this._onDrop();this.el=n=null}};r(f,"touchmove",function(n){h.active&&n.preventDefault()});try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){yt={capture:!1,passive:!1}}}))}catch(gi){}return h.utils={on:r,off:e,css:u,find:ii,is:function(n,t){return!!k(n,t,n)},extend:oi,throttle:ei,closest:k,toggleClass:y,clone:si,index:ot},h.create=function(n,t){return new h(n,t)},h.version="1.5.1",h}),function(n){"use strict";typeof define=="function"&&define.amd?define(["jquery"],n):n(jQuery)}(function(n){"use strict";n.fn.kvsortable=function(t){var i,r=arguments;return this.each(function(){var f=n(this),u=f.data("kvsortable");!u&&(t instanceof Object||!t)&&(u=new KvSortable(this,t),f.data("kvsortable",u));u&&(t==="widget"?i=u:t==="destroy"?(u.destroy(),f.removeData("kvsortable")):typeof u[t]=="function"?i=u[t].apply(u,[].slice.call(r,1)):t in u.options&&(i=u.option.apply(u,r)))}),i===void 0?this:i}})