diff options
| -rw-r--r-- | Gruntfile.js | 6 | ||||
| -rw-r--r-- | dist/app.min.js | 2 | ||||
| -rw-r--r-- | dist/index.html | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/Gruntfile.js b/Gruntfile.js index 9cbc671..9ee254a 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -5,7 +5,7 @@ module.exports = function(grunt) { pkg: grunt.file.readJSON('package.json'), dentist: { options: { - include: "app.concat.js" + include: "app.min.js" }, build: { src: 'shader-combo.html', @@ -97,6 +97,6 @@ module.exports = function(grunt) { // Default task(s). - grunt.registerTask('default', ['dentist:build', 'concat:build', 'copy:build']); - grunt.registerTask('install', ['default', 'uglify:build', 'clean', 'copy:release']); + grunt.registerTask('default', ['dentist:build', 'concat:build', 'uglify:build', 'copy:build']); + grunt.registerTask('install', ['default', 'clean', 'copy:release']); }; diff --git a/dist/app.min.js b/dist/app.min.js index 65dbd4e..e525383 100644 --- a/dist/app.min.js +++ b/dist/app.min.js @@ -7,4 +7,4 @@ try{for(;e>d;d++)c=this[d]||{},1===c.nodeType&&(fb.cleanData(q(c,!1)),c.innerHTM }"string"!=typeof h&&(i.guid=h.guid=h.guid||i.guid||a.guid++);var j=e.match(/^(\w+)\s*(.*)$/),k=j[1]+g.eventNamespace,l=j[2];l?f.delegate(l,k,i):d.bind(k,i)})},_off:function(a,b){b=(b||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,a.unbind(b).undelegate(b)},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}})}(jQuery),function(a){var b=!1;a(document).mouseup(function(){b=!1}),a.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){return!0===a.data(c.target,b.widgetName+".preventClickEvent")?(a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(c){if(!b){this._mouseStarted&&this._mouseUp(c),this._mouseDownEvent=c;var d=this,e=1===c.which,f="string"==typeof this.options.cancel&&c.target.nodeName?a(c.target).closest(this.options.cancel).length:!1;return e&&!f&&this._mouseCapture(c)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(c)&&this._mouseDelayMet(c)&&(this._mouseStarted=this._mouseStart(c)!==!1,!this._mouseStarted)?(c.preventDefault(),!0):(!0===a.data(c.target,this.widgetName+".preventClickEvent")&&a.removeData(c.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),c.preventDefault(),b=!0,!0)):!0}},_mouseMove:function(b){return a.ui.ie&&(!document.documentMode||9>document.documentMode)&&!b.button?this._mouseUp(b):this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target===this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}(jQuery),function(a){a.widget("ui.draggable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;return this.helper||c.disabled||a(b.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(b),this.handle?(a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=this,d=!1;return a.ui.ddmanager&&!this.options.dropBehaviour&&(d=a.ui.ddmanager.drop(this,b)),this.dropped&&(d=this.dropped,this.dropped=!1),"original"!==this.options.helper||a.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!d||"valid"===this.options.revert&&d||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d)?a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",b)!==!1&&c._clear()}):this._trigger("stop",b)!==!1&&this._clear(),!1):!1},_mouseUp:function(b){return a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){return this.options.handle?!!a(b.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):"clone"===c.helper?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo("parent"===c.appendTo?this.element[0].parentNode:c.appendTo),d[0]===this.element[0]||/(fixed|absolute)/.test(d.css("position"))||d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;return e.containment?"window"===e.containment?void(this.containment=[a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,a(window).scrollLeft()+a(window).width()-this.helperProportions.width-this.margins.left,a(window).scrollTop()+(a(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):"document"===e.containment?void(this.containment=[0,0,a(document).width()-this.helperProportions.width-this.margins.left,(a(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):e.containment.constructor===Array?void(this.containment=e.containment):("parent"===e.containment&&(e.containment=this.helper[0].parentNode),c=a(e.containment),d=c[0],void(d&&(b="hidden"!==c.css("overflow"),this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(b?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(b?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c))):void(this.containment=null)},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:e.scrollTop(),left:e.scrollLeft()}),{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*d}},_generatePosition:function(b){var c,d,e,f,g=this.options,h="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=b.pageX,j=b.pageY;return this.offset.scroll||(this.offset.scroll={top:h.scrollTop(),left:h.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(d=this.relative_container.offset(),c=[this.containment[0]+d.left,this.containment[1]+d.top,this.containment[2]+d.left,this.containment[3]+d.top]):c=this.containment,b.pageX-this.offset.click.left<c[0]&&(i=c[0]+this.offset.click.left),b.pageY-this.offset.click.top<c[1]&&(j=c[1]+this.offset.click.top),b.pageX-this.offset.click.left>c[2]&&(i=c[2]+this.offset.click.left),b.pageY-this.offset.click.top>c[3]&&(j=c[3]+this.offset.click.top)),g.grid&&(e=g.grid[1]?this.originalPageY+Math.round((j-this.originalPageY)/g.grid[1])*g.grid[1]:this.originalPageY,j=c?e-this.offset.click.top>=c[1]||e-this.offset.click.top>c[3]?e:e-this.offset.click.top>=c[1]?e-g.grid[1]:e+g.grid[1]:e,f=g.grid[0]?this.originalPageX+Math.round((i-this.originalPageX)/g.grid[0])*g.grid[0]:this.originalPageX,i=c?f-this.offset.click.left>=c[0]||f-this.offset.click.left>c[2]?f:f-this.offset.click.left>=c[0]?f-g.grid[0]:f+g.grid[0]:f)),{top:j-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),"drag"===b&&(this.positionAbs=this._convertPositionTo("absolute")),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("ui-draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"ui-sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("ui-draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,"original"===d.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("ui-draggable"),e=this;a.each(d.sortables,function(){var f=!1,g=this;this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(f=!0,a.each(d.sortables,function(){return this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this!==g&&this.instance._intersectsWith(this.instance.containerCache)&&a.contains(g.instance.element[0],this.instance.element[0])&&(f=!1),f})),f?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(){var b=a("body"),c=a(this).data("ui-draggable").options;b.css("cursor")&&(c._cursor=b.css("cursor")),b.css("cursor",c.cursor)},stop:function(){var b=a(this).data("ui-draggable").options;b._cursor&&a("body").css("cursor",b._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("ui-draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("ui-draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(){var b=a(this).data("ui-draggable");b.scrollParent[0]!==document&&"HTML"!==b.scrollParent[0].tagName&&(b.overflowOffset=b.scrollParent.offset())},drag:function(b){var c=a(this).data("ui-draggable"),d=c.options,e=!1;c.scrollParent[0]!==document&&"HTML"!==c.scrollParent[0].tagName?(d.axis&&"x"===d.axis||(c.overflowOffset.top+c.scrollParent[0].offsetHeight-b.pageY<d.scrollSensitivity?c.scrollParent[0].scrollTop=e=c.scrollParent[0].scrollTop+d.scrollSpeed:b.pageY-c.overflowOffset.top<d.scrollSensitivity&&(c.scrollParent[0].scrollTop=e=c.scrollParent[0].scrollTop-d.scrollSpeed)),d.axis&&"y"===d.axis||(c.overflowOffset.left+c.scrollParent[0].offsetWidth-b.pageX<d.scrollSensitivity?c.scrollParent[0].scrollLeft=e=c.scrollParent[0].scrollLeft+d.scrollSpeed:b.pageX-c.overflowOffset.left<d.scrollSensitivity&&(c.scrollParent[0].scrollLeft=e=c.scrollParent[0].scrollLeft-d.scrollSpeed))):(d.axis&&"x"===d.axis||(b.pageY-a(document).scrollTop()<d.scrollSensitivity?e=a(document).scrollTop(a(document).scrollTop()-d.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<d.scrollSensitivity&&(e=a(document).scrollTop(a(document).scrollTop()+d.scrollSpeed))),d.axis&&"y"===d.axis||(b.pageX-a(document).scrollLeft()<d.scrollSensitivity?e=a(document).scrollLeft(a(document).scrollLeft()-d.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<d.scrollSensitivity&&(e=a(document).scrollLeft(a(document).scrollLeft()+d.scrollSpeed)))),e!==!1&&a.ui.ddmanager&&!d.dropBehaviour&&a.ui.ddmanager.prepareOffsets(c,b)}}),a.ui.plugin.add("draggable","snap",{start:function(){var b=a(this).data("ui-draggable"),c=b.options;b.snapElements=[],a(c.snap.constructor!==String?c.snap.items||":data(ui-draggable)":c.snap).each(function(){var c=a(this),d=c.offset();this!==b.element[0]&&b.snapElements.push({item:this,width:c.outerWidth(),height:c.outerHeight(),top:d.top,left:d.left})})},drag:function(b,c){var d,e,f,g,h,i,j,k,l,m,n=a(this).data("ui-draggable"),o=n.options,p=o.snapTolerance,q=c.offset.left,r=q+n.helperProportions.width,s=c.offset.top,t=s+n.helperProportions.height;for(l=n.snapElements.length-1;l>=0;l--)h=n.snapElements[l].left,i=h+n.snapElements[l].width,j=n.snapElements[l].top,k=j+n.snapElements[l].height,h-p>r||q>i+p||j-p>t||s>k+p||!a.contains(n.snapElements[l].item.ownerDocument,n.snapElements[l].item)?(n.snapElements[l].snapping&&n.options.snap.release&&n.options.snap.release.call(n.element,b,a.extend(n._uiHash(),{snapItem:n.snapElements[l].item})),n.snapElements[l].snapping=!1):("inner"!==o.snapMode&&(d=p>=Math.abs(j-t),e=p>=Math.abs(k-s),f=p>=Math.abs(h-r),g=p>=Math.abs(i-q),d&&(c.position.top=n._convertPositionTo("relative",{top:j-n.helperProportions.height,left:0}).top-n.margins.top),e&&(c.position.top=n._convertPositionTo("relative",{top:k,left:0}).top-n.margins.top),f&&(c.position.left=n._convertPositionTo("relative",{top:0,left:h-n.helperProportions.width}).left-n.margins.left),g&&(c.position.left=n._convertPositionTo("relative",{top:0,left:i}).left-n.margins.left)),m=d||e||f||g,"outer"!==o.snapMode&&(d=p>=Math.abs(j-s),e=p>=Math.abs(k-t),f=p>=Math.abs(h-q),g=p>=Math.abs(i-r),d&&(c.position.top=n._convertPositionTo("relative",{top:j,left:0}).top-n.margins.top),e&&(c.position.top=n._convertPositionTo("relative",{top:k-n.helperProportions.height,left:0}).top-n.margins.top),f&&(c.position.left=n._convertPositionTo("relative",{top:0,left:h}).left-n.margins.left),g&&(c.position.left=n._convertPositionTo("relative",{top:0,left:i-n.helperProportions.width}).left-n.margins.left)),!n.snapElements[l].snapping&&(d||e||f||g||m)&&n.options.snap.snap&&n.options.snap.snap.call(n.element,b,a.extend(n._uiHash(),{snapItem:n.snapElements[l].item})),n.snapElements[l].snapping=d||e||f||g||m)}}),a.ui.plugin.add("draggable","stack",{start:function(){var b,c=this.data("ui-draggable").options,d=a.makeArray(a(c.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});d.length&&(b=parseInt(a(d[0]).css("zIndex"),10)||0,a(d).each(function(c){a(this).css("zIndex",b+c)}),this.css("zIndex",b+d.length))}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("ui-draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("ui-draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})}(jQuery),function(a){function b(a){return parseInt(a,10)||0}function c(a){return!isNaN(parseInt(a,10))}a.widget("ui.resizable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var b,c,d,e,f,g=this,h=this.options;if(this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!h.aspectRatio,aspectRatio:h.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:h.helper||h.ghost||h.animate?h.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=h.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),b=this.handles.split(","),this.handles={},c=0;b.length>c;c++)d=a.trim(b[c]),f="ui-resizable-"+d,e=a("<div class='ui-resizable-handle "+f+"'></div>"),e.css({zIndex:h.zIndex}),"se"===d&&e.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[d]=".ui-resizable-"+d,this.element.append(e);this._renderAxis=function(b){var c,d,e,f;b=b||this.element;for(c in this.handles)this.handles[c].constructor===String&&(this.handles[c]=a(this.handles[c],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(d=a(this.handles[c],this.element),f=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth(),e=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join(""),b.css(e,f),this._proportionallyResize()),a(this.handles[c]).length},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){g.resizing||(this.className&&(e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),g.axis=e&&e[1]?e[1]:"se")}),h.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").mouseenter(function(){h.disabled||(a(this).removeClass("ui-resizable-autohide"),g._handles.show())}).mouseleave(function(){h.disabled||g.resizing||(a(this).addClass("ui-resizable-autohide"),g._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var b,c=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(c(this.element),b=this.element,this.originalElement.css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")}).insertAfter(b),b.remove()),this.originalElement.css("resize",this.originalResizeStyle),c(this.originalElement),this},_mouseCapture:function(b){var c,d,e=!1;for(c in this.handles)d=a(this.handles[c])[0],(d===b.target||a.contains(d,b.target))&&(e=!0);return!this.options.disabled&&e},_mouseStart:function(c){var d,e,f,g=this.options,h=this.element.position(),i=this.element;return this.resizing=!0,/absolute/.test(i.css("position"))?i.css({position:"absolute",top:i.css("top"),left:i.css("left")}):i.is(".ui-draggable")&&i.css({position:"absolute",top:h.top,left:h.left}),this._renderProxy(),d=b(this.helper.css("left")),e=b(this.helper.css("top")),g.containment&&(d+=a(g.containment).scrollLeft()||0,e+=a(g.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:d,top:e},this.size=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.originalSize=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.originalPosition={left:d,top:e},this.sizeDiff={width:i.outerWidth()-i.width(),height:i.outerHeight()-i.height()},this.originalMousePosition={left:c.pageX,top:c.pageY},this.aspectRatio="number"==typeof g.aspectRatio?g.aspectRatio:this.originalSize.width/this.originalSize.height||1,f=a(".ui-resizable-"+this.axis).css("cursor"),a("body").css("cursor","auto"===f?this.axis+"-resize":f),i.addClass("ui-resizable-resizing"),this._propagate("start",c),!0},_mouseDrag:function(b){var c,d=this.helper,e={},f=this.originalMousePosition,g=this.axis,h=this.position.top,i=this.position.left,j=this.size.width,k=this.size.height,l=b.pageX-f.left||0,m=b.pageY-f.top||0,n=this._change[g];return n?(c=n.apply(this,[b,l,m]),this._updateVirtualBoundaries(b.shiftKey),(this._aspectRatio||b.shiftKey)&&(c=this._updateRatio(c,b)),c=this._respectSize(c,b),this._updateCache(c),this._propagate("resize",b),this.position.top!==h&&(e.top=this.position.top+"px"),this.position.left!==i&&(e.left=this.position.left+"px"),this.size.width!==j&&(e.width=this.size.width+"px"),this.size.height!==k&&(e.height=this.size.height+"px"),d.css(e),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),a.isEmptyObject(e)||this._trigger("resize",b,this.ui()),!1):!1},_mouseStop:function(b){this.resizing=!1;var c,d,e,f,g,h,i,j=this.options,k=this;return this._helper&&(c=this._proportionallyResizeElements,d=c.length&&/textarea/i.test(c[0].nodeName),e=d&&a.ui.hasScroll(c[0],"left")?0:k.sizeDiff.height,f=d?0:k.sizeDiff.width,g={width:k.helper.width()-f,height:k.helper.height()-e},h=parseInt(k.element.css("left"),10)+(k.position.left-k.originalPosition.left)||null,i=parseInt(k.element.css("top"),10)+(k.position.top-k.originalPosition.top)||null,j.animate||this.element.css(a.extend(g,{top:i,left:h})),k.helper.height(k.size.height),k.helper.width(k.size.width),this._helper&&!j.animate&&this._proportionallyResize()),a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(a){var b,d,e,f,g,h=this.options;g={minWidth:c(h.minWidth)?h.minWidth:0,maxWidth:c(h.maxWidth)?h.maxWidth:1/0,minHeight:c(h.minHeight)?h.minHeight:0,maxHeight:c(h.maxHeight)?h.maxHeight:1/0},(this._aspectRatio||a)&&(b=g.minHeight*this.aspectRatio,e=g.minWidth/this.aspectRatio,d=g.maxHeight*this.aspectRatio,f=g.maxWidth/this.aspectRatio,b>g.minWidth&&(g.minWidth=b),e>g.minHeight&&(g.minHeight=e),g.maxWidth>d&&(g.maxWidth=d),g.maxHeight>f&&(g.maxHeight=f)),this._vBoundaries=g},_updateCache:function(a){this.offset=this.helper.offset(),c(a.left)&&(this.position.left=a.left),c(a.top)&&(this.position.top=a.top),c(a.height)&&(this.size.height=a.height),c(a.width)&&(this.size.width=a.width)},_updateRatio:function(a){var b=this.position,d=this.size,e=this.axis;return c(a.height)?a.width=a.height*this.aspectRatio:c(a.width)&&(a.height=a.width/this.aspectRatio),"sw"===e&&(a.left=b.left+(d.width-a.width),a.top=null),"nw"===e&&(a.top=b.top+(d.height-a.height),a.left=b.left+(d.width-a.width)),a},_respectSize:function(a){var b=this._vBoundaries,d=this.axis,e=c(a.width)&&b.maxWidth&&b.maxWidth<a.width,f=c(a.height)&&b.maxHeight&&b.maxHeight<a.height,g=c(a.width)&&b.minWidth&&b.minWidth>a.width,h=c(a.height)&&b.minHeight&&b.minHeight>a.height,i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,k=/sw|nw|w/.test(d),l=/nw|ne|n/.test(d);return g&&(a.width=b.minWidth),h&&(a.height=b.minHeight),e&&(a.width=b.maxWidth),f&&(a.height=b.maxHeight),g&&k&&(a.left=i-b.minWidth),e&&k&&(a.left=i-b.maxWidth),h&&l&&(a.top=j-b.minHeight),f&&l&&(a.top=j-b.maxHeight),a.width||a.height||a.left||!a.top?a.width||a.height||a.top||!a.left||(a.left=null):a.top=null,a},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var a,b,c,d,e,f=this.helper||this.element;for(a=0;this._proportionallyResizeElements.length>a;a++){if(e=this._proportionallyResizeElements[a],!this.borderDif)for(this.borderDif=[],c=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],d=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")],b=0;c.length>b;b++)this.borderDif[b]=(parseInt(c[b],10)||0)+(parseInt(d[b],10)||0); e.css({height:f.height()-this.borderDif[0]-this.borderDif[2]||0,width:f.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset(),this._helper?(this.helper=this.helper||a("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(a,b){return{width:this.originalSize.width+b}},w:function(a,b){var c=this.originalSize,d=this.originalPosition;return{left:d.left+b,width:c.width-b}},n:function(a,b,c){var d=this.originalSize,e=this.originalPosition;return{top:e.top+c,height:d.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),"resize"!==b&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.ui.plugin.add("resizable","animate",{stop:function(b){var c=a(this).data("ui-resizable"),d=c.options,e=c._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height,h=f?0:c.sizeDiff.width,i={width:c.size.width-h,height:c.size.height-g},j=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,k=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;c.element.animate(a.extend(i,k&&j?{top:k,left:j}:{}),{duration:d.animateDuration,easing:d.animateEasing,step:function(){var d={width:parseInt(c.element.css("width"),10),height:parseInt(c.element.css("height"),10),top:parseInt(c.element.css("top"),10),left:parseInt(c.element.css("left"),10)};e&&e.length&&a(e[0]).css({width:d.width,height:d.height}),c._updateCache(d),c._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(){var c,d,e,f,g,h,i,j=a(this).data("ui-resizable"),k=j.options,l=j.element,m=k.containment,n=m instanceof a?m.get(0):/parent/.test(m)?l.parent().get(0):m;n&&(j.containerElement=a(n),/document/.test(m)||m===document?(j.containerOffset={left:0,top:0},j.containerPosition={left:0,top:0},j.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}):(c=a(n),d=[],a(["Top","Right","Left","Bottom"]).each(function(a,e){d[a]=b(c.css("padding"+e))}),j.containerOffset=c.offset(),j.containerPosition=c.position(),j.containerSize={height:c.innerHeight()-d[3],width:c.innerWidth()-d[1]},e=j.containerOffset,f=j.containerSize.height,g=j.containerSize.width,h=a.ui.hasScroll(n,"left")?n.scrollWidth:g,i=a.ui.hasScroll(n)?n.scrollHeight:f,j.parentData={element:n,left:e.left,top:e.top,width:h,height:i}))},resize:function(b){var c,d,e,f,g=a(this).data("ui-resizable"),h=g.options,i=g.containerOffset,j=g.position,k=g._aspectRatio||b.shiftKey,l={top:0,left:0},m=g.containerElement;m[0]!==document&&/static/.test(m.css("position"))&&(l=i),j.left<(g._helper?i.left:0)&&(g.size.width=g.size.width+(g._helper?g.position.left-i.left:g.position.left-l.left),k&&(g.size.height=g.size.width/g.aspectRatio),g.position.left=h.helper?i.left:0),j.top<(g._helper?i.top:0)&&(g.size.height=g.size.height+(g._helper?g.position.top-i.top:g.position.top),k&&(g.size.width=g.size.height*g.aspectRatio),g.position.top=g._helper?i.top:0),g.offset.left=g.parentData.left+g.position.left,g.offset.top=g.parentData.top+g.position.top,c=Math.abs((g._helper?g.offset.left-l.left:g.offset.left-l.left)+g.sizeDiff.width),d=Math.abs((g._helper?g.offset.top-l.top:g.offset.top-i.top)+g.sizeDiff.height),e=g.containerElement.get(0)===g.element.parent().get(0),f=/relative|absolute/.test(g.containerElement.css("position")),e&&f&&(c-=g.parentData.left),c+g.size.width>=g.parentData.width&&(g.size.width=g.parentData.width-c,k&&(g.size.height=g.size.width/g.aspectRatio)),d+g.size.height>=g.parentData.height&&(g.size.height=g.parentData.height-d,k&&(g.size.width=g.size.height*g.aspectRatio))},stop:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.containerOffset,e=b.containerPosition,f=b.containerElement,g=a(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width,j=g.outerHeight()-b.sizeDiff.height;b._helper&&!c.animate&&/relative/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j}),b._helper&&!c.animate&&/static/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j})}}),a.ui.plugin.add("resizable","alsoResize",{start:function(){var b=a(this).data("ui-resizable"),c=b.options,d=function(b){a(b).each(function(){var b=a(this);b.data("ui-resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};"object"!=typeof c.alsoResize||c.alsoResize.parentNode?d(c.alsoResize):c.alsoResize.length?(c.alsoResize=c.alsoResize[0],d(c.alsoResize)):a.each(c.alsoResize,function(a){d(a)})},resize:function(b,c){var d=a(this).data("ui-resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("ui-resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};"object"!=typeof e.alsoResize||e.alsoResize.nodeType?i(e.alsoResize):a.each(e.alsoResize,function(a,b){i(a,b)})},stop:function(){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","ghost",{start:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.size;b.ghost=b.originalElement.clone(),b.ghost.css({opacity:.25,display:"block",position:"relative",height:d.height,width:d.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof c.ghost?c.ghost:""),b.ghost.appendTo(b.helper)},resize:function(){var b=a(this).data("ui-resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=a(this).data("ui-resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.size,e=b.originalSize,f=b.originalPosition,g=b.axis,h="number"==typeof c.grid?[c.grid,c.grid]:c.grid,i=h[0]||1,j=h[1]||1,k=Math.round((d.width-e.width)/i)*i,l=Math.round((d.height-e.height)/j)*j,m=e.width+k,n=e.height+l,o=c.maxWidth&&m>c.maxWidth,p=c.maxHeight&&n>c.maxHeight,q=c.minWidth&&c.minWidth>m,r=c.minHeight&&c.minHeight>n;c.grid=h,q&&(m+=i),r&&(n+=j),o&&(m-=i),p&&(n-=j),/^(se|s|e)$/.test(g)?(b.size.width=m,b.size.height=n):/^(ne)$/.test(g)?(b.size.width=m,b.size.height=n,b.position.top=f.top-l):/^(sw)$/.test(g)?(b.size.width=m,b.size.height=n,b.position.left=f.left-k):(b.size.width=m,b.size.height=n,b.position.top=f.top-l,b.position.left=f.left-k)}})}(jQuery),function(a){function b(a,b,c){return a>b&&b+c>a}function c(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))}a.widget("ui.sortable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===a.axis||c(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){"disabled"===b?(this.options[b]=c,this.widget().toggleClass("ui-sortable-disabled",!!c)):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=null,e=!1,f=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(b),a(b.target).parents().each(function(){return a.data(this,f.widgetName+"-item")===f?(d=a(this),!1):void 0}),a.data(b.target,f.widgetName+"-item")===f&&(d=a(b.target)),d?!this.options.handle||c||(a(this.options.handle,d).find("*").addBack().each(function(){this===b.target&&(e=!0)}),e)?(this.currentItem=d,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(b,c,d){var e,f,g=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),g.containment&&this._setContainment(),g.cursor&&"auto"!==g.cursor&&(f=this.document.find("body"),this.storedCursor=f.css("cursor"),f.css("cursor",g.cursor),this.storedStylesheet=a("<style>*{ cursor: "+g.cursor+" !important; }</style>").appendTo(f)),g.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",g.opacity)),g.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",g.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!d)for(e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("activate",b,this._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){var c,d,e,f,g=this.options,h=!1;for(this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<g.scrollSensitivity?this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop+g.scrollSpeed:b.pageY-this.overflowOffset.top<g.scrollSensitivity&&(this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop-g.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<g.scrollSensitivity?this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft+g.scrollSpeed:b.pageX-this.overflowOffset.left<g.scrollSensitivity&&(this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft-g.scrollSpeed)):(b.pageY-a(document).scrollTop()<g.scrollSensitivity?h=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<g.scrollSensitivity&&(h=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)),b.pageX-a(document).scrollLeft()<g.scrollSensitivity?h=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<g.scrollSensitivity&&(h=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed))),h!==!1&&a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),c=this.items.length-1;c>=0;c--)if(d=this.items[c],e=d.item[0],f=this._intersectsWithPointer(d),f&&d.instance===this.currentContainer&&e!==this.currentItem[0]&&this.placeholder[1===f?"next":"prev"]()[0]!==e&&!a.contains(this.placeholder[0],e)&&("semi-dynamic"===this.options.type?!a.contains(this.element[0],e):!0)){if(this.direction=1===f?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(d))break;this._rearrange(b,d),this._trigger("change",b,this._uiHash());break}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(b){if(a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b),this.options.revert){var d=this,e=this.placeholder.offset(),f=this.options.axis,g={};f&&"x"!==f||(g.left=e.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),f&&"y"!==f||(g.top=e.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,a(this.helper).animate(g,parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--)this.containers[b]._trigger("deactivate",null,this._uiHash(this)),this.containers[b].containerCache.over&&(this.containers[b]._trigger("out",null,this._uiHash(this)),this.containers[b].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[\-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l="x"===this.options.axis||d+j>h&&i>d+j,m="y"===this.options.axis||b+k>f&&g>b+k,n=l&&m;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?n:b+this.helperProportions.width/2>f&&g>c-this.helperProportions.width/2&&d+this.helperProportions.height/2>h&&i>e-this.helperProportions.height/2},_intersectsWithPointer:function(a){var c="x"===this.options.axis||b(this.positionAbs.top+this.offset.click.top,a.top,a.height),d="y"===this.options.axis||b(this.positionAbs.left+this.offset.click.left,a.left,a.width),e=c&&d,f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();return e?this.floating?g&&"right"===g||"down"===f?2:1:f&&("down"===f?2:1):!1},_intersectsWithSides:function(a){var c=b(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height),d=b(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width),e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return this.floating&&f?"right"===f&&d||"left"===f&&!d:e&&("down"===e&&c||"up"===e&&!c)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return 0!==a&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return 0!==a&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor===String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c,d,e,f,g=[],h=[],i=this._connectWith();if(i&&b)for(c=i.length-1;c>=0;c--)for(e=a(i[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&h.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),f]);for(h.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),c=h.length-1;c>=0;c--)h[c][0].each(function(){g.push(this)});return a(g)},_removeCurrentsFromItems:function(){var b=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=a.grep(this.items,function(a){for(var c=0;b.length>c;c++)if(b[c]===a.item[0])return!1;return!0})},_refreshItems:function(b){this.items=[],this.containers=[this];var c,d,e,f,g,h,i,j,k=this.items,l=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],m=this._connectWith();if(m&&this.ready)for(c=m.length-1;c>=0;c--)for(e=a(m[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&(l.push([a.isFunction(f.options.items)?f.options.items.call(f.element[0],b,{item:this.currentItem}):a(f.options.items,f.element),f]),this.containers.push(f));for(c=l.length-1;c>=0;c--)for(g=l[c][1],h=l[c][0],d=0,j=h.length;j>d;d++)i=a(h[d]),i.data(this.widgetName+"-item",g),k.push({item:i,instance:g,width:0,height:0,left:0,top:0})},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var c,d,e,f;for(c=this.items.length-1;c>=0;c--)d=this.items[c],d.instance!==this.currentContainer&&this.currentContainer&&d.item[0]!==this.currentItem[0]||(e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item,b||(d.width=e.outerWidth(),d.height=e.outerHeight()),f=e.offset(),d.left=f.left,d.top=f.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(c=this.containers.length-1;c>=0;c--)f=this.containers[c].element.offset(),this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight();return this},_createPlaceholder:function(b){b=b||this;var c,d=b.options;d.placeholder&&d.placeholder.constructor!==String||(c=d.placeholder,d.placeholder={element:function(){var d=b.currentItem[0].nodeName.toLowerCase(),e=a("<"+d+">",b.document[0]).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===d?b.currentItem.children().each(function(){a("<td> </td>",b.document[0]).attr("colspan",a(this).attr("colspan")||1).appendTo(e)}):"img"===d&&e.attr("src",b.currentItem.attr("src")),c||e.css("visibility","hidden"),e},update:function(a,e){(!c||d.forcePlaceholderSize)&&(e.height()||e.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10)))}}),b.placeholder=a(d.placeholder.element.call(b.element,b.currentItem)),b.currentItem.after(b.placeholder),d.placeholder.update(b,b.placeholder)},_contactContainers:function(d){var e,f,g,h,i,j,k,l,m,n,o=null,p=null;for(e=this.containers.length-1;e>=0;e--)if(!a.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(o&&a.contains(this.containers[e].element[0],o.element[0]))continue;o=this.containers[e],p=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",d,this._uiHash(this)),this.containers[e].containerCache.over=0);if(o)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",d,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(g=1e4,h=null,n=o.floating||c(this.currentItem),i=n?"left":"top",j=n?"width":"height",k=this.positionAbs[i]+this.offset.click[i],f=this.items.length-1;f>=0;f--)a.contains(this.containers[p].element[0],this.items[f].item[0])&&this.items[f].item[0]!==this.currentItem[0]&&(!n||b(this.positionAbs.top+this.offset.click.top,this.items[f].top,this.items[f].height))&&(l=this.items[f].item.offset()[i],m=!1,Math.abs(l-k)>Math.abs(l+this.items[f][j]-k)&&(m=!0,l+=this.items[f][j]),g>Math.abs(l-k)&&(g=Math.abs(l-k),h=this.items[f],this.direction=m?"up":"down"));if(!h&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return;h?this._rearrange(d,h,null,!0):this._rearrange(d,null,this.containers[p].element,!0),this._trigger("change",d,this._uiHash()),this.containers[p]._trigger("change",d,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",d,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):"clone"===c.helper?this.currentItem.clone():this.currentItem;return d.parents("body").length||a("parent"!==c.appendTo?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!d[0].style.width||c.forceHelperSize)&&d.width(this.currentItem.width()),(!d[0].style.height||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;"parent"===e.containment&&(e.containment=this.helper[0].parentNode),("document"===e.containment||"window"===e.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a("document"===e.containment?document:window).width()-this.helperProportions.width-this.margins.left,(a("document"===e.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(e.containment)||(b=a(e.containment)[0],c=a(e.containment).offset(),d="hidden"!==a(b).css("overflow"),this.containment=[c.left+(parseInt(a(b).css("borderLeftWidth"),10)||0)+(parseInt(a(b).css("paddingLeft"),10)||0)-this.margins.left,c.top+(parseInt(a(b).css("borderTopWidth"),10)||0)+(parseInt(a(b).css("paddingTop"),10)||0)-this.margins.top,c.left+(d?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(a(b).css("borderLeftWidth"),10)||0)-(parseInt(a(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,c.top+(d?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(a(b).css("borderTopWidth"),10)||0)-(parseInt(a(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,f=/(html|body)/i.test(e[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():f?0:e.scrollTop())*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():f?0:e.scrollLeft())*d}},_generatePosition:function(b){var c,d,e=this.options,f=b.pageX,g=b.pageY,h="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(h[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top)),e.grid&&(c=this.originalPageY+Math.round((g-this.originalPageY)/e.grid[1])*e.grid[1],g=this.containment?c-this.offset.click.top>=this.containment[1]&&c-this.offset.click.top<=this.containment[3]?c:c-this.offset.click.top>=this.containment[1]?c-e.grid[1]:c+e.grid[1]:c,d=this.originalPageX+Math.round((f-this.originalPageX)/e.grid[0])*e.grid[0],f=this.containment?d-this.offset.click.left>=this.containment[0]&&d-this.offset.click.left<=this.containment[2]?d:d-this.offset.click.left>=this.containment[0]?d-e.grid[0]:d+e.grid[0]:d)),{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():i?0:h.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():i?0:h.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this.counter;this._delay(function(){e===this.counter&&this.refreshPositions(!d)})},_clear:function(a,b){this.reverting=!1;var c,d=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(c in this._storedCSS)("auto"===this._storedCSS[c]||"static"===this._storedCSS[c])&&(this._storedCSS[c]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!b&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||b||d.push(function(a){this._trigger("update",a,this._uiHash())}),this!==this.currentContainer&&(b||(d.push(function(a){this._trigger("remove",a,this._uiHash())}),d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.currentContainer)),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.currentContainer)))),c=this.containers.length-1;c>=0;c--)b||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[c])),this.containers[c].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[c])),this.containers[c].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!b){for(this._trigger("beforeStop",a,this._uiHash()),c=0;d.length>c;c++)d[c].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!1}if(b||this._trigger("beforeStop",a,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!b){for(c=0;d.length>c;c++)d[c].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}})}(jQuery),function(a,b){var c=/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent);a.requestAnimationFrame=function(){return a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(b){a.setTimeout(b,1e3/60) }}();var d=function(b){if(0===arguments.length){var c=d.createCanvas(a.innerWidth,a.innerHeight);a.addEventListener("resize",function(){})}else if("string"==typeof b)var c=document.querySelector(b);else if("number"==typeof b)var c=d.createCanvas(arguments[0],arguments[1]);else if(b instanceof Image||b instanceof HTMLImageElement)var c=d.createCanvas(b);else{if(b instanceof d.Wrapper)return b;var c=b}return new d.Wrapper(c)};d.extend=function(){for(var a=1;a<arguments.length;a++)for(var b in arguments[a])arguments[0][b]=arguments[a][b];return arguments[0]},d.augment=function(){for(var a=1;a<arguments.length;a++)_.extend(arguments[0],arguments[a]),arguments[a](arguments[0])},d.distance=function(a,b,c,d){if(arguments.length>2){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)}return Math.abs(a-b)},d.extend(d,{keycodes:{37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete",8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"escape",32:"space",33:"pageup",34:"pagedown",35:"end",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",186:"semicolon",187:"equal",188:"comma",189:"dash",190:"period",191:"slash",192:"graveaccent",219:"openbracket",220:"backslash",221:"closebraket",222:"singlequote"},cleanArray:function(a,b){for(var c=arguments[arguments.length-1],d="function"==typeof c,e=0,f=a.length;f>e;e++)(null===a[e]||b&&a[e][b])&&(d&&c(a[e]),a.splice(e--,1),f--)},specialBlendFunctions:["color","value","hue","saturation"],blendFunctions:{normal:function(a,b){return b},overlay:function(a,b){a/=255,b/=255;var c=0;return c=.5>a?2*a*b:1-2*(1-a)*(1-b),Math.min(255,Math.max(0,255*c|0))},hardLight:function(a,b){return d.blendFunctions.overlay(b,a)},softLight:function(a,b){a/=255,b/=255;var c=(1-2*b)*a*a+2*b*a;return d.limitValue(255*c,0,255)},dodge:function(a,b){return Math.min(256*a/(255-b+1),255)},burn:function(a,b){return 255-Math.min(256*(255-a)/(b+1),255)},multiply:function(a,b){return b*a/255},divide:function(a,b){return Math.min(256*a/(b+1),255)},screen:function(a,b){return 255-(255-b)*(255-a)/255},grainExtract:function(a,b){return d.limitValue(a-b+128,0,255)},grainMerge:function(a,b){return d.limitValue(a+b-128,0,255)},difference:function(a,b){return Math.abs(a-b)},addition:function(a,b){return Math.min(a+b,255)},substract:function(a,b){return Math.max(a-b,0)},darkenOnly:function(a,b){return Math.min(a,b)},lightenOnly:function(a,b){return Math.max(a,b)},color:function(a,b){var c=d.rgbToHsl(a),e=d.rgbToHsl(b);return d.hslToRgb(e[0],e[1],c[2])},hue:function(a,b){var c=d.rgbToHsv(a),e=d.rgbToHsv(b);return e[1]?d.hsvToRgb(e[0],c[1],c[2]):d.hsvToRgb(c[0],c[1],c[2])},value:function(a,b){var c=d.rgbToHsv(a),e=d.rgbToHsv(b);return d.hsvToRgb(c[0],c[1],e[2])},saturation:function(a,b){var c=d.rgbToHsv(a),e=d.rgbToHsv(b);return d.hsvToRgb(c[0],e[1],c[2])}},blend:function(a,b,c,e){"undefined"==typeof e&&(e=1);var a=d(a),b=d(b),f=a.context,g=b.context,h=f.getImageData(0,0,a.canvas.width,a.canvas.height),i=g.getImageData(0,0,b.canvas.width,b.canvas.height),j=h.data,k=i.data,l=this.createImageData(a.canvas.width,a.canvas.height),m=l.data,n=d.blendFunctions[c];if(-1!==d.specialBlendFunctions.indexOf(c))for(var o=0,p=j.length;p>o;o+=4){var q=n([j[o+0],j[o+1],j[o+2]],[k[o+0],k[o+1],k[o+2]]);m[o+0]=j[o+0]+(q[0]-j[o+0])*e,m[o+1]=j[o+1]+(q[1]-j[o+1])*e,m[o+2]=j[o+2]+(q[2]-j[o+2])*e,m[o+3]=j[o+3]}else for(var o=0,p=j.length;p>o;o+=4){var r=n(j[o+0],k[o+0]),s=n(j[o+1],k[o+1]),t=n(j[o+2],k[o+2]);m[o+0]=j[o+0]+(r-j[o+0])*e,m[o+1]=j[o+1]+(s-j[o+1])*e,m[o+2]=j[o+2]+(t-j[o+2])*e,m[o+3]=j[o+3]}return a.context.putImageData(l,0,0),a},wrapValue:function(a,b,c){var d=Math.abs(c-b);return b+(a-b)%d},limitValue:function(a,b,c){return b>a?b:a>c?c:a},mix:function(a,b,c){return a+(b-a)*c},hexToRgb:function(a){return 7===a.length?["0x"+a[1]+a[2]|0,"0x"+a[3]+a[4]|0,"0x"+a[5]+a[6]|0]:["0x"+a[1]|0,"0x"+a[2],"0x"+a[3]|0]},rgbToHex:function(a,b,c){return"#"+((1<<24)+(a<<16)+(b<<8)+c).toString(16).slice(1,7)},rgbToHsl:function(a,b,c){a instanceof Array&&(c=a[2],b=a[1],a=a[0]),a/=255,b/=255,c/=255;var d,e,f=Math.max(a,b,c),g=Math.min(a,b,c),h=(f+g)/2;if(f==g)d=e=0;else{var i=f-g;switch(e=h>.5?i/(2-f-g):i/(f+g),f){case a:d=(b-c)/i+(c>b?6:0);break;case b:d=(c-a)/i+2;break;case c:d=(a-b)/i+4}d/=6}return[d,e,h]},hslToRgb:function(a,b,c){function d(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a}var e,f,g;if(0==b)e=f=g=c;else{var h=.5>c?c*(1+b):c+b-c*b,i=2*c-h;e=d(i,h,a+1/3),f=d(i,h,a),g=d(i,h,a-1/3)}return[255*e|0,255*f|0,255*g|0]},rgbToHsv:function(a,b,c){a instanceof Array&&(c=a[2],b=a[1],a=a[0]),a/=255,b/=255,c/=255;var d,e,f=Math.max(a,b,c),g=Math.min(a,b,c),h=f,i=f-g;if(e=0==f?0:i/f,f==g)d=0;else{switch(f){case a:d=(b-c)/i+(c>b?6:0);break;case b:d=(c-a)/i+2;break;case c:d=(a-b)/i+4}d/=6}return[d,e,h]},hsvToRgb:function(a,b,c){var d,e,f,g=Math.floor(6*a),h=6*a-g,i=c*(1-b),j=c*(1-h*b),k=c*(1-(1-h)*b);switch(g%6){case 0:d=c,e=k,f=i;break;case 1:d=j,e=c,f=i;break;case 2:d=i,e=c,f=k;break;case 3:d=i,e=j,f=c;break;case 4:d=k,e=i,f=c;break;case 5:d=c,e=i,f=j}return[255*d|0,255*e|0,255*f|0]},color:function(){var a=new d.Color;return a.parse(arguments[0],arguments[1]),a},createCanvas:function(a,b){var c=document.createElement("canvas");if(arguments[0]instanceof Image||arguments[0]instanceof HTMLImageElement){var d=arguments[0];c.width=d.width,c.height=d.height,c.getContext("2d").drawImage(d,0,0)}else c.width=a,c.height=b;return c},createImageData:function(a,b){return document.createElement("Canvas").getContext("2d").createImageData(a,b)},mousePosition:function(a){var c=0,d=0,e=0,f=0,g=a.target||a.srcElement,h=0,i=0;do c+=g.offsetLeft,d+=g.offsetTop;while(g=g.offsetParent);return a.changedTouches&&a.changedTouches[0]!==b&&(a=a.changedTouches[0]),a.pageX||a.pageY?(h=a.pageX,i=a.pageY):(a.clientX||a.clientY)&&(h=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,i=a.clientY+document.body.scrollTop+document.documentElement.scrollTop),e=h-c,f=i-d,{x:e,y:f}}}),d.Wrapper=function(a){this.context=a.getContext("2d"),this.canvas=a},d.Wrapper.prototype={appendTo:function(a){if("object"==typeof a)var b=a;else var b=document.querySelector(a);return b.appendChild(this.canvas),this},blendOn:function(a,b,c){return d.blend(a,this,b,c),this},blend:function(a,b,c){if("string"==typeof a){var e=a;a=d(d.createCanvas(this.canvas.width,this.canvas.height)),a.fillStyle(e).fillRect(0,0,this.canvas.width,this.canvas.height)}return d.blend(this,a,b,c),this},circle:function(a,b,c){return this.context.arc(a,b,c,0,2*Math.PI),this},crop:function(a,b,c,e){var f=d.createCanvas(c,e),g=f.getContext("2d");return g.drawImage(this.canvas,a,b,c,e,0,0,c,e),this.canvas.width=c,this.canvas.height=e,this.clear(),this.context.drawImage(f,0,0),this},set:function(a){d.extend(this.context,a)},resize:function(a,b){var c=a,e=b;1===arguments.length?(c=arguments[0]*this.canvas.width|0,e=arguments[0]*this.canvas.height|0):null===b?this.canvas.width>a?(e=this.canvas.height*(a/this.canvas.width)|0,c=a):(c=this.canvas.width,e=this.canvas.height):null===a&&(this.canvas.width>a?(c=this.canvas.width*(b/this.canvas.height)|0,e=b):(c=this.canvas.width,e=this.canvas.height));var f=d(c,e).drawImage(this.canvas,0,0,this.canvas.width,this.canvas.height,0,0,c,e);return this.canvas=f.canvas,this.context=f.context,this},trim:function(a,b){var c;a?(a=d.color(a).toArray(),c=!a[3]):c=!0;for(var e=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),f=e.data,g=[this.canvas.width,this.canvas.height,0,0],h=0,i=f.length;i>h;h+=4){if(c){if(!f[h+3])continue}else if(f[h+0]===a[0]&&f[h+1]===a[1]&&f[h+2]===a[2])continue;var j=(h/4|0)%this.canvas.width|0,k=(h/4|0)/this.canvas.width|0;j<g[0]&&(g[0]=j),j>g[2]&&(g[2]=j),k<g[1]&&(g[1]=k),k>g[3]&&(g[3]=k)}return 0===g[2]||0===g[3]||(b&&(b.left=g[0],b.top=g[1],b.width=g[2]-g[0],b.height=g[3]-g[1]),this.crop(g[0],g[1],g[2]-g[0]+1,g[3]-g[1]+1)),this},resizePixel:function(a){var b=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),c=b.data,e=document.createElement("canvas"),f=e.context=e.getContext("2d");e.width=this.canvas.width*a|0,e.height=this.canvas.height*a|0;for(var g=0,h=c.length;h>g;g+=4)if(c[g+3]){f.fillStyle=d.rgbToHex(c[g+0],c[g+1],c[g+2]);var i=g/4%this.canvas.width,j=g/4/this.canvas.width|0;f.fillRect(i*a,j*a,a,a)}return this.canvas.width=e.width,this.canvas.height=e.height,this.clear().drawImage(e,0,0),this;var i,j,e,f},matchPalette:function(a){for(var b=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),c=[],e=0;e<a.length;e++)c.push(d.color(a[e]));for(var e=0;e<b.data.length;e+=4){for(var f=[],g=0;g<c.length;g++){var h=c[g],i=Math.abs(b.data[e]-h[0]),j=Math.abs(b.data[e+1]-h[1]),k=Math.abs(b.data[e+2]-h[2]);f.push(i+j+k)}for(var l=0,g=0;g<a.length;g++)f[g]<f[l]&&(l=g);var m=cq.hexToRgb(a[l]);b.data[e]=m[0],b.data[e+1]=m[1],b.data[e+2]=m[2]}return this.context.putImageData(b,0,0),this},getPalette:function(){for(var a=[],b=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),c=b.data,e=0,f=c.length;f>e;e+=4)if(c[e+3]){var g=d.rgbToHex(c[e+0],c[e+1],c[e+2]);-1===a.indexOf(g)&&a.push(g)}return a},pixelize:function(a){if(!a)return this;a=a||4;var b=this.context.mozImageSmoothingEnabled,c=this.context.webkitImageSmoothingEnabled;this.context.mozImageSmoothingEnabled=!1,this.context.webkitImageSmoothingEnabled=!1;var d=this.canvas.width/a/this.canvas.width,e=cq(this.canvas.width,this.canvas.height);return e.drawImage(this.canvas,0,0,this.canvas.width,this.canvas.height,0,0,this.canvas.width*d|0,this.canvas.height*d|0),this.clear().drawImage(e.canvas,0,0,this.canvas.width*d|0,this.canvas.height*d|0,0,0,this.canvas.width,this.canvas.height),this.context.mozImageSmoothingEnabled=b,this.context.webkitImageSmoothingEnabled=c,this},colorToMask:function(a,b){a=d.color(a).toArray();for(var c=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),e=c.data,f=[],g=0,h=e.length;h>g;g+=4)f.push(e[g+0]==a[0]&&e[g+1]==a[1]&&e[g+2]==a[2]?b||!1:!b);return f},grayscaleToMask:function(){for(var a=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),b=a.data,c=[],d=0,e=b.length;e>d;d+=4)c.push((b[d+0]+b[d+1]+b[d+2])/3|0);return c},grayscaleToAlpha:function(){for(var a=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),b=a.data,c=0,d=b.length;d>c;c+=4)b[c+3]=(b[c+0]+b[c+1]+b[c+2])/3|0,b[c+0]=b[c+1]=b[c+2]=255;return this.context.putImageData(a,0,0),this},applyMask:function(a){for(var b=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),c=b.data,d="boolean"==typeof a[0]?"bool":"byte",e=0,f=c.length;f>e;e+=4){var g=a[e/4];c[e+3]="bool"===d?255*g|0:0|g}return this.context.putImageData(b,0,0),this},fillMask:function(a){var b=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),c=b.data,e="boolean"==typeof a[0]?"bool":"byte",f=2===arguments.length?"normal":"gradient",g=d.color(arguments[1]);"gradient"===f&&(colorB=d.color(arguments[2]));for(var h=0,i=c.length;i>h;h+=4){var j=a[h/4];"byte"===e&&(j/=255),"normal"===f?j&&(c[h+0]=0|g[0],c[h+1]=0|g[1],c[h+2]=0|g[2],c[h+3]=255*j|0):(c[h+0]=g[0]+(colorB[0]-g[0])*j|0,c[h+1]=g[1]+(colorB[1]-g[1])*j|0,c[h+2]=g[2]+(colorB[2]-g[2])*j|0,c[h+3]=255)}return this.context.putImageData(b,0,0),this},clear:function(a){return a?(this.context.fillStyle=a,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)):this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this},clone:function(){var a=d.createCanvas(this.canvas.width,this.canvas.height);return a.getContext("2d").drawImage(this.canvas,0,0),d(a)},fillStyle:function(a){return this.context.fillStyle=a,this},strokeStyle:function(a){return this.context.strokeStyle=a,this},gradientText:function(a,b,c,d,e){var f=a.split(" "),g=2*this.font().match(/\d+/g)[0],h=0,i=0;if(d)for(var j=0,k=[""],l=0;l<f.length;l++){var m=f[l]+" ",n=this.context.measureText(m).width;h+n>d&&(k[++j]="",h=0),k[j]+=m,h+=n}else var k=[a];for(var l=0;l<k.length;l++){for(var i=c+l*g*.6|0,o=this.context.createLinearGradient(0,i,0,i+.6*g|0),p=0;p<e.length;p+=2)o.addColorStop(e[p],e[p+1]);var a=k[l];this.fillStyle(o).fillText(a,b,i)}return this},setHsl:function(){if(1===arguments.length)var a=arguments[0];else var a=arguments;for(var b,c,e,f=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),g=f.data,h=[],i=[],j=0,k=g.length;k>j;j+=4)h=d.rgbToHsl(g[j+0],g[j+1],g[j+2]),b=null===a[0]?h[0]:d.limitValue(a[0],0,1),c=null===a[1]?h[1]:d.limitValue(a[1],0,1),e=null===a[2]?h[2]:d.limitValue(a[2],0,1),i=d.hslToRgb(b,c,e),g[j+0]=i[0],g[j+1]=i[1],g[j+2]=i[2];return this.context.putImageData(f,0,0),this},shiftHsl:function(){if(1===arguments.length)var a=arguments[0];else var a=arguments;for(var b,c,e,f=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),g=f.data,h=[],i=[],j=0,k=g.length;k>j;j+=4)h=d.rgbToHsl(g[j+0],g[j+1],g[j+2]),b=null===a[0]?h[0]:d.wrapValue(h[0]+a[0],0,1),c=null===a[1]?h[1]:d.limitValue(h[1]+a[1],0,1),e=null===a[2]?h[2]:d.limitValue(h[2]+a[2],0,1),i=d.hslToRgb(b,c,e),g[j+0]=i[0],g[j+1]=i[1],g[j+2]=i[2];return this.context.putImageData(f,0,0),this},replaceHue:function(a,b){for(var c,e=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),f=e.data,g=[],h=[],i=0,j=f.length;j>i;i+=4)g=d.rgbToHsl(f[i+0],f[i+1],f[i+2]),c=Math.abs(g[0]-a)<.05?d.wrapValue(b,0,1):g[0],h=d.hslToRgb(c,g[1],g[2]),f[i+0]=h[0],f[i+1]=h[1],f[i+2]=h[2];return this.context.putImageData(e,0,0),this},invert:function(){for(var a=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),b=a.data,c=0,d=b.length;d>c;c+=4)b[c+0]=255-b[c+0],b[c+1]=255-b[c+1],b[c+2]=255-b[c+2];return this.context.putImageData(a,0,0),this},roundRect:function(a,b,c,d,e){return this.beginPath(),this.moveTo(a+e,b),this.lineTo(a+c-e,b),this.quadraticCurveTo(a+c,b,a+c,b+e),this.lineTo(a+c,b+d-e),this.quadraticCurveTo(a+c,b+d,a+c-e,b+d),this.lineTo(a+e,b+d),this.quadraticCurveTo(a,b+d,a,b+d-e),this.lineTo(a,b+e),this.quadraticCurveTo(a,b,a+e,b),this.closePath(),this},wrappedText:function(a,b,c,d,e){var f=a instanceof Array?a:this.flowText(a,d),g=2*this.font().match(/\d+/g)[0],h=0,i=0;if(d)for(var j=0,f=[""],k=0;k<words.length;k++){var l=words[k]+" ",m=this.context.measureText(l).width;h+m>d&&(f[++j]="",h=0),f[j]+=l,h+=m}else var f=[a];for(var k=0;k<f.length;k++){var i=c+k*g*.6|0,a=f[k];e&&e.call(this,b,c+i),this.fillText(a,b,i)}return this},flowText:function(a,b){var c=a.split(/(\s)/),d=0;if(b)for(var e=0,f=[""],g=this.context.measureText(" ").width,h=0;h<c.length;h++){var i=c[h];if("\n"!=i)if(" "==i)d+=g,d>b?(f[e]=f[e].replace(/\s+$/,""),f[++e]="",d=0):f[e]+=" ";else{var j=this.context.measureText(i).width;d+=j,d>b&&f[e].length&&(f[e]=f[e].replace(/\s+$/,""),f[++e]="",d=j),f[e]+=i}else f[e]=f[e].replace(/\s+$/,""),f[++e]="",d=0}else var f=[a];return f},textBoundaries:function(a,b){for(var c=this.flowText(a,b||1/0),d=2*this.font().match(/\d+/g)[0],e=0,f=0;f<c.length;f++)e=Math.max(e,this.measureText(c[f]).width);return{height:c.length*d*.6|0,width:e,lines:c}},paperBag:function(a,b,c,d,e,f){this.beginPath(),this.moveTo(a,b),this.quadraticCurveTo(a+c/2|0,b+d*f|0,a+c,b),this.quadraticCurveTo(a+c-c*e|0,b+d/2|0,a+c,b+d),this.quadraticCurveTo(a+c/2|0,b+d-d*f|0,a,b+d),this.quadraticCurveTo(a+c*e|0,b+d/2|0,a,b)},borderImage:function(a,b,c,d,e,f,g,h,i,j){this.drawImage(a,i,0,a.width-i-g,f,b+i,c,d-i-g,f),this.drawImage(a,i,a.height-h,a.width-i-g,h,b+i,c+e-h,d-i-g,h),this.drawImage(a,0,f,i,a.height-h-f,b,c+f,i,e-h-f),this.drawImage(a,a.width-g,f,g,a.height-h-f,b+d-g,c+f,g,e-h-f),this.drawImage(a,0,0,i,f,b,c,i,f),this.drawImage(a,a.width-g,0,g,f,b+d-g,c,g,f),this.drawImage(a,a.width-g,a.height-h,g,h,b+d-g,c+e-h,g,h),this.drawImage(a,0,a.height-h,i,h,b,c+e-h,i,h),j&&("string"==typeof j?this.fillStyle(j).fillRect(b+i,c+f,d-i-g,e-f-h):this.drawImage(a,i,f,a.width-g-i,a.height-h-f,b+i,c+f,d-i-g,e-f-h))},convolve:function(a,b,c){"undefined"==typeof c&&(c=1),"undefined"==typeof b&&(b=1);for(var e=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),f=Math.sqrt(a.length)+.5|0,g=f/2|0,h=e.data,i=e.width,j=e.height,k=i,l=j,m=d.createImageData(this.canvas.width,this.canvas.height),n=m.data,o=1;l-1>o;o++)for(var p=1;k-1>p;p++){for(var q=4*(o*k+p),r=0,s=0,t=0,u=0,v=0;f>v;v++)for(var w=0;f>w;w++){var x=o+v-g,y=p+w-g;if(x>=0&&j>x&&y>=0&&i>y){var z=4*(x*i+y),A=a[v*f+w]/c;r+=h[z+0]*A,s+=h[z+1]*A,t+=h[z+2]*A,u+=h[z+3]*A}}n[q+0]=d.mix(h[q+0],r,b),n[q+1]=d.mix(h[q+1],s,b),n[q+2]=d.mix(h[q+2],t,b),n[q+3]=u}},blur:function(a){return this.convolve([1,1,1,1,1,1,1,1,1],a,9)},gaussianBlur:function(a){return this.convolve([6.7e-7,2292e-8,19117e-8,38771e-8,19117e-8,2292e-8,6.7e-7,2292e-8,78633e-8,.00655965,.01330373,.00655965,78633e-8,2292e-8,19117e-8,.00655965,.05472157,.11098164,.05472157,.00655965,19117e-8,38771e-8,.01330373,.11098164,.22508352,.11098164,.01330373,38771e-8,19117e-8,.00655965,.05472157,.11098164,.05472157,.00655965,19117e-8,2292e-8,78633e-8,.00655965,.01330373,.00655965,78633e-8,2292e-8,6.7e-7,2292e-8,19117e-8,38771e-8,19117e-8,2292e-8,6.7e-7],a,1)},sharpen:function(a){return this.convolve([0,-1,0,-1,5,-1,0,-1,0],a)},threshold:function(a){for(var b,c,d,e=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),f=e.data,g=0;g<f.length;g+=4){var b=f[g],c=f[g+1],d=f[g+2],h=.2126*b+.7152*c+.0722*d>=a?255:0;f[g]=f[g+1]=f[g+2]=h}return this.context.putImageData(e,0,0),this},sepia:function(){for(var a=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),b=a.data,c=0;c<b.length;c+=4)b[c+0]=d.limitValue(.393*b[c+0]+.769*b[c+1]+.189*b[c+2],0,255),b[c+1]=d.limitValue(.349*b[c+0]+.686*b[c+1]+.168*b[c+2],0,255),b[c+2]=d.limitValue(.272*b[c+0]+.534*b[c+1]+.131*b[c+2],0,255);return this.context.putImageData(a,0,0),this},measureText:function(){return this.context.measureText.apply(this.context,arguments)},createRadialGradient:function(){return this.context.createRadialGradient.apply(this.context,arguments)},createLinearGradient:function(){return this.context.createLinearGradient.apply(this.context,arguments)},getImageData:function(){return this.context.getImageData.apply(this.context,arguments)},framework:function(a,c){c&&(this.tempContext=c===!0?a:c);for(var d in a)this[d]&&this[d](a[d],b,b);return this.tempContext=null,this},onStep:function(a,b){var c=this.tempContext||this,d=Date.now();return b=b||25,this.timer=setInterval(function(){var b=Date.now()-d;d=Date.now(),a.call(c,b,d)},b),this},onRender:function(a){function b(){var e=Date.now()-d;d=Date.now(),requestAnimationFrame(b),a.call(c,e,d)}var c=this.tempContext||this,d=Date.now();return requestAnimationFrame(b),this},onMouseMove:function(a){var b=this.tempContext||this;return c?this.canvas.addEventListener("touchmove",function(c){c.preventDefault();var e=d.mousePosition(c);a.call(b,e.x,e.y)}):this.canvas.addEventListener("mousemove",function(c){var e=d.mousePosition(c);a.call(b,e.x,e.y)}),this},onMouseDown:function(a){var b=this.tempContext||this;return c?this.canvas.addEventListener("touchstart",function(c){var e=d.mousePosition(c);a.call(b,e.x,e.y,c.button)}):this.canvas.addEventListener("mousedown",function(c){var e=d.mousePosition(c);a.call(b,e.x,e.y,c.button)}),this},onMouseUp:function(a){var b=this.tempContext||this;return c?this.canvas.addEventListener("touchend",function(c){var e=d.mousePosition(c);a.call(b,e.x,e.y,c.button)}):this.canvas.addEventListener("mouseup",function(c){var e=d.mousePosition(c);a.call(b,e.x,e.y,c.button)}),this},onSwipe:function(a,c,e){function f(a){a.preventDefault(),l=d.mousePosition(a),m=Date.now()}function g(a){a.preventDefault(),n=d.mousePosition(a),o=Date.now()}function h(c){c.preventDefault();var d=l.x-n.x,e=l.y-n.y,f=d*d,g=e*e,h=Math.sqrt(f+g),p=o-m,q=b;h>j&&k>p&&(q=Math.abs(d)>Math.abs(e)?d>0?"left":"right":e>0?"up":"down",a.call(i,q))}var i=this.tempContext||this,j=c||35,k=e||350,l=0,m=0,n=0,o=0;return this.canvas.addEventListener("touchstart",function(a){f(a)}),this.canvas.addEventListener("touchmove",function(a){g(a)}),this.canvas.addEventListener("touchend",function(a){h(a)}),this.canvas.addEventListener("mousedown",function(a){f(a)}),this.canvas.addEventListener("mousemove",function(a){g(a)}),this.canvas.addEventListener("mouseup",function(a){h(a)}),this},onKeyDown:function(a){var b=this.tempContext||this;return document.addEventListener("keydown",function(c){if(c.which>=48&&c.which<=90)var e=String.fromCharCode(c.which).toLowerCase();else var e=d.keycodes[c.which];a.call(b,e)}),this},onKeyUp:function(a){var b=this.tempContext||this;return document.addEventListener("keyup",function(c){if(c.which>=48&&c.which<=90)var e=String.fromCharCode(c.which).toLowerCase();else var e=d.keycodes[c.which];a.call(b,e)}),this},onResize:function(b){var c=this.tempContext||this;return a.addEventListener("resize",function(){b.call(c,a.innerWidth,a.innerHeight)}),b.call(c,a.innerWidth,a.innerHeight),this},onDropImage:function(a){var b=this.tempContext||this;return document.addEventListener("drop",function(c){c.stopPropagation(),c.preventDefault();var d=c.dataTransfer.files[0];if(!/image/i.test(d.type))return!1;var e=new FileReader;e.onload=function(c){var d=new Image;d.onload=function(){a.call(b,this)},d.src=c.target.result},e.readAsDataURL(d)}),document.addEventListener("dragover",function(a){a.preventDefault()}),this}};for(var e=["arc","arcTo","beginPath","bezierCurveTo","clearRect","clip","closePath","createImageData","createLinearGradient","createRadialGradient","createPattern","drawFocusRing","drawImage","fill","fillRect","fillText","getImageData","isPointInPath","lineTo","measureText","moveTo","putImageData","quadraticCurveTo","rect","restore","rotate","save","scale","setTransform","stroke","strokeRect","strokeText","transform","translate"],f=0;f<e.length;f++){var g=e[f];d.Wrapper.prototype[g]||(d.Wrapper.prototype[g]=Function("this.context."+g+".apply(this.context, arguments); return this;"))}for(var h=["canvas","fillStyle","font","globalAlpha","globalCompositeOperation","lineCap","lineJoin","lineWidth","miterLimit","shadowOffsetX","shadowOffsetY","shadowBlur","shadowColor","strokeStyle","textAlign","textBaseline"],f=0;f<h.length;f++){var g=h[f];d.Wrapper.prototype[g]||(d.Wrapper.prototype[g]=Function("if(arguments.length) { this.context."+g+" = arguments[0]; return this; } else { return this.context."+g+"; }"))}d.Color=function(a){arguments.length&&this.parse(a)},d.Color.prototype={parse:function(a,b){if(a[0]instanceof d.Color)return this[0]=a[0][0],this[1]=a[0][1],this[2]=a[0][2],void(this[3]=a[0][3]);if("string"==typeof a){var c=null;if("#"===a[0]){var e=d.hexToRgb(a);this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=1}else(c=a.match(/rgb\((.*),(.*),(.*)\)/))?(this[0]=0|c[1],this[1]=0|c[2],this[2]=0|c[3],this[3]=1):(c=a.match(/rgba\((.*),(.*),(.*)\)/))?(this[0]=0|c[1],this[1]=0|c[2],this[2]=0|c[3],this[3]=0|c[4]):(c=a.match(/hsl\((.*),(.*),(.*)\)/))?this.fromHsl(c[1],c[2],c[3]):(c=a.match(/hsv\((.*),(.*),(.*)\)/))&&this.fromHsv(c[1],c[2],c[3])}else switch(b){case"hsl":case"hsla":this.fromHsl(a[0],a[1],a[2],a[3]);break;case"hsv":case"hsva":this.fromHsv(a[0],a[1],a[2],a[3]);break;default:this[0]=a[0],this[1]=a[1],this[2]=a[2],this[3]="undefined"==typeof a[3]?1:a[3]}},fromHsl:function(){var a=arguments[0]instanceof Array?arguments[0]:arguments,b=d.hslToRgb(a[0],a[1],a[2]);this[0]=b[0],this[1]=b[1],this[2]=b[2],this[3]="undefined"==typeof arguments[3]?1:arguments[3]},fromHsv:function(){var a=arguments[0]instanceof Array?arguments[0]:arguments,b=d.hsvToRgb(a[0],a[1],a[2]);this[0]=b[0],this[1]=b[1],this[2]=b[2],this[3]="undefined"==typeof arguments[3]?1:arguments[3]},toArray:function(){return[this[0],this[1],this[2],this[3]]},toRgb:function(){return"rgb("+this[0]+", "+this[1]+", "+this[2]+")"},toRgba:function(){return"rgba("+this[0]+", "+this[1]+", "+this[2]+", "+this[3]+")"},toHex:function(){return d.rgbToHex(this[0],this[1],this[2])},toHsl:function(){var a=d.rgbToHsl(this[0],this[1],this[2]);return a[3]=this[3],a},toHsv:function(){var a=d.rgbToHsv(this[0],this[1],this[2]);return a[3]=this[3],a},gradient:function(a){d.color(a)},shiftHsl:function(){var a=this.toHsl(),b=null===arguments[0]?a[0]:d.wrapValue(a[0]+arguments[0],0,1),c=null===arguments[1]?a[1]:d.limitValue(a[1]+arguments[1],0,1),e=null===arguments[2]?a[2]:d.limitValue(a[2]+arguments[2],0,1);return this.fromHsl(b,c,e),this},setHsl:function(){var a=this.toHsl(),b=null===arguments[0]?a[0]:d.limitValue(arguments[0],0,1),c=null===arguments[1]?a[1]:d.limitValue(arguments[1],0,1),e=null===arguments[2]?a[2]:d.limitValue(arguments[2],0,1);return this.fromHsl(b,c,e),this}},a.cq=a.CanvasQuery=d,"function"==typeof define&&define.amd&&define([],function(){return d})}(window);var saveAs=saveAs||"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob&&navigator.msSaveOrOpenBlob.bind(navigator)||function(a){"use strict";var b=a.document,c=function(){return a.URL||a.webkitURL||a},d=a.URL||a.webkitURL||a,e=b.createElementNS("http://www.w3.org/1999/xhtml","a"),f=!a.externalHost&&"download"in e,g=a.webkitRequestFileSystem,h=a.requestFileSystem||g||a.mozRequestFileSystem,i=function(b){(a.setImmediate||a.setTimeout)(function(){throw b},0)},j="application/octet-stream",k=0,l=[],m=function(){for(var a=l.length;a--;){var b=l[a];"string"==typeof b?d.revokeObjectURL(b):b.remove()}l.length=0},n=function(a,b,c){b=[].concat(b);for(var d=b.length;d--;){var e=a["on"+b[d]];if("function"==typeof e)try{e.call(a,c||a)}catch(f){i(f)}}},o=function(d,i){var m,o,p,q=this,r=d.type,s=!1,t=function(){var a=c().createObjectURL(d);return l.push(a),a},u=function(){n(q,"writestart progress write writeend".split(" "))},v=function(){(s||!m)&&(m=t(d)),o?o.location.href=m:window.open(m,"_blank"),q.readyState=q.DONE,u()},w=function(a){return function(){return q.readyState!==q.DONE?a.apply(this,arguments):void 0}},x={create:!0,exclusive:!1};if(q.readyState=q.INIT,i||(i="download"),f){m=t(d),b=a.document,e=b.createElementNS("http://www.w3.org/1999/xhtml","a"),e.href=m,e.download=i;var y=b.createEvent("MouseEvents");return y.initMouseEvent("click",!0,!1,a,0,0,0,0,0,!1,!1,!1,!1,0,null),e.dispatchEvent(y),q.readyState=q.DONE,void u()}return a.chrome&&r&&r!==j&&(p=d.slice||d.webkitSlice,d=p.call(d,0,d.size,j),s=!0),g&&"download"!==i&&(i+=".download"),(r===j||g)&&(o=a),h?(k+=d.size,void h(a.TEMPORARY,k,w(function(a){a.root.getDirectory("saved",x,w(function(a){var b=function(){a.getFile(i,x,w(function(a){a.createWriter(w(function(b){b.onwriteend=function(b){o.location.href=a.toURL(),l.push(a),q.readyState=q.DONE,n(q,"writeend",b)},b.onerror=function(){var a=b.error;a.code!==a.ABORT_ERR&&v()},"writestart progress write abort".split(" ").forEach(function(a){b["on"+a]=q["on"+a]}),b.write(d),q.abort=function(){b.abort(),q.readyState=q.DONE},q.readyState=q.WRITING}),v)}),v)};a.getFile(i,{create:!1},w(function(a){a.remove(),b()}),w(function(a){a.code===a.NOT_FOUND_ERR?b():v()}))}),v)}),v)):void v()},p=o.prototype,q=function(a,b){return new o(a,b)};return p.abort=function(){var a=this;a.readyState=a.DONE,n(a,"abort")},p.readyState=p.INIT=0,p.WRITING=1,p.DONE=2,p.error=p.onwritestart=p.onprogress=p.onwrite=p.onabort=p.onerror=p.onwriteend=null,a.addEventListener("unload",m,!1),q}(this.self||this.window||this.content);"undefined"!=typeof module&&(module.exports=saveAs),window.dataUriToBlob=function(){function a(a){return a.split(";")[0].slice(5)}var b=window.Blob,c=100==new b([new Uint8Array(100)]).size,d=function(d){for(var e=d.split(",")[1],f=atob(e),g=new ArrayBuffer(f.length),h=new Uint8Array(g),i=0;i<f.length;i++)h[i]=f.charCodeAt(i);c||(h=g);var j=new b([h],{type:a(d)});return j.slice=j.slice||j.webkitSlice,j};return d}(),window.$&&($.fn.int=function(){return parseInt($(this).val(),10)},$.fn.float=function(){return parseFloat($(this).val())},$.fn.string=function(){return trim($(this).val())},$.fn.enable=function(){return $(this).attr("disabled",null)},$.fn.disable=function(){return $(this).attr("disabled","disabled")});var E=Math.E,PI=Math.PI,PHI=(1+Math.sqrt(5))/2,REF_X=95.047,REF_Y=100,REF_Z=108.883,asdf={fetching:!1,fetched:!1};asdf.random=function(a){status("fetching random photoblasts"),a&&a.preventDefault(),opt={},opt.data={random:1},opt.success=gallery.load,asdf.fetch(opt)},asdf.fetch=function(a){if(!asdf.fetching){asdf.fetching=!0;var b={random:1};$.ajax({url:"http://asdf.us/cgi-bin/im/list",data:b,dataType:"jsonp",success:function(b){asdf.fetching=!1,asdf.fetched=!0,a.success&&a.success(b)},error:a.error||function(a){console.log(a)}})}};var dumpfm={};dumpfm.search=function(a){a&&a.preventDefault();var b=$("#dumpfm-search-query").val().toLowerCase(),c=b.split(" "),d=[];c.forEach(function(a){a.length>2&&d.push(a)}),0==d.length||"undefined"==d[0]?status("search query too small"):(status("searching for '"+d.join(" and ")+"'"),dumpfm.fetch({query:d.join("+"),success:gallery.load}))},dumpfm.fetch=function(a){if(!dumpfm.fetching){dumpfm.fetching=!0;var b={};$.ajax({url:"http://dump.fm/cmd/search/"+a.query,data:b,dataType:"jsonp",success:function(b){dumpfm.fetching=!1;for(var c=0,d=b.length;d>c;c++){var e=b[c].url;e=e.match(/^\/\d+\//)?"http://dump.fm/images/"+e:"http://"+e,b[c].url=e}a.success&&a.success(b)},error:a.error||function(a){console.log(a)}})}};var gif,img,imageURL=null,user=new function(){};user.init=function(){user.load(),user.bind()},user.bind=function(){$("#username").on("input",user.save)},user.load=function(){user.username=user.getCookie(),$("#username").val(user.username)},user.sanitize=function(){return $("#username").val().replace(/[^-_ a-zA-Z0-9]/g,"")},user.getCookie=function(){var a=localStorage.getItem("im.name")||"";if(document.cookie&&!a.length){var b=document.cookie.split(";");for(i in b){var c=b[i].split("=");if(-1!==c[0].indexOf("imname")&&"false"!==c[1]&&"undefined"!==c[1]&&c[1].length)return c[1]}}return a},user.save=function(){var a=user.sanitize();a!=user.username&&user.setCookie(a)},user.setCookie=function(a){console.log("setting to "+a),document.cookie="imname="+a+";path=/;domain=.asdf.us;max-age=1086400",localStorage.setItem("im.name",a)};var gallery={};gallery.init=function(a){a&&(gallery.choose=a),gallery.bind()},gallery.bind=function(){$("#gallery-random").click(asdf.random),$("#gallery-search").submit(dumpfm.search),$(document).on("click","#gallery-images canvas",gallery.click)},gallery.load=function(a){status("loading "+a.length+" images"),$("#gallery-images").empty();for(var b=0;b<a.length;b++)gallery.image(a[b])},gallery.image=function(a){var b=new Image;b.onload=function(){var a=100,c=b.naturalHeight/b.naturalWidth,d=~~(a/c),e=cq(d,a);e.drawImage(b,0,0,d,a),$(b).hide(),$("#gallery-images").append(e.canvas).append(b),$(e.canvas).mouseover(function(){$(e.canvas).hide(),$(b).show()}),b.width=d,b.height=a,$(b).mouseout(function(){$(b).hide(),$(e.canvas).show()}),$(b).click(gallery.choose),$("#persist-image").attr("checked",!1)};try{b.src=a.url}catch(c){return}b.complete&&b.onload()},gallery.click=function(){gallery.choose()},gallery.choose=function(){this.src};var frame_thumb_size=93,frame_editor={};frame_editor.init=function(){frame_editor.bind()},frame_editor.bind=function(){$("#add-frame").click(add_frame),$("#frames").sortable({start:drag_start,stop:drag_stop}),$(document).on("click","#frames .remove",remove_frame),$("#framecount").change(function(){var a=$(this).int();(1>a||isNaN(a))&&$(this).val(a=1),$("#add-frame").html(1==a?"+add frame":"+add frames")}),$("#frames").disableSelection(),$("#remove-all-frames").click(remove_all_frames),$("#weave-frames").click(weave_frames),$("#shuffle-frames").click(shuffle_frames),$("#reverse-frames").click(reverse_frames),$("#sort-frames").click(sort_frames),$("#render").click(render),$("#save").click(save),$("#upload").click(upload),$("#background").change(function(){document.body.style.backgroundColor=$("#background").string()})};var encoder=new GifEncoder;encoder.on("quantized",function(){status("encoding"),encoder.encode()}),encoder.on("encoded-frame",function(a,b){status("encoded "+a+" / "+b) -}),encoder.on("rendered",function(a){status(filesize(a.length))}),encoder.on("rendered-url",function(a){var b=new Image;lastGif=b.src=a,$("#workspace canvas").hide(),$("#workspace").append(b),$("#uploaded-url").hide().val(""),$("#uploaded-url + br").hide(),$("#save,#upload,#rendered").show(),$("#pause,#render,#add-frame,#save,#upload").enable(),$("#render").html("render gif"),rendering=!1,pause(!0)});var frame,img_frame,timeout,raf_id,start_t=0,old_t=0,pause_t=0,paused=!1,dragging=!1,rendering=!1,scrolling=!1,deferring=!1,scrollTimeout=null,fps=30,shader_build=function(){var a=document.getElementById("shader").value;a.length||(a="");try{var b=new Function("x","y","t","d",a);shader=b,shade=shade_error_handling}catch(c){try{acorn.parse(a)}catch(c){error_highlight.on(c.loc.line-1)}throw Error("Shader compilation error")}},r,g,b,a,w,h,actual_w,actual_h,chrome_stack_regexp=/<anonymous>:([0-9]+)/,firefox_stack_regexp=/:([0-9]+)$/;shade=shade_error_handling(function(){var a={},b={},c={},d="",e=0,f=0,g=0,h=function(){a.highlight.style.display="none"},i=function(b){c=a.textarea.getBoundingClientRect();var g=a.textarea.value,h=g.split("\n"),i=h.slice(0,b),k=h[b];a.textmeasure.innerHTML=1===i.length?i+d:i.join("<br>"+d),e=a.textmeasure.offsetHeight,a.textmeasure.innerHTML=k+d,f=a.textmeasure.offsetHeight,j()},j=function(){var b=c.top+c.height;a.highlight.style.width=a.textarea.scrollHeight>a.textarea.clientHeight?c.width-g+"px":c.width+"px",a.highlight.style.left=c.left+"px";var d=c.top+e-a.textarea.scrollTop;a.highlight.style.top=d+a.html.scrollTop+a.body.scrollTop+"px";var h=f;d+h>b&&(h=Math.max(0,b-d)),d<c.top&&(h=0),a.highlight.style.height=h+"px",a.highlight.style.display="block"},k=function(){var c=$("#shader");a.textarea=c[0];for(var d,e=["lineHeight","fontFamily","fontSize","padding","margin","borderWidth","width"],f=0;d=e[f];f++)b[d]=c.css(d)},l=function(){var a=document.createElement("div");a.style.visibility="hidden",a.style.width="100px",document.body.appendChild(a);var b=a.offsetWidth;a.style.overflow="scroll";var c=document.createElement("div");c.style.width="100%",a.appendChild(c);var d=c.offsetWidth;return a.parentNode.removeChild(a),b-d},m=function(){var c=a.textmeasure=document.createElement("div");c.id="textmeasure";var d=c.style;for(var e in b)d[e]=b[e];d.wordWrap="break-word",d.wordBreak="break-all",d.border="1px solid red",d.padding="0",d.display="block",d.position="absolute",d.left="-5000px",document.body.appendChild(c)},n=function(){var c=a.highlight=document.createElement("div"),d=c.style;for(var e in b)d[e]=b[e];d.pointerEvents="none",d.opacity="0.2",d.backgroundColor="#f00",d.position="absolute",d.lineHeight="0",d.fontSize="0",d.padding="0",d.borderWidth="0",d.display="block",document.body.appendChild(c)},o=function(){a.html=document.querySelector("html"),a.body=document.querySelector("body"),k(),n(),m(),g=l(),a.textarea.addEventListener("scroll",j)};error_highlight={init:o,on:i,off:h}})(),error_highlight.init();var help={};help.init=function(){help.bind()},help.bind=function(){$(window).on("scroll DOMMouseScroll mousewheel",function(){scrolling=!0}),$("#help").click(function(){$("#instructions").toggle(),console.log("zZ")}),$("#instructions .close").click(function(){$("#instructions").toggle(),console.log("zZ")}),$("#instructions").draggable({start:drag_start,stop:drag_stop}),$("#instructions").disableSelection()};var shader_gallery={};shader_gallery.init=function(){shader_gallery.bind()},shader_gallery.bind=function(){$("#new-shader").click(new_shader),$("#fetch-all").click(function(){ShaderAPI.all(load_shaders)}),$("#fetch-latest").click(function(){ShaderAPI.latest(load_shaders)}).trigger("click"),$("#save-shader").click(save_shader),ShaderAPI.list_users(function(a,b){var c=$("#pick-user").empty();for(var d in b){var e=$("<option>"),f=b[d].username;e.val(f).html(f),c.append(e)}}),$(document).on("change","#pick-user",function(){var a=$(this).val();ShaderAPI.username(a,load_shaders)}),$(document).on("click",".shader",function(){run_shader($(this).data("shader"))})};var ShaderAPI={};ShaderAPI.limit=24,ShaderAPI.info=function(a,b){ShaderAPI.fetch({f:"info",id:a},b)},ShaderAPI.all=function(a){ShaderAPI.fetch({f:"all"},a)},ShaderAPI.range=function(a,b,c){ShaderAPI.fetch({f:"range",limit:a||ShaderAPI.limit,last:b},c)},ShaderAPI.latest=function(a,b){b||(b=a,a=ShaderAPI.limit),ShaderAPI.fetch({f:"range",limit:a||ShaderAPI.limit},b)},ShaderAPI.page=function(a,b,c){ShaderAPI.fetch({f:"range",last:(a-1)*b,limit:b||ShaderAPI.limit},c)},ShaderAPI.history=function(a,b){ShaderAPI.fetch({f:"history",id:a},b)},ShaderAPI.username=function(a,b){ShaderAPI.fetch({f:"username",username:a},b)},ShaderAPI.list_users=function(a){ShaderAPI.fetch({f:"list_users"},a)},ShaderAPI.originals=function(a){ShaderAPI.fetch({f:"originals"},a)},ShaderAPI.fetch=function(a,b){$.ajax({url:"http://asdf.us/cgi-bin/im/shader/view",data:a,dataType:"jsonp",success:function(a){a.SUCCESS?b(null,a.data):a.ERROR&&b(a.ERROR,a.data)}})};var shader_id_root=null,cc=cq(0,0).appendTo("#workspace"),w=400,h=400,lastGif,mousex,mousey,firsttime=!0,shader_gallery_template=$("#shader-gallery-template").html();$(init);
\ No newline at end of file +}),encoder.on("rendered",function(a){status(filesize(a.length))}),encoder.on("rendered-url",function(a){var b=new Image;lastGif=b.src=a,$("#workspace canvas").hide(),$("#workspace").append(b),$("#uploaded-url").hide().val(""),$("#uploaded-url + br").hide(),$("#save,#upload,#rendered").show(),$("#pause,#render,#add-frame,#save,#upload").enable(),$("#render").html("render gif"),rendering=!1,pause(!0)});var frame,img_frame,timeout,raf_id,start_t=0,old_t=0,pause_t=0,paused=!1,dragging=!1,rendering=!1,scrolling=!1,deferring=!1,scrollTimeout=null,fps=30,shader_build=function(){var a=document.getElementById("shader").value;a.length||(a="");try{var b=new Function("x","y","t","d",a);shader=b,shade=shade_error_handling}catch(c){try{acorn.parse(a)}catch(c){error_highlight.on(c.loc.line-1)}throw Error("Shader compilation error")}},r,g,b,a,w,h,actual_w,actual_h,chrome_stack_regexp=/<anonymous>:([0-9]+)/,firefox_stack_regexp=/:([0-9]+)$/;shade=shade_error_handling,function(){var a={},b={},c={},d="",e=0,f=0,g=0,h=function(){a.highlight.style.display="none"},i=function(b){c=a.textarea.getBoundingClientRect();var g=a.textarea.value,h=g.split("\n"),i=h.slice(0,b),k=h[b];a.textmeasure.innerHTML=1===i.length?i+d:i.join("<br>"+d),e=a.textmeasure.offsetHeight,a.textmeasure.innerHTML=k+d,f=a.textmeasure.offsetHeight,j()},j=function(){var b=c.top+c.height;a.highlight.style.width=a.textarea.scrollHeight>a.textarea.clientHeight?c.width-g+"px":c.width+"px",a.highlight.style.left=c.left+"px";var d=c.top+e-a.textarea.scrollTop;a.highlight.style.top=d+a.html.scrollTop+a.body.scrollTop+"px";var h=f;d+h>b&&(h=Math.max(0,b-d)),d<c.top&&(h=0),a.highlight.style.height=h+"px",a.highlight.style.display="block"},k=function(){var c=$("#shader");a.textarea=c[0];for(var d,e=["lineHeight","fontFamily","fontSize","padding","margin","borderWidth","width"],f=0;d=e[f];f++)b[d]=c.css(d)},l=function(){var a=document.createElement("div");a.style.visibility="hidden",a.style.width="100px",document.body.appendChild(a);var b=a.offsetWidth;a.style.overflow="scroll";var c=document.createElement("div");c.style.width="100%",a.appendChild(c);var d=c.offsetWidth;return a.parentNode.removeChild(a),b-d},m=function(){var c=a.textmeasure=document.createElement("div");c.id="textmeasure";var d=c.style;for(var e in b)d[e]=b[e];d.wordWrap="break-word",d.wordBreak="break-all",d.border="1px solid red",d.padding="0",d.display="block",d.position="absolute",d.left="-5000px",document.body.appendChild(c)},n=function(){var c=a.highlight=document.createElement("div"),d=c.style;for(var e in b)d[e]=b[e];d.pointerEvents="none",d.opacity="0.2",d.backgroundColor="#f00",d.position="absolute",d.lineHeight="0",d.fontSize="0",d.padding="0",d.borderWidth="0",d.display="block",document.body.appendChild(c)},o=function(){a.html=document.querySelector("html"),a.body=document.querySelector("body"),k(),n(),m(),g=l(),a.textarea.addEventListener("scroll",j)};error_highlight={init:o,on:i,off:h}}(),error_highlight.init();var help={};help.init=function(){help.bind()},help.bind=function(){$(window).on("scroll DOMMouseScroll mousewheel",function(){scrolling=!0}),$("#help").click(function(){$("#instructions").toggle(),console.log("zZ")}),$("#instructions .close").click(function(){$("#instructions").toggle(),console.log("zZ")}),$("#instructions").draggable({start:drag_start,stop:drag_stop}),$("#instructions").disableSelection()};var shader_gallery={};shader_gallery.init=function(){shader_gallery.bind()},shader_gallery.bind=function(){$("#new-shader").click(new_shader),$("#fetch-all").click(function(){ShaderAPI.all(load_shaders)}),$("#fetch-latest").click(function(){ShaderAPI.latest(load_shaders)}).trigger("click"),$("#save-shader").click(save_shader),ShaderAPI.list_users(function(a,b){var c=$("#pick-user").empty();for(var d in b){var e=$("<option>"),f=b[d].username;e.val(f).html(f),c.append(e)}}),$(document).on("change","#pick-user",function(){var a=$(this).val();ShaderAPI.username(a,load_shaders)}),$(document).on("click",".shader",function(){run_shader($(this).data("shader"))})};var ShaderAPI={};ShaderAPI.limit=24,ShaderAPI.info=function(a,b){ShaderAPI.fetch({f:"info",id:a},b)},ShaderAPI.all=function(a){ShaderAPI.fetch({f:"all"},a)},ShaderAPI.range=function(a,b,c){ShaderAPI.fetch({f:"range",limit:a||ShaderAPI.limit,last:b},c)},ShaderAPI.latest=function(a,b){b||(b=a,a=ShaderAPI.limit),ShaderAPI.fetch({f:"range",limit:a||ShaderAPI.limit},b)},ShaderAPI.page=function(a,b,c){ShaderAPI.fetch({f:"range",last:(a-1)*b,limit:b||ShaderAPI.limit},c)},ShaderAPI.history=function(a,b){ShaderAPI.fetch({f:"history",id:a},b)},ShaderAPI.username=function(a,b){ShaderAPI.fetch({f:"username",username:a},b)},ShaderAPI.list_users=function(a){ShaderAPI.fetch({f:"list_users"},a)},ShaderAPI.originals=function(a){ShaderAPI.fetch({f:"originals"},a)},ShaderAPI.fetch=function(a,b){$.ajax({url:"http://asdf.us/cgi-bin/im/shader/view",data:a,dataType:"jsonp",success:function(a){a.SUCCESS?b(null,a.data):a.ERROR&&b(a.ERROR,a.data)}})};var shader_id_root=null,cc=cq(0,0).appendTo("#workspace"),w=400,h=400,lastGif,mousex,mousey,firsttime=!0,shader_gallery_template=$("#shader-gallery-template").html();$(init);
\ No newline at end of file diff --git a/dist/index.html b/dist/index.html index 0d3e16f..22e87bb 100644 --- a/dist/index.html +++ b/dist/index.html @@ -136,5 +136,5 @@ a { color: #00f; } <button class="remove">x</button> <span class="frame"></span> </script> -<script type="text/javascript" src="app.concat.js"></script></body> +<script type="text/javascript" src="app.min.js"></script></body> </html> |
