function viewfullsite(){var t=document.getElementById("view-full").className,n;url=window.location.origin+visionOptions.virtualApplicationPath+"/Shared/ViewFullSite";n=t=="mobile_only fullsite"?"no":"yes";$.frontendAjax({url:url,type:"POST",data:{value:n},success:function(t){t&&t.success&&($("head meta[name=viewport]").attr("content",n=="no"?"width=980":"width=device-width"),n=="yes"?$("#view-full").addClass("mobile_only fullsite").text("View Full Site"):$("#view-full").removeClass("mobile_only fullsite").text("View Mobile Optimized"))}})}function RedirectAfterDropDownListSelectedChanged(n){var t=$(n[n.selectedIndex]).attr("data-url");t=$("<div/>").html(t).text();window.location.href=t}function Pager(n){this.totalCount=n.totalCount;this.pageSize=n.pageSize;this.pagerName=n.pagerName;this.currentPage=n.currentPage;this.pagerContainer=n.pagerContainer;this.pages=0;this.inited=!1;Pager.Manager._allPagers.push(this);this.showRecords=n.showRecordsHtml;this.showPage=function(n){this.moveToCurrentPage(n);this.showRecords(n);this.showPageNav()};this.moveToCurrentPage=function(n){if(!this.inited){alert(Vision.Resources.UI_Common_Paging_NotInitializedError);return}var t=$("#"+this.pagerName+"pg"+this.currentPage).attr("class","pg-normal");this.currentPage=n;$("#"+this.pagerName+"pg"+this.currentPage).attr("class","pg-selected")};this.prev=function(){this.currentPage>1&&this.showPage(this.currentPage-1)};this.next=function(){this.currentPage<this.pages&&this.showPage(this.currentPage+1)};this.init=function(){var n=this.totalCount;this.pages=Math.ceil(n/this.pageSize);this.inited=!0;this.showPageNav()};this.showPageNav=function(){var i,t,n,r;if(!this.inited){alert(Vision.Resources.UI_Common_Paging_NotInitializedError);return}if(this.pages>0){for(i=$(this.pagerContainer),t="<a "+(this.currentPage>1?"onclick=\"Pager.Manager.getPager('"+this.pagerName+"').prev();\"":"")+' class="'+(this.currentPage>1?"pg-normal":"disabled")+' pg-button">'+Vision.Resources.UI_Common_Paging_PrevButtonText+"<\/a> | ",n=1;n<=this.pages;n++)r=n==this.currentPage?"":"Pager.Manager.getPager('"+this.pagerName+"').showPage("+n+");",t+='<a id="'+this.pagerName+"pg"+n+'" class="pg-normal" onclick="'+r+'">'+n+"<\/a> | ";t+="<a "+(this.currentPage<this.pages?"onclick=\"Pager.Manager.getPager('"+this.pagerName+"').next();\"":"")+' class="'+(this.currentPage<this.pages?"pg-normal":"disabled")+' pg-button"> '+Vision.Resources.UI_Common_Paging_NextButtonText+"<\/a>";i.html(t);this.moveToCurrentPage(this.currentPage)}}}function visionViewState(n){this._conatiner=$(n.conatiner);this._data=$.parseJSON($(n.conatiner).val());this.data=function(n,t){if(t==null)return this._data[n];this._data[n]=t;$(this._conatiner).val(JSON.stringify(this._data))}}function onEditorClientPasteHtml(n,t){var r=t.get_commandName(),i,u,f;r=="LinkManager"?(i=t.get_value(),i=i.replace("class=ApplyClass",""),i=i.replace('class="ApplyClass"',""),t.set_value(i)):"InsertTable"==r||"TableWizard"==r?(u=t.get_value(),u=u.replace("<table>",'<table style="width:100%;">'),t.set_value(u)):"ImageManager"==r&&(f=t.get_value(),f=f.replace('style=""','style="margin:15px;"'),t.set_value(f))}function onEditorClientCommandExecuting(n,t){var i=t.get_name(),r,u,f;i=="InsertCustomLink"?n.get_html()=="<P>&nbsp;<\/P>"&&n.set_html(""):i=="Help"?(r=$.vision().buildPath("Admin/Components/Shared/ShowOnlineReference?appRelativeUrl=~%2FEditorTool"),u={title:"",url:r,useFrame:!1,onClosed:function(){return}},$.viClientDialog(u).open(),t.set_cancel(!0)):i=="WCAG"?(r=$.vision().buildPath("Admin/Components/Shared/ShowOnlineReference?appRelativeUrl=~%2FWCAG"),u={title:"",url:r,useFrame:!1,onClosed:function(){return}},$.viClientDialog(u).open(),t.set_cancel(!0)):i.indexOf("CustomizedHTMLCommand_")>=0?(n.setFocus(),f=t.get_value(),n.pasteHtml(f),t.set_cancel(!0)):(i=="ImageManager"||i=="DocumentManager"||i=="LinkManager")&&n.setFocus()}function onEditorClientCommandExecuted(n,t){var r=t.get_commandName(),i;r==="ApplyClass"&&(i=n.get_html(),i=i.replace(/<font([\w\s\-"'=]+)>([\w\s,.&;%@#$()+\-\*\/?~|\\'"`]*)<\/font>/ig,"<span$1>$2<\/span>"),n.set_html(i))}function onEditorShowDialog(n){var r=this,t=$("#"+r._element.id).getZIndex(),e=$(".RadWindow.rwNormalWindow.rwTransparentWindow"),u="RadWindowWrapper_"+r._element.id+"_dialogOpener"+n,f=$(".RadWindow.rwNormalWindow.rwTransparentWindow#"+u),i;$(e).each(function(n,i){var r=$(i).getZIndex();$(i).attr("id")!=u&&r>t&&(t=r)});i=$("div.TelerikModalOverlay");i.is(":visible")&&i.css("z-index",t+1);f.length>0&&f.css({"z-index":t+2})}function onEditorClientLoad(n){var u=$(n.get_element()).closest("form"),t,i,f,r,e,o,s,h;if(u.attr("data-has-editor","true"),t=u.scope(),i=u.attr("name"),t&&i&&n.attachEventHandler("onkeyup",function(){var r=$(n._element).parent().find("[data-editor-id]").attr("name"),u;r&&(u=maskTextToStore(n.get_html(!0)),t.$apply(function(){t[i][r].$setViewValue(u);t[i][r].$setDirty(!0);t[i][r].$setTouched(!0)}))}),n._contentHiddenTextarea&&$(n._contentHiddenTextarea).addClass("radeditor-textarea"),f=n.get_contentArea(),$(f).attr("radeditorbody",""),($telerik.isChrome||$telerik.isSafari)&&$telerik.addExternalHandler(f,"click",function(t){t.srcElement.tagName=="IMG"&&n.selectElement(t.srcElement)}),r=$(n._element).closest("div.simple_editor"),r.length>0&&!r.hasClass("allow_applay_class")&&(e=r.find("ul.reToolbar").find("span.ApplyClass"),o=e.closest("li"),e&&o&&o.hide()),n.showDialog&&(s=n.showDialog,n.showDialog=function(t,i,r){s.call(n,t,i,r);onEditorShowDialog.call(n,t,i)}),n.add_toggleScreenMode(function(){var t=$("#toppanel"),i=n.get_element();n._isFullScreen?($(".vi-mask").hide(),$("nav#header_nav").hide(),t.length!=0&&(t.data("isRadEditorFullScreen",!0),t.removeClass("sticky"))):($(".vi-mask").show(),$("nav#header_nav").show(),t.length!=0&&t.data("isRadEditorFullScreen",!1));$(i).find("iframe").height("100%")}),h=n._isInInlineEditMode(),h){n._contentArea.setAttribute("title","Click to add/edit content.");var c=function(n){n.preventDefault()},a=n._addInlineEditorSelectedStyles,v=n._removeInlineEditorSelectedStyles;n._addInlineEditorSelectedStyles=function(){a.apply(this);$(this._contentArea).closest(".widget_wrapper").addClass("inlineEditorActive");$(this._contentArea).closest(".content_area").removeClass("empty_content_area_placeholder");setTimeout(function(){$("#WidgetTabControl").length!=0&&setInlineEditorToolBarPosition("#WidgetTabControl");$("#toppanel").length!=0&&setInlineEditorToolBarPosition("#toppanel")},200);parent&&parent.$("a[href]:not([href^='javascript']):not([href='#']):not(.reTool), .command").bind("click",c).attr("disabled","disabled")};n._removeInlineEditorSelectedStyles=function(){v.apply(this);$(this._contentArea).closest(".widget_wrapper").removeClass("inlineEditorActive");this.get_html(!0)||$(this._contentArea).closest(".content_area").addClass("empty_content_area_placeholder");parent&&parent.$("a[href]:not([href^='javascript']):not([href='#']):not(.reTool), .command").unbind("click",c).removeAttr("disabled")}}var y=null,l=(new Date).getTime(),p=function(){l=(new Date).getTime()+6e4;var n=$.vision?$.vision():$.frontendSessionManager?$.frontendSessionManager():null;n&&n.extendSessionTimeout(function(){})};n.attachEventHandler("onkeydown",function(){(new Date).getTime()>l&&(y=setTimeout(p,500))})}function setInlineEditorToolBarPosition(n){var i=$(n),t=$(".RadEditor.reToolbarWindow.reWrapper:visible"),r=$(".RadEditor.reWrapper.reInlineEditor.reInlineEditorSelected");if(t.length!=0&&r.length!=0){var u=i.length!=0?i.offset().top+i.outerHeight(!0):$(window).scrollTop(),f=r.offset().top-t.outerHeight(!0),e=f+r.outerHeight(!0);u<e&&(u>f?t.offset({top:u}):t.offset({top:f}))}}function resizeTelerik(n){n=n||"body";var t=$find($("div.RadEditor",n).attr("id")||"");t&&t._sizer.setContentElementHeight()}function maskTextToStore(n){var t=n,i,r,u,f;return(t=="<br />"||t=="<br/>"||t=="<br>")&&(t=""),i=/(src\s*=\s*["'])(?!(http[s]?:))[^'"]*?home\/showimage\s*(\?[^>\s]*)?([\?&])(id=\d*)(.*?)(["'])/gi,r="$1home/showimage?$5$7",t=t.replace(i,r),u=/(href\s*=\s*["'])(?!(http[s]?:))[^'"]*?home\/showdocument\s*(\?[^>\s]*)?([\?&])(id=\d*)(.*?)(["'])/gi,f="$1home/showdocument?$5$7",t.replace(u,f)}function visionManager(){}function CustomAjax(n){$.vision().customAjax(n)}function RefreshSelf(){$.vision().refresh()}function RedirectAfterSearchButtonClick(n){var i=$("[name='"+n+"']#"+n+""),t=i.attr("data-url"),u=i.closest("div.search_area"),r=[];u.find(".search_option").each(function(){var n=$(this).hasClass("hasPlaceholder")?"":$(this).val(),t=encodeURIComponent($(this).is("input[type='checkbox']")?$(this).prop("checked"):n);r.push({Key:$(this).attr("name"),Value:t})});t=t.indexOf("?")<0?t+"?":t+"&";$(r).each(function(n,i){t+=i.Key+"="+i.Value+"&"});t=t.substring(0,t.length-1);$.vision().refresh(t)}function ResetIDName(){$("ol.data_source_list li").each(function(n){$(this).find('input[modeltype="value"]').attr("name","Field.Setting.DataSource["+n+"].Value").attr("id","Field_Setting_DataSource_"+n+"__Value");$(this).find('input[modeltype="value"]').prev().attr("for","Field_Setting_DataSource_"+n+"__Value");$(this).find('input[modeltype="text"]').attr("name","Field.Setting.DataSource["+n+"].Text").attr("id","Field_Setting_DataSource_"+n+"__Text");$(this).find('input[modeltype="text"]').prev().attr("for","Field_Setting_DataSource_"+n+"__Text");$(this).find('input[modeltype="index"]').val(n)})}function disableTaskItemsInTaskList(){$(".task_settings_pane ol li.task_item").each(function(){var n=$(this).attr("data-task-item-id");$(".task_list").find("li.task[data-task-item-id='"+n+"']").length>0?$(this).hasClass("disabled")||$(this).addClass("disabled"):$(this).hasClass("disabled")&&$(this).removeClass("disabled")});setTimeout(function(){$("#toolbar").hasClass("closed")?$("a.tools").hide():$(".task_settings_pane>ol>li.task_item:not(.disabled)").length==0?($("a.tools").fadeOut(300),$(".task_settings_pane").slideUp(300)):$("a.tools:hidden")&&$("a.tools").fadeIn(300)},200)}function initTaskDragAndDrop(n,t,i,r){(disableTaskItemsInTaskList(),typeof $.prototype.dragDropSort!="undefined")&&$("#"+n).dragDropSort({draggableSource:".task_settings_pane>ol>li.task_item:not(.disabled)",draggableOptions:{appendTo:"#"+n},draggableDataAttrName:"data-vision-data",sortableSource:".task_list ul",sortableOptions:{items:"li.task",placeholder:"task_drag placeholder",appendTo:"parent"},sortableDataAttrName:"data-vision-data",getPreSortItemData:function(n){var t=n.closest("ul"),i=n.prev("li.task");return $.extend({},$.parseJSON(t.attr("data-vision-data")),$.parseJSON(i.attr("data-vision-data")))},onDragChanged:function(u,f,e,o){var s={PreOrder:u.Order,PreID:u.ID,ID:f.ID};$.vision().post(t,s,function(u){o();typeof u.IsOk!="undefined"&&u.IsOk?(refreshTasks(n,t,i,r),$.refreshTempMessage(u.Message)):$.refreshTempMessage(Vision.Resources.Admin_MyTask_DragNewTaskFailedError)},"JSON",function(){o();$.refreshTempMessage(Vision.Resources.Admin_MyTask_DragNewTaskFailedError)})},onSortChanged:function(u,f,e,o){var s={PreOrder:u.Order,PreID:u.ID,Order:f.Order,ID:f.ID};$.vision().post(i,s,function(u){o();typeof u.IsOk!="undefined"&&u.IsOk?(refreshTasks(n,t,i,r),$.refreshTempMessage(u.Message)):$.refreshTempMessage(Vision.Resources.Admin_MyTask_MoveTaskFailedError)},"JSON",function(){o();$.refreshTempMessage(Vision.Resources.Admin_MyTask_MoveTaskFailedError)})},onSortStart:function(n,t){$(t.item).is(".task")&&($("a.tools").hasClass("active")&&($("a.tools").removeClass("active"),$(".task_settings_pane").slideUp(200)),$(".toolbar-trash-area").show())},onSortStop:function(n,t){$(t.item).is(".task")&&$(".toolbar-trash-area").slideUp(200)}})}function refreshTasks(n,t,i,r){var u=$(".task_list");u.loading(!0,{mask:!0});$.vision().get(r,{},function(f){u.loading(null,null,!0);u.html(f);initTaskDragAndDrop(n,t,i,r)},"html",function(){u.loading(null,null,!0);$.refreshTempMessage(Vision.Resources.Admin_MyTask_RefreshTaskFailedError);initTaskDragAndDrop(n,t,i,r)})}var __sortNumberFunction,template,ViCategorySelector,ContentTypeCategoryModel,defaultValueInput;(function(){function o(r){var u=t;r&&(t[r]||(t[r]={}),u=t[r]);u.define&&u.define.packaged||(n.original=u.define,u.define=n,u.define.packaged=!0);u.require&&u.require.packaged||(i.original=u.require,u.require=i,u.require.packaged=!0)}var u="ace",t=function(){return this}(),n;if(t||typeof window=="undefined"||(t=window),u||typeof requirejs=="undefined"){n=function(t,i,r){if(typeof t!="string"){n.original?n.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=i);n.modules[t]||(n.payloads[t]=r,n.modules[t]=null)};n.modules={};n.payloads={};var f=function(n,t,r){var f,o,u,h,s;if(typeof t=="string"){if(f=e(n,t),f!=undefined)return r&&r(),f}else if(Object.prototype.toString.call(t)==="[object Array]"){for(o=[],u=0,h=t.length;u<h;++u){if(s=e(n,t[u]),s==undefined&&i.original)return;o.push(s)}return r&&r.apply(null,o)||!0}},i=function(n,t){var r=f("",n,t);return r==undefined&&i.original?i.original.apply(this,arguments):r},r=function(n,t){var i,u,f;if(t.indexOf("!")!==-1)return i=t.split("!"),r(n,i[0])+"!"+r(n,i[1]);if(t.charAt(0)==".")for(u=n.split("/").slice(0,-1).join("/"),t=u+"/"+t;t.indexOf(".")!==-1&&f!=t;)f=t,t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"");return t},e=function(t,i){var u;if(i=r(t,i),u=n.modules[i],!u){if(u=n.payloads[i],typeof u=="function"){var e={},o={id:i,uri:"",exports:e,packaged:!0},s=function(n,t){return f(i,n,t)},h=u(s,e,o);e=h||o.exports;n.modules[i]=e;delete n.payloads[i]}u=n.modules[i]=e||u}return u};o(u)}})();ace.define("ace/lib/regexp",["require","exports","module"],function(){"use strict";function r(n){return(n.global?"g":"")+(n.ignoreCase?"i":"")+(n.multiline?"m":"")+(n.extended?"x":"")+(n.sticky?"y":"")}function u(n,t,i){if(Array.prototype.indexOf)return n.indexOf(t,i);for(var r=i||0;r<n.length;r++)if(n[r]===t)return r;return-1}var n={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=n.exec.call(/()??/,"")[1]===undefined,t=function(){var t=/^/g;return n.test.call(t,""),!t.lastIndex}();t&&i||(RegExp.prototype.exec=function(f){var e=n.exec.apply(this,arguments),s,h,o;if(typeof f=="string"&&e){if(!i&&e.length>1&&u(e,"")>-1&&(h=RegExp(this.source,n.replace.call(r(this),"g","")),n.replace.call(f.slice(e.index),h,function(){for(var n=1;n<arguments.length-2;n++)arguments[n]===undefined&&(e[n]=undefined)})),this._xregexp&&this._xregexp.captureNames)for(o=1;o<e.length;o++)s=this._xregexp.captureNames[o-1],s&&(e[s]=e[o]);!t&&this.global&&!e[0].length&&this.lastIndex>e.index&&this.lastIndex--}return e},t||(RegExp.prototype.test=function(t){var i=n.exec.call(this,t);return i&&this.global&&!i[0].length&&this.lastIndex>i.index&&this.lastIndex--,!!i}))});ace.define("ace/lib/es5-shim",["require","exports","module"],function(){function c(){}function p(n){try{return Object.defineProperty(n,"sentinel",{}),"sentinel"in n}catch(t){}}function w(n){return n=+n,n!==n?n=0:n!==0&&n!==1/0&&n!==-1/0&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}var d,y,r,g,nt,tt,it,h,at,f,ft,et,u;Function.prototype.bind||(Function.prototype.bind=function(n){var t=this,r,i;if(typeof t!="function")throw new TypeError("Function.prototype.bind called on incompatible "+t);return r=o.call(arguments,1),i=function(){if(this instanceof i){var u=t.apply(this,r.concat(o.call(arguments)));return Object(u)===u?u:this}return t.apply(n,r.concat(o.call(arguments)))},t.prototype&&(c.prototype=t.prototype,i.prototype=new c,c.prototype=null),i});var e=Function.prototype.call,ot=Array.prototype,t=Object.prototype,o=ot.slice,n=e.bind(t.toString),i=e.bind(t.hasOwnProperty),b,k,a,v,s;if((s=i(t,"__defineGetter__"))&&(b=e.bind(t.__defineGetter__),k=e.bind(t.__defineSetter__),a=e.bind(t.__lookupGetter__),v=e.bind(t.__lookupSetter__)),[1,2].splice(0).length!=2&&(function(){function i(n){var t=new Array(n+2);return t[0]=t[1]=0,t}var n=[],t;return n.splice.apply(n,i(20)),n.splice.apply(n,i(26)),t=n.length,n.splice(5,0,"XXX"),t+1==n.length,t+1==n.length?!0:void 0}()?(d=Array.prototype.splice,Array.prototype.splice=function(n,t){return arguments.length?d.apply(this,[n===void 0?0:n,t===void 0?this.length-n:t].concat(o.call(arguments,2))):[]}):Array.prototype.splice=function(n,t){var r=this.length,i;n>0?n>r&&(n=r):n==void 0?n=0:n<0&&(n=Math.max(r+n,0));n+t<r||(t=r-n);var a=this.slice(n,n+t),e=o.call(arguments,2),f=e.length;if(n===r)f&&this.push.apply(this,e);else{var h=Math.min(t,r-n),u=n+h,s=u+f-h,l=r-u,c=r-h;if(s<u)for(i=0;i<l;++i)this[s+i]=this[u+i];else if(s>u)for(i=l;i--;)this[s+i]=this[u+i];if(f&&n===c)this.length=c,this.push.apply(this,e);else for(this.length=c+f,i=0;i<f;++i)this[n+i]=e[i]}return a}),Array.isArray||(Array.isArray=function(t){return n(t)=="[object Array]"}),y=Object("a"),r=y[0]!="a"||!(0 in y),Array.prototype.forEach||(Array.prototype.forEach=function(t){var e=u(this),f=r&&n(this)=="[object String]"?this.split(""):e,o=arguments[1],i=-1,s=f.length>>>0;if(n(t)!="[object Function]")throw new TypeError;while(++i<s)i in f&&t.call(o,f[i],i,e)}),Array.prototype.map||(Array.prototype.map=function(t){var e=u(this),f=r&&n(this)=="[object String]"?this.split(""):e,o=f.length>>>0,s=Array(o),h=arguments[1],i;if(n(t)!="[object Function]")throw new TypeError(t+" is not a function");for(i=0;i<o;i++)i in f&&(s[i]=t.call(h,f[i],i,e));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var o=u(this),f=r&&n(this)=="[object String]"?this.split(""):o,h=f.length>>>0,s=[],e,c=arguments[1],i;if(n(t)!="[object Function]")throw new TypeError(t+" is not a function");for(i=0;i<h;i++)i in f&&(e=f[i],t.call(c,e,i,o)&&s.push(e));return s}),Array.prototype.every||(Array.prototype.every=function(t){var e=u(this),f=r&&n(this)=="[object String]"?this.split(""):e,o=f.length>>>0,s=arguments[1],i;if(n(t)!="[object Function]")throw new TypeError(t+" is not a function");for(i=0;i<o;i++)if(i in f&&!t.call(s,f[i],i,e))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var e=u(this),f=r&&n(this)=="[object String]"?this.split(""):e,o=f.length>>>0,s=arguments[1],i;if(n(t)!="[object Function]")throw new TypeError(t+" is not a function");for(i=0;i<o;i++)if(i in f&&t.call(s,f[i],i,e))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var s=u(this),f=r&&n(this)=="[object String]"?this.split(""):s,o=f.length>>>0,i,e;if(n(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!o&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");if(i=0,arguments.length>=2)e=arguments[1];else do{if(i in f){e=f[i++];break}if(++i>=o)throw new TypeError("reduce of empty array with no initial value");}while(1);for(;i<o;i++)i in f&&(e=t.call(void 0,e,f[i],i,s));return e}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var o=u(this),e=r&&n(this)=="[object String]"?this.split(""):o,s=e.length>>>0,f,i;if(n(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!s&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");if(i=s-1,arguments.length>=2)f=arguments[1];else do{if(i in e){f=e[i--];break}if(--i<0)throw new TypeError("reduceRight of empty array with no initial value");}while(1);do i in this&&(f=t.call(void 0,f,e[i],i,o));while(i--);return f}),Array.prototype.indexOf&&[0,1].indexOf(1,2)==-1||(Array.prototype.indexOf=function(t){var f=r&&n(this)=="[object String]"?this.split(""):u(this),e=f.length>>>0,i;if(!e)return-1;for(i=0,arguments.length>1&&(i=w(arguments[1])),i=i>=0?i:Math.max(0,e+i);i<e;i++)if(i in f&&f[i]===t)return i;return-1}),Array.prototype.lastIndexOf&&[0,1].lastIndexOf(0,-3)==-1||(Array.prototype.lastIndexOf=function(t){var f=r&&n(this)=="[object String]"?this.split(""):u(this),e=f.length>>>0,i;if(!e)return-1;for(i=e-1,arguments.length>1&&(i=Math.min(i,w(arguments[1]))),i=i>=0?i:e-Math.abs(i);i>=0;i--)if(i in f&&t===f[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(n){return n.__proto__||(n.constructor?n.constructor.prototype:t)}),Object.getOwnPropertyDescriptor||(g="Object.getOwnPropertyDescriptor called on a non-object: ",Object.getOwnPropertyDescriptor=function(n,r){var u,o,f,e;if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError(g+n);if(i(n,r))return(u={enumerable:!0,configurable:!0},s&&(o=n.__proto__,n.__proto__=t,f=a(n,r),e=v(n,r),n.__proto__=o,f||e))?(f&&(u.get=f),e&&(u.set=e),u):(u.value=n[r],u)}),Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(n){return Object.keys(n)}),Object.create||(nt=Object.prototype.__proto__===null?function(){return{__proto__:null}}:function(){var n={};for(var t in n)n[t]=null;return n.constructor=n.hasOwnProperty=n.propertyIsEnumerable=n.isPrototypeOf=n.toLocaleString=n.toString=n.valueOf=n.__proto__=null,n},Object.create=function(n,t){var i,r;if(n===null)i=nt();else{if(typeof n!="object")throw new TypeError("typeof prototype["+typeof n+"] != 'object'");r=function(){};r.prototype=n;i=new r;i.__proto__=n}return t!==void 0&&Object.defineProperties(i,t),i}),Object.defineProperty&&(tt=p({}),it=typeof document=="undefined"||p(document.createElement("div")),tt&&it||(h=Object.defineProperty)),!Object.defineProperty||h){var st="Property description must be an object: ",ht="Object.defineProperty called on non-object: ",ct="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(n,r,u){if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError(ht+n);if(typeof u!="object"&&typeof u!="function"||u===null)throw new TypeError(st+u);if(h)try{return h.call(Object,n,r,u)}catch(e){}if(i(u,"value"))if(s&&(a(n,r)||v(n,r))){var f=n.__proto__;n.__proto__=t;delete n[r];n[r]=u.value;n.__proto__=f}else n[r]=u.value;else{if(!s)throw new TypeError(ct);i(u,"get")&&b(n,r,u.get);i(u,"set")&&k(n,r,u.set)}return n}}Object.defineProperties||(Object.defineProperties=function(n,t){for(var r in t)i(t,r)&&Object.defineProperty(n,r,t[r]);return n});Object.seal||(Object.seal=function(n){return n});Object.freeze||(Object.freeze=function(n){return n});try{Object.freeze(function(){})}catch(yt){Object.freeze=function(n){return function(t){return typeof t=="function"?t:n(t)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(n){return n}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(n){var t,r;if(Object(n)===n)throw new TypeError;for(t="";i(n,t);)t+="?";return n[t]=!0,r=i(n,t),delete n[t],r}),!Object.keys){var rt=!0,ut=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],lt=ut.length;for(at in{toString:null})rt=!1;Object.keys=function(n){var t,u,r,e,f;if(typeof n!="object"&&typeof n!="function"||n===null)throw new TypeError("Object.keys called on a non-object");t=[];for(u in n)i(n,u)&&t.push(u);if(rt)for(r=0,e=lt;r<e;r++)f=ut[r],i(n,f)&&t.push(f);return t}}Date.now||(Date.now=function(){return(new Date).getTime()});f="\t\n\x0b\f\r   ᠎             　\u2028\u2029﻿";(!String.prototype.trim||f.trim())&&(f="["+f+"]",ft=new RegExp("^"+f+f+"*"),et=new RegExp(f+f+"*$"),String.prototype.trim=function(){return String(this).replace(ft,"").replace(et,"")});u=function(n){if(n==null)throw new TypeError("can't convert "+n+" to object");return Object(n)}});ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(n){"use strict";n("./regexp");n("./es5-shim")});ace.define("ace/lib/dom",["require","exports","module"],function(n,t){"use strict";var i="http://www.w3.org/1999/xhtml";if(t.getDocumentHead=function(n){return n||(n=document),n.head||n.getElementsByTagName("head")[0]||n.documentElement},t.createElement=function(n,t){return document.createElementNS?document.createElementNS(t||i,n):document.createElement(n)},t.hasCssClass=function(n,t){var i=(n.className||"").split(/\s+/g);return i.indexOf(t)!==-1},t.addCssClass=function(n,i){t.hasCssClass(n,i)||(n.className+=" "+i)},t.removeCssClass=function(n,t){for(var i=n.className.split(/\s+/g),r;;){if(r=i.indexOf(t),r==-1)break;i.splice(r,1)}n.className=i.join(" ")},t.toggleCssClass=function(n,t){for(var i=n.className.split(/\s+/g),r=!0,u;;){if(u=i.indexOf(t),u==-1)break;r=!1;i.splice(u,1)}return r&&i.push(t),n.className=i.join(" "),r},t.setCssClass=function(n,i,r){r?t.addCssClass(n,i):t.removeCssClass(n,i)},t.hasCssString=function(n,t){var r=0,i;if(t=t||document,t.createStyleSheet&&(i=t.styleSheets)){while(r<i.length)if(i[r++].owningElement.id===n)return!0}else if(i=t.getElementsByTagName("style"))while(r<i.length)if(i[r++].id===n)return!0;return!1},t.importCssString=function(n,i,r){if(r=r||document,i&&t.hasCssString(i,r))return null;var u;i&&(n+="\n/*# sourceURL=ace/css/"+i+" */");r.createStyleSheet?(u=r.createStyleSheet(),u.cssText=n,i&&(u.owningElement.id=i)):(u=t.createElement("style"),u.appendChild(r.createTextNode(n)),i&&(u.id=i),t.getDocumentHead(r).appendChild(u))},t.importCssStylsheet=function(n,i){if(i.createStyleSheet)i.createStyleSheet(n);else{var r=t.createElement("link");r.rel="stylesheet";r.href=n;t.getDocumentHead(i).appendChild(r)}},t.getInnerWidth=function(n){return parseInt(t.computedStyle(n,"paddingLeft"),10)+parseInt(t.computedStyle(n,"paddingRight"),10)+n.clientWidth},t.getInnerHeight=function(n){return parseInt(t.computedStyle(n,"paddingTop"),10)+parseInt(t.computedStyle(n,"paddingBottom"),10)+n.clientHeight},t.scrollbarWidth=function(n){var r=t.createElement("ace_inner"),u,i,e,o,f;return r.style.width="100%",r.style.minWidth="0px",r.style.height="200px",r.style.display="block",u=t.createElement("ace_outer"),i=u.style,i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",u.appendChild(r),e=n.documentElement,e.appendChild(u),o=r.offsetWidth,i.overflow="scroll",f=r.offsetWidth,o==f&&(f=u.clientWidth),e.removeChild(u),o-f},typeof document=="undefined"){t.importCssString=function(){};return}window.pageYOffset!==undefined?(t.getPageScrollTop=function(){return window.pageYOffset},t.getPageScrollLeft=function(){return window.pageXOffset}):(t.getPageScrollTop=function(){return document.body.scrollTop},t.getPageScrollLeft=function(){return document.body.scrollLeft});t.computedStyle=window.getComputedStyle?function(n,t){return t?(window.getComputedStyle(n,"")||{})[t]||"":window.getComputedStyle(n,"")||{}}:function(n,t){return t?n.currentStyle[t]:n.currentStyle};t.setInnerHtml=function(n,t){var i=n.cloneNode(!1);return i.innerHTML=t,n.parentNode.replaceChild(i,n),i};"textContent"in document.documentElement?(t.setInnerText=function(n,t){n.textContent=t},t.getInnerText=function(n){return n.textContent}):(t.setInnerText=function(n,t){n.innerText=t},t.getInnerText=function(n){return n.innerText});t.getParentWindow=function(n){return n.defaultView||n.parentWindow}});ace.define("ace/lib/oop",["require","exports","module"],function(n,t){"use strict";t.inherits=function(n,t){n.super_=t;n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}})};t.mixin=function(n,t){for(var i in t)n[i]=t[i];return n};t.implement=function(n,i){t.mixin(n,i)}});ace.define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"],function(n,t){"use strict";n("./fixoldbrowsers");var i=n("./oop"),r=function(){var n={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},r;for(var t in n.FUNCTION_KEYS)r=n.FUNCTION_KEYS[t].toLowerCase(),n[r]=parseInt(t,10);for(t in n.PRINTABLE_KEYS)r=n.PRINTABLE_KEYS[t].toLowerCase(),n[r]=parseInt(t,10);return i.mixin(n,n.MODIFIER_KEYS),i.mixin(n,n.PRINTABLE_KEYS),i.mixin(n,n.FUNCTION_KEYS),n.enter=n["return"],n.escape=n.esc,n.del=n["delete"],n[173]="-",function(){for(var i=["cmd","ctrl","alt","shift"],t=Math.pow(2,i.length);t--;)n.KEY_MODS[t]=i.filter(function(i){return t&n.KEY_MODS[i]}).join("-")+"-"}(),n.KEY_MODS[0]="",n.KEY_MODS[-1]="input-",n}();i.mixin(t,r);t.keyCodeToString=function(n){var t=r[n];return typeof t!="string"&&(t=String.fromCharCode(n)),t.toLowerCase()}});ace.define("ace/lib/useragent",["require","exports","module"],function(n,t){"use strict";if(t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS},typeof navigator=="object"){var r=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),i=navigator.userAgent;t.isWin=r=="win";t.isMac=r=="mac";t.isLinux=r=="linux";t.isIE=navigator.appName=="Microsoft Internet Explorer"||navigator.appName.indexOf("MSAppHost")>=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]);t.isOldIE=t.isIE&&t.isIE<9;t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko";t.isOldGecko=t.isGecko&&parseInt((i.match(/rv\:(\d+)/)||[])[1],10)<4;t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]";t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined;t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined;t.isAIR=i.indexOf("AdobeAIR")>=0;t.isIPad=i.indexOf("iPad")>=0;t.isTouchPad=i.indexOf("TouchPad")>=0;t.isChromeOS=i.indexOf(" CrOS ")>=0}});ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(n,t){"use strict";function o(n,t,u){var o=e(t),c,h;if(!r.isMac&&i){if(i.OSKey&&(o|=8),i.altGr){if((3&o)==3)return;i.altGr=0}(u===18||u===17)&&(h="location"in t?t.location:t.keyLocation,u===17&&h===1?i[u]==1&&(s=t.timeStamp):u===18&&o===3&&h===2&&(c=t.timeStamp-s,c<50&&(i.altGr=!0)))}if(u in f.MODIFIER_KEYS&&(u=-1),o&8&&u>=91&&u<=93&&(u=-1),o||u!==13||(h="location"in t?t.location:t.keyLocation,h!==3||(n(t,o,-u),!t.defaultPrevented))){if(r.isChromeOS&&o&8){if(n(t,o,u),t.defaultPrevented)return;o&=-9}return!!o||u in f.FUNCTION_KEYS||u in f.PRINTABLE_KEYS?n(t,o,u):!1}}function u(){i=Object.create(null);i.count=0;i.lastT=0}var f=n("./keys"),r=n("./useragent"),i=null,s=0,e,h;t.addListener=function(n,t,i){if(n.addEventListener)return n.addEventListener(t,i,!1);if(n.attachEvent){var r=function(){i.call(n,window.event)};i._wrapper=r;n.attachEvent("on"+t,r)}};t.removeListener=function(n,t,i){if(n.removeEventListener)return n.removeEventListener(t,i,!1);n.detachEvent&&n.detachEvent("on"+t,i._wrapper||i)};t.stopEvent=function(n){return t.stopPropagation(n),t.preventDefault(n),!1};t.stopPropagation=function(n){n.stopPropagation?n.stopPropagation():n.cancelBubble=!0};t.preventDefault=function(n){n.preventDefault?n.preventDefault():n.returnValue=!1};t.getButton=function(n){return n.type=="dblclick"?0:n.type=="contextmenu"||r.isMac&&n.ctrlKey&&!n.altKey&&!n.shiftKey?2:n.preventDefault?n.button:{1:0,2:2,4:1}[n.button]};t.capture=function(n,i,r){function u(n){i&&i(n);r&&r(n);t.removeListener(document,"mousemove",i,!0);t.removeListener(document,"mouseup",u,!0);t.removeListener(document,"dragstart",u,!0)}return t.addListener(document,"mousemove",i,!0),t.addListener(document,"mouseup",u,!0),t.addListener(document,"dragstart",u,!0),u};t.addTouchMoveListener=function(n,i){if("ontouchmove"in n){var r,u;t.addListener(n,"touchstart",function(n){var t=n.changedTouches[0];r=t.clientX;u=t.clientY});t.addListener(n,"touchmove",function(n){var f=1,t=n.changedTouches[0];n.wheelX=-(t.clientX-r)/f;n.wheelY=-(t.clientY-u)/f;r=t.clientX;u=t.clientY;i(n)})}};t.addMouseWheelListener=function(n,i){"onmousewheel"in n?t.addListener(n,"mousewheel",function(n){var t=8;n.wheelDeltaX!==undefined?(n.wheelX=-n.wheelDeltaX/t,n.wheelY=-n.wheelDeltaY/t):(n.wheelX=0,n.wheelY=-n.wheelDelta/t);i(n)}):"onwheel"in n?t.addListener(n,"wheel",function(n){var t=.35;switch(n.deltaMode){case n.DOM_DELTA_PIXEL:n.wheelX=n.deltaX*t||0;n.wheelY=n.deltaY*t||0;break;case n.DOM_DELTA_LINE:case n.DOM_DELTA_PAGE:n.wheelX=(n.deltaX||0)*5;n.wheelY=(n.deltaY||0)*5}i(n)}):t.addListener(n,"DOMMouseScroll",function(n){n.axis&&n.axis==n.HORIZONTAL_AXIS?(n.wheelX=(n.detail||0)*5,n.wheelY=0):(n.wheelX=0,n.wheelY=(n.detail||0)*5);i(n)})};t.addMultiMouseDownListener=function(n,i,u,f){function l(n){if(t.getButton(n)!==0?e=0:n.detail>1?(e++,e>4&&(e=1)):e=1,r.isIE){var l=Math.abs(n.clientX-s)>5||Math.abs(n.clientY-h)>5;(!o||l)&&(e=1);o&&clearTimeout(o);o=setTimeout(function(){o=null},i[e-1]||600);e==1&&(s=n.clientX,h=n.clientY)}if(n._clicks=e,u[f]("mousedown",n),e>4)e=0;else if(e>1)return u[f](c[e],n)}function a(n){e=2;o&&clearTimeout(o);o=setTimeout(function(){o=null},i[e-1]||600);u[f]("mousedown",n);u[f](c[e],n)}var e=0,s,h,o,c={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(n)||(n=[n]);n.forEach(function(n){t.addListener(n,"mousedown",l);r.isOldIE&&t.addListener(n,"dblclick",a)})};e=!r.isMac||!r.isOpera||"KeyboardEvent"in window?function(n){return 0|(n.ctrlKey?1:0)|(n.altKey?2:0)|(n.shiftKey?4:0)|(n.metaKey?8:0)}:function(n){return 0|(n.metaKey?1:0)|(n.altKey?2:0)|(n.shiftKey?4:0)|(n.ctrlKey?8:0)};t.getModifierString=function(n){return f.KEY_MODS[e(n)]};t.addCommandKeyListener=function(n,f){var e=t.addListener,h,s;!r.isOldGecko&&(!r.isOpera||"KeyboardEvent"in window)?(s=null,e(n,"keydown",function(n){var t=n.keyCode,r;return i[t]=(i[t]||0)+1,t==91||t==92?i.OSKey=!0:i.OSKey&&n.timeStamp-i.lastT>200&&i.count==1&&u(),i[t]==1&&i.count++,i.lastT=n.timeStamp,r=o(f,n,t),s=n.defaultPrevented,r}),e(n,"keypress",function(n){s&&(n.ctrlKey||n.altKey||n.shiftKey||n.metaKey)&&(t.stopEvent(n),s=null)}),e(n,"keyup",function(n){var t=n.keyCode;i[t]?i.count=Math.max(i.count-1,0):u();(t==91||t==92)&&(i.OSKey=!1);i[t]=null}),i||(u(),e(window,"focus",u))):(h=null,e(n,"keydown",function(n){h=n.keyCode}),e(n,"keypress",function(n){return o(f,n,h)}))};typeof window=="object"&&window.postMessage&&!r.isOldIE&&(h=1,t.nextTick=function(n,i){i=i||window;var r="zero-timeout-message-"+h;t.addListener(i,"message",function u(f){f.data==r&&(t.stopPropagation(f),t.removeListener(i,"message",u),n())});i.postMessage(r,"*")});t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame);t.nextFrame=t.nextFrame?t.nextFrame.bind(window):function(n){setTimeout(n,17)}});ace.define("ace/lib/lang",["require","exports","module"],function(n,t){"use strict";t.last=function(n){return n[n.length-1]};t.stringReverse=function(n){return n.split("").reverse().join("")};t.stringRepeat=function(n,t){for(var i="";t>0;)t&1&&(i+=n),(t>>=1)&&(n+=n);return i};var r=/^\s\s*/,u=/\s\s*$/;t.stringTrimLeft=function(n){return n.replace(r,"")};t.stringTrimRight=function(n){return n.replace(u,"")};t.copyObject=function(n){var t={};for(var i in n)t[i]=n[i];return t};t.copyArray=function(n){for(var i=[],t=0,r=n.length;t<r;t++)i[t]=n[t]&&typeof n[t]=="object"?this.copyObject(n[t]):n[t];return i};t.deepCopy=function i(n){var r,u,t;if(typeof n!="object"||!n)return n;if(Array.isArray(n)){for(r=[],t=0;t<n.length;t++)r[t]=i(n[t]);return r}if(u=n.constructor,u===RegExp)return n;r=u();for(t in n)r[t]=i(n[t]);return r};t.arrayToMap=function(n){for(var i={},t=0;t<n.length;t++)i[n[t]]=1;return i};t.createMap=function(n){var t=Object.create(null);for(var i in n)t[i]=n[i];return t};t.arrayRemove=function(n,t){for(var i=0;i<=n.length;i++)t===n[i]&&n.splice(i,1)};t.escapeRegExp=function(n){return n.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")};t.escapeHTML=function(n){return n.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")};t.getMatchOffsets=function(n,t){var i=[];return n.replace(t,function(n){i.push({offset:arguments[arguments.length-2],length:n.length})}),i};t.deferredCall=function(n){var i=null,r=function(){i=null;n()},t=function(n){return t.cancel(),i=setTimeout(r,n||0),t};return t.schedule=t,t.call=function(){return this.cancel(),n(),t},t.cancel=function(){return clearTimeout(i),i=null,t},t.isPending=function(){return i},t};t.delayedCall=function(n,t){var i=null,u=function(){i=null;n()},r=function(n){i==null&&(i=setTimeout(u,n||t))};return r.delay=function(n){i&&clearTimeout(i);i=setTimeout(u,n||t)},r.schedule=r,r.call=function(){this.cancel();n()},r.cancel=function(){i&&clearTimeout(i);i=null},r.isPending=function(){return i},r}});ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang"],function(n,t){"use strict";var i=n("../lib/event"),r=n("../lib/useragent"),f=n("../lib/dom"),u=n("../lib/lang"),e=r.isChrome<18,o=r.isIE,s=function(n,t){function c(n){if(!h){if(h=!0,a)t=0,i=n?0:s.value.length-1;else var t=n?2:1,i=2;try{s.setSelectionRange(t,i)}catch(r){}h=!1}}function y(){h||(s.value=l,r.isWebKit&&ct.schedule())}function w(){clearTimeout(st);st=setTimeout(function(){p&&(s.style.cssText=p,p="");t.renderer.$keepTextAreaAtCursor==null&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},r.isOldIE?200:0)}var s=f.createElement("textarea"),v,ht,ct,it,at,vt,a,st,nt;s.className="ace_text-input";r.isTouchPad&&s.setAttribute("x-palm-disable-auto-cap",!0);s.setAttribute("wrap","off");s.setAttribute("autocorrect","off");s.setAttribute("autocapitalize","off");s.setAttribute("spellcheck",!1);s.style.opacity="0";r.isOldIE&&(s.style.top="-1000px");n.insertBefore(s,n.firstChild);var l="\x01\x01",b=!1,tt=!1,h=!1,p="",k=!0;try{v=document.activeElement===s}catch(ni){}if(i.addListener(s,"blur",function(n){t.onBlur(n);v=!1}),i.addListener(s,"focus",function(n){v=!0;t.onFocus(n);c()}),this.focus=function(){if(p)return s.focus();var n=s.style.top;s.style.position="fixed";s.style.top="0px";s.focus();setTimeout(function(){s.style.position="";s.style.top=="0px"&&(s.style.top=n)},0)},this.blur=function(){s.blur()},this.isFocused=function(){return v},ht=u.delayedCall(function(){v&&c(k)}),ct=u.delayedCall(function(){h||(s.value=l,v&&c())}),r.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=k&&(k=!k,ht.schedule())}),y(),v&&t.onFocus(),it=function(n){return n.selectionStart===0&&n.selectionEnd===n.value.length},!s.setSelectionRange&&s.createTextRange&&(s.setSelectionRange=function(n,t){var i=this.createTextRange();i.collapse(!0);i.moveStart("character",n);i.moveEnd("character",t);i.select()},it=function(n){try{var t=n.ownerDocument.selection.createRange()}catch(i){}return!t||t.parentElement()!=n?!1:t.text==n.value}),r.isOldIE){var rt=!1,lt=function(n){if(!rt){var t=s.value;if(!h&&t&&t!=l){if(n&&t==l[0])return ut.schedule();ft(t);rt=!0;y();rt=!1}}},ut=u.delayedCall(lt);i.addListener(s,"propertychange",lt);at={13:1,27:1};i.addListener(s,"keyup",function(n){if(h&&(!s.value||at[n.keyCode])&&setTimeout(g,0),(s.value.charCodeAt(0)||0)<129)return ut.call();h?et():dt()});i.addListener(s,"keydown",function(){ut.schedule(50)})}vt=function(){b?b=!1:it(s)?(t.selectAll(),c()):a&&c(t.selection.isEmpty())};a=null;this.setInputHandler=function(n){a=n};this.getInputHandler=function(){return a};var d=!1,ft=function(n){a&&(n=a(n),a=null);tt?(c(),n&&t.onPaste(n),tt=!1):n==l.charAt(0)?d?t.execCommand("del",{source:"ace"}):t.execCommand("backspace",{source:"ace"}):(n.substring(0,2)==l?n=n.substr(2):n.charAt(0)==l.charAt(0)?n=n.substr(1):n.charAt(n.length-1)==l.charAt(0)&&(n=n.slice(0,-1)),n.charAt(n.length-1)==l.charAt(0)&&(n=n.slice(0,-1)),n&&t.onTextInput(n));d&&(d=!1)},gt=function(){if(!h){var n=s.value;ft(n);y()}},yt=function(n,t){var i=n.clipboardData||window.clipboardData,r;if(i&&!e)return r=o?"Text":"text/plain",t?i.setData(r,t)!==!1:i.getData(r)},pt=function(n,r){var u=t.getCopyText();if(!u)return i.preventDefault(n);yt(n,u)?(r?t.onCut():t.onCopy(),i.preventDefault(n)):(b=!0,s.value=u,s.select(),setTimeout(function(){b=!1;y();c();r?t.onCut():t.onCopy()}))},wt=function(n){pt(n,!0)},bt=function(n){pt(n,!1)},kt=function(n){var u=yt(n);typeof u=="string"?(u&&t.onPaste(u,n),r.isIE&&setTimeout(c),i.preventDefault(n)):(s.value="",tt=!0)};i.addCommandKeyListener(s,t.onCommandKey.bind(t));i.addListener(s,"select",vt);i.addListener(s,"input",gt);i.addListener(s,"cut",wt);i.addListener(s,"copy",bt);i.addListener(s,"paste",kt);(!("oncut"in s)||!("oncopy"in s)||!("onpaste"in s))&&i.addListener(n,"keydown",function(n){if((!r.isMac||n.metaKey)&&n.ctrlKey)switch(n.keyCode){case 67:bt(n);break;case 86:kt(n);break;case 88:wt(n)}});var dt=function(){h||!t.onCompositionStart||t.$readOnly||(h={},t.onCompositionStart(),setTimeout(et,0),t.on("mousedown",g),t.selection.isEmpty()||(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())},et=function(){var n,i;h&&t.onCompositionUpdate&&!t.$readOnly&&(n=s.value.replace(/\x01/g,""),h.lastValue!==n)&&(t.onCompositionUpdate(n),h.lastValue&&t.undo(),h.lastValue=n,h.lastValue&&(i=t.selection.getRange(),t.insert(h.lastValue),t.session.markUndoGroup(),h.range=t.selection.getRange(),t.selection.setRange(i),t.selection.clearSelection()))},g=function(n){var i,r;t.onCompositionEnd&&!t.$readOnly&&(i=h,h=!1,r=setTimeout(function(){r=null;var n=s.value.replace(/\x01/g,"");h||(n==i.lastValue?y():!i.lastValue&&n&&(y(),ft(n)))}),a=function(n){return r&&clearTimeout(r),n=n.replace(/\x01/g,""),n==i.lastValue?"":(i.lastValue&&r&&t.undo(),n)},t.onCompositionEnd(),t.removeListener("mousedown",g),n.type=="compositionend"&&i.range&&t.selection.setRange(i.range))},ot=u.delayedCall(et,50);i.addListener(s,"compositionstart",dt);r.isGecko?i.addListener(s,"text",function(){ot.schedule()}):(i.addListener(s,"keyup",function(){ot.schedule()}),i.addListener(s,"keydown",function(){ot.schedule()}));i.addListener(s,"compositionend",g);this.getElement=function(){return s};this.setReadOnly=function(n){s.readOnly=n};this.onContextMenu=function(n){d=!0;c(t.selection.isEmpty());t._emit("nativecontextmenu",{target:t,domEvent:n});this.moveToMouse(n,!0)};this.moveToMouse=function(n,u){if(u||!r.isOldIE){p||(p=s.style.cssText);s.style.cssText=(u?"z-index:100000;":"")+"height:"+s.style.height+";"+(r.isIE?"opacity:0.1;":"");var e=t.container.getBoundingClientRect(),c=f.computedStyle(t.container),o=e.top+(parseInt(c.borderTopWidth)||0),l=e.left+(parseInt(e.borderLeftWidth)||0),a=e.bottom-o-s.clientHeight-2,h=function(n){s.style.left=n.clientX-l-2+"px";s.style.top=Math.min(n.clientY-o-2,a)+"px"};(h(n),n.type=="mousedown")&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(st),r.isWin&&!r.isOldIE&&i.capture(t.container,h,w))}};this.onContextMenuClose=w;nt=function(n){t.textInput.onContextMenu(n);w()};i.addListener(s,"mouseup",nt);i.addListener(s,"mousedown",function(n){n.preventDefault();w()});i.addListener(t.renderer.scroller,"contextmenu",nt);i.addListener(s,"contextmenu",nt)};t.TextInput=s});ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(n,t){"use strict";function i(n){var t,i;n.$clickSelection=null;t=n.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(n));t.setDefaultHandler("dblclick",this.onDoubleClick.bind(n));t.setDefaultHandler("tripleclick",this.onTripleClick.bind(n));t.setDefaultHandler("quadclick",this.onQuadClick.bind(n));t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(n));t.setDefaultHandler("touchmove",this.onTouchMove.bind(n));i=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];i.forEach(function(t){n[t]=this[t]},this);n.selectByLines=this.extendSelectionBy.bind(n,"getLineRange");n.selectByWords=this.extendSelectionBy.bind(n,"getWordRange")}function u(n,t,i,r){return Math.sqrt(Math.pow(i-n,2)+Math.pow(r-t,2))}function r(n,t){var i;return i=n.start.row==n.end.row?2*t.column-n.start.column-n.end.column:n.start.row!=n.end.row-1||n.start.column||n.end.column?2*t.row-n.start.row-n.end.row:t.column-4,i<0?{cursor:n.start,anchor:n.end}:{cursor:n.end,anchor:n.start}}var e=n("../lib/dom"),o=n("../lib/event"),s=n("../lib/useragent"),f=0;(function(){this.onMouseDown=function(n){var e=n.inSelection(),r=n.getDocumentPosition(),t,i,u,f;if(this.mousedownEvent=n,t=this.editor,i=n.getButton(),i!==0){u=t.getSelectionRange();f=u.isEmpty();t.$blockScrolling++;(f||i==1)&&t.selection.moveToPosition(r);t.$blockScrolling--;i==2&&t.textInput.onContextMenu(n.domEvent);return}if(this.mousedownEvent.time=Date.now(),e&&!t.isFocused()&&(t.focus(),this.$focusTimout&&!this.$clickSelection&&!t.inMultiSelectMode)){this.setState("focusWait");this.captureMouse(n);return}return this.captureMouse(n),this.startSelect(r,n.domEvent._clicks>1),n.preventDefault()};this.startSelect=function(n,t){n=n||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var i=this.editor;i.$blockScrolling++;this.mousedownEvent.getShiftKey()?i.selection.selectToPosition(n):t||i.selection.moveToPosition(n);t||this.select();i.renderer.scroller.setCapture&&i.renderer.scroller.setCapture();i.setStyle("ace_selecting");this.setState("select");i.$blockScrolling--};this.select=function(){var t,n=this.editor,i=n.renderer.screenToTextCoordinates(this.x,this.y),u,f;n.$blockScrolling++;this.$clickSelection&&(u=this.$clickSelection.comparePoint(i),u==-1?t=this.$clickSelection.end:u==1?t=this.$clickSelection.start:(f=r(this.$clickSelection,i),i=f.cursor,t=f.anchor),n.selection.setSelectionAnchor(t.row,t.column));n.selection.selectToPosition(i);n.$blockScrolling--;n.renderer.scrollCursorIntoView()};this.extendSelectionBy=function(n){var f,u=this.editor,t=u.renderer.screenToTextCoordinates(this.x,this.y),i=u.selection[n](t.row,t.column),e,o,s;u.$blockScrolling++;this.$clickSelection&&(e=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end),e==-1&&o<=0?(f=this.$clickSelection.end,(i.end.row!=t.row||i.end.column!=t.column)&&(t=i.start)):o==1&&e>=0?(f=this.$clickSelection.start,(i.start.row!=t.row||i.start.column!=t.column)&&(t=i.end)):e==-1&&o==1?(t=i.end,f=i.start):(s=r(this.$clickSelection,t),t=s.cursor,f=s.anchor),u.selection.setSelectionAnchor(f.row,f.column));u.selection.selectToPosition(t);u.$blockScrolling--;u.renderer.scrollCursorIntoView()};this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null;this.editor.unsetStyle("ace_selecting");this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()};this.focusWait=function(){var n=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(n>f||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())};this.onDoubleClick=function(n){var i=n.getDocumentPosition(),r=this.editor,u=r.session,t=u.getBracketRange(i);t?(t.isEmpty()&&(t.start.column--,t.end.column++),this.setState("select")):(t=r.selection.getWordRange(i.row,i.column),this.setState("selectByWords"));this.$clickSelection=t;this.select()};this.onTripleClick=function(n){var r=n.getDocumentPosition(),i=this.editor,t;this.setState("selectByLines");t=i.getSelectionRange();t.isMultiLine()&&t.contains(r.row,r.column)?(this.$clickSelection=i.selection.getLineRange(t.start.row),this.$clickSelection.end=i.selection.getLineRange(t.end.row).end):this.$clickSelection=i.selection.getLineRange(r.row);this.select()};this.onQuadClick=function(){var n=this.editor;n.selectAll();this.$clickSelection=n.getSelectionRange();this.setState("selectAll")};this.onMouseWheel=function(n){if(!n.getAccelKey()){n.getShiftKey()&&n.wheelY&&!n.wheelX&&(n.wheelX=n.wheelY,n.wheelY=0);var t=n.domEvent.timeStamp,r=t-(this.$lastScrollTime||0),i=this.editor,u=i.renderer.isScrollableBy(n.wheelX*n.speed,n.wheelY*n.speed);if(u||r<200)return this.$lastScrollTime=t,i.renderer.scrollBy(n.wheelX*n.speed,n.wheelY*n.speed),n.stop()}};this.onTouchMove=function(n){var t=n.domEvent.timeStamp,r=t-(this.$lastScrollTime||0),i=this.editor,u=i.renderer.isScrollableBy(n.wheelX*n.speed,n.wheelY*n.speed);if(u||r<200)return this.$lastScrollTime=t,i.renderer.scrollBy(n.wheelX*n.speed,n.wheelY*n.speed),n.stop()}}).call(i.prototype);t.DefaultHandlers=i});ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(n,t){"use strict";function r(n){this.isOpen=!1;this.$element=null;this.$parentNode=n}var u=n("./lib/oop"),i=n("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element};this.getElement=function(){return this.$element||this.$init()};this.setText=function(n){i.setInnerText(this.getElement(),n)};this.setHtml=function(n){this.getElement().innerHTML=n};this.setPosition=function(n,t){this.getElement().style.left=n+"px";this.getElement().style.top=t+"px"};this.setClassName=function(n){i.addCssClass(this.getElement(),n)};this.show=function(n,t,i){n!=null&&this.setText(n);t!=null&&i!=null&&this.setPosition(t,i);this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)};this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)};this.getHeight=function(){return this.getElement().offsetHeight};this.getWidth=function(){return this.getElement().offsetWidth}}).call(r.prototype);t.Tooltip=r});ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(n,t){"use strict";function u(n){function a(){var f=e.getDocumentPosition().row,i=l.$annotations[f],o,a,r;if(!i||(o=t.session.getLength(),f==o&&(a=t.renderer.pixelToScreenCoordinates(0,e.y).row,r=e.$pos,a>t.session.documentToScreenRow(r.row,r.column))))return u();if(s!=i)if(s=i.text.join("<br/>"),h.setHtml(s),h.show(),t.on("mousewheel",u),n.$tooltipFollowsMouse)c(e);else{var p=e.domEvent.target,v=p.getBoundingClientRect(),y=h.getElement().style;y.left=v.right+"px";y.top=v.bottom+"px"}}function u(){r&&(r=clearTimeout(r));s&&(h.hide(),s=null,t.removeEventListener("mousewheel",u))}function c(n){h.setPosition(n.x,n.y)}var t=n.editor,l=t.renderer.$gutterLayer,h=new i(t.container),r,e,s;n.editor.setDefaultHandler("guttermousedown",function(i){var u,r,f;if(t.isFocused()&&i.getButton()==0&&(u=l.getRegion(i),u!="foldWidgets")){if(r=i.getDocumentPosition().row,f=t.session.selection,i.getShiftKey())f.selectTo(r,0);else{if(i.domEvent.detail==2)return t.selectAll(),i.preventDefault();n.$clickSelection=t.selection.getLineRange(r)}return n.setState("selectByLines"),n.captureMouse(i),i.preventDefault()}});n.editor.setDefaultHandler("guttermousemove",function(t){var i=t.domEvent.target||t.domEvent.srcElement;if(f.hasCssClass(i,"ace_fold-widget"))return u();(s&&n.$tooltipFollowsMouse&&c(t),e=t,r)||(r=setTimeout(function(){r=null;e&&!n.isMousePressed?a():u()},50))});o.addListener(t.renderer.$gutter,"mouseout",function(){(e=null,s&&!r)&&(r=setTimeout(function(){r=null;u()},50))});t.on("changeSession",u)}function i(n){r.call(this,n)}var f=n("../lib/dom"),e=n("../lib/oop"),o=n("../lib/event"),r=n("../tooltip").Tooltip;e.inherits(i,r),function(){this.setPosition=function(n,t){var i=window.innerWidth||document.documentElement.clientWidth,e=window.innerHeight||document.documentElement.clientHeight,u=this.getWidth(),f=this.getHeight();n+=15;t+=15;n+u>i&&(n-=n+u-i);t+f>e&&(t-=20+f);r.prototype.setPosition.call(this,n,t)}}.call(i.prototype);t.GutterHandler=u});ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(n,t){"use strict";var i=n("../lib/event"),r=n("../lib/useragent"),u=t.MouseEvent=function(n,t){this.domEvent=n;this.editor=t;this.x=this.clientX=n.clientX;this.y=this.clientY=n.clientY;this.$pos=null;this.$inSelection=null;this.propagationStopped=!1;this.defaultPrevented=!1};(function(){this.stopPropagation=function(){i.stopPropagation(this.domEvent);this.propagationStopped=!0};this.preventDefault=function(){i.preventDefault(this.domEvent);this.defaultPrevented=!0};this.stop=function(){this.stopPropagation();this.preventDefault()};this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)};this.inSelection=function(){var i,n,t;return this.$inSelection!==null?this.$inSelection:(i=this.editor,n=i.getSelectionRange(),n.isEmpty()?this.$inSelection=!1:(t=this.getDocumentPosition(),this.$inSelection=n.contains(t.row,t.column)),this.$inSelection)};this.getButton=function(){return i.getButton(this.domEvent)};this.getShiftKey=function(){return this.domEvent.shiftKey};this.getAccelKey=r.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(u.prototype)});ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(n,t){"use strict";function f(n){function ct(n,i){var r=Date.now(),e=!i||n.row!=i.row,o=!i||n.column!=i.column,f;!k||e||o?(t.$blockScrolling+=1,t.moveCursorToPosition(n),t.$blockScrolling-=1,k=r,rt={x:v,y:y}):(f=u(rt.x,rt.y,v,y),f>h?k=null:r-k>=s&&(t.renderer.scrollCursorIntoView(),k=null))}function lt(n,i){var e=Date.now(),s=t.renderer.layerConfig.lineHeight,h=t.renderer.layerConfig.characterWidth,f=t.renderer.scroller.getBoundingClientRect(),r={x:{left:v-f.left,right:f.right-v},y:{top:y-f.top,bottom:f.bottom-y}},c=Math.min(r.x.left,r.x.right),l=Math.min(r.y.top,r.y.bottom),u={row:n.row,column:n.column};c/h<=2&&(u.column+=r.x.left<r.x.right?-3:2);l/s<=1&&(u.row+=r.y.top<r.y.bottom?-1:1);var a=n.row!=u.row,p=n.column!=u.column,w=!i||n.row!=i.row;a||p&&!w?g?e-g>=o&&t.renderer.scrollCursorIntoView(u):g=e:g=null}function ut(){var n=f;f=t.renderer.screenToTextCoordinates(v,y);ct(f,n);lt(f,n)}function ft(){c=t.selection.toOrientedRange();a=t.session.addMarker(c,"ace_selection",t.getSelectionStyle());t.clearSelection();t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1);clearInterval(it);ut();it=setInterval(ut,20);p=0;i.addListener(document,"mousemove",et)}function tt(){clearInterval(it);t.session.removeMarker(a);a=null;t.$blockScrolling+=1;t.selection.fromOrientedRange(c);t.$blockScrolling-=1;t.isFocused()&&!nt&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly());c=null;f=null;p=0;g=null;k=null;i.removeListener(document,"mousemove",et)}function et(){d==null&&(d=setTimeout(function(){d!=null&&a&&tt()},20))}function ot(n){var t=n.types;return!t||Array.prototype.some.call(t,function(n){return n=="text/plain"||n=="Text"})}function st(n){var u=["copy","copymove","all","uninitialized"],f=r.isMac?n.altKey:n.ctrlKey,i="uninitialized",t;try{i=n.dataTransfer.effectAllowed.toLowerCase()}catch(n){}return t="none",f&&u.indexOf(i)>=0?t="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(i)>=0?t="move":u.indexOf(i)>=0&&(t="copy"),t}var t=n.editor,w=e.createElement("img"),ht,l,a,v,y,it,c,f,p,b,nt,g,k,rt,d;w.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";r.isOpera&&(w.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");ht=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];ht.forEach(function(t){n[t]=this[t]},this);t.addEventListener("mousedown",this.onMouseDown.bind(n));l=t.container;p=0;this.onDragStart=function(n){var u,i;if(this.cancelDrag||!l.draggable)return u=this,setTimeout(function(){u.startSelect();u.captureMouse(n)},0),n.preventDefault();c=t.getSelectionRange();i=n.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove";r.isOpera&&(t.container.appendChild(w),w.scrollTop=0);i.setDragImage&&i.setDragImage(w,0,0);r.isOpera&&t.container.removeChild(w);i.clearData();i.setData("Text",t.session.getTextRange());nt=!0;this.setState("drag")};this.onDragEnd=function(n){if(l.draggable=!1,nt=!1,this.setState(null),!t.getReadOnly()){var i=n.dataTransfer.dropEffect;b||i!="move"||t.session.remove(t.getSelectionRange());t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging");this.editor.renderer.setCursorStyle("")};this.onDragEnter=function(n){if(!t.getReadOnly()&&ot(n.dataTransfer))return v=n.clientX,y=n.clientY,a||ft(),p++,n.dataTransfer.dropEffect=b=st(n),i.preventDefault(n)};this.onDragOver=function(n){if(!t.getReadOnly()&&ot(n.dataTransfer))return v=n.clientX,y=n.clientY,a||(ft(),p++),d!==null&&(d=null),n.dataTransfer.dropEffect=b=st(n),i.preventDefault(n)};this.onDragLeave=function(n){return p--,p<=0&&a?(tt(),b=null,i.preventDefault(n)):void 0};this.onDrop=function(n){var r,u;if(f){if(r=n.dataTransfer,nt)switch(b){case"move":c=c.contains(f.row,f.column)?{start:f,end:f}:t.moveText(c,f);break;case"copy":c=t.moveText(c,f,!0)}else u=r.getData("Text"),c={start:f,end:t.session.insert(f,u)},t.focus(),b=null;return tt(),i.preventDefault(n)}};i.addListener(l,"dragstart",this.onDragStart.bind(n));i.addListener(l,"dragend",this.onDragEnd.bind(n));i.addListener(l,"dragenter",this.onDragEnter.bind(n));i.addListener(l,"dragover",this.onDragOver.bind(n));i.addListener(l,"dragleave",this.onDragLeave.bind(n));i.addListener(l,"drop",this.onDrop.bind(n));d=null}function u(n,t,i,r){return Math.sqrt(Math.pow(i-n,2)+Math.pow(r-t,2))}var e=n("../lib/dom"),i=n("../lib/event"),r=n("../lib/useragent"),o=200,s=200,h=5;(function(){this.dragWait=function(){var n=Date.now()-this.mousedownEvent.time;n>this.editor.getDragDelay()&&this.startDrag()};this.dragWaitEnd=function(){var n=this.editor.container;n.draggable=!1;this.startSelect(this.mousedownEvent.getDocumentPosition());this.selectEnd()};this.dragReadyEnd=function(){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly());this.editor.unsetStyle("ace_dragging");this.editor.renderer.setCursorStyle("");this.dragWaitEnd()};this.startDrag=function(){var n,t,i;this.cancelDrag=!1;n=this.editor;t=n.container;t.draggable=!0;n.renderer.$cursorLayer.setBlinking(!1);n.setStyle("ace_dragging");i=r.isWin?"default":"move";n.renderer.setCursorStyle(i);this.setState("dragReady")};this.onMouseDrag=function(){var t=this.editor.container,n;r.isIE&&this.state=="dragReady"&&(n=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),n>3&&t.dragDrop());this.state==="dragWait"&&(n=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition())))};this.onMouseDown=function(n){var t,u;if(this.$dragEnabled){this.mousedownEvent=n;var i=this.editor,f=n.inSelection(),e=n.getButton(),o=n.domEvent.detail||1;if(o===1&&e===0&&f){if(n.editor.inMultiSelectMode&&(n.getAccelKey()||n.getShiftKey()))return;this.mousedownEvent.time=Date.now();t=n.domEvent.target||n.domEvent.srcElement;"unselectable"in t&&(t.unselectable="on");i.getDragDelay()?(r.isWebKit&&(this.cancelDrag=!0,u=i.container,u.draggable=!0),this.setState("dragWait")):this.startDrag();this.captureMouse(n,this.onMouseDrag.bind(this));n.defaultPrevented=!0}}}}).call(f.prototype);t.DragdropHandler=f});ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(n,t){"use strict";var i=n("./dom");t.get=function(n,t){var i=new XMLHttpRequest;i.open("GET",n,!0);i.onreadystatechange=function(){i.readyState===4&&t(i.responseText)};i.send(null)};t.loadScript=function(n,t){var u=i.getDocumentHead(),r=document.createElement("script");r.src=n;u.appendChild(r);r.onload=r.onreadystatechange=function(n,i){(i||!r.readyState||r.readyState=="loaded"||r.readyState=="complete")&&(r=r.onload=r.onreadystatechange=null,i||t())}};t.qualifyURL=function(n){var t=document.createElement("a");return t.href=n,t.href}});ace.define("ace/lib/event_emitter",["require","exports","module"],function(n,t){"use strict";var i={},r=function(){this.propagationStopped=!0},u=function(){this.defaultPrevented=!0};i._emit=i._dispatchEvent=function(n,t){var i,f,e;if(this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={}),i=this._eventRegistry[n]||[],f=this._defaultHandlers[n],i.length||f){for(typeof t=="object"&&t||(t={}),t.type||(t.type=n),t.stopPropagation||(t.stopPropagation=r),t.preventDefault||(t.preventDefault=u),i=i.slice(),e=0;e<i.length;e++)if(i[e](t,this),t.propagationStopped)break;if(f&&!t.defaultPrevented)return f(t,this)}};i._signal=function(n,t){var i=(this._eventRegistry||{})[n],r;if(i)for(i=i.slice(),r=0;r<i.length;r++)i[r](t,this)};i.once=function(n,t){var i=this;t&&this.addEventListener(n,function r(){i.removeEventListener(n,r);t.apply(null,arguments)})};i.setDefaultHandler=function(n,t){var i=this._defaultHandlers,f,r,u;i||(i=this._defaultHandlers={_disabled_:{}});i[n]&&(f=i[n],r=i._disabled_[n],r||(i._disabled_[n]=r=[]),r.push(f),u=r.indexOf(t),u!=-1&&r.splice(u,1));i[n]=t};i.removeDefaultHandler=function(n,t){var r=this._defaultHandlers,i,f,u;r&&(i=r._disabled_[n],r[n]==t?(f=r[n],i&&this.setDefaultHandler(n,i.pop())):i&&(u=i.indexOf(t),u!=-1&&i.splice(u,1)))};i.on=i.addEventListener=function(n,t,i){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[n];return r||(r=this._eventRegistry[n]=[]),r.indexOf(t)==-1&&r[i?"unshift":"push"](t),t};i.off=i.removeListener=i.removeEventListener=function(n,t){var i,r;(this._eventRegistry=this._eventRegistry||{},i=this._eventRegistry[n],i)&&(r=i.indexOf(t),r!==-1&&i.splice(r,1))};i.removeAllListeners=function(n){this._eventRegistry&&(this._eventRegistry[n]=[])};t.EventEmitter=i});ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(n,t){"no use strict";function i(){typeof console!="undefined"&&console.warn&&console.warn.apply(console,arguments)}function f(n,t){var i=new Error(n);i.data=t;typeof console=="object"&&console.error&&console.error(i);setTimeout(function(){throw i;})}var r=n("./oop"),e=n("./event_emitter").EventEmitter,o={setOptions:function(n){Object.keys(n).forEach(function(t){this.setOption(t,n[t])},this)},getOptions:function(n){var t={};return n?Array.isArray(n)||(t=n,n=Object.keys(t)):n=Object.keys(this.$options),n.forEach(function(n){t[n]=this.getOption(n)},this),t},setOption:function(n,t){if(this["$"+n]!==t){var r=this.$options[n];if(!r)return i('misspelled option "'+n+'"');if(r.forwardTo)return this[r.forwardTo]&&this[r.forwardTo].setOption(n,t);r.handlesSet||(this["$"+n]=t);r&&r.set&&r.set.call(this,t)}},getOption:function(n){var t=this.$options[n];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(n):t&&t.get?t.get.call(this):this["$"+n]:i('misspelled option "'+n+'"')}},u=function(){this.$defaultOptions={}};(function(){r.implement(this,e);this.defineOptions=function(n,t,i){return n.$options||(this.$defaultOptions[t]=n.$options={}),Object.keys(i).forEach(function(t){var r=i[t];typeof r=="string"&&(r={forwardTo:r});r.name||(r.name=t);n.$options[r.name]=r;"initialValue"in r&&(n["$"+r.name]=r.initialValue)}),r.implement(n,o),this};this.resetOptions=function(n){Object.keys(n.$options).forEach(function(t){var i=n.$options[t];"value"in i&&n.setOption(t,i.value)})};this.setDefaultValue=function(n,t,i){var r=this.$defaultOptions[n]||(this.$defaultOptions[n]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,i):r[t].value=i)};this.setDefaultValues=function(n,t){Object.keys(t).forEach(function(i){this.setDefaultValue(n,i,t[i])},this)};this.warn=i;this.reportError=f}).call(u.prototype);t.AppConfig=u});ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(n,t,i){"no use strict";function f(f){var s,h,y,p,c,d,l,w,a;if(u&&u.document){r.packaged=f||n.packaged||i.packaged||u.define&&define.packaged;var o={},v="",b=document.currentScript||document._currentScript,g=b&&b.ownerDocument||document,k=g.getElementsByTagName("script");for(s=0;s<k.length;s++)if(h=k[s],y=h.src||h.getAttribute("src"),y){for(p=h.attributes,c=0,d=p.length;c<d;c++)l=p[c],l.name.indexOf("data-ace-")===0&&(o[e(l.name.replace(/^data-ace-/,""))]=l.value);w=y.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);w&&(v=w[1])}v&&(o.base=o.base||v,o.packaged=!0);o.basePath=o.base;o.workerPath=o.workerPath||o.base;o.modePath=o.modePath||o.base;o.themePath=o.themePath||o.base;delete o.base;for(a in o)typeof o[a]!="undefined"&&t.set(a,o[a])}}function e(n){return n.replace(/-(.)/g,function(n,t){return t.toUpperCase()})}var o=n("./lib/lang"),c=n("./lib/oop"),s=n("./lib/net"),h=n("./lib/app_config").AppConfig,u,r;i.exports=t=new h;u=function(){return this||typeof window!="undefined"&&window}();r={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};t.get=function(n){if(!r.hasOwnProperty(n))throw new Error("Unknown config key: "+n);return r[n]};t.set=function(n,t){if(!r.hasOwnProperty(n))throw new Error("Unknown config key: "+n);r[n]=t};t.all=function(){return o.copyObject(r)};t.moduleUrl=function(n,t){var i,e,u,o,f;return r.$moduleUrls[n]?r.$moduleUrls[n]:(i=n.split("/"),t=t||i[i.length-2]||"",e=t=="snippets"?"/":"-",u=i[i.length-1],t=="worker"&&e=="-"&&(o=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g"),u=u.replace(o,"")),(!u||u==t)&&i.length>1&&(u=i[i.length-2]),f=r[t+"Path"],f==null?f=r.basePath:e=="/"&&(t=e=""),f&&f.slice(-1)!="/"&&(f+="/"),f+t+e+u+this.get("suffix"))};t.setModuleUrl=function(n,t){return r.$moduleUrls[n]=t};t.$loading={};t.loadModule=function(i,r){var u,e,f;Array.isArray(i)&&(e=i[0],i=i[1]);try{u=n(i)}catch(o){}if(u&&!t.$loading[i])return r&&r(u);if(t.$loading[i]||(t.$loading[i]=[]),t.$loading[i].push(r),!(t.$loading[i].length>1)){if(f=function(){n([i],function(n){t._emit("load.module",{name:i,module:n});var r=t.$loading[i];t.$loading[i]=null;r.forEach(function(t){t&&t(n)})})},!t.get("packaged"))return f();s.loadScript(t.moduleUrl(i,e),f)}};t.init=f});ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(n,t){"use strict";var i=n("../lib/event"),u=n("../lib/useragent"),e=n("./default_handlers").DefaultHandlers,o=n("./default_gutter_handler").GutterHandler,r=n("./mouse_event").MouseEvent,s=n("./dragdrop_handler").DragdropHandler,h=n("../config"),f=function(n){var h=this,r,f,t;this.editor=n;new e(this);new o(this);new s(this);r=function(){var t=!document.hasFocus||!document.hasFocus()||!n.isFocused()&&document.activeElement==(n.textInput&&n.textInput.getElement());t&&window.focus();n.focus()};f=n.renderer.getMouseEventTarget();i.addListener(f,"click",this.onMouseEvent.bind(this,"click"));i.addListener(f,"mousemove",this.onMouseMove.bind(this,"mousemove"));i.addMultiMouseDownListener([f,n.renderer.scrollBarV&&n.renderer.scrollBarV.inner,n.renderer.scrollBarH&&n.renderer.scrollBarH.inner,n.textInput&&n.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent");i.addMouseWheelListener(n.container,this.onMouseWheel.bind(this,"mousewheel"));i.addTouchMoveListener(n.container,this.onTouchMove.bind(this,"touchmove"));t=n.renderer.$gutter;i.addListener(t,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"));i.addListener(t,"click",this.onMouseEvent.bind(this,"gutterclick"));i.addListener(t,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"));i.addListener(t,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"));i.addListener(f,"mousedown",r);i.addListener(t,"mousedown",r);u.isIE&&n.renderer.scrollBarV&&(i.addListener(n.renderer.scrollBarV.element,"mousedown",r),i.addListener(n.renderer.scrollBarH.element,"mousedown",r));n.on("mousemove",function(t){if(!h.state&&!h.$dragDelay&&h.$dragEnabled){var i=n.renderer.screenToTextCoordinates(t.x,t.y),r=n.session.selection.getRange(),u=n.renderer;!r.isEmpty()&&r.insideStart(i.row,i.column)?u.setCursorStyle("default"):u.setCursorStyle("")}})};(function(){this.onMouseEvent=function(n,t){this.editor._emit(n,new r(t,this.editor))};this.onMouseMove=function(n,t){var i=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;i&&i.length&&this.editor._emit(n,new r(t,this.editor))};this.onMouseWheel=function(n,t){var i=new r(t,this.editor);i.speed=this.$scrollSpeed*2;i.wheelX=t.wheelX;i.wheelY=t.wheelY;this.editor._emit(n,i)};this.onTouchMove=function(n,t){var i=new r(t,this.editor);i.speed=1;i.wheelX=t.wheelX;i.wheelY=t.wheelY;this.editor._emit(n,i)};this.setState=function(n){this.state=n};this.captureMouse=function(n,t){var e,c;this.x=n.x;this.y=n.y;this.isMousePressed=!0;e=this.editor.renderer;e.$keepTextAreaAtCursor&&(e.$keepTextAreaAtCursor=null);var f=this,o=function(n){if(n){if(u.isWebKit&&!n.which&&f.releaseMouse)return f.releaseMouse();f.x=n.clientX;f.y=n.clientY;t&&t(n);f.mouseEvent=new r(n,f.editor);f.$mouseMoved=!0}},s=function(n){clearInterval(c);h();f[f.state+"End"]&&f[f.state+"End"](n);f.state="";e.$keepTextAreaAtCursor==null&&(e.$keepTextAreaAtCursor=!0,e.$moveTextAreaToCursor());f.isMousePressed=!1;f.$onCaptureMouseMove=f.releaseMouse=null;n&&f.onMouseEvent("mouseup",n)},h=function(){f[f.state]&&f[f.state]();f.$mouseMoved=!1};if(u.isOldIE&&n.domEvent.type=="dblclick")return setTimeout(function(){s(n)});f.$onCaptureMouseMove=o;f.releaseMouse=i.capture(this.editor.container,o,s);c=setInterval(h,20)};this.releaseMouse=null;this.cancelContextMenu=function(){var n=function(t){t&&t.domEvent&&t.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",n),t&&t.domEvent&&i.stopEvent(t.domEvent))}.bind(this);setTimeout(n,10);this.editor.on("nativecontextmenu",n)}}).call(f.prototype);h.defineOptions(f.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:u.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}});t.MouseHandler=f});ace.define("ace/mouse/fold_handler",["require","exports","module"],function(n,t){"use strict";function i(n){n.on("click",function(t){var u=t.getDocumentPosition(),i=n.session,r=i.getFoldAt(u.row,u.column,1);r&&(t.getAccelKey()?i.removeFold(r):i.expandFold(r),t.stop())});n.on("gutterclick",function(t){var u=n.renderer.$gutterLayer.getRegion(t),i,r;u=="foldWidgets"&&(i=t.getDocumentPosition().row,r=n.session,r.foldWidgets&&r.foldWidgets[i]&&n.session.onFoldWidgetClick(i,t),n.isFocused()||n.focus(),t.stop())});n.on("gutterdblclick",function(t){var o=n.renderer.$gutterLayer.getRegion(t),f;if(o=="foldWidgets"){var r=t.getDocumentPosition().row,i=n.session,e=i.getParentFoldRangeData(r,!0),u=e.range||e.firstRange;u&&(r=u.start.row,f=i.getFoldAt(r,i.getLine(r).length,1),f?i.removeFold(f):(i.addFold("...",u),n.renderer.scrollCursorIntoView({row:u.start.row,column:0})));t.stop()}})}t.FoldHandler=i});ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(n,t){"use strict";var r=n("../lib/keys"),u=n("../lib/event"),i=function(n){this.$editor=n;this.$data={editor:n};this.$handlers=[];this.setDefaultHandler(n.commands)};(function(){this.setDefaultHandler=function(n){this.removeKeyboardHandler(this.$defaultHandler);this.$defaultHandler=n;this.addKeyboardHandler(n,0)};this.setKeyboardHandler=function(n){var t=this.$handlers;if(t[t.length-1]!=n){while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(n,1)}};this.addKeyboardHandler=function(n,t){if(n){typeof n!="function"||n.handleKeyboard||(n.handleKeyboard=n);var i=this.$handlers.indexOf(n);i!=-1&&this.$handlers.splice(i,1);t==undefined?this.$handlers.push(n):this.$handlers.splice(t,0,n);i==-1&&n.attach&&n.attach(this.$editor)}};this.removeKeyboardHandler=function(n){var t=this.$handlers.indexOf(n);return t==-1?!1:(this.$handlers.splice(t,1),n.detach&&n.detach(this.$editor),!0)};this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]};this.getStatusText=function(){var n=this.$data,t=n.editor;return this.$handlers.map(function(i){return i.getStatusText&&i.getStatusText(t,n)||""}).filter(Boolean).join(" ")};this.$callKeyboardHandlers=function(n,t,i,r){for(var f,e=!1,o=this.$editor.commands,s=this.$handlers.length;s--;)if((f=this.$handlers[s].handleKeyboard(this.$data,n,t,i,r),f&&f.command)&&(e=f.command=="null"?!0:o.exec(f.command,this.$editor,f.args,r),e&&r&&n!=-1&&f.passEvent!=1&&f.command.passEvent!=1&&u.stopEvent(r),e))break;return!e&&n==-1&&(f={command:"insertstring"},e=o.exec("insertstring",this.$editor,t)),e&&this.$editor._signal("keyboardActivity",f),e};this.onCommandKey=function(n,t,i){var u=r.keyCodeToString(i);this.$callKeyboardHandlers(t,u,i,n)};this.onTextInput=function(n){this.$callKeyboardHandlers(-1,n)}}).call(i.prototype);t.KeyBinding=i});ace.define("ace/range",["require","exports","module"],function(n,t){"use strict";var r=function(n,t){return n.row-t.row||n.column-t.column},i=function(n,t,i,r){this.start={row:n,column:t};this.end={row:i,column:r}};(function(){this.isEqual=function(n){return this.start.row===n.start.row&&this.end.row===n.end.row&&this.start.column===n.start.column&&this.end.column===n.end.column};this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"};this.contains=function(n,t){return this.compare(n,t)==0};this.compareRange=function(n){var t,r=n.end,i=n.start;return t=this.compare(r.row,r.column),t==1?(t=this.compare(i.row,i.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(i.row,i.column),t==-1?-1:t==1?42:0)};this.comparePoint=function(n){return this.compare(n.row,n.column)};this.containsRange=function(n){return this.comparePoint(n.start)==0&&this.comparePoint(n.end)==0};this.intersects=function(n){var t=this.compareRange(n);return t==-1||t==0||t==1};this.isEnd=function(n,t){return this.end.row==n&&this.end.column==t};this.isStart=function(n,t){return this.start.row==n&&this.start.column==t};this.setStart=function(n,t){typeof n=="object"?(this.start.column=n.column,this.start.row=n.row):(this.start.row=n,this.start.column=t)};this.setEnd=function(n,t){typeof n=="object"?(this.end.column=n.column,this.end.row=n.row):(this.end.row=n,this.end.column=t)};this.inside=function(n,t){return this.compare(n,t)==0?this.isEnd(n,t)||this.isStart(n,t)?!1:!0:!1};this.insideStart=function(n,t){return this.compare(n,t)==0?this.isEnd(n,t)?!1:!0:!1};this.insideEnd=function(n,t){return this.compare(n,t)==0?this.isStart(n,t)?!1:!0:!1};this.compare=function(n,t){return!this.isMultiLine()&&n===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:n<this.start.row?-1:n>this.end.row?1:this.start.row===n?t>=this.start.column?0:-1:this.end.row===n?t<=this.end.column?0:1:0};this.compareStart=function(n,t){return this.start.row==n&&this.start.column==t?-1:this.compare(n,t)};this.compareEnd=function(n,t){return this.end.row==n&&this.end.column==t?1:this.compare(n,t)};this.compareInside=function(n,t){return this.end.row==n&&this.end.column==t?1:this.start.row==n&&this.start.column==t?-1:this.compare(n,t)};this.clipRows=function(n,t){var r,u;return this.end.row>t?r={row:t+1,column:0}:this.end.row<n&&(r={row:n,column:0}),this.start.row>t?u={row:t+1,column:0}:this.start.row<n&&(u={row:n,column:0}),i.fromPoints(u||this.start,r||this.end)};this.extend=function(n,t){var r=this.compare(n,t),u,f;return r==0?this:(r==-1?u={row:n,column:t}:f={row:n,column:t},i.fromPoints(u||this.start,f||this.end))};this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column};this.isMultiLine=function(){return this.start.row!==this.end.row};this.clone=function(){return i.fromPoints(this.start,this.end)};this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)};this.toScreenRange=function(n){var t=n.documentToScreenPosition(this.start),r=n.documentToScreenPosition(this.end);return new i(t.row,t.column,r.row,r.column)};this.moveBy=function(n,t){this.start.row+=n;this.start.column+=t;this.end.row+=n;this.end.column+=t}}).call(i.prototype);i.fromPoints=function(n,t){return new i(n.row,n.column,t.row,t.column)};i.comparePoints=r;i.comparePoints=function(n,t){return n.row-t.row||n.column-t.column};t.Range=i});ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(n,t){"use strict";var f=n("./lib/oop"),r=n("./lib/lang"),e=n("./lib/event_emitter").EventEmitter,i=n("./range").Range,u=function(n){this.session=n;this.doc=n.getDocument();this.clearSelection();this.lead=this.selectionLead=this.doc.createAnchor(0,0);this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on("change",function(n){t._emit("changeCursor");t.$isEmpty||t._emit("changeSelection");!t.$keepDesiredColumnOnChange&&n.old.column!=n.value.column&&(t.$desiredColumn=null)});this.selectionAnchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})};(function(){f.implement(this,e);this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column};this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()};this.getCursor=function(){return this.lead.getPosition()};this.setSelectionAnchor=function(n,t){this.anchor.setPosition(n,t);this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))};this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()};this.getSelectionLead=function(){return this.lead.getPosition()};this.shiftSelection=function(n){if(this.$isEmpty){this.moveCursorTo(this.lead.row,this.lead.column+n);return}var t=this.getSelectionAnchor(),i=this.getSelectionLead(),r=this.isBackwards();r&&t.column===0||this.setSelectionAnchor(t.row,t.column+n);(r||i.column!==0)&&this.$moveSelection(function(){this.moveCursorTo(i.row,i.column+n)})};this.isBackwards=function(){var n=this.anchor,t=this.lead;return n.row>t.row||n.row==t.row&&n.column>t.column};this.getRange=function(){var t=this.anchor,n=this.lead;return this.isEmpty()?i.fromPoints(n,n):this.isBackwards()?i.fromPoints(n,t):i.fromPoints(t,n)};this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))};this.selectAll=function(){var n=this.doc.getLength()-1;this.setSelectionAnchor(0,0);this.moveCursorTo(n,this.doc.getLine(n).length)};this.setRange=this.setSelectionRange=function(n,t){t?(this.setSelectionAnchor(n.end.row,n.end.column),this.selectTo(n.start.row,n.start.column)):(this.setSelectionAnchor(n.start.row,n.start.column),this.selectTo(n.end.row,n.end.column));this.getRange().isEmpty()&&(this.$isEmpty=!0);this.$desiredColumn=null};this.$moveSelection=function(n){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column);n.call(this)};this.selectTo=function(n,t){this.$moveSelection(function(){this.moveCursorTo(n,t)})};this.selectToPosition=function(n){this.$moveSelection(function(){this.moveCursorToPosition(n)})};this.moveTo=function(n,t){this.clearSelection();this.moveCursorTo(n,t)};this.moveToPosition=function(n){this.clearSelection();this.moveCursorToPosition(n)};this.selectUp=function(){this.$moveSelection(this.moveCursorUp)};this.selectDown=function(){this.$moveSelection(this.moveCursorDown)};this.selectRight=function(){this.$moveSelection(this.moveCursorRight)};this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)};this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)};this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)};this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)};this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)};this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)};this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)};this.getWordRange=function(n,t){if(typeof t=="undefined"){var i=n||this.lead;n=i.row;t=i.column}return this.session.getWordRange(n,t)};this.selectWord=function(){this.setSelectionRange(this.getWordRange())};this.selectAWord=function(){var n=this.getCursor(),t=this.session.getAWordRange(n.row,n.column);this.setSelectionRange(t)};this.getLineRange=function(n,t){var r=typeof n=="number"?n:this.lead.row,u,f=this.session.getFoldLine(r);return f?(r=f.start.row,u=f.end.row):u=r,t===!0?new i(r,0,u,this.session.getLine(u).length):new i(r,0,u+1,0)};this.selectLine=function(){this.setSelectionRange(this.getLineRange())};this.moveCursorUp=function(){this.moveCursorBy(-1,0)};this.moveCursorDown=function(){this.moveCursorBy(1,0)};this.moveCursorLeft=function(){var n=this.lead.getPosition(),i,t;(i=this.session.getFoldAt(n.row,n.column,-1))?this.moveCursorTo(i.start.row,i.start.column):n.column===0?n.row>0&&this.moveCursorTo(n.row-1,this.doc.getLine(n.row-1).length):(t=this.session.getTabSize(),this.session.isTabStop(n)&&this.doc.getLine(n.row).slice(n.column-t,n.column).split(" ").length-1==t?this.moveCursorBy(0,-t):this.moveCursorBy(0,-1))};this.moveCursorRight=function(){var n=this.lead.getPosition(),i,t;(i=this.session.getFoldAt(n.row,n.column,1))?this.moveCursorTo(i.end.row,i.end.column):this.lead.column==this.doc.getLine(this.lead.row).length?this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0):(t=this.session.getTabSize(),n=this.lead,this.session.isTabStop(n)&&this.doc.getLine(n.row).slice(n.column,n.column+t).split(" ").length-1==t?this.moveCursorBy(0,t):this.moveCursorBy(0,1))};this.moveCursorLineStart=function(){var t=this.lead.row,i=this.lead.column,u=this.session.documentToScreenRow(t,i),n=this.session.screenToDocumentPosition(u,0),f=this.session.getDisplayLine(t,null,n.row,n.column),r=f.match(/^\s*/);r[0].length==i||this.session.$useEmacsStyleLineStart||(n.column+=r[0].length);this.moveCursorToPosition(n)};this.moveCursorLineEnd=function(){var r=this.lead,n=this.session.getDocumentLastRowColumnPosition(r.row,r.column),t,i;this.lead.column==n.column&&(t=this.session.getLine(n.row),n.column==t.length&&(i=t.search(/\s+$/),i>0&&(n.column=i)));this.moveCursorTo(n.row,n.column)};this.moveCursorFileEnd=function(){var n=this.doc.getLength()-1,t=this.doc.getLine(n).length;this.moveCursorTo(n,t)};this.moveCursorFileStart=function(){this.moveCursorTo(0,0)};this.moveCursorLongWordRight=function(){var t=this.lead.row,n=this.lead.column,i=this.doc.getLine(t),u=i.substring(n),f,r;if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,r=this.session.getFoldAt(t,n,1),r){this.moveCursorTo(r.end.row,r.end.column);return}if((f=this.session.nonTokenRe.exec(u))&&(n+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,u=i.substring(n)),n>=i.length){this.moveCursorTo(t,i.length);this.moveCursorRight();t<this.doc.getLength()-1&&this.moveCursorWordRight();return}(f=this.session.tokenRe.exec(u))&&(n+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0);this.moveCursorTo(t,n)};this.moveCursorLongWordLeft=function(){var t=this.lead.row,n=this.lead.column,f,u,i,e;if(f=this.session.getFoldAt(t,n,-1)){this.moveCursorTo(f.start.row,f.start.column);return}if(u=this.session.getFoldStringAt(t,n,-1),u==null&&(u=this.doc.getLine(t).substring(0,n)),i=r.stringReverse(u),this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,(e=this.session.nonTokenRe.exec(i))&&(n-=this.session.nonTokenRe.lastIndex,i=i.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),n<=0){this.moveCursorTo(t,0);this.moveCursorLeft();t>0&&this.moveCursorWordLeft();return}(e=this.session.tokenRe.exec(i))&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0);this.moveCursorTo(t,n)};this.$shortWordEndIndex=function(n){var f,t=0,i,u=/\s/,r=this.session.tokenRe;if(r.lastIndex=0,f=this.session.tokenRe.exec(n))t=this.session.tokenRe.lastIndex;else{while((i=n[t])&&u.test(i))t++;if(t<1)for(r.lastIndex=0;(i=n[t])&&!r.test(i);)if(r.lastIndex=0,t++,u.test(i)){if(t>2){t--;break}while((i=n[t])&&u.test(i))t++;if(t>2)break}}return r.lastIndex=0,t};this.moveCursorShortWordRight=function(){var n=this.lead.row,t=this.lead.column,u=this.doc.getLine(n),i=u.substring(t),r=this.session.getFoldAt(n,t,1),f,e;if(r)return this.moveCursorTo(r.end.row,r.end.column);if(t==u.length){f=this.doc.getLength();do n++,i=this.doc.getLine(n);while(n<f&&/^\s*$/.test(i));/^\s+/.test(i)||(i="");t=0}e=this.$shortWordEndIndex(i);this.moveCursorTo(n,t+e)};this.moveCursorShortWordLeft=function(){var t=this.lead.row,i=this.lead.column,u,n,f,e;if(u=this.session.getFoldAt(t,i,-1))return this.moveCursorTo(u.start.row,u.start.column);if(n=this.session.getLine(t).substring(0,i),i===0){do t--,n=this.doc.getLine(t);while(t>0&&/^\s*$/.test(n));i=n.length;/\s+$/.test(n)||(n="")}return f=r.stringReverse(n),e=this.$shortWordEndIndex(f),this.moveCursorTo(t,i-e)};this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()};this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()};this.moveCursorBy=function(n,t){var r=this.session.documentToScreenPosition(this.lead.row,this.lead.column),i;t===0&&(this.$desiredColumn?r.column=this.$desiredColumn:this.$desiredColumn=r.column);i=this.session.screenToDocumentPosition(r.row+n,r.column);n!==0&&t===0&&i.row===this.lead.row&&i.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[i.row]&&(i.row>0||n>0)&&i.row++;this.moveCursorTo(i.row,i.column+t,t===0)};this.moveCursorToPosition=function(n){this.moveCursorTo(n.row,n.column)};this.moveCursorTo=function(n,t,i){var r=this.session.getFoldAt(n,t,1);r&&(n=r.start.row,t=r.start.column);this.$keepDesiredColumnOnChange=!0;this.lead.setPosition(n,t);this.$keepDesiredColumnOnChange=!1;i||(this.$desiredColumn=null)};this.moveCursorToScreen=function(n,t,i){var r=this.session.screenToDocumentPosition(n,t);this.moveCursorTo(r.row,r.column,i)};this.detach=function(){this.lead.detach();this.anchor.detach();this.session=this.doc=null};this.fromOrientedRange=function(n){this.setSelectionRange(n,n.cursor==n.start);this.$desiredColumn=n.desiredColumn||this.$desiredColumn};this.toOrientedRange=function(n){var t=this.getRange();return n?(n.start.column=t.start.column,n.start.row=t.start.row,n.end.column=t.end.column,n.end.row=t.end.row):n=t,n.cursor=this.isBackwards()?n.start:n.end,n.desiredColumn=this.$desiredColumn,n};this.getRangeOfMovements=function(n){var t=this.getCursor(),r;try{return n(this),r=this.getCursor(),i.fromPoints(t,r)}catch(u){return i.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}};this.toJSON=function(){var n;return this.rangeCount?n=this.ranges.map(function(n){var t=n.clone();return t.isBackwards=n.cursor==n.start,t}):(n=this.getRange(),n.isBackwards=this.isBackwards()),n};this.fromJSON=function(n){var t,r;if(n.start==undefined){if(this.rangeList){for(this.toSingleRange(n[0]),t=n.length;t--;)r=i.fromPoints(n[t].start,n[t].end),n[t].isBackwards&&(r.cursor=r.start),this.addRange(r,!0);return}n=n[0]}this.rangeList&&this.toSingleRange(n);this.setSelectionRange(n,n.isBackwards)};this.isEqual=function(n){if((n.length||this.rangeCount)&&n.length!=this.rangeCount)return!1;if(!n.length||!this.ranges)return this.getRange().isEqual(n);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(n[t]))return!1;return!0}}).call(u.prototype);t.Selection=u});ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(n,t){"use strict";var u=n("./config"),i=2e3,r=function(n){var f,r,t,u,i;this.states=n;this.regExps={};this.matchMappings={};for(f in this.states){var c=this.states[f],e=[],o=0,s=this.matchMappings[f]={defaultToken:"text"},h="g",l=[];for(r=0;r<c.length;r++)(t=c[r],t.defaultToken&&(s.defaultToken=t.defaultToken),t.caseInsensitive&&(h="gi"),t.regex!=null)&&(t.regex instanceof RegExp&&(t.regex=t.regex.toString().slice(1,-1)),u=t.regex,i=new RegExp("(?:("+u+")|(.))").exec("a").length-2,Array.isArray(t.token)?t.token.length==1||i==1?t.token=t.token[0]:i-1!=t.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:t,groupCount:i-1}),t.token=t.token[0]):(t.tokenArray=t.token,t.token=null,t.onMatch=this.$arrayTokens):typeof t.token=="function"&&!t.onMatch&&(t.onMatch=i>1?this.$applyToken:t.token),i>1&&(/\\\d/.test(t.regex)?u=t.regex.replace(/\\([0-9]+)/g,function(n,t){return"\\"+(parseInt(t,10)+o+1)}):(i=1,u=this.removeCapturingGroups(t.regex)),!t.splitRegex&&typeof t.token!="string"&&l.push(t)),s[o]=r,o+=i,e.push(u),t.onMatch||(t.onMatch=null));e.length||(s[0]=0,e.push("$"));l.forEach(function(n){n.splitRegex=this.createSplitterRegexp(n.regex,h)},this);this.regExps[f]=new RegExp("("+e.join(")|(")+")|($)",h)}};(function(){this.$setMaxTokenCount=function(n){i=n|0};this.$applyToken=function(n){var u=this.splitRegex.exec(n).slice(1),i=this.token.apply(this,u),r,t,f;if(typeof i=="string")return[{type:i,value:n}];for(r=[],t=0,f=i.length;t<f;t++)u[t]&&(r[r.length]={type:i[t],value:u[t]});return r};this.$arrayTokens=function(n){var i,r,u,t,f;if(!n)return[];if(i=this.splitRegex.exec(n),!i)return"text";for(r=[],u=this.tokenArray,t=0,f=u.length;t<f;t++)i[t+1]&&(r[r.length]={type:u[t],value:i[t+1]});return r};this.removeCapturingGroups=function(n){return n.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(n,t){return t?"(?:":n})};this.createSplitterRegexp=function(n,t){if(n.indexOf("(?=")!=-1){var r=0,u=!1,i={};n.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(n,t,f,e,o,s){return u?u=o!="]":o?u=!0:e?(r==i.stack&&(i.end=s+1,i.stack=-1),r--):f&&(r++,f.length!=1&&(i.stack=r,i.start=s)),n});i.end!=null&&/^\)*$/.test(n.substr(i.end))&&(n=n.substring(0,i.start)+n.substr(i.end))}return n.charAt(0)!="^"&&(n="^"+n),n.charAt(n.length-1)!="$"&&(n+="$"),new RegExp(n,(t||"").replace("g",""))};this.getLineTokens=function(n,t){var f,r,c,p,a,b,s;t&&typeof t!="string"?(f=t.slice(0),t=f[0],t==="#tmp"&&(f.shift(),t=f.shift())):f=[];r=t||"start";c=this.states[r];c||(r="start",c=this.states[r]);p=this.matchMappings[r];a=this.regExps[r];a.lastIndex=0;for(var w,l=[],h=0,k=0,u={type:null,value:""};w=a.exec(n);){var o=p.defaultToken,e=null,v=w[0],y=a.lastIndex;for(y-v.length>h&&(b=n.substring(h,y-v.length),u.type==o?u.value+=b:(u.type&&l.push(u),u={type:o,value:b})),s=0;s<w.length-2;s++)if(w[s+1]!==undefined){e=c[p[s]];o=e.onMatch?e.onMatch(v,r,f):e.token;e.next&&(r=typeof e.next=="string"?e.next:e.next(r,f),c=this.states[r],c||(this.reportError("state doesn't exist",r),r="start",c=this.states[r]),p=this.matchMappings[r],h=y,a=this.regExps[r],a.lastIndex=y);break}if(v)if(typeof o=="string")!!e&&e.merge===!1||u.type!==o?(u.type&&l.push(u),u={type:o,value:v}):u.value+=v;else if(o)for(u.type&&l.push(u),u={type:null,value:""},s=0;s<o.length;s++)l.push(o[s]);if(h==n.length)break;if(h=y,k++>i){for(k>2*n.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:n});h<n.length;)u.type&&l.push(u),u={value:n.substring(h,h+=2e3),type:"overflow"};r="start";f=[];break}}return u.type&&l.push(u),f.length>1&&f[0]!==r&&f.unshift("#tmp",r),{tokens:l,state:f.length?f:r}};this.reportError=u.reportError}).call(r.prototype);t.Tokenizer=r});ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(n,t){"use strict";var r=n("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(n,t){var r,u,f,i;if(!t){for(r in n)this.$rules[r]=n[r];return}for(r in n){for(u=n[r],f=0;f<u.length;f++)i=u[f],(i.next||i.onMatch)&&(typeof i.next=="string"&&i.next.indexOf(t)!==0&&(i.next=t+i.next),i.nextState&&i.nextState.indexOf(t)!==0&&(i.nextState=t+i.nextState));this.$rules[t+r]=u}};this.getRules=function(){return this.$rules};this.embedRules=function(n,t,i,u,f){var o=typeof n=="function"?(new n).getRules():n,s,h,e;if(u)for(e=0;e<u.length;e++)u[e]=t+u[e];else{u=[];for(s in o)u.push(t+s)}if(this.addRules(o,t),i)for(h=Array.prototype[f?"push":"unshift"],e=0;e<u.length;e++)h.apply(this.$rules[u[e]],r.deepCopy(i));this.$embeds||(this.$embeds=[]);this.$embeds.push(t)};this.getEmbeds=function(){return this.$embeds};var n=function(n,t){return(n!="start"||t.length)&&t.unshift(this.nextState,n),this.nextState},t=function(n,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){function r(f){var c=i[f],h,e,l,a,o,s,y,v;for(c.processed=!0,h=0;h<c.length;h++){if(e=c[h],l=null,Array.isArray(e)&&(l=e,e={}),!e.regex&&e.start&&(e.regex=e.start,e.next||(e.next=[]),e.next.push({defaultToken:e.token},{token:e.token+".end",regex:e.end||e.start,next:"pop"}),e.token=e.token+".start",e.push=!0),a=e.next||e.push,a&&Array.isArray(a)?(o=e.stateName,o||(o=e.token,typeof o!="string"&&(o=o[0]||""),i[o]&&(o+=u++)),i[o]=a,e.next=o,r(o)):a=="pop"&&(e.next=t),e.push&&(e.nextState=e.next||e.push,e.next=n,delete e.push),e.rules)for(s in e.rules)i[s]?i[s].push&&i[s].push.apply(i[s],e.rules[s]):i[s]=e.rules[s];y=typeof e=="string"?e:typeof e.include=="string"?e.include:"";y&&(l=i[y]);l&&(v=[h,1].concat(l),e.noEscape&&(v=v.filter(function(n){return!n.next})),c.splice.apply(c,v),h--);e.keywordMap&&(e.token=this.createKeywordMapper(e.keywordMap,e.defaultToken||"text",e.caseInsensitive),delete e.defaultToken)}}var u=0,i=this.$rules;Object.keys(i).forEach(r,this)};this.createKeywordMapper=function(n,t,i,r){var u=Object.create(null);return Object.keys(n).forEach(function(t){var f=n[t],e,o;for(i&&(f=f.toLowerCase()),e=f.split(r||"|"),o=e.length;o--;)u[e[o]]=t}),Object.getPrototypeOf(u)&&(u.__proto__=null),this.$keywordList=Object.keys(u),n=null,i?function(n){return u[n.toLowerCase()]||t}:function(n){return u[n]||t}};this.getKeywords=function(){return this.$keywords}}).call(i.prototype);t.TextHighlightRules=i});ace.define("ace/mode/behaviour",["require","exports","module"],function(n,t){"use strict";var i=function(){this.$behaviours={}};(function(){this.add=function(n,t,i){switch(undefined){case this.$behaviours:this.$behaviours={};case this.$behaviours[n]:this.$behaviours[n]={}}this.$behaviours[n][t]=i};this.addBehaviours=function(n){var t,i;for(t in n)for(i in n[t])this.add(t,i,n[t][i])};this.remove=function(n){this.$behaviours&&this.$behaviours[n]&&delete this.$behaviours[n]};this.inherit=function(n,t){var i;i=typeof n=="function"?(new n).getBehaviours(t):n.getBehaviours(t);this.addBehaviours(i)};this.getBehaviours=function(n){var i,t;if(!n)return this.$behaviours;for(i={},t=0;t<n.length;t++)this.$behaviours[n[t]]&&(i[n[t]]=this.$behaviours[n[t]]);return i}}).call(i.prototype);t.Behaviour=i});ace.define("ace/unicode",["require","exports","module"],function(n,t){"use strict";function i(n){var r=/\w{4}/g;for(var i in n)t.packages[i]=n[i].replace(r,"\\u$&")}t.packages={};i({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"})});ace.define("ace/token_iterator",["require","exports","module"],function(n,t){"use strict";var i=function(n,t,i){this.$session=n;this.$row=t;this.$rowTokens=n.getTokens(t);var r=n.getTokenAt(t,i);this.$tokenIndex=r?r.index:-1};(function(){this.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row);this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]};this.stepForward=function(){this.$tokenIndex+=1;for(var n;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,n||(n=this.$session.getLength()),this.$row>=n)return this.$row=n-1,null;this.$rowTokens=this.$session.getTokens(this.$row);this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]};this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]};this.getCurrentTokenRow=function(){return this.$row};this.getCurrentTokenColumn=function(){var i=this.$rowTokens,t=this.$tokenIndex,n=i[t].start;if(n!==undefined)return n;for(n=0;t>0;)t-=1,n+=i[t].value.length;return n};this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}}}).call(i.prototype);t.TokenIterator=i});ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(n,t){"use strict";var o=n("../tokenizer").Tokenizer,s=n("./text_highlight_rules").TextHighlightRules,h=n("./behaviour").Behaviour,i=n("../unicode"),r=n("../lib/lang"),u=n("../token_iterator").TokenIterator,f=n("../range").Range,e=function(){this.HighlightRules=s;this.$behaviour=new h};(function(){this.tokenRe=new RegExp("^["+i.packages.L+i.packages.Mn+i.packages.Mc+i.packages.Nd+i.packages.Pc+"\\$_]+","g");this.nonTokenRe=new RegExp("^(?:[^"+i.packages.L+i.packages.Mn+i.packages.Mc+i.packages.Nd+i.packages.Pc+"\\$_]|\\s])+","g");this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules,this.$tokenizer=new o(this.$highlightRules.getRules())),this.$tokenizer};this.lineCommentStart="";this.blockComment="";this.toggleCommentLines=function(n,t,i,u){function v(n){for(var t=i;t<=u;t++)n(e.getLine(t),t)}var e=t.doc,a=!0,c=!0,f=Infinity,o=t.getTabSize(),y=!1,s,h,l;if(this.lineCommentStart){Array.isArray(this.lineCommentStart)?(s=this.lineCommentStart.map(r.escapeRegExp).join("|"),h=this.lineCommentStart[0]):(s=r.escapeRegExp(this.lineCommentStart),h=this.lineCommentStart);s=new RegExp("^(\\s*)(?:"+s+") ?");y=t.getUseSoftTabs();var g=function(n,t){var r=n.match(s),u,i;r&&(u=r[1].length,i=r[0].length,b(n,u,i)||r[0][i-1]!=" "||i--,e.removeInLine(t,u,i))},nt=h+" ",d=function(n,t){(!a||/\S/.test(n))&&(b(n,f,f)?e.insertInLine({row:t,column:f},nt):e.insertInLine({row:t,column:f},h))},w=function(n){return s.test(n)},b=function(n,t,i){for(var r=0;t--&&n.charAt(t)==" ";)r++;if(r%o!=0)return!1;for(r=0;n.charAt(i++)==" ";)r++;return o>2?r%o!=o-1:r%o==0}}else{if(!this.blockComment)return!1;var h=this.blockComment.start,p=this.blockComment.end,s=new RegExp("^(\\s*)(?:"+r.escapeRegExp(h)+")"),k=new RegExp("(?:"+r.escapeRegExp(p)+")\\s*$"),d=function(n,t){w(n,t)||(!a||/\S/.test(n))&&(e.insertInLine({row:t,column:n.length},p),e.insertInLine({row:t,column:f},h))},g=function(n,t){var i;(i=n.match(k))&&e.removeInLine(t,n.length-i[0].length,n.length);(i=n.match(s))&&e.removeInLine(t,i[1].length,i[0].length)},w=function(n,i){var u,r;if(s.test(n))return!0;for(u=t.getTokens(i),r=0;r<u.length;r++)if(u[r].type==="comment")return!0}}l=Infinity;v(function(n,t){var i=n.search(/\S/);i!==-1?(i<f&&(f=i),c&&!w(n,t)&&(c=!1)):l>n.length&&(l=n.length)});f==Infinity&&(f=l,a=!1,c=!1);y&&f%o!=0&&(f=Math.floor(f/o)*o);v(c?g:d)};this.toggleBlockComment=function(n,t,i,r){var e=this.blockComment,p,w,s,o,h,c,l;if(e){!e.start&&e[0]&&(e=e[0]);var s=new u(t,r.row,r.column),o=s.getCurrentToken(),b=t.selection,a=t.selection.toOrientedRange(),v,y;if(o&&/comment/.test(o.type)){while(o&&/comment/.test(o.type)){if(h=o.value.indexOf(e.start),h!=-1){c=s.getCurrentTokenRow();l=s.getCurrentTokenColumn()+h;p=new f(c,l,c,l+e.start.length);break}o=s.stepBackward()}for(s=new u(t,r.row,r.column),o=s.getCurrentToken();o&&/comment/.test(o.type);){if(h=o.value.indexOf(e.end),h!=-1){c=s.getCurrentTokenRow();l=s.getCurrentTokenColumn()+h;w=new f(c,l,c,l+e.end.length);break}o=s.stepForward()}w&&t.remove(w);p&&(t.remove(p),v=p.start.row,y=-e.start.length)}else y=e.start.length,v=i.start.row,t.insert(i.end,e.end),t.insert(i.start,e.start);a.start.row==v&&(a.start.column+=y);a.end.row==v&&(a.end.column+=y);t.selection.fromOrientedRange(a)}};this.getNextLineIndent=function(n,t){return this.$getIndent(t)};this.checkOutdent=function(){return!1};this.autoOutdent=function(){};this.$getIndent=function(n){return n.match(/^\s*/)[0]};this.createWorker=function(){return null};this.createModeDelegates=function(n){var i,t;this.$embeds=[];this.$modes={};for(t in n)n[t]&&(this.$embeds.push(t),this.$modes[t]=new n[t]);for(i=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],t=0;t<i.length;t++)(function(n){var r=i[t],u=n[r];n[i[t]]=function(){return this.$delegator(r,arguments,u)}})(this)};this.$delegator=function(n,t,i){var u=t[0],r,f,e,o;for(typeof u!="string"&&(u=u[0]),r=0;r<this.$embeds.length;r++)if(this.$modes[this.$embeds[r]]&&(f=u.split(this.$embeds[r]),!f[0]&&f[1]))return t[0]=f[1],e=this.$modes[this.$embeds[r]],e[n].apply(e,t);return o=i.apply(this,t),i?o:undefined};this.transformAction=function(n,t){var i,r,u;if(this.$behaviour){i=this.$behaviour.getBehaviours();for(r in i)if(i[r][t]&&(u=i[r][t].apply(this,arguments),u))return u}};this.getKeywords=function(n){var e,r,i,t,o,f,s,u;if(!this.completionKeywords){e=this.$tokenizer.rules;r=[];for(u in e)for(i=e[u],t=0,o=i.length;t<o;t++)if(typeof i[t].token=="string")/keyword|support|storage/.test(i[t].token)&&r.push(i[t].regex);else if(typeof i[t].token=="object")for(f=0,s=i[t].token.length;f<s;f++)/keyword|support|storage/.test(i[t].token[f])&&(u=i[t].regex.match(/\(.+?\)/g)[f],r.push(u.substr(1,u.length-2)));this.completionKeywords=r}return n?r.concat(this.$keywordList||[]):this.$keywordList};this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]};this.getCompletions=function(){var n=this.$keywordList||this.$createKeywordList();return n.map(function(n){return{name:n,value:n,score:0,meta:"keyword"}})};this.$id="ace/mode/text"}).call(e.prototype);t.Mode=e});ace.define("ace/apply_delta",["require","exports","module"],function(n,t){"use strict";t.applyDelta=function(n,t){var i=t.start.row,u=t.start.column,r=n[i]||"",o,s,e,f;switch(t.action){case"insert":o=t.lines;o.length===1?n[i]=r.substring(0,u)+t.lines[0]+r.substring(u):(s=[i,1].concat(t.lines),n.splice.apply(n,s),n[i]=r.substring(0,u)+n[i],n[i+t.lines.length-1]+=r.substring(u));break;case"remove":e=t.end.column;f=t.end.row;i===f?n[i]=r.substring(0,u)+r.substring(e):n.splice(i,f-i+1,r.substring(0,u)+n[f].substring(e))}}});ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(n,t){"use strict";var i=n("./lib/oop"),r=n("./lib/event_emitter").EventEmitter,u=t.Anchor=function(n,t,i){this.$onChange=this.onChange.bind(this);this.attach(n);typeof i=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,i)};(function(){function n(n,t,i){var r=i?n.column<=t.column:n.column<t.column;return n.row<t.row||n.row==t.row&&r}function t(t,i,r){var f=t.action=="insert",o=(f?1:-1)*(t.end.row-t.start.row),s=(f?1:-1)*(t.end.column-t.start.column),u=t.start,e=f?u:t.end;return n(i,u,r)?{row:i.row,column:i.column}:n(e,i,!r)?{row:i.row+o,column:i.column+(i.row==e.row?s:0)}:{row:u.row,column:u.column}}i.implement(this,r);this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)};this.getDocument=function(){return this.document};this.$insertRight=!1;this.onChange=function(n){if((n.start.row!=n.end.row||n.start.row==this.row)&&!(n.start.row>this.row)){var i=t(n,{row:this.row,column:this.column},this.$insertRight);this.setPosition(i.row,i.column,!0)}};this.setPosition=function(n,t,i){var r,u;(r=i?{row:n,column:t}:this.$clipPositionToDocument(n,t),this.row!=r.row||this.column!=r.column)&&(u={row:this.row,column:this.column},this.row=r.row,this.column=r.column,this._signal("change",{old:u,value:r}))};this.detach=function(){this.document.removeEventListener("change",this.$onChange)};this.attach=function(n){this.document=n||this.document;this.document.on("change",this.$onChange)};this.$clipPositionToDocument=function(n,t){var i={};return n>=this.document.getLength()?(i.row=Math.max(0,this.document.getLength()-1),i.column=this.document.getLine(i.row).length):n<0?(i.row=0,i.column=0):(i.row=n,i.column=Math.min(this.document.getLine(i.row).length,Math.max(0,t))),t<0&&(i.column=0),i}}).call(u.prototype)});ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(n,t){"use strict";var u=n("./lib/oop"),f=n("./apply_delta").applyDelta,e=n("./lib/event_emitter").EventEmitter,i=n("./range").Range,o=n("./anchor").Anchor,r=function(n){this.$lines=[""];n.length===0?this.$lines=[""]:Array.isArray(n)?this.insertMergedLines({row:0,column:0},n):this.insert({row:0,column:0},n)};(function(){u.implement(this,e);this.setValue=function(n){var t=this.getLength()-1;this.remove(new i(0,0,t,this.getLine(t).length));this.insert({row:0,column:0},n)};this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())};this.createAnchor=function(n,t){return new o(this,n,t)};this.$split="aaa".split(/a/).length===0?function(n){return n.replace(/\r\n|\r/g,"\n").split("\n")}:function(n){return n.split(/\r\n|\r|\n/)};this.$detectNewLine=function(n){var t=n.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n";this._signal("changeNewLineMode")};this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}};this.$autoNewLine="";this.$newLineMode="auto";this.setNewLineMode=function(n){this.$newLineMode!==n&&(this.$newLineMode=n,this._signal("changeNewLineMode"))};this.getNewLineMode=function(){return this.$newLineMode};this.isNewLine=function(n){return n=="\r\n"||n=="\r"||n=="\n"};this.getLine=function(n){return this.$lines[n]||""};this.getLines=function(n,t){return this.$lines.slice(n,t+1)};this.getAllLines=function(){return this.getLines(0,this.getLength())};this.getLength=function(){return this.$lines.length};this.getTextRange=function(n){return this.getLinesForRange(n).join(this.getNewLineCharacter())};this.getLinesForRange=function(n){var t,i;return n.start.row===n.end.row?t=[this.getLine(n.start.row).substring(n.start.column,n.end.column)]:(t=this.getLines(n.start.row,n.end.row),t[0]=(t[0]||"").substring(n.start.column),i=t.length-1,n.end.row-n.start.row==i&&(t[i]=t[i].substring(0,n.end.column))),t};this.insertLines=function(n,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(n,t)};this.removeLines=function(n,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(n,t)};this.insertNewLine=function(n){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(n,["",""])};this.insert=function(n,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(n,this.$split(t))};this.insertInLine=function(n,t){var r=this.clippedPos(n.row,n.column),i=this.pos(n.row,n.column+t.length);return this.applyDelta({start:r,end:i,action:"insert",lines:[t]},!0),this.clonePos(i)};this.clippedPos=function(n,t){var i=this.getLength(),r;return n===undefined?n=i:n<0?n=0:n>=i&&(n=i-1,t=undefined),r=this.getLine(n),t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:n,column:t}};this.clonePos=function(n){return{row:n.row,column:n.column}};this.pos=function(n,t){return{row:n,column:t}};this.$clipPosition=function(n){var t=this.getLength();return n.row>=t?(n.row=Math.max(0,t-1),n.column=this.getLine(t-1).length):(n.row=Math.max(0,n.row),n.column=Math.min(Math.max(n.column,0),this.getLine(n.row).length)),n};this.insertFullLines=function(n,t){n=Math.min(Math.max(n,0),this.getLength());var i=0;n<this.getLength()?(t=t.concat([""]),i=0):(t=[""].concat(t),n--,i=this.$lines[n].length);this.insertMergedLines({row:n,column:i},t)};this.insertMergedLines=function(n,t){var i=this.clippedPos(n.row,n.column),r={row:i.row+t.length-1,column:(t.length==1?i.column:0)+t[t.length-1].length};return this.applyDelta({start:i,end:r,action:"insert",lines:t}),this.clonePos(r)};this.remove=function(n){var t=this.clippedPos(n.start.row,n.start.column),i=this.clippedPos(n.end.row,n.end.column);return this.applyDelta({start:t,end:i,action:"remove",lines:this.getLinesForRange({start:t,end:i})}),this.clonePos(t)};this.removeInLine=function(n,t,i){var r=this.clippedPos(n,t),u=this.clippedPos(n,i);return this.applyDelta({start:r,end:u,action:"remove",lines:this.getLinesForRange({start:r,end:u})},!0),this.clonePos(r)};this.removeFullLines=function(n,t){n=Math.min(Math.max(0,n),this.getLength()-1);t=Math.min(Math.max(0,t),this.getLength()-1);var u=t==this.getLength()-1&&n>0,f=t<this.getLength()-1,e=u?n-1:n,s=u?this.getLine(e).length:0,o=f?t+1:t,h=f?0:this.getLine(o).length,r=new i(e,s,o,h),c=this.$lines.slice(n,t+1);return this.applyDelta({start:r.start,end:r.end,action:"remove",lines:this.getLinesForRange(r)}),c};this.removeNewLine=function(n){n<this.getLength()-1&&n>=0&&this.applyDelta({start:this.pos(n,this.getLine(n).length),end:this.pos(n+1,0),action:"remove",lines:["",""]})};this.replace=function(n,t){if(n instanceof i||(n=i.fromPoints(n.start,n.end)),t.length===0&&n.isEmpty())return n.start;if(t==this.getTextRange(n))return n.end;this.remove(n);var r;return r=t?this.insert(n.start,t):n.start,r};this.applyDeltas=function(n){for(var t=0;t<n.length;t++)this.applyDelta(n[t])};this.revertDeltas=function(n){for(var t=n.length-1;t>=0;t--)this.revertDelta(n[t])};this.applyDelta=function(n,t){var r=n.action=="insert";(r?n.lines.length<=1&&!n.lines[0]:!i.comparePoints(n.start,n.end))||(r&&n.lines.length>2e4&&this.$splitAndapplyLargeDelta(n,2e4),f(this.$lines,n,t),this._signal("change",n))};this.$splitAndapplyLargeDelta=function(n,t){var o=n.lines,s=o.length,f=n.start.row,e=n.start.column,r=0,i=0,u;do{if(r=i,i+=t-1,u=o.slice(r,i),i>s){n.lines=u;n.start.row=f+r;n.start.column=e;break}u.push("");this.applyDelta({start:this.pos(f+r,e),end:this.pos(f+i,e=0),action:n.action,lines:u},!0)}while(1)};this.revertDelta=function(n){this.applyDelta({start:this.clonePos(n.start),end:this.clonePos(n.end),action:n.action=="insert"?"remove":"insert",lines:n.lines.slice()})};this.indexToPosition=function(n,t){for(var r=this.$lines||this.getAllLines(),f=this.getNewLineCharacter().length,i=t||0,u=r.length;i<u;i++)if(n-=r[i].length+f,n<0)return{row:i,column:n+r[i].length+f};return{row:u-1,column:r[u-1].length}};this.positionToIndex=function(n,t){for(var r=this.$lines||this.getAllLines(),f=this.getNewLineCharacter().length,u=0,e=Math.min(n.row,r.length),i=t||0;i<e;++i)u+=r[i].length+f;return u+n.column}}).call(r.prototype);t.Document=r});ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(n,t){"use strict";var r=n("./lib/oop"),u=n("./lib/event_emitter").EventEmitter,i=function(n){this.running=!1;this.lines=[];this.states=[];this.currentLine=0;this.tokenizer=n;var t=this;this.$worker=function(){var f,r;if(t.running){for(var e=new Date,n=t.currentLine,i=-1,o=t.doc,u=n;t.lines[n];)n++;for(f=o.getLength(),r=0,t.running=!1;n<f;){t.$tokenizeRow(n);i=n;do n++;while(t.lines[n]);if(r++,r%5==0&&new Date-e>20){t.running=setTimeout(t.$worker,20);break}}t.currentLine=n;u<=i&&t.fireUpdateEvent(u,i)}}};(function(){r.implement(this,u);this.setTokenizer=function(n){this.tokenizer=n;this.lines=[];this.states=[];this.start(0)};this.setDocument=function(n){this.doc=n;this.lines=[];this.states=[];this.stop()};this.fireUpdateEvent=function(n,t){var i={first:n,last:t};this._signal("update",{data:i})};this.start=function(n){this.currentLine=Math.min(n||0,this.currentLine,this.doc.getLength());this.lines.splice(this.currentLine,this.lines.length);this.states.splice(this.currentLine,this.states.length);this.stop();this.running=setTimeout(this.$worker,700)};this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))};this.$updateOnChange=function(n){var t=n.start.row,i=n.end.row-t,r;i===0?this.lines[t]=null:n.action=="remove"?(this.lines.splice(t,i+1,null),this.states.splice(t,i+1,null)):(r=Array(i+1),r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r));this.currentLine=Math.min(t,this.currentLine,this.doc.getLength());this.stop()};this.stop=function(){this.running&&clearTimeout(this.running);this.running=!1};this.getTokens=function(n){return this.lines[n]||this.$tokenizeRow(n)};this.getState=function(n){return this.currentLine==n&&this.$tokenizeRow(n),this.states[n]||"start"};this.$tokenizeRow=function(n){var i=this.doc.getLine(n),r=this.states[n-1],t=this.tokenizer.getLineTokens(i,r,n);return this.states[n]+""!=t.state+""?(this.states[n]=t.state,this.lines[n+1]=null,this.currentLine>n+1&&(this.currentLine=n+1)):this.currentLine==n&&(this.currentLine=n+1),this.lines[n]=t.tokens}}).call(i.prototype);t.BackgroundTokenizer=i});ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(n,t){"use strict";var r=n("./lib/lang"),f=n("./lib/oop"),u=n("./range").Range,i=function(n,t,i){this.setRegexp(n);this.clazz=t;this.type=i||"text"};(function(){this.MAX_RANGES=500;this.setRegexp=function(n){this.regExp+""!=n+""&&(this.regExp=n,this.cache=[])};this.update=function(n,t,i,f){var h,c,o,e,s;if(this.regExp)for(h=f.firstRow,c=f.lastRow,o=h;o<=c;o++)for(e=this.cache[o],e==null&&(e=r.getMatchOffsets(i.getLine(o),this.regExp),e.length>this.MAX_RANGES&&(e=e.slice(0,this.MAX_RANGES)),e=e.map(function(n){return new u(o,n.offset,o,n.offset+n.length)}),this.cache[o]=e.length?e:""),s=e.length;s--;)t.drawSingleLineMarker(n,e[s].toScreenRange(i),this.clazz,f)}}).call(i.prototype);t.SearchHighlight=i});ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(n,t){"use strict";function i(n,t){this.foldData=n;Array.isArray(t)?this.folds=t:t=this.folds=[t];var i=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,i.end.row,i.end.column);this.start=this.range.start;this.end=this.range.end;this.folds.forEach(function(n){n.setFoldLine(this)},this)}var r=n("../range").Range;(function(){this.shiftRow=function(n){this.start.row+=n;this.end.row+=n;this.folds.forEach(function(t){t.start.row+=n;t.end.row+=n})};this.addFold=function(n){if(n.sameRow){if(n.start.row<this.startRow||n.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(n);this.folds.sort(function(n,t){return-n.range.compareEnd(t.start.row,t.start.column)});this.range.compareEnd(n.start.row,n.start.column)>0?(this.end.row=n.end.row,this.end.column=n.end.column):this.range.compareStart(n.end.row,n.end.column)<0&&(this.start.row=n.start.row,this.start.column=n.start.column)}else if(n.start.row==this.end.row)this.folds.push(n),this.end.row=n.end.row,this.end.column=n.end.column;else{if(n.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(n);this.start.row=n.start.row;this.start.column=n.start.column}n.foldLine=this};this.containsRow=function(n){return n>=this.start.row&&n<=this.end.row};this.walk=function(n,t,i){var u=0,h=this.folds,r,s,f,e=!0,o;for(t==null&&(t=this.end.row,i=this.end.column),o=0;o<h.length;o++){if(r=h[o],s=r.range.compareStart(t,i),s==-1){n(null,t,i,u,e);return}if(f=n(null,r.start.row,r.start.column,u,e),f=!f&&n(r.placeholder,r.start.row,r.start.column,u),f||s===0)return;e=!r.sameRow;u=r.end.column}n(null,t,i,u,e)};this.getNextFoldTo=function(n,t){for(var i,r,u=0;u<this.folds.length;u++){if(i=this.folds[u],r=i.range.compareEnd(n,t),r==-1)return{fold:i,kind:"after"};if(r===0)return{fold:i,kind:"inside"}}return null};this.addRemoveChars=function(n,t,i){var e=this.getNextFoldTo(n,t),r,f,u;if(e)if(r=e.fold,e.kind=="inside"&&r.start.column!=t&&r.start.row!=n)window.console&&window.console.log(n,t,r);else if(r.start.row==n){for(f=this.folds,u=f.indexOf(r),u===0&&(this.start.column+=i),u;u<f.length;u++){if(r=f[u],r.start.column+=i,!r.sameRow)return;r.end.column+=i}this.end.column+=i}};this.split=function(n,t){var u=this.getNextFoldTo(n,t),o;if(!u||u.kind=="inside")return null;var h=u.fold,r=this.folds,f=this.foldData,e=r.indexOf(h),s=r[e-1];return this.end.row=s.end.row,this.end.column=s.end.column,r=r.splice(e,r.length-e),o=new i(f,r),f.splice(f.indexOf(this)+1,0,o),o};this.merge=function(n){for(var i,r=n.folds,t=0;t<r.length;t++)this.addFold(r[t]);i=this.foldData;i.splice(i.indexOf(n),1)};this.toString=function(){var n=[this.range.toString()+": ["];return this.folds.forEach(function(t){n.push("  "+t.toString())}),n.push("]"),n.join("\n")};this.idxToPosition=function(n){for(var t,r=0,i=0;i<this.folds.length;i++){if(t=this.folds[i],n-=t.start.column-r,n<0)return{row:t.start.row,column:t.start.column+n};if(n-=t.placeholder.length,n<0)return t.start;r=t.end.column}return{row:this.end.row,column:this.end.column+n}}}).call(i.prototype);t.FoldLine=i});ace.define("ace/range_list",["require","exports","module","ace/range"],function(n,t){"use strict";var u=n("./range").Range,i=u.comparePoints,r=function(){this.ranges=[]};(function(){this.comparePoints=i;this.pointIndex=function(n,t,r){for(var e,o,f,s=this.ranges,u=r||0;u<s.length;u++)if(e=s[u],o=i(n,e.end),!(o>0))return f=i(n,e.start),o===0?t&&f!==0?-u-2:u:f>0||f===0&&!t?u:-u-1;return-u-1};this.add=function(n){var r=!n.isEmpty(),t=this.pointIndex(n.start,r),i;return t<0&&(t=-t-1),i=this.pointIndex(n.end,r,t),i<0?i=-i-1:i++,this.ranges.splice(t,i-t,n)};this.addList=function(n){for(var t=[],i=n.length;i--;)t.push.apply(t,this.add(n[i]));return t};this.substractPoint=function(n){var t=this.pointIndex(n);if(t>=0)return this.ranges.splice(t,1)};this.merge=function(){var e=[],t=this.ranges,n,r,u,f;for(t=t.sort(function(n,t){return i(n.start,t.start)}),n=t[0],u=1;u<t.length;u++)(r=n,n=t[u],f=i(r.end,n.start),f<0)||(f!=0||r.isEmpty()||n.isEmpty())&&(i(r.end,n.end)<0&&(r.end.row=n.end.row,r.end.column=n.end.column),t.splice(u,1),e.push(n),n=r,u--);return this.ranges=t,e};this.contains=function(n,t){return this.pointIndex({row:n,column:t})>=0};this.containsPoint=function(n){return this.pointIndex(n)>=0};this.rangeAtPoint=function(n){var t=this.pointIndex(n);if(t>=0)return this.ranges[t]};this.clipRows=function(n,t){var u=this.ranges,i,r,e,f;if(u[0].start.row>t||u[u.length-1].start.row<n)return[];for(i=this.pointIndex({row:n,column:0}),i<0&&(i=-i-1),r=this.pointIndex({row:t,column:0},i),r<0&&(r=-r-1),e=[],f=i;f<r;f++)e.push(u[f]);return e};this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)};this.attach=function(n){this.session&&this.detach();this.session=n;this.onChange=this.$onChange.bind(this);this.session.on("change",this.onChange)};this.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)};this.$onChange=function(n){var o,r,i,e,t;n.action=="insert"?(r=n.start,o=n.end):(o=n.start,r=n.end);var u=r.row,c=o.row,f=c-u,s=-r.column+o.column,h=this.ranges;for(i=0,e=h.length;i<e;i++)if(t=h[i],!(t.end.row<u)){if(t.start.row>u)break;if(t.start.row==u&&t.start.column>=r.column&&(t.start.column!=r.column||!this.$insertRight)&&(t.start.column+=s,t.start.row+=f),t.end.row==u&&t.end.column>=r.column){if(t.end.column==r.column&&this.$insertRight)continue;t.end.column==r.column&&s>0&&i<e-1&&t.end.column>t.start.column&&t.end.column==h[i+1].start.column&&(t.end.column-=s);t.end.column+=s;t.end.row+=f}}if(f!=0&&i<e)for(;i<e;i++)t=h[i],t.start.row+=f,t.end.row+=f}}).call(r.prototype);t.RangeList=r});ace.define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"],function(n,t){"use strict";function r(n,t){n.row-=t.row;n.row==0&&(n.column-=t.column)}function f(n,t){r(n.start,t);r(n.end,t)}function u(n,t){n.row==0&&(n.column+=t.column);n.row+=t.row}function e(n,t){u(n.start,t);u(n.end,t)}var h=n("../range").Range,o=n("../range_list").RangeList,s=n("../lib/oop"),i=t.Fold=function(n,t){this.foldLine=null;this.placeholder=t;this.range=n;this.start=n.start;this.end=n.end;this.sameRow=n.start.row==n.end.row;this.subFolds=this.ranges=[]};s.inherits(i,o),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()};this.setFoldLine=function(n){this.foldLine=n;this.subFolds.forEach(function(t){t.setFoldLine(n)})};this.clone=function(){var t=this.range.clone(),n=new i(t,this.placeholder);return this.subFolds.forEach(function(t){n.subFolds.push(t.clone())}),n.collapseChildren=this.collapseChildren,n};this.addSubFold=function(n){var t,o,u,e,r,i,s,h;if(!this.range.isEqual(n)){if(!this.range.containsRange(n))throw new Error("A fold can't intersect already existing fold"+n.range+this.range);for(f(n,this.start),u=n.start.row,e=n.start.column,t=0,i=-1;t<this.subFolds.length;t++)if(i=this.subFolds[t].range.compare(u,e),i!=1)break;if(o=this.subFolds[t],i==0)return o.addSubFold(n);for(u=n.range.end.row,e=n.range.end.column,r=t,i=-1;r<this.subFolds.length;r++)if(i=this.subFolds[r].range.compare(u,e),i!=1)break;if(s=this.subFolds[r],i==0)throw new Error("A fold can't intersect already existing fold"+n.range+this.range);return h=this.subFolds.splice(t,r-t,n),n.setFoldLine(this.foldLine),n}};this.restoreRange=function(n){return e(n,this.start)}}.call(i.prototype)});ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(n,t){"use strict";function e(){this.getFoldAt=function(n,t,i){var e=this.getFoldLine(n),f,u,r;if(!e)return null;for(f=e.folds,u=0;u<f.length;u++)if(r=f[u],r.range.contains(n,t)){if(i==1&&r.range.isEnd(n,t))continue;if(i==-1&&r.range.isStart(n,t))continue;return r}};this.getFoldsInRange=function(n){var o=n.start,s=n.end,u=this.$foldData,h=[],i,t,f,r,e;for(o.column+=1,s.column-=1,i=0;i<u.length;i++)if(t=u[i].range.compareRange(n),t!=2){if(t==-2)break;for(f=u[i].folds,r=0;r<f.length;r++){if(e=f[r],t=e.range.compareRange(n),t==-2)break;if(t!=2){if(t==42)break;h.push(e)}}}return o.column-=1,s.column+=1,h};this.getFoldsInRangeList=function(n){var t;return Array.isArray(n)?(t=[],n.forEach(function(n){t=t.concat(this.getFoldsInRange(n))},this)):t=this.getFoldsInRange(n),t};this.getAllFolds=function(){for(var t,r=[],i=this.$foldData,n=0;n<i.length;n++)for(t=0;t<i[n].folds.length;t++)r.push(i[n].folds[t]);return r};this.getFoldStringAt=function(n,t,i,r){var u,f,e,o,s;if(r=r||this.getFoldLine(n),!r)return null;for(u={end:{column:0}},o=0;o<r.folds.length;o++){if(e=r.folds[o],s=e.range.compareEnd(n,t),s==-1){f=this.getLine(e.start.row).substring(u.end.column,e.start.column);break}if(s===0)return null;u=e}return f||(f=this.getLine(e.start.row).substring(u.end.column)),i==-1?f.substring(0,t-u.end.column):i==1?f.substring(t-u.end.column):f};this.getFoldLine=function(n,t){var u=this.$foldData,i=0,r;for(t&&(i=u.indexOf(t)),i==-1&&(i=0),i;i<u.length;i++){if(r=u[i],r.start.row<=n&&r.end.row>=n)return r;if(r.end.row>n)return null}return null};this.getNextFoldLine=function(n,t){var r=this.$foldData,i=0,u;for(t&&(i=r.indexOf(t)),i==-1&&(i=0),i;i<r.length;i++)if(u=r[i],u.end.row>=n)return u;return null};this.getFoldedRowCount=function(n,t){for(var e=this.$foldData,r=t-n+1,f=0;f<e.length;f++){var o=e[f],u=o.end.row,i=o.start.row;if(u>=t){i<t&&(i>=n?r-=t-i:r=0);break}u>=n&&(r-=i>=n?u-i:u-n+1)}return r};this.$addFoldLine=function(n){return this.$foldData.push(n),this.$foldData.sort(function(n,t){return n.start.row-t.start.row}),n};this.addFold=function(n,t){var v=this.$foldData,y=!1,i,o,h,l,c,f,a;n instanceof u?i=n:(i=new u(t,n),i.collapseChildren=t.collapseChildren);this.$clipRangeToDocument(i.range);var s=i.start.row,p=i.start.column,e=i.end.row,w=i.end.column;if(s<e||s==e&&p<=w-2){if(o=this.getFoldAt(s,p,1),h=this.getFoldAt(e,w,-1),o&&h==o)return o.addSubFold(i);for(o&&!o.range.isStart(s,p)&&this.removeFold(o),h&&!h.range.isEnd(e,w)&&this.removeFold(h),l=this.getFoldsInRange(i.range),l.length>0&&(this.removeFolds(l),l.forEach(function(n){i.addSubFold(n)})),c=0;c<v.length;c++){if(f=v[c],e==f.start.row){f.addFold(i);y=!0;break}if(s==f.end.row){if(f.addFold(i),y=!0,!i.sameRow&&(a=v[c+1],a&&a.start.row==e)){f.merge(a);break}break}if(e<=f.start.row)break}return y||(f=this.$addFoldLine(new r(this.$foldData,i))),this.$useWrapMode?this.$updateWrapData(f.start.row,f.start.row):this.$updateRowLengthCache(f.start.row,f.start.row),this.$modified=!0,this._signal("changeFold",{data:i,action:"add"}),i}throw new Error("The range has to be at least 2 characters width");};this.addFolds=function(n){n.forEach(function(n){this.addFold(n)},this)};this.removeFold=function(n){var i=n.foldLine,u=i.start.row,f=i.end.row,e=this.$foldData,t=i.folds,r;t.length==1?e.splice(e.indexOf(i),1):i.range.isEnd(n.end.row,n.end.column)?(t.pop(),i.end.row=t[t.length-1].end.row,i.end.column=t[t.length-1].end.column):i.range.isStart(n.start.row,n.start.column)?(t.shift(),i.start.row=t[0].start.row,i.start.column=t[0].start.column):n.sameRow?t.splice(t.indexOf(n),1):(r=i.split(n.start.row,n.start.column),t=r.folds,t.shift(),r.start.row=t[0].start.row,r.start.column=t[0].start.column);this.$updating||(this.$useWrapMode?this.$updateWrapData(u,f):this.$updateRowLengthCache(u,f));this.$modified=!0;this._signal("changeFold",{data:n,action:"remove"})};this.removeFolds=function(n){for(var i=[],t=0;t<n.length;t++)i.push(n[t]);i.forEach(function(n){this.removeFold(n)},this);this.$modified=!0};this.expandFold=function(n){this.removeFold(n);n.subFolds.forEach(function(t){n.restoreRange(t);this.addFold(t)},this);n.collapseChildren>0&&this.foldAll(n.start.row+1,n.end.row,n.collapseChildren-1);n.subFolds=[]};this.expandFolds=function(n){n.forEach(function(n){this.expandFold(n)},this)};this.unfold=function(n,t){var u,r,f;if(n==null?(u=new i(0,0,this.getLength(),0),t=!0):u=typeof n=="number"?new i(n,0,n,this.getLine(n).length):"row"in n?i.fromPoints(n,n):n,r=this.getFoldsInRangeList(u),t)this.removeFolds(r);else for(f=r;f.length;)this.expandFolds(f),f=this.getFoldsInRangeList(u);if(r.length)return r};this.isRowFolded=function(n,t){return!!this.getFoldLine(n,t)};this.getRowFoldEnd=function(n,t){var i=this.getFoldLine(n,t);return i?i.end.row:n};this.getRowFoldStart=function(n,t){var i=this.getFoldLine(n,t);return i?i.start.row:n};this.getFoldDisplayLine=function(n,t,i,r,u){r==null&&(r=n.start.row);u==null&&(u=0);t==null&&(t=n.end.row);i==null&&(i=this.getLine(t).length);var e=this.doc,f="";return n.walk(function(n,t,i,o){if(!(t<r)){if(t==r){if(i<u)return;o=Math.max(u,o)}f+=n!=null?n:e.getLine(t).substring(o,i)}},t,i),f};this.getDisplayLine=function(n,t,i,r){var f=this.getFoldLine(n),u;return f?this.getFoldDisplayLine(f,n,t,i,r):(u=this.doc.getLine(n),u.substring(r||0,t||u.length))};this.$cloneFoldData=function(){var n=[];return n=this.$foldData.map(function(t){var i=t.folds.map(function(n){return n.clone()});return new r(n,i)}),n};this.toggleFold=function(n){var o=this.selection,t=o.getRange(),i,r,u,e,f;if(t.isEmpty()){if(u=t.start,i=this.getFoldAt(u.row,u.column),i){this.expandFold(i);return}(r=this.findMatchingBracket(u))?t.comparePoint(r)==1?t.end=r:(t.start=r,t.start.column++,t.end.column--):(r=this.findMatchingBracket({row:u.row,column:u.column+1}))?(t.comparePoint(r)==1?t.end=r:t.start=r,t.start.column++):t=this.getCommentFoldRange(u.row,u.column)||t}else{if(e=this.getFoldsInRange(t),n&&e.length){this.expandFolds(e);return}e.length==1&&(i=e[0])}if(i||(i=this.getFoldAt(t.start.row,t.start.column)),i&&i.range.toString()==t.toString()){this.expandFold(i);return}if(f="...",!t.isMultiLine()){if(f=this.getTextRange(t),f.length<4)return;f=f.trim().substring(0,2)+".."}this.addFold(f,t)};this.getCommentFoldRange=function(n,t,r){var e=new f(this,n,t),u=e.getCurrentToken(),o,s;if(u&&/^comment|string/.test(u.type)){if(o=new i,s=new RegExp(u.type.replace(/\..*/,"\\.")),r!=1){do u=e.stepBackward();while(u&&s.test(u.type));e.stepForward()}if(o.start.row=e.getCurrentTokenRow(),o.start.column=e.getCurrentTokenColumn()+2,e=new f(this,n,t),r!=-1){do u=e.stepForward();while(u&&s.test(u.type));u=e.stepBackward()}else u=e.getCurrentToken();return o.end.row=e.getCurrentTokenRow(),o.end.column=e.getCurrentTokenColumn()+u.value.length-2,o}};this.foldAll=function(n,t,i){var f,r,u,e;if(i==undefined&&(i=1e5),f=this.foldWidgets,f)for(t=t||this.getLength(),n=n||0,r=n;r<t;r++)if((f[r]==null&&(f[r]=this.getFoldWidget(r)),f[r]=="start")&&(u=this.getFoldWidgetRange(r),u&&u.isMultiLine()&&u.end.row<=t&&u.start.row>=n)){r=u.end.row;try{e=this.addFold("...",u);e&&(e.collapseChildren=i)}catch(o){}}};this.$foldStyles={manual:1,markbegin:1,markbeginend:1};this.$foldStyle="markbegin";this.setFoldStyle=function(n){if(!this.$foldStyles[n])throw new Error("invalid fold style: "+n+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=n){this.$foldStyle=n;n=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null);this.$setFolding(t)}};this.$setFolding=function(n){if(this.$foldMode!=n){if(this.$foldMode=n,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!n||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[];this.getFoldWidget=n.getFoldWidget.bind(n,this,this.$foldStyle);this.getFoldWidgetRange=n.getFoldWidgetRange.bind(n,this,this.$foldStyle);this.$updateFoldWidgets=this.updateFoldWidgets.bind(this);this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this);this.on("change",this.$updateFoldWidgets);this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}};this.getParentFoldRangeData=function(n,t){var u=this.foldWidgets,i,e,f,r;if(!u||t&&u[n])return{};for(i=n-1;i>=0;){if(f=u[i],f==null&&(f=u[i]=this.getFoldWidget(i)),f=="start"&&(r=this.getFoldWidgetRange(i),e||(e=r),r&&r.end.row>=n))break;i--}return{range:i!==-1&&r,firstRange:e}};this.onFoldWidgetClick=function(n,t){var r,u,i;t=t.domEvent;r={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};u=this.$toggleFoldWidget(n,r);u||(i=t.target||t.srcElement,i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid"))};this.$toggleFoldWidget=function(n,t){var i,u,o,f;if(this.getFoldWidget){var s=this.getFoldWidget(n),h=this.getLine(n),e=s==="end"?-1:1,r=this.getFoldAt(n,e===-1?0:h.length,e);if(r){t.children||t.all?this.removeFold(r):this.expandFold(r);return}if(i=this.getFoldWidgetRange(n,!0),i&&!i.isMultiLine()&&(r=this.getFoldAt(i.start.row,i.start.column,1),r&&i.isEqual(r.range))){this.removeFold(r);return}return t.siblings?(u=this.getParentFoldRangeData(n),u.range&&(o=u.range.start.row+1,f=u.range.end.row),this.foldAll(o,f,t.all?1e4:0)):t.children?(f=i?i.end.row:this.getLength(),this.foldAll(n+1,f,t.all?1e4:0)):i&&(t.all&&(i.collapseChildren=1e4),this.addFold("...",i)),i}};this.toggleFoldWidget=function(){var n=this.selection.getCursor().row,t,i,r;(n=this.getRowFoldStart(n),t=this.$toggleFoldWidget(n,{}),t)||(i=this.getParentFoldRangeData(n,!0),t=i.range||i.firstRange,t&&(n=t.start.row,r=this.getFoldAt(n,this.getLine(n).length,1),r?this.removeFold(r):this.addFold("...",t)))};this.updateFoldWidgets=function(n){var t=n.start.row,i=n.end.row-t,r;i===0?this.foldWidgets[t]=null:n.action=="remove"?this.foldWidgets.splice(t,i+1,null):(r=Array(i+1),r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r))};this.tokenizerUpdateFoldWidgets=function(n){var t=n.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var i=n("../range").Range,r=n("./fold_line").FoldLine,u=n("./fold").Fold,f=n("../token_iterator").TokenIterator;t.Folding=e});ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(n,t){"use strict";function u(){this.findMatchingBracket=function(n,t){var r,i;return n.column==0?null:(r=t||this.getLine(n.row).charAt(n.column-1),r=="")?null:(i=r.match(/([\(\[\{])|([\)\]\}])/),i?i[1]?this.$findClosingBracket(i[1],n):this.$findOpeningBracket(i[2],n):null)};this.getBracketRange=function(n){var o=this.getLine(n.row),e=!0,t,f=o.charAt(n.column-1),i=f&&f.match(/([\(\[\{])|([\)\]\}])/),u;if(i||(f=o.charAt(n.column),n={row:n.row,column:n.column+1},i=f&&f.match(/([\(\[\{])|([\)\]\}])/),e=!1),!i)return null;if(i[1]){if(u=this.$findClosingBracket(i[1],n),!u)return null;t=r.fromPoints(n,u);e||(t.end.column++,t.start.column--);t.cursor=t.end}else{if(u=this.$findOpeningBracket(i[2],n),!u)return null;t=r.fromPoints(u,n);e||(t.start.column++,t.end.column--);t.cursor=t.start}return t};this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"};this.$findOpeningBracket=function(n,t,r){var c=this.$brackets[n],s=1,f=new i(this,t.row,t.column),u=f.getCurrentToken(),e,o,h;if(u||(u=f.stepForward()),u){for(r||(r=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+")),e=t.column-f.getCurrentTokenColumn()-2,o=u.value;;){while(e>=0){if(h=o.charAt(e),h==c){if(s-=1,s==0)return{row:f.getCurrentTokenRow(),column:e+f.getCurrentTokenColumn()}}else h==n&&(s+=1);e-=1}do u=f.stepBackward();while(u&&!r.test(u.type));if(u==null)break;o=u.value;e=o.length-1}return null}};this.$findClosingBracket=function(n,t,r){var l=this.$brackets[n],o=1,f=new i(this,t.row,t.column),u=f.getCurrentToken(),e,s,c,h;if(u||(u=f.stepForward()),u){for(r||(r=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+")),e=t.column-f.getCurrentTokenColumn();;){for(s=u.value,c=s.length;e<c;){if(h=s.charAt(e),h==l){if(o-=1,o==0)return{row:f.getCurrentTokenRow(),column:e+f.getCurrentTokenColumn()}}else h==n&&(o+=1);e+=1}do u=f.stepForward();while(u&&!r.test(u.type));if(u==null)break;e=0}return null}}}var i=n("../token_iterator").TokenIterator,r=n("../range").Range;t.BracketMatch=u});ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(n,t){"use strict";var e=n("./lib/oop"),f=n("./lib/lang"),r=n("./config"),o=n("./lib/event_emitter").EventEmitter,s=n("./selection").Selection,h=n("./mode/text").Mode,i=n("./range").Range,c=n("./document").Document,l=n("./background_tokenizer").BackgroundTokenizer,a=n("./search_highlight").SearchHighlight,u=function(n,t){this.$breakpoints=[];this.$decorations=[];this.$frontMarkers={};this.$backMarkers={};this.$markerId=1;this.$undoSelect=!0;this.$foldData=[];this.$foldData.toString=function(){return this.join("\n")};this.on("changeFold",this.onChangeFold.bind(this));this.$onChange=this.onChange.bind(this);typeof n=="object"&&n.getLine||(n=new c(n));this.setDocument(n);this.selection=new s(this);r.resetOptions(this);this.setMode(t);r._signal("session",this)};(function(){function s(n){return n<4352?!1:n>=4352&&n<=4447||n>=4515&&n<=4519||n>=4602&&n<=4607||n>=9001&&n<=9002||n>=11904&&n<=11929||n>=11931&&n<=12019||n>=12032&&n<=12245||n>=12272&&n<=12283||n>=12288&&n<=12350||n>=12353&&n<=12438||n>=12441&&n<=12543||n>=12549&&n<=12589||n>=12593&&n<=12686||n>=12688&&n<=12730||n>=12736&&n<=12771||n>=12784&&n<=12830||n>=12832&&n<=12871||n>=12880&&n<=13054||n>=13056&&n<=19903||n>=19968&&n<=42124||n>=42128&&n<=42182||n>=43360&&n<=43388||n>=44032&&n<=55203||n>=55216&&n<=55238||n>=55243&&n<=55291||n>=63744&&n<=64255||n>=65040&&n<=65049||n>=65072&&n<=65106||n>=65108&&n<=65126||n>=65128&&n<=65131||n>=65281&&n<=65376||n>=65504&&n<=65510}e.implement(this,o);this.setDocument=function(n){this.doc&&this.doc.removeListener("change",this.$onChange);this.doc=n;n.on("change",this.$onChange);this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument());this.resetCaches()};this.getDocument=function(){return this.doc};this.$resetRowCache=function(n){if(!n){this.$docRowCache=[];this.$screenRowCache=[];return}var t=this.$docRowCache.length,i=this.$getRowCacheIndex(this.$docRowCache,n)+1;t>i&&(this.$docRowCache.splice(i,t),this.$screenRowCache.splice(i,t))};this.$getRowCacheIndex=function(n,t){for(var r=0,u=n.length-1,i,f;r<=u;)if(i=r+u>>1,f=n[i],t>f)r=i+1;else{if(!(t<f))return i;u=i-1}return r-1};this.resetCaches=function(){this.$modified=!0;this.$wrapData=[];this.$rowLengthCache=[];this.$resetRowCache(0);this.bgTokenizer&&this.bgTokenizer.start(0)};this.onChangeFold=function(n){var t=n.data;this.$resetRowCache(t.start.row)};this.onChange=function(n){this.$modified=!0;this.$resetRowCache(n.start.row);var t=this.$updateInternalDataOnChange(n);this.$fromUndo||!this.$undoManager||n.ignore||(this.$deltasDoc.push(n),t&&t.length!=0&&this.$deltasFold.push({action:"removeFolds",folds:t}),this.$informUndoManager.schedule());this.bgTokenizer&&this.bgTokenizer.$updateOnChange(n);this._signal("change",n)};this.setValue=function(n){this.doc.setValue(n);this.selection.moveTo(0,0);this.$resetRowCache(0);this.$deltas=[];this.$deltasDoc=[];this.$deltasFold=[];this.setUndoManager(this.$undoManager);this.getUndoManager().reset()};this.getValue=this.toString=function(){return this.doc.getValue()};this.getSelection=function(){return this.selection};this.getState=function(n){return this.bgTokenizer.getState(n)};this.getTokens=function(n){return this.bgTokenizer.getTokens(n)};this.getTokenAt=function(n,t){var u=this.bgTokenizer.getTokens(n),r,f=0,i;if(t==null)i=u.length-1,f=this.getLine(n).length;else for(i=0;i<u.length;i++)if(f+=u[i].value.length,f>=t)break;return r=u[i],r?(r.index=i,r.start=f-r.value.length,r):null};this.setUndoManager=function(n){if(this.$undoManager=n,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel(),n){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel();t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]);t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]);t.$deltas.length>0&&n.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas});t.mergeUndoDeltas=!1;t.$deltas=[]};this.$informUndoManager=f.delayedCall(this.$syncInformUndoManager)}};this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()};this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}};this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager};this.getTabString=function(){return this.getUseSoftTabs()?f.stringRepeat(" ",this.getTabSize()):"\t"};this.setUseSoftTabs=function(n){this.setOption("useSoftTabs",n)};this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs};this.setTabSize=function(n){this.setOption("tabSize",n)};this.getTabSize=function(){return this.$tabSize};this.isTabStop=function(n){return this.$useSoftTabs&&n.column%this.$tabSize==0};this.$overwrite=!1;this.setOverwrite=function(n){this.setOption("overwrite",n)};this.getOverwrite=function(){return this.$overwrite};this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)};this.addGutterDecoration=function(n,t){this.$decorations[n]||(this.$decorations[n]="");this.$decorations[n]+=" "+t;this._signal("changeBreakpoint",{})};this.removeGutterDecoration=function(n,t){this.$decorations[n]=(this.$decorations[n]||"").replace(" "+t,"");this._signal("changeBreakpoint",{})};this.getBreakpoints=function(){return this.$breakpoints};this.setBreakpoints=function(n){this.$breakpoints=[];for(var t=0;t<n.length;t++)this.$breakpoints[n[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})};this.clearBreakpoints=function(){this.$breakpoints=[];this._signal("changeBreakpoint",{})};this.setBreakpoint=function(n,t){t===undefined&&(t="ace_breakpoint");t?this.$breakpoints[n]=t:delete this.$breakpoints[n];this._signal("changeBreakpoint",{})};this.clearBreakpoint=function(n){delete this.$breakpoints[n];this._signal("changeBreakpoint",{})};this.addMarker=function(n,t,i,r){var u=this.$markerId++,f={range:n,type:i||"line",renderer:typeof i=="function"?i:null,clazz:t,inFront:!!r,id:u};return r?(this.$frontMarkers[u]=f,this._signal("changeFrontMarker")):(this.$backMarkers[u]=f,this._signal("changeBackMarker")),u};this.addDynamicMarker=function(n,t){if(n.update){var i=this.$markerId++;return n.id=i,n.inFront=!!t,t?(this.$frontMarkers[i]=n,this._signal("changeFrontMarker")):(this.$backMarkers[i]=n,this._signal("changeBackMarker")),n}};this.removeMarker=function(n){var t=this.$frontMarkers[n]||this.$backMarkers[n],i;t&&(i=t.inFront?this.$frontMarkers:this.$backMarkers,t&&(delete i[n],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker")))};this.getMarkers=function(n){return n?this.$frontMarkers:this.$backMarkers};this.highlight=function(n){if(!this.$searchHighlight){var t=new a(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(n)};this.highlightLines=function(n,t,r,u){typeof t!="number"&&(r=t,t=n);r||(r="ace_step");var f=new i(n,0,t,Infinity);return f.id=this.addMarker(f,r,"fullLine",u),f};this.setAnnotations=function(n){this.$annotations=n;this._signal("changeAnnotation",{})};this.getAnnotations=function(){return this.$annotations||[]};this.clearAnnotations=function(){this.setAnnotations([])};this.$detectNewLine=function(n){var t=n.match(/^.*?(\r?\n)/m);this.$autoNewLine=t?t[1]:"\n"};this.getWordRange=function(n,t){var u=this.getLine(n),e=!1,o,r,f;if(t>0&&(e=!!u.charAt(t-1).match(this.tokenRe)),e||(e=!!u.charAt(t).match(this.tokenRe)),o=e?this.tokenRe:/^\s+$/.test(u.slice(t-1,t+1))?/\s/:this.nonTokenRe,r=t,r>0){do r--;while(r>=0&&u.charAt(r).match(o));r++}for(f=t;f<u.length&&u.charAt(f).match(o);)f++;return new i(n,r,n,f)};this.getAWordRange=function(n,t){for(var i=this.getWordRange(n,t),r=this.getLine(i.end.row);r.charAt(i.end.column).match(/[ \t]/);)i.end.column+=1;return i};this.setNewLineMode=function(n){this.doc.setNewLineMode(n)};this.getNewLineMode=function(){return this.doc.getNewLineMode()};this.setUseWorker=function(n){this.setOption("useWorker",n)};this.getUseWorker=function(){return this.$useWorker};this.onReloadTokenizer=function(n){var t=n.data;this.bgTokenizer.start(t.first);this._signal("tokenizerUpdate",n)};this.$modes={};this.$mode=null;this.$modeId=null;this.setMode=function(n,t){if(n&&typeof n=="object"){if(n.getTokenizer)return this.$onChangeMode(n);var u=n,i=u.path}else i=n||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new h),this.$modes[i]&&!u){this.$onChangeMode(this.$modes[i]);t&&t();return}this.$modeId=i;r.loadModule(["mode",i],function(n){if(this.$modeId!==i)return t&&t();this.$modes[i]&&!u?this.$onChangeMode(this.$modes[i]):n&&n.Mode&&(n=new n.Mode(u),u||(this.$modes[i]=n,n.$id=i),this.$onChangeMode(n));t&&t()}.bind(this));this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)};this.$onChangeMode=function(n,t){var i,r,u;(t||(this.$modeId=n.$id),this.$mode!==n)&&(this.$mode=n,this.$stopWorker(),this.$useWorker&&this.$startWorker(),i=n.getTokenizer(),i.addEventListener!==undefined&&(r=this.onReloadTokenizer.bind(this),i.addEventListener("update",r)),this.bgTokenizer?this.bgTokenizer.setTokenizer(i):(this.bgTokenizer=new l(i),u=this,this.bgTokenizer.addEventListener("update",function(n){u._signal("tokenizerUpdate",n)})),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=n.tokenRe,this.nonTokenRe=n.nonTokenRe,t||(n.attachToSession&&n.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(n.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode")))};this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)};this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(n){r.warn("Could not load worker",n);this.$worker=null}};this.getMode=function(){return this.$mode};this.$scrollTop=0;this.setScrollTop=function(n){this.$scrollTop===n||isNaN(n)||(this.$scrollTop=n,this._signal("changeScrollTop",n))};this.getScrollTop=function(){return this.$scrollTop};this.$scrollLeft=0;this.setScrollLeft=function(n){this.$scrollLeft===n||isNaN(n)||(this.$scrollLeft=n,this._signal("changeScrollLeft",n))};this.getScrollLeft=function(){return this.$scrollLeft};this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth};this.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var n=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>n&&(n=t.screenWidth)}),this.lineWidgetWidth=n};this.$computeWidth=function(n){var t;if(this.$modified||n){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var f=this.doc.getAllLines(),r=this.$rowLengthCache,u=0,e=0,i=this.$foldData[e],o=i?i.start.row:Infinity,s=f.length;for(t=0;t<s;t++){if(t>o){if(t=i.end.row+1,t>=s)break;i=this.$foldData[e++];o=i?i.start.row:Infinity}r[t]==null&&(r[t]=this.$getStringScreenWidth(f[t])[0]);r[t]>u&&(u=r[t])}this.screenWidth=u}};this.getLine=function(n){return this.doc.getLine(n)};this.getLines=function(n,t){return this.doc.getLines(n,t)};this.getLength=function(){return this.doc.getLength()};this.getTextRange=function(n){return this.doc.getTextRange(n||this.selection.getRange())};this.insert=function(n,t){return this.doc.insert(n,t)};this.remove=function(n){return this.doc.remove(n)};this.removeFullLines=function(n,t){return this.doc.removeFullLines(n,t)};this.undoChanges=function(n,t){var i,u,r;if(n.length){for(this.$fromUndo=!0,i=null,u=n.length-1;u!=-1;u--)r=n[u],r.group=="doc"?(this.doc.revertDeltas(r.deltas),i=this.$getUndoSelection(r.deltas,!0,i)):r.deltas.forEach(function(n){this.addFolds(n.folds)},this);return this.$fromUndo=!1,i&&this.$undoSelect&&!t&&this.selection.setSelectionRange(i),i}};this.redoChanges=function(n,t){var i,r,u;if(n.length){for(this.$fromUndo=!0,i=null,r=0;r<n.length;r++)u=n[r],u.group=="doc"&&(this.doc.applyDeltas(u.deltas),i=this.$getUndoSelection(u.deltas,!1,i));return this.$fromUndo=!1,i&&this.$undoSelect&&!t&&this.selection.setSelectionRange(i),i}};this.setUndoSelect=function(n){this.$undoSelect=n};this.$getUndoSelection=function(n,t,r){function c(n){return t?n.action!=="insert":n.action==="insert"}var f=n[0],u,e,o=!1,s,h;for(c(f)?(u=i.fromPoints(f.start,f.end),o=!0):(u=i.fromPoints(f.start,f.start),o=!1),s=1;s<n.length;s++)f=n[s],c(f)?(e=f.start,u.compare(e.row,e.column)==-1&&u.setStart(e),e=f.end,u.compare(e.row,e.column)==1&&u.setEnd(e),o=!0):(e=f.start,u.compare(e.row,e.column)==-1&&(u=i.fromPoints(f.start,f.start)),o=!1);return r!=null&&(i.comparePoints(r.start,u.start)===0&&(r.start.column+=u.end.column-u.start.column,r.end.column+=u.end.column-u.start.column),h=r.compareRange(u),h==1?u.setStart(r.start):h==-1&&u.setEnd(r.end)),u};this.replace=function(n,t){return this.doc.replace(n,t)};this.moveText=function(n,t,r){var c=this.getTextRange(n),s=this.getFoldsInRange(n),u=i.fromPoints(t,t),f,e;if(r||(this.remove(n),f=n.start.row-n.end.row,e=f?-n.end.column:n.start.column-n.end.column,e&&(u.start.row==n.end.row&&u.start.column>n.end.column&&(u.start.column+=e),u.end.row==n.end.row&&u.end.column>n.end.column&&(u.end.column+=e)),f&&u.start.row>=n.end.row&&(u.start.row+=f,u.end.row+=f)),u.end=this.insert(u.start,c),s.length){var o=n.start,h=u.start,f=h.row-o.row,e=h.column-o.column;this.addFolds(s.map(function(n){return n=n.clone(),n.start.row==o.row&&(n.start.column+=e),n.end.row==o.row&&(n.end.column+=e),n.start.row+=f,n.end.row+=f,n}))}return u};this.indentRows=function(n,t,i){i=i.replace(/\t/g,this.getTabString());for(var r=n;r<=t;r++)this.doc.insertInLine({row:r,column:0},i)};this.outdentRows=function(n){for(var f,t,e=n.collapseRows(),r=new i(0,0,0,0),o=this.getTabSize(),u=e.start.row;u<=e.end.row;++u){for(f=this.getLine(u),r.start.row=u,r.end.row=u,t=0;t<o;++t)if(f.charAt(t)!=" ")break;t<o&&f.charAt(t)=="\t"?(r.start.column=t,r.end.column=t+1):(r.start.column=0,r.end.column=t);this.remove(r)}};this.$moveLines=function(n,t,r){var f,u;if(n=this.getRowFoldStart(n),t=this.getRowFoldEnd(t),r<0){if(f=this.getRowFoldStart(n+r),f<0)return 0;u=f-n}else if(r>0){if(f=this.getRowFoldEnd(t+r),f>this.doc.getLength()-1)return 0;u=f-t}else n=this.$clipRowToDocument(n),t=this.$clipRowToDocument(t),u=t-n+1;var o=new i(n,0,t,Number.MAX_VALUE),e=this.getFoldsInRange(o).map(function(n){return n=n.clone(),n.start.row+=u,n.end.row+=u,n}),s=r==0?this.doc.getLines(n,t):this.doc.removeFullLines(n,t);return this.doc.insertFullLines(n+u,s),e.length&&this.addFolds(e),u};this.moveLinesUp=function(n,t){return this.$moveLines(n,t,-1)};this.moveLinesDown=function(n,t){return this.$moveLines(n,t,1)};this.duplicateLines=function(n,t){return this.$moveLines(n,t,0)};this.$clipRowToDocument=function(n){return Math.max(0,Math.min(n,this.doc.getLength()-1))};this.$clipColumnToRow=function(n,t){return t<0?0:Math.min(this.doc.getLine(n).length,t)};this.$clipPositionToDocument=function(n,t){if(t=Math.max(0,t),n<0)n=0,t=0;else{var i=this.doc.getLength();n>=i?(n=i-1,t=this.doc.getLine(i-1).length):t=Math.min(this.doc.getLine(n).length,t)}return{row:n,column:t}};this.$clipRangeToDocument=function(n){n.start.row<0?(n.start.row=0,n.start.column=0):n.start.column=this.$clipColumnToRow(n.start.row,n.start.column);var t=this.doc.getLength()-1;return n.end.row>t?(n.end.row=t,n.end.column=this.doc.getLine(t).length):n.end.column=this.$clipColumnToRow(n.end.row,n.end.column),n};this.$wrapLimit=80;this.$useWrapMode=!1;this.$wrapLimitRange={min:null,max:null};this.setUseWrapMode=function(n){if(n!=this.$useWrapMode){if(this.$useWrapMode=n,this.$modified=!0,this.$resetRowCache(0),n){var t=this.getLength();this.$wrapData=Array(t);this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}};this.getUseWrapMode=function(){return this.$useWrapMode};this.setWrapLimitRange=function(n,t){(this.$wrapLimitRange.min!==n||this.$wrapLimitRange.max!==t)&&(this.$wrapLimitRange={min:n,max:t},this.$modified=!0,this.$useWrapMode&&this._signal("changeWrapMode"))};this.adjustWrapLimit=function(n,t){var i=this.$wrapLimitRange,r;return i.max<0&&(i={min:t,max:t}),r=this.$constrainWrapLimit(n,i.min,i.max),r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1};this.$constrainWrapLimit=function(n,t,i){return t&&(n=Math.max(t,n)),i&&(n=Math.min(i,n)),n};this.getWrapLimit=function(){return this.$wrapLimit};this.setWrapLimit=function(n){this.setWrapLimitRange(n,n)};this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}};this.$updateInternalDataOnChange=function(n){var l=this.$useWrapMode,p=n.action,f=n.start,e=n.end,i=f.row,s=e.row,r=s-i,h=null,o,u,c,a,v,y,t;if(this.$updating=!0,r!=0)if(p==="remove"){for(this[l?"$wrapData":"$rowLengthCache"].splice(i,r),o=this.$foldData,h=this.getFoldsInRange(n),this.removeFolds(h),t=this.getFoldLine(e.row),u=0,t&&(t.addRemoveChars(e.row,e.column,f.column-e.column),t.shiftRow(-r),c=this.getFoldLine(i),c&&c!==t&&(c.merge(t),t=c),u=o.indexOf(t)+1),u;u<o.length;u++)t=o[u],t.start.row>=e.row&&t.shiftRow(-r);s=i}else{a=Array(r);a.unshift(i,0);v=l?this.$wrapData:this.$rowLengthCache;v.splice.apply(v,a);var o=this.$foldData,t=this.getFoldLine(i),u=0;for(t&&(y=t.range.compareInside(f.row,f.column),y==0?(t=t.split(f.row,f.column),t&&(t.shiftRow(r),t.addRemoveChars(s,0,e.column-f.column))):y==-1&&(t.addRemoveChars(i,0,e.column-f.column),t.shiftRow(r)),u=o.indexOf(t)+1),u;u<o.length;u++)t=o[u],t.start.row>=i&&t.shiftRow(r)}else r=Math.abs(n.start.column-n.end.column),p==="remove"&&(h=this.getFoldsInRange(n),this.removeFolds(h),r=-r),t=this.getFoldLine(i),t&&t.addRemoveChars(i,f.column,r);return l&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,l?this.$updateWrapData(i,s):this.$updateRowLengthCache(i,s),h};this.$updateRowLengthCache=function(n,t){this.$rowLengthCache[n]=null;this.$rowLengthCache[t]=null};this.$updateWrapData=function(t,i){var o=this.doc.getAllLines(),s=this.getTabSize(),h=this.$wrapData,c=this.$wrapLimit,r,f,e=t;for(i=Math.min(i,o.length-1);e<=i;)f=this.getFoldLine(e,f),f?(r=[],f.walk(function(t,i,f,e){var s,h;if(t!=null)for(s=this.$getDisplayTokens(t,r.length),s[0]=n,h=1;h<s.length;h++)s[h]=u;else s=this.$getDisplayTokens(o[i].substring(e,f),r.length);r=r.concat(s)}.bind(this),f.end.row,o[f.end.row].length+1),h[f.start.row]=this.$computeWrapSplits(r,c,s),e=f.end.row+1):(r=this.$getDisplayTokens(o[e]),h[e]=this.$computeWrapSplits(r,c,s),e++)};var c=1,v=2,n=3,u=4,y=9,t=10,p=11,w=12;this.$computeWrapSplits=function(i,r,f){function g(){var n=0,r,u;if(d===0)return n;if(a)for(r=0;r<i.length;r++)if(u=i[r],u==t)n+=1;else{if(u!=p){if(u==w)continue;break}n+=f}return k&&a!==!1&&(n+=f),Math.min(n,d)}function h(n){var r=i.slice(o,n),t=r.length;r.join("").replace(/12/g,function(){t-=1}).replace(/2/g,function(){t-=1});l.length||(c=g(),l.indent=c);b+=t;l.push(b);o=n}var e,s;if(i.length==0)return[];for(var l=[],nt=i.length,o=0,b=0,k=this.$wrapAsCode,a=this.$indentedSoftWrap,d=r<=Math.max(2*f,8)||a===!1?0:Math.floor(r/2),c=0;nt-o>r-c;){if(e=o+r-c,i[e-1]>=t&&i[e]>=t){h(e);continue}if(i[e]==n||i[e]==u){for(e;e!=o-1;e--)if(i[e]==n)break;if(e>o){h(e);continue}for(e=o+r,e;e<i.length;e++)if(i[e]!=u)break;if(e==i.length)break;h(e);continue}for(s=Math.max(e-(r-(r>>2)),o-1);e>s&&i[e]<n;)e--;if(k){while(e>s&&i[e]<n)e--;while(e>s&&i[e]==y)e--}else while(e>s&&i[e]<t)e--;if(e>s){h(++e);continue}e=o+r;i[e]==v&&e--;h(e-c)}return l};this.$getDisplayTokens=function(n,i){var u=[],o,f,r,e;for(i=i||0,f=0;f<n.length;f++)if(r=n.charCodeAt(f),r==9)for(o=this.getScreenTabSize(u.length+i),u.push(p),e=1;e<o;e++)u.push(w);else r==32?u.push(t):r>39&&r<48||r>57&&r<64?u.push(y):r>=4352&&s(r)?u.push(c,v):u.push(c);return u};this.$getStringScreenWidth=function(n,t,i){if(t==0)return[0,0];t==null&&(t=Infinity);i=i||0;for(var u,r=0;r<n.length;r++)if(u=n.charCodeAt(r),i+=u==9?this.getScreenTabSize(i):u>=4352&&s(u)?2:1,i>t)break;return[i,r]};this.lineWidgets=null;this.getRowLength=function(n){if(this.lineWidgets)var t=this.lineWidgets[n]&&this.lineWidgets[n].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[n]?1+t:this.$wrapData[n].length+1+t};this.getRowLineCount=function(n){return!this.$useWrapMode||!this.$wrapData[n]?1:this.$wrapData[n].length+1};this.getRowWrapIndent=function(n){if(this.$useWrapMode){var i=this.screenToDocumentPosition(n,Number.MAX_VALUE),t=this.$wrapData[i.row];return t.length&&t[0]<i.column?t.indent:0}return 0};this.getScreenLastRowColumn=function(n){var t=this.screenToDocumentPosition(n,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)};this.getDocumentLastRowColumn=function(n,t){var i=this.documentToScreenRow(n,t);return this.getScreenLastRowColumn(i)};this.getDocumentLastRowColumnPosition=function(n,t){var i=this.documentToScreenRow(n,t);return this.screenToDocumentPosition(i,Number.MAX_VALUE/10)};this.getRowSplitData=function(n){return this.$useWrapMode?this.$wrapData[n]:undefined};this.getScreenTabSize=function(n){return this.$tabSize-n%this.$tabSize};this.screenToDocumentRow=function(n,t){return this.screenToDocumentPosition(n,t).row};this.screenToDocumentColumn=function(n,t){return this.screenToDocumentPosition(n,t).column};this.screenToDocumentPosition=function(n,t){var w,p,u,l;if(n<0)return{row:0,column:0};var o,i=0,f=0,a,e=0,s=0,h=this.$screenRowCache,v=this.$getRowCacheIndex(h,n),y=h.length;if(y&&v>=0)var e=h[v],i=this.$docRowCache[v],w=n>h[y-1];else w=!y;for(var c=this.getLength()-1,r=this.getNextFoldLine(i),b=r?r.start.row:Infinity;e<=n;){if(s=this.getRowLength(i),e+s>n||i>=c)break;e+=s;i++;i>b&&(i=r.end.row+1,r=this.getNextFoldLine(i,r),b=r?r.start.row:Infinity);w&&(this.$docRowCache.push(i),this.$screenRowCache.push(e))}if(r&&r.start.row<=i)o=this.getFoldDisplayLine(r),i=r.start.row;else{if(e+s<=n||i>c)return{row:c,column:this.getLine(c).length};o=this.getLine(i);r=null}return p=0,this.$useWrapMode&&(u=this.$wrapData[i],u&&(l=Math.floor(n-e),a=u[l],l>0&&u.length&&(p=u.indent,f=u[l-1]||u[u.length-1],o=o.substring(f)))),f+=this.$getStringScreenWidth(o,t-p)[1],this.$useWrapMode&&f>=a&&(f=a-1),r?r.idxToPosition(f):{row:i,column:f}};this.documentToScreenPosition=function(n,t){var a,b,i,l,u,w,e,o;a=typeof t=="undefined"?this.$clipPositionToDocument(n.row,n.column):this.$clipPositionToDocument(n,t);n=a.row;t=a.column;var s=0,v=null,h=null;h=this.getFoldAt(n,t,1);h&&(n=h.start.row,t=h.start.column);var f,r=0,c=this.$docRowCache,y=this.$getRowCacheIndex(c,n),p=c.length;if(p&&y>=0)var r=c[y],s=this.$screenRowCache[y],b=n>c[p-1];else b=!p;for(i=this.getNextFoldLine(r),l=i?i.start.row:Infinity;r<n;){if(r>=l){if(f=i.end.row+1,f>n)break;i=this.getNextFoldLine(f,i);l=i?i.start.row:Infinity}else f=r+1;s+=this.getRowLength(r);r=f;b&&(this.$docRowCache.push(r),this.$screenRowCache.push(s))}if(u="",i&&r>=l?(u=this.getFoldDisplayLine(i,n,t),v=i.start.row):(u=this.getLine(n).substring(0,t),v=n),w=0,this.$useWrapMode&&(e=this.$wrapData[v],e)){for(o=0;u.length>=e[o];)s++,o++;u=u.substring(e[o-1]||0,u.length);w=o>0?e.indent:0}return{row:s,column:w+this.$getStringScreenWidth(u)[0]}};this.documentToScreenColumn=function(n,t){return this.documentToScreenPosition(n,t).column};this.documentToScreenRow=function(n,t){return this.documentToScreenPosition(n,t).row};this.getScreenLength=function(){var i=0,n=null,u,t,f;if(this.$useWrapMode)for(var o=this.$wrapData.length,r=0,t=0,n=this.$foldData[t++],e=n?n.start.row:Infinity;r<o;)f=this.$wrapData[r],i+=f?f.length+1:1,r++,r>e&&(r=n.end.row+1,n=this.$foldData[t++],e=n?n.start.row:Infinity);else for(i=this.getLength(),u=this.$foldData,t=0;t<u.length;t++)n=u[t],i-=n.end.row-n.start.row;return this.lineWidgets&&(i+=this.$getWidgetScreenLength()),i};this.$setFontMetrics=function(n){this.$enableVarChar&&(this.$getStringScreenWidth=function(t,i,r){if(i===0)return[0,0];i||(i=Infinity);r=r||0;for(var f,u=0;u<t.length;u++)if(f=t.charAt(u),r+=f==="\t"?this.getScreenTabSize(r):n.getCharacterWidth(f),r>i)break;return[r,u]})};this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null);this.$stopWorker()}}).call(u.prototype);n("./edit_session/folding").Folding.call(u.prototype);n("./edit_session/bracket_match").BracketMatch.call(u.prototype);r.defineOptions(u.prototype,"session",{wrap:{set:function(n){if(!n||n=="off"?n=!1:n=="free"?n=!0:n=="printMargin"?n=-1:typeof n=="string"&&(n=parseInt(n,10)||!1),this.$wrap!=n)if(this.$wrap=n,n){var t=typeof n=="number"?n:null;this.setWrapLimitRange(t,t);this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(n){n=n=="auto"?this.$mode.type!="text":n!="text";n!=this.$wrapAsCode&&(this.$wrapAsCode=n,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(n){this.$useWorker=n;this.$stopWorker();n&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(n){isNaN(n)||this.$tabSize===n||(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=n,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},overwrite:{set:function(){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(n){this.doc.setNewLineMode(n)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(n){this.setMode(n)},get:function(){return this.$modeId}}});t.EditSession=u});ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(n,t){"use strict";var i=n("./lib/lang"),f=n("./lib/oop"),r=n("./range").Range,u=function(){this.$options={}};(function(){this.set=function(n){return f.mixin(this.$options,n),this};this.getOptions=function(){return i.copyObject(this.$options)};this.setOptions=function(n){this.$options=n};this.find=function(n){var i=this.$options,u=this.$matchIterator(n,i),t;return u?(t=null,u.forEach(function(n,u,f){if(n.start)t=n;else{var e=n.offset+(f||0);if(t=new r(u,e,u,e+n.length),!n.length&&i.start&&i.start.start&&i.skipCurrent!=0&&t.isEqual(i.start))return t=null,!1}return!0}),t):!1};this.findAll=function(n){var l=this.$options,s,p,a,e,u,y,t,v;if(!l.needle)return[];this.$assembleRegExp(l);var o=l.range,h=o?n.getLines(o.start.row,o.end.row):n.doc.getAllLines(),f=[],c=l.re;if(l.$isMultiLine){s=c.length;p=h.length-s;n:for(e=c.offset||0;e<=p;e++){for(t=0;t<s;t++)if(h[e+t].search(c[t])==-1)continue n;var w=h[e],k=h[e+s-1],b=w.length-w.match(c[0])[0].length,d=k.match(c[s-1])[0].length;a&&a.end.row===e&&a.end.column>b||(f.push(a=new r(e,b,e+s-1,d)),s>2&&(e=e+s-2))}}else for(u=0;u<h.length;u++)for(y=i.getMatchOffsets(h[u],c),t=0;t<y.length;t++)v=y[t],f.push(new r(u,v.offset,u,v.offset+v.length));if(o){for(var g=o.start.column,nt=o.start.column,u=0,t=f.length-1;u<t&&f[u].start.column<g&&f[u].start.row==o.start.row;)u++;while(u<t&&f[t].end.column>nt&&f[t].end.row==o.end.row)t--;for(f=f.slice(u,t+1),u=0,t=f.length;u<t;u++)f[u].start.row+=o.start.row,f[u].end.row+=o.start.row}return f};this.replace=function(n,t){var u=this.$options,f=this.$assembleRegExp(u),e,i,r;if(u.$isMultiLine)return t;if(f){if(e=f.exec(n),!e||e[0].length!=n.length)return null;if(t=n.replace(f,t),u.preserveCase){for(t=t.split(""),i=Math.min(n.length,n.length);i--;)r=n[i],t[i]=r&&r.toLowerCase()!=r?t[i].toUpperCase():t[i].toLowerCase();t=t.join("")}return t}};this.$matchIterator=function(n,t){var u=this.$assembleRegExp(t),f,e,o,s;return u?(t.$isMultiLine?(e=u.length,o=function(t,i,o){var c=t.search(u[0]),s,l,h;if(c!=-1){for(s=1;s<e;s++)if(t=n.getLine(i+s),t.search(u[s])==-1)return;return l=t.match(u[e-1])[0].length,h=new r(i,c,i+e-1,l),u.offset==1?(h.start.row--,h.start.column=Number.MAX_VALUE):o&&(h.start.column+=o),f(h)?!0:void 0}}):o=t.backwards?function(n,t,r){for(var o=i.getMatchOffsets(n,u),e=o.length-1;e>=0;e--)if(f(o[e],t,r))return!0}:function(n,t,r){for(var o=i.getMatchOffsets(n,u),e=0;e<o.length;e++)if(f(o[e],t,r))return!0},s=this.$lineIterator(n,t),{forEach:function(n){f=n;s.forEach(o)}}):!1};this.$assembleRegExp=function(n,t){var r,u,f;if(n.needle instanceof RegExp)return n.re=n.needle;if(r=n.needle,!n.needle)return n.re=!1;if(n.regExp||(r=i.escapeRegExp(r)),n.wholeWord&&(r="\\b"+r+"\\b"),u=n.caseSensitive?"gm":"gmi",n.$isMultiLine=!t&&/[\n\r]/.test(r),n.$isMultiLine)return n.re=this.$assembleMultilineRegExp(r,u);try{f=new RegExp(r,u)}catch(e){f=!1}return n.re=f};this.$assembleMultilineRegExp=function(n,t){for(var r=n.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),i=[],u=0;u<r.length;u++)try{i.push(new RegExp(r[u],t))}catch(f){return!1}return r[0]==""?(i.shift(),i.offset=1):i.offset=0,i};this.$lineIterator=function(n,t){var e=t.backwards==1,o=t.skipCurrent!=0,r=t.range,i=t.start;i||(i=r?r[e?"end":"start"]:n.selection.getRange());i.start&&(i=i[o!=e?"end":"start"]);var u=r?r.start.row:0,f=r?r.end.row:n.getLength()-1,s=e?function(r){var e=i.row,o=n.getLine(e).substring(0,i.column);if(!r(o,e)){for(e--;e>=u;e--)if(r(n.getLine(e),e))return;if(t.wrap!=0)for(e=f,u=i.row;e>=u;e--)if(r(n.getLine(e),e))return}}:function(r){var e=i.row,o=n.getLine(e).substr(i.column);if(!r(o,e,i.column)){for(e+=1;e<=f;e++)if(r(n.getLine(e),e))return;if(t.wrap!=0)for(e=u,f=i.row;e<=f;e++)if(r(n.getLine(e),e))return}};return{forEach:s}}}).call(u.prototype);t.Search=u});ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(n,t){"use strict";function r(n,t){this.platform=t||(e.isMac?"mac":"win");this.commands={};this.commandKeyBinding={};this.addCommands(n);this.$singleCommand=!0}function f(n,t){r.call(this,n,t);this.$singleCommand=!1}var i=n("../lib/keys"),e=n("../lib/useragent"),u=i.KEY_MODS;f.prototype=r.prototype,function(){function n(n){return typeof n=="object"&&n.bindKey&&n.bindKey.position||0}this.addCommand=function(n){this.commands[n.name]&&this.removeCommand(n);this.commands[n.name]=n;n.bindKey&&this._buildKeyHash(n)};this.removeCommand=function(n,t){var e=n&&(typeof n=="string"?n:n.name),r,u,i,f;n=this.commands[e];t||delete this.commands[e];r=this.commandKeyBinding;for(u in r)i=r[u],i==n?delete r[u]:Array.isArray(i)&&(f=i.indexOf(n),f!=-1&&(i.splice(f,1),i.length==1&&(r[u]=i[0])))};this.bindKey=function(n,t,i){if(typeof n=="object"&&n&&(i==undefined&&(i=n.position),n=n[this.platform]),n){if(typeof t=="function")return this.addCommand({exec:t,bindKey:n,name:t.name||n});n.split("|").forEach(function(n){var r="",f,e,o;n.indexOf(" ")!=-1&&(f=n.split(/\s+/),n=f.pop(),f.forEach(function(n){var t=this.parseKeys(n),i=u[t.hashId]+t.key;r+=(r?" ":"")+i;this._addCommandToBinding(r,"chainKeys")},this),r+=" ");e=this.parseKeys(n);o=u[e.hashId]+e.key;this._addCommandToBinding(r+o,t,i)},this)}};this._addCommandToBinding=function(t,i,r){var u=this.commandKeyBinding,f,e,o,s;if(i)if(!u[t]||this.$singleCommand)u[t]=i;else{for(Array.isArray(u[t])?(f=u[t].indexOf(i))!=-1&&u[t].splice(f,1):u[t]=[u[t]],typeof r!="number"&&(r=r||i.isDefault?-100:n(i)),e=u[t],f=0;f<e.length;f++)if(o=e[f],s=n(o),s>r)break;e.splice(f,0,i)}else delete u[t]};this.addCommands=function(n){n&&Object.keys(n).forEach(function(t){var i=n[t];if(i){if(typeof i=="string")return this.bindKey(i,t);(typeof i=="function"&&(i={exec:i}),typeof i=="object")&&(i.name||(i.name=t),this.addCommand(i))}},this)};this.removeCommands=function(n){Object.keys(n).forEach(function(t){this.removeCommand(n[t])},this)};this.bindKeys=function(n){Object.keys(n).forEach(function(t){this.bindKey(t,n[t])},this)};this._buildKeyHash=function(n){this.bindKey(n.bindKey,n)};this.parseKeys=function(n){var t=n.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(n){return n}),r=t.pop(),o=i[r],f,u,e;if(i.FUNCTION_KEYS[o])r=i.FUNCTION_KEYS[o].toLowerCase();else{if(!t.length)return{key:r,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:r.toUpperCase(),hashId:-1}}for(f=0,u=t.length;u--;){if(e=i.KEY_MODS[t[u]],e==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[u]+" in "+n),!1;f|=e}return{key:r,hashId:f}};this.findKeyCommand=function(n,t){var i=u[n]+t;return this.commandKeyBinding[i]};this.handleKeyboard=function(n,t,i,r){if(!(r<0)){var e=u[t]+i,f=this.commandKeyBinding[e];return(n.$keyChain&&(n.$keyChain+=" "+e,f=this.commandKeyBinding[n.$keyChain]||f),f&&(f=="chainKeys"||f[f.length-1]=="chainKeys"))?(n.$keyChain=n.$keyChain||e,{command:"null"}):(n.$keyChain&&((!t||t==4)&&i.length==1?n.$keyChain=n.$keyChain.slice(0,-e.length-1):(t==-1||r>0)&&(n.$keyChain="")),{command:f})}};this.getStatusText=function(n,t){return t.$keyChain||""}}.call(r.prototype);t.HashHandler=r;t.MultiHashHandler=f});ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(n,t){"use strict";var r=n("../lib/oop"),u=n("../keyboard/hash_handler").MultiHashHandler,f=n("../lib/event_emitter").EventEmitter,i=function(n,t){u.call(this,t,n);this.byName=this.commands;this.setDefaultHandler("exec",function(n){return n.command.exec(n.editor,n.args||{})})};r.inherits(i,u),function(){r.implement(this,f);this.exec=function(n,t,i){var u,r;if(Array.isArray(n)){for(u=n.length;u--;)if(this.exec(n[u],t,i))return!0;return!1}return(typeof n=="string"&&(n=this.commands[n]),!n)?!1:t&&t.$readOnly&&!n.readOnly?!1:(r={editor:t,command:n,args:i},r.returnValue=this._emit("exec",r),this._signal("afterExec",r),r.returnValue===!1?!1:!0)};this.toggleRecording=function(n){if(!this.$inReplay)return n&&n._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(n){this.macro.push([n.command,n.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)};this.replay=function(n){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(n);try{this.$inReplay=!0;this.macro.forEach(function(t){typeof t=="string"?this.exec(t,n):this.exec(t[0],n,t[1])},this)}finally{this.$inReplay=!1}}};this.trimMacro=function(n){return n.map(function(n){return typeof n[0]!="string"&&(n[0]=n[0].name),n[1]||(n=n[0]),n})}}.call(i.prototype);t.CommandManager=i});ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(n,t){"use strict";function i(n,t){return{win:n,mac:t}}var f=n("../lib/lang"),r=n("../config"),u=n("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:i("Ctrl-,","Command-,"),exec:function(n){r.loadModule("ace/ext/settings_menu",function(t){t.init(n);n.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:i("Alt-E","Ctrl-E"),exec:function(n){r.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(n,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:i("Alt-Shift-E","Ctrl-Shift-E"),exec:function(n){r.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(n,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:i("Ctrl-A","Command-A"),exec:function(n){n.selectAll()},readOnly:!0},{name:"centerselection",bindKey:i(null,"Ctrl-L"),exec:function(n){n.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:i("Ctrl-L","Command-L"),exec:function(n){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||n.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:i("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(n){n.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:i("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(n){n.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:i("F2","F2"),exec:function(n){n.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:i("Alt-F2","Alt-F2"),exec:function(n){n.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:i(null,"Ctrl-Command-Option-0"),exec:function(n){n.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:i("Alt-0","Command-Option-0"),exec:function(n){n.session.foldAll();n.session.unfold(n.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:i("Alt-Shift-0","Command-Option-Shift-0"),exec:function(n){n.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:i("Ctrl-K","Command-G"),exec:function(n){n.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:i("Ctrl-Shift-K","Command-Shift-G"),exec:function(n){n.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:i("Alt-K","Ctrl-G"),exec:function(n){n.selection.isEmpty()?n.selection.selectWord():n.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:i("Alt-Shift-K","Ctrl-Shift-G"),exec:function(n){n.selection.isEmpty()?n.selection.selectWord():n.findPrevious()},readOnly:!0},{name:"find",bindKey:i("Ctrl-F","Command-F"),exec:function(n){r.loadModule("ace/ext/searchbox",function(t){t.Search(n)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(n){n.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:i("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(n){n.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:i("Ctrl-Home","Command-Home|Command-Up"),exec:function(n){n.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:i("Shift-Up","Shift-Up"),exec:function(n){n.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:i("Up","Up|Ctrl-P"),exec:function(n,t){n.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:i("Ctrl-Shift-End","Command-Shift-Down"),exec:function(n){n.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:i("Ctrl-End","Command-End|Command-Down"),exec:function(n){n.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:i("Shift-Down","Shift-Down"),exec:function(n){n.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:i("Down","Down|Ctrl-N"),exec:function(n,t){n.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:i("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(n){n.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:i("Ctrl-Left","Option-Left"),exec:function(n){n.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:i("Alt-Shift-Left","Command-Shift-Left"),exec:function(n){n.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:i("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(n){n.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:i("Shift-Left","Shift-Left"),exec:function(n){n.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:i("Left","Left|Ctrl-B"),exec:function(n,t){n.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:i("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(n){n.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:i("Ctrl-Right","Option-Right"),exec:function(n){n.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:i("Alt-Shift-Right","Command-Shift-Right"),exec:function(n){n.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:i("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(n){n.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:i("Shift-Right","Shift-Right"),exec:function(n){n.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:i("Right","Right|Ctrl-F"),exec:function(n,t){n.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(n){n.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:i(null,"Option-PageDown"),exec:function(n){n.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:i("PageDown","PageDown|Ctrl-V"),exec:function(n){n.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(n){n.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:i(null,"Option-PageUp"),exec:function(n){n.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(n){n.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:i("Ctrl-Up",null),exec:function(n){n.renderer.scrollBy(0,-2*n.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:i("Ctrl-Down",null),exec:function(n){n.renderer.scrollBy(0,2*n.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(n){n.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(n){n.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:i("Ctrl-Alt-E","Command-Option-E"),exec:function(n){n.commands.toggleRecording(n)},readOnly:!0},{name:"replaymacro",bindKey:i("Ctrl-Shift-E","Command-Shift-E"),exec:function(n){n.commands.replay(n)},readOnly:!0},{name:"jumptomatching",bindKey:i("Ctrl-P","Ctrl-P"),exec:function(n){n.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:i("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(n){n.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:i("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(n){n.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:i(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(){},readOnly:!0},{name:"cut",exec:function(n){var t=n.getSelectionRange();n._emit("cut",t);n.selection.isEmpty()||(n.session.remove(t),n.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(n,t){n.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",bindKey:i("Ctrl-D","Command-D"),exec:function(n){n.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:i("Ctrl-Shift-D","Command-Shift-D"),exec:function(n){n.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:i("Ctrl-Alt-S","Command-Alt-S"),exec:function(n){n.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:i("Ctrl-/","Command-/"),exec:function(n){n.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:i("Ctrl-Shift-/","Command-Shift-/"),exec:function(n){n.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:i("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(n){n.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:i("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(n){n.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:i("Ctrl-H","Command-Option-F"),exec:function(n){r.loadModule("ace/ext/searchbox",function(t){t.Search(n,!0)})}},{name:"undo",bindKey:i("Ctrl-Z","Command-Z"),exec:function(n){n.undo()}},{name:"redo",bindKey:i("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(n){n.redo()}},{name:"copylinesup",bindKey:i("Alt-Shift-Up","Command-Option-Up"),exec:function(n){n.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:i("Alt-Up","Option-Up"),exec:function(n){n.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:i("Alt-Shift-Down","Command-Option-Down"),exec:function(n){n.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:i("Alt-Down","Option-Down"),exec:function(n){n.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:i("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(n){n.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:i("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(n){n.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:i("Shift-Delete",null),exec:function(n){if(!n.selection.isEmpty())return!1;n.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:i("Alt-Backspace","Command-Backspace"),exec:function(n){n.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:i("Alt-Delete","Ctrl-K"),exec:function(n){n.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:i("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(n){n.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:i("Ctrl-Delete","Alt-Delete"),exec:function(n){n.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:i("Shift-Tab","Shift-Tab"),exec:function(n){n.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:i("Tab","Tab"),exec:function(n){n.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:i("Ctrl-[","Ctrl-["),exec:function(n){n.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:i("Ctrl-]","Ctrl-]"),exec:function(n){n.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(n,t){n.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(n,t){n.insert(f.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:i(null,"Ctrl-O"),exec:function(n){n.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:i("Ctrl-T","Ctrl-T"),exec:function(n){n.transposeLetters()},multiSelectAction:function(n){n.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:i("Ctrl-U","Ctrl-U"),exec:function(n){n.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:i("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(n){n.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:i("Ctrl-Shift-L","Command-Shift-L"),exec:function(n){var t=n.selection.getRange();t.start.column=t.end.column=0;t.end.row++;n.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:i(null,null),exec:function(n){for(var r,h=n.selection.isBackwards(),t=h?n.selection.getSelectionLead():n.selection.getSelectionAnchor(),e=h?n.selection.getSelectionAnchor():n.selection.getSelectionLead(),i=n.session.doc.getLine(t.row).length,l=n.session.doc.getTextRange(n.selection.getRange()),c=l.replace(/\n\s*/," ").length,o=n.session.doc.getLine(t.row),s=t.row+1;s<=e.row+1;s++)r=f.stringTrimLeft(f.stringTrimRight(n.session.doc.getLine(s))),r.length!==0&&(r=" "+r),o+=r;e.row+1<n.session.doc.getLength()-1&&(o+=n.session.doc.getNewLineCharacter());n.clearSelection();n.session.doc.replace(new u(t.row,0,e.row+2,0),o);c>0?(n.selection.moveCursorTo(t.row,t.column),n.selection.selectTo(t.row,t.column+c)):(i=n.session.doc.getLine(t.row).length>i?i+1:i,n.selection.moveCursorTo(t.row,i))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:i(null,null),exec:function(n){var f=n.session.doc.getLength()-1,e=n.session.doc.getLine(f).length,i=n.selection.rangeList.ranges,r=[],t;for(i.length<1&&(i=[n.selection.getRange()]),t=0;t<i.length;t++)t==i.length-1&&(i[t].end.row!==f||i[t].end.column!==e)&&r.push(new u(i[t].end.row,i[t].end.column,f,e)),t===0?(i[t].start.row!==0||i[t].start.column!==0)&&r.push(new u(0,0,i[t].start.row,i[t].start.column)):r.push(new u(i[t-1].end.row,i[t-1].end.column,i[t].start.row,i[t].start.column));for(n.exitMultiSelectMode(),n.clearSelection(),t=0;t<r.length;t++)n.selection.addRange(r[t],!1)},readOnly:!0,scrollIntoView:"none"}]});ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator"],function(n,t){"use strict";n("./lib/fixoldbrowsers");var e=n("./lib/oop"),o=n("./lib/dom"),u=n("./lib/lang"),h=n("./lib/useragent"),c=n("./keyboard/textinput").TextInput,l=n("./mouse/mouse_handler").MouseHandler,a=n("./mouse/fold_handler").FoldHandler,v=n("./keyboard/keybinding").KeyBinding,y=n("./edit_session").EditSession,p=n("./search").Search,i=n("./range").Range,w=n("./lib/event_emitter").EventEmitter,b=n("./commands/command_manager").CommandManager,k=n("./commands/default_commands").commands,r=n("./config"),s=n("./token_iterator").TokenIterator,f=function(n,t){var i=n.getContainerElement();this.container=i;this.renderer=n;this.commands=new b(h.isMac?"mac":"win",k);this.textInput=new c(n.getTextAreaContainer(),this);this.renderer.textarea=this.textInput.getElement();this.keyBinding=new v(this);this.$mouseHandler=new l(this);new a(this);this.$blockScrolling=0;this.$search=(new p).set({wrap:!0});this.$historyTracker=this.$historyTracker.bind(this);this.commands.on("exec",this.$historyTracker);this.$initOperationListeners();this._$emitInputEvent=u.delayedCall(function(){this._signal("input",{});this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this));this.on("change",function(n,t){t._$emitInputEvent.schedule(31)});this.setSession(t||new y(""));r.resetOptions(this);r._signal("editor",this)};(function(){e.implement(this,w);this.$initOperationListeners=function(){this.selections=[];this.commands.on("exec",this.startOperation.bind(this),!0);this.commands.on("afterExec",this.endOperation.bind(this),!0);this.$opResetTimer=u.delayedCall(this.endOperation.bind(this));this.on("change",function(){this.curOp||this.startOperation();this.curOp.docChanged=!0}.bind(this),!0);this.on("changeSelection",function(){this.curOp||this.startOperation();this.curOp.selectionChanged=!0}.bind(this),!0)};this.curOp=null;this.prevOp={};this.startOperation=function(n){if(this.curOp){if(!n||this.curOp.command)return;this.prevOp=this.curOp}n||(this.previousCommand=null,n={});this.$opResetTimer.schedule();this.curOp={command:n.command||{},args:n.args,scrollTop:this.renderer.scrollTop};this.curOp.command.name&&this.curOp.command.scrollIntoView!==undefined&&this.$blockScrolling++};this.endOperation=function(n){var i,t,r,u;if(this.curOp){if(n&&n.returnValue===!1)return this.curOp=null;if(this._signal("beforeEndOperation"),i=this.curOp.command,i.name&&this.$blockScrolling>0&&this.$blockScrolling--,t=i&&i.scrollIntoView,t){switch(t){case"center-animate":t="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":r=this.selection.getRange();u=this.renderer.layerConfig;(r.start.row>=u.lastRow||r.end.row<=u.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}t=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp;this.curOp=null}};this.$mergeableCommands=["backspace","del","insertstring"];this.$historyTracker=function(n){var u;if(this.$mergeUndoDeltas){var i=this.prevOp,r=this.$mergeableCommands,t=i.command&&n.command.name==i.command.name;n.command.name=="insertstring"?(u=n.args,this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),t=t&&this.mergeNextCommand&&(!/\s/.test(u)||/\s/.test(i.args)),this.mergeNextCommand=!0):t=t&&r.indexOf(n.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(t=!1);t?this.session.mergeUndoDeltas=!0:r.indexOf(n.command.name)!==-1&&(this.sequenceStartTime=Date.now())}};this.setKeyboardHandler=function(n,t){if(n&&typeof n=="string"){this.$keybindingId=n;var i=this;r.loadModule(["keybinding",n],function(r){i.$keybindingId==n&&i.keyBinding.setKeyboardHandler(r&&r.handler);t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(n),t&&t()};this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()};this.setSession=function(n){var t,i;this.session!=n&&(this.curOp&&this.endOperation(),this.curOp={},t=this.session,t&&(this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),i=this.session.getSelection(),i.off("changeCursor",this.$onCursorChange),i.off("changeSelection",this.$onSelectionChange)),this.session=n,n?(this.$onDocumentChange=this.onDocumentChange.bind(this),n.on("change",this.$onDocumentChange),this.renderer.setSession(n),this.$onChangeMode=this.onChangeMode.bind(this),n.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),n.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),n.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),n.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),n.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),n.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=n.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(n)),this._signal("changeSession",{session:n,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),n&&n._signal("changeEditor",{editor:this}))};this.getSession=function(){return this.session};this.setValue=function(n,t){return this.session.doc.setValue(n),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),n};this.getValue=function(){return this.session.getValue()};this.getSelection=function(){return this.selection};this.resize=function(n){this.renderer.onResize(n)};this.setTheme=function(n,t){this.renderer.setTheme(n,t)};this.getTheme=function(){return this.renderer.getTheme()};this.setStyle=function(n){this.renderer.setStyle(n)};this.unsetStyle=function(n){this.renderer.unsetStyle(n)};this.getFontSize=function(){return this.getOption("fontSize")||o.computedStyle(this.container,"fontSize")};this.setFontSize=function(n){this.setOption("fontSize",n)};this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){var n=this;this.$highlightPending=!0;setTimeout(function(){var t,r,u;(n.$highlightPending=!1,t=n.session,t&&t.bgTokenizer)&&(r=t.findMatchingBracket(n.getCursorPosition()),r?u=new i(r.row,r.column,r.row,r.column+1):t.$mode.getMatching&&(u=t.$mode.getMatching(n.session)),u&&(t.$bracketHighlight=t.addMarker(u,"ace_bracket","text")))},50)}};this.$highlightTags=function(){if(!this.$highlightTagPending){var n=this;this.$highlightTagPending=!0;setTimeout(function(){var t;if(n.$highlightTagPending=!1,t=n.session,t&&t.bgTokenizer){var h=n.getCursorPosition(),f=new s(n.session,h.row,h.column),r=f.getCurrentToken();if(!r||!/\b(?:tag-open|tag-name)/.test(r.type)){t.removeMarker(t.$tagHighlight);t.$tagHighlight=null;return}if(r.type.indexOf("tag-open")==-1||(r=f.stepForward(),r)){var c=r.value,e=0,u=f.stepBackward();if(u.value=="<"){do u=r,r=f.stepForward(),r&&r.value===c&&r.type.indexOf("tag-name")!==-1&&(u.value==="<"?e++:u.value==="<\/"&&e--);while(r&&e>=0)}else{do r=u,u=f.stepBackward(),r&&r.value===c&&r.type.indexOf("tag-name")!==-1&&(u.value==="<"?e++:u.value==="<\/"&&e--);while(u&&e<=0);f.stepForward()}if(!r){t.removeMarker(t.$tagHighlight);t.$tagHighlight=null;return}var l=f.getCurrentTokenRow(),a=f.getCurrentTokenColumn(),o=new i(l,a,l,a+r.value.length);t.$tagHighlight&&o.compareRange(t.$backMarkers[t.$tagHighlight].range)!==0&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null);o&&!t.$tagHighlight&&(t.$tagHighlight=t.addMarker(o,"ace_bracket","text"))}}},50)}};this.focus=function(){var n=this;setTimeout(function(){n.textInput.focus()});this.textInput.focus()};this.isFocused=function(){return this.textInput.isFocused()};this.blur=function(){this.textInput.blur()};this.onFocus=function(n){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",n))};this.onBlur=function(n){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",n))};this.$cursorChange=function(){this.renderer.updateCursor()};this.onDocumentChange=function(n){var t=this.session.$useWrapMode,i=n.start.row==n.end.row?n.end.row:Infinity;this.renderer.updateLines(n.start.row,i,t);this._signal("change",n);this.$cursorChange();this.$updateHighlightActiveLine()};this.onTokenizerUpdate=function(n){var t=n.data;this.renderer.updateLines(t.first,t.last)};this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())};this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())};this.onCursorChange=function(){this.$cursorChange();this.$blockScrolling||(r.warn("Automatically scrolling cursor into view after selection change","this will be disabled in the next version","set editor.$blockScrolling = Infinity to disable this message"),this.renderer.scrollCursorIntoView());this.$highlightBrackets();this.$highlightTags();this.$updateHighlightActiveLine();this._signal("changeSelection")};this.$updateHighlightActiveLine=function(){var n=this.getSession(),t,r;this.$highlightActiveLine&&(this.$selectionStyle=="line"&&this.selection.isMultiLine()||(t=this.getCursorPosition()),!this.renderer.$maxLines||this.session.getLength()!==1||this.renderer.$minLines>1||(t=!1));n.$highlightLineMarker&&!t?(n.removeMarker(n.$highlightLineMarker.id),n.$highlightLineMarker=null):!n.$highlightLineMarker&&t?(r=new i(t.row,t.column,t.row,Infinity),r.id=n.addMarker(r,"ace_active-line","screenLine"),n.$highlightLineMarker=r):t&&(n.$highlightLineMarker.start.row=t.row,n.$highlightLineMarker.end.row=t.row,n.$highlightLineMarker.start.column=t.column,n._signal("changeBackMarker"))};this.onSelectionChange=function(){var n=this.session,t,i,r;n.$selectionMarker&&n.removeMarker(n.$selectionMarker);n.$selectionMarker=null;this.selection.isEmpty()?this.$updateHighlightActiveLine():(t=this.selection.getRange(),i=this.getSelectionStyle(),n.$selectionMarker=n.addMarker(t,"ace_selection",i));r=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(r);this._signal("changeSelection")};this.$getSelectionHighLightRegexp=function(){var e=this.session,n=this.getSelectionRange();if(!n.isEmpty()&&!n.isMultiLine()){var r=n.start.column-1,u=n.end.column+1,i=e.getLine(n.start.row),f=i.length,t=i.substring(Math.max(r,0),Math.min(u,f));if((!(r>=0)||!/^[\w\d]/.test(t))&&(!(u<=f)||!/[\w\d]$/.test(t)))return(t=i.substring(n.start.column,n.end.column),!/^[\w\d]+$/.test(t))?void 0:this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:t})}};this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()};this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()};this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()};this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())};this.onChangeMode=function(n){this.renderer.updateText();this._emit("changeMode",n)};this.onChangeWrapLimit=function(){this.renderer.updateFull()};this.onChangeWrapMode=function(){this.renderer.onResize(!0)};this.onChangeFold=function(){this.$updateHighlightActiveLine();this.renderer.updateFull()};this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())};this.getCopyText=function(){var n=this.getSelectedText();return this._signal("copy",n),n};this.onCopy=function(){this.commands.exec("copy",this)};this.onCut=function(){this.commands.exec("cut",this)};this.onPaste=function(n,t){var i={text:n,event:t};this.commands.exec("paste",this,i)};this.$handlePaste=function(n){var i,t,r,u,f;if(typeof n=="string"&&(n={text:n}),this._signal("paste",n),i=n.text,!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(i);else{if(t=i.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges,t.length>r.length||t.length<2||!t[1])return this.commands.exec("insertstring",this,i);for(u=r.length;u--;)f=r[u],f.isEmpty()||this.session.remove(f),this.session.insert(f.start,t[u])}};this.execCommand=function(n,t){return this.commands.exec(n,this,t)};this.insert=function(n,t){var f=this.session,s=f.getMode(),r=this.getCursorPosition(),u,e,o,c,a;this.getBehavioursEnabled()&&!t&&(u=s.transformAction(f.getState(r.row),"insertion",this,f,n),u&&(n!==u.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),n=u.text));n=="\t"&&(n=this.session.getTabString());this.selection.isEmpty()?this.session.getOverwrite()&&(e=new i.fromPoints(r,r),e.end.column+=n.length,this.session.remove(e)):(e=this.getSelectionRange(),r=this.session.remove(e),this.clearSelection());(n=="\n"||n=="\r\n")&&(o=f.getLine(r.row),r.column>o.search(/\S|$/)&&(c=o.substr(r.column).search(/\S|$/),f.doc.removeInLine(r.row,r.column,r.column+c)));this.clearSelection();var l=r.column,h=f.getState(r.row),o=f.getLine(r.row),v=s.checkOutdent(h,o,n),y=f.insert(r,n);u&&u.selection&&(u.selection.length==2?this.selection.setSelectionRange(new i(r.row,l+u.selection[0],r.row,l+u.selection[1])):this.selection.setSelectionRange(new i(r.row+u.selection[0],u.selection[1],r.row+u.selection[2],u.selection[3])));f.getDocument().isNewLine(n)&&(a=s.getNextLineIndent(h,o.slice(0,r.column),f.getTabString()),f.insert({row:r.row+1,column:0},a));v&&s.autoOutdent(h,f,r.row)};this.onTextInput=function(n){this.keyBinding.onTextInput(n)};this.onCommandKey=function(n,t,i){this.keyBinding.onCommandKey(n,t,i)};this.setOverwrite=function(n){this.session.setOverwrite(n)};this.getOverwrite=function(){return this.session.getOverwrite()};this.toggleOverwrite=function(){this.session.toggleOverwrite()};this.setScrollSpeed=function(n){this.setOption("scrollSpeed",n)};this.getScrollSpeed=function(){return this.getOption("scrollSpeed")};this.setDragDelay=function(n){this.setOption("dragDelay",n)};this.getDragDelay=function(){return this.getOption("dragDelay")};this.setSelectionStyle=function(n){this.setOption("selectionStyle",n)};this.getSelectionStyle=function(){return this.getOption("selectionStyle")};this.setHighlightActiveLine=function(n){this.setOption("highlightActiveLine",n)};this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")};this.setHighlightGutterLine=function(n){this.setOption("highlightGutterLine",n)};this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")};this.setHighlightSelectedWord=function(n){this.setOption("highlightSelectedWord",n)};this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord};this.setAnimatedScroll=function(n){this.renderer.setAnimatedScroll(n)};this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()};this.setShowInvisibles=function(n){this.renderer.setShowInvisibles(n)};this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()};this.setDisplayIndentGuides=function(n){this.renderer.setDisplayIndentGuides(n)};this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()};this.setShowPrintMargin=function(n){this.renderer.setShowPrintMargin(n)};this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()};this.setPrintMarginColumn=function(n){this.renderer.setPrintMarginColumn(n)};this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()};this.setReadOnly=function(n){this.setOption("readOnly",n)};this.getReadOnly=function(){return this.getOption("readOnly")};this.setBehavioursEnabled=function(n){this.setOption("behavioursEnabled",n)};this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")};this.setWrapBehavioursEnabled=function(n){this.setOption("wrapBehavioursEnabled",n)};this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")};this.setShowFoldWidgets=function(n){this.setOption("showFoldWidgets",n)};this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")};this.setFadeFoldWidgets=function(n){this.setOption("fadeFoldWidgets",n)};this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")};this.remove=function(n){var t,r,u;if(this.selection.isEmpty()&&(n=="left"?this.selection.selectLeft():this.selection.selectRight()),t=this.getSelectionRange(),this.getBehavioursEnabled()){var i=this.session,e=i.getState(t.start.row),f=i.getMode().transformAction(e,"deletion",this,i,t);t.end.column===0&&(r=i.getTextRange(t),r[r.length-1]=="\n"&&(u=i.getLine(t.end.row),/^\s+$/.test(u)&&(t.end.column=u.length)));f&&(t=f)}this.session.remove(t);this.clearSelection()};this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight();this.session.remove(this.getSelectionRange());this.clearSelection()};this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft();this.session.remove(this.getSelectionRange());this.clearSelection()};this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart();this.session.remove(this.getSelectionRange());this.clearSelection()};this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var n=this.getSelectionRange();n.start.column==n.end.column&&n.start.row==n.end.row&&(n.end.column=0,n.end.row++);this.session.remove(n);this.clearSelection()};this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var n=this.getCursorPosition();this.insert("\n");this.moveCursorToPosition(n)};this.transposeLetters=function(){var t,n,r,u,f;this.selection.isEmpty()&&(t=this.getCursorPosition(),n=t.column,n!==0)&&(r=this.session.getLine(t.row),n<r.length?(u=r.charAt(n)+r.charAt(n-1),f=new i(t.row,n-1,t.row,n+1)):(u=r.charAt(n-1)+r.charAt(n-2),f=new i(t.row,n-2,t.row,n)),this.session.replace(f,u))};this.toLowerCase=function(){var i=this.getSelectionRange(),n,t;this.selection.isEmpty()&&this.selection.selectWord();n=this.getSelectionRange();t=this.session.getTextRange(n);this.session.replace(n,t.toLowerCase());this.selection.setSelectionRange(i)};this.toUpperCase=function(){var i=this.getSelectionRange(),n,t;this.selection.isEmpty()&&this.selection.selectWord();n=this.getSelectionRange();t=this.session.getTextRange(n);this.session.replace(n,t.toUpperCase());this.selection.setSelectionRange(i)};this.indent=function(){var t=this.session,n=this.getSelectionRange(),o,i,e,r;if(n.start.row<n.end.row){i=this.$getSelectedRows();t.indentRows(i.first,i.last,"\t");return}if(n.start.column<n.end.column&&(o=t.getTextRange(n),!/^\s+$/.test(o))){i=this.$getSelectedRows();t.indentRows(i.first,i.last,"\t");return}var c=t.getLine(n.start.row),s=n.start,f=t.getTabSize(),h=t.documentToScreenColumn(s.row,s.column);if(this.session.getUseSoftTabs())r=f-h%f,e=u.stringRepeat(" ",r);else{for(r=h%f;c[n.start.column]==" "&&r;)n.start.column--,r--;this.selection.setSelectionRange(n);e="\t"}return this.insert(e)};this.blockIndent=function(){var n=this.$getSelectedRows();this.session.indentRows(n.first,n.last,"\t")};this.blockOutdent=function(){var n=this.session.getSelection();this.session.outdentRows(n.getRange())};this.sortLines=function(){for(var t=this.$getSelectedRows(),u=this.session,f=[],r,e,n=t.first;n<=t.last;n++)f.push(u.getLine(n));for(f.sort(function(n,t){return n.toLowerCase()<t.toLowerCase()?-1:n.toLowerCase()>t.toLowerCase()?1:0}),r=new i(0,0,0,0),n=t.first;n<=t.last;n++)e=u.getLine(n),r.start.row=n,r.end.row=n,r.end.column=e.length,u.replace(r,f[n-t.first])};this.toggleCommentLines=function(){var t=this.session.getState(this.getCursorPosition().row),n=this.$getSelectedRows();this.session.getMode().toggleCommentLines(t,this.session,n.first,n.last)};this.toggleBlockComment=function(){var n=this.getCursorPosition(),t=this.session.getState(n.row),i=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,i,n)};this.getNumberAt=function(n,t){var r=/[\-]?[0-9]+(?:\.[0-9]+)?/g,u,i;for(r.lastIndex=0,u=this.session.getLine(n);r.lastIndex<t;)if(i=r.exec(u),i.index<=t&&i.index+i[0].length>=t)return{value:i[0],start:i.index,end:i.index+i[0].length};return null};this.modifyNumber=function(n){var u=this.selection.getCursor().row,r=this.selection.getCursor().column,l=new i(u,r-1,u,r),h=this.session.getTextRange(l),t,s,c;if(!isNaN(parseFloat(h))&&isFinite(h)&&(t=this.getNumberAt(u,r),t)){var e=t.value.indexOf(".")>=0?t.start+t.value.indexOf(".")+1:t.end,o=t.start+t.value.length-e,f=parseFloat(t.value);f*=Math.pow(10,o);n*=e!==t.end&&r<e?Math.pow(10,t.end-r-1):Math.pow(10,t.end-r);f+=n;f/=Math.pow(10,o);s=f.toFixed(o);c=new i(u,t.start,u,t.end);this.session.replace(c,s);this.moveCursorTo(u,Math.max(t.start+1,r+s.length-t.value.length))}};this.removeLines=function(){var n=this.$getSelectedRows();this.session.removeFullLines(n.first,n.last);this.clearSelection()};this.duplicateSelection=function(){var t=this.selection,i=this.session,n=t.getRange(),f=t.isBackwards(),r,u,e;n.isEmpty()?(r=n.start.row,i.duplicateLines(r,r)):(u=f?n.start:n.end,e=i.insert(u,i.getTextRange(n),!1),n.start=u,n.end=e,t.setSelectionRange(n,f))};this.moveLinesDown=function(){this.$moveLines(1,!1)};this.moveLinesUp=function(){this.$moveLines(-1,!1)};this.moveText=function(n,t,i){return this.session.moveText(n,t,i)};this.copyLinesUp=function(){this.$moveLines(-1,!0)};this.copyLinesDown=function(){this.$moveLines(1,!0)};this.$moveLines=function(n,t){var f,l,r=this.selection,h,u,i,o,y,s,c;if(!r.inMultiSelectMode||this.inVirtualSelectionMode)h=r.toOrientedRange(),f=this.$getSelectedRows(h),l=this.session.$moveLines(f.first,f.last,t?0:n),t&&n==-1&&(l=0),h.moveBy(l,0),r.fromOrientedRange(h);else{u=r.rangeList.ranges;r.rangeList.detach(this.session);this.inVirtualSelectionMode=!0;var e=0,a=0,v=u.length;for(i=0;i<v;i++){for(o=i,u[i].moveBy(e,0),f=this.$getSelectedRows(u[i]),y=f.first,s=f.last;++i<v;){if(a&&u[i].moveBy(a,0),c=this.$getSelectedRows(u[i]),t&&c.first!=s)break;if(!t&&c.first>s+1)break;s=c.last}for(i--,e=this.session.$moveLines(y,s,t?0:n),t&&n==-1&&(o=i+1);o<=i;)u[o].moveBy(e,0),o++;t||(e=0);a+=e}r.fromOrientedRange(r.ranges[0]);r.rangeList.attach(this.session);this.inVirtualSelectionMode=!1}};this.$getSelectedRows=function(n){return n=(n||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(n.start.row),last:this.session.getRowFoldEnd(n.end.row)}};this.onCompositionStart=function(){this.renderer.showComposition(this.getCursorPosition())};this.onCompositionUpdate=function(n){this.renderer.setCompositionText(n)};this.onCompositionEnd=function(){this.renderer.hideComposition()};this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()};this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()};this.isRowVisible=function(n){return n>=this.getFirstVisibleRow()&&n<=this.getLastVisibleRow()};this.isRowFullyVisible=function(n){return n>=this.renderer.getFirstFullyVisibleRow()&&n<=this.renderer.getLastFullyVisibleRow()};this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1};this.$moveByPage=function(n,t){var i=this.renderer,r=this.renderer.layerConfig,u=n*Math.floor(r.height/r.lineHeight),f;this.$blockScrolling++;t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(u,0)}):t===!1&&(this.selection.moveCursorBy(u,0),this.selection.clearSelection());this.$blockScrolling--;f=i.scrollTop;i.scrollBy(0,u*r.lineHeight);t!=null&&i.scrollCursorIntoView(null,.5);i.animateScrolling(f)};this.selectPageDown=function(){this.$moveByPage(1,!0)};this.selectPageUp=function(){this.$moveByPage(-1,!0)};this.gotoPageDown=function(){this.$moveByPage(1,!1)};this.gotoPageUp=function(){this.$moveByPage(-1,!1)};this.scrollPageDown=function(){this.$moveByPage(1)};this.scrollPageUp=function(){this.$moveByPage(-1)};this.scrollToRow=function(n){this.renderer.scrollToRow(n)};this.scrollToLine=function(n,t,i,r){this.renderer.scrollToLine(n,t,i,r)};this.centerSelection=function(){var n=this.getSelectionRange(),t={row:Math.floor(n.start.row+(n.end.row-n.start.row)/2),column:Math.floor(n.start.column+(n.end.column-n.start.column)/2)};this.renderer.alignCursor(t,.5)};this.getCursorPosition=function(){return this.selection.getCursor()};this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())};this.getSelectionRange=function(){return this.selection.getRange()};this.selectAll=function(){this.$blockScrolling+=1;this.selection.selectAll();this.$blockScrolling-=1};this.clearSelection=function(){this.selection.clearSelection()};this.moveCursorTo=function(n,t){this.selection.moveCursorTo(n,t)};this.moveCursorToPosition=function(n){this.selection.moveCursorToPosition(n)};this.jumpToMatching=function(n,t){var c=this.getCursorPosition(),e=new s(this.session,c.row,c.column),h=e.getCurrentToken(),r=h||e.stepForward(),u,f,p;if(r){var y,l=!1,o={},a=c.column-r.start,v,w={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(r.value.match(/[{}()\[\]]/g)){for(;a<r.value.length&&!l;a++)if(w[r.value[a]]){v=w[r.value[a]]+"."+r.type.replace("rparen","lparen");isNaN(o[v])&&(o[v]=0);switch(r.value[a]){case"(":case"[":case"{":o[v]++;break;case")":case"]":case"}":o[v]--;o[v]===-1&&(y="bracket",l=!0)}}}else r&&r.type.indexOf("tag-name")!==-1&&(isNaN(o[r.value])&&(o[r.value]=0),h.value==="<"?o[r.value]++:h.value==="<\/"&&o[r.value]--,o[r.value]===-1&&(y="tag",l=!0));l||(h=r,r=e.stepForward(),a=0)}while(r&&!l);if(y){if(y==="bracket")u=this.session.getBracketRange(c),u||(u=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn()+a-1,e.getCurrentTokenRow(),e.getCurrentTokenColumn()+a-1),f=u.start,(t||f.row===c.row&&Math.abs(f.column-c.column)<2)&&(u=this.session.getBracketRange(f)));else if(y==="tag"){if(!r||r.type.indexOf("tag-name")===-1)return;if(p=r.value,u=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn()-2,e.getCurrentTokenRow(),e.getCurrentTokenColumn()-2),u.compare(c.row,c.column)===0){l=!1;do r=h,h=e.stepBackward(),h&&(h.type.indexOf("tag-close")!==-1&&u.setEnd(e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1),r.value===p&&r.type.indexOf("tag-name")!==-1&&(h.value==="<"?o[p]++:h.value==="<\/"&&o[p]--,o[p]===0&&(l=!0)));while(h&&!l)}r&&r.type.indexOf("tag-name")&&(f=u.start,f.row==c.row&&Math.abs(f.column-c.column)<2&&(f=u.end))}f=u&&u.cursor||f;f&&(n?u&&t?this.selection.setRange(u):u&&u.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(f.row,f.column):this.selection.moveTo(f.row,f.column))}}};this.gotoLine=function(n,t,i){this.selection.clearSelection();this.session.unfold({row:n-1,column:t||0});this.$blockScrolling+=1;this.exitMultiSelectMode&&this.exitMultiSelectMode();this.moveCursorTo(n-1,t||0);this.$blockScrolling-=1;this.isRowFullyVisible(n-1)||this.scrollToLine(n-1,!0,i)};this.navigateTo=function(n,t){this.selection.moveTo(n,t)};this.navigateUp=function(n){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection();this.selection.moveCursorBy(-n||-1,0)};this.navigateDown=function(n){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection();this.selection.moveCursorBy(n||1,0)};this.navigateLeft=function(n){if(this.selection.isEmpty())for(n=n||1;n--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()};this.navigateRight=function(n){if(this.selection.isEmpty())for(n=n||1;n--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()};this.navigateLineStart=function(){this.selection.moveCursorLineStart();this.clearSelection()};this.navigateLineEnd=function(){this.selection.moveCursorLineEnd();this.clearSelection()};this.navigateFileEnd=function(){this.selection.moveCursorFileEnd();this.clearSelection()};this.navigateFileStart=function(){this.selection.moveCursorFileStart();this.clearSelection()};this.navigateWordRight=function(){this.selection.moveCursorWordRight();this.clearSelection()};this.navigateWordLeft=function(){this.selection.moveCursorWordLeft();this.clearSelection()};this.replace=function(n,t){t&&this.$search.set(t);var i=this.$search.find(this.session),r=0;return i?(this.$tryReplace(i,n)&&(r=1),i!==null&&(this.selection.setSelectionRange(i),this.renderer.scrollSelectionIntoView(i.start,i.end)),r):r};this.replaceAll=function(n,t){var i,r,f,u;if(t&&this.$search.set(t),i=this.$search.findAll(this.session),r=0,!i.length)return r;for(this.$blockScrolling+=1,f=this.getSelectionRange(),this.selection.moveTo(0,0),u=i.length-1;u>=0;--u)this.$tryReplace(i[u],n)&&r++;return this.selection.setSelectionRange(f),this.$blockScrolling-=1,r};this.$tryReplace=function(n,t){var i=this.session.getTextRange(n);return t=this.$search.replace(i,t),t!==null?(n.end=this.session.replace(n,t),n):null};this.getLastSearchOptions=function(){return this.$search.getOptions()};this.find=function(n,t,i){var r,u;if(t||(t={}),typeof n=="string"||n instanceof RegExp?t.needle=n:typeof n=="object"&&e.mixin(t,n),r=this.selection.getRange(),t.needle==null&&(n=this.session.getTextRange(r)||this.$search.$options.needle,n||(r=this.session.getWordRange(r.start.row,r.start.column),n=this.session.getTextRange(r)),this.$search.set({needle:n})),this.$search.set(t),t.start||this.$search.set({start:r}),u=this.$search.find(this.session),t.preventScroll)return u;if(u)return this.revealRange(u,i),u;t.backwards?r.start=r.end:r.end=r.start;this.selection.setRange(r)};this.findNext=function(n,t){this.find({skipCurrent:!0,backwards:!1},n,t)};this.findPrevious=function(n,t){this.find(n,{skipCurrent:!0,backwards:!0},t)};this.revealRange=function(n,t){this.$blockScrolling+=1;this.session.unfold(n);this.selection.setSelectionRange(n);this.$blockScrolling-=1;var i=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(n.start,n.end,.5);t!==!1&&this.renderer.animateScrolling(i)};this.undo=function(){this.$blockScrolling++;this.session.getUndoManager().undo();this.$blockScrolling--;this.renderer.scrollCursorIntoView(null,.5)};this.redo=function(){this.$blockScrolling++;this.session.getUndoManager().redo();this.$blockScrolling--;this.renderer.scrollCursorIntoView(null,.5)};this.destroy=function(){this.renderer.destroy();this._signal("destroy",this);this.session&&this.session.destroy()};this.setAutoScrollEditorIntoView=function(n){var u,r,t,i;if(n){r=this;t=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));i=this.$scrollAnchor;i.style.cssText="position:absolute";this.container.insertBefore(i,this.container.firstChild);var f=this.on("changeSelection",function(){t=!0}),e=this.renderer.on("beforeRender",function(){t&&(u=r.renderer.container.getBoundingClientRect())}),o=this.renderer.on("afterRender",function(){if(t&&u&&(r.isFocused()||r.searchBox&&r.searchBox.isFocused())){var e=r.renderer,n=e.$cursorLayer.$pixelPos,f=e.layerConfig,o=n.top-f.offset;t=n.top>=0&&o+u.top<0?!0:n.top<f.height&&n.top+u.top+f.lineHeight>window.innerHeight?!1:null;t!=null&&(i.style.top=o+"px",i.style.left=n.left+"px",i.style.height=f.lineHeight+"px",i.scrollIntoView(t));t=u=null}});this.setAutoScrollEditorIntoView=function(n){n||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",f),this.renderer.off("afterRender",o),this.renderer.off("beforeRender",e))}}};this.$resetCursorStyle=function(){var t=this.$cursorStyle||"ace",n=this.renderer.$cursorLayer;n&&(n.setSmoothBlinking(/smooth/.test(t)),n.isBlinking=!this.$readOnly&&t!="wide",o.setCssClass(n.element,"ace_slim-cursors",/slim/.test(t)))}}).call(f.prototype);r.defineOptions(f.prototype,"editor",{selectionStyle:{set:function(n){this.onSelectionChange();this._signal("changeSelectionStyle",{data:n})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(n){this.setAutoScrollEditorIntoView(n)}},keyboardHandler:{set:function(n){this.setKeyboardHandler(n)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});t.Editor=f});ace.define("ace/undomanager",["require","exports","module"],function(n,t){"use strict";var i=function(){this.reset()};(function(){function t(n){return{action:n.action,start:n.start,end:n.end,lines:n.lines.length==1?null:n.lines,text:n.lines.length==1?n.lines[0]:null}}function i(n){return{action:n.action,start:n.start,end:n.end,lines:n.lines||[n.text]}}function n(n,t){for(var i,f,r,o,e=new Array(n.length),u=0;u<n.length;u++){for(i=n[u],f={group:i.group,deltas:new Array(i.length)},r=0;r<i.deltas.length;r++)o=i.deltas[r],f.deltas[r]=t(o);e[u]=f}return e}this.execute=function(n){var t=n.args[0];this.$doc=n.args[1];n.merge&&this.hasUndo()&&(this.dirtyCounter--,t=this.$undoStack.pop().concat(t));this.$undoStack.push(t);this.$redoStack=[];this.dirtyCounter<0&&(this.dirtyCounter=NaN);this.dirtyCounter++};this.undo=function(n){var t=this.$undoStack.pop(),i=null;return t&&(i=this.$doc.undoChanges(t,n),this.$redoStack.push(t),this.dirtyCounter--),i};this.redo=function(n){var t=this.$redoStack.pop(),i=null;return t&&(i=this.$doc.redoChanges(this.$deserializeDeltas(t),n),this.$undoStack.push(t),this.dirtyCounter++),i};this.reset=function(){this.$undoStack=[];this.$redoStack=[];this.dirtyCounter=0};this.hasUndo=function(){return this.$undoStack.length>0};this.hasRedo=function(){return this.$redoStack.length>0};this.markClean=function(){this.dirtyCounter=0};this.isClean=function(){return this.dirtyCounter===0};this.$serializeDeltas=function(i){return n(i,t)};this.$deserializeDeltas=function(t){return n(t,i)}}).call(i.prototype);t.UndoManager=i});ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(n,t){"use strict";var i=n("../lib/dom"),u=n("../lib/oop"),f=n("../lib/lang"),e=n("../lib/event_emitter").EventEmitter,r=function(n){this.element=i.createElement("div");this.element.className="ace_layer ace_gutter-layer";n.appendChild(this.element);this.setShowFoldWidgets(this.$showFoldWidgets);this.gutterWidth=0;this.$annotations=[];this.$updateAnnotations=this.$updateAnnotations.bind(this);this.$cells=[]};(function(){u.implement(this,e);this.setSession=function(n){this.session&&this.session.removeEventListener("change",this.$updateAnnotations);this.session=n;n&&n.on("change",this.$updateAnnotations)};this.addGutterDecoration=function(n,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration");this.session.addGutterDecoration(n,t)};this.removeGutterDecoration=function(n,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration");this.session.removeGutterDecoration(n,t)};this.setAnnotations=function(n){var r,i,e;for(this.$annotations=[],r=0;r<n.length;r++){var u=n[r],o=u.row,t=this.$annotations[o];t||(t=this.$annotations[o]={text:[]});i=u.text;i=i?f.escapeHTML(i):u.html||"";t.text.indexOf(i)===-1&&t.text.push(i);e=u.type;e=="error"?t.className=" ace_error":e=="warning"&&t.className!=" ace_error"?t.className=" ace_warning":e=="info"&&!t.className&&(t.className=" ace_info")}};this.$updateAnnotations=function(n){var t,i,r;this.$annotations.length&&(t=n.start.row,i=n.end.row-t,i!==0&&(n.action=="remove"?this.$annotations.splice(t,i+1,null):(r=new Array(i+1),r.unshift(t,1),this.$annotations.splice.apply(this.$annotations,r))))};this.update=function(n){for(var u=this.session,b=n.firstRow,nt=Math.min(n.lastRow+n.gutterOffset,u.getLength()-1),e=u.getNextFoldLine(b),a=e?e.start.row:Infinity,v=this.$showFoldWidgets&&u.foldWidgets,k=u.$breakpoints,d=u.$decorations,g=u.$firstLineNumber,c=0,l=u.gutterRenderer||this.$renderer,t=null,y=-1,r=b,s,f,o,p,h,w;;){if(r>a&&(r=e.end.row+1,e=u.getNextFoldLine(r,e),a=e?e.start.row:Infinity),r>nt){while(this.$cells.length>y+1)t=this.$cells.pop(),this.element.removeChild(t.element);break}t=this.$cells[++y];t||(t={element:null,textNode:null,foldWidget:null},t.element=i.createElement("div"),t.textNode=document.createTextNode(""),t.element.appendChild(t.textNode),this.element.appendChild(t.element),this.$cells[y]=t);f="ace_gutter-cell ";k[r]&&(f+=k[r]);d[r]&&(f+=d[r]);this.$annotations[r]&&(f+=this.$annotations[r].className);t.element.className!=f&&(t.element.className=f);o=u.getRowLength(r)*n.lineHeight+"px";o!=t.element.style.height&&(t.element.style.height=o);v&&(s=v[r],s==null&&(s=v[r]=u.getFoldWidget(r)));s?(t.foldWidget||(t.foldWidget=i.createElement("span"),t.element.appendChild(t.foldWidget)),f="ace_fold-widget ace_"+s,f+=s=="start"&&r==a&&r<e.end.row?" ace_closed":" ace_open",t.foldWidget.className!=f&&(t.foldWidget.className=f),o=n.lineHeight+"px",t.foldWidget.style.height!=o&&(t.foldWidget.style.height=o)):t.foldWidget&&(t.element.removeChild(t.foldWidget),t.foldWidget=null);p=c=l?l.getText(u,r):r+g;p!=t.textNode.data&&(t.textNode.data=p);r++}this.element.style.height=n.minHeight+"px";(this.$fixedWidth||u.$useWrapMode)&&(c=u.getLength()+g);h=l?l.getWidth(u,c,n):c.toString().length*n.characterWidth;w=this.$padding||this.$computePadding();h+=w.left+w.right;h===this.gutterWidth||isNaN(h)||(this.gutterWidth=h,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",h))};this.$fixedWidth=!1;this.$showLineNumbers=!0;this.$renderer="";this.setShowLineNumbers=function(n){this.$renderer=!n&&{getWidth:function(){return""},getText:function(){return""}}};this.getShowLineNumbers=function(){return this.$showLineNumbers};this.$showFoldWidgets=!0;this.setShowFoldWidgets=function(n){n?i.addCssClass(this.element,"ace_folding-enabled"):i.removeCssClass(this.element,"ace_folding-enabled");this.$showFoldWidgets=n;this.$padding=null};this.getShowFoldWidgets=function(){return this.$showFoldWidgets};this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var n=i.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(n.paddingLeft)+1||0,this.$padding.right=parseInt(n.paddingRight)||0,this.$padding};this.getRegion=function(n){var t=this.$padding||this.$computePadding(),i=this.element.getBoundingClientRect();return n.x<t.left+i.left?"markers":this.$showFoldWidgets&&n.x>i.right-t.right?"foldWidgets":void 0}}).call(r.prototype);t.Gutter=r});ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(n,t){"use strict";var r=n("../range").Range,u=n("../lib/dom"),i=function(n){this.element=u.createElement("div");this.element.className="ace_layer ace_marker-layer";n.appendChild(this.element)};(function(){function n(n,t,i,r){return(n?1:0)|(t?2:0)|(i?4:0)|(r?8:0)}this.$padding=0;this.setPadding=function(n){this.$padding=n};this.setSession=function(n){this.session=n};this.setMarkers=function(n){this.markers=n};this.update=function(n){var n=n||this.config,r,u,t,i,f,e;if(n){this.config=n;r=[];for(u in this.markers){if(t=this.markers[u],!t.range){t.update(r,this,this.session,n);continue}(i=t.range.clipRows(n.firstRow,n.lastRow),i.isEmpty())||(i=i.toScreenRange(this.session),t.renderer?(f=this.$getTop(i.start.row,n),e=this.$padding+i.start.column*n.characterWidth,t.renderer(r,i,e,f,n)):t.type=="fullLine"?this.drawFullLineMarker(r,i,t.clazz,n):t.type=="screenLine"?this.drawScreenLineMarker(r,i,t.clazz,n):i.isMultiLine()?t.type=="text"?this.drawTextMarker(r,i,t.clazz,n):this.drawMultiLineMarker(r,i,t.clazz,n):this.drawSingleLineMarker(r,i,t.clazz+" ace_start ace_br15",n))}this.element.innerHTML=r.join("")}};this.$getTop=function(n,t){return(n-t.firstRowScreen)*t.lineHeight};this.drawTextMarker=function(t,i,u,f,e){for(var v=this.session,s=i.start.row,h=i.end.row,o=s,y=0,c=0,a=v.getScreenLastRowColumn(o),l=new r(o,i.start.column,o,c);o<=h;o++)l.start.row=l.end.row=o,l.start.column=o==s?i.start.column:v.getRowWrapIndent(o),l.end.column=a,y=c,c=a,a=o+1<h?v.getScreenLastRowColumn(o+1):o==h?0:i.end.column,this.drawSingleLineMarker(t,l,u+(o==s?" ace_start":"")+" ace_br"+n(o==s||o==s+1&&i.start.column,y<c,c>a,o==h),f,o==h?0:1,e)};this.drawMultiLineMarker=function(n,t,i,r,u){var o=this.$padding,f=r.lineHeight,e=this.$getTop(t.start.row,r),c=o+t.start.column*r.characterWidth,h,s;(u=u||"",n.push("<div class='",i," ace_br1 ace_start' style='","height:",f,"px;","right:0;","top:",e,"px;","left:",c,"px;",u,"'><\/div>"),e=this.$getTop(t.end.row,r),h=t.end.column*r.characterWidth,n.push("<div class='",i," ace_br12' style='","height:",f,"px;","width:",h,"px;","top:",e,"px;","left:",o,"px;",u,"'><\/div>"),f=(t.end.row-t.start.row-1)*r.lineHeight,f<=0)||(e=this.$getTop(t.start.row+1,r),s=(t.start.column?1:0)|(t.end.column?0:8),n.push("<div class='",i,s?" ace_br"+s:"","' style='","height:",f,"px;","right:0;","top:",e,"px;","left:",o,"px;",u,"'><\/div>"))};this.drawSingleLineMarker=function(n,t,i,r,u,f){var e=r.lineHeight,o=(t.end.column+(u||0)-t.start.column)*r.characterWidth,s=this.$getTop(t.start.row,r),h=this.$padding+t.start.column*r.characterWidth;n.push("<div class='",i,"' style='","height:",e,"px;","width:",o,"px;","top:",s,"px;","left:",h,"px;",f||"","'><\/div>")};this.drawFullLineMarker=function(n,t,i,r,u){var f=this.$getTop(t.start.row,r),e=r.lineHeight;t.start.row!=t.end.row&&(e+=this.$getTop(t.end.row,r)-f);n.push("<div class='",i,"' style='","height:",e,"px;","top:",f,"px;","left:0;right:0;",u||"","'><\/div>")};this.drawScreenLineMarker=function(n,t,i,r,u){var f=this.$getTop(t.start.row,r),e=r.lineHeight;n.push("<div class='",i,"' style='","height:",e,"px;","top:",f,"px;","left:0;right:0;",u||"","'><\/div>")}}).call(i.prototype);t.Marker=i});ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(n,t){"use strict";var f=n("../lib/oop"),r=n("../lib/dom"),i=n("../lib/lang"),o=n("../lib/useragent"),e=n("../lib/event_emitter").EventEmitter,u=function(n){this.element=r.createElement("div");this.element.className="ace_layer ace_text-layer";n.appendChild(this.element);this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){f.implement(this,e);this.EOF_CHAR="¶";this.EOL_CHAR_LF="¬";this.EOL_CHAR_CRLF="¤";this.EOL_CHAR=this.EOL_CHAR_LF;this.TAB_CHAR="—";this.SPACE_CHAR="·";this.$padding=0;this.$updateEolChar=function(){var n=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=n)return this.EOL_CHAR=n,!0};this.setPadding=function(n){this.$padding=n;this.element.style.padding="0 "+n+"px"};this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0};this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0};this.$setFontMetrics=function(n){this.$fontMetrics=n;this.$fontMetrics.on("changeCharacterSize",function(n){this._signal("changeCharacterSize",n)}.bind(this));this.$pollSizeChanges()};this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()};this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()};this.setSession=function(n){this.session=n;n&&this.$computeTabString()};this.showInvisibles=!1;this.setShowInvisibles=function(n){return this.showInvisibles==n?!1:(this.showInvisibles=n,this.$computeTabString(),!0)};this.displayIndentGuides=!0;this.setDisplayIndentGuides=function(n){return this.displayIndentGuides==n?!1:(this.displayIndentGuides=n,this.$computeTabString(),!0)};this.$tabStrings=[];this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize(),r,n,t,f;for(this.tabSize=e,r=this.$tabStrings=[0],n=1;n<e+1;n++)this.showInvisibles?r.push("<span class='ace_invisible ace_invisible_tab'>"+i.stringRepeat(this.TAB_CHAR,n)+"<\/span>"):r.push(i.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var u="ace_indent-guide",o="",s="";this.showInvisibles?(u+=" ace_invisible",o=" ace_invisible_space",s=" ace_invisible_tab",t=i.stringRepeat(this.SPACE_CHAR,this.tabSize),f=i.stringRepeat(this.TAB_CHAR,this.tabSize)):(t=i.stringRepeat(" ",this.tabSize),f=t);this.$tabStrings[" "]="<span class='"+u+o+"'>"+t+"<\/span>";this.$tabStrings["\t"]="<span class='"+u+s+"'>"+f+"<\/span>"}};this.updateLines=function(n,t,i){var r,u,e,s;(this.config.lastRow!=n.lastRow||this.config.firstRow!=n.firstRow)&&this.scrollLines(n);this.config=n;var f=Math.max(t,n.firstRow),c=Math.min(i,n.lastRow),l=this.element.childNodes,h=0;for(r=n.firstRow;r<f;r++){if(u=this.session.getFoldLine(r),u){if(u.containsRow(f)){f=u.start.row;break}r=u.end.row}h++}for(var r=f,u=this.session.getNextFoldLine(r),o=u?u.start.row:Infinity;;){if(r>o&&(r=u.end.row+1,u=this.session.getNextFoldLine(r,u),o=u?u.start.row:Infinity),r>c)break;e=l[h++];e&&(s=[],this.$renderLine(s,r,!this.$useLineGroups(),r==o?u:!1),e.style.height=n.lineHeight*this.session.getRowLength(r)+"px",e.innerHTML=s.join(""));r++}};this.scrollLines=function(n){var t=this.config,i,r,u;if((this.config=n,!t||t.lastRow<n.firstRow)||n.lastRow<t.firstRow)return this.update(n);if(i=this.element,t.firstRow<n.firstRow)for(r=this.session.getFoldedRowCount(t.firstRow,n.firstRow-1);r>0;r--)i.removeChild(i.firstChild);if(t.lastRow>n.lastRow)for(r=this.session.getFoldedRowCount(n.lastRow+1,t.lastRow);r>0;r--)i.removeChild(i.lastChild);n.firstRow<t.firstRow&&(u=this.$renderLinesFragment(n,n.firstRow,t.firstRow-1),i.firstChild?i.insertBefore(u,i.firstChild):i.appendChild(u));n.lastRow>t.lastRow&&(u=this.$renderLinesFragment(n,t.lastRow+1,n.lastRow),i.appendChild(u))};this.$renderLinesFragment=function(n,t,i){for(var o=this.element.ownerDocument.createDocumentFragment(),u=t,f=this.session.getNextFoldLine(u),s=f?f.start.row:Infinity,e,h;;){if(u>s&&(u=f.end.row+1,f=this.session.getNextFoldLine(u,f),s=f?f.start.row:Infinity),u>i)break;if(e=r.createElement("div"),h=[],this.$renderLine(h,u,!1,u==s?f:!1),e.innerHTML=h.join(""),this.$useLineGroups())e.className="ace_line_group",o.appendChild(e),e.style.height=n.lineHeight*this.session.getRowLength(u)+"px";else while(e.firstChild)o.appendChild(e.firstChild);u++}return o};this.update=function(n){this.config=n;for(var r=[],f=n.firstRow,e=n.lastRow,t=f,i=this.session.getNextFoldLine(t),u=i?i.start.row:Infinity;;){if(t>u&&(t=i.end.row+1,i=this.session.getNextFoldLine(t,i),u=i?i.start.row:Infinity),t>e)break;this.$useLineGroups()&&r.push("<div class='ace_line_group' style='height:",n.lineHeight*this.session.getRowLength(t),"px'>");this.$renderLine(r,t,!1,t==u?i:!1);this.$useLineGroups()&&r.push("<\/div>");t++}this.element.innerHTML=r.join("")};this.$textToken={text:!0,rparen:!0,lparen:!0};this.$renderToken=function(n,t,r,u){var f=this,h=function(n,r,u,e){var o,s,h;return r?f.showInvisibles?"<span class='ace_invisible ace_invisible_space'>"+i.stringRepeat(f.SPACE_CHAR,n.length)+"<\/span>":n:n=="&"?"&#38;":n=="<"?"&#60;":n==">"?"&#62;":n=="\t"?(o=f.session.getScreenTabSize(t+e),t+=o-1,f.$tabStrings[o]):n=="　"?(s=f.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",h=f.showInvisibles?f.SPACE_CHAR:"",t+=1,"<span class='"+s+"' style='width:"+f.config.characterWidth*2+"px'>"+h+"<\/span>"):u?"<span class='ace_invisible ace_invisible_space ace_invalid'>"+f.SPACE_CHAR+"<\/span>":(t+=1,"<span class='ace_cjk' style='width:"+f.config.characterWidth*2+"px'>"+n+"<\/span>")},o=u.replace(/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,h),s,e;return this.$textToken[r.type]?n.push(o):(s="ace_"+r.type.replace(/\./g," ace_"),e="",r.type=="fold"&&(e=" style='width:"+r.value.length*this.config.characterWidth+"px;' "),n.push("<span class='",s,"'",e,">",o,"<\/span>")),t+u.length};this.renderIndentGuide=function(n,t,r){var u=t.search(this.$indentGuideRe);return u<=0||u>=r?t:t[0]==" "?(u-=u%this.tabSize,n.push(i.stringRepeat(this.$tabStrings[" "],u/this.tabSize)),t.substr(u)):t[0]=="\t"?(n.push(i.stringRepeat(this.$tabStrings["\t"],u)),t.substr(u)):t};this.$renderWrappedLine=function(n,t,r,u){for(var h,f,e=0,l=0,o=r[0],s=0,c=0;c<t.length;c++){if(h=t[c],f=h.value,c==0&&this.displayIndentGuides){if(e=f.length,f=this.renderIndentGuide(n,f,o),!f)continue;e-=f.length}if(e+f.length<o)s=this.$renderToken(n,s,h,f),e+=f.length;else{while(e+f.length>=o)s=this.$renderToken(n,s,h,f.substring(0,o-e)),f=f.substring(o-e),e=o,u||n.push("<\/div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),n.push(i.stringRepeat(" ",r.indent)),l++,s=0,o=r[l]||Number.MAX_VALUE;f.length!=0&&(e+=f.length,s=this.$renderToken(n,s,h,f))}}};this.$renderSimpleLine=function(n,t){var u=0,r=t[0],i=r.value,f;for(this.displayIndentGuides&&(i=this.renderIndentGuide(n,i)),i&&(u=this.$renderToken(n,u,r,i)),f=1;f<t.length;f++)r=t[f],i=r.value,u=this.$renderToken(n,u,r,i)};this.$renderLine=function(n,t,i,r){var u,f;r||r==0||(r=this.session.getFoldLine(t));u=r?this.$getFoldLineTokens(t,r):this.session.getTokens(t);i||n.push("<div class='ace_line' style='height:",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(t)),"px'>");u.length&&(f=this.session.getRowSplitData(t),f&&f.length?this.$renderWrappedLine(n,u,f,i):this.$renderSimpleLine(n,u));this.showInvisibles&&(r&&(t=r.end.row),n.push("<span class='ace_invisible ace_invisible_eol'>",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"<\/span>"));i||n.push("<\/div>")};this.$getFoldLineTokens=function(n,t){function f(n,t,r){for(var u=0,e=0,f;e+n[u].value.length<t;)if(e+=n[u].value.length,u++,u==n.length)return;for(e!=t&&(f=n[u].value.substring(t-e),f.length>r-t&&(f=f.substring(0,r-t)),i.push({type:n[u].type,value:f}),e=t+f.length,u+=1);e<r&&u<n.length;)f=n[u].value,f.length+e>r?i.push({type:n[u].type,value:f.substring(0,r-e)}):i.push(n[u]),e+=f.length,u+=1}var u=this.session,i=[],r=u.getTokens(n);return t.walk(function(n,t,e,o,s){n!=null?i.push({type:"fold",value:n}):(s&&(r=u.getTokens(t)),r.length&&f(r,o,e))},t.end.row,this.session.getLine(t.end.row).length),i};this.$useLineGroups=function(){return this.session.getUseWrapMode()};this.destroy=function(){clearInterval(this.$pollSizeChangesTimer);this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode);delete this.$measureNode}}).call(u.prototype);t.Text=u});ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(n,t){"use strict";var i=n("../lib/dom"),r,u=function(n){this.element=i.createElement("div");this.element.className="ace_layer ace_cursor-layer";n.appendChild(this.element);r===undefined&&(r=!("opacity"in this.element.style));this.isVisible=!1;this.isBlinking=!0;this.blinkInterval=1e3;this.smoothBlinking=!1;this.cursors=[];this.cursor=this.addCursor();i.addCssClass(this.element,"ace_hidden-cursors");this.$updateCursors=(r?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(n){for(var t=this.cursors,i=t.length;i--;)t[i].style.visibility=n?"":"hidden"};this.$updateOpacity=function(n){for(var t=this.cursors,i=t.length;i--;)t[i].style.opacity=n?"":"0"};this.$padding=0;this.setPadding=function(n){this.$padding=n};this.setSession=function(n){this.session=n};this.setBlinking=function(n){n!=this.isBlinking&&(this.isBlinking=n,this.restartTimer())};this.setBlinkInterval=function(n){n!=this.blinkInterval&&(this.blinkInterval=n,this.restartTimer())};this.setSmoothBlinking=function(n){n==this.smoothBlinking||r||(this.smoothBlinking=n,i.setCssClass(this.element,"ace_smooth-blinking",n),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())};this.addCursor=function(){var n=i.createElement("div");return n.className="ace_cursor",this.element.appendChild(n),this.cursors.push(n),n};this.removeCursor=function(){if(this.cursors.length>1){var n=this.cursors.pop();return n.parentNode.removeChild(n),n}};this.hideCursor=function(){this.isVisible=!1;i.addCssClass(this.element,"ace_hidden-cursors");this.restartTimer()};this.showCursor=function(){this.isVisible=!0;i.removeCssClass(this.element,"ace_hidden-cursors");this.restartTimer()};this.restartTimer=function(){var n=this.$updateCursors,t;(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&i.removeCssClass(this.element,"ace_smooth-blinking"),n(!0),this.isBlinking&&this.blinkInterval&&this.isVisible)&&(this.smoothBlinking&&setTimeout(function(){i.addCssClass(this.element,"ace_smooth-blinking")}.bind(this)),t=function(){this.timeoutId=setTimeout(function(){n(!1)},.6*this.blinkInterval)}.bind(this),this.intervalId=setInterval(function(){n(!0);t()},this.blinkInterval),t())};this.getPixelPosition=function(n,t){if(!this.config||!this.session)return{left:0,top:0};n||(n=this.session.selection.getCursor());var i=this.session.documentToScreenPosition(n),r=this.$padding+i.column*this.config.characterWidth,u=(i.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:u}};this.update=function(n){var r,e,t,u,o;this.config=n;var i=this.session.$selectionMarkers,r=0,f=0;for((i===undefined||i.length===0)&&(i=[{cursor:null}]),r=0,e=i.length;r<e;r++)(t=this.getPixelPosition(i[r].cursor,!0),(t.top>n.height+n.offset||t.top<0)&&r>1)||(u=(this.cursors[f++]||this.addCursor()).style,this.drawCursor?this.drawCursor(u,t,n,i[r],this.session):(u.left=t.left+"px",u.top=t.top+"px",u.width=n.characterWidth+"px",u.height=n.lineHeight+"px"));while(this.cursors.length>f)this.removeCursor();o=this.session.getOverwrite();this.$setOverwrite(o);this.$pixelPos=t;this.restartTimer()};this.drawCursor=null;this.$setOverwrite=function(n){n!=this.overwrite&&(this.overwrite=n,n?i.addCssClass(this.element,"ace_overwrite-cursors"):i.removeCssClass(this.element,"ace_overwrite-cursors"))};this.destroy=function(){clearInterval(this.intervalId);clearTimeout(this.timeoutId)}}).call(u.prototype);t.Cursor=u});ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(n,t){"use strict";var f=n("./lib/oop"),e=n("./lib/dom"),o=n("./lib/event"),s=n("./lib/event_emitter").EventEmitter,r=function(n){this.element=e.createElement("div");this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix;this.inner=e.createElement("div");this.inner.className="ace_scrollbar-inner";this.element.appendChild(this.inner);n.appendChild(this.element);this.setVisible(!1);this.skipEvent=!1;o.addListener(this.element,"scroll",this.onScroll.bind(this));o.addListener(this.element,"mousedown",o.preventDefault)},i,u;(function(){f.implement(this,s);this.setVisible=function(n){this.element.style.display=n?"":"none";this.isVisible=n}}).call(r.prototype);i=function(n,t){r.call(this,n);this.scrollTop=0;t.$scrollbarWidth=this.width=e.scrollbarWidth(n.ownerDocument);this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};f.inherits(i,r),function(){this.classSuffix="-v";this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop}));this.skipEvent=!1};this.getWidth=function(){return this.isVisible?this.width:0};this.setHeight=function(n){this.element.style.height=n+"px"};this.setInnerHeight=function(n){this.inner.style.height=n+"px"};this.setScrollHeight=function(n){this.inner.style.height=n+"px"};this.setScrollTop=function(n){this.scrollTop!=n&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=n)}}.call(i.prototype);u=function(n,t){r.call(this,n);this.scrollLeft=0;this.height=t.$scrollbarWidth;this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};f.inherits(u,r),function(){this.classSuffix="-h";this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft}));this.skipEvent=!1};this.getHeight=function(){return this.isVisible?this.height:0};this.setWidth=function(n){this.element.style.width=n+"px"};this.setInnerWidth=function(n){this.inner.style.width=n+"px"};this.setScrollWidth=function(n){this.inner.style.width=n+"px"};this.setScrollLeft=function(n){this.scrollLeft!=n&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=n)}}.call(u.prototype);t.ScrollBar=i;t.ScrollBarV=i;t.ScrollBarH=u;t.VScrollBar=i;t.HScrollBar=u});ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(n,t){"use strict";var r=n("./lib/event"),i=function(n,t){this.onRender=n;this.pending=!1;this.changes=0;this.window=t||window};(function(){this.schedule=function(n){if(this.changes=this.changes|n,!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;for(var n;n=t.changes;)t.changes=0,t.onRender(n)},this.window)}}}).call(i.prototype);t.RenderLoop=i});ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(n,t){var f=n("../lib/oop"),r=n("../lib/dom"),u=n("../lib/lang"),e=n("../lib/useragent"),o=n("../lib/event_emitter").EventEmitter,i=0,s=t.FontMetrics=function(n){this.el=r.createElement("div");this.$setMeasureNodeStyles(this.el.style,!0);this.$main=r.createElement("div");this.$setMeasureNodeStyles(this.$main.style);this.$measureNode=r.createElement("div");this.$setMeasureNodeStyles(this.$measureNode.style);this.el.appendChild(this.$main);this.el.appendChild(this.$measureNode);n.appendChild(this.el);i||this.$testFractionalRect();this.$measureNode.innerHTML=u.stringRepeat("X",i);this.$characterSize={width:0,height:0};this.checkForSizeChanges()};(function(){f.implement(this,o);this.$characterSize={width:0,height:0};this.$testFractionalRect=function(){var n=r.createElement("div"),t;this.$setMeasureNodeStyles(n.style);n.style.width="0.2px";document.documentElement.appendChild(n);t=n.getBoundingClientRect().width;i=t>0&&t<1?50:100;n.parentNode.removeChild(n)};this.$setMeasureNodeStyles=function(n,t){n.width=n.height="auto";n.left=n.top="0px";n.visibility="hidden";n.position="absolute";n.whiteSpace="pre";e.isIE<8?n["font-family"]="inherit":n.font="inherit";n.overflow=t?"hidden":"visible"};this.checkForSizeChanges=function(){var n=this.$measureSizes(),t;n&&(this.$characterSize.width!==n.width||this.$characterSize.height!==n.height)&&(this.$measureNode.style.fontWeight="bold",t=this.$measureSizes(),this.$measureNode.style.fontWeight="",this.$characterSize=n,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===n.width&&t.height===n.height,this._emit("changeCharacterSize",{data:n}))};this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var n=this;return this.$pollSizeChangesTimer=setInterval(function(){n.checkForSizeChanges()},500)};this.setPolling=function(n){n?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)};this.$measureSizes=function(){var n,t;if(i===50){n=null;try{n=this.$measureNode.getBoundingClientRect()}catch(r){n={width:0,height:0}}t={height:n.height,width:n.width/i}}else t={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/i};return t.width===0||t.height===0?null:t};this.$measureCharWidth=function(n){this.$main.innerHTML=u.stringRepeat(n,i);var t=this.$main.getBoundingClientRect();return t.width/i};this.getCharacterWidth=function(n){var t=this.charSizes[n];return t===undefined&&(t=this.charSizes[n]=this.$measureCharWidth(n)/this.$characterSize.width),t};this.destroy=function(){clearInterval(this.$pollSizeChangesTimer);this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(s.prototype)});ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(n,t){"use strict";var e=n("./lib/oop"),i=n("./lib/dom"),r=n("./config"),o=n("./lib/useragent"),s=n("./layer/gutter").Gutter,f=n("./layer/marker").Marker,h=n("./layer/text").Text,c=n("./layer/cursor").Cursor,l=n("./scrollbar").HScrollBar,a=n("./scrollbar").VScrollBar,v=n("./renderloop").RenderLoop,y=n("./layer/font_metrics").FontMetrics,p=n("./lib/event_emitter").EventEmitter,u;i.importCssString('.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block;   }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius    : 3px;}.ace_br2 {border-top-right-radius   : 3px;}.ace_br3 {border-top-left-radius    : 3px; border-top-right-radius:    3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius    : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius   : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius    : 3px; border-bottom-left-radius:  3px;}.ace_br10{border-top-right-radius   : 3px; border-bottom-left-radius:  3px;}.ace_br11{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-left-radius:  3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}.ace_br13{border-top-left-radius    : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}.ace_br14{border-top-right-radius   : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}.ace_br15{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}',"ace_editor.css");u=function(n,t){var u=this,e;this.container=n||i.createElement("div");this.$keepTextAreaAtCursor=!o.isOldIE;i.addCssClass(this.container,"ace_editor");this.setTheme(t);this.$gutter=i.createElement("div");this.$gutter.className="ace_gutter";this.container.appendChild(this.$gutter);this.scroller=i.createElement("div");this.scroller.className="ace_scroller";this.container.appendChild(this.scroller);this.content=i.createElement("div");this.content.className="ace_content";this.scroller.appendChild(this.content);this.$gutterLayer=new s(this.$gutter);this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this));this.$markerBack=new f(this.content);e=this.$textLayer=new h(this.content);this.canvas=e.element;this.$markerFront=new f(this.content);this.$cursorLayer=new c(this.content);this.$horizScroll=!1;this.$vScroll=!1;this.scrollBar=this.scrollBarV=new a(this.container,this);this.scrollBarH=new l(this.container,this);this.scrollBarV.addEventListener("scroll",function(n){u.$scrollAnimation||u.session.setScrollTop(n.data-u.scrollMargin.top)});this.scrollBarH.addEventListener("scroll",function(n){u.$scrollAnimation||u.session.setScrollLeft(n.data-u.scrollMargin.left)});this.scrollTop=0;this.scrollLeft=0;this.cursorPos={row:0,column:0};this.$fontMetrics=new y(this.container);this.$textLayer.$setFontMetrics(this.$fontMetrics);this.$textLayer.addEventListener("changeCharacterSize",function(n){u.updateCharacterSize();u.onResize(!0,u.gutterWidth,u.$size.width,u.$size.height);u._signal("changeCharacterSize",n)});this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0};this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1};this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0};this.$loop=new v(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView);this.$loop.schedule(this.CHANGE_FULL);this.updateCharacterSize();this.setPadding(4);r.resetOptions(this);r._emit("renderer",this)},function(){this.CHANGE_CURSOR=1;this.CHANGE_MARKER=2;this.CHANGE_GUTTER=4;this.CHANGE_SCROLL=8;this.CHANGE_LINES=16;this.CHANGE_TEXT=32;this.CHANGE_SIZE=64;this.CHANGE_MARKER_BACK=128;this.CHANGE_MARKER_FRONT=256;this.CHANGE_FULL=512;this.CHANGE_H_SCROLL=1024;e.implement(this,p);this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts));this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth();this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight();this.$updatePrintMargin()};this.setSession=function(n){(this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=n,n&&this.scrollMargin.top&&n.getScrollTop()<=0&&n.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(n),this.$markerBack.setSession(n),this.$markerFront.setSession(n),this.$gutterLayer.setSession(n),this.$textLayer.setSession(n),n)&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))};this.updateLines=function(n,t,i){if(t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>n&&(this.$changedLines.firstRow=n),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:n,lastRow:t},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!i)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)};this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT);this.$textLayer.$updateEolChar()};this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER);this.$textLayer.onChangeTabSize()};this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)};this.updateFull=function(n){n?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)};this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()};this.$changes=0;this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()};this.onResize=function(n,t,i,r){var u,f;if(!(this.resizing>2)){if(this.resizing>0?this.resizing++:this.resizing=n?1:0,u=this.container,r||(r=u.clientHeight||u.scrollHeight),i||(i=u.clientWidth||u.scrollWidth),f=this.$updateCachedSize(n,t,i,r),!this.$size.scrollerHeight||!i&&!r)return this.resizing=0;n&&(this.$gutterLayer.$padding=null);n?this.$renderChanges(f|this.$changes,!0):this.$loop.schedule(f|this.$changes);this.resizing&&(this.resizing=0);this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null}};this.$updateCachedSize=function(n,t,i,r){r-=this.$extraHeight||0;var f=0,u=this.$size,e={width:u.width,height:u.height,scrollerHeight:u.scrollerHeight,scrollerWidth:u.scrollerWidth};return r&&(n||u.height!=r)&&(u.height=r,f|=this.CHANGE_SIZE,u.scrollerHeight=u.height,this.$horizScroll&&(u.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",f|=this.CHANGE_SCROLL),i&&(n||u.width!=i)&&(f|=this.CHANGE_SIZE,u.width=i,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",u.scrollerWidth=Math.max(0,i-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px",(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||n)&&(f|=this.CHANGE_FULL)),u.$dirty=!i||!r,f&&this._signal("resize",e),f};this.onGutterResize=function(){var n=this.$showGutter?this.$gutter.offsetWidth:0;n!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,n,this.$size.width,this.$size.height));this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))};this.adjustWrapLimit=function(){var n=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(n/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)};this.setAnimatedScroll=function(n){this.setOption("animatedScroll",n)};this.getAnimatedScroll=function(){return this.$animatedScroll};this.setShowInvisibles=function(n){this.setOption("showInvisibles",n)};this.getShowInvisibles=function(){return this.getOption("showInvisibles")};this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")};this.setDisplayIndentGuides=function(n){this.setOption("displayIndentGuides",n)};this.setShowPrintMargin=function(n){this.setOption("showPrintMargin",n)};this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")};this.setPrintMarginColumn=function(n){this.setOption("printMarginColumn",n)};this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")};this.getShowGutter=function(){return this.getOption("showGutter")};this.setShowGutter=function(n){return this.setOption("showGutter",n)};this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")};this.setFadeFoldWidgets=function(n){this.setOption("fadeFoldWidgets",n)};this.setHighlightGutterLine=function(n){this.setOption("highlightGutterLine",n)};this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")};this.$updateGutterLineHighlight=function(){var t=this.$cursorLayer.$pixelPos,i=this.layerConfig.lineHeight,n;this.session.getUseWrapMode()&&(n=this.session.selection.getCursor(),n.column=0,t=this.$cursorLayer.getPixelPosition(n,!0),i*=this.session.getRowLength(n.row));this.$gutterLineHighlight.style.top=t.top-this.layerConfig.offset+"px";this.$gutterLineHighlight.style.height=i+"px"};this.$updatePrintMargin=function(){var n,t;(this.$showPrintMargin||this.$printMarginEl)&&(this.$printMarginEl||(n=i.createElement("div"),n.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",n.appendChild(this.$printMarginEl),this.content.insertBefore(n,this.content.firstChild)),t=this.$printMarginEl.style,t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit())};this.getContainerElement=function(){return this.container};this.getMouseEventTarget=function(){return this.scroller};this.getTextAreaContainer=function(){return this.container};this.$moveTextAreaToCursor=function(){var n,r,t,e;if(this.$keepTextAreaAtCursor){var f=this.layerConfig,u=this.$cursorLayer.$pixelPos.top,i=this.$cursorLayer.$pixelPos.left;if(u-=f.offset,n=this.textarea.style,r=this.lineHeight,u<0||u>f.height-r){n.top=n.left="0";return}t=this.characterWidth;this.$composition&&(e=this.textarea.value.replace(/^\x01+/,""),t*=this.session.$getStringScreenWidth(e)[0]+2,r+=2);i-=this.scrollLeft;i>this.$size.scrollerWidth-t&&(i=this.$size.scrollerWidth-t);i+=this.gutterWidth;n.height=r+"px";n.width=t+"px";n.left=Math.min(i,this.$size.scrollerWidth-t)+"px";n.top=Math.min(u,this.$size.height-r)+"px"}};this.getFirstVisibleRow=function(){return this.layerConfig.firstRow};this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)};this.getLastFullyVisibleRow=function(){var n=this.layerConfig,t=n.lastRow,i=this.session.documentToScreenRow(t,0)*n.lineHeight;return i-this.session.getScrollTop()>n.height-n.lineHeight?t-1:t};this.getLastVisibleRow=function(){return this.layerConfig.lastRow};this.$padding=null;this.setPadding=function(n){this.$padding=n;this.$textLayer.setPadding(n);this.$cursorLayer.setPadding(n);this.$markerFront.setPadding(n);this.$markerBack.setPadding(n);this.$loop.schedule(this.CHANGE_FULL);this.$updatePrintMargin()};this.setScrollMargin=function(n,t,i,r){var u=this.scrollMargin;u.top=n|0;u.bottom=t|0;u.right=r|0;u.left=i|0;u.v=u.top+u.bottom;u.h=u.left+u.right;u.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-u.top);this.updateFull()};this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible};this.setHScrollBarAlwaysVisible=function(n){this.setOption("hScrollBarAlwaysVisible",n)};this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible};this.setVScrollBarAlwaysVisible=function(n){this.setOption("vScrollBarAlwaysVisible",n)};this.$updateScrollBarV=function(){var n=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(n-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>n-t&&(n=this.scrollTop+t,this.scrollBarV.scrollTop=null));this.scrollBarV.setScrollHeight(n+this.scrollMargin.v);this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)};this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h);this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)};this.$frozen=!1;this.freeze=function(){this.$frozen=!0};this.unfreeze=function(){this.$frozen=!1};this.$renderChanges=function(n,t){var i,r;if(this.$changes&&(n|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!n&&!t){this.$changes|=n;return}if(this.$size.$dirty)return this.$changes|=n,this.onResize(!0);if(this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),i=this.layerConfig,(n&this.CHANGE_FULL||n&this.CHANGE_SIZE||n&this.CHANGE_TEXT||n&this.CHANGE_LINES||n&this.CHANGE_SCROLL||n&this.CHANGE_H_SCROLL)&&(n|=this.$computeLayerConfig(),i.firstRow!=this.layerConfig.firstRow&&i.firstRowScreen==this.layerConfig.firstRowScreen&&(r=this.scrollTop+(i.firstRow-this.layerConfig.firstRow)*this.lineHeight,r>0&&(this.scrollTop=r,n|=this.CHANGE_SCROLL,n|=this.$computeLayerConfig())),i=this.layerConfig,this.$updateScrollBarV(),n&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-i.offset+"px",this.content.style.marginTop=-i.offset+"px",this.content.style.width=i.width+2*this.$padding+"px",this.content.style.height=i.minHeight+"px"),n&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),n&this.CHANGE_FULL){this.$textLayer.update(i);this.$showGutter&&this.$gutterLayer.update(i);this.$markerBack.update(i);this.$markerFront.update(i);this.$cursorLayer.update(i);this.$moveTextAreaToCursor();this.$highlightGutterLine&&this.$updateGutterLineHighlight();this._signal("afterRender");return}if(n&this.CHANGE_SCROLL){n&this.CHANGE_TEXT||n&this.CHANGE_LINES?this.$textLayer.update(i):this.$textLayer.scrollLines(i);this.$showGutter&&this.$gutterLayer.update(i);this.$markerBack.update(i);this.$markerFront.update(i);this.$cursorLayer.update(i);this.$highlightGutterLine&&this.$updateGutterLineHighlight();this.$moveTextAreaToCursor();this._signal("afterRender");return}n&this.CHANGE_TEXT?(this.$textLayer.update(i),this.$showGutter&&this.$gutterLayer.update(i)):n&this.CHANGE_LINES?(this.$updateLines()||n&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(i):(n&this.CHANGE_TEXT||n&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(i);n&this.CHANGE_CURSOR&&(this.$cursorLayer.update(i),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight());n&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(i);n&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(i);this._signal("afterRender")};this.$autosize=function(){var i=this.session.getScreenLength()*this.lineHeight,r=this.$maxLines*this.lineHeight,n=Math.min(r,Math.max((this.$minLines||1)*this.lineHeight,i))+this.scrollMargin.v+(this.$extraHeight||0),t,u;this.$horizScroll&&(n+=this.scrollBarH.getHeight());this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);t=i>r;(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||t!=this.$vScroll)&&(t!=this.$vScroll&&(this.$vScroll=t,this.scrollBarV.setVisible(t)),u=this.container.clientWidth,this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,u,n),this.desiredHeight=n,this._signal("autosize"))};this.$computeLayerConfig=function(){var i=this.session,n=this.$size,w=n.height<=2*this.lineHeight,nt=this.session.getScreenLength(),e=nt*this.lineHeight,u=this.$getLongestLine(),a=!w&&(this.$hScrollBarAlwaysVisible||n.scrollerWidth-u-2*this.$padding<0),b=this.$horizScroll!==a,k,r,s,h,p,l;b&&(this.$horizScroll=a,this.scrollBarH.setVisible(a));k=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var o=this.scrollTop%this.lineHeight,v=n.scrollerHeight+this.lineHeight,d=!this.$maxLines&&this.$scrollPastEnd?(n.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;e+=d;r=this.scrollMargin;this.session.setScrollTop(Math.max(-r.top,Math.min(this.scrollTop,e-n.scrollerHeight+r.bottom)));this.session.setScrollLeft(Math.max(-r.left,Math.min(this.scrollLeft,u+2*this.$padding-n.scrollerWidth+r.right)));s=!w&&(this.$vScrollBarAlwaysVisible||n.scrollerHeight-e+d<0||this.scrollTop>r.top);h=k!==s;h&&(this.$vScroll=s,this.scrollBarV.setVisible(s));var tt=Math.ceil(v/this.lineHeight)-1,t=Math.max(0,Math.round((this.scrollTop-o)/this.lineHeight)),c=t+tt,y,g,f=this.lineHeight;return t=i.screenToDocumentRow(t,0),p=i.getFoldLine(t),p&&(t=p.start.row),y=i.documentToScreenRow(t,0),g=i.getRowLength(t)*f,c=Math.min(i.screenToDocumentRow(c,0),i.getLength()-1),v=n.scrollerHeight+i.getRowLength(c)*f+g,o=this.scrollTop-y*f,l=0,this.layerConfig.width!=u&&(l=this.CHANGE_H_SCROLL),(b||h)&&(l=this.$updateCachedSize(!0,this.gutterWidth,n.width,n.height),this._signal("scrollbarVisibilityChanged"),h&&(u=this.$getLongestLine())),this.layerConfig={width:u,padding:this.$padding,firstRow:t,firstRowScreen:y,lastRow:c,lineHeight:f,characterWidth:this.characterWidth,minHeight:v,maxHeight:e,offset:o,gutterOffset:Math.max(0,Math.ceil((o+n.height-n.scrollerHeight)/f)),height:this.$size.scrollerHeight},l};this.$updateLines=function(){var i=this.$changedLines.firstRow,t=this.$changedLines.lastRow,n;if((this.$changedLines=null,n=this.layerConfig,!(i>n.lastRow+1))&&!(t<n.firstRow)){if(t===Infinity){this.$showGutter&&this.$gutterLayer.update(n);this.$textLayer.update(n);return}return this.$textLayer.updateLines(n,i,t),!0}};this.$getLongestLine=function(){var n=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(n+=1),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(n*this.characterWidth))};this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0));this.$loop.schedule(this.CHANGE_MARKER_FRONT)};this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers());this.$loop.schedule(this.CHANGE_MARKER_BACK)};this.addGutterDecoration=function(n,t){this.$gutterLayer.addGutterDecoration(n,t)};this.removeGutterDecoration=function(n,t){this.$gutterLayer.removeGutterDecoration(n,t)};this.updateBreakpoints=function(){this.$loop.schedule(this.CHANGE_GUTTER)};this.setAnnotations=function(n){this.$gutterLayer.setAnnotations(n);this.$loop.schedule(this.CHANGE_GUTTER)};this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)};this.hideCursor=function(){this.$cursorLayer.hideCursor()};this.showCursor=function(){this.$cursorLayer.showCursor()};this.scrollSelectionIntoView=function(n,t,i){this.scrollCursorIntoView(n,i);this.scrollCursorIntoView(t,i)};this.scrollCursorIntoView=function(n,t,i){var f;if(this.$size.scrollerHeight!==0){var o=this.$cursorLayer.getPixelPosition(n),u=o.left,r=o.top,s=i&&i.top||0,h=i&&i.bottom||0,e=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;e+s>r?(t&&e+s>r+this.lineHeight&&(r-=t*this.$size.scrollerHeight),r===0&&(r=-this.scrollMargin.top),this.session.setScrollTop(r)):e+this.$size.scrollerHeight-h<r+this.lineHeight&&(t&&e+this.$size.scrollerHeight-h<r-this.lineHeight&&(r+=t*this.$size.scrollerHeight),this.session.setScrollTop(r+this.lineHeight-this.$size.scrollerHeight));f=this.scrollLeft;f>u?(u<this.$padding+2*this.layerConfig.characterWidth&&(u=-this.scrollMargin.left),this.session.setScrollLeft(u)):f+this.$size.scrollerWidth<u+this.characterWidth?this.session.setScrollLeft(Math.round(u+this.characterWidth-this.$size.scrollerWidth)):f<=this.$padding&&u-f<this.characterWidth&&this.session.setScrollLeft(0)}};this.getScrollTop=function(){return this.session.getScrollTop()};this.getScrollLeft=function(){return this.session.getScrollLeft()};this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight};this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)};this.scrollToRow=function(n){this.session.setScrollTop(n*this.lineHeight)};this.alignCursor=function(n,t){typeof n=="number"&&(n={row:n,column:0});var r=this.$cursorLayer.getPixelPosition(n),u=this.$size.scrollerHeight-this.lineHeight,i=r.top-u*(t||0);return this.session.setScrollTop(i),i};this.STEPS=8;this.$calcSteps=function(n,t){for(var i=0,u=this.STEPS,r=[],f=function(n,t,i){return i*(Math.pow(n-1,3)+1)+t},i=0;i<u;++i)r.push(f(i/this.STEPS,n,t-n));return r};this.scrollToLine=function(n,t,i,r){var e=this.$cursorLayer.getPixelPosition({row:n,column:0}),u=e.top,f;t&&(u-=this.$size.scrollerHeight/2);f=this.scrollTop;this.session.setScrollTop(u);i!==!1&&this.animateScrolling(f,r)};this.animateScrolling=function(n,t){var r=this.scrollTop,i,f,u;this.$animatedScroll&&(i=this,n!=r)&&(this.$scrollAnimation&&(f=this.$scrollAnimation.steps,f.length&&(n=f[0],n==r))||(u=i.$calcSteps(n,r),this.$scrollAnimation={from:n,to:r,steps:u},clearInterval(this.$timer),i.session.setScrollTop(u.shift()),i.session.$scrollTop=r,this.$timer=setInterval(function(){u.length?(i.session.setScrollTop(u.shift()),i.session.$scrollTop=r):r!=null?(i.session.$scrollTop=-1,i.session.setScrollTop(r),r=null):(i.$timer=clearInterval(i.$timer),i.$scrollAnimation=null,t&&t())},10)))};this.scrollToY=function(n){this.scrollTop!==n&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=n)};this.scrollToX=function(n){this.scrollLeft!==n&&(this.scrollLeft=n);this.$loop.schedule(this.CHANGE_H_SCROLL)};this.scrollTo=function(n,t){this.session.setScrollTop(t);this.session.setScrollLeft(t)};this.scrollBy=function(n,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t);n&&this.session.setScrollLeft(this.session.getScrollLeft()+n)};this.isScrollableBy=function(n,t){return t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top?!0:t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom?!0:n<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left?!0:n>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right?!0:void 0};this.pixelToScreenCoordinates=function(n,t){var i=this.scroller.getBoundingClientRect(),r=(n+this.scrollLeft-i.left-this.$padding)/this.characterWidth,f=Math.floor((t+this.scrollTop-i.top)/this.lineHeight),u=Math.round(r);return{row:f,column:u,side:r-u>0?1:-1}};this.screenToTextCoordinates=function(n,t){var i=this.scroller.getBoundingClientRect(),r=Math.round((n+this.scrollLeft-i.left-this.$padding)/this.characterWidth),u=(t+this.scrollTop-i.top)/this.lineHeight;return this.session.screenToDocumentPosition(u,Math.max(r,0))};this.textToScreenCoordinates=function(n,t){var i=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(n,t),u=this.$padding+Math.round(r.column*this.characterWidth),f=r.row*this.lineHeight;return{pageX:i.left+u-this.scrollLeft,pageY:i.top+f-this.scrollTop}};this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")};this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")};this.showComposition=function(){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText});this.$keepTextAreaAtCursor=!0;i.addCssClass(this.textarea,"ace_composition");this.textarea.style.cssText="";this.$moveTextAreaToCursor()};this.setCompositionText=function(){this.$moveTextAreaToCursor()};this.hideComposition=function(){this.$composition&&(i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null)};this.setTheme=function(n,t){function f(r){if(u.$themeId!=n)return t&&t();if(r.cssClass){i.importCssString(r.cssText,r.cssClass,u.container.ownerDocument);u.theme&&i.removeCssClass(u.container,u.theme.cssClass);var f="padding"in r?r.padding:"padding"in(u.theme||{})?4:u.$padding;u.$padding&&f!=u.$padding&&u.setPadding(f);u.$theme=r.cssClass;u.theme=r;i.addCssClass(u.container,r.cssClass);i.setCssClass(u.container,"ace_dark",r.isDark);u.$size&&(u.$size.width=0,u.$updateSizeAsync());u._dispatchEvent("themeLoaded",{theme:r});t&&t()}}var u=this,e;this.$themeId=n;u._dispatchEvent("themeChange",{theme:n});n&&typeof n!="string"?f(n):(e=n||this.$options.theme.initialValue,r.loadModule(["theme",e],f))};this.getTheme=function(){return this.$themeId};this.setStyle=function(n,t){i.setCssClass(this.container,n,t!==!1)};this.unsetStyle=function(n){i.removeCssClass(this.container,n)};this.setCursorStyle=function(n){this.scroller.style.cursor!=n&&(this.scroller.style.cursor=n)};this.setMouseCursor=function(n){this.scroller.style.cursor=n};this.destroy=function(){this.$textLayer.destroy();this.$cursorLayer.destroy()}}.call(u.prototype);r.defineOptions(u.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(n){this.$textLayer.setShowInvisibles(n)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(n){typeof n=="number"&&(this.$printMarginColumn=n);this.$showPrintMargin=!!n;this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(n){this.$gutter.style.display=n?"block":"none";this.$loop.schedule(this.CHANGE_FULL);this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(n){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",n)},initialValue:!1},showFoldWidgets:{set:function(n){this.$gutterLayer.setShowFoldWidgets(n)},initialValue:!0},showLineNumbers:{set:function(n){this.$gutterLayer.setShowLineNumbers(n);this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(n){this.$textLayer.setDisplayIndentGuides(n)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(n){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div");this.$gutterLineHighlight.className="ace_gutter-active-line";this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=n?"":"none";this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(n){typeof n=="number"&&(n+="px");this.container.style.fontSize=n;this.updateFontSize()},initialValue:12},fontFamily:{set:function(n){this.container.style.fontFamily=n;this.updateFontSize()}},maxLines:{set:function(){this.updateFull()}},minLines:{set:function(){this.updateFull()}},maxPixelHeight:{set:function(){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(n){(n=+n||0,this.$scrollPastEnd!=n)&&(this.$scrollPastEnd=n,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(n){this.$gutterLayer.$fixedWidth=!!n;this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(n){this.setTheme(n)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}});t.VirtualRenderer=u});ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(n,t){"use strict";var o=n("../lib/oop"),f=n("../lib/net"),e=n("../lib/event_emitter").EventEmitter,i=n("../config"),r=function(t,r,u,f){var e,o;this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this);this.changeListener=this.changeListener.bind(this);this.onMessage=this.onMessage.bind(this);n.nameToUrl&&!n.toUrl&&(n.toUrl=n.nameToUrl);i.get("packaged")||!n.toUrl?f=f||i.moduleUrl(r,"worker"):(e=this.$normalizePath,f=f||e(n.toUrl("ace/worker/worker.js",null,"_")),o={},t.forEach(function(t){o[t]=e(n.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))}));try{this.$worker=new Worker(f)}catch(s){if(!(s instanceof window.DOMException))throw s;var l=this.$workerBlob(f),h=window.URL||window.webkitURL,c=h.createObjectURL(l);this.$worker=new Worker(c);h.revokeObjectURL(c)}this.$worker.postMessage({init:!0,tlns:o,module:r,classname:u});this.callbackId=1;this.callbacks={};this.$worker.onmessage=this.onMessage},u;(function(){o.implement(this,e);this.onMessage=function(n){var t=n.data,i;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":i=this.callbacks[t.id];i&&(i(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}};this.reportError=function(n){window.console&&console.error&&console.error(n)};this.$normalizePath=function(n){return f.qualifyURL(n)};this.terminate=function(){this._signal("terminate",{});this.deltaQueue=null;this.$worker.terminate();this.$worker=null;this.$doc&&this.$doc.off("change",this.changeListener);this.$doc=null};this.send=function(n,t){this.$worker.postMessage({command:n,args:t})};this.call=function(n,t,i){if(i){var r=this.callbackId++;this.callbacks[r]=i;t.push(r)}this.send(n,t)};this.emit=function(n,t){try{this.$worker.postMessage({event:n,data:{data:t.data}})}catch(i){console.error(i.stack)}};this.attachToDocument=function(n){this.$doc&&this.terminate();this.$doc=n;this.call("setValue",[n.getValue()]);n.on("change",this.changeListener)};this.changeListener=function(n){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0));n.action=="insert"?this.deltaQueue.push(n.start,n.lines):this.deltaQueue.push(n.start,n.end)};this.$sendDeltaQueue=function(){var n=this.deltaQueue;n&&(this.deltaQueue=null,n.length>50&&n.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:n}))};this.$workerBlob=function(n){var i="importScripts('"+f.qualifyURL(n)+"');",r,t;try{return new Blob([i],{type:"application/javascript"})}catch(u){return r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,t=new r,t.append(i),t.getBlob("application/javascript")}}}).call(r.prototype);u=function(n,t,r){var s;this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this);this.changeListener=this.changeListener.bind(this);this.callbackId=1;this.callbacks={};this.messageBuffer=[];var f=null,h=!1,u=Object.create(e),o=this;this.$worker={};this.$worker.terminate=function(){};this.$worker.postMessage=function(n){o.messageBuffer.push(n);f&&(h?setTimeout(s):s())};this.setEmitSync=function(n){h=n};s=function(){var n=o.messageBuffer.shift();n.command?f[n.command].apply(f,n.args):n.event&&u._signal(n.event,n.data)};u.postMessage=function(n){o.onMessage({data:n})};u.callback=function(n,t){this.postMessage({type:"call",id:t,data:n})};u.emit=function(n,t){this.postMessage({type:"event",name:n,data:t})};i.loadModule(["worker",t],function(n){for(f=new n[r](u);o.messageBuffer.length;)s()})};u.prototype=r.prototype;t.UIWorkerClient=u;t.WorkerClient=r});ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(n,t){"use strict";var i=n("./range").Range,u=n("./lib/event_emitter").EventEmitter,f=n("./lib/oop"),r=function(n,t,i,r,u,f){var o=this,e;this.length=t;this.session=n;this.doc=n.getDocument();this.mainClass=u;this.othersClass=f;this.$onUpdate=this.onUpdate.bind(this);this.doc.on("change",this.$onUpdate);this.$others=r;this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})};this.$pos=i;e=n.getUndoManager().$undoStack||n.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=e.length;this.setup();n.selection.on("changeCursor",this.$onCursorChange)};(function(){f.implement(this,u);this.setup=function(){var u=this,r=this.doc,t=this.session,n;this.selectionBefore=t.selection.toJSON();t.selection.inMultiSelectMode&&t.selection.toSingleRange();this.pos=r.createAnchor(this.$pos.row,this.$pos.column);n=this.pos;n.$insertRight=!0;n.detach();n.markerId=t.addMarker(new i(n.row,n.column,n.row,n.column+this.length),this.mainClass,null,!1);this.others=[];this.$others.forEach(function(n){var t=r.createAnchor(n.row,n.column);t.$insertRight=!0;t.detach();u.others.push(t)});t.setUndoSelect(!1)};this.showOtherMarkers=function(){if(!this.othersActive){var t=this.session,n=this;this.othersActive=!0;this.others.forEach(function(r){r.markerId=t.addMarker(new i(r.row,r.column,r.row,r.column+n.length),n.othersClass,null,!1)})}};this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var n=0;n<this.others.length;n++)this.session.removeMarker(this.others[n].markerId)}};this.onUpdate=function(n){var t,r,f,u;if(this.$updating)return this.updateAnchors(n);if((t=n,t.start.row===t.end.row)&&t.start.row===this.pos.row){this.$updating=!0;var e=n.action==="insert"?t.end.column-t.start.column:t.start.column-t.end.column,o=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;if(this.updateAnchors(n),o&&(this.length+=e),o&&!this.session.$fromUndo)if(n.action==="insert")for(r=this.others.length-1;r>=0;r--)f=this.others[r],u={row:f.row,column:f.column+s},this.doc.insertMergedLines(u,n.lines);else if(n.action==="remove")for(r=this.others.length-1;r>=0;r--)f=this.others[r],u={row:f.row,column:f.column+s},this.doc.remove(new i(u.row,u.column,u.row,u.column-e));this.$updating=!1;this.updateMarkers()}};this.updateAnchors=function(n){this.pos.onChange(n);for(var t=this.others.length;t--;)this.others[t].onChange(n);this.updateMarkers()};this.updateMarkers=function(){var n;if(!this.$updating){var u=this,t=this.session,r=function(n,r){t.removeMarker(n.markerId);n.markerId=t.addMarker(new i(n.row,n.column,n.row,n.column+u.length),r,null,!1)};for(r(this.pos,this.mainClass),n=this.others.length;n--;)r(this.others[n],this.othersClass)}};this.onCursorChange=function(n){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",n)):(this.hideOtherMarkers(),this._emit("cursorLeave",n))}};this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId);this.hideOtherMarkers();this.doc.removeEventListener("change",this.$onUpdate);this.session.selection.removeEventListener("changeCursor",this.$onCursorChange);this.session.setUndoSelect(!0);this.session=null};this.cancel=function(){var n,i,t;if(this.$undoStackDepth!==-1){for(n=this.session.getUndoManager(),i=(n.$undoStack||n.$undostack).length-this.$undoStackDepth,t=0;t<i;t++)n.undo(!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}}).call(r.prototype);t.PlaceHolder=r});ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(n,t){function i(n,t){return n.row==t.row&&n.column==t.column}function u(n){var c=n.domEvent,h=c.altKey,l=c.shiftKey,k=c.ctrlKey,a=n.getAccelKey(),p=n.getButton(),o,b,y,e,rt,ut,ft,et;if(k&&r.isMac&&(p=c.button),n.editor.inMultiSelectMode&&p==2){n.editor.textInput.onContextMenu(n.domEvent);return}if(!k&&!h&&!a){p===0&&n.editor.inMultiSelectMode&&n.editor.exitMultiSelectMode();return}if(p===0){var t=n.editor,u=t.selection,v=t.inMultiSelectMode,d=n.getDocumentPosition(),ot=u.getCursor(),st=n.inSelection()||u.isEmpty()&&i(d,ot),g=n.x,nt=n.y,ht=function(n){g=n.clientX;nt=n.clientY},it=t.session,tt=t.renderer.pixelToScreenCoordinates(g,nt),w=tt,s;if(t.$mouseHandler.$enableJumpToDef)k&&h||a&&h?s=l?"block":"add":h&&t.$blockSelectEnabled&&(s="block");else if(a&&!h){if(s="add",!v&&l)return}else h&&t.$blockSelectEnabled&&(s="block");if(s&&r.isMac&&c.ctrlKey&&t.$mouseHandler.cancelContextMenu(),s=="add"){if(!v&&st)return;v||(o=u.toOrientedRange(),t.addSelectionMarker(o));b=u.rangeList.rangeAtPoint(d);t.$blockScrolling++;t.inVirtualSelectionMode=!0;l&&(b=null,o=u.ranges[0]||o,t.removeSelectionMarker(o));t.once("mouseup",function(){var n=u.toOrientedRange();b&&n.isEmpty()&&i(b.cursor,n.cursor)?u.substractPoint(n.cursor):(l?u.substractPoint(o.cursor):o&&(t.removeSelectionMarker(o),u.addRange(o)),u.addRange(n));t.$blockScrolling--;t.inVirtualSelectionMode=!1})}else if(s=="block")return n.stop(),t.inVirtualSelectionMode=!0,e=[],rt=function(){var n=t.renderer.pixelToScreenCoordinates(g,nt),r=it.screenToDocumentPosition(n.row,n.column);i(w,n)&&i(r,u.lead)||(w=n,t.$blockScrolling++,t.selection.moveToPosition(r),t.renderer.scrollCursorIntoView(),t.removeSelectionMarkers(e),e=u.rectangularRangeBlock(w,tt),t.$mouseHandler.$clickSelection&&e.length==1&&e[0].isEmpty()&&(e[0]=t.$mouseHandler.$clickSelection.clone()),e.forEach(t.addSelectionMarker,t),t.updateSelectionMarkers(),t.$blockScrolling--)},t.$blockScrolling++,v&&!a?u.toSingleRange():!v&&a&&(y=u.toOrientedRange(),t.addSelectionMarker(y)),l?tt=it.documentToScreenPosition(u.lead):u.moveToPosition(d),t.$blockScrolling--,w={row:-1,column:-1},ut=function(){clearInterval(et);t.removeSelectionMarkers(e);e.length||(e=[u.toOrientedRange()]);t.$blockScrolling++;y&&(t.removeSelectionMarker(y),u.toSingleRange(y));for(var n=0;n<e.length;n++)u.addRange(e[n]);t.inVirtualSelectionMode=!1;t.$mouseHandler.$clickSelection=null;t.$blockScrolling--},ft=rt,f.capture(t.container,ht,ut),et=setInterval(function(){ft()},20),n.preventDefault()}}var f=n("../lib/event"),r=n("../lib/useragent");t.onMouseDown=u});ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(n,t){t.defaultCommands=[{name:"addCursorAbove",exec:function(n){n.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",exec:function(n){n.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",exec:function(n){n.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",exec:function(n){n.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",exec:function(n){n.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",exec:function(n){n.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",exec:function(n){n.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",exec:function(n){n.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"splitIntoLines",exec:function(n){n.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"alignCursors",exec:function(n){n.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",exec:function(n){n.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}];t.multiSelectCommands=[{name:"singleSelection",bindKey:"esc",exec:function(n){n.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(n){return n&&n.inMultiSelectMode}}];var i=n("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new i(t.multiSelectCommands)});ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(n,t){function l(n,t,i){return u.$options.wrap=!0,u.$options.needle=t,u.$options.backwards=i==-1,u.find(n)}function a(n,t){return n.row==t.row&&n.column==t.column}function s(n){n.$multiselectOnSessionChange||(n.$onAddRange=n.$onAddRange.bind(n),n.$onRemoveRange=n.$onRemoveRange.bind(n),n.$onMultiSelect=n.$onMultiSelect.bind(n),n.$onSingleSelect=n.$onSingleSelect.bind(n),n.$multiselectOnSessionChange=t.onSessionChange.bind(n),n.$checkMultiselectChange=n.$checkMultiselectChange.bind(n),n.$multiselectOnSessionChange(n),n.on("changeSession",n.$multiselectOnSessionChange),n.on("mousedown",f),n.commands.addCommands(r.defaultCommands),v(n))}function v(n){function i(){t&&(n.renderer.setMouseCursor(""),t=!1)}var r=n.textInput.getElement(),t=!1;e.addListener(r,"keydown",function(r){var u=r.keyCode==18&&!(r.ctrlKey||r.shiftKey||r.metaKey);n.$blockSelectEnabled&&u?t||(n.renderer.setMouseCursor("crosshair"),t=!0):t&&i()});e.addListener(r,"keyup",i);e.addListener(r,"blur",i)}var y=n("./range_list").RangeList,i=n("./range").Range,h=n("./selection").Selection,f=n("./mouse/multi_select_handler").onMouseDown,e=n("./lib/event"),c=n("./lib/lang"),r=n("./commands/multi_select_commands"),o;t.commands=r.defaultCommands.concat(r.multiSelectCommands);var p=n("./search").Search,u=new p,w=n("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(w.prototype),function(){this.ranges=null;this.rangeList=null;this.addRange=function(n,t){var i,r;if(n){if(!this.inMultiSelectMode&&this.rangeCount===0){if(i=this.toOrientedRange(),this.rangeList.add(i),this.rangeList.add(n),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),t||this.fromOrientedRange(n);this.rangeList.removeAll();this.rangeList.add(i);this.$onAddRange(i)}return n.cursor||(n.cursor=n.end),r=this.rangeList.add(n),this.$onAddRange(n),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(n)}};this.toSingleRange=function(n){n=n||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t);n&&this.fromOrientedRange(n)};this.substractPoint=function(n){var t=this.rangeList.substractPoint(n);if(t)return this.$onRemoveRange(t),t[0]};this.mergeOverlappingRanges=function(){var n=this.rangeList.merge();n.length?this.$onRemoveRange(n):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])};this.$onAddRange=function(n){this.rangeCount=this.rangeList.ranges.length;this.ranges.unshift(n);this._signal("addRange",{range:n})};this.$onRemoveRange=function(n){var t,i,r;for(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode&&(t=this.rangeList.ranges.pop(),n.push(t),this.rangeCount=0),i=n.length;i--;)r=this.ranges.indexOf(n[i]),this.ranges.splice(r,1);this._signal("removeRange",{ranges:n});this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session));t=t||this.ranges[0];t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)};this.$initRangeList=function(){this.rangeList||(this.rangeList=new y,this.ranges=[],this.rangeCount=0)};this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]};this.splitIntoLines=function(){var u,f,r,t,e;if(this.rangeCount>1){var o=this.rangeList.ranges,s=o[o.length-1],n=i.fromPoints(o[0].start,s.end);this.toSingleRange();this.setSelectionRange(n,s.cursor==s.start)}else{var n=this.getRange(),l=this.isBackwards(),h=n.start.row,c=n.end.row;if(h==c){l?(u=n.end,f=n.start):(u=n.start,f=n.end);this.addRange(i.fromPoints(f,f));this.addRange(i.fromPoints(u,u));return}for(r=[],t=this.getLineRange(h,!0),t.start.column=n.start.column,r.push(t),e=h+1;e<c;e++)r.push(this.getLineRange(e,!0));t=this.getLineRange(c,!0);t.end.column=n.end.column;r.push(t);r.forEach(this.addRange,this)}};this.toggleBlockSelection=function(){if(this.rangeCount>1){var n=this.rangeList.ranges,t=n[n.length-1],r=i.fromPoints(n[0].start,t.end);this.toSingleRange();this.setSelectionRange(r,t.cursor==t.start)}else{var u=this.session.documentToScreenPosition(this.selectionLead),f=this.session.documentToScreenPosition(this.selectionAnchor),e=this.rectangularRangeBlock(u,f);e.forEach(this.addRange,this)}};this.rectangularRangeBlock=function(n,t,r){var u=[],b=n.column<t.column,s,y,p,e,l,h,f,w,o,v,c;for(b?(s=n.column,y=t.column):(s=t.column,y=n.column),p=n.row<t.row,p?(e=n.row,l=t.row):(e=t.row,l=n.row),s<0&&(s=0),e<0&&(e=0),e==l&&(r=!0),h=e;h<=l;h++){if(f=i.fromPoints(this.session.screenToDocumentPosition(h,s),this.session.screenToDocumentPosition(h,y)),f.isEmpty()){if(w&&a(f.end,w))break;w=f.end}f.cursor=b?f.start:f.end;u.push(f)}if(p&&u.reverse(),!r){for(o=u.length-1;u[o].isEmpty()&&o>0;)o--;if(o>0)for(v=0;u[v].isEmpty();)v++;for(c=o;c>=v;c--)u[c].isEmpty()&&u.splice(c,1)}return u}}.call(h.prototype);o=n("./editor").Editor,function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor();this.renderer.updateBackMarkers()};this.addSelectionMarker=function(n){n.cursor||(n.cursor=n.end);var t=this.getSelectionStyle();return n.marker=this.session.addMarker(n,"ace_selection",t),this.session.$selectionMarkers.push(n),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,n};this.removeSelectionMarker=function(n){if(n.marker){this.session.removeMarker(n.marker);var t=this.session.$selectionMarkers.indexOf(n);t!=-1&&this.session.$selectionMarkers.splice(t,1);this.session.selectionMarkerCount=this.session.$selectionMarkers.length}};this.removeSelectionMarkers=function(n){for(var t,r,i=this.session.$selectionMarkers,u=n.length;u--;)(t=n[u],t.marker)&&(this.session.removeMarker(t.marker),r=i.indexOf(t),r!=-1&&i.splice(r,1));this.session.selectionMarkerCount=i.length};this.$onAddRange=function(n){this.addSelectionMarker(n.range);this.renderer.updateCursor();this.renderer.updateBackMarkers()};this.$onRemoveRange=function(n){this.removeSelectionMarkers(n.ranges);this.renderer.updateCursor();this.renderer.updateBackMarkers()};this.$onMultiSelect=function(){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(r.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())};this.$onSingleSelect=function(){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(r.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))};this.$onMultiSelectExec=function(n){var i=n.command,t=n.editor,r;if(t.multiSelect)return i.multiSelectAction?i.multiSelectAction=="forEach"?r=t.forEachSelection(i,n.args):i.multiSelectAction=="forEachLine"?r=t.forEachSelection(i,n.args,!0):i.multiSelectAction=="single"?(t.exitMultiSelectMode(),r=i.exec(t,n.args||{})):r=i.multiSelectAction(t,n.args||{}):(r=i.exec(t,n.args||{}),t.multiSelect.addRange(t.multiSelect.toOrientedRange()),t.multiSelect.mergeOverlappingRanges()),r};this.forEachSelection=function(n,t,i){var a,e,r,l,o;if(!this.inVirtualSelectionMode){var v=i&&i.keepOrder,y=i==1||i&&i.$byLines,s=this.session,u=this.selection,p=u.rangeList,f=(v?u:p).ranges,c;if(!f.length)return n.exec?n.exec(this,t||{}):n(this,t||{});for(a=u._eventRegistry,u._eventRegistry={},e=new h(s),this.inVirtualSelectionMode=!0,r=f.length;r--;){if(y)while(r>0&&f[r].start.row==f[r-1].end.row)r--;e.fromOrientedRange(f[r]);e.index=r;this.selection=s.selection=e;l=n.exec?n.exec(this,t||{}):n(this,t||{});c||l===undefined||(c=l);e.toOrientedRange(f[r])}return e.detach(),this.selection=s.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=a,u.mergeOverlappingRanges(),o=this.renderer.$scrollAnimation,this.onCursorChange(),this.onSelectionChange(),o&&o.from==o.to&&this.renderer.animateScrolling(o.from),c}};this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()};this.getSelectedText=function(){var n="",r,t,i,u;if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(r=this.multiSelect.rangeList.ranges,t=[],i=0;i<r.length;i++)t.push(this.session.getTextRange(r[i]));u=this.session.getDocument().getNewLineCharacter();n=t.join(u);n.length==(t.length-1)*u.length&&(n="")}else this.selection.isEmpty()||(n=this.session.getTextRange(this.getSelectionRange()));return n};this.$checkMultiselectChange=function(n,t){var i,r;if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){if(i=this.multiSelect.ranges[0],this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;r=t==this.multiSelect.anchor?i.cursor==i.start?i.end:i.start:i.cursor;(r.row!=t.row||this.session.$clipPositionToDocument(r.row,r.column).column!=t.column)&&this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange())}};this.findAll=function(n,t,i){var u,r,f,e;if(t=t||{},t.needle=n||t.needle,t.needle==undefined&&(u=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange(),t.needle=this.session.getTextRange(u)),this.$search.set(t),r=this.$search.findAll(this.session),!r.length)return 0;for(this.$blockScrolling+=1,f=this.multiSelect,i||f.toSingleRange(r[0]),e=r.length;e--;)f.addRange(r[e],!0);return u&&f.rangeList.rangeAtPoint(u.start)&&f.addRange(u,!0),this.$blockScrolling-=1,r.length};this.selectMoreLines=function(n,t){var r=this.selection.toOrientedRange(),c=r.cursor==r.end,f=this.session.documentToScreenPosition(r.cursor),e,s,o,u,h;this.selection.$desiredColumn&&(f.column=this.selection.$desiredColumn);e=this.session.screenToDocumentPosition(f.row+n,f.column);r.isEmpty()?o=e:(s=this.session.documentToScreenPosition(c?r.end:r.start),o=this.session.screenToDocumentPosition(s.row+n,s.column));c?(u=i.fromPoints(e,o),u.cursor=u.start):(u=i.fromPoints(o,e),u.cursor=u.end);u.desiredColumn=f.column;this.selection.inMultiSelectMode?t&&(h=r.cursor):this.selection.addRange(r);this.selection.addRange(u);h&&this.selection.substractPoint(h)};this.transposeSelections=function(n){for(var u,t,r,e=this.session,o=e.multiSelect,f=o.ranges,i=f.length;i--;)t=f[i],t.isEmpty()&&(r=e.getWordRange(t.start.row,t.start.column),t.start.row=r.start.row,t.start.column=r.start.column,t.end.row=r.end.row,t.end.column=r.end.column);for(o.mergeOverlappingRanges(),u=[],i=f.length;i--;)t=f[i],u.unshift(e.getTextRange(t));for(n<0?u.unshift(u.pop()):u.push(u.shift()),i=f.length;i--;)t=f[i],r=t.clone(),e.replace(t,u[i]),t.start.row=r.start.row,t.start.column=r.start.column};this.selectMore=function(n,t,i){var f=this.session,o=f.multiSelect,r=o.toOrientedRange(),e,u;r.isEmpty()&&(r=f.getWordRange(r.start.row,r.start.column),r.cursor=n==-1?r.start:r.end,this.multiSelect.addRange(r),i)||(e=f.getTextRange(r),u=l(f,e,n),u&&(u.cursor=n==-1?u.start:u.end,this.$blockScrolling+=1,this.session.unfold(u),this.multiSelect.addRange(u),this.$blockScrolling-=1,this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(r.cursor))};this.alignCursors=function(){var e=this.session,l=e.multiSelect,t=l.ranges,y=-1,p=t.filter(function(n){if(n.cursor.row==y)return!0;y=n.cursor.row}),o,s,u;if(t.length&&p.length!=t.length-1){p.forEach(function(n){l.substractPoint(n.cursor)});var h=0,v=Infinity,w=t.map(function(n){var i=n.cursor,r=e.getLine(i.row),t=r.substr(i.column).search(/\S/g);return t==-1&&(t=0),i.column>h&&(h=i.column),t<v&&(v=t),t});t.forEach(function(n,t){var r=n.cursor,u=h-r.column,f=w[t]-v;u>f?e.insert(r,c.stringRepeat(" ",u-f)):e.remove(new i(r.row,r.column,r.row,r.column-u+f));n.start.column=n.end.column=h;n.start.row=n.end.row=r.row;n.cursor=n.end});l.fromOrientedRange(t[0]);this.renderer.updateCursor();this.renderer.updateBackMarkers()}else{var f=this.selection.getRange(),n=f.start.row,r=f.end.row,a=n==r;if(a){o=this.session.getLength();do s=this.session.getLine(r);while(/[=:]/.test(s)&&++r<o);do s=this.session.getLine(n);while(/[=:]/.test(s)&&--n>0);n<0&&(n=0);r>=o&&(r=o-1)}u=this.session.removeFullLines(n,r);u=this.$reAlignText(u,a);this.session.insert({row:n,column:0},u.join("\n")+"\n");a||(f.start.column=0,f.end.column=u[u.length-1].length);this.selection.setRange(f)}};this.$reAlignText=function(n,t){function u(n){return c.stringRepeat(" ",n)}function e(n){return n[2]?u(i)+n[2]+u(f-n[2].length+r)+n[4].replace(/^([=:])\s+/,"$1 "):n[0]}function h(n){return n[2]?u(i+f-n[2].length)+n[2]+u(r," ")+n[4].replace(/^([=:])\s+/,"$1 "):n[0]}function l(n){return n[2]?u(i)+n[2]+u(r)+n[4].replace(/^([=:])\s+/,"$1 "):n[0]}var o=!0,s=!0,i,f,r;return n.map(function(n){var t=n.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,f=t[2].length,r=t[3].length,t):(i+f+r!=t[1].length+t[2].length+t[3].length&&(s=!1),i!=t[1].length&&(o=!1),i>t[1].length&&(i=t[1].length),f<t[2].length&&(f=t[2].length),r>t[3].length&&(r=t[3].length),t):[n]}).map(t?e:o?s?h:e:l)}}.call(o.prototype);t.onSessionChange=function(n){var t=n.session,i;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection);this.multiSelect=t&&t.multiSelect;i=n.oldSession;i&&(i.multiSelect.off("addRange",this.$onAddRange),i.multiSelect.off("removeRange",this.$onRemoveRange),i.multiSelect.off("multiSelect",this.$onMultiSelect),i.multiSelect.off("singleSelect",this.$onSingleSelect),i.multiSelect.lead.off("change",this.$checkMultiselectChange),i.multiSelect.anchor.off("change",this.$checkMultiselectChange));t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange));t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};t.MultiSelect=s;n("./config").defineOptions(o.prototype,"editor",{enableMultiselect:{set:function(n){s(this);n?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",f)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",f))},value:!0},enableBlockSelect:{set:function(n){this.$blockSelectEnabled=n},value:!0}})});ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(n,t){"use strict";var i=n("../../range").Range,r=t.FoldMode=function(){};(function(){this.foldingStartMarker=null;this.foldingStopMarker=null;this.getFoldWidget=function(n,t,i){var r=n.getLine(i);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""};this.getFoldWidgetRange=function(){return null};this.indentationBlock=function(n,t,r){var e=/\S/,o=n.getLine(t),s=o.search(e),f,c;if(s!=-1){for(var l=r||o.length,a=n.getLength(),h=t,u=t;++t<a;)if(f=n.getLine(t).search(e),f!=-1){if(f<=s)break;u=t}if(u>h)return c=n.getLine(u).length,new i(h,l,u,c)}};this.openingBracketBlock=function(n,t,r,u,f){var s={row:r,column:u+1},e=n.$findClosingBracket(t,s,f),o;if(e)return o=n.foldWidgets[e.row],o==null&&(o=n.getFoldWidget(e.row)),o=="start"&&e.row>s.row&&(e.row--,e.column=n.getLine(e.row).length),i.fromPoints(s,e)};this.closingBracketBlock=function(n,t,r,u){var f={row:r,column:u},e=n.$findOpeningBracket(t,f);if(e)return e.column++,f.column--,i.fromPoints(e,f)}}).call(r.prototype)});ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(n,t){"use strict";t.isDark=!1;t.cssClass="ace-tm";t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var i=n("../lib/dom");i.importCssString(t.cssText,t.cssClass)});ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(n,t){"use strict";function i(n){this.session=n;this.session.widgetManager=this;this.session.getRowLength=this.getRowLength;this.session.$getWidgetScreenLength=this.$getWidgetScreenLength;this.updateOnChange=this.updateOnChange.bind(this);this.renderWidgets=this.renderWidgets.bind(this);this.measureWidgets=this.measureWidgets.bind(this);this.session._changedWidgets=[];this.$onChangeEditor=this.$onChangeEditor.bind(this);this.session.on("change",this.updateOnChange);this.session.on("changeFold",this.updateOnFold);this.session.on("changeEditor",this.$onChangeEditor)}var u=n("./lib/oop"),r=n("./lib/dom"),f=n("./range").Range;(function(){this.getRowLength=function(n){var t;return t=this.lineWidgets?this.lineWidgets[n]&&this.lineWidgets[n].rowCount||0:0,!this.$useWrapMode||!this.$wrapData[n]?1+t:this.$wrapData[n].length+1+t};this.$getWidgetScreenLength=function(){var n=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(n+=t.rowCount)}),n};this.$onChangeEditor=function(n){this.attach(n.editor)};this.attach=function(n){(n&&n.widgetManager&&n.widgetManager!=this&&n.widgetManager.detach(),this.editor!=n)&&(this.detach(),this.editor=n,n&&(n.widgetManager=this,n.renderer.on("beforeRender",this.measureWidgets),n.renderer.on("afterRender",this.renderWidgets)))};this.detach=function(){var n=this.editor,t;n&&(this.editor=null,n.widgetManager=null,n.renderer.off("beforeRender",this.measureWidgets),n.renderer.off("afterRender",this.renderWidgets),t=this.session.lineWidgets,t&&t.forEach(function(n){n&&n.el&&n.el.parentNode&&(n._inDocument=!1,n.el.parentNode.removeChild(n.el))}))};this.updateOnFold=function(n,t){var i=t.lineWidgets,f;if(i&&n.action){var o=n.data,u=o.start.row,r=o.end.row,e=n.action=="add";for(f=u+1;f<r;f++)i[f]&&(i[f].hidden=e);i[r]&&(e?i[u]?i[r].hidden=e:i[u]=i[r]:(i[u]==i[r]&&(i[u]=undefined),i[r].hidden=e))}};this.updateOnChange=function(n){var t=this.session.lineWidgets,i,r,f,u;t&&(i=n.start.row,r=n.end.row-i,r!==0&&(n.action=="remove"?(f=t.splice(i+1,r),f.forEach(function(n){n&&this.removeLineWidget(n)},this),this.$updateRows()):(u=new Array(r),u.unshift(i,0),t.splice.apply(t,u),this.$updateRows())))};this.$updateRows=function(){var t=this.session.lineWidgets,n;t&&(n=!0,t.forEach(function(t,i){if(t)for(n=!1,t.row=i;t.$oldWidget;)t.$oldWidget.row=i,t=t.$oldWidget}),n&&(this.session.lineWidgets=null))};this.addLineWidget=function(n){var t,u,i,f;return this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength())),t=this.session.lineWidgets[n.row],t&&(n.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[n.row]=n,n.session=this.session,u=this.editor.renderer,n.html&&!n.el&&(n.el=r.createElement("div"),n.el.innerHTML=n.html),n.el&&(r.addCssClass(n.el,"ace_lineWidgetContainer"),n.el.style.position="absolute",n.el.style.zIndex=5,u.container.appendChild(n.el),n._inDocument=!0),n.coverGutter||(n.el.style.zIndex=3),n.pixelHeight||(n.pixelHeight=n.el.offsetHeight),n.rowCount==null&&(n.rowCount=n.pixelHeight/u.layerConfig.lineHeight),i=this.session.getFoldAt(n.row,0),n.$fold=i,i&&(f=this.session.lineWidgets,n.row==i.end.row&&!f[i.start.row]?f[i.start.row]=n:n.hidden=!0),this.session._emit("changeFold",{data:{start:{row:n.row}}}),this.$updateRows(),this.renderWidgets(null,u),this.onWidgetChanged(n),n};this.removeLineWidget=function(n){if(n._inDocument=!1,n.session=null,n.el&&n.el.parentNode&&n.el.parentNode.removeChild(n.el),n.editor&&n.editor.destroy)try{n.editor.destroy()}catch(i){}if(this.session.lineWidgets){var t=this.session.lineWidgets[n.row];if(t==n)this.session.lineWidgets[n.row]=n.$oldWidget,n.$oldWidget&&this.onWidgetChanged(n.$oldWidget);else while(t){if(t.$oldWidget==n){t.$oldWidget=n.$oldWidget;break}t=t.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:n.row}}});this.$updateRows()};this.getWidgetsAtRow=function(n){for(var i=this.session.lineWidgets,t=i&&i[n],r=[];t;)r.push(t),t=t.$oldWidget;return r};this.onWidgetChanged=function(n){this.session._changedWidgets.push(n);this.editor&&this.editor.renderer.updateFull()};this.measureWidgets=function(n,t){var f=this.session._changedWidgets,o=t.layerConfig,u,e,i,r;if(f&&f.length){for(u=Infinity,e=0;e<f.length;e++)if((i=f[e],i&&i.el)&&i.session==this.session){if(!i._inDocument){if(this.session.lineWidgets[i.row]!=i)continue;i._inDocument=!0;t.container.appendChild(i.el)}i.h=i.el.offsetHeight;i.fixedWidth||(i.w=i.el.offsetWidth,i.screenWidth=Math.ceil(i.w/o.characterWidth));r=i.h/o.lineHeight;i.coverLine&&(r-=this.session.getRowLineCount(i.row),r<0&&(r=0));i.rowCount!=r&&(i.rowCount=r,i.row<u&&(u=i.row))}u!=Infinity&&(this.session._emit("changeFold",{data:{start:{row:u}}}),this.session.lineWidgetWidth=null);this.session._changedWidgets=[]}};this.renderWidgets=function(n,t){var r=t.layerConfig,e=this.session.lineWidgets,u,h,f,i,o,s;if(e){for(u=Math.min(this.firstRow,r.firstRow),h=Math.max(this.lastRow,r.lastRow,e.length);u>0&&!e[u];)u--;for(this.firstRow=r.firstRow,this.lastRow=r.lastRow,t.$cursorLayer.config=r,f=u;f<=h;f++)if(i=e[f],i&&i.el){if(i.hidden){i.el.style.top=-100-(i.pixelHeight||0)+"px";continue}i._inDocument||(i._inDocument=!0,t.container.appendChild(i.el));o=t.$cursorLayer.getPixelPosition({row:f,column:0},!0).top;i.coverLine||(o+=r.lineHeight*this.session.getRowLineCount(i.row));i.el.style.top=o-r.offset+"px";s=i.coverGutter?0:t.gutterWidth;i.fixedWidth||(s-=t.scrollLeft);i.el.style.left=s+"px";i.fullWidth&&i.screenWidth&&(i.el.style.minWidth=r.width+2*r.padding+"px");i.el.style.right=i.fixedWidth?t.scrollBar.getWidth()+"px":""}}}}).call(i.prototype);t.LineWidgets=i});ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(n,t){"use strict";function u(n,t,i){for(var u=0,f=n.length-1,r,e;u<=f;)if(r=u+f>>1,e=i(t,n[r]),e>0)u=r+1;else{if(!(e<0))return r;f=r-1}return-(u+1)}function f(n,t,i){var o=n.getAnnotations().sort(r.comparePoints),e,f,s;if(o.length&&(e=u(o,{row:t,column:-1},r.comparePoints),e<0&&(e=-e-1),e>=o.length?e=i>0?0:o.length-1:e===0&&i<0&&(e=o.length-1),f=o[e],f&&i)){if(f.row===t){do f=o[e+=i];while(f&&f.row===t);if(!f)return o.slice()}s=[];t=f.row;do s[i<0?"unshift":"push"](f),f=o[e+=i];while(f&&f.row==t);return s.length&&s}}var e=n("../line_widgets").LineWidgets,i=n("../lib/dom"),r=n("../range").Range;t.showErrorMarker=function(n,t){var o=n.session,a,h,s,w,y;o.widgetManager||(o.widgetManager=new e(o),o.widgetManager.attach(n));var u=n.getCursorPosition(),c=u.row,l=o.widgetManager.getWidgetsAtRow(c).filter(function(n){return n.type=="errorMarker"})[0];if(l?l.destroy():c-=t,a=f(o,c,t),a)s=a[0],u.column=(s.pos&&typeof s.column!="number"?s.pos.sc:s.column)||0,u.row=s.row,h=n.renderer.$gutterLayer.$annotations[u.row];else{if(l)return;h={text:["Looks good!"],className:"ace_ok"}}n.session.unfold(u.row);n.selection.moveToPosition(u);var r={row:u.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},v=r.el.appendChild(i.createElement("div")),p=r.el.appendChild(i.createElement("div"));p.className="error_widget_arrow "+h.className;w=n.renderer.$cursorLayer.getPixelPosition(u).left;p.style.left=w+n.renderer.gutterWidth-5+"px";r.el.className="error_widget_wrapper";v.className="error_widget "+h.className;v.innerHTML=h.text.join("<br>");v.appendChild(i.createElement("div"));y=function(n,t,i){if(t===0&&(i==="esc"||i==="return"))return r.destroy(),{command:"null"}};r.destroy=function(){n.$mouseHandler.isMousePressed||(n.keyBinding.removeKeyboardHandler(y),o.widgetManager.removeLineWidget(r),n.off("changeSelection",r.destroy),n.off("changeSession",r.destroy),n.off("mouseup",r.destroy),n.off("change",r.destroy))};n.keyBinding.addKeyboardHandler(y);n.on("changeSelection",r.destroy);n.on("changeSession",r.destroy);n.on("mouseup",r.destroy);n.on("change",r.destroy);n.session.widgetManager.addLineWidget(r);r.el.onmousedown=n.focus.bind(n);n.renderer.scrollCursorIntoView(null,.5,{bottom:r.el.offsetHeight})};i.importCssString("    .error_widget_wrapper {        background: inherit;        color: inherit;        border:none    }    .error_widget {        border-top: solid 2px;        border-bottom: solid 2px;        margin: 5px 0;        padding: 10px 40px;        white-space: pre-wrap;    }    .error_widget.ace_error, .error_widget_arrow.ace_error{        border-color: #ff5a5a    }    .error_widget.ace_warning, .error_widget_arrow.ace_warning{        border-color: #F1D817    }    .error_widget.ace_info, .error_widget_arrow.ace_info{        border-color: #5a5a5a    }    .error_widget.ace_ok, .error_widget_arrow.ace_ok{        border-color: #5aaa5a    }    .error_widget_arrow {        position: absolute;        border: solid 5px;        border-top-color: transparent!important;        border-right-color: transparent!important;        border-left-color: transparent!important;        top: -5px;    }","")});ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(n,t){"use strict";n("./lib/fixoldbrowsers");var i=n("./lib/dom"),r=n("./lib/event"),u=n("./editor").Editor,f=n("./edit_session").EditSession,e=n("./undomanager").UndoManager,o=n("./virtual_renderer").VirtualRenderer;n("./worker/worker_client");n("./keyboard/hash_handler");n("./placeholder");n("./multi_select");n("./mode/folding/fold_mode");n("./theme/textmate");n("./ext/error_marker");t.config=n("./config");t.require=n;t.edit=function(n){var c,h,e,l,f,s;if(typeof n=="string"&&(c=n,n=document.getElementById(c),!n))throw new Error("ace.edit can't find div #"+c);return n&&n.env&&n.env.editor instanceof u?n.env.editor:(h="",n&&/input|textarea/i.test(n.tagName)?(e=n,h=e.value,n=i.createElement("pre"),e.parentNode.replaceChild(n,e)):n&&(h=i.getInnerText(n),n.innerHTML=""),l=t.createEditSession(h),f=new u(new o(n)),f.setSession(l),s={document:l,editor:f,onResize:f.resize.bind(f,null)},e&&(s.textarea=e),r.addListener(window,"resize",s.onResize),f.on("destroy",function(){r.removeListener(window,"resize",s.onResize);s.editor.container.env=null}),f.container.env=f.env=s,f)};t.createEditSession=function(n,t){var i=new f(n,t);return i.setUndoManager(new e),i};t.EditSession=f;t.UndoManager=e;t.version="1.2.3"}),function(){ace.require(["ace/ace"],function(n){n&&n.config.init(!0);window.ace||(window.ace=n);for(var t in n)n.hasOwnProperty(t)&&(window.ace[t]=n[t])})}();__sortNumberFunction=function(n,t){return n-t};Array.prototype.sortNumber=function(){return this.sort(__sortNumberFunction)},function(n){var t;if(n.extend(n,{isHashValid:function(n){return n=n||window.location.hash||"",!/[<\/>]/.test(n)},cookie:function(n,t,i){var f,r,e,o,u,s;if(typeof t!="undefined"){i=i||{};t===null&&(t="",i.expires=-1);f="";i.expires&&(typeof i.expires=="number"||i.expires.toUTCString)&&(typeof i.expires=="number"?(r=new Date,r.setTime(r.getTime()+i.expires*864e5)):r=i.expires,f="; expires="+r.toUTCString());var h=i.path?"; path="+i.path:"",c=i.domain?"; domain="+i.domain:"",l=window.location.protocol=="https:"?"; secure":"";document.cookie=[n,"=",encodeURIComponent(t),f,h,c,l].join("")}else{if(e=null,document.cookie&&document.cookie!="")for(o=document.cookie.split(";"),u=0;u<o.length;u++)if(s=jQuery.trim(o[u]),s.substring(0,n.length+1)==n+"="){e=decodeURIComponent(s.substring(n.length+1));break}return e}},unbindShowImageAnchorsClick:function(t){t=t||"a[href!='#'][href]";n(t).each(function(){var t=n(this).attr("href")||"",i=t.match(/[^'"]*?home\/showimage\s*(\?.*)/gi);i&&n(this).unbind()})},getFileExtension:function(n){var t=n.match(/\.([^\.]+)$/);return t?t[0].toLowerCase():""},convertHtmlToText:function(t,i){var r=n.trim(t.replace(/<[^><]*?>/gi," ")||"");return(typeof i).toUpperCase()=="NUMBER"&&i>3&&r.length>i&&(r=r.substr(0,i)+"..."),r},isFileInputExtensionValid:function(t,i,r){var e,u,o,f,s;return(r=r||!1,e=n.trim(i).split(","),u=[],n(e).each(function(t,i){u.push(n.trim(i))}),o=n(t),f=o.val(),f)?(s=n.getFileExtension(f),n.inStringArray(s,u,!0)>=0):r},isLocalUrl:function(n){return n&&!/^([a-z]+:)?\/\//i.test(n)},isUrl:function(n){return n&&/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(n)},isIntranetUrl:function(n){return n&&/^(((ftp|http|https):\/\/)|(\/)|(..\/))(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/i.test(n)},redirectTo:function(n){n&&(window.location=decodeURIComponent(n))},isIEBrowser:function(n){return n=n||navigator.userAgent,n.indexOf("MSIE ")>-1||n.indexOf("Trident/")>-1},isIE9Browser:function(n){return n=n||navigator.userAgent,n.indexOf("MSIE 9")>-1},getIEVersion:function(){var n=navigator.userAgent.toLowerCase();return n.indexOf("msie")!=-1?parseInt(n.split("msie")[1]):-1},evalFunc:function(n){return eval("(0,"+n+")")},refreshTempMessage:function(t){n.fn.tempMessage&&n(".vi-temp-message-container").tempMessage({message:t})},isEmpty:function(t,i){return typeof t=="undefined"||t==null?i?!0:typeof t=="string"&&n.trim(t)=="":n.type(t)=="string"&&n.trim(t)==""&&!i?!0:!1},refreshFriendlyUrl:function(n,t,i,r,u,f){var l,e,a,v,h,o,c,s;return f=f==="True",l=(r+"/Admin/").toLowerCase(),e=u=="undefined"||u==null?window.location.toString():u,a=e.toLowerCase().indexOf(l)>=0,v="",!a&&f?(h="/-"+n+"-"+t,o=e.indexOf(h),o>=0?e.substring(0,o)+"/-"+n+"-"+i+e.substring(o+h.length):e+"/-"+n+"-"+i):(c="&"+n+"="+t,s=e.indexOf(c),s>=0?e.substring(0,s)+"&"+n+"="+i+e.substring(s+c.length):e+"&"+n+"="+i)},format:function(){for(var i,r,t=arguments[0],n=0,u=arguments.length-1;n<u;n++)i=new RegExp("\\{"+n+"(:([^\\}]+))?\\}","gm"),r=arguments[n+1],t=t.replace(i,function(){return r});return t},_onloadFuncArray:[],prepareTriggerOnloadParams:function(n,t){return n=n||"",(typeof t=="undefined"||t==!1)&&(n=n+" "),n},triggerOnload:function(t,i){var r=this;n(r._onloadFuncArray).each(function(u,f){if(n.isFunction(f)&&f(t,i),n.type(f)==="string")try{r.evalFunc(f)()}catch(e){alert(e.message)}})},pushOnloadFunc:function(t,i){n.inArray(t,this._onloadFuncArray)<0&&this._onloadFuncArray.push(t);i==!0&&t()},inStringArray:function(t,i,r){var u=t,f=i;return typeof r!="undefined"&&r==!0&&(u=t.toLowerCase(),f=n.map(i,function(n){return n.toLowerCase()})),n.inArray(u,f)},decodeHTML:function(n){return(""+n).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&amp;/g,"&")},encodeHTML:function(n){return(""+n).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},appendQueryString:function(n,t,i,r){return n=n||"",r=r||!0,i=i||"",i=r?encodeURIComponent(i):i,n+(n.indexOf("?")>=0?"&":"?")+t+"="+i},calculateTimespan:function(n,t){var r=new Date;n=n||r;t=t||r;var u=t.getTime()-n.getTime(),f=Math.floor(u/864e5),e=u%864e5,o=Math.floor(e/36e5),h=e%36e5,s=Math.floor(h/6e4),c=f>0?f+" days ":"",l=o>0?o+" hours ":"",a=s>0?s+" mins ":"",i=c+l+a;return i.length!=0&&(i=i.substring(0,i.length-1)),i.length==0&&(i="0 min"),i},geoEquals:function(n,t,i){i=i||7;var r=Math.pow(10,i);return Math.abs(n.lat()-t.lat())*r<1&&Math.abs(n.lng()-t.lng())*r<1},viFormatPhone:function(n,t){if(n){var u=(""+n).replace(/\D/g,""),i=u.match(/^(\d{3})(\d{3})(\d{4})$/),r=t.replace("{0:","").replace("}","").replace(/\\/g,"");return i?r?r.indexOf("9")>=0?r.replace("999",i[1]).replace("999",i[2]).replace("9999",i[3]):r.replace("000",i[1]).replace("000",i[2]).replace("0000",i[3]):"("+i[1]+") "+i[2]+"-"+i[3]:""}return""},htmlEncode:function(n){var t=document.createElement("div"),i;return t.textContent!=undefined?t.textContent=n:t.innerText=n,i=t.innerHTML,t=null,i},htmlDecode:function(n){var t=document.createElement("div"),i;return t.innerHTML=n,i=t.innerText||t.textContent,t=null,i},postify:function(t){var i={},r=function(t,u){var f,e;for(f in t){e=isFinite(f)?(u!=""?u:"")+"["+f+"]":(u!=""?u+".":"")+f;t[f]==null&&(i[e]=t[f]);switch(n.type(t[f])){case"number":case"string":case"boolean":case"regexp":i[e]=t[f];break;case"function":break;case"date":i[e]=t[f].toUTCString();break;case"array":t[f].length==0?i[e]=[]:r(t[f],e!=""?e:f);break;default:r(t[f],e!=""?e:f)}}};return r(t,""),i},parseDate:function(n){var r,t,u,i;if(!n)return null;if(r={}.toString,r.call(n)==="[object Date]")return n;t=null;try{if(n&&n.indexOf("/D")===0){if(u=/^\/Date\((.*?)\)\/$/,t=u.exec(n),t)return t=t[1],t=new Date(parseInt(t,10))}else n.indexOf("T")>0?(i=n.split(/[: T-]/).map(parseFloat),t=new Date(i[0],i[1]-1,i[2],i[3]||0,i[4]||0,i[5]||0,0)):t=new Date(n)}catch(f){console.log("Cannot parse ["+n+"] to date. Error: "+f);t=null}return t},formatDate:function(n,t){function i(n,t,i){if(n=n+"",t=t||2,i=t-n.length,i)return["","0","00","000","0000"][t].substring(0,i)+n;return n}if(!n)return"";var r={names:["January","February","March","April","May","June","July","August","September","October","November","December"],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},u={names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};return t.replace(/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|HH|H|hh|h|mm|m|fff|ff|f|tt|ss|s|zzz|zz|z|"[^"]*"|'[^']*'/g,function(t){var e,f,o;return t==="d"?f=n.getDate():t==="dd"?f=i(n.getDate()):t==="ddd"?f=u.namesAbbr[n.getDay()]:t==="dddd"?f=u.names[n.getDay()]:t==="M"?f=n.getMonth()+1:t==="MM"?f=i(n.getMonth()+1):t==="MMM"?f=r.namesAbbr[n.getMonth()]:t==="MMMM"?f=r.names[n.getMonth()]:t==="yy"?f=i(n.getFullYear()%100):t==="yyyy"?f=i(n.getFullYear(),4):t==="h"?f=n.getHours()%12||12:t==="hh"?f=i(n.getHours()%12||12):t==="H"?f=n.getHours():t==="HH"?f=i(n.getHours()):t==="m"?f=n.getMinutes():t==="mm"?f=i(n.getMinutes()):t==="s"?f=n.getSeconds():t==="ss"?f=i(n.getSeconds()):t==="f"?f=math.floor(n.getMilliseconds()/100):t==="ff"?(f=n.getMilliseconds(),f>99&&(f=math.floor(f/10)),f=i(f)):t==="fff"?f=i(n.getMilliseconds(),3):t==="tt"?f=n.getHours()<12?"AM":"PM":t==="zzz"?(e=n.getTimezoneOffset(),o=e<0,f=math.abs(e/60).toString().split(".")[0],e=math.abs(e)-f*60,f=(o?"+":"-")+i(f)+(":"+i(e))):(t==="zz"||t==="z")&&(f=n.getTimezoneOffset()/60,o=f<0,f=math.abs(f).toString().split(".")[0],f=(o?"+":"-")+(t==="zz"?i(f):f)),f!==undefined?f:t.slice(1,t.length-1)})},dateFormatMapping:function(n){return n?(n=n.toUpperCase(),n=="MM/DD/YYYY"?"mm/dd/yy":n=="DD/MM/YYYY"?"dd/mm/yy":"mm/dd/yy"):n},formatDateTime:function(t){if(t){var i={dateFormat:n.dateFormatMapping(window.visionApps?window.visionApps.cms_core.DateFormat:"mm/dd/yy"),timeFormat:window.visionApps?window.visionApps.cms_core.TimeFormat:"h:mm TT",timeAMFormat:[window.visionApps?window.visionApps.cms_core.TimeAMFormat:"AM"],timePMFormat:[window.visionApps?window.visionApps.cms_core.TimePMFormat:"PM"]},r=n.datepicker.formatDate(i.dateFormat,t),u={hour:t.getHours(),minute:t.getMinutes(),second:t.getSeconds()},f={amNames:i.timeAMFormat,pmNames:i.timePMFormat},e=n.datepicker.formatTime(i.timeFormat,u,f);return r+" "+e}return dateTime},generateShowImageLink:function(n){var f,t;if(typeof n=="number"&&n%1==0&&(n={id:n}),typeof n=="object"){var s=n.id,e=n.isPublished,i=n.thbnail,o=n.includingTrash,r=n.toShowWidth,u=n.t;return window.visionOptions.loggedIn?(t=window.visionOptions.baseImageUrl+"?id="+s,(e===!0||e===!1)&&(t+="&isPublished="+e),(i===!0||i===!1)&&(t+="&thbnail="+i),(o===!0||o===!1)&&(t+="&includingTrash="+o),r&&(t+="&toShowWidth="+r),u&&(t+="&t="+u),t):(t=window.visionOptions.baseImageUrl+"/"+s,u&&(t+="/"+u),f=!1,i===!0&&(t+="?thbnail="+i,f=!0),r&&(t+=f?"&":"?toShowWidth="+r,f=!0),t)}return window.visionOptions.loggedIn?window.visionOptions.baseImageUrl+"?id="+n:window.visionOptions.baseImageUrl+"/"+n}}),window.visionOptions&&window.visionOptions.navigationID>0&&(t=n(".alert_container"),t)){var u=window.visionOptions.showTopTips,i=u?"":"hideContent",r=i=="hideContent"?"show":"hide";i=="hideContent"&&!window.visionOptions.loggedIn&&window.visionOptions.emergencyNoticeChanged&&(i="",r="hide");t.find(".important_alert_wrapper").removeClass("hideContent").addClass(i);t.find("#alert_controls").attr("class",r)}}(jQuery),function(){function n(n,t){this._container=n;this._options=t;this._elementArray=[];this._indexArray=[];$(this._container).data("_checkBoxListManager",this)}n.prototype={_options:{submitOnlyChecked:!0,required:!1},_container:null,_elementArray:[],_indexArray:[],_toggle:function(n,t){var r=$(n).prop("checked"),i,f,u,e;$(n).val(r);i=$(n).parent("li");i!=null&&(t._options.submitOnlyChecked?(f=parseInt(i.find("input.index").val()),u=$.inArray(f,t._indexArray),r?i.append(t._elementArray[u]):$(t._elementArray[u]).remove()):$(i).find("input.to-hidden[type='hidden'][name='"+$(n).attr("name")+"']").val(r));e=t._options;e.required&&t._requiredHidden&&(t.getSelectedValues().length>0?t._requiredHidden.val(!0):t._requiredHidden.val(""))},getSelectedValues:function(){var n=[];return $(this._container).find("input.value[type='hidden']").each(function(t,i){n.push($(i).val())}),n},build:function(){var n=this,i,t;if($(this._container).find("li").each(function(t,i){var r=$(i).find("input.to-hidden[type='hidden']:not(.index)"),u,f,e;n._elementArray.push(r);u=parseInt($(i).find("input.index").val());n._indexArray.push(u);f=$(i).find("input[type='checkbox']");n._options.submitOnlyChecked&&(e=f.val().toLowerCase()=="true",e||r.remove())}),$(this._container).delegate("input[type='checkbox']","click",function(){n._toggle($(this),n)}),$(this._container).next("input.check-all[type='checkbox']").change(function(){var t=$(this);$(n._container).find("input[type='checkbox']").each(function(i,r){$(r).prop("disabled")!=!0&&($(r).prop("checked",t.prop("checked")),n._toggle($(r),n))})}),i=n._options,t=n._container,i.required&&$.validator){var u=n._requiredHidden=t.children("input.check_box_list_required"),f=t.attr("name"),r=t.attr("data-val-required")||"",e=$.isEmpty(r)?$.format(Vision.Resources.UI_Common_CheckBoxList_RequireValidError,f):r;u.rules("add",{checkBoxListRequired:[t],messages:{checkBoxListRequired:e}})}}};$.extend($.fn,{checkBoxList:function(t){t=t||{submitOnlyChecked:!0};var i=$(this);return i.each(function(){var i=new n($(this),t);i.build()}),i},getCheckBoxListManager:function(){return $(this).data("_checkBoxListManager")},moveStyleSheetsToHead:function(n){$(this).find("link").each(function(){var t=null;t=n&&n.linksSelector?n.linksSelector:"link[href='"+$(this).attr("href")+"']";$("head").find(t).length<=0?$(this).appendTo("head"):$(this).remove()})}})}(jQuery),function(){function n(n,t){this._container=n;this._options=t;this._elementArray=[];this._indexArray=[];$(this._container).data("_zCheckBoxListManager",this)}n.prototype={_options:{submitOnlyChecked:!0,required:!1},_container:null,_elementArray:[],_indexArray:[],_toggle:function(n,t){var r=$(n).prop("checked"),i,f,u,e;$(n).val(r);i=$(n).parent("li");i!=null&&(t._options.submitOnlyChecked?(f=parseInt(i.find("input.index").val()),u=$.inArray(f,t._indexArray),r?i.append(t._elementArray[u]):$(t._elementArray[u]).remove()):$(i).find("input.to-hidden[type='hidden'][name='"+$(n).attr("name")+"']").val(r));e=t._options;e.required&&t._requiredHidden&&(t.getSelectedValues().length>0?t._requiredHidden.val(!0):t._requiredHidden.val(""))},getSelectedValues:function(){var n=[];return $(this._container).find("input.value[type='hidden']").each(function(t,i){n.push($(i).val())}),n},build:function(){var n=this,i,t;if($(this._container).find("li").each(function(t,i){var r=$(i).find("input.to-hidden[type='hidden']:not(.index)"),u,f,e;n._elementArray.push(r);u=parseInt($(i).find("input.index").val());n._indexArray.push(u);f=$(i).find("input[type='checkbox']");n._options.submitOnlyChecked&&(e=f.val().toLowerCase()=="true",e||r.remove())}),$(this._container).delegate("input[type='checkbox']","click",function(){var t,i;n._toggle($(this),n);t=$(this).prop("checked");t||(i=$(this).parents(".checkboxlist-container").next("input.check-all"),i.removeAttr("checked"),$(n._container).closest("li").find("input.check-all-hidden").val(!1))}),$(this._container).next("input.check-all[type='checkbox']").change(function(){var i=$(this),t;$(n._container).find("input[type='checkbox']").each(function(t,r){$(r).prop("disabled")!=!0&&($(r).prop("checked",i.prop("checked")),n._toggle($(r),n))});t=i.prop("checked");t&&i.val(t);$(n._container).closest("li").find("input.check-all-hidden").val(t)}),i=n._options,t=n._container,i.required&&$.validator){var u=n._requiredHidden=t.children("input.check_box_list_required"),f=t.attr("name"),r=t.attr("data-val-required")||"",e=$.isEmpty(r)?$.format(Vision.Resources.UI_Common_CheckBoxList_RequireValidError,f):r;u.rules("add",{checkBoxListRequired:[t],messages:{checkBoxListRequired:e}})}}};$.extend($.fn,{zCheckBoxList:function(t){t=t||{submitOnlyChecked:!0};var i=$(this);return i.each(function(){var i=new n($(this),t);i.build()}),i},getzCheckBoxListManager:function(){return $(this).data("_zCheckBoxListManager")}})}(jQuery);Pager.Manager={_allPagers:[],getPager:function(n){var t=null;return $(this._allPagers).each(function(i,r){if(r.pagerName==n){t=r;return}}),t}},function(n){var t=function(t,i){var f={eventName:"click",targetEl:null,rewriteTarget:!1,animSpeed:100,autoWidth:!1,minWidth:250,minHeight:220,maxHeight:220,enableInput:!0,backSpaceClear:!0,appendToBody:!0,relocateEl:"#toppanel",dialogClass:".vi-content",init:function(){},beforeShow:function(){},afterShow:function(){},onClose:n.noop,clearElement:function(){}},e=n(t).getZIndex()+1,r,u;if(this.setting=n.extend({zIndex:e},f,i),this.vars={openState:!1},this.dropDown=n(t),r=!1,typeof this.setting.targetEl=="string"?(u=n("body").children(this.setting.targetEl),r=u.length>0):r=n(this.setting.targetEl).parent()==n("body"),r&&!this.setting.rewriteTarget&&u.remove(),this.dropDownPanel=n(this.setting.targetEl),this.setting.targetEl==null){alert(Vision.Resources.UI_Common_ViDropdown_PleaseSetTargetEle);return}this.initialize()};t.prototype={initialize:function(){var i=this,o=i.vars,u=i.dropDown,r=i.dropDownPanel,t=i.setting,f=r.parent(),e=u.is(":text")?u:u.find(":text");e.attr("autocomplete","off");r.addClass("vi-dropdown-panel");f.length>0&&!f.is("body")&&t.appendToBody&&r.appendTo("body");r.data("SourceEl",u);r.css({position:"absolute","min-width":t.minWidth,"min-height":t.minHeight,"max-height":t.maxHeight,overflow:"auto","z-index":t.zIndex});t.maxWidth&&r.css({"max-width":t.maxWidth});t.dialogClass&&(i.inDialog=u.closest(t.dialogClass).length>0);i._checkInScrollbarElement();i.bindEvent();t.init&&n.isFunction(t.init)&&t.init(i)},_checkInScrollbarElement:function(){var n=this,i=n.dropDown,r=n.setting,t=i.getParentWithScrollbar();if(n.inScrollbarElement=t.length>0&&!t.is("html"),n.scrollbarElement=t,n.inScrollbarElement)if(r.appendToBody)t.off("scroll").on("scroll",function(){n.close()});else t.css("position","relative");n.inDialog&&i.closest(r.dialogClass).css("position","relative")},bindEvent:function(){var t=this,i=t.vars,r=t.dropDown,f=t.dropDownPanel,u=t.setting,h=f.parent(),e,o,s;r.bind(u.eventName,function(){t._setPosition();i.openState?t.close():t.open()});e=r.is(":text")?r:r.find(":text");u.enableInput||e.bind("keydown",function(n){if(u.backSpaceClear){if(n.which!==8)return!1;e.val("");u.clearElement&&u.clearElement.call(t,e,n.which)}else return!1});n(document).on("mousedown",function(u){if(f.length==0||n.contains(f[0],u.target)||f[0]==u.target)return!1;r[0]!=u.target&&i.openState&&t.close()});n(window).resize(function(){o&&clearTimeout(o);o=setTimeout(function(){i.openState&&t._setPosition()},20)});n(window).scroll(function(){s&&clearTimeout(s);s=setTimeout(function(){i.openState&&t._setPosition()},20)});t.inScrollbarElement&&t.scrollbarElement.bind("scroll",function(){i.openState&&t._setPosition()})},_setPosition:function(){var t=this,b=t.vars,o=t.dropDown,s=t.dropDownPanel,i=t.setting,l,c,a;t._checkInScrollbarElement();var u=o.position(),h=o.offset(),v=o.getParentElementFixedTop(),p=v!=null,f=0,e=0,k=n(window).width(),w=n(window).height(),y=o.outerWidth(!0),r=o.outerHeight(!0);p?(position="fixed",l=n(i.relocateEl),t.inDialog?(c=h.top-n(document).scrollTop(),w-c-r<i.maxHeight?(f=c-i.maxHeight,s.height(i.maxHeight)):f=r+c,e=h.left,t.inScrollbarElement&&!i.appendToBody&&(position="absolute",f=r+u.top,e=u.left)):l.length>0?(f=r+v+(h.top-l.offset().top),e=h.left):i.appendToBody||(position="absolute",f=t.inScrollbarElement?r+u.top+t.scrollbarElement.scrollTop():r+u.top,e=u.left)):(position="absolute",i.appendToBody?(f=h.top+r,e=h.left):(e=u.left,f=t.inScrollbarElement?r+u.top+t.scrollbarElement.scrollTop():u.top+r));s.data("SourceEl",o);s.css({position:position,left:e,top:f});a=y<i.minWidth?i.minWidth:y-2;i.autoWidth?(s.css({"min-width":a}),s.css({"max-width":i.maxWidth})):s.css({width:a})},open:function(){var i=this,r=i.vars,u=i.dropDownPanel,t=i.setting;t.beforeShow&&n.isFunction(t.beforeShow)&&t.beforeShow.call(i);u.slideDown(t.animSpeed,function(){r.openState=!0;t.afterShow&&n.isFunction(t.afterShow)&&t.afterShow.call(i)})},close:function(n){var t=this,r=t.vars,u=t.dropDownPanel,i=t.setting;u.slideUp(i.animSpeed,function(){r.openState=!1;i.onClose&&i.onClose(n)})},setValue:function(n){var t=this,u=t.vars,i=t.dropDown,f=t.dropDownPanel,e=t.setting,r=i.is(":text")?i:i.find(":text");r.length>0?r.val(n).trigger("change"):i.text(n)}};n.fn.viDropdown=function(i){return this.each(function(){var r=n(this),u;if(r.data("viDropdown"))return r.data("viDropdown");u=new t(this,i);r.data("viDropdown",u)})}}(jQuery),function(n){var t=function(t,i){var e={eventName:"click",targetEl:".vi-animation-container",appendHttpPrefix:!0,animSpeed:100,minWidth:120,minHeight:100,maxHeight:300,validateIntranetUrl:!1,enableFormValidate:!0,init:function(t){var u=t.dropDown,f=t.setting,i=u.is(":text")?u:u.find(".vi-input"),r=i.next(),s=t.dropDownPanel,o=t.validateIntranetUrl,e;f.enableInput&&(f.enableFormValidate?(n.validator.addMethod(i.attr("id")+"redirectUrl",function(t){var r=!0;if(i.is(":visible")){if(t.indexOf("?navid=")>-1||t==""||o&&n.isIntranetUrl(t))return!0;r=n.isUrl(t);r?i.removeClass("input-validation-error"):i.addClass("input-validation-error")}return r},n.validator.format(Vision.Resources.UI_Common_ViLinkComboBox_URLInValidError)),e={},e[i.attr("id")+"redirectUrl"]=!0,window.setTimeout(function(){r.length&&r.is(":hidden")&&r.closest("form").length&&r.rules&&r.rules("add",e)},50)):i.val()===""&&f.appendHttpPrefix&&i.val("http://"))}},r=this,f,u;r.linkComboBox=n(t);f=r.linkComboBox.getZIndex()+1;u=n.extend({zIndex:f},e,i);r.linkComboBox.viDropdown(u);n.extend(r,r.linkComboBox.viDropdown(u).data("viDropdown"))};n.fn.viLinkComboBox=function(i){return this.each(function(){var r=n(this),u;if(r.data("viLinkComboBox"))return r.data("viLinkComboBox");u=new t(this,i);r.data("viLinkComboBox",u)})}}(jQuery),function(n){var t=function(t,i){var r={init:null,runTemplates:function(){},insertRowCall:n.noop,removeRowCall:n.noop,registeValidate:n.noop};if(this.setting=n.extend({},r,i),this.quickLink=n(t),r.runTemplates==null||!n.isFunction(r.runTemplates)){alert(Vision.Resources.UI_Common_ViQuickLink_RunTemplatesMethodFailedError);return}this.initialize()};t.prototype={initialize:function(){var t=this,r=t.setting,i=t.quickLink;n(".addlink",i).live("click",function(){var i=n(this).closest("tr");t.addRow(i)});n(".deletelink",i).live("click",function(){var i=n(this).closest("tr");t.removeRow(i)});t.registeValidate(i,"add");r.init&&n.isFunction(r.init)&&r.init(i)},addRow:function(t){var r=this,i=r.setting,o=r.quickLink,u=[],f=t.parent(),s=f.find("tr").length,e;u=i.runTemplates(s);n.isArray(u)&&t.after(u.join(""));e='<a href="javascript:void(0);" title="'+Vision.Resources.UI_Common_ViQuickLink_DeleteLinkButtonTitle+'" class="deletelink"><\/a>';f.find("tr").length==2&&f.find("tr:first").find("td:last").html(e);r.registeValidate(o);i.insertRowCall&&n.isFunction(i.insertRowCall)&&i.insertRowCall(t.next())},removeRow:function(t){var r=this,i=r.setting,u=t.parent();r.registeValidate(t,!1);t.remove();u.find("tr").length==1&&u.find(".deletelink").remove();i.removeRowCall&&n.isFunction(i.removeRowCall)&&i.removeRowCall()},registeValidate:function(t,i){var r=i==null?"add":i?"add":"remove";switch(r){case"add":n(":text",t).each(function(){n(this).hasClass("link_name")&&n(this).rules(r,{required:!0,messages:{required:Vision.Resources.UI_Common_ViQuickLink_LinkNameIsRequiredMessage}});n(this).hasClass("link_url")&&n(this).rules(r,{required:!0,messages:{required:Vision.Resources.UI_Common_ViQuickLink_LinkURLIsRequiredMessage}})});break;case"remove":n(".link_name",t).each(function(){n(this).rules(r)});n(".link_url",t).each(function(){n(this).rules(r)})}},generateJsonObj:function(){var u=this,f=u.quickLink,t=1,i=linkUrl=linkTarget="",r=[];return linkJsonArray=["["],n("tbody tr",f).each(function(){var u=n(this),f;i=u.find(".link_name").val();linkUrl=u.find(".link_url").val();linkTarget=u.find(".linkTarget").val();n.trim(i)!=""&&n.trim(linkUrl)!=""&&(f="{ 'ID':"+t+", 'Name':'"+i+"', 'LinkUrl':'"+linkUrl+"', 'LinkTarget':'"+linkTarget+"', 'Order': "+t+" }",r.push({ID:t,Name:i,LinkUrl:linkUrl,LinkTarget:linkTarget,Order:t}),t>1&&linkJsonArray.push(","),linkJsonArray.push(f),t+=1)}),linkJsonArray.push("]"),t==1&&(linkJsonArray=[]),JSON.stringify(r)},enable:function(n){var t=this,i=t.quickLink;(typeof n=="undefined"||n==null)&&(n=!0);t.registeValidate(i,n)}};n.fn.viQuicklink=function(i){return this.each(function(){var r=n(this),u;if(r.data("viQuicklink"))return r.data("viQuicklink");u=new t(this,i);r.data("viQuicklink",u)})}}(jQuery),function(n){n.fn.extend({rebindUnobtrusiveValidation:function(){return n(this).is("form")&&(n(this).removeData("validator").removeData("unobtrusiveValidation"),n.validator.unobtrusive.parse(n(this))),n(this)},showErrorsWCAGCompliant:function(){var t=[],u="",i=n(this),r,f,e,o;(i.find(".valid").removeAttr("aria-describedby"),i.find(".input-validation-error").each(function(){var n=this.outerHTML;t.push({id:this.id,html:n})}),t.length!=0)&&(r=i.find(".validation-summary-errors"),f=n(r.find("ul li")),f.each(function(r,f){for(var o,s=n(f).context.innerText,e=0;e<t.length;e++)t[e].html.indexOf(s)>-1&&!t[e].found&&(o=t[e].id+"_error",u+='<li><a href="#'+t[e].id+'" id = '+o+' class="error-tags">'+s+"<\/a><\/li>",t[e].found=!0,i.find("#"+t[e].id).attr("aria-describedby",o))}),e=t.length==1?"There is 1 error in this form.":"There are "+t.length+" errors in this form.",o='<div class="panel-heading">'+e+'<\/div><div class="panel-body"><ul>'+u+"<\/ul><\/div>",r.attr("role","alert"),setTimeout(function(){r.html(o);n(".error-tags").click(function(t){t.preventDefault();var i=n(this).attr("id").replace("_error","");n("#"+i).focus()})},1))},getZIndex:function(t){if(t=="EditorDropDown")return n("body").find(".v-viClientDialog:visible, .reFullScreen:visible").length>0?1e5:998;var i;return n(this).parents().andSelf().each(function(){return i=n(this).css("zIndex"),parseFloat(i)?(i=parseFloat(i)+1,!1):void 0}),i=="auto"?1:i},getParentWithScrollbar:function(){var r=n(this),t=!1,i=null;return r.parents().each(function(r,u){return t|=u.scrollHeight>u.clientHeight&&n(u).css("overflow-y")=="auto",i=n(u),!t}),i},getParentElementFixedTop:function(){var r=n(this),t=!1,i=null;return r.parents().each(function(){return t|=n(this).css("position")=="fixed",n(this).css("position")=="fixed"&&(i=parseInt(n(this).css("top"))),!t}),i},xBrowserAddHandler:function(t,i){return n(this).each(function(){var n=this;n.addEventListener?n.addEventListener(t,i,!1):n.attachEvent?n.attachEvent("on"+t,i):n["on"+t]=i}),n(this)},iframeLoad:function(t){return n(this).filter("iframe").xBrowserAddHandler("load",t)},tempMessage:function(t){var f=n.extend({message:"",cssClass:""},t),i=n(this),r,u;i.hasClass("vi-temp-message-container")||i.addClass("vi-temp-message-container");r=f.message||i.html();r&&(r.charAt(0)==="!"?(r=r.slice(1),i.addClass("vi-temp-message-container-error")):i.removeClass("vi-temp-message-container-error"),u=setTimeout(function(){i.html(r);i.fadeIn(200);var n=setTimeout(function(){i.fadeOut(500,function(){i.html("").removeClass("vi-temp-message-container-error")});clearTimeout(n)},5e3);clearTimeout(u)},200))},loading:function(t,i,r){var u=n(this),e,f,o;if(i=n.extend({},{text:"",description:"",className:""},i),typeof r!="undefined"&&r==!0)i&&i.hideCurrent==!0?u.find("div.loading").remove():n("div.loading","body").remove();else{succeed=typeof t=="undefined"||t?!0:!1;e=i.text||(t?Vision.Resources.UI_Common_Loading_LoadingText:Vision.Resources.UI_Common_Loading_LoadFailedText);f=t?"succeed":"failed";u.find("div.loading").length<=0&&(o="<div class='loading' style='display:none'><span class='"+f+"'>"+e+"<span/><\/div>",u.append(o),i.description&&u.find("div.loading").append(n("<div class='loading-description'><\/div>").html(i.description)));i.className&&u.find("div.loading").addClass(i.className);function s(t){var r=t.find("div.loading"),c=t.outerHeight(),l=t.outerWidth(),u=n.extend({mask:!1,css:"",opacity:.8,width:l,height:c},i),h;typeof u.mask!="undefined"&&u.mask?r.addClass("mask").removeClass("succeed").removeClass("failed").addClass(f):r.removeClass("mask");typeof u.css!="undefined"&&r.addClass(u.css);h=t.offset();r.width(l).height(c).css({display:"block",position:"absolute"}).offset({top:h.top,left:h.left}).css("opacity",u.opacity).css("z-index",99999).css("overflow","hidden");u.width!=null&&r.width(u.width);u.height!=null&&r.height(u.height);var e=r.find("div.loading-description"),o=r.find(">span"),s=containerHeight=0;t.is("body")||t.is(document)?(r.width(n(document).width()),r.height(n(document).height()),s=n(window).width(),containerHeight=n(window).height(),o.css({position:"fixed"}),e.css({position:"fixed"})):(s=r.outerWidth(!0),containerHeight=r.outerHeight(!0),o.css({position:"absolute"}),e.css({position:"absolute"}));o.css({top:(containerHeight-o.outerHeight())/2,left:(s-o.outerWidth())/2});e.css({top:(containerHeight+e.outerHeight())/2,left:(s-e.outerWidth())/2})}s(u);n(window).resize(function(){})}return u},closestClientDialog:function(){var r=".v-viClientDialog",t=null,i,u;try{t=n(this).closest(r).data("viClientDialog");t||(i=self.parent.$,u=i("iframe"),n(u).each(function(n,u){var e=u.window||u.contentWindow,f;e==self&&(f=u,t=i(f).closest(r).data("viClientDialog"))}))}catch(f){}return t},outerHtml:function(){var t=this;return n(n("<div><\/div>").html(t.clone())).html()},hasXScrollBar:function(){var n=this.get(0);return this.is("body")||this.is(document)||this.is(window)?n.scrollWidth>n.clientWidth:n.scrollWidth>n.clientWidth&&(this.css("overflow")=="auto"||this.css("overflow-x")=="auto")},hasYScrollBar:function(){var n=this.get(0);return this.is("body")||this.is(document)||this.is(window)?n.scrollHeight>n.clientHeight:n.scrollHeight>n.clientHeight&&(this.css("overflow")=="auto"||this.css("overflow-y")=="auto")},hasScrollBar:function(){var n=this.get(0);return this.hasXScrollBar()||this.hasYScrollBar()},isFixed:function(){return this.css("position")=="fixed"},inFixed:function(){var t=!1;return n(this).parents().andSelf().each(function(){return t|=n(this).isFixed(),!t}),t},inScroll:function(){var t=!1;return this.parents().andSelf().each(function(){return t|=n(this).hasScrollBar(),!t}),Boolean(t)}});typeof n.visionViewState=="undefined"&&n.extend({visionViewState:function(){return new visionViewState({conatiner:"input[name='_cms_custom_view_input']"})}});typeof n.validator!="undefined"&&(n.validator.addMethod("cmsFileExtension",function(t,i,r){return n.isFileInputExtensionValid(i,r[0],r[1])},Vision.Resources.UI_Common_FileExtensionIsNotValid),n.validator.addMethod("checkBoxListRequired",function(t,i,r){var u=n.isEmpty(t);return u?r[0].addClass("input-validation-error"):r[0].removeClass("input-validation-error"),!u},Vision.Resources.UI_Common_CheckBoxList_RequireValidError))}(jQuery);var initCopyToWhenChange=function(){function n(n,t){n.is("input")||n.is("textarea")?n.val(t).trigger("change"):n.text(t).trigger("change")}$("input[copyToWhenChanged],textarea[copyToWhenChanged],select[copyToWhenChanged]").change(function(){var i=$(this).attr("copyToFuncWhenChanged"),r=null,t,u;r=i!=null&&i!=""?$.evalFunc(i)():$(this).is(":checkbox")?$(this).prop("checked"):$(this).val();t=$($(this).attr("copyToWhenChanged"));t.is(":checkbox")?t.prop("checked",r):$(this).is("select")?$(this).val()!=null&&$(this).val()!=""?(u=$("option[value="+$(this).val()+"]",$(this)).text(),n(t,u)):n(t,""):n(t,r)})},initializeMask=function(n,t){n=$.prepareTriggerOnloadParams(n,t);typeof $.prototype.mask!="undefined"&&$(n+"[inputMasked]input").each(function(){var n=$(this);n.attr("maskedPlaceHolder")?n.mask(n.attr("inputMasked"),{placeholder:n.attr("maskedPlaceHolder")}):n.mask(n.attr("inputMasked"));n.attr("data-val-required")||n.bind("focusout",function(){return $.isEmpty(n.val())&&n.removeClass("input-validation-error"),!1})});$(n+"[maskedType]input").each(function(){var n=$(this),t;n.attr("maskedType").toLowerCase()=="number"&&(t=0,n.attr("maskedMaxLength")&&(t=parseInt(n.attr("maskedMaxLength"))),n.keydown(function(i){i.keyCode==46||i.keyCode==8||i.keyCode==9||i.keyCode==27||i.keyCode==65&&i.ctrlKey===!0||i.keyCode>=35&&i.keyCode<=39||((i.keyCode<48||i.keyCode>57)&&(i.keyCode<96||i.keyCode>105)?i.preventDefault():n.val().length>=t&&i.preventDefault())}));n.attr("maskedType").toLowerCase()=="ext"&&(t=0,n.attr("maskedMaxLength")&&(t=parseInt(n.attr("maskedMaxLength"))),n.keydown(function(i){i.keyCode==46||i.keyCode==8||i.keyCode==9||i.keyCode==27||i.keyCode==65&&i.ctrlKey===!0||i.keyCode>=35&&i.keyCode<=39||(i.ctrlKey===!0&&i.keyCode==67||i.ctrlKey===!0&&i.keyCode==86||!(i.keyCode<48||i.keyCode>57)||!(i.keyCode<96||i.keyCode>105)?n.val().length>=t&&i.preventDefault():i.preventDefault())}))})},initializeTempAndTip=function(n,t){n=$.prepareTriggerOnloadParams(n,t);$.fn.poshytip&&($(n+".vi-poshytip[title]").poshytip(),$(n+".vi-poshytip[title].click-show").bind("click",function(){var n=$(this),t=n.data("poshytip");t&&t.$tip.data("active")?n.poshytip("hide"):n.poshytip("show")}));$.fn.tempMessage&&$(n+".vi-temp-message-container").tempMessage()},initializeFieldToolTip=function(n,t){n=$.prepareTriggerOnloadParams(n,t);$.fn.poshytip&&($(n+".vi-fieldtooltip[title]").each(function(n,t){var i=$(t);i.poshytip({className:"tip-yellowsimple",alignTo:"target",showOn:"focus",alignX:"right",alignY:"center",offsetX:5});i.hasClass("click-show")&&i.bind("click",function(){var n=$(this),t=n.data("poshytip");t&&t.$tip.data("active")?n.poshytip("hide"):n.poshytip("show")});i.closest(".vi-content").length>0&&i.data("poshytip").$tip.css("z-index",i.getZIndex()+1)}),$(n+".vi-fieldtooltip-top[title]").each(function(n,t){var i=$(t);i.poshytip({className:"tip-yellowsimple",alignTo:"target",showOn:"focus",alignX:"center",alignY:"top",offsetX:5});i.bind("click",function(){var n=$(this),t=n.data("poshytip");t&&t.$tip.data("active")?n.poshytip("hide"):n.poshytip("show")});i.closest(".vi-content").length>0&&i.data("poshytip").$tip.css("z-index",i.getZIndex()+1)}))},__initializeNeedEnableForm=function(){$("form.front_end_form[need-ajax-submit='true'][need-enable-form-after-ready='true']").each(function(){var n=$(this),t=n.attr("need-enable-submit-buttons-class");typeof(t!="undefined")?n.find(t).prop("disabled",!1):n.find("input[type='submit']").prop("disabled",!1)})},initKendoMobileSwitch=function(n){n=n||document;$.fn.kendoMobileSwitch&&$(n).find(".onoffswitch-checkbox").each(function(n,t){var i=$(t);i.kendoMobileSwitch()})};$(function(){$.ajaxSettings.cache=!1;$(document).delegate("form","submit",function(){$(this).find("input[copyFromFuncWhenSubmit],textarea[copyFromFuncWhenSubmit]").each(function(n,t){var i=$.evalFunc($(t).attr("copyFromFuncWhenSubmit"));$(t).val(i())});$(this).find("input[copyFromWhenSubmit],textarea[copyFromWhenSubmit]").each(function(n,t){var i=$(t).attr("copyFromWhenSubmit");$(t).val($(i).val())});$(this).attr("data-has-editor")=="true"&&$(this).find("textarea.radeditor-textarea").attr("disabled","disabled");$(this).find("input.phone,input.fax").each(function(){var n=$(this).val(),t=n.replace(/[^\d]/ig,"");$(this).val(t)})});$(document).delegate("input.self-action[type='submit'],.self-action","click",function(n){if(n.isDefaultPrevented())n.stopPropagation();else{var t=$(this).attr("action");t&&($(this).closest("form").attr("action",t),$(this).attr("type")=="submit"&&this.tagName=="input"||$(this).closest("form").submit())}});$.unbindShowImageAnchorsClick();$("body").delegate("a[href!='#'][href]","click",function(){var i=$(this).attr("href")||"",t=$(this).attr("title")||$(this).text(),r=i.match(/[^'"]*?home\/showimage\s*(\?.*)/gi),n;if(r)return n=$("<img/>"),n.attr("src",$(this).attr("href")),$("body").loading(!0,{mask:!0}),n.error(function(){var n=$("<div/>");n.addClass("show_image_error_message");n.html(Vision.Resources.FrontEnd_ShowImage_ErrorMessage);$.viClientDialog({title:t,html:n,useFrame:!1,width:200,height:100}).open();$("body").loading(null,null,!0)}),n.load(function(){var i=Math.min($(this).width(),$(window).width()-30),r=Math.min($(this).height(),$(window).height()-60);$(n).css({maxWidth:i,maxHeight:r});$.viClientDialog({title:t,html:$("<div/>").append(n),useFrame:!1,padding:"0px 1px 0px 0px"}).open();$("body").loading(null,null,!0)}),$("body").append(n),!1});initCopyToWhenChange();$(".content-group-container select").change(function(){var n=$("input.copy-dest.cg-contentgroup");$(this).val()==""?n.val(""):n.val($($(this).find("option")[this.selectedIndex]).text())});$(".content-group-container").find("input[type='hidden']").length>0&&$("input.copy-dest.cg-contentgroup").val($(".content-group-container").find("select").text());$(".copy-placeholder-to-text[type='text']").focus(function(){var i=$(this).attr("placeholder"),n,t;$(this).val()==""&&($(this).val(i),$.support.placeholder||(n=this,n==null&&(n=event.srcElement),t=n.createTextRange(),t.moveStart("character",n.value.length),t.collapse(!0),t.select()))});$(".copy-placeholder-to-text[type='text']").blur(function(){var t=$(this).attr("placeholder"),n;$(this).val()==t&&($.support.placeholder?$(this).val(""):(n=$(this).attr("placeholder"),typeof n!="undefined"&&n!=""&&($(this).val()==""||$(this).val()==n)&&$(this).val($(this).attr("placeholder")).addClass("hasPlaceholder")))});$(document).delegate("input[type='password'].notallowpaste","keydown",function(n){if(n.ctrlKey&&n.keyCode==86)return!1});$(document).delegate("input[type='password']","contextmenu",function(){return!1});$.pushOnloadFunc(initializeTempAndTip,!0);$.pushOnloadFunc(initializeMask,!0);$.pushOnloadFunc(initializeFieldToolTip,!0);$.pushOnloadFunc(__initializeNeedEnableForm,!0);var n=function(){var n=$("input.need_update_field_name"),t;n.length>0&&(n.each(function(n,t){var i=$(t),f=i.attr("data-val-required"),e=i.attr("data-val-length"),r=i.attr("fieldValidationName"),u=i.attr("originalFieldName"),o=f.replace(u,r),s=e.replace(u,r);i.attr("data-val-required",o);i.attr("data-val-length",s)}),t=n.closest("form"),t.rebindUnobtrusiveValidation())};n()});$(function(){var n=$("ul.t-tabstrip-items li.t-item.vi-tab-lazy-load a.t-link");n.live("click",function(){var n=$(this),i;if(n.prop("actived")!=!0){var r=n.attr("actionurl"),u=n.attr("href").split("#")[1],t=n.closest("div.t-tabstrip").find("#"+u.toString());t.loading(!0,{mask:!0});i=$("#ContentGroup_ID").length>0&&$("#ContentGroup_ID").is("select")?$("#ContentGroup_ID").val():0;$.vision().get(r,{ContentGroupID:i},function(i){n.prop("actived",!0);setTimeout(function(){t.html(i);initializeMask("body");t.loading(null,null,!0)},300)})}})});$(function(){$("body").delegate(".vi-tabstrip-items .vi-item:not(.vi-state-active)","click",function(){$(".vi-tabstrip-items .vi-state-active").each(function(n,t){$(t).removeClass("vi-state-active");$($(t).attr("targetPanel")).hide()});$(this).addClass("vi-state-active");$($(this).attr("targetPanel")).show()})});$(function(){$("body").delegate(".scroll_container .scroll_commands .scroll_command","click",function(){var u=$(this),f=$(".scroll_container .scroll_list"),t=f.find(".scroll_item"),i=t.length,r=u.is(".pre"),n=t.width(),e=r?"-="+n:"+="+n;$(".scroll_container .scroll_list div.scroll_item").animate({left:e},{duration:500,easing:"linear",complete:function(){var t=$(this).position();r?(t.left==(1-i)*n&&$(this).css("left",n).removeClass("current"),t.left==-n&&$(this).addClass("current")):(t.left==(i-1)*n&&$(this).css("left",-n).removeClass("current"),t.left==0&&$(this).addClass("current"))}})})}),function(n){var t=function(){this.urlParams={};this.load()};t.prototype={load:function(n){this.urlParams={};var t,i,r,f=/\+/g,e=/([^&=]+)=?([^&]*)/g,u=function(n){return decodeURIComponent(n.replace(f," "))};for(n||(n=window.location.search),n.charAt(0)=="?"&&(n=n.substring(1));t=e.exec(n);)i=u(t[1]),r=u(t[2]),this.set(i,r);return this},toString:function(t){var r={hash:!1,traditional:!0},u,i;return t&&n.extend(r,t),u=jQuery.ajaxSettings.traditional,jQuery.ajaxSettings.traditional=r.traditional,i="?"+n.param(this.urlParams),jQuery.ajaxSettings.traditional=u,r.hash&&(i=i+window.location.hash),i},set:function(t,i,r){return r=r||!1,r?this.urlParams[t]=i:t in this.urlParams?n.type(this.urlParams[t])==="array"?this.urlParams[t].push(i):this.urlParams[t]=this.urlParams[t]==""?i:[this.urlParams[t],i]:this.urlParams[t]=i,this},get:function(n){return this.urlParams[n]},remove:function(n){return n in this.urlParams&&delete this.urlParams[n],this}};n.query_string=new t}(jQuery),function(n){var t=function(n,t){this._init(n,t)};t.prototype={_target:null,_options:{currentDate:new Date,useDefaultNext:!0,useDefaultPrev:!0},_init:function(t,i){i=i||{};var r=this;r._target=n(t);r._options=n.extend(r._options,i);r._options.useDefaultNext&&n(t).find(".calendar_title .calendar_nextprev a.next").click(function(){r._redirectToMonth(r._options.currentDate,1)});r._options.useDefaultPrev&&n(t).find(".calendar_title .calendar_nextprev a.prev").click(function(){r._redirectToMonth(r._options.currentDate,-1)})},_redirectToMonth:function(t,i){var u=t.getFullYear(),o=t.getMonth()+1,f=o,e=u,r=o+i;i>0?(f=r<=12?r:1,e=r<=12?u:u+1):(f=r>=1?r:12,e=r>=1?u:u-1);n.query_string.set("curm",f,!0);n.query_string.set("cury",e,!0);window.location=n.query_string.toString()}};n.prototype.extend({viCalendar:function(i){n(this).data("data-viCalendar",new t(n(this),i))}})}(jQuery);$(function(){typeof $.prototype.tabs!="undefined"&&$.isFunction($.prototype.tabs)});var bindDateTimePicker=function(n,t,i){if(typeof $.prototype[t]!="undefined"){var r=i;$(n).each(function(n,i){var f=$(i),h=f.next(),e,u,o,s;h.is("a")&&h.hasClass("calendar_icon")||(e=$('<a class="calendar_icon"><span class="icon_button">Pick date from calendar<\/span><\/a>'),f.after(e),$(e).click(function(){f.focus()}));u={hourGrid:3,minuteGrid:15,enableInput:!0,filterTime:null,updateDateTimeCallback:function(n,t,i){var r=n._defaults;if(r.filterTime){var u=$.parseJSON(r.filterTime),f={hour:u.Hour,minute:u.Minute},e=$.datepicker.formatTime(r.timeFormat,f,r);return e.toLowerCase()==n.formattedTime.toLowerCase()?i:i+(r.separator+n.formattedTime+r.timeSuffix)}return i+(r.separator+n.formattedTime+r.timeSuffix)},separator:" ",yearRange:"c-50:c+20"};o=f.attr("date_time_picker_option");typeof o!="undefined"&&(u=$.extend(u,$.parseJSON(o)),u.onClose&&typeof u.onClose=="string"&&(u.onClose=$.evalFunc(u.onClose)),u.onSelect&&typeof u.onSelect=="string"&&(u.onSelect=$.evalFunc(u.onSelect)),u.beforeShowDay&&typeof u.beforeShowDay=="string"&&(u.beforeShowDay=$.evalFunc(u.beforeShowDay)),u.minDate&&typeof u.minDate=="string"&&(u.minDate=new Date(u.minDate)),u.maxDate&&typeof u.maxDate=="string"&&(u.maxDate=new Date(u.maxDate)),u.showNowButton&&typeof u.showNowButton=="boolean"&&(u.showNowButton=u.showNowButton),u.renderDate&&typeof u.renderDate=="string"&&(u.renderDate=$.evalFunc(u.renderDate)));f[t](u);s=f.closest("form");s.bind("submit",function(){var n=s.data("validator");n&&n.valid()&&f.val($.datepicker.replaceDotInTime(f.val()))});u.enableInput||f.keydown(function(n){var t=n.which;if(t!=8)return!1});typeof r!="undefined"&&$.isFunction(r)&&r(i,u)})}},bindAllDateTimePicker=function(n){typeof n=="object"?(bindDateTimePicker($(n).find(".ui_need_date_time_picker"),"datetimepicker",function(n){$(n).val()&&$(n).datetimepicker("setDate",new Date($(n).val()))}),bindDateTimePicker($(n).find(".ui_need_date_picker"),"datepicker",function(n){if($(n).val()){var t=new Date($(n).datepicker("getDate"));$(n).datepicker("setDate",t)}}),bindDateTimePicker($(n).find(".ui_need_time_picker"),"timepicker")):(n=n||"",bindDateTimePicker(n+".ui_need_date_time_picker","datetimepicker",function(n){$(n).val()&&$(n).datetimepicker("setDate",new Date($(n).val()))}),bindDateTimePicker(n+".ui_need_date_picker","datepicker",function(n){if($(n).val()){var t=new Date($(n).datepicker("getDate"));$(n).datepicker("setDate",t)}}),bindDateTimePicker(n+".ui_need_time_picker","timepicker"))},initializeDotdotdot=function(n){if($.fn.dotdotdot){n=n||document;var t=$(n).find("[data-ellipsis='true']");t.addClass("ellipsis").dotdotdot({watch:!0,wrap:"letter",fallbackToLetter:!0,tolerance:0})}};$(function(){function i(){var t=$(window).scrollTop(),n=$(".page_title");if(n.length>0){var i=n.offset().top,r=$(window).height(),u=$("#header_nav").outerHeight(!0),f=$("#toppanel").outerHeight(!0);t>i&&f<r-u?$("#toppanel").addClass("sticky"):$("#toppanel").removeClass("sticky");$("#toppanel").data("isRadEditorFullScreen")&&$("#toppanel").removeClass("sticky");setInlineEditorToolBarPosition("#toppanel")}}function r(){var i=$(window).scrollTop(),t,n;$(".page_title").length>0&&(t=$(".page_title").offset().top,i>t+150?$("#WidgetTabControl").hasClass("sticky")||(n=$(".RadEditor.reToolbarWindow.reWrapper:visible"),n.length!=0&&n.offset({top:n.offset().top-$("#WidgetTabControl").outerHeight(!0)}),$("#WidgetTabControl").addClass("sticky")):$("#WidgetTabControl").hasClass("sticky")&&(n=$(".RadEditor.reToolbarWindow.reWrapper:visible"),n.length!=0&&n.offset({top:n.offset().top+$("#WidgetTabControl").outerHeight(!0)}),$("#WidgetTabControl").removeClass("sticky")),$("#toppanel").data("isRadEditorFullScreen")&&$("#toppanel").removeClass("sticky"),setInlineEditorToolBarPosition("#WidgetTabControl"))}var n,t,e;if($("#toolbar .toggle").click(function(){var n,t;if($("#toolbar ul").is(":hidden"))n="#toolbar ul, #toolbar .toolbar_title",$(".task_settings_pane>ol>li.task_item:not(.disabled)").length>0&&(n+=", #toolbar .tools"),$(n).slideDown("400"),$("#toolbar").toggleClass("closed"),$.cookie("data-my-task","visible",{path:"/"}),$("#toppanel")&&$("#toppanel").css("margin-top","0");else if(t=document.getElementById("toolbar"),t){var i=t.clientHeight,r=parseInt(i)-10,u="-"+r+"px";$("#toolbar ul, #toolbar .toolbar_title, #toolbar .tools").slideUp("400",function(){$("#toolbar").toggleClass("closed")});$.cookie("data-my-task","hidden",{path:"/"})}}),$.cookie("data-my-task")=="hidden"){if(n=document.getElementById("toolbar"),n){var u=n.clientHeight,f=parseInt(u)-10,o="-"+f+"px";$("#toolbar ul").css("display","none");$("#toolbar").toggleClass("closed")}}else $("#toolbar ul").css("display","block"),$("#toppanel")&&$("#toppanel").css("margin-top","0");$(function(){document.getElementById("toppanel")&&$(window).width()>480&&($(window).scroll(function(){return i(),!1}),i())});$(function(){document.getElementById("WidgetTabControl")&&$(window).width()>480&&($(window).scroll(r),r())});$(function(){function t(){var t=$(window).scrollTop(),n;$(".front_end_body").length>0&&(n=$(".front_end_body").offset().top,t>n?$("#top_bar").addClass("sticky"):$("#top_bar").removeClass("sticky"))}function i(){var n=$("#body_place_holder").offset();$("div#toppanel").css({top:n&&n.top>0?n.top:221,display:"block"})}if(document.getElementById("top_bar")&&$(window).width()>480&&($(window).scroll(t),t()),document.getElementById("toppanel")){var n;$(window).bind("resize",function(){n&&clearTimeout(n);n=setTimeout(i,100)})}$("#icon_legend .toggle").click(function(){$("#icon_legend .legend_list").is(":hidden")?($("#icon_legend .legend_list").slideDown("400"),$("#icon_legend").toggleClass("closed"),$.cookie("data-legend","visible")):($("#icon_legend .legend_list").slideUp("400",function(){$("#icon_legend").toggleClass("closed")}),$.cookie("data-legend","hidden"))});$("tr").not(":first-child").find(".release_notes_version").click(function(){var n=$(this).parent().find(".release_notes_note");n.toggle();$(this).toggleClass("notesShown")});$(".sidenav .mobile_header").click(function(){$(this).parent().toggleClass("open")});window.resetLeftNavigationMobileStyle=function(){if($(".sidenav").length>0){var n=$(".sidenav .sidenav_expanded.sidenav_current"),t=n.parents(".sidenav_expanded");$(window).width()<648?(n.siblings().hide(),n.find(" > a").hide(),t.siblings().hide(),t.find(" > a").hide(),$(".sidenav .sidenav_current").length>0&&n.length==0&&$(".sidenav h2").css("display","none")):(n.siblings().show(),n.find(" > a").show(),t.siblings().show(),t.find(" > a").show(),$(".sidenav .sidenav_current").length>0&&n.length==0&&$(".sidenav h2").css("display","block"))}};window.resetLeftNavigationMobileStyle();$(window).resize(function(){window.resetLeftNavigationMobileStyle()});$("body").on("click",".settingicon",function(n){$(n.target).closest(".search_area").find(".search_settings_pane").slideToggle("400");$(n.target).closest(".content-filter-widget").find(".frontend-search-settings-pane").slideToggle("400");$(n.target).closest(".common-search-box").find(".common-search-settings-pane").slideToggle("400")});$(document).click(function(n){!$(n.target).closest(".search_area").length>0&&$(".search_settings_pane").slideUp("400");!$(n.target).closest(".content-filter-widget").length>0&&$(".frontend-search-settings-pane").slideUp("400");!$(n.target).closest(".common-search-box").length>0&&$(".common-search-settings-pane").slideUp("400")});$("#toolbar .tools_show_list").click(function(){$(this).toggleClass("active");$("#toolbar").toggleClass("show_task_items");$(".task_settings_pane").slideToggle("400")});$(document).click(function(n){!$(n.target).closest(".task_settings_pane").length>0&&$(n.target).is(":not(.tools_show_list)")&&$("#toolbar .tools_show_list").is(".active")&&($("#toolbar").toggleClass("show_task_items"),$("#toolbar .tools_show_list").toggleClass("active"),$(".task_settings_pane").slideUp("400"))});bindAllDateTimePicker();initializeDotdotdot();$(".character-count-input").characterCounter({maxLength:140,ignoreCustomMsg:!0,container:function(n){return $(n).parent().parent()}});$(window).scroll(function(){$(this).scrollTop()>100?$(".backToTop").fadeIn():$(".backToTop").fadeOut()});$(".backToTop").click(function(){return $("body,html").animate({scrollTop:0},200),!1})});t=function(n){var f="\t",t=n.target,r=t.selectionStart,u=t.selectionEnd,s;if(n.keyCode==9)if(n.preventDefault(),r!=u&&t.value.slice(r,u).indexOf("\n")!=-1){var e=t.value.slice(0,r),i=t.value.slice(r,u),o=t.value.slice(u,t.value.length);s=i.match(/\n(\t){1}/g)?i.match(/\n(\t){1}/g).length+1:i.split(/\n/).length;n.shiftKey?(i.match(/^(\t){1}/m)||i.match(/\n(\t){1}/g))&&(i=i.replace(/^(\t){1}/m,""),i=i.replace(/\n(\t){1}/g,"\n"),t.value=e.concat(i).concat(o),t.selectionStart=r,t.selectionEnd=u-s*f.length):(i=i.replace(/\n/g,"\n"+f),t.value=e.concat(f).concat(i).concat(o),t.selectionStart=r,t.selectionEnd=u+s*f.length)}else if(n.shiftKey){if(r!=u){var e=t.value.slice(0,r),o=t.value.slice(u,t.value.length),i=t.value.slice(r,u);i.match(/^(\t){1}/)&&(i=i.replace(/^(\t){1}/,""),t.value=e.concat(i).concat(o),t.selectionStart=r,t.selectionEnd=u-f.length)}}else t.value=t.value.slice(0,r).concat(f).concat(t.value.slice(r,t.value.length)),r==u?t.selectionStart=t.selectionEnd=r+f.length:(t.selectionStart=r,t.selectionEnd=u+f.length)};e=function(n){$(n).keypress(function(n){t(n)})};$(document).delegate(".need_tab_hotkey","keydown",function(n){t(n)});$(document).delegate("input.button_invoker[data-invoke-target]","keydown",function(n){n.keyCode==13&&$($(this).attr("data-invoke-target")).click()})});$(function(){$("div.RadEditor:not(:visible)").length>0&&($("body").delegate(".t-item a.t-link","click",function(){resizeTelerik($(this).attr("href"))}),$("body .radeditor-visible-trigger").each(function(){$(this).is("input,select")&&$("body").delegate(this,"change",function(){var n=$(this).attr("data-radeditor-trigger-container")||"body";resizeTelerik(n)})}))});$(function(){if(typeof Telerik!="undefined"){var n=Telerik.Web.UI.Editor.Modules.RadEditorNodeInspector.prototype._onToolValueSelected;Telerik.Web.UI.Editor.Modules.RadEditorNodeInspector.prototype._onToolValueSelected=function(t){n.apply(this,arguments);t&&Telerik.Web.UI.EditorTextBox.isInstanceOfType(t)&&(t._inputElement.Executed=!1)}}});$(function(){if(jQuery.support.placeholder=!1,test=document.createElement("input"),"placeholder"in test&&(jQuery.support.placeholder=!0),!$.support.placeholder){var n=null;window.top!=window&&window.focus();try{n=document.activeElement}catch(t){}$(":text,textarea").focus(function(){var n=$(this).attr("placeholder");typeof n!="undefined"&&n!=""&&$(this).val()==n&&$(this).val("").removeClass("hasPlaceholder")}).blur(function(){var n=$(this).attr("placeholder");typeof n!="undefined"&&n!=""&&($(this).val()==""||$(this).val()==n)&&$(this).val($(this).attr("placeholder")).addClass("hasPlaceholder")});$(":text,textarea").each(function(){var n=$(this).attr("placeholder");typeof n!="undefined"&&n!=""&&($(this).val()==""||$(this).val()==n)&&$(this).val($(this).attr("placeholder")).addClass("hasPlaceholder")});n!=null&&$(n).focus();$("form").submit(function(){$(this).find(".hasPlaceholder").each(function(){$(this).val("")})})}});$(function(){$(document).delegate("form.front_end_form[need-ajax-submit='true']","submit",function(n){var t,o,e;try{if(typeof $(this).validate=="undefined"||$(this).valid()){t=$(this);o=t.serializeArray();t.find(".post-json-info[data-post-target]").each(function(){var i=$(this).attr("data-post-target"),n=$.parseJSON($(this).val());for(var t in n)n[t]!=null&&o.push({name:i+"."+t,value:n[t]})});var s=t.attr("formContainer")||".front_end_form_container",r=t.closest(s),u=t.attr("needLoading")||!1,h=t.attr("data-doNotClearLoading")||!1,f=t.attr("loadingContainer")||"",i=r;f!=""&&(i=f=="parent"?t.parent():f=="self"?t:t.closest(f));e=t.attr("loadingText");u&&(e!=undefined&&e!=""?i.loading(!0,{mask:!0,text:e}):i.loading(!0,{mask:!0,opacity:.8}));$.frontendAjax({url:t.attr("action"),type:t.attr("method")||"POST",dataType:"html",data:o,success:function(n){var o,f,s,e;if(n&&$("<div>"+n+"<\/div>").find(".error_page.page_title").length>0){alert(Vision.Resources.UI_Common_FrontendFormPostFailed);u&&i.loading(null,null,!0);return}o=t.attr("need-write-proxy")||!1;f="";o&&(document.write=document.writeln=function(n){f+=n});s=t.attr("data-replace-self")||"false";s.toLowerCase()=="true"?r.replaceWith(n):r.html(n);e=t.attr("write-proxy")||"";e==""?r.append(f):r.find(e).append(f);u&&!h&&i.loading(null,null,!0)},error:function(){alert(Vision.Resources.UI_Common_FrontendFormPostFailed);u&&i.loading(null,null,!0)}})}}catch(c){n.preventDefault();n.stopPropagation();alert("JS Error Occurred:"+c.message);window.location.href=window.location.href}n.preventDefault();n.stopPropagation()})});$(function(){$(document).delegate("[widgetAjaxUrl][widgetAjaxTarget]","click",function(){var n=$(this),r=n.attr("widgetAjaxUrl"),o=n.attr("widgetAjaxTarget"),u=n.attr("widgetAjaxData"),i={};typeof u!="undefined"&&(i=$.parseJSON(u));var f=n.attr("widgetAjaxReplace"),e=typeof f!="undefined"&&parseInt(f)==1,t=n.closest(o);return $.vision?$.vision().ajax({url:r,dataType:"html",data:i,success:function(n){e?t.replaceWith(n):t.html(n)}}):$.frontendAjax({url:r,dataType:"html",data:i,success:function(n){e?t.replaceWith(n):t.html(n)}}),!1})});$(function(){function n(n,t){$.frontendAjax({url:t,type:"POST",dataType:"json",data:{showTopTips:n},success:function(){}})}$("#alert_controls").click(function(){var i=$(this).attr("class"),t=$(this).attr("data-action");i=="hide"?($(document).find(".important_alert_wrapper").slideUp("150"),$(this).attr("class","show"),n(!1,t)):($(document).find(".important_alert_wrapper").slideDown("150"),$(this).attr("class","hide"),n(!0,t))})});$(function(){$("body").delegate("fieldset.collapse > legend.collapse_handle, fieldset.collapse > legend a.collapse_handle","click",function(){var t=$(this).is("legend")?$(this):$(this).closest("legend"),n=t.siblings();n.is(":visible")?(n.hide(),$(this).removeClass("expanded")):(n.show(),$(this).addClass("expanded"))})}),function(n){function i(i,r){var c=r.val(),o=n(i).val(),l=t.test(c,o),u=l.status,f,s,h,e;f=u=="weak"?"#D21C2B":u=="good"?"#2281CF":"#6ec02a";s=u=="weak"?"25px":u=="good"?"45px":"70px";h=u=="weak"?"3px 0px 0px 3px":u=="good"?"3px 0px 0px 3px":"3px 3px 3px 3px";u=="weak"?e=n.fn.PasswordStrength.defaults.WeakText:u=="good"?e=n.fn.PasswordStrength.defaults.GoodText:u=="strong"&&(e=n.fn.PasswordStrength.defaults.StrongText);o.length>=1?(n("#pstrength_text_parent").html("<span class='pstrength_text'>"+e+"<\/span>"),n(".pstrength_childbar").animate({width:s},"fast"),n(".pstrength_childbar").css({"background-color":f,"border-radius":h}),n(".pstrength_text").css("color",f),n(".pstrength_content").show()):o.length==0?n(".pstrength_content").hide():(n("#pstrength_text_parent").html("<span class='pstrength_text'>"+e+"<\/span>"),n(".pstrength_childbar").animate({width:s},"fast"),n(".pstrength_childbar").css({"background-color":f,"border-radius":h}),n(".pstrength_text").css("color",f))}var t=function(){var u=/[0-9]/,f=/[a-z]/,e=/[A-Z]/,o=/[^0-9a-zA-Z]/,s=8,n=0,t=3,i=4,r=5;this.username=null;this.password=null;this.score=0;this.status=null;this.containInvalidMatches=function(){return this.exclude?this.exclude.test?this.exclude.test(this.password.toString()):!1:!1};this.test=function(){return this.score=0,this.containInvalidMatches()?this.status="invalid":(this.password.length>=s&&(this.score+=this.scoreFor("numbers"),this.score+=this.scoreFor("lowercase"),this.score+=this.scoreFor("uppercase"),this.score+=this.scoreFor("special")),this.score<n&&(this.score=n),this.score>r&&(this.score=r),this.score<t&&(this.status="weak"),this.score>=t&&this.score<i&&(this.status="good"),this.score>=i&&(this.status="strong")),this.score};this.scoreFor=function(n){score=0;switch(n){case"numbers":this.password.match(u)&&score++;break;case"lowercase":this.password.match(f)&&score++;break;case"uppercase":this.password.match(e)&&score++;break;case"special":this.password.match(o)&&score++;break;case"username":this.password==this.username?score=0:this.password.indexOf(this.username)!=-1&&(score=-1)}return score};this.isGood=function(){return this.status=="good"};this.isWeak=function(){return this.status=="weak"};this.isStrong=function(){return this.status=="strong"};this.isInvalid=function(){return this.status=="invalid"};this.isValid=function(n){return n=="strong"?this.isStrong():n=="good"?this.isStrong()||this.isGood():!this.containInvalidMatches()};this.sequences=function(n){for(var e=0,r=0,u=[],o=n.length,t,i,f=0;f<o;f++)i=n.charCodeAt(f),t=u[u.length-1],u.push(i),t&&(i==t+1||t==i?r+=1:r=0),r==2&&(e+=1);return e};this.repetitions=function(n,t){for(var e=0,o={},s=n.length,i,f,u,r=0;r<s;r++)if(i=n.substr(r,t),f=0,u=n,!o[i]&&!(i.length<t)){for(o[i]=!0;(r=u.indexOf(i))!=-1;)f+=1,u=u.substr(r+1);f>1&&(e+=1)}return e};this.reversed=function(n){for(var i="",r=n.length,t=r-1;t>=0;t--)i+=n.charAt(t);return i}};t.test=function(n,i){return strength=new t,strength.username=n,strength.password=i,strength.test(),strength};n.fn.PasswordStrength=function(t){var r=n.extend({},n.fn.PasswordStrength.defaults,t);return this.each(function(t,u){var f=n(u),e=f.parent();e.find("#pwdstr").length==0&&e.append('<div id="pwdstr" class="pstrength_content"><span class="pwdbar"><span class="pstrength_childbar"><\/span><\/span><span id="pstrength_text_parent" class="pwdbarspan"><\/span><\/div>');f.bind("keyup",function(){var t=n(r.UserName);i(this,t)})})};n.fn.PasswordStrength.defaults={UserName:"UserName",WeakText:Vision.Resources.UI_Common_PasswordStrength_WeakText,GoodText:Vision.Resources.UI_Common_PasswordStrength_GoodText,StrongText:Vision.Resources.UI_Common_PasswordStrength_StrongText}}(jQuery),function(n){function t(i){this.opts=n.extend({},t.defaults,i);this._window=window.top;this._window._timeoutIDForSessionExpirationAtFrontEnd=null;this.sessionExtendPath=this.opts.virtualApplicationPath+this.opts.extendSessionTimeoutPath}t.defaults={virtualApplicationPath:"/",frontendUserLogin:!1,backendUserLogin:!1,useSessionTimeout:!0,sessionTimeoutInMinutes:20,timeToAlertBeforeSessionTimeoutInMinutes:5,extendSessionTimeoutPath:"Home/FrontEndExtendSessionTimeout",sessionExtensionMode:"server"};t.prototype={ajax:function(t,i){var r,u;this.opts.frontendUserLogin===!0?(r=this.opts.useSessionTimeout,typeof t=="object"&&t.useSessionTimeout?r=t.useSessionTimeout:i&&i.useSessionTimeout&&(r=i.useSessionTimeout),r===!0?(u=this.opts.sessionExtensionMode,typeof t=="object"&&t.sessionExtensionMode?u=t.sessionExtensionMode:i&&i.sessionExtensionMode&&(u=i.sessionExtensionMode),u==="client"?this.extendSessionTimeout(function(){n.ajax(t,i)}):(typeof t=="object"?(t.success=this._wrapSessionExtensionSuccess(t.success),t.headers={ExtendSession:!0}):(i=i||{},i.success=this._wrapSessionExtensionSuccess(i.success),i.headers={ExtendSession:!0}),n.ajax(t,i))):n.ajax(t,i)):n.ajax(t,i)},_wrapSessionExtensionSuccess:function(t){if(this.opts.frontendUserLogin===!0){var i=this;return function(r,u,f){var e=n.parseJSON(f.getResponseHeader("SessionInfo")||"");e&&e.IsAuth?(i.setTimerForSessionExpiration(e.Timeout,e.TimeToAlert),i.refreshToken(e.Token),n.isFunction(t)&&t(r,u,f)):(i._window.alert(Vision.Resources.FrontEndSessionTimeout_SessionExpired),i.refreshToken(""),i._window.location.href=i._window.location.href)}}return t},extendSessionTimeout:function(t,i){var r=this;this.opts.frontendUserLogin===!0?n.ajax({type:"POST",async:!0,url:r.sessionExtendPath,success:function(i){try{typeof i.SessionTimeoutInMinutes=="undefined"&&typeof i.TimeToAlertBeforeSessionTimeoutInMinutes=="undefined"?(r._window.alert(Vision.Resources.FrontEndSessionTimeout_SessionExpired),r.refreshToken(""),r._window.location.href=r._window.location.href):(r.setTimerForSessionExpiration(i.SessionTimeoutInMinutes,i.TimeToAlertBeforeSessionTimeoutInMinutes),r.refreshToken(i.Token),n.isFunction(t)&&t())}catch(u){}}}):i?n.ajax({type:"POST",async:!0,data:{onlyToken:!0},url:r.sessionExtendPath,success:function(i){try{r.refreshToken(i.Token);n.isFunction(t)&&t()}catch(u){}}}):n.isFunction(t)&&t()},extendSessionTimeoutSync:function(){if(this.opts.frontendUserLogin===!0){var t=this;n.ajax({type:"POST",async:!1,url:t.sessionExtendPath,success:function(n){try{typeof n.SessionTimeoutInMinutes=="undefined"&&typeof n.TimeToAlertBeforeSessionTimeoutInMinutes=="undefined"?(t._window.alert(Vision.Resources.FrontEndSessionTimeout_SessionExpired),t.refreshToken(""),t._window.location.href=t._window.location.href):(t.setTimerForSessionExpiration(n.SessionTimeoutInMinutes,n.TimeToAlertBeforeSessionTimeoutInMinutes),t.refreshToken(n.Token))}catch(i){}}})}},setTimerForSessionExpiration:function(n,t){var i,r;this.opts.frontendUserLogin===!0&&(n=n||this.opts.sessionTimeoutInMinutes,t=t||this.opts.timeToAlertBeforeSessionTimeoutInMinutes,i=window.parseInt(n)*6e4-window.parseInt(t)*6e4,this._window._timeoutIDForSessionExpirationAtFrontEnd!=null&&(this._window.clearTimeout(this._window._timeoutIDForSessionExpirationAtFrontEnd),this._window._timeoutIDForSessionExpirationAtFrontEnd=null),r=this,this._window._timeoutIDForSessionExpirationAtFrontEnd=this._window.setTimeout(function(){r.promptSessionTimeout(n,t)},i))},promptSessionTimeout:function(t,i){if(this.opts.frontendUserLogin===!0){this._window.focus();var r=n.format(Vision.Resources.FrontEndSessionTimeout_SessionTip,i,t),u=this._window.confirm(r);u&&this.extendSessionTimeout(function(){})}},refreshToken:function(n){this._window.visionApps&&(this._window.visionApps.token=n)}};n.extend(n,{frontendSessionManager:function(i){var r=n("body").data("FrontEndSessionManager");return r?(r.opts=n.extend(r.opts,i),n("body").data("FrontEndSessionManager",r),r):(r=new t(i),n("body").data("FrontEndSessionManager",r),r)}})}(jQuery),function(n){n.extend(n,{frontendAjax:function(t,i){n.frontendSessionManager().ajax(t,i)}});n.prototype.extend(n.prototype,{loadAsyncContainer:function(){n(this).each(function(t,i){var r=n(i),e=r.height(),u=!1,f=r.attr("data-async-url");f&&(u&&n(r).loading(!0,null),n.frontendAjax(f,{success:function(t){r.replaceWith(t);u&&n(r).loading(null,{hideCurrent:!0},!0)},error:function(){u&&n(r).loading(null,{hideCurrent:!0},!0)}}))})}});n.scriptsStack.add(function(){n(".async_widget_container:not(.custominvoke)").loadAsyncContainer()})}(jQuery);$(function(){$(".page.edit").length<=0&&$(".column").each(function(){$(this).find(".need_hide_detail_widget").length>0&&$(this).find(".normal_content_area").each(function(n,t){$(t).parents(".mainnav").length==0&&($(t).hide(),$(t).remove())})});$("body").delegate(".ele_load_detailview_incurrentpage input:radio","click",function(){var n=$(this).val().toLowerCase();n=="true"?(typeof $(".ele_hide_contentareawidget_indetailview").attr("data-info")=="undefined"||$(".ele_hide_contentareawidget_indetailview").attr("data-info")=="is_list_view")&&$(".ele_hide_contentareawidget_indetailview").show():($(".ele_hide_contentareawidget_indetailview").hide(),$("input[name='Setting.HideContentAreaWidgetInDetailView'][value='False']").prop("checked",!0),$(".ele_hide_contentareawidget_indetailview").find("input:checkbox:checked").trigger("click"))});$("body").delegate("ol.formlist li.is_include_category_li :radio","change",function(){var n=$(this).val()==$("#UsedForCategoryConstraint").val();$.widgetSettingDisplayCategory(n)});$("body").delegate("tr.is_include_category_tr td.setting_td .is_include_category_li > :radio","change",function(){var n=$(this).val()==$("#UsedForCategoryConstraint").val();$.widgetDevSettingDisplayCategory(n)});$("body").delegate(".include_category_tr .display_td :checkbox","click",function(n,t){if(t!="false"){var i=$(this);i.prop("checked")?$(".exclude_category_tr .display_td :checkbox").siblings(".display_field_value_hidden").length<1&&$(".exclude_category_tr .display_td :checkbox").trigger("click",["false"]):$(".exclude_category_tr .display_td :checkbox").siblings(".display_field_value_hidden").length>=1&&$(".exclude_category_tr .display_td :checkbox").trigger("click",["false"])}});$("body").delegate(".exclude_category_tr .display_td :checkbox","click",function(n,t){if(t!="false"){var i=$(this);i.prop("checked")?$(".include_category_tr .display_td :checkbox").siblings(".display_field_value_hidden").length<1&&$(".include_category_tr .display_td :checkbox").trigger("click",["false"]):$(".include_category_tr .display_td :checkbox").siblings(".display_field_value_hidden").length>=1&&$(".include_category_tr .display_td :checkbox").trigger("click",["false"])}});$("body").delegate(".vi-expandable-tree li > a:not(.item)","click",function(){var n=$(this).closest("li");n.hasClass("expanded")?n.removeClass("expanded"):n.addClass("expanded")})}),function(n){n.extend(n,{widgetSettingDisplayCategory:function(t){var i=n("#UsedForCategoryConstraint").data("settingCategoryHtmlData");t.toString().toLowerCase()=="true"?(n("ol.formlist li.include_category_li").length<=0&&n("ol.formlist li.is_include_category_li").after(i),n("ol.formlist li.exclude_category_li").length>0&&n("#UsedForCategoryConstraint").data("settingCategoryHtmlData",n("ol.formlist li.exclude_category_li").detach()),n("ol.formlist li.include_category_li").removeClass("hidden").show()):(n("ol.formlist li.exclude_category_li").length<=0&&n("ol.formlist li.is_include_category_li").after(i),n("ol.formlist li.include_category_li").length>0&&n("#UsedForCategoryConstraint").data("settingCategoryHtmlData",n("ol.formlist li.include_category_li").detach()),n("ol.formlist li.exclude_category_li").removeClass("hidden").show())},widgetDevSettingDisplayCategory:function(t){var i=n("#UsedForCategoryConstraint").data("devSettingCategoryHtmlData");t.toString().toLowerCase()=="true"?(n("div.widget_dev_setting table td.include_category_td").length<=0&&n("div.widget_dev_setting table tr.include_category_tr").append(i),n("div.widget_dev_setting table td.exclude_category_td").length>0&&n("#UsedForCategoryConstraint").data("devSettingCategoryHtmlData",n("div.widget_dev_setting table td.exclude_category_td").detach()),n("div.widget_dev_setting table tr.include_category_tr").removeClass("hidden").show(),n("div.widget_dev_setting table tr.exclude_category_tr").hide()):(n("div.widget_dev_setting table td.exclude_category_td").length<=0&&n("div.widget_dev_setting table tr.exclude_category_tr").append(i),n("div.widget_dev_setting table td.include_category_td").length>0&&n("#UsedForCategoryConstraint").data("devSettingCategoryHtmlData",n("div.widget_dev_setting table td.include_category_td").detach()),n("div.widget_dev_setting table tr.exclude_category_tr").removeClass("hidden").show(),n("div.widget_dev_setting table tr.include_category_tr").hide())}})}(jQuery);template=function(n,t){return template[typeof t=="object"?"render":"compile"].apply(template,arguments)},function(n,t){"use strict";n.version="1.4.0";n.openTag="<%";n.closeTag="%>";n.parser=null;n.render=function(n,t){var i=l(n);return i===undefined?e({id:n,name:"Render Error",message:"Not Cache"}):i(t)};n.compile=function(t,r){function f(i){try{return new u(i).template}catch(f){return o?(f.id=t||r,f.name="Render Error",f.source=r,e(f)):n.compile(t,r,!0)(i)}}var o=arguments[2],u;typeof r!="string"&&(o=r,r=t,t=null);try{u=c(r,o)}catch(s){return s.id=t||r,s.name="Syntax Error",e(s)}return f.prototype=u.prototype,f.toString=function(){return u.toString()},t&&(i[t]=f),f};n.helper=function(n,t){f[n]=t};var i={},r="".trim,s=r&&!t.document,o={},u=function(){var n=Array.prototype.forEach||function(n,t){for(var r=this.length>>>0,i=0;i<r;i++)i in this&&n.call(t,this[i],i,this)};return function(t,i){n.call(t,i)}}(),h=Object.create||function(n){function t(){}return t.prototype=n,new t},f=n.prototype={$forEach:u,$render:n.render,$getValue:function(n){return n===undefined?"":n}};u("break,case,catch,continue,debugger,default,delete,do,else,false,finally,for,function,if,in,instanceof,new,null,return,switch,this,throw,true,try,typeof,var,void,while,with,abstract,boolean,byte,char,class,const,double,enum,export,extends,final,float,goto,implements,import,int,interface,long,native,package,private,protected,public,short,static,super,synchronized,throws,transient,volatile,arguments,let,yield".split(","),function(n){o[n]=!0});var c=function(t,i){function d(n){return l+=n.split(/\n/).length-1,n=n.replace(/('|"|\\)/g,"\\$1").replace(/\r/g,"\\r").replace(/\n/g,"\\n"),n=s[1]+"'"+n+"'"+s[2],n+"\n"}function rt(n){var t=l;return v?n=v(n):i&&(n=n.replace(/\n/g,function(){return l++,"$line="+l+";"})),n.indexOf("=")===0&&(n=n.substring(1).replace(/[\s;]*$/,""),r&&(n="$getValue("+n+")"),n=s[1]+n+s[2]),i&&(n="$line="+t+";"+n),ut(n),n+"\n"}function ut(n){n=n.replace(/\/\*.*?\*\/|'[^']*'|"[^"]*"|\.[\$\w]+/g,"");u(n.split(/[^\$\w\d]+/),function(n){if(/^this$/.test(n))throw{message:'Prohibit the use of the "'+n+'"'};!n||o.hasOwnProperty(n)||/^\d/.test(n)||y.hasOwnProperty(n)||(ft(n),y[n]=!0)})}function ft(n){var t;t=n==="print"?tt:n==="include"?it:f.hasOwnProperty(n)?"$helpers."+n:"$data."+n;p+=n+"="+t+","}var g=n.openTag,nt=n.closeTag,v=n.parser,e=t,c="",l=1,y={$out:!0,$line:!0},p="var $helpers=this,"+(i?"$line=0,":""),s=r?["$out='';","$out+=",";","$out"]:["$out=[];","$out.push(",");","$out.join('')"],w=r?"if(content!==undefined){$out+=content;return content}":"$out.push(content);",tt="function(content){"+w+"}",it="function(id,data){if(data===undefined){data=$data}var content=$helpers.$render(id,data);"+w+"}",a,b;u(e.split(g),function(n){n=n.split(nt);var t=n[0],i=n[1];n.length===1?c+=d(t):(c+=rt(t),i&&(c+=d(i)))});e=c;i&&(e="try{"+e+"}catch(e){e.line=$line;throw e}");e=p+s[0]+e+"this.template="+s[3];try{return a=new Function("$data",e),b=a.prototype=h(f),b.toString=function(){return this.template},a}catch(k){k.temp="function anonymous($data) {"+e+"}";throw k;}},l=function(t){var u=i[t],r;if(u!==undefined||s){if(i.hasOwnProperty(t))return u}else return r=document.getElementById(t),r&&n.compile(t,r.value||r.innerHTML),i[t]},e=function(n){function r(){return r+""}var i="[template]:\n"+n.id+"\n\n[name]:\n"+n.name;return n.message&&(i+="\n\n[message]:\n"+n.message),n.line&&(i+="\n\n[line]:\n"+n.line,i+="\n\n[source]:\n"+n.source.split(/\n/)[n.line-1].replace(/^[\s\t]+/,"")),n.temp&&(i+="\n\n[temp]:\n"+n.temp),t.console&&console.error(i),r.toString=function(){return"{Template Error}"},r}}(template,this);typeof module!="undefined"&&module.exports&&(module.exports=template),function(n){var t=function(t,i){var r={addTrigger:".addlink",removeTrigger:".deletelink:not(.disabled)",leastOne:!0,itemSelector:null,allowMaxNumber:100,maxRowIndex:0,init:function(){},generateJson:function(){},rowTemplate:function(){},insertRowCall:function(){},beforeRemoveRowCall:function(){},removeRowCall:function(){}},u=this.setting=n.extend({},r,i);this.vars={maxRowIndex:0,operateType:{insert:"insert",remove:"remove"}};this.mutipleRow=n(t);this.initialize()};t.prototype={initialize:function(){var t=this,i=t.setting,r=t.vars,f=i.addTrigger,e=i.removeTrigger,u=t.mutipleRow;t.mutipleRow.addClass("mutiple_row_container");t.items=t.getItems();r.maxRowIndex=Math.max(t.items.length,i.maxRowIndex);u.delegate(f,"click",function(){var u=t.getItems(),i=n(this).closest("tr"),f=t.getRowNum(i),e=r.maxRowIndex=Math.max(r.maxRowIndex,u.length);return t.insertRow(i,f,e),!1});u.delegate(e,"click",function(){var u=t.getItems(),i=n(this).closest("tr"),f=t.getRowNum(i),e=r.maxRowIndex=Math.max(r.maxRowIndex,u.length);return t.removeRow(i,f,e),!1});t.checkRow();i.init&&n.isFunction(i.init)&&i.init.call(t)},insertRow:function(t,i,r){var u=this,f=u.setting,h=u.vars,e=t?t.closest("tbody"):u.mutipleRow.find("tbody"),o=f.rowTemplate(t,r),c=e.children("tr").length,s;if(c>=f.allowMaxNumber)return!1;t?t.after(o):e.append(o);h.maxRowIndex++;u.checkRow();s=t?t.next():e.children().first();u.ensureItems();f.insertRowCall&&n.isFunction(f.insertRowCall)&&f.insertRowCall.call(u,s,i,r)},removeRow:function(t,i,r){var u=this,f=u.setting,e=u.vars;f.beforeRemoveRowCall&&n.isFunction(f.beforeRemoveRowCall)&&f.beforeRemoveRowCall.call(u,t,i,r);t.remove();u.ensureItems();f.removeRowCall&&n.isFunction(f.removeRowCall)&&f.removeRowCall.call(u,i,r);u.checkRow()},ensureItems:function(){this.getItems()},getItems:function(){var t=this,i=t.setting,r=t.mutipleRow;return t.items=i.itemSelector?n(i.itemSelector):r.find("tbody > tr"),t.items},checkRow:function(){var n=this,t=n.setting,h=n.vars,s=n.mutipleRow,f=t.addTrigger,i=s.find("tbody"),r,u,e,o;t.leastOne&&(r=n.getItems().length,u=i.find(t.removeTrigger),r===1?u.hide():r===0?(n.insertRow(null,0,0),e=i.children().first(),e.find(t.removeTrigger).hide()):u.show());o=i.children("tr").length;o>=t.allowMaxNumber?i.find(f).addClass("disabled"):i.find(f).removeClass("disabled")},generateJson:function(){var n=this,t=n.setting;t.generateJson&&t.generateJson.call(n)},getRowNum:function(n){var t=this,i=t.mutipleRow;return n.is("tr")?t.items.length+1:0}};n.fn.viMutipleRow=function(i){return this.each(function(){var r=n(this),u;if(r.data("viMutipleRow"))return r.data("viMutipleRow");u=new t(this,i);r.data("viMutipleRow",u)})}}(jQuery),function(n){var t=function(t,i){var r={leastOne:!0,items:"tr",itemsContainer:"table",allowMaxCount:20,addTrigger:".addlink",removeTrigger:".deletelink:not(.disabled)",init:function(){},itemTemplate:function(){},insertItemCall:function(){},beforeRemoveItemCall:function(){},removeItemCall:function(){}};this.vars={maxIndex:0};this.settings=n.extend({},r,i);this.viMultipleItem=t;this.initialize()};t.prototype={initialize:function(){var t=this,i=t.settings,u=t.vars,f=i.addTrigger,e=i.removeTrigger,r=t.viMultipleItem;r.addClass("multiple_item_container");t.items=t._getItems();t.itemsContainer=n(i.itemsContainer);u.maxIndex=t.items.length;r.delegate(f,"click",function(){var e=t._getItems(),r=n(this).closest(i.items),f=u.maxIndex;return t.insertItem(r,f),!1});r.delegate(e,"click",function(){var f=t._getItems(),r=n(this).closest(i.items),u=t.getItemIndex(r);return t.removeItem(r,u),!1});t._checkItem();i.init&&i.init.call(t)},_getItems:function(){var i=this,t=i.settings;return n(t.itemsContainer).children(t.items)},_checkItem:function(){var n=this,t=n.settings,f;if(t.leastOne){var i=n.items,r=i.length,e=n.itemsContainer,u=e.find(t.removeTrigger);r===1?u.hide():r===0?(n.insertItem(null,0),i=n.items,f=i.first(),f.find(t.removeTrigger).hide()):u.show()}},getItemIndex:function(n){var t=this,i=t.settings;return n.is(i.items)?t.items.index(n):0},insertItem:function(n,t){var i=this,r=i.settings,e=i.vars,f,u;i.items.length>r.allowMaxCount||(f=r.itemTemplate(n,t),u=null,n?(n.after(f),u=n.next()):(i.itemsContainer.append(f),u=i._getItems().last()),e.maxIndex++,i.items=i._getItems(),i._checkItem(),r.insertItemCall&&r.insertItemCall.call(i,u,t))},removeItem:function(n,t){var i=this,r=i.settings;r.beforeRemoveItemCall&&r.beforeRemoveItemCall.call(i,n,t);n&&n.remove();i.items=i._getItems();i._checkItem();r.removeItemCall&&r.removeItemCall.call(i,t)}};n.fn.viMultipleItem=function(i){return this.each(function(r,u){var f=n(u),e;if(f.data("viMultipleItem"))return f.data("viMultipleItem");e=new t(f,i);f.data("viMultipleItem",e)})}}(jQuery,window),function(n){n.extend(n,{ListFormattingDecimalFormat:function(t,i){var r="";return n.type(t)==="number"&&(r+=t,r+=i?")":"."),r},ListFormattingDecimalToLetter:function(t,i,r){var u="",f;if(n.type(t)==="number"){var e=i?65:97,o=Math.floor(t/26)+1,s=--t%26;for(f=0;f<o;f++)u+=String.fromCharCode(s+e);u+=r?")":"."}return u},ListFormattingDecimalToRoman:function(n,t,i){function o(n){return Math.floor(n/2)*2}var e="",f=parseInt(n),u=t?[[1,"I"],[5,"V"],[10,"X"],[50,"L"],[100,"C"],[500,"D"],[1e3,"M"]]:[[1,"i"],[5,"v"],[10,"x"],[50,"l"],[100,"c"],[500,"d"],[1e3,"m"]],r,s,h;if(!isNaN(f)&&f>0&&f<4e3){for(r=u.length-1;r>=0;){if(f>=u[r][0])if(s=Math.floor(f/u[o(r)][0]),h=s%5,h==4)e+=u[o(r)][1]+u[r+1][1],f-=s*u[o(r)][0];else for(e+=u[r][1],f-=u[r][0];--h>0;)e+=u[o(r)][1],f-=u[o(r)][0];r--}e+=i?")":"."}else e=!1;return e},formatFacilityHour:function(t,i,r){return t>i?"":n.datepicker.formatTime(r,{hour:parseInt(t)},{})+" - "+n.datepicker.formatTime(r,{hour:parseInt(i),minute:59},{})},formattedFacilityReservedHours:function(t,i){t=t.sortNumber();var r="",u=[],f=0;return n(t).each(function(n){n==0?u.push([t[n],t[n]]):t[n]==t[n-1]+1?u[f][1]=t[n]:(u.push([t[n],t[n]]),f++)}),n(u).each(function(t,u){r+=n.formatFacilityHour(u[0],u[1],i)+" <br/>"}),r==""&&(r=Vision.Resources.FacilityDirectory_Widget_ReservationSubmission_NoTimeSelected),r},compressFormFieldArray:function(t){var u=97,f=26,i={ks:[],vs:[]},r=function(n){var i="",t=n,r=0;if(t==0)return String.fromCharCode(u);while(t>0)r=t%f,t=Math.floor(t/f),i=String.fromCharCode(u+r-(i.length<=0?0:1))+i;return i},e=function(t){t=t||"";var u="",f=t.split(".");return n(f).each(function(n,t){var e=t.indexOf("["),f=e>0?t.substr(0,e):t;i.ks.length<n+1?(i.ks.push({max:0,i:n,k:{}}),i.ks[n].k[f]=r(i.ks[n].max),u+=t.replace(f,r(i.ks[n].max))+"."):i.ks[n].k[f]?u+=t.replace(f,i.ks[n].k[f])+".":(i.ks[n].max++,i.ks[n].k[f]=r(i.ks[n].max),u+=t.replace(f,r(i.ks[n].max))+".")}),u.substr(0,u.length-1)},o=function(t){var i={ks:[],vs:t.vs};return n(t.ks).each(function(n,t){var r=[];for(var u in t.k)r.push([u,t.k[u]]);i.ks.push({i:t.i,k:r})}),i};return n(t).each(function(){var n=e(this[0]);i.vs.push([n,this[1]])}),o(i)}});n.extend(n.fn,{selectRange:function(n,t){return this.each(function(){if(this.setSelectionRange)this.focus(),this.setSelectionRange(n,t);else if(this.createTextRange){var i=this.createTextRange();i.collapse(!0);i.moveEnd("character",t);i.moveStart("character",n);i.select()}})},setSelection:function(n,t){if(this.lengh==0)return this;if(input=this[0],input.createTextRange){var i=input.createTextRange();i.collapse(!0);i.moveEnd("character",t);i.moveStart("character",n);i.select()}else input.setSelectionRange&&(input.focus(),input.setSelectionRange(n,t));return this},setCursorPosition:function(t){return this.lengh==0?this:n(this).setSelection(t,t)},insertAtCaret:function(t){var i=n(this)[0];if(document.selection)this.focus(),sel=document.selection.createRange(),sel.text=t,this.focus();else if(i.selectionStart||i.selectionStart=="0"){var r=i.selectionStart,u=i.selectionEnd,f=i.scrollTop;i.value=i.value.substring(0,r)+t+i.value.substring(u,i.value.length);this.focus();i.selectionStart=r+t.length;i.selectionEnd=r+t.length;i.scrollTop=f}else this.value+=t,this.focus()},characterCounter:function(t){function u(){return window.getSelection?window.getSelection().toString():document.selection&&document.selection.createRange?document.selection.createRange().text:""}function i(i){var r=i.val(),u,e,o,f;t.ignoreCustomMsg&&(r=r.replace(/^Compose message.../g,""));u=t.maxLength-r.length;u<0&&(e=r.substring(0,t.maxLength),i.val(e));o=u<0?0:u;f=null;f=typeof t.container=="function"?t.container(i).find(t.target):n(i).closest(t.container).find(t.target);f.text(o)}var r={target:".remain_characters",container:function(t){return n(t).parent()},maxLength:70};t=n.extend({},r,t);n(this).each(function(){i(n(this))});n(this).keyup(function(){i(n(this))});n(this).change(function(){i(n(this))});n(this).keydown(function(i){if(i.ctrlKey||i.keyCode>=37&&i.keyCode<=40||i.keyCode==9)return!0;if(i.keyCode!=8&&i.keyCode!=46){var r=n(this).val().length+1,f=t.maxLength-r;if(f<0&&(f=0),r>t.maxLength&&u()=="")return!1}})},adjustImage:function(t){function r(){var u=Math.max(i.get(0).naturalWidth,1),f=Math.max(i.get(0).naturalHeight,1),r=i.parent();if(r.length){var t=Math.max(r.width(),1),n=Math.max(r.height(),1),e=t/n==1;e?u/f>1?(i.css("width","auto"),i.css("height",n),i.css("max-height",n)):(i.css("width",t),i.css("height","auto"),i.css("max-height","none")):u/f>t/n?(i.css("width","auto"),i.css("height",n),i.css("max-height",n)):(i.css("width",t),i.css("height","auto"),i.css("max-height","none"))}}var i=n(this);if(i.is("img")){t&&r();i.on("load",function(){r()})}},adjustImageDimention:function(t){var r,f,i,u;t=n.extend({},{width:70,height:70,desireWidth:50,ratios:".75:1",roundedCorner:!1,defaultColor:"#C9C9C9"},t);var e=t.width,o=t.height,f=t.desireWidth,r=t.desireWidth,s=t.ratios.split(":")[1],h=t.ratios.split(":")[0],c=n(this).parent();t.roundedCorner?c.css({height:r,width:f,overflow:"hidden","border-radius":r,"background-color":t.defaultColor,border:"1px solid "+t.defaultColor}):(r=r*h,f=f*s,c.css({height:r,width:f,overflow:"hidden","border-radius":5,"background-color":t.defaultColor,border:"1px solid "+t.defaultColor}));h>s?(u=r,i=e*u/o,i<f&&(i=f,u=o*i/e)):(i=f,u=o*i/e,u<r&&(u=r,i=e*u/o));n(this).css({width:i,"max-width":i,height:u,position:"relative",top:Math.abs(u-r)/-2,left:Math.abs(i-f)/-2,border:0})}})}(jQuery);$(function(){window.razorTypes=[];window.razorDialogs=[];$("body").delegate("a.show_razor_model_property","click",function(n){var i=$(this).closest("div.help_notes_body").attr("showPropertyUrl"),f=$("#WidgetTemplate_ID").val(),s=this,t,r,e,u,o;typeof i!="undefined"&&i.length>0&&(t=$(this).attr("razorType"),r=i+"?typeName="+t,f&&(r+="&templateID="+f),e={title:t,width:600,url:r,useFrame:!1,resize:!0,lock:!1,padding:0,fixed:!1,follow:s,onClosed:function(){if(window.razorTypes){var n=$.inArray(t,window.razorTypes);n>=0&&(window.razorTypes.splice(n,1),window.razorDialogs.splice(n,1))}}},window.razorTypes&&(u=$.inArray(t,window.razorTypes),u<0?(o=$.viClientDialog(e).open(),window.razorTypes.push(t),window.razorDialogs.push(o)):window.razorDialogs[u].zIndex()));n.preventDefault()}),function(n){n.extend(n,{SendEmail:function(n){if(n!=null&&n!=undefined){var i=n.addresses==null||n.addresses==undefined?"":n.addresses,r=n.subject==null||n.subject==undefined?"":"&subject="+n.subject,u=n.body==null||n.body==undefined?"":"&body="+n.body,f=n.cc==null||n.cc==undefined?"":"&cc="+n.cc,e=n.bcc==null||n.bcc==undefined?"":"&bcc="+n.bcc,t=r+u+f+e;t!=""&&(t="?"+t.substring(1));window.location.href="mailto:"+i+t}}})}(jQuery)});ViCategorySelector=function(n,t){var r={isLoaded:!1,ajaxData:null,ajaxUrl:"",eventName:"click",targetEl:$(".vi-animation-container"),getAjaxDataFunc:null,animSpeed:100,minWidth:120,minHeight:100,maxHeight:500,beforeShow:function(){var i=this,n=i.setting,t=$(n.targetEl),r=$.isFunction(n.getAjaxDataFunc)?n.getAjaxDataFunc():n.ajaxData,u=n.ajaxUrl,f=n.isLoaded;f||(n.isLoaded=!0,t.loading(!0,{mask:!0}),$.vision().ajax({url:u,data:r,type:"GET",success:function(n){$.type(n)=="string"?(t.html(n),t.loading(null,null,!0)):(alert(Vision.Resources.EnotificationCategorySelector_LoadCheckboxFailed),t.loading(null,null,!0))},error:function(){alert(Vision.Resources.UI_Common_FrontendAjaxGetFailed);t.loading(null,null,!0)}}))},init:function(n){var t=n.dropDown,r=n.setting,i=t.is(":text")?t:t.find(".vi-input"),u=i.next(),f=n.dropDownPanel}},u=$(n).getZIndex()+1,i=$.extend({zIndex:u},r,t);this.categorySelector=$(n);this.categorySelector.viDropdown(i);$.extend(this,this.categorySelector.viDropdown(i).data("viDropdown"))};$.fn.viCategorySelector=function(n){return this.each(function(){var t=$(this),i;if(t.data("viCategorySelector"))return t.data("viCategorySelector");i=new ViCategorySelector(this,n);t.data("viCategorySelector",i)})};ContentTypeCategoryModel=function(n){var t=this.DeserializeFromJson(n);this.ToCategories=t.ToCategories||[];this.ToContentTypes=t.ToContentTypes||[]};ContentTypeCategoryModel.prototype={ToContentTypes:[],ToCategories:[],SerializeToJson:function(){return JSON.stringify(this)},DeserializeFromJson:function(n){return $.parseJSON(n)},Reset:function(n,t){this.ToCategories=n||[];this.ToContentTypes=t||[]}};Array.prototype.contains=function(n){for(var t=0;t<this.length;t++)if(this[t]==n)return!0;return!1};Array.prototype.indexOf=function(n){for(var t=0;t<this.length;t++)if(this[t]==n)return t;return-1};Array.prototype.remove=function(n){var t=this.indexOf(n);t>-1&&this.splice(t,1)};ViCategorySelector.GenerateModelWithNewContentType=function(n,t,i){var r=new ContentTypeCategoryModel(i);return r.ToContentTypes.contains(n)||(r.ToContentTypes.push(parseInt(n)),$.each(t,function(n,t){r.ToCategories.remove(t)})),r.SerializeToJson()};ViCategorySelector.GenerateModelWithRemovedContentType=function(n,t,i){var r=new ContentTypeCategoryModel(i);return r.ToContentTypes.contains(parseInt(n))&&(r.ToContentTypes.remove(parseInt(n)),$.each(t,function(n,t){r.ToCategories.remove(t)})),r.SerializeToJson()};ViCategorySelector.GenerateModelWithNewCategory=function(n,t){var i=new ContentTypeCategoryModel(t);return i.ToCategories.contains(n)||i.ToCategories.push(parseInt(n)),i.SerializeToJson()};ViCategorySelector.GenerateModelWithRemovedCategory=function(n,t){var i=new ContentTypeCategoryModel(t);return i.ToCategories.contains(n)&&i.ToCategories.remove(parseInt(n)),i.SerializeToJson()};$(function(){$.triggerScripts()});var generateGUID=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var t=Math.random()*16|0,i=n=="x"?t:t&3|8;return i.toString(16)})},mobileReorderInitOverrides=function(){$("#sitebody .column").find("iframe[src=''], iframe:not([src])").each(function(n,t){typeof mobileReorderIframes=="undefined"&&(window.mobileReorderIframes={});var i=$(t).attr("id");(typeof i==typeof undefined||i==!1||i.length<1)&&$(t).attr("id",generateGUID());window.mobileReorderIframes[$(t).attr("id")]={head:$(t).contents().find("head").detach(),body:$(t).contents().find("body").detach()}})},mobileReorderOverrides=function(){$("#sitebody .column").find("iframe[src=''], iframe:not([src])").each(function(n,t){var i=window.mobileReorderIframes[$(t).attr("id")];typeof i!="undefined"&&("onload"in t?$(t).load(function(){$(t).contents().find("html").empty();$(t).contents().find("html").append(i.head);$(t).contents().find("html").append(i.body)}):($(t).contents().find("html").empty(),$(t).contents().find("html").append(i.head),$(t).contents().find("html").append(i.body)))})},renderMobile=function(){var n;mobileReorderInitOverrides();$("#sitebody").addClass("force_hide_column");$("#sitebody .column").find("script:not([data-mobile-show])").remove();i=0;$("#sitebody *").not("iframe").contents().filter(function(){return this.nodeType==8}).each(function(){if(this.nodeValue.indexOf("!!WidgetStart")>=0){var t=this.nodeValue.match('vi-orderdata="(.*)"  vi-hideonmobile'),r=this.nodeValue.match('vi-hideonmobile="(.*)"Widget'),n="";if($(this).parent().attr("id")==undefined||$(this).parent().attr("id")=="")try{n=$(this).parent().parent().attr("id")}catch(u){}else n=$(this).parent().attr("id");$(this).wrap('<div class="mobile_reorder_widget clearfix"  vi-orderdata="'+t[1]+'" vi-hideonmobile="'+r[1]+'" vi-deskorder="'+i+'" vi-column="'+n+'"><\/div>');i++}else this.nodeValue.indexOf("!!WidgetEnd")>=0&&(thewidget=$(this).prevAll(".mobile_reorder_widget:first"),widgetcontent=$(this).prevUntil(".mobile_reorder_widget").andSelf(),$(this).parents(".home_collage").size()>0&&(home_collage=$(this).parents(".home_collage:first"),thewidget.insertBefore(home_collage),$(this).appendTo(home_collage),widgetcontent=$(this).parents(".home_collage:first").detach().after($(this))),$(this).parents(".home_buttons").size()>0&&(home_buttons=$(this).parents(".home_buttons:first"),thewidget.insertBefore(home_buttons),$(this).appendTo(home_buttons),widgetcontent=$(this).parents(".home_buttons:first").detach().after($(this))),widgetcontent.appendTo(thewidget),$("#sitebody").hasClass("homepagelayout")&&thewidget.attr("vi-hideonmobile")=="false"&&thewidget.parentsUntil("#sitebody").each(function(){var n="",t;$(this).attr("id")&&(n=$(this).attr("id"));t="fake_col";thewidget.wrapInner("<"+$(this).prop("tagName")+' class="'+$(this).attr("class")+" "+t+'" id="'+n+'"><\/'+$(this).prop("tagName")+">")}))});$("#sitebody").find(".mobile_reorder_widget[vi-orderdata!='0']").length>0?($("#sitebody > *").not("#MobileColumnUserControl1, .home_floatarea, link").addClass("force_hide_column"),n=$("#sitebody").find(".mobile_reorder_widget").sort(function(n,t){return $(n).attr("vi-orderdata")-$(t).attr("vi-orderdata")}),n.each(function(){$(this).attr("vi-hideonmobile")=="true"&&$(this).addClass("force_hide_column");$("#MobileColumnUserControl1").append($(this))}),$(".async_widget_container:not(.custominvoke)").each(function(n,t){$(t).loadAsyncContainer()})):$("#sitebody").find(".mobile_reorder_widget[vi-hideonmobile='true']").length>0&&(n=$("#sitebody").find(".mobile_reorder_widget"),n.each(function(){$(this).attr("vi-hideonmobile")=="true"&&$(this).addClass("force_hide_column")}));mobileReorderOverrides();$("#sitebody").removeClass("force_hide_column")},restoreDesktop=function(){var n;mobileReorderInitOverrides();$("#sitebody #MobileColumnUserControl1").find(".mobile_reorder_widget").length>0?($("#sitebody > *").not("#MobileColumnUserControl1, .home_floatarea, link").removeClass("force_hide_column"),$("#sitebody").find(".fake_col > *").unwrap(),$("#sitebody").find(".fake_col:empty").remove(),n=$("#sitebody").find(".mobile_reorder_widget").sort(function(n,t){return $(n).attr("vi-deskorder")-$(t).attr("vi-deskorder")}),n.each(function(){parentcol=$(this).attr("vi-column");$("#sitebody").find("#"+parentcol).append(this)}),$(".async_widget_container:not(.custominvoke)").each(function(n,t){$(t).loadAsyncContainer()})):$("#sitebody").find(".mobile_reorder_widget[vi-hideonmobile='true']").length>0&&(n=$("#sitebody").find(".mobile_reorder_widget"),n.each(function(){$(this).attr("vi-hideonmobile")=="true"&&$(this).removeClass("force_hide_column")}));$("#sitebody").find(".mobile_reorder_widget > *").unwrap();$("#sitebody").find(".mobile_reorder_widget:empty").remove();mobileReorderOverrides()},manualRenderMobile=function(){var n=window.reordered?window.reordered==!0:!1,t=window.hashiddenwidgets?window.hashiddenwidgets==!0:!1,i=window.parent?window.parent.inpreviewmobile?window.parent.inpreviewmobile==!0:!1:!1;(i||n||t)&&($("#sitebody #MobileColumnUserControl1").length<1&&$("#sitebody").append('<div id="MobileColumnUserControl1" class="column mobile_only clearfix"><\/div>'),window.innerWidth<=647&&(renderMobile(),window.switchedToMobile=!0))};$(function(){var n=window.reordered?window.reordered==!0:!1,t=window.hashiddenwidgets?window.hashiddenwidgets==!0:!1,i=window.parent?window.parent.inpreviewmobile?window.parent.inpreviewmobile==!0:!1:!1;(i||n||t)&&($("#sitebody #MobileColumnUserControl1").length<1&&$("#sitebody").append('<div id="MobileColumnUserControl1" class="column mobile_only clearfix"><\/div>'),$(".home_collage").size()>0&&($(".home_collage").wrap('<div id="'+$(".home_collage").attr("id")+'"><\/div>'),$(".home_collage").attr("id","")),$(".home_buttons").size()>0&&($(".home_buttons").wrap('<div id="'+$(".home_buttons").attr("id")+'"><\/div>'),$(".home_buttons").attr("id","")),$(window).resize(function(){this.resizeTO&&clearTimeout(this.resizeTO);this.resizeTO=setTimeout(function(){$(this).trigger("resizeEnd")},150)}),$(window).bind("resizeEnd",function(){(window.switchedToMobile==null||window.switchedToMobile!=null&&window.switchedToMobile==!1)&&window.innerWidth<=647?(renderMobile(),window.switchedToMobile=!0):window.switchedToMobile&&window.switchedToMobile==!0&&window.innerWidth>647&&(restoreDesktop(),window.switchedToMobile=!1)}))}),function(){var n=function(n){this.options=$(n)};n.prototype={init:function(){var t=this,n=t.options,r=n.find(".faq_tab_nav").height(),i;n.find(".faqtab_section").attr("style","min-height: "+(r-42)+"px");$(window).resize(function(){clearTimeout(i);i=setTimeout(function(){t.faqResizeTab()},200)});t.faqHashChangeFun();"onhashchange"in window?window.onhashchange=function(){t.faqHashChangeFun()}:$(".faq_tab_nav ul li a").click(function(){$(this).closest(".faq_tab_nav ul li a").find(".active_faqtab").removeClass("active_faqtab");$(this).addClass("active_faqtab");var n=$($(this).attr("href"));n.show().addClass("active_faqtab").siblings().hide().removeClass("active_faqtab");t.faqResizeTab()});n.find(".faqtab_question").click(function(){$(this).toggleClass("faqquestion_open");var t=$(this).next(".faqtab_answer");t.toggleClass("faqanswer_open");n.find(".faq_tab_contents").find(".faqquestion_open").not(this).removeClass("faqquestion_open");n.find(".faq_tab_contents").find(".faqanswer_open").not(t).removeClass("faqanswer_open")});n.find("#tabselect").change(function(){var i=n.find("#tabselect").val();n.find(".faq_tab_nav ul li a").each(function(){var n=$(this).attr("href");n==i?$(this).addClass("active_faqtab"):$(this).removeClass("active_faqtab")});$(this).closest(".faq_tab_nav ul li a").find(".active_faqtab").removeClass("active_faqtab");$(this).addClass("active_faqtab");$(i).show().addClass("active_faqtab").siblings().hide().removeClass("active_faqtab");t.faqResizeTab()})},faqHashChangeFun:function(){if($.isHashValid()){var t=this,u=t.options,i=window.location.hash,n=$('.faq_tab_nav [href*="'+i+'"]'),r=$(i);n.length&&!n.hasClass("active_faqtab")&&r.length&&(n.closest(".faq_tab_nav").find(".active_faqtab").removeClass("active_faqtab"),n.addClass("active_faqtab"),r.show().addClass("active_faqtab").siblings().hide().removeClass("active_faqtab"),t.faqResizeTab())}},faqResizeTab:function(){var t=this,n=t.options;tabheight=n.find(".faq_tab_nav").height();n.find(".faqtab_section").attr("style","min-height: "+(tabheight-42)+"px")}};$.extend($.fn,{faqTabList:function(){return $(this).length<=0?null:($(this).each(function(){var t=$(this).data("faqTabList");typeof t=="undefined"&&(t=new n(this),t.init(),$(this).data("faqTabList",t))}),$($(this)[0]).data("faqTabList"))}})}(jQuery),function(){function r(n){var t=!1;return"ontouchstart"in window?t=!0:"onpointerdown"in window?t=n.originalEvent.pointerType=="touch":window.MSPointerEvent&&(t=n.originalEvent.pointerType==n.originalEvent.MSPOINTER_TYPE_TOUCH),t}var t="",i,u,n;("ontouchstart"in window||"onpointerdown"in window||window.MSPointerEvent)&&(t="ontouchstart"in window?"touchstart":"onpointerdown"in window?"pointerdown":window.MSPointerEvent?"MSPointerDown":"");i=$.isIEBrowser();u=$.isIE9Browser();n=function(t,i){this._container=$(t);this._options=$.extend({},n.defaultOptions,i);this._targets=$(this._options.anchorTarget,this._container)};n.prototype={_init:function(){var u=this,e=u._targets,n=u._options,f=u._container;t.length>0&&(e.bind(t,function(t){var u=$(this),e,s,o;if(r(t)==!1||(e=u.next(n.showPanel),s=e.length>0,!s))return!0;if(e.hasClass("touch-active"))i&&u.attr("href",u.attr("data-href")),e.removeClass("touch-active");else return i&&(u.attr("data-href",u.attr("href")),u.attr("href","javascript:void(0);")),o=f,n.closeOtherTarget==!0&&(o=$("body")),$(n.showPanel,o).filter(".touch-active").not(e).removeClass("touch-active"),e.addClass("touch-active"),!1}),$("body").bind(t,function(t){var i,u;if(r(t)==!1||(i=$(t.target).closest(n.showPanel),i.length==0&&(i=$(t.target).next(n.showPanel)),i.length>0))return!0;u=f;n.closeOtherTarget==!0&&(u=$("body"));$(n.showPanel,u).filter(".touch-active").removeClass("touch-active")}))}};n.defaultOptions={anchorTarget:".touching-anchor",closeOtherTarget:!0};$.extend($.fn,{anchorTouching:function(t){return $(this).length<=0?null:($(this).each(function(i,r){var u=$(r).data("anchorTouching");typeof u=="undefined"&&(u=new n(r,t),u._init(),$(r).data("anchorTouching",u))}),$($(this)[0]).data("anchorTouching"))}})}(jQuery),function(){function r(){function n(n){var t=$(n).scrollLeft();0<t?$(n).addClass("right_scroll"):$(n).removeClass("right_scroll");$inner_table=$(n).find(">table");t+$(n).width()==$inner_table.outerWidth()?$(n).removeClass("left_scroll"):$(n).hasClass("left_scroll")||$(n).addClass("left_scroll")}$(".front_end_body table:not(.responsive-table-data-mb)").each(function(){if($(this).find(">tbody>tr,>thead>tr").length!=1||$(this).find("tbody>tr>th,thead>tr>th").length!=0||$(this).hasClass("calendar_title")){if(!($(this).find(">tbody>tr,>thead>tr").length==1&&$(this).find("tbody>tr>th,thead>tr>th").length==0)){maxWidth=$(this).css("max-width");var n=$(this).width(),r=$(window).width(),t=$(this).parent().width();n>r||n>t-i&&t>0?$(".faqtab_answer").length>0?$(this).width("100%"):$(this).parent().hasClass("responsive-table-scroll")?$(this).css("max-width",maxWidth):($(this).css("max-width","none"),$(this).wrap('<div class="responsive-table-scroll left_scroll"><\/div>')):$(this).parent().hasClass("responsive-table-scroll")&&$(this).unwrap()}}else{var n=$(this).width(),r=$(window).width(),t=$(this).parent().width();(n>r||n>t&&t!=0)&&($(this).parent().hasClass("responsive-table-list")||($(this).wrap('<div class="responsive-table-list"><\/div>'),$(this).width("100%"),$(this).find("img, object").each(function(){$(this).css("max-width","100%")})))}});$(".responsive-table-scroll").scroll(function(){var t=this;clearTimeout($.data(this,"scrollCheck"));$.data(this,"scrollCheck",setTimeout(function(){n(t)},250))})}function u(){$("iframe[src*=youtube]").each(function(){$(this).parent().hasClass("videoWrapper")||$(this).wrap("<div class='videoWrapper'><\/div>")})}var n=!1,t,i;window.visionOptions!=undefined&&window.visionOptions.clientResponsiveTableEnabled!=undefined&&(n=window.visionOptions.clientResponsiveTableEnabled);$(".front_end_body table:not(.non-responsive-table)").each(function(){if($(this).filter(".listtable, .tableData").length>0&&$(this).find(">tr>th,>thead>tr>th,>tbody>tr>th").length>0){$(this).addClass("responsive-table-data-mb");var n=[];$(this).find(">tr>th,>thead>tr>th,>tbody>tr>th").each(function(){n.push($(this).text())});$(this).find("tbody>tr,>tr").each(function(t,i){$(i).find("td").each(function(t,i){$(i).attr("data-th",n[t]);var r=$(i).attr("data-th"),u=$(i).text()&&$(i).html();u.trim().length==0&&r.trim().length==0&&$(i).addClass("hideEmptyRow")})});$(this).find("td.poll_thumbnail_col").each(function(){$(this).removeClass("poll_thumbnail_col")})}});$(".faqtab_answer").each(function(){$(this).find("table:not(.non-responsive-table)").width("100%")});t=/Mac OS/ig.test(navigator.userAgent);i=t?5:0;n&&(r(),u(),$(window).resize(function(){this.resizeTo&&clearTimeout(this.resizeTo);this.resizeTo=setTimeout(r(),150)}));$(".import-button[data-url]").click(function(){var n=$.parseJSON($(this).attr("data-url-post")||"{}"),t={title:$(this).text(),url:$(this).attr("data-url"),useFrame:!1,width:545,data:n,onClosed:function(n){n&&n.IsOk===!0&&($.refreshTempMessage(n.Message),setTimeout(function(){$.vision().refresh()},300))}};$.viClientDialog(t).open()});$(".auto-complete-container[data-auto-complete]").each(function(){var n=$(this).attr("data-auto-complete")||"off";n=="off"?$(this).find("form,input,select,textarea").attr("autocomplete",n):$(this).find("form,input,select,textarea").removeAttr("autocomplete")})}(jQuery),function(n){var t=function(t,i){this.button=n(t);this.options=n(i);this.visible=!1;var r=n(t).getZIndex()+1;this.setting=n.extend({zIndex:r},{animSpeed:100,height:250,width:200},i);this.container=null;this.init()};t.prototype={init:function(){var t=this;this.addPanelDiv();this.bindButton();n(window).resize(function(){t.snapToAnchor()});n("body").click(function(i){var u=n(i.target).closest(".ui-datepicker"),f=n(i.target).closest(".ui-datepicker-current"),e=n(i.target).closest(".ui-icon-circle-triangle-e"),o=n(i.target).closest(".ui-icon-circle-triangle-w"),s=u.length+f.length+e.length+o.length,r=n(i.target).closest(".vi-panel-container");(r.length<=0||r.index(t.container)<0)&&s<=0&&t.closePanel()})},bindButton:function(){var t=this;this.button.on("click",function(i){return i.preventDefault(),n(this).prop("disabled",!0),t.openPanel(),n(this).prop("disabled",!1),!1})},addPanelDiv:function(){var i=document.body,t;if(!i)throw new Error('viPanelPopupManager: "documents.body" not ready');t=document.createElement("div");n(t).attr("class","vi-panel-container");i.appendChild(t,i.firstChild);this.container=n(t);this.loading=n("<div class='vi-panel-loading'><\/div>");this.container.append(this.loading);this.setting.width&&this.loading.css({"min-width":this.setting.width+"px"});this.setting.height&&(this.loading.css({"min-height":this.setting.height+"px"}),this.container.css({"max-height":this.setting.height+"px"}));this.container.hide()},openPanel:function(){var t=this.container;this.visible?this.closePanel():(this.visible=!0,t.find(".vi-panel-loading").length>0&&this.loadUrl(),t.slideDown(this.setting.animSpeed,function(){n(this).show()}),this.snapToAnchor())},closePanel:function(){var t=this;this.container.slideUp(this.setting.animSpeed,function(){n(this).hide();t.visible=!1})},loadUrl:function(){var i=this.container,r=this.button.data("url"),t={};this.button.data("url-post")&&(t=this.button.data("url-post"));n.vision?n.vision().ajax(r,{data:t,cache:!1,success:function(n){n==null&&(n="<span>Error loading "+URL+"<\/span>");i.html(n)}}):n.frontendAjax?n.frontendAjax(r,{data:t,cache:!1,success:function(n){n==null&&(n="<span>Error loading "+URL+"<\/span>");i.html(n)}}):n.ajax({url:r,cache:!1,data:t,success:function(n){n==null&&(n="<span>Error loading "+URL+"<\/span>");i.html(n)}})},snapToAnchor:function(){var i=this.container,t=this.button.offset(),s=n(document).height(),u=Math.max(i.outerHeight(),243),f=i.outerWidth(),h=this.button.outerWidth(),e=this.button.outerHeight(),o=0,r;o=s-t.top-e<u?t.top-u:t.top+e;r=0;r=t.left>f?t.left-f+h:t.left;i.css({position:"absolute",top:o+"px",left:r+"px"})}};n.fn.viPanelPopupManager=function(i){return this.each(function(){var r=n(this),u;if(r.data("viPanelPopupManager"))return r.data("viPanelPopupManager");u=new t(this,i);r.data("viPanelPopupManager",u)})};n(".export-button[data-url]").viPanelPopupManager({width:550,height:320})}(jQuery),function(){$.fn.replaceOptions=function(n){var t,i;this.empty();t=this;$.each(n,function(n,r){i=$("<option><\/option>").attr("value",r.value).text(r.text);t.append(i)})}}(jQuery),function(){$(".logon-bar .logon_preview a, .frequent-buttons li.preview a").click(function(){localStorage.removeItem("currentPageViewChosen")})}(jQuery);$(function(){$(document).delegate("form.largeformfieldsform","submit",function(){var t=$(this),i,n,r;t.valid()&&(i=[],t.find("input:not([type='submit'],[type='button'],[type='file'],[type='reset']),select,textarea").each(function(){$(this).hasClass("noncompressfield")||("checkbox"!=$(this).attr("type")||$(this).prop("checked"))&&(i.push([$(this).attr("name")+"",$(this).val()]),$(this).attr("disabled","disabled"))}),n=t.find("input[type='hidden'][name='____combinedcompressfields']"),n.length<=0&&(n=$("<input type='hidden' name='____combinedcompressfields'/>"),t.append(n)),r=$.compressFormFieldArray(i),n.val(JSON.stringify(r)))})}),function(n){n.validator&&(n.validator.methods.date=function(n,t){if(n!=null&&n!=""){var i=n.match(/[aApP]\.[mM]\.$/);i!=null&&(n=n.replace(i[0],i[0].replace(/\./g,"")))}return this.optional(t)||!/Invalid|NaN/.test(new Date(n))},n.validator.addMethod("mustequal",function(t,i,r){return(n(i).unbind(".validate-mustequal").bind("blur.validate-mustequal",function(){n(i).valid()}),t&&r.ignorecase&&r.data&&r.ignorecase.toLowerCase()=="true")?t.toLowerCase()==r.data.toLowerCase():t==r.data}),n.validator.unobtrusive.adapters.add("mustequal",["data","ignorecase"],function(n){n.rules.mustequal={data:n.params.data};n.messages.mustequal=n.message}))}(jQuery);window.paceOptions={document:!0,eventLag:!0,restartOnPushState:!0,restartOnRequestAfter:!0,ajax:{trackMethods:["POST","GET"],ignoreURLs:["my2.siteimprove.com"]}};
/*! pace 1.0.2 */
(function(){var nt,ct,lt,at,vt,yt,pt,wt,a,n,bt,kt,tt,dt,gt,o,ni,r,v,y,it,s,p,ti,rt,ut,f,ii,u,t,w,ft,ri,h,et,b,i,e,ot,c,k,st,d,g,ui,fi,ht,hi,ei,l=[].slice,oi={}.hasOwnProperty,si=function(n,t){function r(){this.constructor=n}for(var i in t)oi.call(t,i)&&(n[i]=t[i]);return r.prototype=t.prototype,n.prototype=new r,n.__super__=t.prototype,n},ci=[].indexOf||function(n){for(var t=0,i=this.length;i>t;t++)if(t in this&&this[t]===n)return t;return-1};for(it={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},u=function(){var n;return null!=(n="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?n:+new Date},w=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,y=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==w&&(w=function(n){return setTimeout(n,50)},y=function(n){return clearTimeout(n)}),ri=function(n){var t,i;return t=u(),(i=function(){var r;return r=u()-t,r>=33?(t=u(),n(r,function(){return w(i)})):setTimeout(i,33-r)})()},ft=function(){var i,t,n;return n=arguments[0],t=arguments[1],i=3<=arguments.length?l.call(arguments,2):[],"function"==typeof n[t]?n[t].apply(n,i):n[t]},s=function(){var n,t,r,f,i,u,e;for(t=arguments[0],f=2<=arguments.length?l.call(arguments,1):[],u=0,e=f.length;e>u;u++)if(r=f[u])for(n in r)oi.call(r,n)&&(i=r[n],null!=t[n]&&"object"==typeof t[n]&&null!=i&&"object"==typeof i?s(t[n],i):t[n]=i);return t},ni=function(n){var i,r,u,t,f;for(r=i=0,t=0,f=n.length;f>t;t++)u=n[t],r+=Math.abs(u),i++;return r/i},ti=function(n,t){var i,r,u;if(null==n&&(n="options"),null==t&&(t=!0),u=document.querySelector("[data-pace-"+n+"]")){if(i=u.getAttribute("data-pace-"+n),!t)return i;try{return JSON.parse(i)}catch(f){return r=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",r):void 0}}},pt=function(){function n(){}return n.prototype.on=function(n,t,i,r){var u;return null==r&&(r=!1),null==this.bindings&&(this.bindings={}),null==(u=this.bindings)[n]&&(u[n]=[]),this.bindings[n].push({handler:t,ctx:i,once:r})},n.prototype.once=function(n,t,i){return this.on(n,t,i,!0)},n.prototype.off=function(n,t){var i,u,r;if(null!=(null!=(u=this.bindings)?u[n]:void 0)){if(null==t)return delete this.bindings[n];for(i=0,r=[];i<this.bindings[n].length;)r.push(this.bindings[n][i].handler===t?this.bindings[n].splice(i,1):i++);return r}},n.prototype.trigger=function(){var f,r,n,e,t,o,s,i,u;if(n=arguments[0],f=2<=arguments.length?l.call(arguments,1):[],null!=(s=this.bindings)?s[n]:void 0){for(t=0,u=[];t<this.bindings[n].length;)i=this.bindings[n][t],e=i.handler,r=i.ctx,o=i.once,e.apply(null!=r?r:this,f),u.push(o?this.bindings[n].splice(t,1):t++);return u}},n}(),n=window.Pace||{},window.Pace=n,s(n,pt.prototype),t=n.options=s({},it,window.paceOptions,ti()),ht=["ajax","document","eventLag","elements"],d=0,ui=ht.length;ui>d;d++)i=ht[d],t[i]===!0&&(t[i]=it[i]);a=function(n){function t(){return hi=t.__super__.constructor.apply(this,arguments)}return si(t,n),t}(Error);ct=function(){function n(){this.progress=0}return n.prototype.getElement=function(){var n;if(null==this.el){if(n=document.querySelector(t.target),!n)throw new a;this.el=document.createElement("div");this.el.className="pace pace-active";document.body.className=document.body.className.replace(/pace-done/g,"");document.body.className+=" pace-running";this.el.innerHTML='<div class="pace-progress">\n  <div class="pace-progress-inner"><\/div>\n<\/div>\n<div class="pace-activity"><\/div>';null!=n.firstChild?n.insertBefore(this.el,n.firstChild):n.appendChild(this.el)}return this.el},n.prototype.finish=function(){var n;return n=this.getElement(),n.className=n.className.replace("pace-active",""),n.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},n.prototype.update=function(n){return this.progress=n,this.render()},n.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(n){a=n}return this.el=void 0},n.prototype.render=function(){var n,f,i,e,r,o,u;if(null==document.querySelector(t.target))return!1;for(n=this.getElement(),e="translate3d("+this.progress+"%, 0, 0)",u=["webkitTransform","msTransform","transform"],r=0,o=u.length;o>r;r++)f=u[r],n.children[0].style[f]=e;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(n.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?i="99":(i=this.progress<10?"0":"",i+=0|this.progress),n.children[0].setAttribute("data-progress",""+i)),this.lastRenderedProgress=this.progress},n.prototype.done=function(){return this.progress>=100},n}();wt=function(){function n(){this.bindings={}}return n.prototype.trigger=function(n,t){var f,i,e,r,u;if(null!=this.bindings[n]){for(r=this.bindings[n],u=[],i=0,e=r.length;e>i;i++)f=r[i],u.push(f.call(this,t));return u}},n.prototype.on=function(n,t){var i;return null==(i=this.bindings)[n]&&(i[n]=[]),this.bindings[n].push(t)},n}();st=window.XMLHttpRequest;k=window.XDomainRequest;c=window.WebSocket;p=function(n,t){var u,i,r=[];for(i in t.prototype)try{r.push(null==n[i]&&"function"!=typeof t[i]?"function"==typeof Object.defineProperty?Object.defineProperty(n,i,{get:function(){return t.prototype[i]},configurable:!0,enumerable:!0}):n[i]=t.prototype[i]:void 0)}catch(f){u=f}return r};f=[];n.ignore=function(){var n,t,i;return t=arguments[0],n=2<=arguments.length?l.call(arguments,1):[],f.unshift("ignore"),i=t.apply(null,n),f.shift(),i};n.track=function(){var n,t,i;return t=arguments[0],n=2<=arguments.length?l.call(arguments,1):[],f.unshift("track"),i=t.apply(null,n),f.shift(),i};b=function(n){var i;return(null==n&&(n="GET"),"track"===f[0])?"force":!f.length&&t.ajax&&("socket"===n&&t.ajax.trackWebSockets||(i=n.toUpperCase(),ci.call(t.ajax.trackMethods,i)>=0))?!0:!1};bt=function(n){function i(){var n,r=this;i.__super__.constructor.apply(this,arguments);n=function(n){var t;return t=n.open,n.open=function(i,u){return b(i)&&r.trigger("request",{type:i,url:u,request:n}),t.apply(n,arguments)}};window.XMLHttpRequest=function(t){var i;return i=new st(t),n(i),i};try{p(window.XMLHttpRequest,st)}catch(u){}if(null!=k){window.XDomainRequest=function(){var t;return t=new k,n(t),t};try{p(window.XDomainRequest,k)}catch(u){}}if(null!=c&&t.ajax.trackWebSockets){window.WebSocket=function(n,t){var i;return i=null!=t?new c(n,t):new c(n),b("socket")&&r.trigger("request",{type:"socket",url:n,protocols:t,request:i}),i};try{p(window.WebSocket,c)}catch(u){}}}return si(i,n),i}(wt);g=null;rt=function(){return null==g&&(g=new bt),g};et=function(n){var i,r,f,u;for(u=t.ajax.ignoreURLs,r=0,f=u.length;f>r;r++)if(i=u[r],"string"==typeof i){if(-1!==n.indexOf(i))return!0}else if(i.test(n))return!0;return!1};rt().on("request",function(r){var u,o,f,e,s;return e=r.type,f=r.request,s=r.url,et(s)?void 0:n.running||t.restartOnRequestAfter===!1&&"force"!==b(e)?void 0:(o=arguments,u=t.restartOnRequestAfter||0,"boolean"==typeof u&&(u=0),setTimeout(function(){var c,t,s,h,r,u;if(c="socket"===e?f.readyState<2:0<(h=f.readyState)&&4>h){for(n.restart(),r=n.sources,u=[],t=0,s=r.length;s>t;t++){if(i=r[t],i instanceof nt){i.watch.apply(i,o);break}u.push(void 0)}return u}},u))});nt=function(){function n(){var n=this;this.elements=[];rt().on("request",function(){return n.watch.apply(n,arguments)})}return n.prototype.watch=function(n){var t,i,r,u;return r=n.type,t=n.request,u=n.url,et(u)?void 0:(i="socket"===r?new dt(t):new gt(t),this.elements.push(i))},n}();gt=function(){function n(n){var f,o,i,e,r,u,t=this;if(this.progress=0,null!=window.ProgressEvent)for(o=null,n.addEventListener("progress",function(n){return t.progress=n.lengthComputable?100*n.loaded/n.total:t.progress+(100-t.progress)/2},!1),u=["load","abort","timeout","error"],i=0,e=u.length;e>i;i++)f=u[i],n.addEventListener(f,function(){return t.progress=100},!1);else r=n.onreadystatechange,n.onreadystatechange=function(){var i;return 0===(i=n.readyState)||4===i?t.progress=100:3===n.readyState&&(t.progress=50),"function"==typeof r?r.apply(null,arguments):void 0}}return n}();dt=function(){function n(n){var r,t,u,i,f=this;for(this.progress=0,i=["error","open"],t=0,u=i.length;u>t;t++)r=i[t],n.addEventListener(r,function(){return f.progress=100},!1)}return n}();at=function(){function n(n){var r,t,u,i;for(null==n&&(n={}),this.elements=[],null==n.selectors&&(n.selectors=[]),i=n.selectors,t=0,u=i.length;u>t;t++)r=i[t],this.elements.push(new vt(r))}return n}();vt=function(){function n(n){this.selector=n;this.progress=0;this.check()}return n.prototype.check=function(){var n=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return n.check()},t.elements.checkInterval)},n.prototype.done=function(){return this.progress=100},n}();lt=function(){function n(){var n,i,t=this;this.progress=null!=(i=this.states[document.readyState])?i:100;n=document.onreadystatechange;document.onreadystatechange=function(){return null!=t.states[document.readyState]&&(t.progress=t.states[document.readyState]),"function"==typeof n?n.apply(null,arguments):void 0}}return n.prototype.states={loading:0,interactive:50,complete:100},n}();yt=function(){function n(){var i,f,r,e,n,o=this;this.progress=0;i=0;n=[];e=0;r=u();f=setInterval(function(){var s;return s=u()-r-50,r=u(),n.push(s),n.length>t.eventLag.sampleCount&&n.shift(),i=ni(n),++e>=t.eventLag.minSamples&&i<t.eventLag.lagThreshold?(o.progress=100,clearInterval(f)):o.progress=300/(i+3)},50)}return n}();tt=function(){function n(n){this.source=n;this.last=this.sinceLastUpdate=0;this.rate=t.initialRate;this.catchup=0;this.progress=this.lastProgress=0;null!=this.source&&(this.progress=ft(this.source,"progress"))}return n.prototype.tick=function(n,i){var r;return null==i&&(i=ft(this.source,"progress")),i>=100&&(this.done=!0),i===this.last?this.sinceLastUpdate+=n:(this.sinceLastUpdate&&(this.rate=(i-this.last)/this.sinceLastUpdate),this.catchup=(i-this.progress)/t.catchupTime,this.sinceLastUpdate=0,this.last=i),i>this.progress&&(this.progress+=this.catchup*n),r=1-Math.pow(this.progress/100,t.easeFactor),this.progress+=r*this.rate*n,this.progress=Math.min(this.lastProgress+t.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},n}();e=null;h=null;r=null;ot=null;o=null;v=null;n.running=!1;ut=function(){if(t.restartOnPushState)return n.restart()};null!=window.history.pushState&&(fi=window.history.pushState,window.history.pushState=function(){return ut(),fi.apply(window.history,arguments)});null!=window.history.replaceState&&(ei=window.history.replaceState,window.history.replaceState=function(){return ut(),ei.apply(window.history,arguments)});kt={ajax:nt,elements:at,document:lt,eventLag:yt};(ii=function(){var u,f,o,l,a,s,v,c;for(n.sources=e=[],s=["ajax","elements","document","eventLag"],f=0,l=s.length;l>f;f++)u=s[f],t[u]!==!1&&e.push(new kt[u](t[u]));for(c=null!=(v=t.extraSources)?v:[],o=0,a=c.length;a>o;o++)i=c[o],e.push(new i(t));return n.bar=r=new ct,h=[],ot=new tt})();n.stop=function(){return n.trigger("stop"),n.running=!1,r.destroy(),v=!0,null!=o&&("function"==typeof y&&y(o),o=null),ii()};n.restart=function(){return n.trigger("restart"),n.stop(),n.start()};n.go=function(){var f;return n.running=!0,r.render(),f=u(),v=!1,o=ri(function(o,s){var nt,p,w,it,b,c,l,et,a,y,k,d,g,rt,ut,ft;for(et=100-r.progress,p=k=0,w=!0,c=d=0,rt=e.length;rt>d;c=++d)for(i=e[c],y=null!=h[c]?h[c]:h[c]=[],b=null!=(ft=i.elements)?ft:[i],l=g=0,ut=b.length;ut>g;l=++g)it=b[l],a=null!=y[l]?y[l]:y[l]=new tt(it),w&=a.done,a.done||(p++,k+=a.tick(o));return nt=k/p,r.update(ot.tick(o,nt)),r.done()||w||v?(r.update(100),n.trigger("done"),setTimeout(function(){return r.finish(),n.running=!1,n.trigger("hide")},Math.max(t.ghostTime,Math.max(t.minTime-(u()-f),0)))):s()})};n.start=function(i){s(t,i);n.running=!0;try{r.render()}catch(u){a=u}return document.querySelector(".pace")?(n.trigger("start"),n.go()):setTimeout(n.start,50)};"function"==typeof define&&define.amd?define(["pace"],function(){return n}):"object"==typeof exports?module.exports=n:t.startOnPageLoad&&n.start()}).call(this),function(n){function r(t,i){n(t).is("form")&&(this._options=n.extend(this._options,i),this._target=n(t),this._init())}function t(t,i){n(t).is("form")&&(this._options=n.extend(this._options,i),this._target=n(t),this._init())}r.prototype={_options:{uploadUrl:"/AsyncUpload.axd",progressUrl:"/UploadProgress.axd",cancelUrl:"/UploadProgress.axd?cancel=true",fileSelector:"input[type='file']",identifierAttr:"uploadid",asyncSubmitFormCss:"async_submit_form",uploadFileHiddenInputSuffix:"_upload_hidden",getProgressInterval:500,uploadAllFilesOneTime:!1,popupProgressBarInTopWindow:!1,redirectIframeID:null,redirectIframeDialogOptions:{},autoSubmitAfterSelected:!1,allowAlwaysUpload:!1},_target:null,_dialog:null,_dialogContent:null,_dialogShown:!1,_cancel:!1,_init:function(){var t=this,i;t._cancel=!1;t._options.uploadUrl.indexOf("?")<0&&(t._options.uploadUrl=t._options.uploadUrl+"?1=1");t._dialogContent==null&&(t._dialogContent=t._prepareProgressDialog());t._options.autoSubmitAfterSelected&&(i=t.ie(),i==!1||i>=9?t._target.delegate("input[type='file']","change",function(){t._target.submit()}):t._target.find("input[type='file']").change(function(){t._target.submit()}));t._target.submit(function(){var i;if(t._options.allowAlwaysUpload&&n(this).data("file_uploaded",!1),n(this).data("file_uploaded")==!0)return!0;if(t._prepareToSubmitFileHiddens(),n(this).validate&&!n(this).validate().form())return!1;var s=n(this),f=s.find(t._options.fileSelector),r=!1;if(f.each(function(t,i){r=r||n(i).val()!=""}),!r)return!0;t._cancel=!1;t._clearAll();i=0;f.each(function(r,u){var f=n(u),e=f.attr(t._options.identifierAttr),h;if(f.val()!=""){i++;f.replaceWith(f.clone());var o=n('<form enctype="multipart/form-data" action="'+t._options.uploadUrl+"&identifier="+e+'" method="post" style="display:none" class="'+t._options.asyncSubmitFormCss+'"><\/form>'),s=f.val(),c=s.lastIndexOf("\\")+1,l=s.substr(c);o.attr({id:e+"_form",target:e+"_iframe",filename:l});o.append(f);h=n('<iframe style="display:none"/>').attr({id:e+"_iframe",name:e+"_iframe"});n("body").append(o).append(h)}});n("form."+t._options.asyncSubmitFormCss).each(function(){var i=n(this).find(t._options.fileSelector),r=i.attr(t._options.identifierAttr);t._updateFileList({UploadID:r,StatusText:Vision.Resources.AsyncUpload_DefaultStatusText,Percent:0,FileName:n(this).attr("filename"),SizeStr:Vision.Resources.AsyncUpload_DefaultSizeStr,IsValid:!0})});var u=[],e=function(r){var h=n(r).find(t._options.fileSelector),e=h.attr(t._options.identifierAttr),s,f;t._updateFileList({UploadID:e,StatusText:Vision.Resources.AsyncUpload_DefaultStatusText,Percent:0,FileName:n(r).attr("filename"),SizeStr:Vision.Resources.AsyncUpload_DefaultSizeStr,IsValid:!0});r.submit();s=0;f=setInterval(function(){if(t._cancel==!0){clearInterval(f);t._clearAll();return}n.ajax(t._options.progressUrl+"?t="+s++,{data:{id:e},success:function(e){e!=!1&&(t._updateFileList(e),e.Status>=3&&(n.inArray(e.UploadID,u)<0&&u.push(e.UploadID),u.length>=i&&setTimeout(function(){t._dialog.close(!0)},2e3),clearInterval(f),n(r).remove(),n("iframe[name='"+n(r).attr("target")+"']").remove(),t._options.uploadAllFilesOneTime||o()))},type:"get",dataType:"json"})},t._options.getProgressInterval)},o=function(){if(n("form."+t._options.asyncSubmitFormCss).length>0){var i=n("form."+t._options.asyncSubmitFormCss)[0];e(i)}};return t._options.uploadAllFilesOneTime?n("form."+t._options.asyncSubmitFormCss).each(function(){e(this)}):o(),i>0?!1:void 0})},_prepareProgressDialog:function(){var u=this,t,i,r;return u._options.popupProgressBarInTopWindow==!0&&(n=(window.top||window).$),t=n("<div class='progress_container' style='display:none'><\/div>"),i=n("<div class='progress_div'/>"),t.append(i),r=n('<table class="progress_table"><thead><tr><th class="name_td">'+Vision.Resources.AsyncUpload_ProgressBar_ColumnTitles_Name+'<\/th><th class="size_td">'+Vision.Resources.AsyncUpload_ProgressBar_ColumnTitles_Size+'<\/th><th class="progress_td">'+Vision.Resources.AsyncUpload_ProgressBar_ColumnTitles_Progress+"<\/th><\/tr><\/thead><tbody><\/tbody><\/table>"),i.append(r),t.append('<div class="progress_notice">'+Vision.Resources.AsyncUpload_ProgressBar_Notice+"<\/div>"),t},_prepareToSubmitFileHiddens:function(){var t=this,i=typeof t._options.uploadFileHiddenInputSuffix,r;uploadFileHiddenInputSuffixFunc=i=="string"?function(){return t._options.uploadFileHiddenInputSuffix}:i=="function"?t._options.uploadFileHiddenInputSuffix:function(){return"_upload_hidden"};r=t._target.find(t._options.fileSelector);r.each(function(i,r){var h=uploadFileHiddenInputSuffixFunc(r,i),u=n(r),f,e,o,s;u.siblings(".async_upload_cus_hiddens").remove();f=u.attr("name");e=n("<input class='async_upload_cus_hiddens' type='hidden'/>");e.val(u.attr(t._options.identifierAttr));e.attr("name",f+h);u.after(e);o=n("<input class='async_upload_cus_hiddens' type='hidden'/>");o.attr("name",f+h+".UploadedOriginalNameHidden");o.val(n(u).prev("input.file_input_cus").val());u.after(o);s=n("<input class='async_upload_cus_hiddens' type='hidden'/>");s.attr("name",f+h+".UploadedFileChangedHidden");s.val(n(u).val().length>0?"true":"false");u.after(s)})},_showProgressDialog:function(){var t=this,i,r;t._dialogShown||t._cancel||(i=window,t._options.popupProgressBarInTopWindow==!0&&(i=window.top||window),r=i.$.viClientDialog({id:"progress_dialog",title:Vision.Resources.AsyncUpload_ProgressBar_Titles_Uploading,actions:[],html:t._dialogContent,useFrame:!1,onClosed:function(r){var f=t._target.find(t._options.fileSelector),u,e,o;f.each(function(i,r){var u=n("<input type='file'/>");u.attr({name:n(r).attr("name"),style:n(r).attr("style"),"class":n(r).attr("class"),multiple:n(r).attr("multiple"),accept:n(r).attr("accept")}).attr(t._options.identifierAttr,n(r).attr(t._options.identifierAttr));n(r).hide();n(r).parent().append(u);t._cancel&&n.ajax(t._options.cancelUrl,{data:{id:n(r).attr(t._options.identifierAttr)},success:function(){},type:"get"})});f.each(function(t,i){n(i).remove()});t._dialogShown=!1;u=typeof r!="undefined"&&r==!0;u?(t._target.find(t._options.fileSelector).each(function(){n(this).rules&&n(this).rules("remove")}),t._options.redirectIframeID?(e=n.extend({},t._options.redirectIframeDialogOptions,{id:t._options.redirectIframeID,html:t._dialogContent,useFrame:!0,redirectFrame:!0}),o=i.$.viClientDialog(e),setTimeout(function(){t._target.data("file_uploaded",!0);t._target.submit()},200),o.open()):(t._target.data("file_uploaded",!0),t._target.submit())):(t._cancel=!u,t._clearAll())}}),t._dialogContent.show(),r.open(),t._dialog=r,t._dialogShown=!0)},_clearAll:function(){var t=this;n("form."+t._options.asyncSubmitFormCss).each(function(i,r){var u=n(this).find(t._options.fileSelector).attr(t._options.identifierAttr);n(r).remove();n("iframe[name='"+n(r).attr("target")+"']").remove()});t._dialogContent.find("div.progress_div table tbody").html("")},_createProgressBar:function(t){var i="progress",u=t.status||"";u=="Error"&&(i="invalid_file");var f=t.pecentage||0,s=t.width||100,r=Math.round(f*100,4)/100+"%",e=n("<span/>").addClass(i).width(r).text(r),o=n("<div/>").addClass("progress_total");return n(o).append(e)},_updateFileList:function(t){var e,u,h,i,f;if(typeof t!="undefined"&&t.UploadID!=null){e=this;e._showProgressDialog();var o=e._dialogContent.find(".progress_table tbody"),v=t.StatusText,y=t.Percent==NaN?0:t.Percent,c=e._createProgressBar({pecentage:y,status:v}),r=o.find("td[uploadid='"+t.UploadID+"']");if(r.length<=0){if(r=n("<td uploadid='"+t.UploadID+"'/>"),r.addClass("progress_td"),t.IsValid)r.append(n(c));else{i=t.Message;i||(i=t.StatusText);var l=i.length>18?i.substr(0,15)+"...":i,a=n("<span class='invalid_file'/>").html(l).attr("title",t.Message),s=n("<div class='progress_total'/>");s.append(a);r.append(s)}u=t.FileName;h=u;u.length>20&&(h=u.substr(0,3)+"..."+u.substr(u.length-14,14));var p=n("<span title='"+u+"'/>").html(h),w=n("<td/>").append(p).addClass("name_td"),b=n("<td/>").append(t.SizeStr).addClass("size_td"),f=n("<tr uploadid='"+t.UploadID+"'/>").append(w).append(b).append(r).addClass("show-tooltip");o.append(f)}else if(t.IsValid)r.find("div.progress_total").replaceWith(c),f=n(o).find("tr[uploadid='"+t.UploadID+"']"),f.find("td.size_td").html(t.SizeStr);else{i=t.Message;i||(i=t.StatusText);var l=i.length>18?i.substr(0,15)+"...":i,a=n("<span class='invalid_file'/>").html(l).attr("title",t.Message),s=n("<div class='progress_total'/>");s.append(a);r.html(s);f=n(o).find("tr[uploadid='"+t.UploadID+"']");f.find("td.size_td").html(t.SizeStr)}}},ie:function(){var n=navigator.userAgent.toLowerCase();return n.indexOf("msie")!=-1?parseInt(n.split("msie")[1]):!1}};t.isSupport=function(){try{var t=window.FormData&&"upload"in n.ajaxSettings.xhr()&&window.File&&window.FileList&&window.FileReader;return t!=null&&t!=!1}catch(i){return!1}};t.prototype={_options:{uploadUrl:"/AsyncUpload.axd",progressUrl:"/UploadProgress.axd",cancelUrl:"/UploadProgress.axd?cancel=true",fileSelector:"input[type='file']",identifierAttr:"uploadid",asyncSubmitFormCss:"async_submit_form",uploadFileHiddenInputSuffix:"_upload_hidden",getProgressInterval:500,uploadAllFilesOneTime:!1,popupProgressBarInTopWindow:!1,redirectIframeDialogOptions:{},redirectIframeID:null,autoSubmitAfterSelected:!1,allowAlwaysUpload:!1,checkMaxMultipleUploadImageCount:null,useDataInsteadProp:!1,allowAlertWhenError:!1,checkFileNameFullPathLength:null,checkAcceptFileExtensions:null,maxConcurrentPosts:4},_target:null,_dialog:null,_dialogContent:null,_dialogShown:!1,_cancel:!1,_filesInfo:{files:[],InvalidFileIDs:[],TotalInvalidFilesSelected:0,TotalUploadedFiles:0,TotalValidFilesSelected:0,BytesTotalLength:0,BytesUploadedLength:0},_init:function(){var t=this,i;t._cancel=!1;t._options.uploadUrl.indexOf("?")<0&&(t._options.uploadUrl=t._options.uploadUrl+"?1=1");t._dialogContent==null&&(t._dialogContent=t._prepareProgressDialog());i=function(){n.isIEBrowser()?t._target.find("input[type='file']").replaceWith(t._target.find("input[type='file']").clone(!0)):t._target.find("input[type='file']").val("")};t._options.autoSubmitAfterSelected&&t._target.delegate("input[type='file']","change",function(){if(t._options.checkMaxMultipleUploadImageCount){var r=n(this)[0].files;if(r&&r.length>t._options.checkMaxMultipleUploadImageCount.maxMultipleCount)return t._options.allowAlertWhenError?alert(t._options.checkMaxMultipleUploadImageCount.errorMessage):t._showErrorMessage({uploadedFile:t._options.checkMaxMultipleUploadImageCount.errorMessage}),i(),!1}t._target.submit()});t._target.submit(function(){var r,s,h,c;if(t._filesInfo={files:[],InvalidFileIDs:[],TotalInvalidFilesSelected:0,TotalUploadedFiles:0,TotalValidFilesSelected:0,BytesTotalLength:0,BytesUploadedLength:0},t._options.allowAlwaysUpload&&n(this).data("file_uploaded",!1),n(this).data("file_uploaded")==!0)return!0;if(n(this).validate&&!n(this).validate().form())return t._options.allowAlertWhenError?n(this).validate().errorList.length>0&&alert(n(this).validate().errorList[0].message):t._showErrorMessage({uploadedFile:n(this).validate().errorList[0].message}),i(),!1;var y=n(this),e=y.find(t._options.fileSelector),o=t._options.useDataInsteadProp||!1;if(e.each(function(t,i){o=o||n(i).val()!=""}),!o)return!0;if(r=[],t._options.useDataInsteadProp?n(e).each(function(i,u){var f=n(u).attr(t._options.identifierAttr),e=n(u).data("files")||[];n(e).each(function(n,t){t.__identifier=f+"_"+n;t.__fileInput=u;t.__fileInputID=f;r.push(t)})}):n(e).each(function(i,u){var f=n(u).attr(t._options.identifierAttr);n(u.files).each(function(n,t){t.__identifier=f+"_"+n;t.__fileInput=u;t.__fileInputID=f;r.push(t)})}),t._options.checkMaxMultipleUploadImageCount&&r.length>t._options.checkMaxMultipleUploadImageCount.maxMultipleCount)return t._options.allowAlertWhenError?alert(t._options.checkMaxMultipleUploadImageCount.errorMessage):t._showErrorMessage({uploadedFile:t._options.checkMaxMultipleUploadImageCount.errorMessage}),i(),!1;if(t._filesInfo._files=r,t._filesInfo.TotalValidFilesSelected=r.length,t._prepareToSubmitFileHiddens(r),t._cancel=!1,t._clearAll(),s=r.length,h=!0,t._options.checkFileNameFullPathLength&&n(r).each(function(n,i){var r=t._options.checkFileNameFullPathLength.maxLength+10+33+i.name.length;r>=260&&(h=!1)}),!h)return t._options.allowAlertWhenError?alert(t._options.checkFileNameFullPathLength.errorMessage):t._showErrorMessage({uploadedFile:t._options.checkFileNameFullPathLength.errorMessage}),i(),!1;if(c=!0,t._options.checkAcceptFileExtensions&&n(r).each(function(i,r){var u=n.getFileExtension(r.name),f=t._options.checkAcceptFileExtensions.acceptFileExtensions.indexOf(u+",")<0&&!t._options.checkAcceptFileExtensions.acceptFileExtensions.endsWith(u);f&&(c=!1)}),!c)return t._options.allowAlertWhenError?alert(t._options.checkAcceptFileExtensions.errorMessage):t._showErrorMessage({uploadedFile:t._options.checkAcceptFileExtensions.errorMessage}),i(),!1;var l=[],a=t._options.maxConcurrentPosts?t._options.maxConcurrentPosts:r.length,f=[],u=[],p=function(n){for(var t=0,i=r.length;t<i;t++)if(r[t].__identifier===n)return r[t];return null},w=function(t){f.splice(n.inArray(t.__identifier,f),1);v()},b=function(t){u.splice(n.inArray(t.__identifier,u),1);f.push(t.__identifier);k(t)},v=function(){var t,i,n,r,e;if(f.length<a)for(t=a-f.length,i=t>=u.length?u.length:t,n=0;n<i;n++)try{r=u[n];e=p(r);b(e);n--;i--}catch(o){}},k=function(i){var u=new XMLHttpRequest,f,o,e;u.upload.addEventListener("progress",function(){},!1);u.onreadystatechange=function(){};u.open("POST",t._options.uploadUrl+"&identifier="+i.__identifier,!0);f=new FormData;f.append(i.__identifier,i);u.send(f);o=0;e=setInterval(function(){if(t._cancel==!0){clearInterval(e);t._clearAll();return}n.ajax(t._options.progressUrl+"?t="+o++,{data:{id:i.__identifier},success:function(u){if(u!=!1){i.__uploadedLength=u.UploadedLength>i.size?i.size:u.UploadedLength;var f=0;n(r).each(function(){f+=this.__uploadedLength||0});t._filesInfo.BytesUploadedLength=f;u.Status>3&&t._filesInfo.InvalidFileIDs.indexOf(u.UploadID)==-1&&(t._filesInfo.InvalidFileIDs.push(u.UploadID),t._filesInfo.TotalInvalidFilesSelected++);u.Status>=3&&(n.inArray(u.UploadID,l)<0&&(l.push(u.UploadID),u.Status==3&&(t._filesInfo.TotalUploadedFiles++,u.Percent=100)),l.length>=s&&setTimeout(function(){t._dialog.close(!0)},2e3),clearInterval(e),w(i));t._updateFileList(u)}},type:"get",dataType:"json"})},t._options.getProgressInterval)};return n(r).each(function(){var n=this;t._filesInfo.BytesTotalLength+=n.size;u.push(n.__identifier);t._updateFileList({UploadID:n.__identifier,StatusText:Vision.Resources.AsyncUpload_DefaultStatusText,Percent:0,FileName:n.name,SizeStr:Vision.Resources.AsyncUpload_DefaultSizeStr,IsValid:!0})}),v(),s>0?!1:void 0})},_prepareProgressDialog:function(){var u=this,t,i,r;return u._options.popupProgressBarInTopWindow==!0&&(n=(window.top||window).$),t=n("<div class='progress_container' style='display:none'><\/div>"),i=n("<div class='progress_div'/>"),t.append(i),r=n('<table class="progress_table"><thead><tr><th class="name_td">'+Vision.Resources.AsyncUpload_ProgressBar_ColumnTitles_Name+'<\/th><th class="size_td">'+Vision.Resources.AsyncUpload_ProgressBar_ColumnTitles_Size+'<\/th><th class="progress_td">'+Vision.Resources.AsyncUpload_ProgressBar_ColumnTitles_Progress+"<\/th><\/tr><\/thead><tbody><\/tbody><\/table>"),i.append(r),t.append('<div class="progress_total_info"><span id="TotalInvalidSelectedCount" class="invalid">0 invalid files<\/span><br /><span id="TotalUploadedSize">0 KB<\/span>&nbsp;/&nbsp;<span id="TotalSelectedSize">0 KB<\/span><br /><span id="TotalUploadedCount">0 files uploaded<\/span>&nbsp;/&nbsp;<span id="TotalValidSelectedCount">0 valid files<\/span><br /><div id="TotalPercentage"><\/div><\/div>'),t.append('<div class="progress_notice">'+Vision.Resources.AsyncUpload_ProgressBar_Notice+"<\/div>"),t},_prepareToSubmitFileHiddens:function(t){var r=this,f=null,e=typeof r._options.uploadFileHiddenInputSuffix,u;f=e=="string"?function(){return r._options.uploadFileHiddenInputSuffix}:e=="function"?r._options.uploadFileHiddenInputSuffix:function(){return"_succeeds["+i+"]._hidden"};u=[];n(t).each(function(t,i){var c=f(i.__fileInput,t),r=n(i.__fileInput),e,o,s,h;u.indexOf(i.__fileInputID)<0&&(r.siblings(".async_upload_cus_hiddens").remove(),u.push(i.__fileInputID));e=r.attr("name");o=n("<input class='async_upload_cus_hiddens' type='hidden'/>");o.val(i.__identifier);o.attr("name",e+c);r.after(o);s=n("<input class='async_upload_cus_hiddens' type='hidden'/>");s.attr("name",e+c+".UploadedOriginalNameHidden");s.val(i.name);r.after(s);h=n("<input class='async_upload_cus_hiddens' type='hidden'/>");h.attr("name",e+c+".UploadedFileChangedHidden");h.val(n(r).val().length>0?"true":"false");r.after(h)})},_showProgressDialog:function(){var t=this,i,r;t._dialogShown||t._cancel||(i=window,t._options.popupProgressBarInTopWindow==!0&&(i=window.top||window),r=i.$.viClientDialog({id:"progress_dialog",title:Vision.Resources.AsyncUpload_ProgressBar_Titles_Uploading,actions:[],html:t._dialogContent,useFrame:!1,onClosed:function(r){var f=t._target.find(t._options.fileSelector),u,e,o;f.each(function(i,r){var u=n("<input type='file'/>");u.attr({name:n(r).attr("name"),style:n(r).attr("style"),"class":n(r).attr("class"),multiple:n(r).attr("multiple"),accept:n(r).attr("accept")}).attr(t._options.identifierAttr,n(r).attr(t._options.identifierAttr));n(r).hide();n(r).parent().append(u);t._cancel&&n.ajax(t._options.cancelUrl,{data:{id:n(r).attr(t._options.identifierAttr)},success:function(){},type:"get"})});f.each(function(t,i){n(i).remove()});t._dialogShown=!1;u=typeof r!="undefined"&&r==!0;u?(t._target.find(t._options.fileSelector).each(function(){n(this).rules&&n(this).rules("remove")}),t._options.redirectIframeID?(e=n.extend({},t._options.redirectIframeDialogOptions,{id:t._options.redirectIframeID,html:t._dialogContent,useFrame:!0,redirectFrame:!0}),o=i.$.viClientDialog(e),setTimeout(function(){t._target.data("file_uploaded",!0);t._target.submit()},200),o.open()):(t._target.data("file_uploaded",!0),t._target.submit())):(t._cancel=!u,t._clearAll())}}),t._dialogContent.show(),r.open(),t._dialog=r,t._dialogShown=!0)},_clearAll:function(){var n=this;n._dialogContent.find("div.progress_div table tbody").html("")},_createProgressBar:function(t){var r="progress",f=t.status||"",i;f=="Error"&&(r="invalid_file");i=t.pecentage||0;i=i>100?100:i;var s=t.width||100,u=Math.round(i*100,4)/100+"%",e=n("<span/>").addClass(r).width(u).text(u),o=n("<div/>").addClass("progress_total");return n(o).append(e)},_updateFileList:function(t){var i,f,h,r,e;if(typeof t!="undefined"&&t.UploadID!=null){i=this;i._showProgressDialog();var o=i._dialogContent.find(".progress_table tbody"),v=t.StatusText,y=t.Percent==NaN?0:t.Percent,c=i._createProgressBar({pecentage:y,status:v}),u=o.find("td[uploadid='"+t.UploadID+"']");if(u.length<=0){if(u=n("<td uploadid='"+t.UploadID+"'/>"),u.addClass("progress_td"),t.IsValid)u.append(n(c));else{r=t.Message;r||(r=t.StatusText);var l=r.length>18?r.substr(0,15)+"...":r,a=n("<span class='invalid_file'/>").html(l).attr("title",t.Message),s=n("<div class='progress_total'/>");s.append(a);u.append(s)}f=t.FileName;h=f;f.length>20&&(h=f.substr(0,3)+"..."+f.substr(f.length-14,14));var p=n("<span title='"+f+"'/>").html(h),w=n("<td/>").append(p).addClass("name_td"),b=n("<td/>").append(t.SizeStr).addClass("size_td"),e=n("<tr uploadid='"+t.UploadID+"'/>").append(w).append(b).append(u).addClass("show-tooltip");o.append(e)}else if(t.IsValid)u.find("div.progress_total").replaceWith(c),e=n(o).find("tr[uploadid='"+t.UploadID+"']"),e.find("td.size_td").html(t.SizeStr);else{r=t.Message;r||(r=t.StatusText);var l=r.length>18?r.substr(0,15)+"...":r,a=n("<span class='invalid_file'/>").html(l).attr("title",t.Message),s=n("<div class='progress_total'/>");s.append(a);u.html(s);e=n(o).find("tr[uploadid='"+t.UploadID+"']");e.find("td.size_td").html(t.SizeStr)}n("#TotalInvalidSelectedCount").html(i._filesInfo.TotalInvalidFilesSelected+" invalid "+i.formatFileDesc(i._filesInfo.TotalInvalidFilesSelected));n("#TotalUploadedCount").html(i._filesInfo.TotalUploadedFiles+" "+i.formatFileDesc(i._filesInfo.TotalUploadedFiles)+" uploaded");n("#TotalValidSelectedCount").html(i._filesInfo.TotalValidFilesSelected+" valid "+i.formatFileDesc(i._filesInfo.TotalValidFilesSelected));n("#TotalSelectedSize").html(i.formatFileSizeWithAutoSizeType(i._filesInfo.BytesTotalLength));n("#TotalUploadedSize").html(i.formatFileSizeWithAutoSizeType(i._filesInfo.BytesUploadedLength))}},_showErrorMessage:function(t){var e=this,f=e._target,r=f.validate(),u,i;r&&(r.showErrors(t),u=f.find("[data-valmsg-summary=true]"),i=u.find("ul"),i&&i.length&&r.errorList.length&&(i.empty(),u.addClass("validation-summary-errors").removeClass("validation-summary-valid"),n.each(r.errorList,function(){n("<li />").html(this.message).appendTo(i)})))},formatFileDesc:function(n){return n>1||n==0?"files":"file"},formatFileSizeWithAutoSizeType:function(n){var t=1024,i=1048576,r=1073741824;return n<t?n+" B":n<i?Math.round(n*100/t)/100+" KB":n<r?Math.round(n*100/i)/100+" MB":Math.round(n*100/r)/100+" GB"}};n.fn.extend({asyncUpload:function(t){var i=n(this),u=new r(i,t);return i.data("asyncUploadManager",u),i},asyncUploadHtml5:function(i){var u=n(this),f=t.isSupport()?new t(u,i):new r(u,i);return u.data("asyncUploadHtml5Manager",f),u}});n(function(){n("body").delegate("input.file_input_cus","click",function(){n(this).next("input.file_input_ori").click()});n("body").delegate("input.file_input_cus","focus",function(){n(this).blur()});n("body").delegate("input.file_input_ori","change",function(){var t=n(this).val(),i=t.lastIndexOf("\\");i>=0&&(t=t.substring(i+1));n(this).prev("input.file_input_cus").val(t)});n("body").delegate("input.file_input_cusbtn","click",function(){n(this).prev("input.file_input_ori").click();n(this).blur()});n("body").delegate("a.cancel_upload_file","click",function(){var t=n(this).siblings(".file_input_item");t.html(t.html());t.find(".file_input_cus").val("")})})}(jQuery),function(n){function t(n,t){this._init(n,t)}t.prototype={_defaultOptions:{draggableSource:"",draggableOptions:{helper:"clone",tolerance:"pointer",zIndex:100,containment:"document",appendTo:"body"},isDraggableElement:null,draggableDataAttrName:"data-vision-data",onDragChanged:function(n,t,i,r){r()},sortableSource:"",sortableOptions:{cursor:"move",revert:300,scroll:!0,opacity:.8,tolerance:"pointer",placeholder:"placeholder",containment:"document",handle:""},isSortableElement:null,sortableDataAttrName:"data-vision-data",onSortChanged:function(n,t,i,r){r()},getPreSortItemData:function(){}},_target:null,_options:{},_draggableOptions:{},_sortableOptions:{},_sortChanged:!1,_init:function(t,i){var r=this;r._target=n(t);r._options=n.extend(!0,{},r._defaultOptions,i);r._draggableOptions=n.extend(!0,{start:function(n,t){return r.invokeEvent("onDragStart",n,t,r)},drag:function(n,t){return r.invokeEvent("onDragDrag",n,t,r)},stop:function(n,t){return r.invokeEvent("onDragStop",n,t,r)}},r._options.draggableOptions,{connectToSortable:r._options.sortableSource});r._sortableOptions=n.extend(!0,{connectWith:n(r._options.sortableSource),start:function(n,t){return r.invokeEvent("onSortStart",n,t,r)},change:function(n,t){return r.invokeEvent("onSortChange",n,t,r)},update:function(n,t){return r.invokeEvent("onSortUpdate",n,t,r)},stop:function(n,t){return r.invokeEvent("onSortStop",n,t,r)}},r._options.sortableOptions);r._target.data("data-dragDropSort",r);r._prepareSortableHandler();r._initDraggable();r._initSortable()},_prepareSortableHandler:function(){var t=this,i=n(t._options.sortableSource);t._sortableOptions.items&&(i=i.find(t._sortableOptions.items));t._sortableOptions.handle&&(i=i.find(t._sortableOptions.handle));i.css("cursor",t._sortableOptions.cursor)},_initDraggable:function(){var t=this;t._destroyDraggable();n(t._options.draggableSource).draggable(t._draggableOptions)},_initSortable:function(){var t=this;t._destroySortable();n(t._options.sortableSource).sortable(t._sortableOptions)},_destroyDraggable:function(){var i=this,t=n(i._options.draggableSource);t.data("draggable")&&t.draggable("destroy")},_destroySortable:function(){var i=this,t=n(i._options.sortableSource);t.data("sortable")&&t.sortable("destroy")},_disableSortAndDrag:function(t){var i=this,r=t?"disable":"enable";n(i._options.sortableSource).sortable(r);n(i._options.draggableSource).draggable(r);t||i._prepareSortableHandler()},_isSortableElement:function(t){var r=this,i=r._options.isSortableElement;return typeof i!="undefined"&&i!=null&&n.isFunction(i)?i(t):n.inArray(n(t)[0],n(r._options.sortableSource).find(r._sortableOptions.items))>=0},_isDraggableElement:function(t){var r=this,i=r._options.isDraggableElement,u;return typeof i!="undefined"&&i!=null&&n.isFunction(i)?i(t):(u=n(r._options.draggableSource).attr("class").replace("ui-draggable","").replace("ui-draggable-handle",""),n(t).is("."+u))},invokeEvent:function(t,i,r,u){var f=u[t];if(typeof f!="undefined"&&n.isFunction(f))return f(i,r,u)},onDragStart:function(n,t,i){i._options.onDragStart&&i._options.onDragStart(n,t,i)},onDragDrag:function(n,t,i){i._options.onDragDrag&&i._options.onDragDrag(n,t,i)},onDragStop:function(n,t,i){i._options.onDragStop&&i._options.onDragStop(n,t,i)},onSortStart:function(n,t,i){i._sortChanged=!1;i._options.onSortStart&&i._options.onSortStart(n,t,i)},onSortChange:function(n,t,i){i._sortChanged=!0},onSortUpdate:function(){},onSortStop:function(t,i,r){var u,f,e,o;if(r._options.onSortStop&&r._options.onSortStop(t,i,r),u=function(){r._disableSortAndDrag(!1)},f=r._options.getPreSortItemData(i.item),r._isSortableElement(i.item)){if(r._sortChanged){e=n.parseJSON(n(i.item).attr(r._options.sortableDataAttrName));r._options.onSortChanged(f,e,i.item,u);r._disableSortAndDrag(!0)}}else if(r._isDraggableElement(i.item)){o=n.parseJSON(n(i.item).attr(r._options.draggableDataAttrName));r._options.onDragChanged(f,o,i.item,u);r._disableSortAndDrag(!0)}}};n.prototype.extend({dragDropSort:function(i){var r=n(this),u=new t(r,i);return r}})}(jQuery);$(document).ready(function(){var n=null,t=500;$("#dropdownmenu > li").hover(function(){n!=null&&(clearTimeout(n),n=null);var t=$(this),i=$(this).find(">ul");$("#dropdownmenu>li>ul").not(i).css("display","none");$("#dropdownmenu .active").not(t).removeClass("active");i.css("display","block");t.addClass("active")},function(){var i=$(this).find(">ul"),r=$(this);n=setTimeout(function(){i.css("display","none");r.removeClass("active");n=null},t)})});
/*!
 * jQuery resize event - v1.1 - 3/14/2010
 * http://benalman.com/projects/jquery-resize-plugin/
 * 
 * Copyright (c) 2010 "Cowboy" Ben Alman
 * Dual licensed under the MIT and GPL licenses.
 * http://benalman.com/about/license/
 */
(function($,n,t){function c(){s=n[f](function(){i.each(function(){var t=$(this),i=t.width(),r=t.height(),n=$.data(this,u);(i!==n.w||r!==n.h)&&t.trigger(o,[n.w=i,n.h=r])});c()},r[h])}var i=$([]),r=$.resize=$.extend($.resize,{}),s,f="setTimeout",o="resize",u=o+"-special-event",h="delay",e="throttleWindow";r[h]=75;r[e]=!0;$.event.special[o]={setup:function(){if(!r[e]&&this[f])return!1;var n=$(this);i=i.add(n);$.data(this,u,{w:n.width(),h:n.height()});i.length===1&&c()},teardown:function(){if(!r[e]&&this[f])return!1;var n=$(this);i=i.not(n);n.removeData(u);i.length||clearTimeout(s)},add:function(n){function o(n,r,f){var e=$(this),o=$.data(this,u);o?(o.w=r!==t?r:e.width(),o.h=f!==t?f:e.height()):o=$.data(this,u,{w:e.width(),h:e.height()});i.apply(this,arguments)}if(!r[e]&&this[f])return!1;var i;if($.isFunction(n))return i=n,o;i=n.handler;n.handler=o}}})(jQuery,this),function(n){n(function(){var i=document.body,t=i.appendChild(t=document.createElement("div"));n.extend(t.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});n.support.minHeight=t.offsetHeight===100;n.support.selectstart="onselectstart"in t;i.removeChild(t).style.display="none"});n.extend(n.fn,{disableSelection:function(){return this.bind((n.support.selectstart?"selectstart":"mousedown")+".disableSelection",function(n){n.preventDefault()})},hasScrollbar:function(){var t=n(this).get(0);return!1|(t.scrollHeight>t.clientHeight&&n(t).css("overflow")=="auto")}})}(jQuery),function(n,t,i){if(document.compatMode==="BackCompat")throw new Error("viClientDialog: Document types require more than xhtml1.0");var u,o=0,c=n(document.getElementsByTagName("html")[0]),f="viClientDialog"+ +new Date,h=t.VBArray&&!t.XMLHttpRequest,s="createTouch"in document&&!("onmousemove"in document)||/(iPhone|iPad|iPod)/i.test(navigator.userAgent),e=!h&&!s,r=function(n){var t,l,h,c;n=n||{};(typeof n=="string"||n.nodeType===1)&&(n={content:n,fixed:!s});l=r.defaults;h=n.follow=this.nodeType===1&&this||n.follow;for(c in l)n[c]===i&&(n[c]=l[c]);return(n.id=h&&h[f+"follow"]||n.id||f+o,t=r.list[n.id],t)?(h&&t.follow(h),t.zIndex(),t):(e||(n.fixed=!1),r.defaults.zIndex=n.zIndex,o++,r.list[n.id]=u?u.constructor(n):new r.fn.constructor(n))};r.version="1.0.0";r.fn=r.prototype={constructor:function(i){var r,f,o,e;return this.closed=!1,this.config=i,this.dom=r=this.dom||this._getDom(),r.wrap.addClass("v-viClientDialog"),i.skin&&r.wrap.addClass(i.skin),r.wrap.css("position",i.fixed?"fixed":"absolute"),r.content.css("padding",i.padding),i.fixed||r.title.css("cursor","move"),i.actions.length==0?r.close.hide():r.close.show(),this.buildActionIcons(),f=i.width,typeof f=="number"&&(o=r.content.outerWidth()-r.content.width(),f+=o/2),i.isFullScreen&&(e=n(t).height(),r.borderHeight||(r.borderHeight=n(r.wrap).outerHeight()),i.height=e-r.borderHeight,n(r.wrap).height(e-r.borderHeight/2)),this.title(i.title).content(i.html).size(f,i.height).time(i.time),this.center(),this.zIndex(),i.lock&&this.lock(),this._addEvent(),this[i.visible?"open":"hidden"](),u=null,r.wrap.data("viClientDialog")||r.wrap.data("viClientDialog",this),i.url&&!i.useFrame||i.url&&i.useFrame||i.initialize&&i.initialize.call(this),i.resize==!0&&r.content.css("overflow-y","auto"),this},content:function(t){var i,r,f,o,u=this,e=u.dom.content,s=e[0];return this._elemBack&&(this._elemBack(),delete this._elemBack),t&&(n.type(t)=="string"||jQuery&&t instanceof jQuery)&&e.html(t).viCompile(),t&&t.nodeType===1&&(o=t.style.display,i=t.previousSibling,r=t.nextSibling,f=t.parentNode,this._elemBack=function(){i&&i.parentNode?i.parentNode.insertBefore(t,i.nextSibling):r&&r.parentNode?r.parentNode.insertBefore(t,r):f&&f.appendChild(t);t.style.display=o;u._elemBack=null},e.html(""),s.appendChild(t).viCompile(),n(t).show()),u.winResize(),u},title:function(n){var t=this.dom,i=t.outer,r=t.title,u="vi-state-noTitle";return n===!1?(r.hide().html(""),i.addClass(u)):(r.show().html(n),i.removeClass(u)),this},ajaxRequest:function(t,i){var u=this,r=t||{},f=r.method||"GET";n("body").loading(!0,{mask:!0,opacity:.8},!1);n.vision?n.vision().ajax(r.url,{cache:!1,type:f,data:n.extend({_dialogAjax:!0},r.data||{}),success:function(n){u.content(n);r.processContent&&r.processContent(n);i&&i.call(u);r.initialize&&r.initialize.call(u)}}):n.frontendAjax?n.frontendAjax(r.url,{cache:!1,type:f,data:n.extend({_dialogAjax:!0},r.data||{}),success:function(n){u.content(n);r.processContent&&r.processContent(n);i&&i.call(u);r.initialize&&r.initialize.call(u)}}):n.ajax({url:r.url,cache:!1,type:f,data:n.extend({_dialogAjax:!0},r.data||{}),success:function(n){u.content(n);r.processContent&&r.processContent(n);i&&i.call(u);r.initialize&&r.initialize.call(u)}})},position:function(){var n=this.dom,r=this.config,t=n.wrap[0],u=n.window,e=n.document,o=this.config.fixed,s=o?0:e.scrollLeft(),h=o?0:e.scrollTop(),c=u.width(),l=u.height(),a=t.offsetWidth,v=t.offsetHeight,y=(c-a)/2+s,p=(l-v)/2+h,i=t.style;return i.left=Math.max(parseInt(y),s)+"px",r.isFullScreen?i.top=0:r.disableTop===!1&&(i.top=Math.max(parseInt(p),h)+"px"),this._follow&&(this._follow.removeAttribute(f+"follow"),this._follow=null),this},size:function(n,t){var i=this.dom,r=i.main[0].style;return typeof n=="number"&&(n=n+"px"),typeof t=="number"&&(i.content.css("overflow","auto"),i.content.hasScrollbar?i.content.css("overflow-x","hidden"):i.content.css("overflow-x","auto"),t=t+"px"),typeof n!="undefined"&&n&&(r.width=n),typeof t!="undefined"&&t&&(r.height=t),this},follow:function(t){var it=n(t),a=this.config;if(!t||!t.offsetWidth&&!t.offsetHeight)return this.position(this._left,this._top);var r=a.fixed,v=f+"follow",y=this.dom,p=y.window,w=y.document,rt=p.width(),ut=p.height(),b=w.scrollLeft(),k=w.scrollTop(),u=it.offset(),d=t.offsetWidth,ft=t.offsetHeight,e=r?u.left-b:u.left,h=r?u.top-k:u.top,c=this.dom.wrap[0],g=c.style,o=c.offsetWidth,l=c.offsetHeight,i=e-(o-d)/2,s=h+ft,nt=r?0:b,tt=r?0:k;return i=i<nt?e:i+o>rt&&e-o>nt?e-o+d:i,s=s+l>ut+tt&&h-l>tt?h-l:s,g.left=parseInt(i)+"px",g.top=parseInt(s)+"px",this._follow&&this._follow.removeAttribute(v),this._follow=t,t[v]=a.id,this},open:function(){var t=this,i=t.config,r;return t.dom.wrap.css("visibility","hidden"),i.url&&!i.useFrame?t.ajaxRequest(i,function(){n("body").loading(!1,null,!0);t.dom.wrap.css("visibility","visible");t.dom.outer.addClass("vi-state-visible");t._isLock&&t._lockMask.show();i.autoAdjustHeight&&(t.dom.content.bind("resize",function(n){t.adjustHeight();n.stopPropagation()}),t.dom.content.children().bind("resize",function(n){t.adjustHeight();n.stopPropagation()}))}):(i.url||i.redirectFrame)&&i.useFrame?(n("body").loading(!0,{mask:!0,opacity:.8}),r=n("<iframe "+(i.url?'src="'+i.url:"")+'" title="'+i.title+'" frameborder="0" style="border:0;display:block;" name="'+i.id+'" id="'+i.id+'"><\/iframe>').width(i.width).height(i.height),t.content(r),r.iframeLoad(function(){t.dom.wrap.css("visibility","visible");t.dom.outer.addClass("vi-state-visible");t._isLock&&t._lockMask.show();n("body").loading(!1,null,!0)}),t.center(),t.winResize()):(t.dom.wrap.css("visibility","visible"),t.dom.outer.addClass("vi-state-visible"),t._isLock&&t._lockMask.show(),t.winResize(),i.autoAdjustHeight&&t.dom.content.bind("resize",function(n){t.adjustHeight();n.stopPropagation()})),t},hidden:function(){return this.dom.wrap.css("visibility","hidden"),this.dom.outer.removeClass("vi-state-visible"),this._isLock&&this._lockMask.hide(),this},close:function(n){var o;if(this.closed)return this;var t=this.dom,i=t.wrap,h=r.list,s=this.config.beforeunload;if(s&&s.call(this)===!1)return this;if(r.focus===this&&(r.focus=null),this._follow&&this._follow.removeAttribute(f+"follow"),this._elemBack&&this._elemBack(),this.config.onClosed&&this.config.onClosed(n,t),this.time(),this.unlock(),this._removeEvent(),delete h[this.config.id],u)i.remove();else{u=this;t.title.html("");t.content.html("");i[0].className=i[0].style.cssText="";t.outer[0].className="vi-outer";i.css({left:0,top:0,position:e?"fixed":"absolute"});for(o in this)this.hasOwnProperty(o)&&o!=="dom"&&delete this[o];this.hidden()}return this.closed=!0,this},time:function(n){var i=this,t=this._timer;return t&&clearTimeout(t),n&&(this._timer=setTimeout(function(){i.close()},n)),this},zIndex:function(){var t=this.dom,i=r.focus,n=r.defaults.zIndex++,u=this.getMaxzIndexofOtherDialogs();return u>=n&&(n=u),t.wrap.css("zIndex",n),this._lockMask&&this._lockMask.css("zIndex",n-1),i&&i.dom.outer.removeClass("vi-state-focus"),r.focus=this,t.outer.addClass("vi-state-focus"),this},getMaxzIndexofOtherDialogs:function(){var t=0;return n(r.defaults.otherDialogs).each(function(){n(this)[0].style.zIndex>t&&(t=n(this)[0].style.zIndex)}),t},lock:function(){if(this._isLock)return this;var f=this,o=this.config,s=this.dom,u=document.createElement("div"),i=n(u),h=r.defaults.zIndex-1;return this.zIndex(),s.outer.addClass("vi-state-lock"),i.css({zIndex:h,position:"fixed",left:0,top:0,width:"100%",height:"100%",overflow:"hidden"}).addClass("vi-mask"),e||i.css({position:"absolute",width:n(t).width()+"px",height:n(document).height()+"px"}),i.bind("dblclick",function(){o.dblUnlock&&f.close()}),document.body.appendChild(u),this._lockMask=i,this._isLock=!0,this},unlock:function(){return this._isLock?(this._lockMask.unbind(),this._lockMask.hide(),this._lockMask.remove(),this.dom.outer.removeClass("vi-state-lock"),this._isLock=!1,this):this},_getDom:function(){var e=document.body,h=this.config,i;if(!e)throw new Error('viClientDialog: "documents.body" not ready');i=document.createElement("div");i.style.cssText="position:absolute;left:0;top:0";h.visible||(i.style.cssText="visibility: hidden");i.innerHTML=r._templates;e.appendChild(i,e.firstChild);for(var o,f=0,u={},s=i.getElementsByTagName("*"),c=s.length;f<c;f++)o=s[f].className.split("vi-")[1],o&&(u[o]=n(s[f]));return u.window=n(t),u.document=n(document),u.wrap=n(i),h.resize&&u.resize.css("display","inline-block"),u},center:function(){var n=this.config.follow||this._follow;n?this.follow(n):this.position()},winResize:function(){var i=this,r;return i.config.isFullScreen?i.dom.fullscreen?i.setFullScreen("winResize"):(r=n(t).height(),n(i.dom.wrap).height(r-i.dom.borderHeight/2),n(i.dom.main).height(r-i.dom.borderHeight)):(i.adjustHeight(),i.center()),i},adjustHeight:function(){var t=this,i=t.config,n=t.dom,s=n.window,u;if(i&&i.fixed&&i.height==="auto"){if(!i.autoAdjustHeight)return;var f=n.titleBar.outerHeight(!0),r=s.height(),e=n.main.outerHeight(!0)-n.main.height()+2;n.wrap.outerHeight(!0)>r&&t.size(n.main.outerWidth(),r-f-e);u=t.getContentHeight();u>n.main.innerHeight()?t.size(n.main.outerWidth(),Math.min(r-f-e,u)):t.size(n.main.outerWidth(),"auto");var o=n.wrap[0],h=r,c=o.offsetHeight,l=(h-c)/2,a=o.style;a.top=Math.max(parseInt(l),0)+"px"}},getContentHeight:function(t){var i=this,u=i.config,t=t||!0,f=i.dom,r=u.minHeight||0;return f.content.children().each(function(i,u){n(u).is(":visible")&&(r+=n(u).outerHeight(t))}),r},buildActionIcons:function(){var r=this,f=r.config,i=r.dom,s=f.actions,u=f.customIcons,t,e,o;s.length==0?i.close.hide():i.close.show();t=i.actions.children("ul");e=t.find("> li > a").toArray();n.isArray(u)&&u.length>0?(o=n.map(e,function(t){return n(t).attr("data-name")}),n(u).each(function(u,f){if(n.isPlainObject(f)&&n.inArray(f.name,o)==-1){t.append('<li><a href="javascript:/*viClientDialog*/;" data-name="'+f.name+'" class="'+f.cssClass+'">'+f.content+"<\/a><\/li>");var e=t.find("li > a[data-name='"+f.name+"']");e.bind("click",function(){var t=n(this);f.eventCall&&f.eventCall.call(r,t)});i[f.name]=e}})):t.find("> li:not(:has('a.vi-close'))").remove()},setFullScreen:function(i){var r=this,o=r.dom,u=r.config,l=o.wrap[0],s=n(t),h=s.height(),c=s.width(),a=l.style,f=2,e;if(i&&i=="winResize"&&u.isFullScreen){e=r.dom.main.outerHeight(!0)-r.dom.main.height();r.size(c-f,h-o.titleBar.outerHeight(!0)-e-f);return}u.isFullScreen?(r.size(r.originalWidth,r.originalHeight),u.isFullScreen=!1,r.center(),u.autoAdjustHeight=!0):(u.isFullScreen=!0,u.autoAdjustHeight=!1,r.originalWidth=r.dom.main.width(),r.originalHeight=r.dom.main.height(),e=r.dom.main.outerHeight(!0)-r.dom.main.height(),r.size(c-f,h-o.titleBar.outerHeight(!0)-e-f),r.position())},_addEvent:function(){var n=this,t=this.dom;t.wrap.bind("click",function(i){var r=i.target;if(r===t.close[0])return n.close(),!1}).bind("mousedown",function(){n.config.lock==!1&&n.zIndex()})},_removeEvent:function(){var n=this;n.dom.wrap.unbind();n.config.autoAdjustHeight&&(n.dom.content.unbind("resize"),n.dom.content.children().unbind("resize"))}};r.fn.constructor.prototype=r.fn;n.fn.dialog=n.fn.viClientDialog=function(){var n=arguments;return this[this.live?"live":"bind"]("click",function(){return r.apply(this,n),!1}),this};r.focus=null;r.get=function(n){return n===i?r.list:r.list[n]};r.list={};n(document).bind("keydown",function(t){var f=t.target,o=f.nodeName,i=r.focus,e=t.keyCode,u;i&&i.config.esc&&(u=n.isArray(i.config.actions)&&n.inArray("close",i.config.actions)>-1,e===27&&u&&i.close())});n(t).bind("resize",function(){var n=r.list;for(var t in n)n[t].config.fixed&&n[t].config.lock&&n[t].winResize()});r._templates='<div class="vi-outer"><div class="vi-c"><div class="vi-titleBar"><div class="vi-title"><\/div><div class="vi-actions"><ul><li><a class="vi-close" href="javascript:/*viClientDialog*/;">×<\/a><\/li><\/ul><\/div><\/div><div class="vi-main"><div class="vi-content"><\/div><\/div><div class="vi-se"><span class="vi-resize"><\/span><\/div><\/div><\/div>';r.defaults={html:'<div class="vi-loading"><span>loading..<\/span><\/div>',title:"message",initialize:null,beforeunload:null,width:"auto",height:"auto",padding:"0 16px",skin:"viClientDialog-light",time:null,esc:!0,visible:!1,actions:["close"],customIcons:[],follow:null,lock:!0,fixed:!0,zIndex:1e4,url:null,useFrame:!1,dblUnlock:!1,resize:!1,onClosed:function(){},processContent:function(){},autoAdjustHeight:!0,disableTop:!1,otherDialogs:".RadWindow",isFullScreen:!1};this.viClientDialog=n.viDialog=n.viClientDialog=r}(this.vi||this.jQuery,this),function(n){var u=function(){var n=this,t=function(t){var i=n[t];n[t]=function(){return i.apply(n,arguments)}};t("start");t("over");t("end")};u.prototype={start:function(t){n(document).bind("mousemove",this.over).bind("mouseup",this.end);this._sClientX=t.clientX;this._sClientY=t.clientY;this.onstart(t.clientX,t.clientY);return!1},over:function(n){this._mClientX=n.clientX;this._mClientY=n.clientY;this.onover(n.clientX-this._sClientX,n.clientY-this._sClientY);return!1},end:function(t){n(document).unbind("mousemove",this.over).unbind("mouseup",this.end);this.onend(t.clientX,t.clientY);return!1}};var t=n(window),i=n(document),r=document.documentElement,s=!("minWidth"in r.style),f=!s&&"onlosecapture"in r,e="setCapture"in r,o=function(){return!1},h=function(n){var g,nt,tt,it;if(!viClientDialog.focus.config.isFullScreen){var r=new u,rt=viClientDialog.focus,h=rt.dom,ut=h.wrap,v=h.outer,l=h.title,ft=h.main,s=ut[0],y=l[0],a=ft[0],c=s.style,p=a.style,w=n.target===h.resize[0]?!0:!1,b=s.style.position==="fixed",k=b?0:i.scrollLeft(),d=b?0:i.scrollTop(),et=t.width()-s.offsetWidth+k,ot=t.height()-s.offsetHeight+d;h.title.disableSelection();r.onstart=function(){w?(g=a.offsetWidth,nt=a.offsetHeight):(tt=s.offsetLeft,it=s.offsetTop);i.bind("dblclick",r.end).bind("dragstart",o);f?l.bind("losecapture",r.end):t.bind("blur",r.end);e&&y.setCapture();v.addClass("vi-state-drag")};r.onover=function(n,t){var i,r,u,f;w?(i=n+g,r=t+nt,c.width="auto",p.width=Math.max(0,i)+"px",c.width=s.offsetWidth+"px",p.height=Math.max(0,r)+"px"):(u=Math.max(k,Math.min(et,n+tt)),f=Math.max(d,Math.min(ot,t+it)),c.left=u+"px",c.top=f+"px")};r.onend=function(){i.unbind("dblclick",r.end).unbind("dragstart",o);f?l.unbind("losecapture",r.end):t.unbind("blur",r.end);e&&y.releaseCapture();v.removeClass("vi-state-drag")};r.start(n)}};n(document).bind("mousedown",function(n){var t=viClientDialog.focus;if(t){var i=n.target,r=t.config,u=t.dom;if(r.drag!==!1&&i===u.title[0]||r.resize!==!1&&i===u.resize[0])return h(n),!1}})}(this.vi||this.jQuery);$(function(){var f=window.visionOptions.virtualApplicationPath,e=window.visionOptions.useDesignThemFontSizeCss,t=e==!0?window.visionOptions.currentDesignFolderPath:window.visionOptions.mainFolderPath;t||(t=window.visionOptions.mainFolderPath);var i=f.replace(/\//g,"_")+"FontSize",r,o=function(){$(".faq_widget").each(function(){var n=$(this).find(".faq_tab_nav").height();$(this).find(".faqtab_section").attr("style","min-height: "+(n-42)+"px")})},n=function(n){$("#active_font").attr("href",t+n).attr("data-css",n);$.cookie(i,n,{expires:365,path:"/"});$(".faq_tab_nav").length>0&&(clearTimeout(r),r=setTimeout(function(){o()},200))},s=function(){var n=$.cookie(i);return n&&n.indexOf("/")<0?n:"x-small.css"},u=s();$("#active_font").attr("href",t+u).attr("data-css",u);$(".font_larger").live("click",function(){switch($("#active_font").attr("data-css")){case"medium.css":n("large.css");break;case"small.css":n("medium.css");break;case"x-small.css":n("small.css");break;case"xx-small.css":n("x-small.css")}return!1});$(".font_smaller").live("click",function(){switch($("#active_font").attr("data-css")){case"large.css":n("medium.css");break;case"medium.css":n("small.css");break;case"small.css":n("x-small.css");break;case"x-small.css":n("xx-small.css")}return!1});$(".text_size").live("click",function(){return n("x-small.css"),!1})}),function(n){n.widget("custom.viTemplate",{options:{enabledSortAndDrag:!0,template:".page_template",column:".sortable_col:not(.site_template_column)",widget:".widget",widgetTitle:".widget_title",widgetDragPlaceHolderCss:"widget_drag_holder",widgetInstanceWrapper:".widget_wrapper",widgetInstanceWrapperHandle:".widget_wrapper_title",requestTimeout:1e3,widgetAdd:function(){},widgetMove:function(){},widgetRefresh:function(){},widgetTitleRefresh:function(){},widgetCommand:".widget_wrapper_title .widget_command:not(.disabled)",sharedDialog:"body",refreshTemplate:function(){n.vision().refresh()},createNewWidgetSnap:function(t){return n('<div class="widget_wrapper"><div class="widget_wrapper_title edit"><span class="title">&nbsp;<\/span><div class="toolbar"><\/div><\/div><div class="widget_wrapper_body edit">'+Vision.Resources.UI_Widgets_viTemplate_WidgetRefreshLoadingText+'<\/div><div class="widgetFooter"><\/div><\/div>').find(".title").html(t).parents(".widget_wrapper")},widgetDraggingHelperStyle:{width:"55px",height:"55px"},enableSiteTemplate:!1,siteTemplate:"self",siteTemplateColumn:".site_template_column.sortable_col",siteTemplateWidgetAdd:function(){},siteTemplateWidgetMove:function(){},siteTemplateWidgetRefresh:function(){}},_create:function(){if(this.element.addClass(n.fn.viTemplate.constants.TemplateCssClassName),typeof this.options.widgetAdd!="undefined"&&this.options.widgetAdd!=null&&typeof this.options.widgetMove!="undefined"&&this.options.widgetMove!=null){var t=this;this.element.each(function(){if($element=n(this),t.options.enabledSortAndDrag){n(t.options.widgetInstanceWrapperHandle,$element).css("cursor","move").attr("title",Vision.Resources.UI_Widgets_viTemplate_WidgetDragToMoveTitle);n(t.options.column,$element).each(function(){var t=n(this).data("sortable");t&&t.destroy()}).sortable({connectWith:n(t.options.column,$element),cursor:"move",cancel:"a,input",helper:"clone",items:n(t.options.widgetInstanceWrapper,t.options.column),tolerance:"pointer",revert:300,placeholder:t.options.widgetDragPlaceHolderCss,handle:n(t.options.widgetInstanceWrapperHandle,t.options.column),start:function(i,r){r.placeholder.height(r.item.height());var u=r.item,f=JSON.parse(u.attr("vidata")||"{}");n(t.options.column,$element).each(function(){var t=n(this),i=JSON.parse(t.attr("vidata")||"{}");!i.WidthType||f.WidthType&i.WidthType||t.addClass("column-overlay")})},out:function(){},change:function(t,i){typeof i.item!="undefined"?i.placeholder.height(i.item.height()):i.placeholder.height(n.fn.viTemplate.constants.PlaceHolderDefaultHeight)},over:function(t,i){var r=n(this);r.hasClass("column-overlay")?i.placeholder.hide():i.placeholder.show()},receive:function(t,i){var e=n(this),u=JSON.parse(e.attr("vidata")||"{}"),r=i.item.closest(".widget_wrapper"),f;r.length&&r.attr("vidata")&&(f=JSON.parse(r.attr("vidata")||"{}"),!u.WidthType||f.WidthType&u.WidthType||i.sender&&i.sender.sortable("cancel"))},stop:function(i,r){var e,h,c;if(n(".column-overlay").removeClass("column-overlay"),e=r.item,e.hasClass("ui-draggable")){var l=n(this),a=JSON.parse(e.attr("vidata")||"{}"),o=JSON.parse(l.attr("vidata")||"{}");if(o.WidthType&&!(a.WidthType&o.WidthType)){r.item.remove();return}}var v=t.options.template=="self"?$element:n(t.options.template,$element),y=n.parseJSON(v.attr("vidata")),p=r.item.parents(".sortable_col"),s=n.parseJSON(p.attr("vidata")),f=n.parseJSON(r.item.attr("vidata")),w=r.item.prev(t.options.widgetInstanceWrapper),u=n.extend({},{WidgetInstanceID:0,ColumnID:s.ColumnID},n.parseJSON(w.attr("vidata")));r.item.attr(n.fn.viTemplate.constants.IsWidgetKey)=="1"?(h=r.item.find(t.options.widgetTitle).text(),c=t.options.createNewWidgetSnap(h),r.item.replaceWith(c),t.disableSortAndDrag(!0),t._requestAddWidget({WidgetID:f.WidgetID,PreWidgetInstanceID:u.WidgetInstanceID,ToColumnID:u.ColumnID,NonPublishedPageTemplateID:y.PageTemplateID},r.item,!0,function(n){n.result||r.item.remove()}),t._checkRequest()):f.PreWidgetInstanceID!=u.WidgetInstanceID||f.ColumnID!=s.ColumnID?(t.disableSortAndDrag(!0),t._requestMoveWidget({WidgetInstanceID:f.WidgetInstanceID,PreWidgetInstanceID:u.WidgetInstanceID,ToColumnID:u.ColumnID},r.item,!0),t._checkRequest()):n(t.options.column,$element).sortable("cancel")}});t.options.enableSiteTemplate&&n(t.options.siteTemplateColumn,$element).each(function(){var t=n(this).data("sortable");t&&t.destroy()}).sortable({connectWith:n(t.options.siteTemplateColumn,$element),cursor:"move",cancel:"a,input",helper:"clone",items:n(t.options.widgetInstanceWrapper,t.options.siteTemplateColumn),tolerance:"pointer",revert:300,placeholder:t.options.widgetDragPlaceHolderCss,handle:n(t.options.widgetInstanceWrapperHandle,t.options.siteTemplateColumn),start:function(n,t){t.placeholder.height(t.item.height())},change:function(t,i){typeof i.item!="undefined"?i.placeholder.height(i.item.height()):i.placeholder.height(n.fn.viTemplate.constants.PlaceHolderDefaultHeight)},stop:function(i,r){var h=t.options.siteTemplate=="self"?$element:n(t.options.siteTemplate,$element),a=n.parseJSON(h.attr("vidata")),c=r.item.parents("div.site_template_column"),e=n.parseJSON(c.attr("vidata")),f=n.parseJSON(r.item.attr("vidata")),l=r.item.prev(t.options.widgetInstanceWrapper),u=n.extend({},{WidgetInstanceID:0,ColumnID:e.ColumnID},n.parseJSON(l.attr("vidata"))),o,s;r.item.attr(n.fn.viTemplate.constants.IsWidgetKey)=="1"?(o=r.item.find(t.options.widgetTitle).text(),s=t.options.createNewWidgetSnap(o),r.item.replaceWith(s),t.disableSortAndDrag(!0),t._requestAddWidget({WidgetID:f.WidgetID,PreWidgetInstanceID:u.WidgetInstanceID,ToColumnID:u.ColumnID},r.item,!1,function(n){n.result||r.item.remove()}),t._checkRequest()):f.PreWidgetInstanceID!=u.WidgetInstanceID||f.ColumnID!=e.ColumnID?(t.disableSortAndDrag(!0),t._requestMoveWidget({WidgetInstanceID:f.WidgetInstanceID,PreWidgetInstanceID:u.WidgetInstanceID,ToColumnID:u.ColumnID},r.item,!1),t._checkRequest()):n(t.options.siteTemplateColumn,$element).sortable("cancel")}});var i=t.options.column;t.options.enableSiteTemplate&&(i+=","+t.options.siteTemplateColumn);n(t.options.widget).each(function(){var t=n(this).data("draggable");t&&t.destroy()}).draggable({connectToSortable:n(i,$element),helper:"clone",tolerance:"pointer",zIndex:100,containment:"document",appendTo:"body",start:function(n,i){var r=i.helper;r.addClass("dragging dragging_widget").css("z-index",1e3).css("opacity",.8);r.css(t.options.widgetDraggingHelperStyle)},drag:function(){},stop:function(){n(".column-overlay").removeClass("column-overlay")}}).each(function(t,i){n(i).attr(n.fn.viTemplate.constants.IsWidgetKey,"1")})}});this._initializeCommands()}},destroyAll:function(){this.destroy();this.element.removeClass(n.fn.viTemplate.constants.TemplateCssClassName);this.destroySortAndDrag()},reinitialize:function(){this.destroySortAndDrag();this.element.removeClass(n.fn.viTemplate.constants.TemplateCssClassName);this._create()},disableSortAndDrag:function(t){var i=t?"disable":"enable";n(this.options.column,this.element).not(".mobile_only").sortable(i);n(this.options.widget).draggable(i)},destroySortAndDrag:function(){n(this.options.column,this.element).each(function(){var t=n(this.element).data("sortable");t&&t.destroy()});n(this.options.siteTemplateColumn,this.element).each(function(){var t=n(this.element).data("sortable");t&&t.destroy()});n(this.options.widget).each(function(){var t=n(this.element).data("draggable");t&&t.destroy()})},_checkRequest:function(){var n=this,t=setTimeout(function(){n.disableSortAndDrag(!1);clearTimeout(t)},n.options.requestTimeout)},_requestAddWidget:function(t,i,r,u){var f=r?this.options.widgetAdd:this.options.siteTemplateWidgetAdd;n.isFunction(f)?f(t,i,u):typeof f=="string"&&this._postAndRefresh(f,t,u)},_requestMoveWidget:function(t,i,r,u){var f=r?this.options.widgetMove:this.options.siteTemplateWidgetMove;n.isFunction(f)?f(t,i,u):typeof f=="string"&&this._postAndRefresh(f,t,u)},_requestRefreshWidget:function(t,i,r){var u=r?this.options.widgetRefresh:this.options.siteTemplateWidgetRefresh,f,e;n.isFunction(u)?u(t,i):typeof u=="string"&&(f=n(".widget_wrapper_body",i),e=0,n.vision().post(u,t,function(t){var r,u,e;n(f).html(t).viCompile();r=f.find(".title_widget.on_page");r.length>0&&(u=n.parseJSON(r.attr("v-data")),n("input#SubTitle").val(u.PageSubTitle),n("input#Title").val(u.PageTitle));e=window.setTimeout(function(){n(".async_widget_container:not(.custominvoke)").loadAsyncContainer();window.clearTimeout(e)},10);n(i).loading(null,null,!0)},"html",function(){}))},_postAndRefresh:function(t,i,r){var u=this;n.vision().post(t,i,function(n){r&&r(n);n.result?u.options.refreshTemplate():alert(n.message)},"JSON",function(){})},_initializeCommands:function(){var t=this;n(this.options.widgetCommand,$element).each(function(){var f=n(this).closest(t.options.widgetInstanceWrapper),c=n.parseJSON(f.attr("vidata")),u=n(this).attr(n.fn.viTemplate.constants.ClickEventAttr),l=n(this).closest(t.options.column).length>0;if(typeof u!="undefined"){var e=!1,i=null,r=null;try{try{i=n.evalFunc(u)}catch(a){i=n.parseJSON(u)}if(n.isFunction(i))r=i;else if(n.isPlainObject(i))if(typeof i.NeedDialog=="undefined"){var o=i.Action,s=i.Confirm,h=i.CallBackFunc;o&&(r=function(i){var r=!0;if(s&&(r=confirm(s)),r&&t._postAndRefresh(o,i),h)try{n.evalFunc(h)()}catch(u){}})}else i.NeedDialog==!0&&(r=function(){var u=i.WidgetHelpUrl,r={url:i.Url,helpIconUrl:u,title:i.Title,width:800,useFrame:!1,zIndex:1e3,customIcons:[{name:"fullscreen",cssClass:"vi-fullscreen",content:'<i class="fa fa-window-maximize" aria-hidden="true"><\/i>',eventCall:function(n){n=n.find("i");n.hasClass("fa-window-restore")?n.removeClass("fa-window-restore"):n.addClass("fa-window-restore");this.setFullScreen()}},{name:"help",cssClass:"vi-help",content:"?",eventCall:function(t){var i,r;t.hasClass("help_dialog_active")?(n(".w_setting_dialog").show(),n(".w_setting_help_dialog").html("").hide(),t.removeClass("help_dialog_active")):(n("body").loading(!0,{mask:!0}),i=[],n(".w_setting_dialog").find(".setting_label:visible").each(function(){i.push(n(this).attr("data-key"))}),r=this.config.helpIconUrl,n.vision().ajax({url:r,type:"POST",data:{keys:i.join(",")},cache:!1,success:function(i){n("body").loading(null,null,!0);t.addClass("help_dialog_active");n(".w_setting_dialog").hide();n(".w_setting_help_dialog").html(i).show()},error:function(){n("body").loading(null,null,!0)}}))}}]};r.onClosed=function(n){n==!0&&t._requestRefreshWidget(c,f,l)};r.initialize=function(){var n=this;n.dom.help&&n.dom.help.removeClass("help_dialog_active");n.dom.fullscreen&&n.dom.fullscreen.find("i").removeClass("fa-window-restore")};n.viClientDialog(r,t.options.sharedDialog).open()});e=!0}catch(v){}e&&r!=null&&n(this).click(function(){try{var i=n.parseJSON(n(this).closest(t.options.widgetInstanceWrapper).attr("vidata"));r({WidgetInstanceID:i.WidgetInstanceID})}catch(u){}})}})}});n.fn.viTemplate.constants={WidgetIDAttrName:"widgetid",WidgetInstanceIDAttrName:"widgetinstanceid",ColumnIDAttrName:"columnid",PageTemplateIDAttrName:"pagetemplateid",PlaceHolderDefaultHeight:200,IsWidgetKey:"iswidget",TemplateCssClassName:"vi-template",Page:".page",PageTemplate:".page_template",ClickEventAttr:"clickEvent"}}(jQuery);window.visionOptions=window.visionOptions||{virtualApplicationPath:"/",logOnPath:"Admin/LogOn",logOffPath:"Admin/Account/LogOff",enableSessionTimeout:!1,sessionTimeoutInMinutes:20,timeToAlertBeforeSessionTimeoutInMinutes:5,extendSessionTimeoutPath:"Admin/Account/ExtendSessionTimeout"};window._timeoutIDForsessionExpiration=null;visionManager.prototype={_options:{sessionExtensionMode:"server"},_window:window.top,constructor:function(n){$.extend(this._options,n)},setupOptions:function(n){return $.extend(this._options,n),this},customAjax:function(n){var f=$(n).attr("v-form-method"),t=$(n).attr("v-href"),i=$(n).attr("v-json-data"),r=$.evalFunc($(n).attr("v-callback")),u=$(n).attr("v-returntype");f.toLowerCase()=="post"?$.vision().post(t,i,r,u):$.vision().get(t,i,r,u)},refresh:function(n){n?window.location.href=n:window.location.hash?window.location.reload(!0):window.location.href=window.location.href},buildPath:function(n){return window.visionOptions.virtualApplicationPath+n},logOn:function(n){this._window.location=typeof n=="undefined"||n==null||n==""?this.buildPath(this._window.visionOptions.logOnPath):this.buildPath(this._window.visionOptions.logOnPath+"?ReturnUrl="+encodeURI(n))},logOff:function(){this._window.location=this.buildPath(this._window.visionOptions.logOffPath)},post:function(n,t,i,r,u){u=u||function(){alert(Vision.Resources.Admin_Errors_AjaxPostActionFailed)};this.ajax({url:n,error:u,success:i,data:t,dataType:r,type:"POST"})},postWithJson:function(n,t,i,r){r=r||function(){alert(Vision.Resources.Admin_Errors_AjaxPostActionFailed)};this.ajax({url:n,type:"POST",contentType:"application/json",traditional:!0,data:JSON.stringify(t),success:i,error:r})},get:function(n,t,i,r,u){u=u||function(){alert(Vision.Resources.Admin_Errors_AjaxGetActionFailed)};this.ajax({url:n,error:u,success:i,data:t,dataType:r,type:"GET"})},ajax:function(n,t){if(this._window.visionOptions.enableSessionTimeout){var i=this._options.sessionExtensionMode;typeof n=="object"&&n.sessionExtensionMode?i=n.sessionExtensionMode:t&&t.sessionExtensionMode&&(i=t.sessionExtensionMode);i==="client"?this.extendSessionTimeout(function(){jQuery.ajax(n,t)}):(typeof n=="object"?(n.success=this._wrapSessionExtensionSuccess(n.success),n.headers={ExtendSession:!0}):(t=t||{},t.success=this._wrapSessionExtensionSuccess(t.success),t.headers={ExtendSession:!0}),jQuery.ajax(n,t))}else jQuery.ajax(n,t)},_wrapSessionExtensionSuccess:function(n){if(this._window.visionOptions.enableSessionTimeout){var t=this;return function(i,r,u){var f=$.parseJSON(u.getResponseHeader("SessionInfo")||"");f&&f.IsAuth?(t.setTimerForSessionExpiration(f.Timeout,f.TimeToAlert),t.refreshToken(f.Token),$.isFunction(n)&&n(i,r,u)):(t._window.alert(Vision.Resources.Admin_Errors_ExtendSessionTimeout),t.refreshToken(""),$.vision().logOn(t._window.location))}}return n},extendSessionTimeout:function(n){if(this._window.visionOptions.enableSessionTimeout){var t=this;$.ajax({type:"POST",async:!0,url:this.buildPath(this._window.visionOptions.extendSessionTimeoutPath),success:function(i){try{typeof i.SessionTimeoutInMinutes=="undefined"&&typeof i.TimeToAlertBeforeSessionTimeoutInMinutes=="undefined"?(t._window.alert(Vision.Resources.Admin_Errors_ExtendSessionTimeout),t.refreshToken(""),$.vision().logOn(t._window.location)):(t.setTimerForSessionExpiration(i.SessionTimeoutInMinutes,i.TimeToAlertBeforeSessionTimeoutInMinutes),t.refreshToken(i.Token),$.isFunction(n)&&n())}catch(r){}}})}else $.isFunction(n)&&n()},extendSessionTimeoutSync:function(){var n=this;$.ajax({type:"POST",async:!1,url:this.buildPath(this._window.visionOptions.extendSessionTimeoutPath),success:function(t){try{typeof t.SessionTimeoutInMinutes=="undefined"&&typeof t.TimeToAlertBeforeSessionTimeoutInMinutes=="undefined"?(n._window.alert(Vision.Resources.Admin_Errors_ExtendSessionTimeout),n.refreshToken(""),$.vision().logOn(n._window.location)):(n.setTimerForSessionExpiration(t.SessionTimeoutInMinutes,t.TimeToAlertBeforeSessionTimeoutInMinutes),n.refreshToken(t.Token))}catch(i){}}})},setTimerForSessionExpiration:function(n,t){var i,r;this._window.visionOptions.enableSessionTimeout&&(i=window.parseInt(n)*6e4-window.parseInt(t)*6e4,this._window._timeoutIDForsessionExpiration!=null&&(this._window.clearTimeout(this._window._timeoutIDForsessionExpiration),this._window._timeoutIDForsessionExpiration=null),r=this,this._window._timeoutIDForsessionExpiration=this._window.setTimeout(function(){r.promptSessionTimeout(n,t)},i))},promptSessionTimeout:function(n,t){if(this._window.visionOptions.enableSessionTimeout){this._window.focus();var i=$.format(Vision.Resources.Admin_Messages_SessionTimeoutFormat,t,n),r=this._window.confirm(i);r&&this.extendSessionTimeout(function(){})}},checkRightPanelCats:function(n){var i=n.hasClass("hidden"),t=!0&&i;n.siblings().each(function(){$(this).is(":visible")||(t=t&&!1)});t?n.parents("li.edit-cats").hide():n.parents("li.edit-cats").show()},refreshToken:function(n){this._window.visionApps&&(this._window.visionApps.token=n)}},function(n){var t=new visionManager;n.extend({vision:function(n){return t.setupOptions(n)}})}(jQuery);$(document).ready(function(){var n,i,e,u;$.vision().setTimerForSessionExpiration($.vision()._window.visionOptions.sessionTimeoutInMinutes,$.vision()._window.visionOptions.timeToAlertBeforeSessionTimeoutInMinutes);var o=function(n,t){$(n).data("ajaxCount",0).attr("disabled","disabled");t=t||$(".approval-buttons-bar .action input[type='submit']");t.attr("disabled","disabled").addClass("disabled")},r=function(n,t,i){var r=$(n).data("ajaxCount"),u;r>=t-1?(u=setTimeout(function(){$(n).removeAttr("disabled");var t=$(i||".approval-buttons-bar .action input[type='submit']");t.removeAttr("disabled").removeClass("disabled");clearTimeout(u)},500),$(n).data("ajaxCount",0)):$(n).data("ajaxCount",r+1)},f=function(n){var u=$(n),i;u.attr("disabled","disabled");var t=u.parents("div.content-group-container"),f=t.is("[controlledEle]")?t.attr("controlledEle"):null,s=$(f);o(n,s);i=u.val();i==""&&(i="0");var c=parseInt(i),h=t.is("[CgAjaxOptions]")?$.parseJSON(t.attr("CgAjaxOptions")):[],e=h.length;e==0&&r(n,0,s);$(h).each(function(t,i){var u=$.extend(i.Data,{ContentGroupID:c}),s,o;if(typeof i.DataHandler!="undefined"&&i.DataHandler!=null)try{u=$.evalFunc(i.DataHandler)(u)}catch(h){}if(s=i.URL,o=i.RefreshPanel,$(o).length>0)try{$.vision().get(s,u,function(t){var u=$(o).html(t);if(typeof i.RefreshHandler!="undefined"&&i.RefreshHandler!=null)try{$.evalFunc(i.RefreshHandler)(u)}catch(s){}r(n,e,f)},"HTML",function(){})}catch(h){}else r(n,e,f)})},t=$("div.content-group-container.content-group"),s=t.find("input[type='hidden']");t.find("select[enableonload]").removeAttr("disabled").removeAttr("enableonload");n=t.attr("action");n=n!=undefined?n.toLowerCase():n;i=$(".content-group.need-ajax-refresh select");i.length>0?((n=="add"||n=="copy")&&i.find("option").length==1&&f(i.find("option")[0]),i.change(function(){f(this)})):(e=t.is("[controlledEle]")?t.attr("controlledEle"):null,u=$(e)||$(".approval-buttons-bar .action input[type='submit']"),u.attr("disabled","disabled").addClass("disabled").hide(),u.closest(".approval-buttons-bar").length>0&&($(".approval-buttons-bar .approval-notes").hide(),$(".approval-buttons-bar .action.back input").removeAttr("disabled").removeClass("disabled").show()));$(".widget_optional_settings, #add_customhandler, #edit_customhandler, .razor_format_container").delegate(".razor_template_help_notes_wrapper .help_notes_title a.cnticon","click",function(){$(this).hasClass("cnticon-actions-down")?($(this).removeClass("cnticon-actions-down").addClass("cnticon-actions-up"),$(this).closest(".razor_template_help_notes_wrapper").find(".help_notes_body").show()):($(this).removeClass("cnticon-actions-up").addClass("cnticon-actions-down"),$(this).closest(".razor_template_help_notes_wrapper").find(".help_notes_body").hide())});$("section#edit_page,section#configure_widgets").length<=0&&($("del").remove(),$("ins").each(function(){$(this).replaceWith($(this).html())}))});$(document).delegate(".search_area input.searchinput","keydown",{},function(n){n.keyCode=="13"&&$(this).parent().find("input.searchicon").click()});$(".data_source_add_data_item").live("click",function(){var n=$("<input type='hidden'/>").attr({id:"Field_Setting_DataSource_Index",name:"Field.Setting.DataSource.Index",modeltype:"index"}),t=$("<input type='radio' name='field.setting.default' disabled='disabled' />"),i=$("<label>  "+Vision.Resources.Admin_DataSource_ValueLabel+": <\/label>"),r=$("<label>  "+Vision.Resources.Admin_DataSource_TextLabel+": <\/label>"),u=$("<a title='"+Vision.Resources.Admin_DataSource_AddButtonTitle+"'> "+Vision.Resources.Admin_DataSource_AddButtonText+"<\/a>").addClass("data_source_add_data_item addlink"),f=$("<a title='"+Vision.Resources.Admin_DataSource_DeleteButtonTitle+"'> "+Vision.Resources.Admin_DataSource_DeleteButtonText+"<\/a>").addClass("data_source_delete_data_item deletelink"),e=$("<li><\/li>").append(t).append(i).append("<input type='text' modeltype='value' class='dataSourceTextBox'/>").append(r).append("<input type='text' modeltype='text' class='dataSourceTextBox'/>").append(u).append(f).append(n);$(this.parentNode).after(e);ResetIDName()});$(".data_source_delete_data_item").live("click",function(){$(this.parentNode).find("[name='field.setting.default'][value='true']")!=null&&$("input#Field_Setting_DefaultValue").val("");$(this.parentNode).remove();ResetIDName()});$("ol.data_source_list li input[type='radio']").live("click",function(){var n=$(this).parent().find("input[modeltype='value']").val();if($(this).attr("value")!="true"&&typeof n!="undefined"&&n!="")$("ol.data_source_list li input[type='radio']").removeAttr("value"),$(this).attr("value",!0),typeof $("input#Field_Setting_DefaultValue").val()!="undefined"&&$("input#Field_Setting_DefaultValue").val(n);else{if(typeof n=="undefined"||n=="")return!1;$(this).removeAttr("checked");$("ol.data_source_list li input[type='radio']").removeAttr("value");typeof $("input#Field_Setting_DefaultValue").val()!="undefined"&&$("input#Field_Setting_DefaultValue").val("")}});$("ol.data_source_list li input[type='text'][modeltype='value']").live("change",function(){var n=$(this).parent().find("input[type='radio']"),t=$(this).parent().find("input[type='radio']").attr("disabled");$(this).val()==""?(n.attr("value")=="true"&&(n.removeAttr("value"),n.removeAttr("checked"),$("input#Field_Setting_DefaultValue").val("")),n.attr("disabled","disabled")):n.removeAttr("disabled")});$("body").delegate("fieldset.grey a.data_source_apply","click",function(){var t=!1,i=$("#SystemVariableSiteModel_AllowIndividual").prop("checked"),n=i?$(".site_value_field select"):$("select#Value");n.html("");n.each(function(n,i){var r=$(i);$("ol.data_source_list li").each(function(){var i=$(this).find('input[modeltype="text"]').val()==""?$(this).find('input[modeltype="value"]').val():$(this).find('input[modeltype="text"]').val(),n;if($(this).find('input[modeltype="value"]').val()=="")return t=!0,!1;n=$(this).find('input[modeltype="value"]').val();$("<option/>").attr({value:n}).appendTo(r).text(i);typeof $("input#Field_Setting_DefaultValue").val()!="undefined"&&r.val($("input#Field_Setting_DefaultValue").val())})});t&&(n.html(""),alert(Vision.Resources.Admin_DataSource_Errors_DataSourceValueCannotBeEmpty))});typeof $("input#Field_Setting_DefaultValue").val()!="undefined"&&$("input#Field_Setting_DefaultValue").val()!=""&&(defaultValueInput=$("ol.data_source_list li input[type='text'][modeltype='value'][value='"+$("input#Field_Setting_DefaultValue").val()+"']"),typeof defaultValueInput!="undefined"&&(defaultValueInput.parent().find("input[type='radio']").attr("value",!0),defaultValueInput.parent().find("input[type='radio']").attr("checked","checked")));$("body").delegate(".datasource_list_setting .datasource_type","change",function(){var t,i,r,n;$(this).val().toLowerCase()!="custom"?($(".datasource_li").hasClass("datasource_disabled")||$(".datasource_li").addClass("datasource_disabled"),$(".datasource_li input[disabled]").length<=0&&$(".datasource_li input").attr("disabled","disabled"),t=$(".datasource_type").data("DataSourceJson"),i=t[$(this).val()]):($(".datasource_li").hasClass("datasource_disabled")&&$(".datasource_li").removeClass("datasource_disabled"),$(".datasource_li input[disabled]").length>0&&$(".datasource_li input").removeAttr("disabled"));r=$("#SystemVariableSiteModel_AllowIndividual").prop("checked");n=r?$(".site_value_field select"):$("select#Value");n.html("");$(this).val().toLowerCase()!="custom"?n.each(function(n,t){var r=$(t);$.each(i,function(n,t){$("<option/>").attr({value:t.Value}).appendTo(r).text(t.Text)})}):n.each(function(n,t){var i=$(t);$("ol.data_source_list li").each(function(){var n=$(this).find('input[modeltype="text"]').val()==""?$(this).find('input[modeltype="value"]').val():$(this).find('input[modeltype="text"]').val();if($(this).find('input[modeltype="value"]').val()=="")return isempty=!0,!1;$("<option/>").attr({value:$(this).find('input[modeltype="value"]').val()}).appendTo(i).text(n);typeof $("input#Field_Setting_DefaultValue").val()!="undefined"&&i.val($("input#Field_Setting_DefaultValue").val())})})}),function(n){function t(i,r){this.opts=n.extend({},t.defaults,r);this.menuID="ContextDropDown_"+this.opts.menuID;this.eventType="click."+this.menuID;this.$elm=n(i);this.$panel=n(this.opts.appendTo).find("div#"+this.menuID);this.$panel.length>0||(this.$panel=n("<div id='"+this.menuID+"' style='display:none;'><\/div>").appendTo(this.opts.appendTo));this.dataBag={panelDisplay:!1,eventSourceType:""};this.commands=this.opts.commands;this.init()}t.defaults={menuID:"",url:"",content:function(){},cssClass:"",minHeight:0,minWidth:0,alignTo:null,alignX:"right",offsetX:0,offsetY:0,zIndex:99,showDuration:200,hideDuration:200,triggers:[],spaceTriggers:[],showingElms:[],closingElms:[],appendTo:n("body")[0],onShow:function(){},onHide:function(){},onSuccess:function(){},onError:function(){},commands:{}};t.prototype={init:function(){var u=function(){this.dataBag.panelDisplay?this.hide():this.show()},i,t,r;if(this.$elm.unbind(this.eventType),this.$elm.bind(this.eventType,n.proxy(function(){this.dataBag.eventSourceType="elm";u.call(this)},this)),n.isArray(this.opts.triggers))for(t=0;t<this.opts.triggers.length;t++)i=this.opts.triggers[t],n(i).unbind(this.eventType),n(i).bind(this.eventType,n.proxy(function(t){!this._isElementContained(t.target,n(i)[0])||this._isElementContained(t.target,this.opts.spaceTriggers)||this._isElementContained(t.target,this.$elm[0])||(this.dataBag.eventSourceType="triggers",u.call(this))},this));if(n.isArray(this.opts.spaceTriggers))for(t=0;t<this.opts.spaceTriggers.length;t++)r=this.opts.spaceTriggers[t],n(r).unbind(this.eventType),n(r).bind(this.eventType,n.proxy(function(t){n(r).is(t.target)&&(this.dataBag.eventSourceType="spaceTriggers",u.call(this))},this));this._initStyle();this.$elm.data("tContextDropDown",this)},show:function(){this.dataBag.panelDisplay=!0;this.$panel.html(" ");this.$panel.slideDown(this.opts.showDuration||200);this._bindBodyEvent(this);this.calcPos();this.opts.onShow(this.$elm[0],this.$panel[0],this.dataBag);this.refresh()},hide:function(){try{this.dataBag.panelDisplay=!1;this.$panel.slideUp(this.opts.hideDuration||200);this.opts.onHide(this.$elm[0],this.$panel[0],this.dataBag)}catch(n){}},refresh:function(){this.opts.url?(this.$panel.loading(!0),n.vision().ajax({url:this.opts.url,success:n.proxy(function(t){t&&n(t).find(".error_page.page_title").length>0?(alert(Vision.Resources.UI_Common_FrontendFormPostFailed),this.$panel.loading(null,null,!0)):(this.$panel.loading(null,null,!0),this.$panel.html(t));this.calcPos();this.opts.onSuccess(this.$elm[0],this.$panel[0])},this),error:n.proxy(function(){this.$panel.loading(!1);this.opts.onError(this.$elm[0],this.$panel[0])},this)})):n.isFunction(this.opts.content)?this.opts.content(this.$elm[0],this.$panel[0]):typeof this.opts.content=="string"&&this.opts.content.length>0?this.$panel.html(this.opts.content):this.$panel.html(" ")},calcPos:function(){var t=typeof this.opts.alignTo=="object"?n(this.opts.alignTo):this.$elm;this.opts.alignX==="left"?this.$panel.offset({top:t.offset().top+t.outerHeight()+this.opts.offsetY,left:t.offset().left+this.opts.offsetX}):this.$panel.offset({top:t.offset().top+t.outerHeight()+this.opts.offsetY,left:t.offset().left+t.outerWidth()-this.$panel.outerWidth()+this.opts.offsetX})},destroy:function(){var i,t,r;try{if(n("body").unbind(this.eventType),this.$panel.html(" ").remove(),this.$panel.removeData("tContextDropDown"),delete this.$panel,this.$elm.unbind(this.eventType),this.$elm.removeData("tContextDropDown"),delete this.$elm,n.isArray(this.opts.triggers))for(t=0;t<this.opts.triggers.length;t++)i=this.opts.triggers[t],n(i).unbind(this.eventType);if(n.isArray(this.opts.spaceTriggers))for(t=0;t<this.opts.spaceTriggers.length;t++)r=this.opts.spaceTriggers[t],n(r).unbind(this.eventType)}catch(u){}},_initStyle:function(){this.opts.cssClass?this.$panel.attr("class","t-ContextDropDown "+this.opts.cssClass):this.$panel.css("background-color","#EAF0DD");var n=this.opts.minHeight||200,t=this.opts.minWidth||200;this.$panel.css("min-height",n+"px");this.$panel.css("min-width",t+"px");this.$panel.css({"z-index":""+this.opts.zIndex,position:"absolute"})},_isElementContained:function(t,i,r){var e=!1,u,f;for(r=r||!1,n.isArray(i)||(i=[i]),u=0;u<i.length;u++)if(f=i[u],e=r?n(f).is(t):n(f).is(t)||n.contains(n(f)[0],t),e)break;return e},_bindBodyEvent:function(t){n("body").unbind(t.eventType);n("body").bind(t.eventType,n.proxy(function(t){var i,r;this._isElementContained(t.target,n.merge([this.$elm[0],this.$panel[0]],this.opts.triggers))||this._isElementContained(t.target,this.opts.spaceTriggers,!0)||(i=this._isElementContained(t.target,this.opts.showingElms),i?(r=this._isElementContained(t.target,this.opts.closingElms),r&&this.$panel.is(":visible")&&(this.dataBag.eventSourceType="closingElms",this.hide())):this.$panel.is(":visible")&&(this.dataBag.eventSourceType="document",this.hide()))},t));this.$panel.data("tContextDropDown",t)}};n.fn.extend({contextDropDown:function(i){var r=n(this);return r.each(function(){new t(this,i)})},contextDropDownCommands:function(){var t=n(this).closest("div[id^='ContextDropDown_']").data("tContextDropDown");if(t)return t.commands}})}(jQuery);$(function(){var t="toolbar",f=$("#"+t);if(!(f.length<=0)&&typeof $.prototype.dragDropSort!="undefined"){var n=f.find("input[type='hidden'].action_urls"),i=n.attr("data-refreshTasksUrl"),r=n.attr("data-addTaskUrl"),u=n.attr("data-moveTaskUrl"),e=n.attr("data-restoreTasksUrl"),o=n.attr("data-deleteTaskUrl");initTaskDragAndDrop(t,r,u,i);$(".toolbar-trash-area").droppable({hoverClass:"toolbar-trash-area-hover",drop:function(n,f){$(f.draggable).is(".task")&&($(f.draggable).fadeOut(100),$.vision().post(o,$.parseJSON($(f.draggable).attr("data-vision-data")),function(n){typeof n.IsOk!="undefined"&&n.IsOk?setTimeout(function(){refreshTasks(t,r,u,i);$.refreshTempMessage(n.Message)},500):$.refreshTempMessage(Vision.Resources.Admin_MyTask_DeleteTaskFailedError)},"json",function(){$.refreshTempMessage(Vision.Resources.Admin_MyTask_DeleteTaskFailedError)}))}});$("a.tools_restore_to_default").click(function(){confirm(Vision.Resources.Admin_MyTask_RestoreConfirmMessage)&&$.vision().post(e,{},function(n){typeof n.IsOk!="undefined"&&n.IsOk?(refreshTasks(t,r,u,i),$.refreshTempMessage(n.Message)):$.refreshTempMessage(Vision.Resources.Admin_MyTask_RestoreTaskFailedError)},"json",function(){$.refreshTempMessage(Vision.Resources.Admin_MyTask_RestoreTaskFailedError)})})}}),function(n){function t(i,r){this.opts=n.extend({},t.defaults,r);this.$container=n(i);this.$container.data("tCmsHover",this)}t.defaults={menuOptions:function(){return{}},iconsHtml:function(){return""},hoverTo:"div",iconTo:"",menuText:""};t.prototype={init:function(){var t=function(n){this.setActionBar(n);this.unbindHoverEvent(n);this.bindHoverEvent(n)};this.opts.hoverTo==="self"?t.call(this,this.$container[0]):this.$container.find(this.opts.hoverTo).each(n.proxy(function(n,i){t.call(this,i)},this))},bindHoverEvent:function(t){var i=this;n(t).bind("mouseenter.cmshover",function(){if(!(n("body .t-drag-clue").length>0)){n(t).addClass("state-hover");n(t).find("[cid='actionIcon']").attr("class","cnticon cnticon-actions-down").attr("title","show action menu");n(t).find(".item-right").removeAttr("style").css("visibility","visible");var u=n("div.t-window").length>0?[n("div.t-window")[0]]:[],r={url:"",triggers:[n(t)[0]],showingElms:n.merge(u,[n(t)[0]]),cssClass:"contextMenuPanel",alignTo:t,onShow:function(r){n(r).attr("class","cnticon cnticon-actions-up").attr("title","hide action menu");var u=i.$container.find(".actived-item");i.bindHoverEvent(u[0]);u.removeClass("actived-item");u.trigger("mouseleave");n(t).addClass("actived-item");i.unbindHoverEvent(t)},onHide:function(r,u,f){n(r).attr("class","cnticon cnticon-actions-down").attr("title","show action menu");n(t).find(".item-right").removeAttr("style");i.bindHoverEvent(t);n(t).removeClass("actived-item");n(t).trigger("mouseleave");f.eventSourceType&&f.eventSourceType!=="document"&&n(t).trigger("mouseenter")}},f={actionPanel:[n(t).find(".item-right")[0]],actionIcon:[n(t).find("[cid='actionIcon']")[0]]};r=n.extend({},r,i.opts.menuOptions(t,f));n(t).find("[cid='actionIcon']").contextDropDown(r)}});n(t).bind("mouseleave.cmshover",function(){n(t).removeClass("state-hover");n(t).find("[cid='actionIcon']").attr("class","cnticon cnticon-actions-down").attr("title","show action menu");n(t).find(".item-right").css("visibility","hidden")})},unbindHoverEvent:function(t){n(t).unbind("mouseenter.cmshover");n(t).unbind("mouseleave.cmshover")},reHover:function(t,i){n(t).trigger("mouseleave.cmshover");n(t).trigger("mouseenter.cmshover");var r=n(t).find("[cid='actionIcon']").data("tContextDropDown");r&&(i?(r.show(),n(t).addClass("state-hover"),n(t).find("[cid='actionIcon']").attr("class","cnticon cnticon-actions-up").attr("title","hide action menu"),n(t).find(".item-right").css("visibility","")):(r.hide(),n(t).removeClass("state-hover"),n(t).find("[cid='actionIcon']").attr("class","cnticon cnticon-actions-down").attr("title","show action menu"),n(t).find(".item-right").css("visibility","hidden")))},setActionBar:function(t){var i=this.opts.iconsHtml(t),r;typeof i!="string"&&(i="");n(t).find("div.item-right").remove();r=n(t);this.opts.iconTo&&this.opts.iconTo!==this.opts.hoverTo&&(r=n(t).children(this.opts.iconTo));r.prepend("<div class='item-right' style='visibility:hidden;'>"+i+"<span cid='actionIcon' class='cnticon cnticon-actions-down' title='"+Vision.Resources.Admin_ContextActionMenu_ShowActionMenuTitle+"'>"+this.opts.menuText+"<\/span><\/div>")}};var i={};i.common=function(n,i){t.call(this,n,i)};i.common.prototype=new t;i.tree=function(i,r){var u=function(t,i){return n.extend({triggers:[],spaceTriggers:[n(t)[0]]},r.menuOptions(t,i))},f=n.extend({hoverTo:"li.t-item > div, > div"},r,{menuOptions:u});t.call(this,i,f)};i.tree.prototype=new t;i.grid=function(i,r){var u=function(t,i){var u=[n(t).children("td:visible").first()[0]];return n(n(t).children("td.space_trigger")).each(function(n,t){u.push(t)}),n.extend({triggers:[n(t)[0]],offsetY:0,alignTo:"[cid='actionIcon']",spaceTriggers:u},r.menuOptions(t,i))},f=n.extend({hoverTo:">table>tbody>tr, >table>tr, >tbody>tr, >tr",iconTo:"td:last"},r,{menuOptions:u});t.call(this,i,f)};i.grid.prototype=new t;i.grid.prototype.setActionBar=function(t){var r=this.opts.iconsHtml(t),i;typeof r!="string"&&(r="");n(t).find("div.item-right").remove();i=n(t);this.opts.iconTo&&this.opts.iconTo!==this.opts.hoverTo&&(i=n(t).children(this.opts.iconTo));i.wrapInner("<div><\/div>");i.prepend("<div class='item-right' style='visibility:hidden;'>"+r+"<span cid='actionIcon' class='cnticon cnticon-actions-down' title='"+Vision.Resources.Admin_ContextActionMenu_ShowActionMenuTitle+"'>"+this.opts.menuText+"<\/span><\/div>")};n.fn.extend({cmsHover:function(t,r){var u=n(this);return u.each(function(){new i[t](this,r).init()})}})}(jQuery);$(function(){function n(n,t,i){var r={title:n,url:t,width:750,useFrame:i,onClosed:function(){return}};$.viClientDialog(r).open()}$("a.info_btn[onlineReferenceUrl]").click(function(t){t.preventDefault();var i=$(this),r=i.attr("onlineReferenceUrl");n("",r,!1)})}),function(n){var t=function(t,i){this.setting=n.extend(this._defaultOptions,i);this.gridView=n(t);this.initialize()};t.prototype={_defaultOptions:{postDataName:null,refreshMethod:function(t,i){t&&t.refreshPage?n.vision().refresh():n.refreshTempMessage(i.Message)},refreshOptions:{refreshPage:!0}},initialize:function(){var t=this,i=t.setting,r=t.gridView,e=t.setting.bulkDeleteButton,s=t.setting.contentDisplayName,o=t.setting.postUrl,f=t.setting.refreshMethod,h=t.setting.ignoreButtonClick,u=t.setting.refreshOptions;r.find("input.list_item_cbx[name='checkedRecords']:enabled").length==0&&r.find("input.bulk_delete_check_all[name='checkAllRecords']:checkbox").prop("disabled",!0);r.find("input.bulk_delete_check_all[name='checkAllRecords']").bind("click",function(){var i=n(this);r.find("input.list_item_cbx[name='checkedRecords']:enabled").each(function(t,r){r.checked=i.prop("checked");r.checked?n(r).closest("tr").addClass("list_tr_selected"):n(r).closest("tr").removeClass("list_tr_selected")});t.setDeleteSelectedButtonStatus()});r.delegate("input.list_item_cbx[name='checkedRecords']","click",function(){var i=n(this);i.prop("checked")?i.closest("tr").addClass("list_tr_selected"):i.closest("tr").removeClass("list_tr_selected");t.setDeleteSelectedButtonStatus()});h||e.bind("click",function(){var l,a,h,v,t,c;if(!e.hasClass("bulk_delete_button_disabled")&&r.css("display")!="none"){if(l=r.find("input.list_item_cbx[name='checkedRecords']:checked").length,l==0){alert(Vision.Resources.Admin_BulkDelete_AlertMessage);return}if(a=confirm(n.format(Vision.Resources.Admin_BulkDelete_ConfirmMessageFormat,s)),a==!0&&typeof o!="undefined"){if(n("body").loading(!0,{mask:!0,opacity:.8}),h=[],r.find("input.list_item_cbx[name='checkedRecords']:checked").each(function(t,i){h.push(n(i).val())}),v=u&&u.refreshPage,t={},i.postDataName?t[i.postDataName]=h:t={ids:h},i.postData&&typeof i.postData=="object"&&Object.prototype.toString.call(i.postData).toLowerCase()=="[object object]"&&!i.postData.length)for(c in i.postData)t[c]=i.postData[c];t=n.extend(t,{willRefresh:v});n.vision().postWithJson(o,t,function(t){if(typeof t!="undefined"&&t.IsOk)f(u,t);else{var i=t.Message&&t.Message.length>2?t.Message:Vision.Resources.Admin_Errors_AjaxPostActionFailed;f(u,{Message:i,IsOk:!1})}n("body").loading(null,null,!0)},function(){alert(Vision.Resources.Admin_Errors_AjaxPostActionFailed);f(u,{Message:Vision.Resources.Admin_Errors_AjaxPostActionFailed,IsOk:!1});n("body").loading(null,null,!0)})}else return}})},setDeleteSelectedButtonStatus:function(){var n=this,r=n.setting,i=n.gridView,t=n.setting.bulkDeleteButton;i.find("input.list_item_cbx[name='checkedRecords']:enabled:checked").length>0?t.removeClass("bulk_delete_button_disabled"):t.addClass("bulk_delete_button_disabled")}};n.fn.bulkDeleteItem=function(i){return this.each(function(){var r=n(this),u;if(r.data("bulkDeleteItem"))return r.data("bulkDeleteItem");u=new t(this,i);r.data("bulkDeleteItem",u)})}}(jQuery),function(n){n.fn.sortGridRow=function(t){var i=n.extend({getItemID:function(t){return n(t).find(".grid_item_hidden").val()},sorted:function(){}},t),r=this,u=n(r).find("tbody tr td a.Imageicon-sort").closest("tr"),f=function(t,i){var u=i.children(),r=i.clone();return r.children().each(function(t,i){n(i).width(n(u.get(t)).width())}),r};n(r).find("tbody").sortable({items:u,revert:300,scroll:!0,opacity:.8,tolerance:"pointer",containment:"parent",handle:"td a.Imageicon.sort.Imageicon-sort",helper:f,update:function(t,r){var f=n(r.item),e=f.prev(),o=f.next(),u={sourceID:i.getItemID(f),targetID:"",beforeTarget:!1};e.length>0?n.extend(u,{targetID:i.getItemID(e),beforeTarget:!1}):o.length>0?n.extend(u,{targetID:i.getItemID(o),beforeTarget:!0}):n.extend(u,{targetID:""});u.targetID?i.sorted(u):window.location.href=window.location.href}})}}(jQuery),function(n){return n.extend(n,{getClosestDefaultContentGroupID:function(n){var r=window.top,t,i;for(n=n||window,t=n,i=0;t!=null;){if(i=t.__CurrentContentGroupID,i||t==r)break;t=t.parent}return i||0}}),n.extend(n.fn,{changeToDefualtContentGroup:function(t){var i=n(this);setTimeout(function(){var u,r,f;i.is("select")&&(i.attr("disabled")||(u=i.find("option[selected]").val(),r=n.getClosestDefaultContentGroupID(t),r&&r>0&&(!u||u!=r.toString())&&(f=i.find("option[value='"+r+"']"),f.length>0&&(i.find("option").removeAttr("selected"),f.attr("selected","selected"),i.change()))))},300)}}),this}(jQuery);$(function(){var n=function(n){$(n).find(".export-fields .checkboxlist-container input[type='checkbox']:checked").length<=0?$(n).find("input[type='submit']").attr("disabled","disabled"):$(n).find("input[type='submit']").removeAttr("disabled")};n($(".export-container form"));$("body").delegate(".export-container .export-fields .checkboxlist-container input[type='checkbox']","change",function(){n($(this).closest("form"))})}),function(n){var t=function(t,i){this.setting=n.extend(this._defaultOptions,i);this.gridView=n(t);this.initialize()};t.prototype={_defaultOptions:{postDataName:null,refreshMethod:function(t,i){t&&t.refreshPage?n.vision().refresh():n.refreshTempMessage(i.Message)},refreshOptions:{refreshPage:!0}},initialize:function(){var t=this,f=t.setting,i=t.gridView,e=t.setting.bulkRestoreButton,s=t.setting.contentDisplayName,o=t.setting.postUrl,u=t.setting.refreshMethod,r=t.setting.refreshOptions;i.find("input.list_item_cbx[name='checkedRecords']:enabled").length==0&&i.find("input.bulk_restore_check_all[name='checkAllRecords']:checkbox").prop("disabled",!0);i.find("input.bulk_restore_check_all[name='checkAllRecords']").bind("click",function(){var r=n(this);i.find("input.list_item_cbx[name='checkedRecords']:enabled").each(function(t,i){i.checked=r.prop("checked");i.checked?n(i).closest("tr").addClass("list_tr_selected"):n(i).closest("tr").removeClass("list_tr_selected")});t.setRestoreSelectedButtonStatus()});i.find("input.list_item_cbx[name='checkedRecords']").bind("click",function(){var i=n(this);i.prop("checked")?i.closest("tr").addClass("list_tr_selected"):i.closest("tr").removeClass("list_tr_selected");t.setRestoreSelectedButtonStatus()});e.bind("click",function(){var c,l,h,a,t;if(!e.hasClass("disabled")){if(c=i.find("input.list_item_cbx[name='checkedRecords']:checked").length,c==0){alert('Please select at least one item before clicking the "Restore Selected" button.');return}if(l=confirm(n.format("Are you sure you want to restore the selected {0}?",s)),l==!0&&typeof o!="undefined")n("body").loading(!0,{mask:!0,opacity:.8}),h=[],i.find("input.list_item_cbx[name='checkedRecords']:checked").each(function(t,i){h.push(n(i).val())}),a=r&&r.refreshPage,t={},f.postDataName?t[f.postDataName]=h:t={ids:h},t=n.extend(t,{willRefresh:a}),n.vision().postWithJson(o,t,function(n){typeof n!="undefined"&&n.IsOk?u(r,n):u(r,{Message:"Post Action Failed!",IsOk:!1})},function(){alert("Post Action Failed!");u(r,{Message:"Post Action Failed!",IsOk:!1})});else return}})},setRestoreSelectedButtonStatus:function(){var n=this,r=n.setting,i=n.gridView,t=n.setting.bulkRestoreButton;i.find("input.list_item_cbx[name='checkedRecords']:enabled:checked").length>0?t.removeClass("disabled"):t.addClass("disabled")}};n.fn.bulkRestoreItem=function(i){return this.each(function(){var r=n(this),u;if(r.data("bulkRestoreItem"))return r.data("bulkRestoreItem");u=new t(this,i);r.data("bulkRestoreItem",u)})}}(jQuery);$(function(){function o(){var u=$(".tab-display-state-master"),f,i,t,e;if(u.length)if(u.val().length==0)$("body").find("input[type='hidden'].hidden-display-tab-state").each(function(){var u=$(this).val(),t,i;u=="1"&&(t=$(this).siblings(".form-tab-display"),t.show(),n(t,!1),i=$(".tab-display-state-master"),r(i,t.attr("id"),!0))});else if(f=u.val(),f)for(i=JSON.parse(f),t=0;t<i.tab_state.length;t++)i.tab_state[t].state&&(e=$("#"+i.tab_state[t].display_name),e.show(),n(e,!1));$("body").find(".form-tab-display").each(function(){var t=$(this),i=t.prev("a.tab-anchor");i.on("click",function(){var i=!1,u;t.is(":visible")?(t.hide(),n(t,!0)):(t.show(),i=!0,n(t,!1));u=$(".tab-display-state-master");r(u,t.attr("id"),i)})})}function r(n,t,i){var e=n.val(),f,u,r;if(e.length>0){for(f=!0,r=JSON.parse(e),u=0;u<r.tab_state.length;u++)if(r.tab_state[u].display_name==t){r.tab_state[u].state=i;f=!1;break}f&&r.tab_state.push({display_name:t,state:i});n.val(JSON.stringify(r))}else r={tab_state:[{display_name:t,state:i}]},n.val(JSON.stringify(r))}function n(n,t){var i=n.prev("a.tab-anchor");t?i.children("span.t-icon").removeClass("t-minus").addClass("t-plus"):i.children("span.t-icon").removeClass("t-plus").addClass("t-minus")}var e=$(".tab-state-master"),u,i,t,f;if(e.length)if(e.val().length==0)$("body").find(".open-default").each(function(){$(this).show();n($(this),!1);var t=$(".tab-state-master");r(t,$(this).attr("id"),!0)});else if(u=$(".tab-state-master").val(),u)for(i=JSON.parse(u),t=0;t<i.tab_state.length;t++)i.tab_state[t].state&&(f=$("#"+i.tab_state[t].display_name),f.show(),n(f,!1));$("body").find(".form-tab").each(function(){var t=$(this),i;t.find(".input-validation-error").length>0&&($(this).show(),n($(this),!1));i=t.prev("a.tab-anchor");i.on("click",function(){var e=i.attr("data-target-id"),u=!1,f;t.is(":visible")?(t.hide(),n(t,!0)):(u=!0,t.show(),n(t,!1));f=$(".tab-state-master");r(f,e,u)})});o();$.pushOnloadFunc(o)});$(function(){$("body").on("click",".favorite-tab-gold.clickable",function(){var n=$(this).attr("data-tabname"),r=$(this).attr("data-tabvalue"),t=$(this).attr("data-url"),i=$(this);return $.vision().ajax({url:t,type:"POST",data:{name:n,value:""},success:function(n){n&&n.IsOk?($.refreshTempMessage("Successfully removed as favorite."),i.addClass("favorite-tab-grey").removeClass("favorite-tab-gold").attr("title","Mark as Favorite")):$.refreshTempMessage("Oops! Tab failed to remove as favorite.")},error:function(){$.refreshTempMessage("Oops! Tab failed to remove as favorite.")}}),!1});$("body").on("click",".favorite-tab-grey.clickable",function(){var n=$(this).attr("data-tabname"),t=$(this).attr("data-tabvalue"),i=$(this).attr("data-url"),r=$(this);return $.vision().ajax({url:i,type:"POST",data:{name:n,value:t},success:function(t){t&&t.IsOk?($.refreshTempMessage("Successfully marked as favorite."),$(".favorite-tab-gold[data-tabname='"+n+"']").addClass("favorite-tab-grey").removeClass("favorite-tab-gold").attr("title",""),r.addClass("favorite-tab-gold").removeClass("favorite-tab-grey").attr("title","Remove as Favorite")):$.refreshTempMessage("Oops! Tab failed to mark as favorite.")},error:function(){$.refreshTempMessage("Oops! Tab failed to mark as favorite.")}}),!1})});$(function(){$.ui.sortable.prototype.refreshPositions=function(n){var u,f,t,i,e,r,o,s;for(this.floating=this.items.length?this.options.axis==="x"||this._isFloating(this.items[0].item):!1,u=null,f=null,this.options.iframeToBeFixed&&(u=$(this.options.iframeToBeFixed).offset(),f=$(this.options.iframeToBeFixed).contents().scrollTop()),this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset()),t=this.items.length-1;t>=0;t--)(i=this.items[t],i.instance!==this.currentContainer&&this.currentContainer&&i.item[0]!==this.currentItem[0])||(e=this.options.toleranceElement?$(this.options.toleranceElement,i.item):i.item,n||(i.width=e.outerWidth(),i.height=e.outerHeight()),r=e.offset(),this.options.iframeToBeFixed?(o=u.left+r.left,s=u.top+r.top-f,i.left=o,i.top=s):(i.left=r.left,i.top=r.top));if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(t=this.containers.length-1;t>=0;t--)r=this.containers[t].element.offset(),this.options.iframeToBeFixed?(o=u.left+r.left,s=u.top+r.top-f,this.containers[t].containerCache.left=o,this.containers[t].containerCache.top=s):(this.containers[t].containerCache.left=r.left,this.containers[t].containerCache.top=r.top),this.containers[t].containerCache.width=this.containers[t].element.outerWidth(),this.containers[t].containerCache.height=this.containers[t].element.outerHeight();return this};$.ui.sortable.prototype._mouseDrag=function(n){var f,r,u,e,t=this.options,i=!1,o,s;for(this.position=this._generatePosition(n),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&this.scrollParent[0].tagName!=="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-n.pageY<t.scrollSensitivity?this.scrollParent[0].scrollTop=i=this.scrollParent[0].scrollTop+t.scrollSpeed:n.pageY-this.overflowOffset.top<t.scrollSensitivity&&(this.scrollParent[0].scrollTop=i=this.scrollParent[0].scrollTop-t.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-n.pageX<t.scrollSensitivity?this.scrollParent[0].scrollLeft=i=this.scrollParent[0].scrollLeft+t.scrollSpeed:n.pageX-this.overflowOffset.left<t.scrollSensitivity&&(this.scrollParent[0].scrollLeft=i=this.scrollParent[0].scrollLeft-t.scrollSpeed)):(n.pageY-this.document.scrollTop()<t.scrollSensitivity?i=this.document.scrollTop(this.document.scrollTop()-t.scrollSpeed):this.window.height()-(n.pageY-this.document.scrollTop())<t.scrollSensitivity&&(i=this.document.scrollTop(this.document.scrollTop()+t.scrollSpeed)),n.pageX-this.document.scrollLeft()<t.scrollSensitivity?i=this.document.scrollLeft(this.document.scrollLeft()-t.scrollSpeed):this.window.width()-(n.pageX-this.document.scrollLeft())<t.scrollSensitivity&&(i=this.document.scrollLeft(this.document.scrollLeft()+t.scrollSpeed))),i!==!1&&$.ui.ddmanager&&!t.dropBehaviour&&$.ui.ddmanager.prepareOffsets(this,n)),this.positionAbs=this._convertPositionTo("absolute"),o=null,s=null,this.options.iframeToBeFixed&&(o=$(this.options.iframeToBeFixed).offset(),s=$(this.options.iframeToBeFixed).contents().scrollTop(),this.position.left-=o.left,this.position.top=this.position.top-o.top+s),this.options.axis&&this.options.axis==="y"||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&this.options.axis==="x"||(this.helper[0].style.top=this.position.top+"px"),f=this.items.length-1;f>=0;f--)if((r=this.items[f],u=r.item[0],e=this._intersectsWithPointer(r),e)&&r.instance===this.currentContainer&&u!==this.currentItem[0]&&this.placeholder[e===1?"next":"prev"]()[0]!==u&&!$.contains(this.placeholder[0],u)&&(this.options.type==="semi-dynamic"?!$.contains(this.element[0],u):!0)){if(this.direction=e===1?"down":"up",this.options.tolerance==="pointer"||this._intersectsWithSides(r))this._rearrange(n,r);else break;this._trigger("change",n,this._uiHash());break}return this._contactContainers(n),$.ui.ddmanager&&$.ui.ddmanager.drag(this,n),this._trigger("sort",n,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1}}),function(n,t){function i(n,i){var r=this;t(i.libraryParams).each(function(n,t){switch(t.elementSelectorType){case"custom":t.effect_function=t.customEffectFunction;delete t.customEffectFunction;break;case"self":t.effect_function=r._affect_images;break;default:console.log("Incorrect argument for libraryParams.elementSelectorType");delete t.effect_function}});this._target=n;this._defaultOptions=t.extend(this._defaultOptions,i);this._lazyLoadElements(this._defaultOptions)}t.fn.extend({lazyLoadElements:function(n){var t=this,r=new i(t,n)}});i.prototype={_target:null,_defaultOptions:{lazyLoadParams:null,libraryParams:[{elementLazyLoadSelector:null,elementSelectorType:"self",loadAllElements:!1,customEffectFunction:null,containerCustomSelector:null}]},_lazyLoadElements:function(n){var i=t(this._target);t(n.libraryParams).each(function(t,r){i.find(r.elementLazyLoadSelector).lazyload(n.lazyLoadParams,{effect_function:r.effect_function,load_all_elements:r.loadAllElements,element_select_type:r.elementSelectorType,element_container_selector:r.containerCustomSelector})})},_affect_images:function(n,i,r){var u=t(n);t("<img />").bind("load",function(){var f,e;u.hide().attr("src",u.data(r.data_attribute))[r.effect](r.effect_speed);n.loaded=!0;f=t.grep(i,function(n){return!n.loaded});i=t(f);r.load&&(e=i.length,r.load.call(n,e,r))}).attr("src",u.data(r.data_attribute))}};t(function(){t(".grid-view [name='checkAllRecords']").change(function(){t(this).closest(".grid-view").find("[name='checkedRecords']:not([disabled])").prop("checked",t(this).prop("checked"))});t(".default-3sorts-grid .k-grid-header .k-header > a").each(function(){t(this).find("span.k-icon").length<=0&&t(this).append('<span class="k-icon k-i-arrow-bi"><\/span>')});t(".grid-view .k-grid-header .k-header.header-colspan-to, .grid-view td.cell-colspan").remove();t("body").delegate(".shorten-url-wrapper .shorten-url-button","click",function(){var n=t(this),u=n.data("shorten-post-url"),i=n.closest(".short-url-wrapper-grand").find(".shorten-url-input"),r=i.val();/^[h|H][t|T][t|T][p|P]:\/\/$|^([h|H][t|T][t|T][p|P][s|S]?|[f|F][t|T][p|P]):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(localhost)|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/.test(r)?t.vision().ajax({url:u,data:{longUrl:r},type:"GET",success:function(r){var u,f;r.IsOK?(u=n.closest(".short-url-wrapper-grand").find("textarea"),u.length>0&&(f=u.val(),f=f.replace(/^Compose message.../g,""),u.val(f),u.val(u.val()+" "+r.ShortUrl),i.val(""),u.hasClass("character-count-input")&&u.characterCounter({maxLength:visionOptions.socialMediaInfo.twitter.maxLength,ignoreCustomMsg:!0,container:function(n){return t(n).parent().parent()}}))):alert(r.ErrorMessage)},error:function(){}}):alert("Please enter a valid URL")});t("body").delegate(".approval-buttons-v2 .action.preview a, .grid-view .preview-button","click",function(n){var i,r;n.preventDefault();i=t(n.target).attr("href");i&&(r={title:"Preview Mode",url:i,dataType:"json",isFullScreen:!0,fixed:!0,skin:"viClientDialog-Preview",useFrame:!0,zIndex:2147483001,onClosed:function(){t("body #wrapper").show();return}},t.viClientDialog(r).open(),t("body #wrapper").hide())});var n=null;t("body").delegate(".approval-buttons-v2 .action input","click",function(i){var r=t(i.target),a=r.attr("actiontypeconfirmation"),s=r.attr("noticetext"),h=r.attr("titlebartext"),c,o,l;if(h)i.preventDefault();else return;var f=r.closest("form"),e=r.closest("ul.approval-buttons-v2"),v=e.siblings(".approval-buttons-v2-hidden-button-texts").children(".button-cancel-text").text(),y=e.siblings(".approval-buttons-v2-hidden-button-texts").children(".button-ok-text").text();n==null&&(n=e.find("span.approval-notes").parent().html());c=e.find("span.approval-notes textarea").val();f.find(".approval-notes").parent().remove();f.find("#ApprovalNotes").length==0&&t("<li>"+n+"<\/li>").insertBefore(r.closest("li"));s=s?"":"";var p='<div class="approval-buttons-v2-comment">'.concat('<span class="action-type-confirmation">'+a+"<\/span>").concat(s).concat(n).concat("<span class='remain_characters_wrapper'><p class='remain_characters'><\/p> charater(s) remaining<\/span>").concat('<span><a href="javascript:void(0);" class="command call-close-button">'+v+'<\/a><input class="command primary call-form-submit" type="submit" value="'+y+'"/> <\/span>').concat("<\/div>"),w={title:h,html:p,width:500,height:200,method:"GET",useFrame:!1,skin:"viClientDialog-light",onClosed:function(){}},u=t.viClientDialog(w);u.open();o=t(".approval-buttons-v2-comment .approval-notes textarea");o.val(c);l=o.data("val-length-max")||300;o.characterCounter({maxLength:l,container:t(".approval-buttons-v2-comment")});u.dom.outer.find(".approval-buttons-v2-comment").delegate(".call-form-submit","click",function(){f.find(".approval-buttons-v2 .approval-notes textarea").val(u.dom.outer.find(".approval-buttons-v2-comment .approval-notes textarea").val());u.close();f.submit()});u.dom.outer.find(".approval-buttons-v2-comment").delegate(".call-close-button","click",function(){u.close()})});t("body").delegate(".approval-buttons-bar input:submit","click",function(){var f=t(this).closest("form").find("#actionType"),i,r,n,e,u;f.length>0&&(i=f[0],t(this).closest("form").find("#actionType").not(i).remove());t(i).val(t(this).attr("actionType"));r=t(this).attr("actionUrl");t(this).hasClass("unlock")&&r&&(n=t(this).closest("form"),n.data("validator").cancelSubmit=!0,n.attr("action",r),n.attr("method","post"),n.scope&&n.attr("name")&&(e=n.scope()[n.attr("name")],e.unlocking=!0,u=n.scope().viewModel,u&&(u.save=function(){}),n.submit()))})})}(window,jQuery);;
