From 178bd480eb141f6dc0eb8d07097d85d0e80a8e07 Mon Sep 17 00:00:00 2001 From: Paul Clarke Date: Mon, 12 Dec 2016 15:25:18 +1300 Subject: [PATCH 1/7] API Changes required for asset search behaviour --- admin/client/dist/js/bundle.js | 350 +++++++++--------- admin/client/dist/styles/bundle.css | 28 +- admin/client/lang/en.js | 11 + admin/client/lang/src/en.js | 11 + admin/client/src/boot/BootInjector.js | 2 + admin/client/src/bundles/bundle.js | 1 + .../src/components/Breadcrumb/Breadcrumb.js | 7 +- .../src/components/Breadcrumb/Breadcrumb.scss | 5 +- .../CompositeField/CompositeField.js | 6 +- .../src/components/FieldGroup/FieldGroup.js | 13 + .../src/components/FieldGroup/FieldGroup.scss | 15 + .../src/components/FieldGroup/README.md | 5 + admin/client/src/components/Form/Form.scss | 14 + .../SingleSelectField/SingleSelectField.js | 3 +- .../src/components/TextField/TextField.js | 2 +- admin/client/src/lib/DataFormat.js | 42 ++- admin/client/src/lib/Injector.js | 1 + admin/client/src/styles/_variables.scss | 12 + admin/client/src/styles/bundle.scss | 1 + admin/code/LeftAndMain.php | 13 +- .../Admin/Includes/BackLink_Button.ss | 2 +- .../Admin/Includes/LeftAndMain_MenuToggle.ss | 4 +- .../SilverStripe/Admin/LeftAndMain.ss | 1 + package.json | 1 - src/Forms/CompositeField.php | 9 + src/Forms/FieldGroup.php | 2 + src/Forms/FormFactory.php | 2 +- tests/php/Forms/FormSchemaTest.php | 5 + 28 files changed, 376 insertions(+), 192 deletions(-) create mode 100644 admin/client/src/components/FieldGroup/FieldGroup.js create mode 100644 admin/client/src/components/FieldGroup/FieldGroup.scss create mode 100644 admin/client/src/components/FieldGroup/README.md diff --git a/admin/client/dist/js/bundle.js b/admin/client/dist/js/bundle.js index e02a984f4..37aa5792c 100644 --- a/admin/client/dist/js/bundle.js +++ b/admin/client/dist/js/bundle.js @@ -1,7 +1,7 @@ webpackJsonp([5],[function(e,t,n){"use strict" -n(2),n(3),n(6),n(19),n(21),n(27),n(29),n(31),n(33),n(36),n(106),n(114),n(118),n(128),n(129),n(130),n(131),n(132),n(133),n(135),n(138),n(140),n(142),n(145),n(148),n(150),n(154),n(156),n(158),n(159),n(168), -n(169),n(171),n(172),n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(186),n(188),n(189),n(190),n(191),n(195),n(196),n(197),n(198),n(199),n(196),n(191),n(202),n(204),n(206), -n(207)},,function(e,t){"use strict" +n(2),n(3),n(6),n(19),n(21),n(27),n(29),n(31),n(32),n(34),n(37),n(107),n(115),n(119),n(129),n(130),n(131),n(132),n(133),n(134),n(136),n(139),n(141),n(143),n(146),n(149),n(151),n(153),n(155),n(157),n(158), +n(167),n(168),n(170),n(171),n(172),n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(185),n(187),n(188),n(189),n(190),n(194),n(195),n(196),n(197),n(198),n(195),n(190),n(201),n(203), +n(205),n(206)},,function(e,t){"use strict" function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}) var i=function(){function e(e,t){for(var n=0;n1}},{key:"handleChange",value:function d(e){"function"==typeof this.props.onChange&&this.props.onChange(e,{ +}):s(e,{componentClass:"input",type:this.props.type.toLowerCase()})),e}},{key:"isMultiline",value:function u(){return this.props.data&&this.props.data.rows>1}},{key:"handleChange",value:function d(e){"function"==typeof this.props.onChange&&this.props.onChange(e,{ id:this.props.id,value:e.target.value})}}]),t}(f["default"]) g.propTypes={extraClass:c["default"].PropTypes.string,id:c["default"].PropTypes.string,name:c["default"].PropTypes.string.isRequired,onChange:c["default"].PropTypes.func,value:c["default"].PropTypes.oneOfType([c["default"].PropTypes.string,c["default"].PropTypes.number]), readOnly:c["default"].PropTypes.bool,disabled:c["default"].PropTypes.bool,placeholder:c["default"].PropTypes.string,type:c["default"].PropTypes.string},g.defaultProps={value:"",extraClass:"",className:"", -type:"text"},t.TextField=g,t["default"]=(0,h["default"])(g)},function(e,t){e.exports=FieldHolder},function(e,t,n){(function(t){e.exports=t.LiteralField=n(139)}).call(t,function(){return this}())},function(e,t,n){ +type:"text"},t.TextField=g,t["default"]=(0,h["default"])(g)},function(e,t){e.exports=FieldHolder},function(e,t,n){(function(t){e.exports=t.LiteralField=n(140)}).call(t,function(){return this}())},function(e,t,n){ "use strict" function i(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called") @@ -810,7 +810,7 @@ function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).app value:function i(){return{className:this.props.className+" "+this.props.extraClass,id:this.props.id,name:this.props.name}}},{key:"render",value:function u(){return c["default"].createElement("div",s({},this.getInputProps(),{ dangerouslySetInnerHTML:this.getContent()}))}}]),t}(f["default"]) p.propTypes={id:c["default"].PropTypes.string,name:c["default"].PropTypes.string.isRequired,extraClass:c["default"].PropTypes.string,value:c["default"].PropTypes.string},p.defaultProps={extraClass:"",className:"" -},t["default"]=p},function(e,t,n){(function(t){e.exports=t.Toolbar=n(141)}).call(t,function(){return this}())},function(e,t,n){"use strict" +},t["default"]=p},function(e,t,n){(function(t){e.exports=t.Toolbar=n(142)}).call(t,function(){return this}())},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called") @@ -827,7 +827,7 @@ return u["default"].createElement("div",{className:"toolbar toolbar--north"},u[" }},{key:"handleBackButtonClick",value:function i(e){return"undefined"!=typeof this.props.handleBackButtonClick?void this.props.handleBackButtonClick(e):void e.preventDefault()}}]),t}(d["default"]) f.propTypes={handleBackButtonClick:u["default"].PropTypes.func,showBackButton:u["default"].PropTypes.bool,breadcrumbs:u["default"].PropTypes.array},f.defaultProps={showBackButton:!1},t["default"]=f},function(e,t,n){ -(function(t){e.exports=t.Breadcrumb=n(143)}).call(t,function(){return this}())},function(e,t,n){"use strict" +(function(t){e.exports=t.Breadcrumb=n(144)}).call(t,function(){return this}())},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called") @@ -835,20 +835,20 @@ return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("funct e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return{crumbs:e.breadcrumbs }}Object.defineProperty(t,"__esModule",{value:!0}),t.Breadcrumb=void 0 var l=function(){function e(e,t){for(var n=0;n",'"',"`"," ","\r","\n","\t"],h=["{","}","|","\\","^","`"].concat(p),m=["'"].concat(h),g=["%","/","?",";","#"].concat(m),v=["/","?","#"],y=255,b=/^[+a-z0-9A-Z_-]{0,63}$/,w=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,_={ -javascript:!0,"javascript:":!0},C={javascript:!0,"javascript:":!0},T={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},E=n(165) +var c=/^([a-z0-9.+-]+:)/i,d=/:[0-9]*$/,f=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,p=["<",">",'"',"`"," ","\r","\n","\t"],h=["{","}","|","\\","^","`"].concat(p),m=["'"].concat(h),g=["%","/","?",";","#"].concat(m),v=["/","?","#"],y=255,b=/^[+a-z0-9A-Z_-]{0,63}$/,_=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,w={ +javascript:!0,"javascript:":!0},C={javascript:!0,"javascript:":!0},T={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},E=n(164) i.prototype.parse=function(e,t,n){if(!u.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e) var i=e.indexOf("?"),r=i!==-1&&i127?"x":F[M] -if(!D.match(b)){var U=I.slice(0,S),L=I.slice(S+1),B=F.match(w) +if(!D.match(b)){var U=I.slice(0,S),L=I.slice(S+1),B=F.match(_) B&&(U.push(B[1]),L.unshift(B[2])),L.length&&(s="/"+L.join(".")+s),this.hostname=U.join(".") break}}}this.hostname.length>y?this.hostname="":this.hostname=this.hostname.toLowerCase(),R||(this.hostname=l.toASCII(this.hostname)) var H=this.port?":"+this.port:"",$=this.hostname||"" -this.host=$+H,this.href+=this.host,R&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==s[0]&&(s="/"+s))}if(!_[h])for(var S=0,A=m.length;S0)&&n.host.split("@") P&&(n.auth=P.shift(),n.host=n.hostname=P.shift())}return n.search=e.search,n.query=e.query,u.isNull(n.pathname)&&u.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(), -n}if(!_.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n -for(var O=_.slice(-1)[0],S=(n.host||e.host||_.length>1)&&("."===O||".."===O)||""===O,k=0,j=_.length;j>=0;j--)O=_[j],"."===O?_.splice(j,1):".."===O?(_.splice(j,1),k++):k&&(_.splice(j,1),k--) -if(!b&&!w)for(;k--;k)_.unshift("..") -!b||""===_[0]||_[0]&&"/"===_[0].charAt(0)||_.unshift(""),S&&"/"!==_.join("/").substr(-1)&&_.push("") -var x=""===_[0]||_[0]&&"/"===_[0].charAt(0) -if(E){n.hostname=n.host=x?"":_.length?_.shift():"" +n}if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n +for(var O=w.slice(-1)[0],S=(n.host||e.host||w.length>1)&&("."===O||".."===O)||""===O,k=0,j=w.length;j>=0;j--)O=w[j],"."===O?w.splice(j,1):".."===O?(w.splice(j,1),k++):k&&(w.splice(j,1),k--) +if(!b&&!_)for(;k--;k)w.unshift("..") +!b||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),S&&"/"!==w.join("/").substr(-1)&&w.push("") +var x=""===w[0]||w[0]&&"/"===w[0].charAt(0) +if(E){n.hostname=n.host=x?"":w.length?w.shift():"" var P=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@") -P&&(n.auth=P.shift(),n.host=n.hostname=P.shift())}return b=b||n.host&&_.length,b&&!x&&_.unshift(""),_.length?n.pathname=_.join("/"):(n.pathname=null,n.path=null),u.isNull(n.pathname)&&u.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")), +P&&(n.auth=P.shift(),n.host=n.hostname=P.shift())}return b=b||n.host&&w.length,b&&!x&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),u.isNull(n.pathname)&&u.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")), n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},i.prototype.parseHost=function(){var e=this.host,t=d.exec(e) t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){var i;(function(e,r){!function(o){function a(e){throw RangeError(F[e])}function s(e,t){ for(var n=e.length,i=[];n--;)i[n]=t(e[n]) @@ -994,22 +996,22 @@ for(e=n?M(e/S):e>>1,e+=M(e/t);e>D*P>>1;i+=T)e=M(e/D) return M(i+(D+1)*e/(e+O))}function h(e){var t=[],n=e.length,i,r=0,o=j,s=k,l,u,f,h,m,g,v,y,b for(l=e.lastIndexOf(x),l<0&&(l=0),u=0;u=128&&a("not-basic"),t.push(e.charCodeAt(u)) for(f=l>0?l+1:0;f=n&&a("invalid-input"),v=d(e.charCodeAt(f++)),(v>=T||v>M((C-r)/m))&&a("overflow"),r+=v*m,y=g<=s?E:g>=s+P?P:g-s,!(vM(C/b)&&a("overflow"),m*=b -i=t.length+1,s=p(r-h,i,0==h),M(r/i)>C-o&&a("overflow"),o+=M(r/i),r%=i,t.splice(r++,0,o)}return c(t)}function m(e){var t,n,i,r,o,s,l,c,d,h,m,g=[],v,y,b,w +i=t.length+1,s=p(r-h,i,0==h),M(r/i)>C-o&&a("overflow"),o+=M(r/i),r%=i,t.splice(r++,0,o)}return c(t)}function m(e){var t,n,i,r,o,s,l,c,d,h,m,g=[],v,y,b,_ for(e=u(e),v=e.length,t=j,n=0,o=k,s=0;s=t&&mM((C-n)/y)&&a("overflow"),n+=(l-t)*y,t=l,s=0;sC&&a("overflow"),m==t){for(c=n,d=T;h=d<=o?E:d>=o+P?P:d-o,!(cM((C-n)/y)&&a("overflow"),n+=(l-t)*y,t=l,s=0;sC&&a("overflow"),m==t){for(c=n,d=T;h=d<=o?E:d>=o+P?P:d-o,!(c= 0x80 (not a basic code point)", +})}var y="object"==typeof t&&t&&!t.nodeType&&t,b="object"==typeof e&&e&&!e.nodeType&&e,_="object"==typeof r&&r +_.global!==_&&_.window!==_&&_.self!==_||(o=_) +var w,C=2147483647,T=36,E=1,P=26,O=38,S=700,k=72,j=128,x="-",R=/^xn--/,I=/[^\x20-\x7E]/,A=/[\x2E\u3002\uFF0E\uFF61]/g,F={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)", "invalid-input":"Invalid input"},D=T-E,M=Math.floor,N=String.fromCharCode,U -_={version:"1.3.2",ucs2:{decode:u,encode:c},decode:h,encode:m,toASCII:v,toUnicode:g},i=function(){return _}.call(t,n,t,e),!(void 0!==i&&(e.exports=i))}(this)}).call(t,n(18)(e),function(){return this}()) +w={version:"1.3.2",ucs2:{decode:u,encode:c},decode:h,encode:m,toASCII:v,toUnicode:g},i=function(){return w}.call(t,n,t,e),!(void 0!==i&&(e.exports=i))}(this)}).call(t,n(18)(e),function(){return this}()) },function(e,t){"use strict" e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,n){ "use strict" -t.decode=t.parse=n(166),t.encode=t.stringify=n(167)},function(e,t){"use strict" +t.decode=t.parse=n(165),t.encode=t.stringify=n(166)},function(e,t){"use strict" function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,i,r){t=t||"&",i=i||"=" var o={} if("string"!=typeof e||0===e.length)return o @@ -1048,14 +1050,14 @@ return n.hrefNoSearch+"?"+o["default"].param(i)+(n.hash||"")},getSearchParams:fu return u.convertSearchToArray(t.search)},convertSearchToArray:function y(e){var t,n,i,r={} for(e=e.replace(/^\?/,""),t=e?e.split("&"):[],n=0;n0){if(e.each(r,function(n,i){t.is("#"+i.id)&&(o=e("#"+i.selected))}),e(o).length<1)return void this.focusFirstInput() if(s=e(o).closest(".ss-tabset").find(".ui-tabs-nav .ui-tabs-active .ui-tabs-anchor").attr("id"),l="tab-"+e(o).closest(".ss-tabset .ui-tabs-panel").attr("id"),a&&l!==s)return u=e(o).closest(".togglecomposite"),u.length>0&&u.accordion("activate",u.find(".ui-accordion-header")),c=e(o).position().top,e(o).is(":visible")||(o="#"+e(o).closest(".field").attr("id"),c=e(o).position().top), -e(o).focus(),c>e(window).height()/2&&t.find(".cms-content-fields").scrollTop(c)}else this.focusFirstInput()}},focusFirstInput:function _(){this.find(':input:not(:submit)[data-skip-autofocus!="true"]').filter(":visible:first").focus() +e(o).focus(),c>e(window).height()/2&&t.find(".cms-content-fields").scrollTop(c)}else this.focusFirstInput()}},focusFirstInput:function w(){this.find(':input:not(:submit)[data-skip-autofocus!="true"]').filter(":visible:first").focus() }}),e(".cms-edit-form .btn-toolbar input.action[type=submit], .cms-edit-form .btn-toolbar button.action").entwine({onclick:function C(e){return this.is(":disabled")?(e.preventDefault(),!1):this._super(e)===!1||e.defaultPrevented||e.isDefaultPrevented()?void 0:(this.parents("form").trigger("submit",[this]), e.preventDefault(),!1)}}),e(".cms-edit-form .btn-toolbar input.action[type=submit].ss-ui-action-cancel, .cms-edit-form .btn-toolbar button.action.ss-ui-action-cancel").entwine({onclick:function T(e){window.history.length>1?window.history.back():this.parents("form").trigger("submit",[this]), @@ -1454,7 +1456,7 @@ e(".cms-menu-list li").hoverIntent(function(){e(this).toggleFlyout(!0)},function }}),e(".cms-menu-list li").entwine({onmatch:function b(){this.find("ul").length&&this.find("a:first").append(''),this._super() -},onunmatch:function w(){this._super()},toggle:function _(){this[this.hasClass("opened")?"close":"open"]()},open:function C(){var e=this.getMenuItem() +},onunmatch:function _(){this._super()},toggle:function w(){this[this.hasClass("opened")?"close":"open"]()},open:function C(){var e=this.getMenuItem() e&&e.open(),this.find("li.clone")&&this.find("li.clone").remove(),this.addClass("opened").find("ul").show(),this.find(".toggle-children").addClass("opened")},close:function T(){this.removeClass("opened").find("ul").hide(), this.find(".toggle-children").removeClass("opened")},select:function E(){var e=this.getMenuItem() if(this.addClass("current").open(),this.siblings().removeClass("current").close(),this.siblings().find("li").removeClass("current"),e){var t=e.siblings() @@ -1475,7 +1477,7 @@ this.toggleCSS(t),this.toggleIndicator(t),this._super()},toggleCSS:function R(e) void 0===t?e.setPersistedCollapsedState(e.hasClass("collapsed")):void 0!==t&&i===!1&&e.clearPersistedCollapsedState(),e.setPersistedStickyState(i),this.toggleCSS(i),this.toggleIndicator(i),this._super() }})})},function(e,t,n){"use strict" -function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(116),s=i(a) +function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(117),s=i(a) o["default"].entwine("ss.preview",function(e){e(".cms-preview").entwine({AllowedStates:["StageLink","LiveLink","ArchiveLink"],CurrentStateName:null,CurrentSizeName:"auto",IsPreviewEnabled:!1,DefaultMode:"split", Sizes:{auto:{width:"100%",height:"100%"},mobile:{width:"335px",height:"568px"},mobileLandscape:{width:"583px",height:"320px"},tablet:{width:"783px",height:"1024px"},tabletLandscape:{width:"1039px",height:"768px" },desktop:{width:"1024px",height:"800px"}},changeState:function t(n,i){var r=this,o=this._getNavigatorStates() @@ -1512,8 +1514,8 @@ t.addClass("split-disabled"),t.find(".disabled-tooltip").show()},_block:function this.find(".cms-preview-overlay").hide(),this},_initialiseFromContent:function y(){var t,n return e(".cms-previewable").length?(t=this.loadState("mode"),n=this.loadState("size"),this._moveNavigator(),t&&"content"==t||(this.enablePreview(),this._loadCurrentState()),this.redraw(),t&&this.changeMode(t), n&&this.changeSize(n)):this.disablePreview(),this},"from .cms-container":{onafterstatechange:function b(e,t){t.xhr.getResponseHeader("X-ControllerURL")||this._initialiseFromContent()}},PendingURL:null, -oncolumnvisibilitychanged:function w(){var e=this.getPendingURL() -e&&!this.is(".column-hidden")&&(this.setPendingURL(null),this._loadUrl(e),this._unblock())},"from .cms-container .cms-edit-form":{onaftersubmitform:function _(){this._initialiseFromContent()}},_loadUrl:function C(e){ +oncolumnvisibilitychanged:function _(){var e=this.getPendingURL() +e&&!this.is(".column-hidden")&&(this.setPendingURL(null),this._loadUrl(e),this._unblock())},"from .cms-container .cms-edit-form":{onaftersubmitform:function w(){this._initialiseFromContent()}},_loadUrl:function C(e){ return this.find("iframe").addClass("loading").attr("src",e),this},_getNavigatorStates:function T(){var t=e.map(this.getAllowedStates(),function(t){var n=e(".cms-preview-states .state-name[data-name="+t+"]") @@ -1552,7 +1554,7 @@ e(".cms-preview").changeSize(n)}}),e(".preview-selector select.preview-dropdown" return"undefined"!=typeof i&&n.removeClass(i),n.addClass(t),n.attr("data-icon",t),this}}),e(".preview-mode-selector .chosen-drop li:last-child").entwine({onmatch:function U(){e(".preview-mode-selector").hasClass("split-disabled")?this.parent().append('
'):this.parent().append('') }}),e(".preview-device-outer").entwine({onclick:function L(){this.parent(".preview__device").toggleClass("rotate")}})})},function(e,t,n){(function(e){"use strict" -function t(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=t(i),o=n(116),a=t(o) +function t(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=t(i),o=n(117),a=t(o) r["default"].entwine("ss.tree",function(t){t("#Form_BatchActionsForm").entwine({Actions:[],getTree:function n(){return t(".cms-tree")},fromTree:{oncheck_node:function i(e,t){this.serializeFromTree()},onuncheck_node:function r(e,t){ this.serializeFromTree()}},onmatch:function o(){var e=this e.getTree().bind("load_node.jstree",function(t,n){e.refreshSelected()})},onunmatch:function s(){var e=this @@ -1598,10 +1600,10 @@ for(i in e.modified)r=o.getNodeByID(i),o.jstree("set_text",r,e.modified[i].TreeT t(a).effect("highlight")}if(e.deleted)for(i in e.deleted)r=o.getNodeByID(i),r.length&&o.jstree("delete_node",r) if(e.error)for(i in e.error)r=o.getNodeByID(i),t(r).addClass("failed")},dataType:"json"}),n.preventDefault(),!1}}),t(".cms-content-batchactions-button").entwine({onmatch:function v(){this._super(),this.updateTree() -},onunmatch:function y(){this._super()},onclick:function b(e){this.updateTree()},updateTree:function w(){var e=t(".cms-tree"),n=t("#Form_BatchActionsForm") +},onunmatch:function y(){this._super()},onclick:function b(e){this.updateTree()},updateTree:function _(){var e=t(".cms-tree"),n=t("#Form_BatchActionsForm") this._super(),this.data("active")?(e.addClass("multiple"),e.removeClass("draggable"),n.serializeFromTree()):(e.removeClass("multiple"),e.addClass("draggable")),t("#Form_BatchActionsForm").refreshSelected() -}}),t("#Form_BatchActionsForm select[name=Action]").entwine({onchange:function _(e){var n=t(e.target.form),i=n.find(":submit"),r=t(e.target).val() +}}),t("#Form_BatchActionsForm select[name=Action]").entwine({onchange:function w(e){var n=t(e.target.form),i=n.find(":submit"),r=t(e.target).val() r&&r!=-1?i.removeAttr("disabled").button("refresh"):i.attr("disabled","disabled").button("refresh"),t("#Form_BatchActionsForm").refreshSelected(),this.trigger("chosen:updated"),this._super(e)}})})}).call(t,n(1)) },function(e,t,n){"use strict" @@ -1620,7 +1622,7 @@ this.addClass("description-toggle-enabled"),n.on("click",function(){i[e?"hide":" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) o["default"].entwine("ss",function(e){e(".TreeDropdownField").entwine({"from .cms-container form":{onaftersubmitform:function t(e){this.find(".tree-holder").empty(),this._super()}}})})},function(e,t,n){ "use strict" -function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(5),s=i(a),l=n(184),u=i(l),c=n(108),d=n(185),f=i(d) +function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(5),s=i(a),l=n(183),u=i(l),c=n(109),d=n(184),f=i(d) o["default"].entwine("ss",function(e){e(".cms-content-actions .add-to-campaign-action,#add-to-campaign__action").entwine({onclick:function t(){var t=e("#add-to-campaign__dialog-wrapper") return t.length||(t=e('
'),e("body").append(t)),t.open(),!1}}),e("#add-to-campaign__dialog-wrapper").entwine({onunmatch:function n(){this._clearModal()},open:function i(){ this._renderModal(!0)},close:function r(){this._renderModal(!1)},_renderModal:function o(t){var n=this,i=function h(){return n.close()},r=function m(){return n._handleSubmitModal.apply(n,arguments)},o=e("form.cms-edit-form :input[name=ID]").val(),a=window.ss.store,l="SilverStripe\\CMS\\Controllers\\CMSPageEditController",d=a.getState().config.sections[l],p=d.form.AddToCampaignForm.schemaUrl+"/"+o @@ -1630,7 +1632,7 @@ u["default"].render(s["default"].createElement(c.Provider,{store:a},s["default"] responseClassGood:"modal__response modal__response--good"})),this[0])},_clearModal:function a(){u["default"].unmountComponentAtNode(this[0])},_handleSubmitModal:function l(e,t,n){return n()}})})},,function(e,t){ e.exports=FormBuilderModal},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) -n(171),n(187) +n(170),n(186) var a=function s(e){var t=(0,o["default"])((0,o["default"])(this).contents()).find(".message") if(t&&t.html()){var n=(0,o["default"])(window.parent.document).find("#Form_EditForm_Members").get(0) n&&n.refresh() @@ -1658,7 +1660,7 @@ e(this).prop("checked","checked")}):t.each(function(){e(this).prop("checked",e(t })}})})},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) -n(171),o["default"].entwine("ss",function(e){e(".cms-content-tools #Form_SearchForm").entwine({onsubmit:function t(e){this.trigger("beforeSubmit")}}),e(".importSpec").entwine({onmatch:function n(){this.find("div.details").hide(), +n(170),o["default"].entwine("ss",function(e){e(".cms-content-tools #Form_SearchForm").entwine({onsubmit:function t(e){this.trigger("beforeSubmit")}}),e(".importSpec").entwine({onmatch:function n(){this.find("div.details").hide(), this.find("a.detailsLink").click(function(){return e("#"+e(this).attr("href").replace(/.*#/,"")).slideToggle(),!1}),this._super()},onunmatch:function i(){this._super()}})})},function(e,t,n){"use strict" @@ -1673,8 +1675,8 @@ t.toggleClass("active"),t.find(".toggle-content").css("minHeight",n)}})},functio function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r);(0,o["default"])(document).on("click",".confirmedpassword .showOnClick a",function(){var e=(0,o["default"])(".showOnClickContainer",(0, o["default"])(this).parent()) return e.toggle("fast",function(){e.find('input[type="hidden"]').val(e.is(":visible")?1:0)}),!1})},function(e,t,n){"use strict" -function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(116),s=i(a) -window.tmpl=n(192),n(193),n(194),o["default"].widget("blueimpUIX.fileupload",o["default"].blueimpUI.fileupload,{_initTemplates:function l(){this.options.templateContainer=document.createElement(this._files.prop("nodeName")), +function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(117),s=i(a) +window.tmpl=n(191),n(192),n(193),o["default"].widget("blueimpUIX.fileupload",o["default"].blueimpUI.fileupload,{_initTemplates:function l(){this.options.templateContainer=document.createElement(this._files.prop("nodeName")), this.options.uploadTemplate=window.tmpl(this.options.uploadTemplateName),this.options.downloadTemplate=window.tmpl(this.options.downloadTemplateName)},_enableFileInputButton:function u(){o["default"].blueimpUI.fileupload.prototype._enableFileInputButton.call(this), this.element.find(".ss-uploadfield-addfile").show()},_disableFileInputButton:function c(){o["default"].blueimpUI.fileupload.prototype._disableFileInputButton.call(this),this.element.find(".ss-uploadfield-addfile").hide() @@ -1784,22 +1786,22 @@ t.length&&t.removeClass("selected") var n=e.nextAll("li.selected") n.length&&n.removeClass("selected"),(0,o["default"])(this).focus()})})},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) -n(170),o["default"].fn.extend({ssDatepicker:function a(e){return(0,o["default"])(this).each(function(){if(!((0,o["default"])(this).prop("disabled")||(0,o["default"])(this).prop("readonly")||(0,o["default"])(this).data("datepicker"))){ +n(169),o["default"].fn.extend({ssDatepicker:function a(e){return(0,o["default"])(this).each(function(){if(!((0,o["default"])(this).prop("disabled")||(0,o["default"])(this).prop("readonly")||(0,o["default"])(this).data("datepicker"))){ (0,o["default"])(this).siblings("button").addClass("ui-icon ui-icon-calendar") var t=(0,o["default"])(this).closest(".field.date"),n=o["default"].extend(e||{},(0,o["default"])(this).data(),(0,o["default"])(this).data("jqueryuiconfig"),{}) n.showcalendar&&(n.locale&&o["default"].datepicker.regional[n.locale]&&(n=o["default"].extend(n,o["default"].datepicker.regional[n.locale],{})),n.min&&(n.minDate=o["default"].datepicker.parseDate("yy-mm-dd",n.min)), n.max&&(n.maxDate=o["default"].datepicker.parseDate("yy-mm-dd",n.max)),n.dateFormat=n.jquerydateformat,(0,o["default"])(this).datepicker(n))}})}}),(0,o["default"])(document).on("click",".field.date input.text,input.text.date",function(){ (0,o["default"])(this).ssDatepicker(),(0,o["default"])(this).data("datepicker")&&(0,o["default"])(this).datepicker("show")})},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) -n(170),o["default"].entwine("ss",function(e){e(".ss-toggle").entwine({onadd:function t(){this._super(),this.accordion({heightStyle:"content",collapsible:!0,active:!this.hasClass("ss-toggle-start-closed")&&0 +n(169),o["default"].entwine("ss",function(e){e(".ss-toggle").entwine({onadd:function t(){this._super(),this.accordion({heightStyle:"content",collapsible:!0,active:!this.hasClass("ss-toggle-start-closed")&&0 })},onremove:function n(){this.data("accordion")&&this.accordion("destroy"),this._super()},getTabSet:function i(){return this.closest(".ss-tabset")},fromTabSet:{ontabsshow:function r(){this.accordion("resize") }}})})},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) o["default"].entwine("ss",function(e){e(".memberdatetimeoptionset").entwine({onmatch:function t(){this.find(".toggle-content").hide(),this._super()}}),e(".memberdatetimeoptionset .toggle").entwine({onclick:function n(t){ return e(this).closest(".form__field-description").parent().find(".toggle-content").toggle(),!1}})})},function(e,t,n){(function(e){"use strict" -function t(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=t(i),o=n(116),a=t(o) -n(200),n(201),r["default"].entwine("ss",function(t){var n,i +function t(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=t(i),o=n(117),a=t(o) +n(199),n(200),r["default"].entwine("ss",function(t){var n,i t(window).bind("resize.treedropdownfield",function(){var e=function a(){t(".TreeDropdownField").closePanel()} if(t.browser.msie&&parseInt(t.browser.version,10)<9){var r=t(window).width(),o=t(window).height() r==n&&o==i||(n=r,i=o,e())}else e()}) @@ -1838,13 +1840,13 @@ var s=!0 o.jstree("destroy").bind("loaded.jstree",function(e,t){var r=i.getValue(),a=o.find('*[data-id="'+r+'"]'),l=t.inst.get_selected() r&&a!=l&&t.inst.select_node(a),s=!1,n&&n.apply(i)}).jstree(i.getTreeConfig()).bind("select_node.jstree",function(e,n){var r=n.rslt.obj,o=t(r).data("id") s||i.getValue()!=o?(i.data("metadata",t.extend({id:o},t(r).getMetaData())),i.setTitle(n.inst.get_text(r)),i.setValue(o)):(i.data("metadata",null),i.setTitle(null),i.setValue(null),n.inst.deselect_node(r)), -s||i.closePanel(),s=!1}),i.setCurrentXhr(null)}}),this.setCurrentXhr(a)},getTreeConfig:function w(){var e=this +s||i.closePanel(),s=!1}),i.setCurrentXhr(null)}}),this.setCurrentXhr(a)},getTreeConfig:function _(){var e=this return{core:{html_titles:!0,animation:0},html_data:{data:this.getPanel().find(".tree-holder").html(),ajax:{url:function n(i){var n=t.path.parseUrl(e.data("urlTree")).hrefNoSearch return n+"/"+(t(i).data("id")?t(i).data("id"):0)},data:function i(n){var i=t.query.load(e.data("urlTree")).keys,r=e.getRequestParams() return r=t.extend({},i,r,{ajax:1})}}},ui:{select_limit:1,initially_select:[this.getPanel().find(".current").attr("id")]},themes:{theme:"apple"},types:{types:{"default":{check_node:function r(e){return!e.hasClass("disabled") },uncheck_node:function o(e){return!e.hasClass("disabled")},select_node:function a(e){return!e.hasClass("disabled")},deselect_node:function s(e){return!e.hasClass("disabled")}}}},plugins:["html_data","ui","themes","types"] -}},getRequestParams:function _(){return{}}}),t(".TreeDropdownField .tree-holder li").entwine({getMetaData:function C(){var e=this.attr("class").match(/class-([^\s]*)/i),t=e?e[1]:"" +}},getRequestParams:function w(){return{}}}),t(".TreeDropdownField .tree-holder li").entwine({getMetaData:function C(){var e=this.attr("class").match(/class-([^\s]*)/i),t=e?e[1]:"" return{ClassName:t}}}),t(".TreeDropdownField *").entwine({getField:function T(){return this.parents(".TreeDropdownField:first")}}),t(".TreeDropdownField").entwine({onclick:function E(e){return this.togglePanel(), !1}}),t(".TreeDropdownField .treedropdownfield-panel").entwine({onclick:function P(e){return!1}}),t(".TreeDropdownField.searchable").entwine({onadd:function O(){this._super() var e=a["default"]._t("TreeDropdownField.ENTERTOSEARCH") @@ -1867,7 +1869,7 @@ onadd:function M(){this._super(),this.bind("change.TreeDropdownField",function() },,,function(module,exports,__webpack_require__){"use strict" function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}var _extends=Object.assign||function(e){for(var t=1;t").append(n).html()},updateFromNode:function ye(e){}}),e("form. return{src:this.find(".thumbnail-preview").attr("src"),width:e?parseInt(e,10):null,height:t?parseInt(t,10):null,"class":this.find(":input[name=CSSClass]").val(),alt:this.find(":input[name=AltText]").val(), -title:this.find(":input[name=Title]").val(),"data-fileid":this.find(":input[name=FileID]").val()}},getExtraData:function we(){var e=this.find(":input[name=Width]").val(),t=this.find(":input[name=Height]").val() +title:this.find(":input[name=Title]").val(),"data-fileid":this.find(":input[name=FileID]").val()}},getExtraData:function _e(){var e=this.find(":input[name=Width]").val(),t=this.find(":input[name=Height]").val() return{CaptionText:this.find(":input[name=CaptionText]").val(),Url:this.find(":input[name=URL]").val(),thumbnail:this.find(".thumbnail-preview").attr("src"),width:e?parseInt(e,10):null,height:t?parseInt(t,10):null, -cssclass:this.find(":input[name=CSSClass]").val()}},getHTML:function _e(){var t,n=this.getAttributes(),i=this.getExtraData(),r=e("").attr(n).addClass("ss-htmleditorfield-file embed") +cssclass:this.find(":input[name=CSSClass]").val()}},getHTML:function we(){var t,n=this.getAttributes(),i=this.getExtraData(),r=e("").attr(n).addClass("ss-htmleditorfield-file embed") return e.each(i,function(e,t){r.attr("data-"+e,t)}),t=i.CaptionText?e('

'+i.CaptionText+"

").prepend(r):r, e("
").append(t).html()},updateFromNode:function Ce(e){this.find(":input[name=AltText]").val(e.attr("alt")),this.find(":input[name=Title]").val(e.attr("title")),this.find(":input[name=Width]").val(e.width()), this.find(":input[name=Height]").val(e.height()),this.find(":input[name=Title]").val(e.attr("title")),this.find(":input[name=CSSClass]").val(e.data("cssclass")),this.find(":input[name=FileID]").val(e.data("fileid")) @@ -2105,7 +2107,7 @@ return a&&a.not(c).length&&a.replaceWith(c),l&&l.prepend(s),a||(n.repaint(),n.in e.noticeAdd({text:i,type:n,stayTime:5e3,inEffect:{left:"0",opacity:"show"}})}})})},function(e,t){e.exports=ReactApollo},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) -n(170),n(205),n(200),o["default"].entwine("ss",function(e){e(".ss-tabset").entwine({IgnoreTabState:!1,onadd:function t(){var e=window.location.hash +n(169),n(204),n(199),o["default"].entwine("ss",function(e){e(".ss-tabset").entwine({IgnoreTabState:!1,onadd:function t(){var e=window.location.hash this.redrawTabs(),""!==e&&this.openTabFromURL(e),this._super()},onremove:function n(){this.data("tabs")&&this.tabs("destroy"),this._super()},redrawTabs:function i(){this.rewriteHashlinks(),this.tabs()}, openTabFromURL:function r(t){var n e.each(this.find(".ui-tabs-anchor"),function(){if(this.href.indexOf(t)!==-1&&1===e(t).length)return n=e(this),!1}),void 0!==n&&e(document).ready("ajaxComplete",function(){n.click()})},rewriteHashlinks:function o(){ @@ -2113,8 +2115,8 @@ e(this).find("ul a").each(function(){if(e(this).attr("href")){var t=e(this).attr t&&e(this).attr("href",document.location.href.replace(/#.*/,"")+t[0])}})}}),e(".ui-tabs-active .ui-tabs-anchor").entwine({onmatch:function a(){this.addClass("nav-link active")},onunmatch:function s(){this.removeClass("active") }})})},,function(e,t,n){"use strict" -function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(116),s=i(a) -n(170),n(200),o["default"].entwine("ss",function(e){e(".grid-field").entwine({reload:function t(n,i){var r=this,o=this.closest("form"),a=this.find(":input:focus").attr("name"),l=o.find(":input").serializeArray() +function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(117),s=i(a) +n(169),n(199),o["default"].entwine("ss",function(e){e(".grid-field").entwine({reload:function t(n,i){var r=this,o=this.closest("form"),a=this.find(":input:focus").attr("name"),l=o.find(":input").serializeArray() n||(n={}),n.data||(n.data=[]),n.data=n.data.concat(l),window.location.search&&(n.data=window.location.search.replace(/^\?/,"")+"&"+e.param(n.data)),o.addClass("loading"),e.ajax(e.extend({},{headers:{"X-Pjax":"CurrentField" @@ -2141,8 +2143,8 @@ this.toggleDisabled(),this.find('input[type="text"]').on("keyup",function(){e.to ;(n&&i||!n&&!i)&&e.button("option","disabled",!i)}}),e(".grid-field .grid-field__col-compact .action.gridfield-button-delete, .cms-edit-form .btn-toolbar button.action.action-delete").entwine({onclick:function v(e){ return confirm(s["default"]._t("TABLEFIELD.DELETECONFIRMMESSAGE"))?void this._super(e):(e.preventDefault(),!1)}}),e(".grid-field .action.gridfield-button-print").entwine({UUID:null,onmatch:function y(){ -this._super(),this.setUUID((new Date).getTime())},onunmatch:function b(){this._super()},onclick:function w(e){var t=this.actionurl() -return window.open(t),e.preventDefault(),!1}}),e(".ss-gridfield-print-iframe").entwine({onmatch:function _(){this._super(),this.hide().bind("load",function(){this.focus() +this._super(),this.setUUID((new Date).getTime())},onunmatch:function b(){this._super()},onclick:function _(e){var t=this.actionurl() +return window.open(t),e.preventDefault(),!1}}),e(".ss-gridfield-print-iframe").entwine({onmatch:function w(){this._super(),this.hide().bind("load",function(){this.focus() var e=this.contentWindow||this e.print()})},onunmatch:function C(){this._super()}}),e(".grid-field .action.no-ajax").entwine({onclick:function T(e){return window.location.href=this.actionurl(),e.preventDefault(),!1}}),e(".grid-field .action-detail").entwine({ onclick:function E(){return this.getGridField().showDetailView(e(this).prop("href")),!1}}),e(".grid-field[data-selectable]").entwine({getSelectedItems:function P(){return this.find(".ss-gridfield-item.ui-selected") @@ -2174,7 +2176,7 @@ var t={} if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]) return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(){var e=h["default"].get("absoluteBaseUrl"),t=new I["default"]({shouldBatch:!0,addTypename:!0,dataIdFromObject:function T(e){ return e.id>=0&&e.__typename?e.__typename+":"+e.id:null},networkInterface:(0,R.createNetworkInterface)({uri:e+"graphql/",opts:{credentials:"same-origin"}})}) -g["default"].add("config",w["default"]),g["default"].add("form",d.reducer),g["default"].add("schemas",C["default"]),g["default"].add("records",E["default"]),g["default"].add("campaign",O["default"]),g["default"].add("breadcrumbs",k["default"]), +g["default"].add("config",_["default"]),g["default"].add("form",d.reducer),g["default"].add("schemas",C["default"]),g["default"].add("records",E["default"]),g["default"].add("campaign",O["default"]),g["default"].add("breadcrumbs",k["default"]), g["default"].add("routing",f.routerReducer),g["default"].add("apollo",t.reducer()),x["default"].start() var n={},i=(0,l.combineReducers)(g["default"].getAll()),r=[c["default"],t.middleware()],o=h["default"].get("environment"),a=h["default"].get("debugging"),u=l.applyMiddleware.apply(void 0,r),p=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__,m=window.__REDUX_DEVTOOLS_EXTENSION__||window.devToolsExtension @@ -2182,23 +2184,23 @@ var n={},i=(0,l.combineReducers)(g["default"].getAll()),r=[c["default"],t.middle "dev"===o&&a&&("function"==typeof p?u=p(l.applyMiddleware.apply(void 0,r)):"function"==typeof m&&(u=(0,l.compose)(l.applyMiddleware.apply(void 0,r),m()))) var v=u(l.createStore),b=v(i,n) b.dispatch(y.setConfig(h["default"].getAll())),window.ss=window.ss||{},window.ss.store=b,window.ss=window.ss||{},window.ss.apolloClient=t -var _=new s["default"](b,t) -_.start(window.location.pathname),window.jQuery&&window.jQuery("body").addClass("js-react-boot")}var a=n(208),s=r(a),l=n(109),u=n(230),c=r(u),d=n(111),f=n(229),p=n(149),h=r(p),m=n(231),g=r(m),v=n(232),y=i(v),b=n(234),w=r(b),_=n(235),C=r(_),T=n(236),E=r(T),P=n(237),O=r(P),S=n(239),k=r(S),j=n(240),x=r(j),R=n(255),I=r(R),A=n(256),F=r(A),D=n(10),M=r(D) +var w=new s["default"](b,t) +w.start(window.location.pathname),window.jQuery&&window.jQuery("body").addClass("js-react-boot")}var a=n(207),s=r(a),l=n(110),u=n(229),c=r(u),d=n(112),f=n(228),p=n(150),h=r(p),m=n(230),g=r(m),v=n(231),y=i(v),b=n(233),_=r(b),w=n(234),C=r(w),T=n(235),E=r(T),P=n(236),O=r(P),S=n(238),k=r(S),j=n(239),x=r(j),R=n(255),I=r(R),A=n(256),F=r(A),D=n(10),M=r(D) M["default"].polyfill(),window.onload=o},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}) var o=function(){function e(e,t){for(var n=0;n.form-group{ + margin-top:0; + display:inline-block; + margin-right:.6154rem; + min-width:166px; + vertical-align:bottom; +} + +.field-group-component>.form-group .form__field-label{ + font-size:.846rem; + color:#66727d; +} + .list-group{ margin-left:-1.5385rem; margin-right:-1.5385rem; @@ -14929,7 +14942,6 @@ div.TreeDropdownField a.jstree-loading .jstree-pageicon{ line-height:14px; margin-bottom:0; float:left; - width:70%; max-height:52px; } @@ -14938,6 +14950,10 @@ div.TreeDropdownField a.jstree-loading .jstree-pageicon{ float:none; } +.breadcrumb>li.breadcrumb__item--last.breadcrumb__item--no-crumb:before,.breadcrumb__item--last.breadcrumb__item--no-crumb:before{ + content:""; +} + .breadcrumb__item-title--last,.cms h2.breadcrumb__item-title--last{ margin:0; font-size:1.23rem; @@ -15760,6 +15776,16 @@ input.checkbox,input.radio,input[type=checkbox],input[type=radio]{ margin-left:-1.5385rem; } +.field input[type=date].creditcard,.field input[type=date].text,.field input[type=date].TreeDropdownField,.field input[type=datetime-local].creditcard,.field input[type=datetime-local].text,.field input[type=datetime-local].TreeDropdownField,.field input[type=month].creditcard,.field input[type=month].text,.field input[type=month].TreeDropdownField,.field input[type=time].creditcard,.field input[type=time].text,.field input[type=time].TreeDropdownField,input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{ + min-height:calc(.5385rem * 2 + 20px + 2px); +} + +@media screen and (-webkit-min-device-pixel-ratio:0){ + .field input[type=date].creditcard,.field input[type=date].text,.field input[type=date].TreeDropdownField,.field input[type=datetime-local].creditcard,.field input[type=datetime-local].text,.field input[type=datetime-local].TreeDropdownField,.field input[type=month].creditcard,.field input[type=month].text,.field input[type=month].TreeDropdownField,.field input[type=time].creditcard,.field input[type=time].text,.field input[type=time].TreeDropdownField,input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{ + line-height:1.539; + } +} + @media (min-width:992px){ .cms-edit-form:not(.AssetAdmin) .form-group,.form--inline .form-group,.ss-insert-link .form__fieldgroup .form-group{ display:-webkit-box; diff --git a/admin/client/lang/en.js b/admin/client/lang/en.js index d54f08071..b69fd3ac3 100644 --- a/admin/client/lang/en.js +++ b/admin/client/lang/en.js @@ -23,6 +23,17 @@ if (typeof(ss) === 'undefined' || typeof(ss.i18n) === 'undefined') { "LeftAndMain.CONFIRMUNSAVED": "Are you sure you want to navigate away from this page?\n\nWARNING: Your changes have not been saved.\n\nPress OK to continue, or Cancel to stay on the current page.", "LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.", "LeftAndMain.PAGEWASDELETED": "This page was deleted. To edit a page, select it from the left.", + "LeftAndMain.SEARCHCLEARRESULTS": "Clear search", + "LeftAndMain.SEARCHRESULTS": "Search results", + "LeftAndMain.SEARCHRESULTSMESSAGE": "Search results {parts}", + "LeftAndMain.SEARCHRESULTSMESSAGEKEYWORDS": "with keywords '{Name}'", + "LeftAndMain.SEARCHRESULTSMESSAGEEDITEDBETWEEN": "created between '{CreatedFrom}' and '{CreatedTo}'", + "LeftAndMain.SEARCHRESULTSMESSAGEEDITEDFROM": "created after '{CreatedFrom}'", + "LeftAndMain.SEARCHRESULTSMESSAGEEDITEDTO": "created before '{CreatedTo}'", + "LeftAndMain.SEARCHRESULTSMESSAGECATEGORY": "categorised as '{AppCategory}'", + "LeftAndMain.SEARCHRESULTSMESSAGELIMIT": "limited to the folder '{Folder}'", + "LeftAndMain.JOIN": ",", + "LeftAndMain.JOINLAST": "and", "ModelAdmin.DELETED": "Deleted", "ModelAdmin.REALLYDELETE": "Do you really want to delete?", "ModelAdmin.SAVED": "Saved", diff --git a/admin/client/lang/src/en.js b/admin/client/lang/src/en.js index 05b42674b..e1087a492 100644 --- a/admin/client/lang/src/en.js +++ b/admin/client/lang/src/en.js @@ -16,6 +16,17 @@ "LeftAndMain.CONFIRMUNSAVED": "Are you sure you want to navigate away from this page?\n\nWARNING: Your changes have not been saved.\n\nPress OK to continue, or Cancel to stay on the current page.", "LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.", "LeftAndMain.PAGEWASDELETED": "This page was deleted. To edit a page, select it from the left.", + "LeftAndMain.SEARCHCLEARRESULTS": "Clear search", + "LeftAndMain.SEARCHRESULTS": "Search results", + "LeftAndMain.SEARCHRESULTSMESSAGE": "Search results {parts}", + "LeftAndMain.SEARCHRESULTSMESSAGEKEYWORDS": "with keywords '{Name}'", + "LeftAndMain.SEARCHRESULTSMESSAGEEDITEDBETWEEN": "edited between '{CreatedFrom}' to '{CreatedTo}'", + "LeftAndMain.SEARCHRESULTSMESSAGEEDITEDFROM": "edited from '{CreatedFrom}'", + "LeftAndMain.SEARCHRESULTSMESSAGEEDITEDTO": "edited before '{CreatedTo}'", + "LeftAndMain.SEARCHRESULTSMESSAGECATEGORY": "categorised as '{AppCategory}'", + "LeftAndMain.SEARCHRESULTSMESSAGELIMIT": "limited to the folder '{Folder}'", + "LeftAndMain.JOIN": ",", + "LeftAndMain.JOINLAST": "and", "ModelAdmin.DELETED": "Deleted", "ModelAdmin.REALLYDELETE": "Do you really want to delete?", "ModelAdmin.SAVED": "Saved", diff --git a/admin/client/src/boot/BootInjector.js b/admin/client/src/boot/BootInjector.js index 0c172f7f2..e701d3fc8 100644 --- a/admin/client/src/boot/BootInjector.js +++ b/admin/client/src/boot/BootInjector.js @@ -15,6 +15,7 @@ import CompositeField from 'components/CompositeField/CompositeField'; import Tabs from 'components/Tabs/Tabs'; import TabItem from 'components/Tabs/TabItem'; import FormAction from 'components/FormAction/FormAction'; +import FieldGroup from 'components/FieldGroup/FieldGroup'; /** * TODO remove when dependency injector for javascript is incorporated @@ -29,6 +30,7 @@ class BootInjector { injector.register('CheckboxSetField', CheckboxSetField); injector.register('OptionsetField', OptionsetField); injector.register('GridField', GridField); + injector.register('FieldGroup', FieldGroup); injector.register('SingleSelectField', SingleSelectField); injector.register('PopoverField', PopoverField); injector.register('HeaderField', HeaderField); diff --git a/admin/client/src/bundles/bundle.js b/admin/client/src/bundles/bundle.js index eb87cb146..19758895f 100644 --- a/admin/client/src/bundles/bundle.js +++ b/admin/client/src/bundles/bundle.js @@ -8,6 +8,7 @@ require('expose?schemaFieldValues!lib/schemaFieldValues'); require('expose?FieldHolder!components/FieldHolder/FieldHolder'); require('expose?Form!components/Form/Form'); require('expose?FormConstants!components/Form/FormConstants'); +require('expose?FormAlert!components/FormAlert/FormAlert'); require('expose?FormAction!components/FormAction/FormAction'); require('expose?SchemaActions!state/schema/SchemaActions'); require('expose?FormBuilder!components/FormBuilder/FormBuilder'); diff --git a/admin/client/src/components/Breadcrumb/Breadcrumb.js b/admin/client/src/components/Breadcrumb/Breadcrumb.js index ea5aeee89..4295028fd 100644 --- a/admin/client/src/components/Breadcrumb/Breadcrumb.js +++ b/admin/client/src/components/Breadcrumb/Breadcrumb.js @@ -32,9 +32,14 @@ class Breadcrumb extends SilverStripeComponent { this.props.crumbs.slice(-1).map((crumb, index) => { const iconClassNames = ['breadcrumb__icon', crumb.icon ? crumb.icon.className : ''] .join(' '); + const itemClassNames = ['breadcrumb__item', 'breadcrumb__item--last']; + + if (crumb.noCrumb) { + itemClassNames.push('breadcrumb__item--no-crumb'); + } return [ -
  • +
  • {crumb.text} {crumb.icon && diff --git a/admin/client/src/components/Breadcrumb/Breadcrumb.scss b/admin/client/src/components/Breadcrumb/Breadcrumb.scss index fd6f19f6d..8aca96907 100644 --- a/admin/client/src/components/Breadcrumb/Breadcrumb.scss +++ b/admin/client/src/components/Breadcrumb/Breadcrumb.scss @@ -3,7 +3,6 @@ line-height: 14px; margin-bottom: 0; float: left; - width: 70%; max-height: $toolbar-height; } @@ -11,6 +10,10 @@ .breadcrumb__item--last { display: block; float: none; + + &.breadcrumb__item--no-crumb:before { + content: ""; + } } .cms h2.breadcrumb__item-title--last, // TODO Fix CMS clash diff --git a/admin/client/src/components/CompositeField/CompositeField.js b/admin/client/src/components/CompositeField/CompositeField.js index 6ca365fb1..937d71fec 100644 --- a/admin/client/src/components/CompositeField/CompositeField.js +++ b/admin/client/src/components/CompositeField/CompositeField.js @@ -18,10 +18,14 @@ class CompositeField extends SilverStripeComponent { return null; } + getClassName() { + return `${this.props.className} ${this.props.extraClass}`; + } + render() { const legend = this.getLegend(); const Tag = this.props.data.tag || 'div'; - const className = `${this.props.className} ${this.props.extraClass}`; + const className = this.getClassName(); return ( diff --git a/admin/client/src/components/FieldGroup/FieldGroup.js b/admin/client/src/components/FieldGroup/FieldGroup.js new file mode 100644 index 000000000..4e7ab290a --- /dev/null +++ b/admin/client/src/components/FieldGroup/FieldGroup.js @@ -0,0 +1,13 @@ +import CompositeField from 'components/CompositeField/CompositeField'; +import fieldHolder from 'components/FieldHolder/FieldHolder'; + +class FieldGroup extends CompositeField { + getClassName() { + return `field-group-component ${super.getClassName()}`; + } +} + +// Field group is essentially a composite field, but wrapped with a typical field holder +export { FieldGroup }; + +export default fieldHolder(FieldGroup); diff --git a/admin/client/src/components/FieldGroup/FieldGroup.scss b/admin/client/src/components/FieldGroup/FieldGroup.scss new file mode 100644 index 000000000..10ede43af --- /dev/null +++ b/admin/client/src/components/FieldGroup/FieldGroup.scss @@ -0,0 +1,15 @@ + // Note: Intentionally non-bem due to the way composite fields affect nested styles +.field-group-component { + > .form-group { + margin-top: 0; + display: inline-block; + margin-right: $spacer-x / 2; + min-width: 166px; + vertical-align: bottom; // Align fields with no labels + + .form__field-label { + font-size: $font-size-xs; + color: $text-muted; + } + } +} diff --git a/admin/client/src/components/FieldGroup/README.md b/admin/client/src/components/FieldGroup/README.md new file mode 100644 index 000000000..feca64492 --- /dev/null +++ b/admin/client/src/components/FieldGroup/README.md @@ -0,0 +1,5 @@ +# FieldGroup + +A group of fields with a title + +See CompositeField diff --git a/admin/client/src/components/Form/Form.scss b/admin/client/src/components/Form/Form.scss index 6fe85c55b..c32f49d4f 100644 --- a/admin/client/src/components/Form/Form.scss +++ b/admin/client/src/components/Form/Form.scss @@ -301,6 +301,20 @@ input.radio { } } +// Fix height of date-fields collapsing in IE +input[type=date], +input[type=time], +input[type=datetime-local], +input[type=month] { + &.form-control { + min-height: calc(#{$input-padding-y} * 2 + #{$line-height-base} + 2px); + + // Reduce huge line-height for BS date-fields + @media screen and (-webkit-min-device-pixel-ratio: 0) { + line-height: $line-height; + } + } +} // TEMPORARY // Apply .form--inline to forms to state whether or not the label and input should become inline diff --git a/admin/client/src/components/SingleSelectField/SingleSelectField.js b/admin/client/src/components/SingleSelectField/SingleSelectField.js index a4ab9fb9d..37917fe29 100644 --- a/admin/client/src/components/SingleSelectField/SingleSelectField.js +++ b/admin/client/src/components/SingleSelectField/SingleSelectField.js @@ -81,7 +81,8 @@ class SingleSelectField extends SilverStripeComponent { getInputProps() { const props = { bsClass: this.props.bsClass, - className: `${this.props.className} ${this.props.extraClass}`, + // @TODO Prevent entwine chosen applying chosen + className: `${this.props.className} ${this.props.extraClass} no-chosen`, id: this.props.id, name: this.props.name, disabled: this.props.disabled, diff --git a/admin/client/src/components/TextField/TextField.js b/admin/client/src/components/TextField/TextField.js index f144f80b0..efa8bbf5d 100644 --- a/admin/client/src/components/TextField/TextField.js +++ b/admin/client/src/components/TextField/TextField.js @@ -54,7 +54,7 @@ class TextField extends SilverStripeComponent { } else { Object.assign(props, { componentClass: 'input', - type: this.props.type, + type: this.props.type.toLowerCase(), }); } } diff --git a/admin/client/src/lib/DataFormat.js b/admin/client/src/lib/DataFormat.js index c4e628576..98168612f 100644 --- a/admin/client/src/lib/DataFormat.js +++ b/admin/client/src/lib/DataFormat.js @@ -1,20 +1,38 @@ import i18n from 'i18n'; -import QueryString from 'query-string'; +import qs from 'qs'; -export function urlQuery(location, newQuery) { +/** + * Merge existing querystring with new querystring object + * + * @param {Object} locationQuery - Current browser querystring object (window.location.query) + * @param {Object} newQuery - New object to update. Set to null to clear instead of merge. + * @returns {String} + */ +export function urlQuery(locationQuery, newQuery) { if (newQuery === null) { - return null; - } - if (newQuery) { - const mergedQuery = Object.assign({}, location.query, newQuery); - const query = QueryString.stringify(mergedQuery); - - if (query) { - return `?${query}`; - } return ''; } - return location.search; + let mergedQuery = locationQuery || {}; + if (newQuery) { + mergedQuery = Object.assign({}, mergedQuery, newQuery); + } + const query = qs.stringify(mergedQuery); + if (query) { + return `?${query}`; + } + return ''; +} + +/** + * Turn flatterned querystring object into recursive nested objects, + * similarly to how PHP handles nested querystring objects. + * E.g. turn `{'query[val]': bob}` into `{query: { val: bob }}` + * + * @param {String} query - Querystring string + * @return {Object} - Unflattened query object + */ +export function decodeQuery(query) { + return qs.parse(query.replace(/^\?/, '')); } export function fileSize(size) { diff --git a/admin/client/src/lib/Injector.js b/admin/client/src/lib/Injector.js index 8edd272a2..eba64e986 100644 --- a/admin/client/src/lib/Injector.js +++ b/admin/client/src/lib/Injector.js @@ -29,6 +29,7 @@ class Injector { getComponentByDataType(dataType) { switch (dataType) { case 'Text': + case 'Date': case 'DateTime': return this.components.TextField; case 'Hidden': diff --git a/admin/client/src/styles/_variables.scss b/admin/client/src/styles/_variables.scss index 841f61343..d1bc5d6cf 100644 --- a/admin/client/src/styles/_variables.scss +++ b/admin/client/src/styles/_variables.scss @@ -723,6 +723,7 @@ $close-text-shadow: 0 1px 0 #fff; // $pre-scrollable-max-height: 340px; // Panel sizes + $cms-panel-xs: 60px; $cms-panel-sm: 300px; $cms-panel-md: 448px; @@ -730,6 +731,7 @@ $cms-panel-lg: 638px; // Shadows + $shadow-level-1: rgba(0, 0, 0, .1); $shadow-level-2: rgba(0, 0, 0, .15); $shadow-level-3: rgba(0, 0, 0, .2); @@ -737,18 +739,21 @@ $shadow-level-4: rgba(0, 0, 0, .25); $shadow-level-5: rgba(0, 0, 0, .3); // TODO tidy all shadows cms wide (including AssetAdmin) + $shadow-light: $shadow-level-3; $shadow-lighter: $shadow-level-1; $dropdown-shadow: 0 0 3px $shadow-level-3; $gallery-item-shadow: 0 1px 4px $shadow-level-3; // Gives items depth of different levels + $z-depth-1: 0 2px 5px 0 $shadow-level-1, 0 2px 10px 0 $shadow-level-1; $z-depth-2: 0 8px 12px 0 $shadow-level-3, 0 6px 20px 0 $shadow-level-2; $z-depth-3: 0 12px 20px 0 $shadow-level-4, 0 17px 40px 0 $shadow-level-3; $z-depth-4: 0 16px 28px 0 $shadow-level-5, 0 25px 55px 0 $shadow-level-5; // Masks: typically behind modals, drag drop areas + $page-mask-light: rgba(236, 239, 241, .9); @@ -775,6 +780,13 @@ $desktop-height: 768px; $desktop-width: 1366px; +// Search panel sizes + +$search-width: 360px; +$search-width-lg: 500px; +$search-width-max: 100%; + + // Transition speeds $transition-speed-slow: 1s; diff --git a/admin/client/src/styles/bundle.scss b/admin/client/src/styles/bundle.scss index a125f6c4e..cf43e5475 100644 --- a/admin/client/src/styles/bundle.scss +++ b/admin/client/src/styles/bundle.scss @@ -42,6 +42,7 @@ // Components @import "../components/Accordion/Accordion"; +@import "../components/FieldGroup/FieldGroup"; @import "../components/ListGroup/ListGroup"; @import "../components/Breadcrumb/Breadcrumb"; @import "../components/FormBuilderModal/FormBuilderModal"; diff --git a/admin/code/LeftAndMain.php b/admin/code/LeftAndMain.php index f4a83f10a..32e50c13b 100644 --- a/admin/code/LeftAndMain.php +++ b/admin/code/LeftAndMain.php @@ -347,16 +347,21 @@ class LeftAndMain extends Controller implements PermissionProvider if (!$formName) { return (new HTTPResponse('Missing request params', 400)); } - - if (!$this->hasMethod("get{$formName}")) { + + $formMethod = "get{$formName}"; + if (!$this->hasMethod($formMethod)) { return (new HTTPResponse('Form not found', 404)); } if (!$this->hasAction($formName)) { return (new HTTPResponse('Form not accessible', 401)); } - - $form = $this->{"get{$formName}"}($itemID); + + if ($itemID) { + $form = $this->{$formMethod}($itemID); + } else { + $form = $this->{$formMethod}(); + } $schemaID = $request->getURL(); return $this->getSchemaResponse($schemaID, $form); } diff --git a/admin/templates/SilverStripe/Admin/Includes/BackLink_Button.ss b/admin/templates/SilverStripe/Admin/Includes/BackLink_Button.ss index f8a18f86f..c125d3a9c 100644 --- a/admin/templates/SilverStripe/Admin/Includes/BackLink_Button.ss +++ b/admin/templates/SilverStripe/Admin/Includes/BackLink_Button.ss @@ -1,5 +1,5 @@ <% if $Backlink %> <% end_if %> diff --git a/admin/templates/SilverStripe/Admin/Includes/LeftAndMain_MenuToggle.ss b/admin/templates/SilverStripe/Admin/Includes/LeftAndMain_MenuToggle.ss index 87d59aa3e..6b7534c7f 100644 --- a/admin/templates/SilverStripe/Admin/Includes/LeftAndMain_MenuToggle.ss +++ b/admin/templates/SilverStripe/Admin/Includes/LeftAndMain_MenuToggle.ss @@ -1,4 +1,4 @@ Auto -» -« +»Expand panel +«Collapse panel diff --git a/admin/templates/SilverStripe/Admin/LeftAndMain.ss b/admin/templates/SilverStripe/Admin/LeftAndMain.ss index d2426b342..2ad6bf8c3 100644 --- a/admin/templates/SilverStripe/Admin/LeftAndMain.ss +++ b/admin/templates/SilverStripe/Admin/LeftAndMain.ss @@ -18,5 +18,6 @@

  • $EditorToolbar + diff --git a/package.json b/package.json index d9da2d089..8ae203faa 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,6 @@ "merge": "^1.2.0", "page.js": "^4.13.3", "qs": "^6.1.0", - "query-string": "^3.0.3", "react": "^15.3.1", "react-addons-css-transition-group": "^15.3.1", "react-apollo": "^0.7.0", diff --git a/src/Forms/CompositeField.php b/src/Forms/CompositeField.php index 36112c53f..706ea0e2c 100644 --- a/src/Forms/CompositeField.php +++ b/src/Forms/CompositeField.php @@ -48,6 +48,8 @@ class CompositeField extends FormField protected $schemaDataType = FormField::SCHEMA_DATA_TYPE_STRUCTURAL; + protected $schemaComponent = 'CompositeField'; + public function __construct($children = null) { if ($children instanceof FieldList) { @@ -83,6 +85,13 @@ class CompositeField extends FormField $defaults['data']['tag'] = $this->getTag(); $defaults['data']['legend'] = $this->getLegend(); + // Scaffolded children will inherit this data + $defaults['data']['inherited'] = [ + 'data' => [ + 'fieldholder' => 'small' + ], + ]; + return $defaults; } diff --git a/src/Forms/FieldGroup.php b/src/Forms/FieldGroup.php index 5a29c06cc..9c40c3f12 100644 --- a/src/Forms/FieldGroup.php +++ b/src/Forms/FieldGroup.php @@ -61,6 +61,8 @@ use SilverStripe\ORM\ValidationResult; class FieldGroup extends CompositeField { + protected $schemaComponent = 'FieldGroup'; + protected $zebra; /** diff --git a/src/Forms/FormFactory.php b/src/Forms/FormFactory.php index 329d2a599..0f3db1a9d 100644 --- a/src/Forms/FormFactory.php +++ b/src/Forms/FormFactory.php @@ -30,7 +30,7 @@ interface FormFactory /** * Return list of mandatory context keys * - * @return mixed + * @return array */ public function getRequiredContext(); } diff --git a/tests/php/Forms/FormSchemaTest.php b/tests/php/Forms/FormSchemaTest.php index d84fcc25c..1421ae86e 100644 --- a/tests/php/Forms/FormSchemaTest.php +++ b/tests/php/Forms/FormSchemaTest.php @@ -306,6 +306,11 @@ class FormSchemaTest extends SapphireTest 'tag' => 'div', 'legend' => null, 'buttonTooltip' => null, + 'inherited' => [ + 'data' => [ + 'fieldholder' => 'small' + ], + ], ], 'validation' => [], 'children' => [ From b06e10c4a898d0ba18d8773a91818d0ee3b0c766 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Wed, 4 Jan 2017 08:37:35 +1300 Subject: [PATCH 2/7] i18n for new template strings --- .../SilverStripe/Admin/Includes/BackLink_Button.ss | 4 +++- .../SilverStripe/Admin/Includes/LeftAndMain_MenuToggle.ss | 8 ++++---- lang/en.yml | 5 +++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/admin/templates/SilverStripe/Admin/Includes/BackLink_Button.ss b/admin/templates/SilverStripe/Admin/Includes/BackLink_Button.ss index c125d3a9c..3ba1ef2d6 100644 --- a/admin/templates/SilverStripe/Admin/Includes/BackLink_Button.ss +++ b/admin/templates/SilverStripe/Admin/Includes/BackLink_Button.ss @@ -1,5 +1,7 @@ <% if $Backlink %> <% end_if %> diff --git a/admin/templates/SilverStripe/Admin/Includes/LeftAndMain_MenuToggle.ss b/admin/templates/SilverStripe/Admin/Includes/LeftAndMain_MenuToggle.ss index 6b7534c7f..1fefc8ae6 100644 --- a/admin/templates/SilverStripe/Admin/Includes/LeftAndMain_MenuToggle.ss +++ b/admin/templates/SilverStripe/Admin/Includes/LeftAndMain_MenuToggle.ss @@ -1,4 +1,4 @@ - -Auto -»Expand panel -«Collapse panel + +<%t LeftAndMain.MenuToggleAuto "Auto" %> +»<%t LeftAndMain.MenuToggleExpand "Expand panel" %> +«<%t LeftAndMain.MenuToggleCollapse "Collapse panel" %> diff --git a/lang/en.yml b/lang/en.yml index a648d5b0a..7857bbe59 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -67,6 +67,7 @@ en: UNORDEREDEXAMPLE1: 'unordered item 1' BackLink_Button_ss: Back: Back + NavigateUp: Navigate up a folder BasicAuth: ENTERINFO: 'Please enter a username and password.' ERRORNOTADMIN: 'That user is not an administrator.' @@ -440,6 +441,10 @@ en: TooManyPages: 'Too many pages' ValidationError: 'Validation error' VersionUnknown: unknown + MenuToggleAuto: Auto + MenuToggleCollapse: Collapse + MenuToggleExpand: Expand + MenuToggleStickyNav: "Sticky Nav" LeftAndMain_Menu_ss: Hello: Hi LOGOUT: 'Log out' From 8981861c76dec1689cae660301b528702b209c15 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Wed, 4 Jan 2017 09:09:25 +1300 Subject: [PATCH 3/7] DataFormat unit tests --- admin/client/src/lib/DataFormat.js | 10 ++++- admin/client/src/lib/tests/DataFormat-test.js | 38 +++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 admin/client/src/lib/tests/DataFormat-test.js diff --git a/admin/client/src/lib/DataFormat.js b/admin/client/src/lib/DataFormat.js index 98168612f..48018a904 100644 --- a/admin/client/src/lib/DataFormat.js +++ b/admin/client/src/lib/DataFormat.js @@ -2,7 +2,11 @@ import i18n from 'i18n'; import qs from 'qs'; /** - * Merge existing querystring with new querystring object + * Merge existing querystring with new querystring object. + * Does not deep merge. + * + * Example: + * `urlQuery({ foo: 1 }, { bar: 2 })` returns `'?foo=1&bar=2'` * * @param {Object} locationQuery - Current browser querystring object (window.location.query) * @param {Object} newQuery - New object to update. Set to null to clear instead of merge. @@ -26,7 +30,9 @@ export function urlQuery(locationQuery, newQuery) { /** * Turn flatterned querystring object into recursive nested objects, * similarly to how PHP handles nested querystring objects. - * E.g. turn `{'query[val]': bob}` into `{query: { val: bob }}` + * + * Example: + * `decodeQuery('query[val]=bob')` returns `{query: { val: bob }}` * * @param {String} query - Querystring string * @return {Object} - Unflattened query object diff --git a/admin/client/src/lib/tests/DataFormat-test.js b/admin/client/src/lib/tests/DataFormat-test.js new file mode 100644 index 000000000..eddb27369 --- /dev/null +++ b/admin/client/src/lib/tests/DataFormat-test.js @@ -0,0 +1,38 @@ +/* global jest, jasmine, describe, beforeEach, it, pit, expect, process */ + + +jest.unmock('isomorphic-fetch'); +jest.unmock('../DataFormat'); +jest.unmock('qs'); +jest.unmock('merge'); + +import { urlQuery, decodeQuery } from '../DataFormat'; + + +describe('DataFormat', () => { + + describe('urlQuery()', () => { + it('should return empty string when no newQuery is given', () => { + expect(urlQuery({}, null)).toBe(''); + }); + it('should add new keys', () => { + expect(urlQuery({ foo: 1 }, { bar: 2 })).toBe('?foo=1&bar=2'); + }); + it('should overwrite existing keys', () => { + expect(urlQuery({ foo: 1 }, { foo: 2 })).toBe('?foo=2'); + }); + it('should not deep merge nested keys', () => { + expect(urlQuery({ foo: { bar: 1 } }, { foo: { baz: 2 } })).toBe('?foo%5Bbaz%5D=2'); + }); + }); + + describe('decodeQuery', () => { + it('should decode flat keys', () => { + expect(decodeQuery('?foo=1')).toEqual({ foo: '1' }); + }); + it('should decode nested keys (PHP style)', () => { + expect(decodeQuery('?foo[bar]=1')).toEqual({ foo: { bar: '1' } }); + }); + }); + +}); From 9e8e6314dac0f26b3c2100ae9bf2f7676bba7976 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Thu, 5 Jan 2017 10:02:30 +1300 Subject: [PATCH 4/7] Changed capitalisation of search filter names --- admin/client/lang/en.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/admin/client/lang/en.js b/admin/client/lang/en.js index b69fd3ac3..219ab22e2 100644 --- a/admin/client/lang/en.js +++ b/admin/client/lang/en.js @@ -26,12 +26,12 @@ if (typeof(ss) === 'undefined' || typeof(ss.i18n) === 'undefined') { "LeftAndMain.SEARCHCLEARRESULTS": "Clear search", "LeftAndMain.SEARCHRESULTS": "Search results", "LeftAndMain.SEARCHRESULTSMESSAGE": "Search results {parts}", - "LeftAndMain.SEARCHRESULTSMESSAGEKEYWORDS": "with keywords '{Name}'", - "LeftAndMain.SEARCHRESULTSMESSAGEEDITEDBETWEEN": "created between '{CreatedFrom}' and '{CreatedTo}'", - "LeftAndMain.SEARCHRESULTSMESSAGEEDITEDFROM": "created after '{CreatedFrom}'", - "LeftAndMain.SEARCHRESULTSMESSAGEEDITEDTO": "created before '{CreatedTo}'", - "LeftAndMain.SEARCHRESULTSMESSAGECATEGORY": "categorised as '{AppCategory}'", - "LeftAndMain.SEARCHRESULTSMESSAGELIMIT": "limited to the folder '{Folder}'", + "LeftAndMain.SEARCHRESULTSMESSAGEKEYWORDS": "with keywords '{name}'", + "LeftAndMain.SEARCHRESULTSMESSAGEEDITEDBETWEEN": "created between '{createdFrom}' and '{createdTo}'", + "LeftAndMain.SEARCHRESULTSMESSAGEEDITEDFROM": "created after '{createdFrom}'", + "LeftAndMain.SEARCHRESULTSMESSAGEEDITEDTO": "created before '{createdTo}'", + "LeftAndMain.SEARCHRESULTSMESSAGECATEGORY": "categorised as '{appCategory}'", + "LeftAndMain.SEARCHRESULTSMESSAGELIMIT": "limited to the folder '{folder}'", "LeftAndMain.JOIN": ",", "LeftAndMain.JOINLAST": "and", "ModelAdmin.DELETED": "Deleted", From f755c393a448956df1f91cc3c2b3c20528d19449 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Thu, 5 Jan 2017 16:31:50 +1300 Subject: [PATCH 5/7] Removed unnecessary urlQuery(), expose qs instead The asset-admin module uses a simpler algo now --- admin/client/src/bundles/vendor.js | 1 + admin/client/src/lib/DataFormat.js | 26 ------------------- admin/client/src/lib/tests/DataFormat-test.js | 17 +----------- webpack.config.js | 1 + 4 files changed, 3 insertions(+), 42 deletions(-) diff --git a/admin/client/src/bundles/vendor.js b/admin/client/src/bundles/vendor.js index fa74b9e46..10081f5cf 100644 --- a/admin/client/src/bundles/vendor.js +++ b/admin/client/src/bundles/vendor.js @@ -32,6 +32,7 @@ require('expose?ApolloClient!apollo-client'); require('expose?ReactApollo!react-apollo'); require('expose?GraphQLTag!graphql-tag'); require('expose?GraphQLFragments!graphql-fragments'); +require('expose?qs!qs'); require('../../../thirdparty/jquery-ondemand/jquery.ondemand.js'); require('../../../thirdparty/jquery-ui/jquery-ui.js'); diff --git a/admin/client/src/lib/DataFormat.js b/admin/client/src/lib/DataFormat.js index 48018a904..503e3d89b 100644 --- a/admin/client/src/lib/DataFormat.js +++ b/admin/client/src/lib/DataFormat.js @@ -1,32 +1,6 @@ import i18n from 'i18n'; import qs from 'qs'; -/** - * Merge existing querystring with new querystring object. - * Does not deep merge. - * - * Example: - * `urlQuery({ foo: 1 }, { bar: 2 })` returns `'?foo=1&bar=2'` - * - * @param {Object} locationQuery - Current browser querystring object (window.location.query) - * @param {Object} newQuery - New object to update. Set to null to clear instead of merge. - * @returns {String} - */ -export function urlQuery(locationQuery, newQuery) { - if (newQuery === null) { - return ''; - } - let mergedQuery = locationQuery || {}; - if (newQuery) { - mergedQuery = Object.assign({}, mergedQuery, newQuery); - } - const query = qs.stringify(mergedQuery); - if (query) { - return `?${query}`; - } - return ''; -} - /** * Turn flatterned querystring object into recursive nested objects, * similarly to how PHP handles nested querystring objects. diff --git a/admin/client/src/lib/tests/DataFormat-test.js b/admin/client/src/lib/tests/DataFormat-test.js index eddb27369..e818ca744 100644 --- a/admin/client/src/lib/tests/DataFormat-test.js +++ b/admin/client/src/lib/tests/DataFormat-test.js @@ -6,26 +6,11 @@ jest.unmock('../DataFormat'); jest.unmock('qs'); jest.unmock('merge'); -import { urlQuery, decodeQuery } from '../DataFormat'; +import { decodeQuery } from '../DataFormat'; describe('DataFormat', () => { - describe('urlQuery()', () => { - it('should return empty string when no newQuery is given', () => { - expect(urlQuery({}, null)).toBe(''); - }); - it('should add new keys', () => { - expect(urlQuery({ foo: 1 }, { bar: 2 })).toBe('?foo=1&bar=2'); - }); - it('should overwrite existing keys', () => { - expect(urlQuery({ foo: 1 }, { foo: 2 })).toBe('?foo=2'); - }); - it('should not deep merge nested keys', () => { - expect(urlQuery({ foo: { bar: 1 } }, { foo: { baz: 2 } })).toBe('?foo%5Bbaz%5D=2'); - }); - }); - describe('decodeQuery', () => { it('should decode flat keys', () => { expect(decodeQuery('?foo=1')).toEqual({ foo: '1' }); diff --git a/webpack.config.js b/webpack.config.js index 9268e422d..8afe2a151 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -97,6 +97,7 @@ const config = [ redux: 'Redux', config: 'Config', 'lib/Router': 'Router', + qs: 'qs', }, module: { loaders: [ From 07f0527ede98740d84af26c09a7513d6620f8e38 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Thu, 5 Jan 2017 10:03:43 +1300 Subject: [PATCH 6/7] Updated dist files --- admin/client/dist/js/bundle.js | 383 ++--- admin/client/dist/js/vendor.js | 2381 ++++++++++++++++---------------- 2 files changed, 1379 insertions(+), 1385 deletions(-) diff --git a/admin/client/dist/js/bundle.js b/admin/client/dist/js/bundle.js index 37aa5792c..890542960 100644 --- a/admin/client/dist/js/bundle.js +++ b/admin/client/dist/js/bundle.js @@ -1,7 +1,7 @@ webpackJsonp([5],[function(e,t,n){"use strict" -n(2),n(3),n(6),n(19),n(21),n(27),n(29),n(31),n(32),n(34),n(37),n(107),n(115),n(119),n(129),n(130),n(131),n(132),n(133),n(134),n(136),n(139),n(141),n(143),n(146),n(149),n(151),n(153),n(155),n(157),n(158), -n(167),n(168),n(170),n(171),n(172),n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(185),n(187),n(188),n(189),n(190),n(194),n(195),n(196),n(197),n(198),n(195),n(190),n(201),n(203), -n(205),n(206)},,function(e,t){"use strict" +n(2),n(3),n(6),n(16),n(18),n(24),n(26),n(28),n(29),n(31),n(34),n(104),n(112),n(116),n(126),n(127),n(128),n(129),n(130),n(131),n(133),n(136),n(138),n(140),n(143),n(146),n(148),n(150),n(152),n(154),n(155), +n(164),n(165),n(167),n(168),n(169),n(170),n(171),n(172),n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(182),n(184),n(185),n(186),n(187),n(191),n(192),n(193),n(194),n(195),n(192),n(187),n(198),n(200), +n(202),n(203)},,function(e,t){"use strict" function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}) var i=function(){function e(e,t){for(var n=0;n=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?i+=t.charAt(r):o<128?i+=n[o]:o<2048?i+=n[192|o>>6]+n[128|63&o]:o<55296||o>=57344?i+=n[224|o>>12]+n[128|o>>6&63]+n[128|63&o]:(r+=1, -o=65536+((1023&o)<<10|1023&t.charCodeAt(r)),i+=n[240|o>>18]+n[128|o>>12&63]+n[128|o>>6&63]+n[128|63&o])}return i},t.compact=function(e,n){if("object"!=typeof e||null===e)return e -var i=n||[],r=i.indexOf(e) -if(r!==-1)return i[r] -if(i.push(e),Array.isArray(e)){for(var o=[],a=0;a=0&&n.parseArrays&&a<=n.arrayLimit?(r=[],r[a]=c(e,t,n)):r[o]=c(e,t,n)}return r},l=function d(e,t,n){if(e){var i=n.allowDots?e.replace(/\.([^\.\[]+)/g,"[$1]"):e,o=/^([^\[\]]*)/,a=/(\[[^\[\]]*\])/g,l=o.exec(i),u=[] - - -if(l[1]){if(!n.plainObjects&&r.call(Object.prototype,l[1])&&!n.allowPrototypes)return -u.push(l[1])}for(var c=0;null!==(l=a.exec(i))&&c",'"',"`"," ","\r","\n","\t"],h=["{","}","|","\\","^","`"].concat(p),m=["'"].concat(h),g=["%","/","?",";","#"].concat(m),v=["/","?","#"],y=255,b=/^[+a-z0-9A-Z_-]{0,63}$/,_=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,w={ -javascript:!0,"javascript:":!0},C={javascript:!0,"javascript:":!0},T={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},E=n(164) +javascript:!0,"javascript:":!0},C={javascript:!0,"javascript:":!0},T={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},E=n(161) i.prototype.parse=function(e,t,n){if(!u.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e) var i=e.indexOf("?"),r=i!==-1&&i0)&&n.host.split("@") P&&(n.auth=P.shift(),n.host=n.hostname=P.shift())}return n.search=e.search,n.query=e.query,u.isNull(n.pathname)&&u.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(), n}if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n -for(var O=w.slice(-1)[0],S=(n.host||e.host||w.length>1)&&("."===O||".."===O)||""===O,k=0,j=w.length;j>=0;j--)O=w[j],"."===O?w.splice(j,1):".."===O?(w.splice(j,1),k++):k&&(w.splice(j,1),k--) +for(var O=w.slice(-1)[0],S=(n.host||e.host||w.length>1)&&("."===O||".."===O)||""===O,k=0,x=w.length;x>=0;x--)O=w[x],"."===O?w.splice(x,1):".."===O?(w.splice(x,1),k++):k&&(w.splice(x,1),k--) if(!b&&!_)for(;k--;k)w.unshift("..") !b||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),S&&"/"!==w.join("/").substr(-1)&&w.push("") -var x=""===w[0]||w[0]&&"/"===w[0].charAt(0) -if(E){n.hostname=n.host=x?"":w.length?w.shift():"" +var j=""===w[0]||w[0]&&"/"===w[0].charAt(0) +if(E){n.hostname=n.host=j?"":w.length?w.shift():"" var P=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@") -P&&(n.auth=P.shift(),n.host=n.hostname=P.shift())}return b=b||n.host&&w.length,b&&!x&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),u.isNull(n.pathname)&&u.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")), +P&&(n.auth=P.shift(),n.host=n.hostname=P.shift())}return b=b||n.host&&w.length,b&&!j&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),u.isNull(n.pathname)&&u.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")), n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},i.prototype.parseHost=function(){var e=this.host,t=d.exec(e) t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){var i;(function(e,r){!function(o){function a(e){throw RangeError(F[e])}function s(e,t){ for(var n=e.length,i=[];n--;)i[n]=t(e[n]) @@ -993,25 +914,25 @@ return t}function c(e){return s(e,function(e){var t="" return e>65535&&(e-=65536,t+=N(e>>>10&1023|55296),e=56320|1023&e),t+=N(e)}).join("")}function d(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:T}function f(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function p(e,t,n){ var i=0 for(e=n?M(e/S):e>>1,e+=M(e/t);e>D*P>>1;i+=T)e=M(e/D) -return M(i+(D+1)*e/(e+O))}function h(e){var t=[],n=e.length,i,r=0,o=j,s=k,l,u,f,h,m,g,v,y,b -for(l=e.lastIndexOf(x),l<0&&(l=0),u=0;u=128&&a("not-basic"),t.push(e.charCodeAt(u)) +return M(i+(D+1)*e/(e+O))}function h(e){var t=[],n=e.length,i,r=0,o=x,s=k,l,u,f,h,m,g,v,y,b +for(l=e.lastIndexOf(j),l<0&&(l=0),u=0;u=128&&a("not-basic"),t.push(e.charCodeAt(u)) for(f=l>0?l+1:0;f=n&&a("invalid-input"),v=d(e.charCodeAt(f++)),(v>=T||v>M((C-r)/m))&&a("overflow"),r+=v*m,y=g<=s?E:g>=s+P?P:g-s,!(vM(C/b)&&a("overflow"),m*=b i=t.length+1,s=p(r-h,i,0==h),M(r/i)>C-o&&a("overflow"),o+=M(r/i),r%=i,t.splice(r++,0,o)}return c(t)}function m(e){var t,n,i,r,o,s,l,c,d,h,m,g=[],v,y,b,_ -for(e=u(e),v=e.length,t=j,n=0,o=k,s=0;s=t&&m=t&&mM((C-n)/y)&&a("overflow"),n+=(l-t)*y,t=l,s=0;sC&&a("overflow"),m==t){for(c=n,d=T;h=d<=o?E:d>=o+P?P:d-o,!(c= 0x80 (not a basic code point)", +var w,C=2147483647,T=36,E=1,P=26,O=38,S=700,k=72,x=128,j="-",R=/^xn--/,I=/[^\x20-\x7E]/,A=/[\x2E\u3002\uFF0E\uFF61]/g,F={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)", "invalid-input":"Invalid input"},D=T-E,M=Math.floor,N=String.fromCharCode,U -w={version:"1.3.2",ucs2:{decode:u,encode:c},decode:h,encode:m,toASCII:v,toUnicode:g},i=function(){return w}.call(t,n,t,e),!(void 0!==i&&(e.exports=i))}(this)}).call(t,n(18)(e),function(){return this}()) +w={version:"1.3.2",ucs2:{decode:u,encode:c},decode:h,encode:m,toASCII:v,toUnicode:g},i=function(){return w}.call(t,n,t,e),!(void 0!==i&&(e.exports=i))}(this)}).call(t,n(15)(e),function(){return this}()) },function(e,t){"use strict" e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,n){ "use strict" -t.decode=t.parse=n(165),t.encode=t.stringify=n(166)},function(e,t){"use strict" +t.decode=t.parse=n(162),t.encode=t.stringify=n(163)},function(e,t){"use strict" function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,i,r){t=t||"&",i=i||"=" var o={} if("string"!=typeof e||0===e.length)return o @@ -1057,7 +978,7 @@ return e.replace(/^#/,"")},cleanHash:function O(e){return u.stripHash(e.replace( return!(!t.protocol||t.domain===document.domain)},hasProtocol:function k(e){return/^(:?\w+:)/.test(e)}} o["default"].path=u},function(e,t,n){(function(e){"use strict" function t(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=t(i) -n(169),r["default"].widget("ssui.button",r["default"].ui.button,{options:{alternate:{icon:null,text:null},showingAlternate:!1},toggleAlternate:function o(){this._trigger("ontogglealternate")!==!1&&(this.options.alternate.icon||this.options.alternate.text)&&(this.options.showingAlternate=!this.options.showingAlternate, +n(166),r["default"].widget("ssui.button",r["default"].ui.button,{options:{alternate:{icon:null,text:null},showingAlternate:!1},toggleAlternate:function o(){this._trigger("ontogglealternate")!==!1&&(this.options.alternate.icon||this.options.alternate.text)&&(this.options.showingAlternate=!this.options.showingAlternate, this.refresh())},_refreshAlternate:function a(){this._trigger("beforerefreshalternate"),(this.options.alternate.icon||this.options.alternate.text)&&(this.options.showingAlternate?(this.element.find(".ui-button-icon-primary").hide(), this.element.find(".ui-button-text").hide(),this.element.find(".ui-button-icon-alternate").show(),this.element.find(".ui-button-text-alternate").show()):(this.element.find(".ui-button-icon-primary").show(), this.element.find(".ui-button-text").show(),this.element.find(".ui-button-icon-alternate").hide(),this.element.find(".ui-button-text-alternate").hide()),this._trigger("afterrefreshalternate"))},_resetButton:function s(){ @@ -1097,7 +1018,7 @@ o.find("*").add(o).disableSelection()},destroy:function m(){this.element.unbind( function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e },_jQuery=__webpack_require__(1),_jQuery2=_interopRequireDefault(_jQuery) -__webpack_require__(168) +__webpack_require__(165) var windowWidth,windowHeight _jQuery2["default"].noConflict(),window.ss=window.ss||{},window.ss.debounce=function(e,t,n){var i,r,o,a=function s(){i=null,n||e.apply(r,o)} return function(){var s=n&&!i @@ -1207,10 +1128,10 @@ else for(var n=0;n
    '),t.attr("id",(new Date).getTime()),t.data("url",n),$("body").append(t) -}}),$(".leftandmain-logindialog").entwine({onmatch:function j(){this._super(),this.ssdialog({iframeUrl:this.data("url"),dialogClass:"leftandmain-logindialog-dialog",autoOpen:!0,minWidth:500,maxWidth:500, +}}),$(".leftandmain-logindialog").entwine({onmatch:function x(){this._super(),this.ssdialog({iframeUrl:this.data("url"),dialogClass:"leftandmain-logindialog-dialog",autoOpen:!0,minWidth:500,maxWidth:500, minHeight:370,maxHeight:400,closeOnEscape:!1,open:function e(){$(".ui-widget-overlay").addClass("leftandmain-logindialog-overlay")},close:function t(){$(".ui-widget-overlay").removeClass("leftandmain-logindialog-overlay") -}})},onunmatch:function x(){this._super()},open:function R(){this.ssdialog("open")},close:function I(){this.ssdialog("close")},toggle:function A(e){this.is(":visible")?this.close():this.open()},reauthenticate:function F(e){ +}})},onunmatch:function j(){this._super()},open:function R(){this.ssdialog("open")},close:function I(){this.ssdialog("close")},toggle:function A(e){this.is(":visible")?this.close():this.open()},reauthenticate:function F(e){ "undefined"!=typeof e.SecurityID&&$(":input[name=SecurityID]").val(e.SecurityID),"undefined"!=typeof e.TempID&&$("body").data("member-tempid",e.TempID),this.close()}}),$("form.loading,.cms-content.loading,.cms-content-fields.loading,.cms-content-view.loading").entwine({ onmatch:function D(){this.append('
    '),this._super()},onunmatch:function M(){this.find(".cms-content-loading-overlay,.cms-content-loading-spinner").remove(), this._super()}}),$('.cms input[type="submit"], .cms button, .cms input[type="reset"], .cms .ss-ui-button').entwine({onadd:function N(){this.addClass("ss-ui-button"),this.data("button")||this.button(),this._super() @@ -1382,7 +1303,7 @@ l&&"#"!=l?(l=l.split("?")[0],t.jstree("deselect_all"),t.jstree("uncheck_all"),e. s.loadPanel(l)):t.removeForm()}})}}),e(".cms-content .cms-content-fields").entwine({redraw:function r(){window.debug&&console.log("redraw",this.attr("class"),this.get(0))}}),e(".cms-content .cms-content-header, .cms-content .cms-content-actions").entwine({ redraw:function o(){window.debug&&console.log("redraw",this.attr("class"),this.get(0)),this.height("auto"),this.height(this.innerHeight()-this.css("padding-top")-this.css("padding-bottom"))}})})},function(e,t,n){ (function(e){"use strict" -function t(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=t(i),o=n(117),a=t(o) +function t(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=t(i),o=n(114),a=t(o) window.onbeforeunload=function(e){var t=(0,r["default"])(".cms-edit-form") if(t.trigger("beforesubmitform"),t.is(".changed")&&!t.is(".discardchanges"))return a["default"]._t("LeftAndMain.CONFIRMUNSAVEDSHORT")},r["default"].entwine("ss",function(e){e(".cms-edit-form").entwine({ PlaceholderHtml:"",ChangeTrackerOptions:{ignoreFieldSelector:".no-change-track, .ss-upload :input, .cms-navigator :input"},ValidationErrorShown:!1,onadd:function t(){var e=this @@ -1469,15 +1390,15 @@ var i=this.getMenuItem(),r=this.attr("href") n||(r=e("base").attr("href")+r) var o=i.find("li") o.length?o.first().find("a").click():document.location.href=r,i.select()}}}),e(".cms-menu-list li .toggle-children").entwine({onclick:function k(e){var t=this.closest("li") -return t.toggle(),!1}}),e(".cms .profile-link").entwine({onclick:function j(){return e(".cms-container").loadPanel(this.attr("href")),e(".cms-menu-list li").removeClass("current").close(),!1}}),e(".cms-menu .sticky-toggle").entwine({ -onadd:function x(){var t=!!e(".cms-menu").getPersistedStickyState() +return t.toggle(),!1}}),e(".cms .profile-link").entwine({onclick:function x(){return e(".cms-container").loadPanel(this.attr("href")),e(".cms-menu-list li").removeClass("current").close(),!1}}),e(".cms-menu .sticky-toggle").entwine({ +onadd:function j(){var t=!!e(".cms-menu").getPersistedStickyState() this.toggleCSS(t),this.toggleIndicator(t),this._super()},toggleCSS:function R(e){this[e?"addClass":"removeClass"]("active")},toggleIndicator:function I(e){this.next(".sticky-status-indicator").text(e?"fixed":"auto") },onclick:function A(){var e=this.closest(".cms-menu"),t=e.getPersistedCollapsedState(),n=e.getPersistedStickyState(),i=void 0===n?!this.hasClass("active"):!n void 0===t?e.setPersistedCollapsedState(e.hasClass("collapsed")):void 0!==t&&i===!1&&e.clearPersistedCollapsedState(),e.setPersistedStickyState(i),this.toggleCSS(i),this.toggleIndicator(i),this._super() }})})},function(e,t,n){"use strict" -function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(117),s=i(a) +function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(114),s=i(a) o["default"].entwine("ss.preview",function(e){e(".cms-preview").entwine({AllowedStates:["StageLink","LiveLink","ArchiveLink"],CurrentStateName:null,CurrentSizeName:"auto",IsPreviewEnabled:!1,DefaultMode:"split", Sizes:{auto:{width:"100%",height:"100%"},mobile:{width:"335px",height:"568px"},mobileLandscape:{width:"583px",height:"320px"},tablet:{width:"783px",height:"1024px"},tabletLandscape:{width:"1039px",height:"768px" },desktop:{width:"1024px",height:"800px"}},changeState:function t(n,i){var r=this,o=this._getNavigatorStates() @@ -1538,7 +1459,7 @@ o&&o.match(/^http:\/\//)&&i[r].setAttribute("target","_blank")}var a=t.getElemen a&&(a.style.display="none") var s=t.getElementById("SilverStripeNavigatorMessage") s&&(s.style.display="none"),this.trigger("afterIframeAdjustedForPreview",[t])}}}}),e(".cms-edit-form").entwine({onadd:function k(){this._super(),e(".cms-preview")._initialiseFromContent()}}),e(".cms-preview-states").entwine({ -changeVisibleState:function j(e){this.find('[data-name="'+e+'"]').addClass("active").siblings().removeClass("active")}}),e(".cms-preview-states .state-name").entwine({onclick:function x(t){if(1==t.which){ +changeVisibleState:function x(e){this.find('[data-name="'+e+'"]').addClass("active").siblings().removeClass("active")}}),e(".cms-preview-states .state-name").entwine({onclick:function j(t){if(1==t.which){ var n=e(this).attr("data-name") this.addClass("active").siblings().removeClass("active"),e(".cms-preview").changeState(n),t.preventDefault()}}}),e(".preview-mode-selector").entwine({changeVisibleMode:function R(e){this.find("select").val(e).trigger("chosen:updated")._addIcon() @@ -1554,7 +1475,7 @@ e(".cms-preview").changeSize(n)}}),e(".preview-selector select.preview-dropdown" return"undefined"!=typeof i&&n.removeClass(i),n.addClass(t),n.attr("data-icon",t),this}}),e(".preview-mode-selector .chosen-drop li:last-child").entwine({onmatch:function U(){e(".preview-mode-selector").hasClass("split-disabled")?this.parent().append('
    '):this.parent().append('') }}),e(".preview-device-outer").entwine({onclick:function L(){this.parent(".preview__device").toggleClass("rotate")}})})},function(e,t,n){(function(e){"use strict" -function t(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=t(i),o=n(117),a=t(o) +function t(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=t(i),o=n(114),a=t(o) r["default"].entwine("ss.tree",function(t){t("#Form_BatchActionsForm").entwine({Actions:[],getTree:function n(){return t(".cms-tree")},fromTree:{oncheck_node:function i(e,t){this.serializeFromTree()},onuncheck_node:function r(e,t){ this.serializeFromTree()}},onmatch:function o(){var e=this e.getTree().bind("load_node.jstree",function(t,n){e.refreshSelected()})},onunmatch:function s(){var e=this @@ -1622,7 +1543,7 @@ this.addClass("description-toggle-enabled"),n.on("click",function(){i[e?"hide":" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) o["default"].entwine("ss",function(e){e(".TreeDropdownField").entwine({"from .cms-container form":{onaftersubmitform:function t(e){this.find(".tree-holder").empty(),this._super()}}})})},function(e,t,n){ "use strict" -function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(5),s=i(a),l=n(183),u=i(l),c=n(109),d=n(184),f=i(d) +function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(5),s=i(a),l=n(180),u=i(l),c=n(106),d=n(181),f=i(d) o["default"].entwine("ss",function(e){e(".cms-content-actions .add-to-campaign-action,#add-to-campaign__action").entwine({onclick:function t(){var t=e("#add-to-campaign__dialog-wrapper") return t.length||(t=e('
    '),e("body").append(t)),t.open(),!1}}),e("#add-to-campaign__dialog-wrapper").entwine({onunmatch:function n(){this._clearModal()},open:function i(){ this._renderModal(!0)},close:function r(){this._renderModal(!1)},_renderModal:function o(t){var n=this,i=function h(){return n.close()},r=function m(){return n._handleSubmitModal.apply(n,arguments)},o=e("form.cms-edit-form :input[name=ID]").val(),a=window.ss.store,l="SilverStripe\\CMS\\Controllers\\CMSPageEditController",d=a.getState().config.sections[l],p=d.form.AddToCampaignForm.schemaUrl+"/"+o @@ -1632,7 +1553,7 @@ u["default"].render(s["default"].createElement(c.Provider,{store:a},s["default"] responseClassGood:"modal__response modal__response--good"})),this[0])},_clearModal:function a(){u["default"].unmountComponentAtNode(this[0])},_handleSubmitModal:function l(e,t,n){return n()}})})},,function(e,t){ e.exports=FormBuilderModal},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) -n(170),n(186) +n(167),n(183) var a=function s(e){var t=(0,o["default"])((0,o["default"])(this).contents()).find(".message") if(t&&t.html()){var n=(0,o["default"])(window.parent.document).find("#Form_EditForm_Members").get(0) n&&n.refresh() @@ -1660,7 +1581,7 @@ e(this).prop("checked","checked")}):t.each(function(){e(this).prop("checked",e(t })}})})},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) -n(170),o["default"].entwine("ss",function(e){e(".cms-content-tools #Form_SearchForm").entwine({onsubmit:function t(e){this.trigger("beforeSubmit")}}),e(".importSpec").entwine({onmatch:function n(){this.find("div.details").hide(), +n(167),o["default"].entwine("ss",function(e){e(".cms-content-tools #Form_SearchForm").entwine({onsubmit:function t(e){this.trigger("beforeSubmit")}}),e(".importSpec").entwine({onmatch:function n(){this.find("div.details").hide(), this.find("a.detailsLink").click(function(){return e("#"+e(this).attr("href").replace(/.*#/,"")).slideToggle(),!1}),this._super()},onunmatch:function i(){this._super()}})})},function(e,t,n){"use strict" @@ -1675,8 +1596,8 @@ t.toggleClass("active"),t.find(".toggle-content").css("minHeight",n)}})},functio function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r);(0,o["default"])(document).on("click",".confirmedpassword .showOnClick a",function(){var e=(0,o["default"])(".showOnClickContainer",(0, o["default"])(this).parent()) return e.toggle("fast",function(){e.find('input[type="hidden"]').val(e.is(":visible")?1:0)}),!1})},function(e,t,n){"use strict" -function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(117),s=i(a) -window.tmpl=n(191),n(192),n(193),o["default"].widget("blueimpUIX.fileupload",o["default"].blueimpUI.fileupload,{_initTemplates:function l(){this.options.templateContainer=document.createElement(this._files.prop("nodeName")), +function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(114),s=i(a) +window.tmpl=n(188),n(189),n(190),o["default"].widget("blueimpUIX.fileupload",o["default"].blueimpUI.fileupload,{_initTemplates:function l(){this.options.templateContainer=document.createElement(this._files.prop("nodeName")), this.options.uploadTemplate=window.tmpl(this.options.uploadTemplateName),this.options.downloadTemplate=window.tmpl(this.options.downloadTemplateName)},_enableFileInputButton:function u(){o["default"].blueimpUI.fileupload.prototype._enableFileInputButton.call(this), this.element.find(".ss-uploadfield-addfile").show()},_disableFileInputButton:function c(){o["default"].blueimpUI.fileupload.prototype._disableFileInputButton.call(this),this.element.find(".ss-uploadfield-addfile").hide() @@ -1786,22 +1707,22 @@ t.length&&t.removeClass("selected") var n=e.nextAll("li.selected") n.length&&n.removeClass("selected"),(0,o["default"])(this).focus()})})},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) -n(169),o["default"].fn.extend({ssDatepicker:function a(e){return(0,o["default"])(this).each(function(){if(!((0,o["default"])(this).prop("disabled")||(0,o["default"])(this).prop("readonly")||(0,o["default"])(this).data("datepicker"))){ +n(166),o["default"].fn.extend({ssDatepicker:function a(e){return(0,o["default"])(this).each(function(){if(!((0,o["default"])(this).prop("disabled")||(0,o["default"])(this).prop("readonly")||(0,o["default"])(this).data("datepicker"))){ (0,o["default"])(this).siblings("button").addClass("ui-icon ui-icon-calendar") var t=(0,o["default"])(this).closest(".field.date"),n=o["default"].extend(e||{},(0,o["default"])(this).data(),(0,o["default"])(this).data("jqueryuiconfig"),{}) n.showcalendar&&(n.locale&&o["default"].datepicker.regional[n.locale]&&(n=o["default"].extend(n,o["default"].datepicker.regional[n.locale],{})),n.min&&(n.minDate=o["default"].datepicker.parseDate("yy-mm-dd",n.min)), n.max&&(n.maxDate=o["default"].datepicker.parseDate("yy-mm-dd",n.max)),n.dateFormat=n.jquerydateformat,(0,o["default"])(this).datepicker(n))}})}}),(0,o["default"])(document).on("click",".field.date input.text,input.text.date",function(){ (0,o["default"])(this).ssDatepicker(),(0,o["default"])(this).data("datepicker")&&(0,o["default"])(this).datepicker("show")})},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) -n(169),o["default"].entwine("ss",function(e){e(".ss-toggle").entwine({onadd:function t(){this._super(),this.accordion({heightStyle:"content",collapsible:!0,active:!this.hasClass("ss-toggle-start-closed")&&0 +n(166),o["default"].entwine("ss",function(e){e(".ss-toggle").entwine({onadd:function t(){this._super(),this.accordion({heightStyle:"content",collapsible:!0,active:!this.hasClass("ss-toggle-start-closed")&&0 })},onremove:function n(){this.data("accordion")&&this.accordion("destroy"),this._super()},getTabSet:function i(){return this.closest(".ss-tabset")},fromTabSet:{ontabsshow:function r(){this.accordion("resize") }}})})},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) o["default"].entwine("ss",function(e){e(".memberdatetimeoptionset").entwine({onmatch:function t(){this.find(".toggle-content").hide(),this._super()}}),e(".memberdatetimeoptionset .toggle").entwine({onclick:function n(t){ return e(this).closest(".form__field-description").parent().find(".toggle-content").toggle(),!1}})})},function(e,t,n){(function(e){"use strict" -function t(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=t(i),o=n(117),a=t(o) -n(199),n(200),r["default"].entwine("ss",function(t){var n,i +function t(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=t(i),o=n(114),a=t(o) +n(196),n(197),r["default"].entwine("ss",function(t){var n,i t(window).bind("resize.treedropdownfield",function(){var e=function a(){t(".TreeDropdownField").closePanel()} if(t.browser.msie&&parseInt(t.browser.version,10)<9){var r=t(window).width(),o=t(window).height() r==n&&o==i||(n=r,i=o,e())}else e()}) @@ -1851,8 +1772,8 @@ return{ClassName:t}}}),t(".TreeDropdownField *").entwine({getField:function T(){ !1}}),t(".TreeDropdownField .treedropdownfield-panel").entwine({onclick:function P(e){return!1}}),t(".TreeDropdownField.searchable").entwine({onadd:function O(){this._super() var e=a["default"]._t("TreeDropdownField.ENTERTOSEARCH") this.find(".treedropdownfield-panel").prepend(t(''))},search:function S(e,t){this.openPanel(), -this.loadTree({search:e},t)},cancelSearch:function k(){this.closePanel(),this.loadTree()}}),t(".TreeDropdownField.searchable input.search").entwine({onkeydown:function j(e){var t=this.getField() -return 13==e.keyCode?(t.search(this.val()),!1):void(27==e.keyCode&&t.cancelSearch())}}),t(".TreeDropdownField.multiple").entwine({getTreeConfig:function x(){var e=this._super() +this.loadTree({search:e},t)},cancelSearch:function k(){this.closePanel(),this.loadTree()}}),t(".TreeDropdownField.searchable input.search").entwine({onkeydown:function x(e){var t=this.getField() +return 13==e.keyCode?(t.search(this.val()),!1):void(27==e.keyCode&&t.cancelSearch())}}),t(".TreeDropdownField.multiple").entwine({getTreeConfig:function j(){var e=this._super() return e.checkbox={override_ui:!0,two_state:!0},e.plugins.push("checkbox"),e.ui.select_limit=-1,e},loadTree:function R(e,n){var i=this,r=this.getPanel(),o=t(r).find(".tree-holder"),e=e?t.extend({},this.getRequestParams(),e):this.getRequestParams(),a @@ -1869,7 +1790,7 @@ onadd:function M(){this._super(),this.bind("change.TreeDropdownField",function() },,,function(module,exports,__webpack_require__){"use strict" function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}var _extends=Object.assign||function(e){for(var t=1;t') @@ -2060,10 +1981,10 @@ this._super()},onfocusout:function Pe(e){this.closest(".ss-htmleditorfield-file" onclick:function Oe(e){var t=this.closest("form"),n=this.closest("ss-uploadfield-item") t.find(".ss-gridfield-item[data-id="+n.data("id")+"]").removeClass("ui-selected"),this.closest(".ss-uploadfield-item").remove(),t.redraw(),e.preventDefault()}}),e("div.ss-assetuploadfield .ss-uploadfield-item-edit, div.ss-assetuploadfield .ss-uploadfield-item-name").entwine({ getEditForm:function Se(){return this.closest(".ss-uploadfield-item").find(".ss-uploadfield-item-editform")},fromEditForm:{onchange:function ke(t){var n=e(t.target) -n.removeClass("edited"),n.addClass("edited")}},onclick:function je(e){var t=this.getEditForm() +n.removeClass("edited"),n.addClass("edited")}},onclick:function xe(e){var t=this.getEditForm() return this.closest(".ss-uploadfield-item").hasClass("ss-htmleditorfield-file")?(t.parent("ss-uploadfield-item").removeClass("ui-state-warning"),t.toggleEditForm(),e.preventDefault(),!1):void this._super(e) -}}),e("div.ss-assetuploadfield .ss-uploadfield-item-editform").entwine({toggleEditForm:function xe(e){var t=this.prev(".ss-uploadfield-item-info"),n=t.find(".ss-uploadfield-item-status"),i="" +}}),e("div.ss-assetuploadfield .ss-uploadfield-item-editform").entwine({toggleEditForm:function je(e){var t=this.prev(".ss-uploadfield-item-info"),n=t.find(".ss-uploadfield-item-status"),i="" e===!0||e!==!1&&0===this.height()?(i=_i18n2["default"]._t("UploadField.Editing","Editing ..."),this.height("auto"),t.find(".toggle-details-icon").addClass("opened"),n.removeClass("ui-state-success-text").removeClass("ui-state-warning-text")):(this.height(0), t.find(".toggle-details-icon").removeClass("opened"),this.hasClass("edited")?(i=_i18n2["default"]._t("UploadField.CHANGESSAVED","Changes Made"),this.removeClass("edited"),n.addClass("ui-state-success-text")):(i=_i18n2["default"]._t("UploadField.NOCHANGES","No Changes"), n.addClass("ui-state-success-text"))),n.attr("title",i).text(i)}}),e('form.htmleditorfield-mediaform .field[id$="ParentID_Holder"] .TreeDropdownField').entwine({onadd:function Re(){this._super() @@ -2107,7 +2028,7 @@ return a&&a.not(c).length&&a.replaceWith(c),l&&l.prepend(s),a||(n.repaint(),n.in e.noticeAdd({text:i,type:n,stayTime:5e3,inEffect:{left:"0",opacity:"show"}})}})})},function(e,t){e.exports=ReactApollo},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r) -n(169),n(204),n(199),o["default"].entwine("ss",function(e){e(".ss-tabset").entwine({IgnoreTabState:!1,onadd:function t(){var e=window.location.hash +n(166),n(201),n(196),o["default"].entwine("ss",function(e){e(".ss-tabset").entwine({IgnoreTabState:!1,onadd:function t(){var e=window.location.hash this.redrawTabs(),""!==e&&this.openTabFromURL(e),this._super()},onremove:function n(){this.data("tabs")&&this.tabs("destroy"),this._super()},redrawTabs:function i(){this.rewriteHashlinks(),this.tabs()}, openTabFromURL:function r(t){var n e.each(this.find(".ui-tabs-anchor"),function(){if(this.href.indexOf(t)!==-1&&1===e(t).length)return n=e(this),!1}),void 0!==n&&e(document).ready("ajaxComplete",function(){n.click()})},rewriteHashlinks:function o(){ @@ -2115,8 +2036,8 @@ e(this).find("ul a").each(function(){if(e(this).attr("href")){var t=e(this).attr t&&e(this).attr("href",document.location.href.replace(/#.*/,"")+t[0])}})}}),e(".ui-tabs-active .ui-tabs-anchor").entwine({onmatch:function a(){this.addClass("nav-link active")},onunmatch:function s(){this.removeClass("active") }})})},,function(e,t,n){"use strict" -function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(117),s=i(a) -n(169),n(199),o["default"].entwine("ss",function(e){e(".grid-field").entwine({reload:function t(n,i){var r=this,o=this.closest("form"),a=this.find(":input:focus").attr("name"),l=o.find(":input").serializeArray() +function i(e){return e&&e.__esModule?e:{"default":e}}var r=n(1),o=i(r),a=n(114),s=i(a) +n(166),n(196),o["default"].entwine("ss",function(e){e(".grid-field").entwine({reload:function t(n,i){var r=this,o=this.closest("form"),a=this.find(":input:focus").attr("name"),l=o.find(":input").serializeArray() n||(n={}),n.data||(n.data=[]),n.data=n.data.concat(l),window.location.search&&(n.data=window.location.search.replace(/^\?/,"")+"&"+e.param(n.data)),o.addClass("loading"),e.ajax(e.extend({},{headers:{"X-Pjax":"CurrentField" @@ -2150,10 +2071,10 @@ e.print()})},onunmatch:function C(){this._super()}}),e(".grid-field .action.no-a onclick:function E(){return this.getGridField().showDetailView(e(this).prop("href")),!1}}),e(".grid-field[data-selectable]").entwine({getSelectedItems:function P(){return this.find(".ss-gridfield-item.ui-selected") },getSelectedIDs:function O(){return e.map(this.getSelectedItems(),function(t){return e(t).data("id")})}}),e(".grid-field[data-selectable] .ss-gridfield-items").entwine({onadd:function S(){this._super(), -this.selectable()},onremove:function k(){this._super(),this.data("selectable")&&this.selectable("destroy")}}),e(".grid-field .filter-header :input").entwine({onmatch:function j(){var e=this.closest(".extra").find(".ss-gridfield-button-filter"),t=this.closest(".extra").find(".ss-gridfield-button-reset") +this.selectable()},onremove:function k(){this._super(),this.data("selectable")&&this.selectable("destroy")}}),e(".grid-field .filter-header :input").entwine({onmatch:function x(){var e=this.closest(".extra").find(".ss-gridfield-button-filter"),t=this.closest(".extra").find(".ss-gridfield-button-reset") -this.val()&&(e.addClass("filtered"),t.addClass("filtered")),this._super()},onunmatch:function x(){this._super()},onkeydown:function R(e){if(!this.closest(".ss-gridfield-button-reset").length){var t=this.closest(".extra").find(".ss-gridfield-button-filter"),n=this.closest(".extra").find(".ss-gridfield-button-reset") +this.val()&&(e.addClass("filtered"),t.addClass("filtered")),this._super()},onunmatch:function j(){this._super()},onkeydown:function R(e){if(!this.closest(".ss-gridfield-button-reset").length){var t=this.closest(".extra").find(".ss-gridfield-button-filter"),n=this.closest(".extra").find(".ss-gridfield-button-reset") if("13"==e.keyCode){var i=this.closest(".filter-header").find(".ss-gridfield-button-filter"),r="show" @@ -2177,7 +2098,7 @@ if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]) return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(){var e=h["default"].get("absoluteBaseUrl"),t=new I["default"]({shouldBatch:!0,addTypename:!0,dataIdFromObject:function T(e){ return e.id>=0&&e.__typename?e.__typename+":"+e.id:null},networkInterface:(0,R.createNetworkInterface)({uri:e+"graphql/",opts:{credentials:"same-origin"}})}) g["default"].add("config",_["default"]),g["default"].add("form",d.reducer),g["default"].add("schemas",C["default"]),g["default"].add("records",E["default"]),g["default"].add("campaign",O["default"]),g["default"].add("breadcrumbs",k["default"]), -g["default"].add("routing",f.routerReducer),g["default"].add("apollo",t.reducer()),x["default"].start() +g["default"].add("routing",f.routerReducer),g["default"].add("apollo",t.reducer()),j["default"].start() var n={},i=(0,l.combineReducers)(g["default"].getAll()),r=[c["default"],t.middleware()],o=h["default"].get("environment"),a=h["default"].get("debugging"),u=l.applyMiddleware.apply(void 0,r),p=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__,m=window.__REDUX_DEVTOOLS_EXTENSION__||window.devToolsExtension @@ -2185,13 +2106,13 @@ var n={},i=(0,l.combineReducers)(g["default"].getAll()),r=[c["default"],t.middle var v=u(l.createStore),b=v(i,n) b.dispatch(y.setConfig(h["default"].getAll())),window.ss=window.ss||{},window.ss.store=b,window.ss=window.ss||{},window.ss.apolloClient=t var w=new s["default"](b,t) -w.start(window.location.pathname),window.jQuery&&window.jQuery("body").addClass("js-react-boot")}var a=n(207),s=r(a),l=n(110),u=n(229),c=r(u),d=n(112),f=n(228),p=n(150),h=r(p),m=n(230),g=r(m),v=n(231),y=i(v),b=n(233),_=r(b),w=n(234),C=r(w),T=n(235),E=r(T),P=n(236),O=r(P),S=n(238),k=r(S),j=n(239),x=r(j),R=n(255),I=r(R),A=n(256),F=r(A),D=n(10),M=r(D) +w.start(window.location.pathname),window.jQuery&&window.jQuery("body").addClass("js-react-boot")}var a=n(204),s=r(a),l=n(107),u=n(226),c=r(u),d=n(109),f=n(225),p=n(147),h=r(p),m=n(227),g=r(m),v=n(228),y=i(v),b=n(230),_=r(b),w=n(231),C=r(w),T=n(232),E=r(T),P=n(233),O=r(P),S=n(235),k=r(S),x=n(236),j=r(x),R=n(252),I=r(R),A=n(253),F=r(A),D=n(10),M=r(D) M["default"].polyfill(),window.onload=o},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}) var o=function(){function e(e,t){for(var n=0;n0&&(t=e+"/"+this.props.params.id) var n={createFn:this.campaignEditCreateFn.bind(this),schemaUrl:t} -return p["default"].createElement("div",null,p["default"].createElement(x["default"],{showBackButton:!0,handleBackButtonClick:this.handleBackButtonClick},p["default"].createElement(C["default"],{multiline:!0 +return p["default"].createElement("div",null,p["default"].createElement(j["default"],{showBackButton:!0,handleBackButtonClick:this.handleBackButtonClick},p["default"].createElement(C["default"],{multiline:!0 })),p["default"].createElement("div",{className:"panel panel--padded panel--scrollable flexbox-area-grow form--inline"},p["default"].createElement(I["default"],n)))}},{key:"renderCreateView",value:function g(){ var e=this.props.sectionConfig.form.DetailEditForm.schemaUrl,t=e this.props.params.id>0&&(t=e+"/"+this.props.params.id) var n={createFn:this.campaignAddCreateFn.bind(this),schemaUrl:t} -return p["default"].createElement("div",null,p["default"].createElement(x["default"],{showBackButton:!0,handleBackButtonClick:this.handleBackButtonClick},p["default"].createElement(C["default"],{multiline:!0 +return p["default"].createElement("div",null,p["default"].createElement(j["default"],{showBackButton:!0,handleBackButtonClick:this.handleBackButtonClick},p["default"].createElement(C["default"],{multiline:!0 })),p["default"].createElement("div",{className:"panel panel--padded panel--scrollable flexbox-area-grow form--inline"},p["default"].createElement(I["default"],n)))}},{key:"campaignEditCreateFn",value:function v(e,t){ var n=this,i=this.props.sectionConfig.url if("action_cancel"===t.name){var r=c({},t,{handleClick:function o(e){e.preventDefault(),n.props.router.push(i)}}) @@ -2632,7 +2553,7 @@ var i=Object.getOwnPropertyDescriptor(e,t) if(void 0===i){var r=Object.getPrototypeOf(e) return null===r?void 0:q(r,t,n)}if("value"in i)return i.value var o=i.get -if(void 0!==o)return o.call(n)},p=n(5),h=r(p),m=n(110),g=n(109),v=n(258),y=i(v),b=n(127),_=i(b),w=n(262),C=i(w),T=n(23),E=r(T),P=n(263),O=r(P),S=n(264),k=r(S),j=n(266),x=r(j),R=n(260),I=r(R),A=n(253),F=r(A),D=n(267),M=r(D),N=n(259),U=r(N),L=n(268),B=r(L),H=n(117),$=r(H),V=function(e){ +if(void 0!==o)return o.call(n)},p=n(5),h=r(p),m=n(107),g=n(106),v=n(255),y=i(v),b=n(124),_=i(b),w=n(259),C=i(w),T=n(20),E=r(T),P=n(260),O=r(P),S=n(261),k=r(S),x=n(263),j=r(x),R=n(257),I=r(R),A=n(250),F=r(A),D=n(264),M=r(D),N=n(256),U=r(N),L=n(265),B=r(L),H=n(114),$=r(H),V=function(e){ function t(e){o(this,t) var n=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)) return n.handlePublish=n.handlePublish.bind(n),n.handleItemSelected=n.handleItemSelected.bind(n),n.setBreadcrumbs=n.setBreadcrumbs.bind(n),n.handleCloseItem=n.handleCloseItem.bind(n),n}return s(t,e),d(t,[{ @@ -2648,7 +2569,7 @@ l.items.forEach(function(i){t||(t=i.ID) var r=t===i.ID r&&i._links&&(n=i._links) var a=[] -"none"!==i.ChangeType&&"published"!==o.State||a.push("list-group-item--inactive"),r&&a.push("active"),c.push(h["default"].createElement(x["default"],{key:i.ID,className:a.join(" "),handleClick:e.handleItemSelected, +"none"!==i.ChangeType&&"published"!==o.State||a.push("list-group-item--inactive"),r&&a.push("active"),c.push(h["default"].createElement(j["default"],{key:i.ID,className:a.join(" "),handleClick:e.handleItemSelected, handleClickArg:i.ID},h["default"].createElement(M["default"],{item:i,campaign:e.props.record})))}),s.push(h["default"].createElement(k["default"],{key:f,groupid:f,title:d},c))}) var l=[this.props.config.absoluteBaseUrl,this.props.config.sections["SilverStripe\\CMS\\Controllers\\CMSPagesController"].url].join(""),u=s.length?h["default"].createElement(O["default"],null,s):h["default"].createElement("div",{ className:"alert alert-warning",role:"alert"},h["default"].createElement("strong",null,"This campaign is empty.")," You can add items to a campaign by selecting ",h["default"].createElement("em",null,"Add to campaign")," from within the ",h["default"].createElement("em",null,"More Options "),"popup on ",h["default"].createElement("a",{ @@ -2675,7 +2596,7 @@ function i(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:l payload:{campaignId:e,view:t}})}}function a(e,t,n){return function(i){i({type:l["default"].PUBLISH_CAMPAIGN_REQUEST,payload:{campaignId:n}}),e({id:n}).then(function(e){i({type:l["default"].PUBLISH_CAMPAIGN_SUCCESS, payload:{campaignId:n}}),i({type:c["default"].FETCH_RECORD_SUCCESS,payload:{recordType:t,data:e}})})["catch"](function(e){i({type:l["default"].PUBLISH_CAMPAIGN_FAILURE,payload:{error:e}})})}}Object.defineProperty(t,"__esModule",{ value:!0}),t.selectChangeSetItem=r,t.showCampaignView=o,t.publishCampaign=a -var s=n(237),l=i(s),u=n(128),c=i(u)},function(e,t,n){"use strict" +var s=n(234),l=i(s),u=n(125),c=i(u)},function(e,t,n){"use strict" function i(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called") @@ -2683,7 +2604,7 @@ return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("funct e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{ value:!0}) var s=function(){function e(e,t){for(var n=0;n1)for(var n=1;n=0}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=n(47),l=r(s) +var o=n(39),a=r(o),s=n(45),l=r(s) t.exports=e["default"]},function(t,e){"use strict" function n(t){return"object"===("undefined"==typeof t?"undefined":r(t))&&null!==t?t="function"==typeof t.toString?t.toString():"[object Object]":(null===t||"undefined"==typeof t||isNaN(t)&&!t.length)&&(t=""), String(t)}Object.defineProperty(e,"__esModule",{value:!0}) @@ -71,7 +71,7 @@ var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){re e["default"]=n,t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e,n){return(0,a["default"])(t),"[object RegExp]"!==Object.prototype.toString.call(e)&&(e=new RegExp(e,n)),e.test(t)}Object.defineProperty(e,"__esModule",{ value:!0}),e["default"]=i -var o=n(41),a=r(o) +var o=n(39),a=r(o) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){if((0,a["default"])(t),e=(0,l["default"])(e,p),e.allow_display_name){var n=t.match(h) n&&(t=n[1])}var r=t.split("@"),i=r.pop(),o=r.join("@"),s=i.toLowerCase() @@ -80,7 +80,7 @@ if(!(0,f["default"])(i,{require_tld:e.require_tld}))return!1 if('"'===o[0])return o=o.slice(1,o.length-1),e.allow_utf8_local_part?y.test(o):v.test(o) for(var u=e.allow_utf8_local_part?g:m,d=o.split("."),b=0;b$/i,m=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,v=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,g=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,y=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i +var o=n(39),a=r(o),s=n(48),l=r(s),u=n(49),c=r(u),d=n(50),f=r(d),p={allow_display_name:!1,allow_utf8_local_part:!0,require_tld:!0},h=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\s]*<(.+)>$/i,m=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,v=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,g=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,y=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i t.exports=e["default"]},function(t,e){"use strict" @@ -96,7 +96,7 @@ var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){re } e["default"]=i -var a=n(41),s=r(a) +var a=n(39),s=r(a) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){(0,a["default"])(t),e=(0,l["default"])(e,u),e.allow_trailing_dot&&"."===t[t.length-1]&&(t=t.substring(0,t.length-1)) var n=t.split(".") @@ -106,7 +106,7 @@ if(!n.length||!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(r))return!1}fo if(/[\uff01-\uff5e]/.test(i))return!1 if("-"===i[0]||"-"===i[i.length-1])return!1}return!0}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=n(50),l=r(s),u={require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1} +var o=n(39),a=r(o),s=n(48),l=r(s),u={require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1} t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return"[object RegExp]"===Object.prototype.toString.call(t)}function o(t,e){for(var n=0;n=2083||/\s/.test(t))return!1 @@ -120,7 +120,7 @@ a=d.join("@"),u=p=null var g=a.match(v) return g?(i="",p=g[1],u=g[2]||null):(d=a.split(":"),i=d.shift(),d.length&&(u=d.join(":"))),!(null!==u&&(s=parseInt(u,10),!/^[0-9]+$/.test(u)||s<=0||s>65535))&&(!!((0,f["default"])(i)||(0,c["default"])(i,e)||p&&(0, f["default"])(p,6)||"localhost"===i)&&(i=i||p,!(e.host_whitelist&&!o(i,e.host_whitelist))&&(!e.host_blacklist||!o(i,e.host_blacklist))))}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a -var s=n(41),l=r(s),u=n(52),c=r(u),d=n(54),f=r(d),p=n(50),h=r(p),m={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1, +var s=n(39),l=r(s),u=n(50),c=r(u),d=n(52),f=r(d),p=n(48),h=r(p),m={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1, allow_protocol_relative_urls:!1},v=/^\[([^\]]+)\](?::([0-9]+))?$/ t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"" @@ -134,18 +134,18 @@ if("::"===t)return!0 for(var d=0;d0&&d=1:r.length===c}return!1}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/,l=/^[0-9A-F]{1,4}$/i +var o=n(39),a=r(o),s=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/,l=/^[0-9A-F]{1,4}$/i t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),s.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$/ +var o=n(39),a=r(o),s=/^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$/ t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),["true","false","1","0"].indexOf(t)>=0}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o) +var o=n(39),a=r(o) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-US" if((0,a["default"])(t),e in s.alpha)return s.alpha[e].test(t) throw new Error("Invalid locale '"+e+"'")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=n(58) +var o=n(39),a=r(o),s=n(56) t.exports=e["default"]},function(t,e){"use strict" Object.defineProperty(e,"__esModule",{value:!0}) for(var n=e.alpha={"en-US":/^[A-Z]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"nl-NL":/^[A-ZÉËÏÓÖÜ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i, @@ -159,57 +159,57 @@ for(var s=e.arabicLocales=["AE","BH","DZ","EG","IQ","JO","KW","LB","LY","MA","QM function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-US" if((0,a["default"])(t),e in s.alphanumeric)return s.alphanumeric[e].test(t) throw new Error("Invalid locale '"+e+"'")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=n(58) +var o=n(39),a=r(o),s=n(56) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),s.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^[-+]?[0-9]+$/ +var o=n(39),a=r(o),s=/^[-+]?[0-9]+$/ t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),t===t.toLowerCase()}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o) +var o=n(39),a=r(o) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),t===t.toUpperCase()}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o) +var o=n(39),a=r(o) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),s.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^[\x00-\x7F]+$/ +var o=n(39),a=r(o),s=/^[\x00-\x7F]+$/ t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),s.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.fullWidth=void 0,e["default"]=i -var o=n(41),a=r(o),s=e.fullWidth=/[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/},function(t,e,n){"use strict" +var o=n(39),a=r(o),s=e.fullWidth=/[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),s.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.halfWidth=void 0,e["default"]=i -var o=n(41),a=r(o),s=e.halfWidth=/[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/},function(t,e,n){"use strict" +var o=n(39),a=r(o),s=e.halfWidth=/[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),s.fullWidth.test(t)&&l.halfWidth.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=n(64),l=n(65) +var o=n(39),a=r(o),s=n(62),l=n(63) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),s.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/[^\x00-\x7F]/ +var o=n(39),a=r(o),s=/[^\x00-\x7F]/ t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),s.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/ +var o=n(39),a=r(o),s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/ t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){(0,a["default"])(t),e=e||{} var n=e.hasOwnProperty("allow_leading_zeroes")&&!e.allow_leading_zeroes?s:l,r=!e.hasOwnProperty("min")||t>=e.min,i=!e.hasOwnProperty("max")||t<=e.max return n.test(t)&&r&&i}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,l=/^[-+]?[0-9]+$/ +var o=n(39),a=r(o),s=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,l=/^[-+]?[0-9]+$/ t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){return(0,a["default"])(t),e=e||{},""!==t&&"."!==t&&(s.test(t)&&(!e.hasOwnProperty("min")||t>=e.min)&&(!e.hasOwnProperty("max")||t<=e.max)&&(!e.hasOwnProperty("lt")||te.gt)) }Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^(?:[-+]?(?:[0-9]+))?(?:\.[0-9]*)?(?:[eE][\+\-]?(?:[0-9]+))?$/ +var o=n(39),a=r(o),s=/^(?:[-+]?(?:[0-9]+))?(?:\.[0-9]*)?(?:[eE][\+\-]?(?:[0-9]+))?$/ t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),""!==t&&s.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^[-+]?([0-9]+|\.[0-9]+|[0-9]+\.[0-9]+)$/ +var o=n(39),a=r(o),s=/^[-+]?([0-9]+|\.[0-9]+|[0-9]+\.[0-9]+)$/ t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),s.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^[0-9A-F]+$/i +var o=n(39),a=r(o),s=/^[0-9A-F]+$/i t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){return(0,a["default"])(t),(0,l["default"])(t)%parseInt(e,10)===0}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=n(42),l=r(s) +var o=n(39),a=r(o),s=n(40),l=r(s) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),s.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^#?([0-9A-F]{3}|[0-9A-F]{6})$/i +var o=n(39),a=r(o),s=/^#?([0-9A-F]{3}|[0-9A-F]{6})$/i t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),s.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^[a-f0-9]{32}$/ +var o=n(39),a=r(o),s=/^[a-f0-9]{32}$/ t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){(0,s["default"])(t) try{var e=JSON.parse(t) @@ -218,10 +218,10 @@ var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){re } e["default"]=i -var a=n(41),s=r(a) +var a=n(39),s=r(a) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),0===t.length}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o) +var o=n(39),a=r(o) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){(0,s["default"])(t) var n=void 0,r=void 0 @@ -232,16 +232,16 @@ var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){re } e["default"]=i -var a=n(41),s=r(a) +var a=n(39),s=r(a) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";(0,a["default"])(t) var n=s[e] return n&&n.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, +var o=n(39),a=r(o),s={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i} t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),(0,l["default"])(t)&&24===t.length}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=n(72),l=r(s) +var o=n(39),a=r(o),s=n(70),l=r(s) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){var e=t.match(l.iso8601),n=void 0,r=void 0,i=void 0,o=void 0 if(e){if(n=e[21],!n)return e[12]?null:0 @@ -259,21 +259,21 @@ if(null!==n){var r=e.getTimezoneOffset()-n e=new Date(e.getTime()+6e4*r)}var o=String(e.getDate()),a=void 0,l=void 0,u=void 0 return!(l=t.match(/(^|[^:\d])[23]\d([^T:\d]|$)/g))||(a=l.map(function(t){return t.match(/\d+/g)[0]}).join("/"),u=String(e.getFullYear()).slice(-2),a===o||a===u||(a===""+o/u||a===""+u/o))}Object.defineProperty(e,"__esModule",{ value:!0}),e["default"]=o -var a=n(41),s=r(a),l=n(82) +var a=n(39),s=r(a),l=n(80) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0}),e.iso8601=void 0,e["default"]=function(t){return(0,o["default"])(t),a.test(t)} -var i=n(41),o=r(i),a=e.iso8601=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/ +var i=n(39),o=r(i),a=e.iso8601=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/ },function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:String(new Date);(0,a["default"])(t) var n=(0,l["default"])(e),r=(0,l["default"])(t) return!!(r&&n&&r>n)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=n(40),l=r(s) +var o=n(39),a=r(o),s=n(38),l=r(s) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:String(new Date);(0,a["default"])(t) var n=(0,l["default"])(e),r=(0,l["default"])(t) return!!(r&&n&&r=0;l--)r=e.substring(l,l+1),i=parseInt(r,10),o?(i*=2,n+=i>=10?i%10+1:i):n+=i,o=!o return!(n%10!==0||!e)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})|62[0-9]{14}$/ +var o=n(39),a=r(o),s=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})|62[0-9]{14}$/ t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){if((0,a["default"])(t),!s.test(t))return!1 for(var e=t.replace(/[A-Z]/g,function(t){return parseInt(t,36)}),n=0,r=void 0,i=void 0,o=!0,l=e.length-2;l>=0;l--)r=e.substring(l,l+1),i=parseInt(r,10),o?(i*=2,n+=i>=10?i+1:i):n+=i,o=!o return parseInt(t.substr(t.length-1),10)===(1e4-n)%10}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^[A-Z]{2}[0-9A-Z]{9}[0-9]$/ +var o=n(39),a=r(o),s=/^[A-Z]{2}[0-9A-Z]{9}[0-9]$/ t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"" if((0,a["default"])(t),e=String(e),!e)return i(t,10)||i(t,13) @@ -310,7 +310,7 @@ for(o=0;o<9;o++)r+=(o+1)*n.charAt(o) if(r+="X"===n.charAt(9)?100:10*n.charAt(9),r%11===0)return!!n}else if("13"===e){if(!l.test(n))return!1 for(o=0;o<12;o++)r+=u[o%2]*n.charAt(o) if(n.charAt(12)-(10-r%10)%10===0)return!!n}return!1}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^(?:[0-9]{9}X|[0-9]{10})$/,l=/^(?:[0-9]{13})$/,u=[1,3] +var o=n(39),a=r(o),s=/^(?:[0-9]{9}X|[0-9]{10})$/,l=/^(?:[0-9]{13})$/,u=[1,3] t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,a["default"])(t) var n=s @@ -318,10 +318,10 @@ if(n=e.require_hyphen?n.replace("?",""):n,n=e.case_sensitive?new RegExp(n):new R var r=t.replace("-",""),i=8,o=0,l=!0,u=!1,c=void 0 try{for(var d=r[Symbol.iterator](),f;!(l=(f=d.next()).done);l=!0){var p=f.value,h="X"===p.toUpperCase()?10:+p o+=h*i,--i}}catch(m){u=!0,c=m}finally{try{!l&&d["return"]&&d["return"]()}finally{if(u)throw c}}return o%11===0}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s="^\\d{4}-?\\d{3}[\\dX]$" +var o=n(39),a=r(o),s="^\\d{4}-?\\d{3}[\\dX]$" t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){return(0,a["default"])(t),e in s&&s[e].test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s={"ar-DZ":/^(\+?213|0)(5|6|7)\d{8}$/,"ar-SY":/^(!?(\+?963)|0)?9\d{8}$/,"ar-SA":/^(!?(\+?966)|0)?5\d{8}$/,"en-US":/^(\+?1)?[2-9]\d{2}[2-9](?!11)\d{6}$/,"cs-CZ":/^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/, +var o=n(39),a=r(o),s={"ar-DZ":/^(\+?213|0)(5|6|7)\d{8}$/,"ar-SY":/^(!?(\+?963)|0)?9\d{8}$/,"ar-SA":/^(!?(\+?966)|0)?5\d{8}$/,"en-US":/^(\+?1)?[2-9]\d{2}[2-9](?!11)\d{6}$/,"cs-CZ":/^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/, "de-DE":/^(\+?49[ \.\-])?([\(]{1}[0-9]{1,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/,"da-DK":/^(\+?45)?(\d{8})$/,"el-GR":/^(\+?30)?(69\d{8})$/,"en-AU":/^(\+?61|0)4\d{8}$/,"en-GB":/^(\+?44|0)7\d{9}$/, "en-HK":/^(\+?852\-?)?[569]\d{3}\-?\d{4}$/,"en-IN":/^(\+?91|0)?[789]\d{9}$/,"en-NZ":/^(\+?64|0)2\d{7,9}$/,"en-ZA":/^(\+?27|0)\d{9}$/,"en-ZM":/^(\+?26)?09[567]\d{7}$/,"es-ES":/^(\+?34)?(6\d{1}|7[1234])\d{7}$/, "fi-FI":/^(\+?358|0)\s?(4(0|1|2|4|5)?|50)\s?(\d\s?){4,8}\d$/,"fr-FR":/^(\+?33|0)[67]\d{8}$/,"hu-HU":/^(\+?36)(20|30|70)\d{7}$/,"it-IT":/^(\+?39)?\s?3\d{2} ?\d{6,7}$/,"ja-JP":/^(\+?81|0)\d{1,4}[ \-]?\d{1,4}[ \-]?\d{4}$/, @@ -336,7 +336,7 @@ return t.allow_negatives&&!t.parens_for_negatives&&(t.negative_sign_after_digits t.symbol_after_digits?l+=e:l=e+l,t.allow_negatives&&(t.parens_for_negatives?l="(\\("+l+"\\)|"+l+")":t.negative_sign_before_digits||t.negative_sign_after_digits||(l=n+l)),new RegExp("^(?!-? )(?=.*\\d)"+l+"$") }function o(t,e){return(0,u["default"])(t),e=(0,s["default"])(e,c),i(e).test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o -var a=n(50),s=r(a),l=n(41),u=r(l),c={symbol:"$",require_symbol:!1,allow_space_after_symbol:!1,symbol_after_digits:!1,allow_negatives:!0,parens_for_negatives:!1,negative_sign_before_digits:!1,negative_sign_after_digits:!1, +var a=n(48),s=r(a),l=n(39),u=r(l),c={symbol:"$",require_symbol:!1,allow_space_after_symbol:!1,symbol_after_digits:!1,allow_negatives:!0,parens_for_negatives:!1,negative_sign_before_digits:!1,negative_sign_after_digits:!1, allow_negative_sign_placeholder:!1,thousands_separator:",",decimal_separator:".",allow_space_after_digits:!1} t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){(0,a["default"])(t) @@ -344,49 +344,49 @@ var e=t.length if(!e||e%4!==0||s.test(t))return!1 var n=t.indexOf("=") return n===-1||n===e-1||n===e-2&&"="===t[e-1]}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/[^A-Z0-9+\/=]/i +var o=n(39),a=r(o),s=/[^A-Z0-9+\/=]/i t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),s.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=/^\s*data:([a-z]+\/[a-z0-9\-\+]+(;[a-z\-]+=[a-z0-9\-]+)?)?(;base64)?,[a-z0-9!\$&',\(\)\*\+,;=\-\._~:@\/\?%\s]*\s*$/i +var o=n(39),a=r(o),s=/^\s*data:([a-z]+\/[a-z0-9\-\+]+(;[a-z\-]+=[a-z0-9\-]+)?)?(;base64)?,[a-z0-9!\$&',\(\)\*\+,;=\-\._~:@\/\?%\s]*\s*$/i t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){(0,a["default"])(t) var n=e?new RegExp("^["+e+"]+","g"):/^\s+/g return t.replace(n,"")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o) +var o=n(39),a=r(o) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){(0,a["default"])(t) for(var n=e?new RegExp("["+e+"]"):/\s/,r=t.length-1;r>=0&&n.test(t[r]);)r-- return r/g,">").replace(/\//g,"/").replace(/\\/g,"\").replace(/`/g,"`") }Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o) +var o=n(39),a=r(o) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){return(0,a["default"])(t),t.replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(///g,"/").replace(/`/g,"`") }Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o) +var o=n(39),a=r(o) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){(0,a["default"])(t) var n=e?"\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F":"\\x00-\\x1F\\x7F" return(0,l["default"])(t,n)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o),s=n(100),l=r(s) +var o=n(39),a=r(o),s=n(98),l=r(s) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){return(0,a["default"])(t),t.replace(new RegExp("["+e+"]+","g"),"")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o) +var o=n(39),a=r(o) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){return(0,a["default"])(t),t.replace(new RegExp("[^"+e+"]+","g"),"")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o) +var o=n(39),a=r(o) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){(0,a["default"])(t) for(var n=t.length-1;n>=0;n--)if(e.indexOf(t[n])===-1)return!1 return!0}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(41),a=r(o) +var o=n(39),a=r(o) t.exports=e["default"]},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){if(e=(0,l["default"])(e,u),!(0,a["default"])(t))return!1 var n=t.split("@"),r=n.pop(),i=n.join("@"),o=[i,r] @@ -397,21 +397,11 @@ o[1]=e.gmail_convert_googlemaildotcom?"gmail.com":o[1]}else if(~c.indexOf(o[1])) if(e.yahoo_remove_subaddress){var s=o[0].split("-") o[0]=s.length>1?s.slice(0,-1).join("-"):s[0]}if(!o[0].length)return!1;(e.all_lowercase||e.yahoo_lowercase)&&(o[0]=o[0].toLowerCase())}else e.all_lowercase&&(o[0]=o[0].toLowerCase()) return o.join("@")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=i -var o=n(49),a=r(o),s=n(50),l=r(s),u={all_lowercase:!0,gmail_lowercase:!0,gmail_remove_dots:!0,gmail_remove_subaddress:!0,gmail_convert_googlemaildotcom:!0,outlookdotcom_lowercase:!0,outlookdotcom_remove_subaddress:!0, +var o=n(47),a=r(o),s=n(48),l=r(s),u={all_lowercase:!0,gmail_lowercase:!0,gmail_remove_dots:!0,gmail_remove_subaddress:!0,gmail_convert_googlemaildotcom:!0,outlookdotcom_lowercase:!0,outlookdotcom_remove_subaddress:!0, yahoo_lowercase:!0,yahoo_remove_subaddress:!0,icloud_lowercase:!0,icloud_remove_subaddress:!0},c=["icloud.com","me.com"],d=["hotmail.at","hotmail.be","hotmail.ca","hotmail.cl","hotmail.co.il","hotmail.co.nz","hotmail.co.th","hotmail.co.uk","hotmail.com","hotmail.com.ar","hotmail.com.au","hotmail.com.br","hotmail.com.gr","hotmail.com.mx","hotmail.com.pe","hotmail.com.tr","hotmail.com.vn","hotmail.cz","hotmail.de","hotmail.dk","hotmail.es","hotmail.fr","hotmail.hu","hotmail.id","hotmail.ie","hotmail.in","hotmail.it","hotmail.jp","hotmail.kr","hotmail.lv","hotmail.my","hotmail.ph","hotmail.pt","hotmail.sa","hotmail.sg","hotmail.sk","live.be","live.co.uk","live.com","live.com.ar","live.com.mx","live.de","live.es","live.eu","live.fr","live.it","live.nl","msn.com","outlook.at","outlook.be","outlook.cl","outlook.co.il","outlook.co.nz","outlook.co.th","outlook.com","outlook.com.ar","outlook.com.au","outlook.com.br","outlook.com.gr","outlook.com.pe","outlook.com.tr","outlook.com.vn","outlook.cz","outlook.de","outlook.dk","outlook.es","outlook.fr","outlook.hu","outlook.id","outlook.ie","outlook.in","outlook.it","outlook.jp","outlook.kr","outlook.lv","outlook.my","outlook.ph","outlook.pt","outlook.sa","outlook.sg","outlook.sk","passport.com"],f=["rocketmail.com","yahoo.ca","yahoo.co.uk","yahoo.com","yahoo.de","yahoo.fr","yahoo.in","yahoo.it","ymail.com"] -t.exports=e["default"]},,,,,function(t,e){t.exports=ReactRedux},function(t,e){t.exports=Redux},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict" -var r=n(153) -e.extract=function(t){return t.split("?")[1]||""},e.parse=function(t){return"string"!=typeof t?{}:(t=t.trim().replace(/^(\?|#|&)/,""),t?t.split("&").reduce(function(t,e){var n=e.replace(/\+/g," ").split("="),r=n.shift(),i=n.length>0?n.join("="):void 0 - - -return r=decodeURIComponent(r),i=void 0===i?null:decodeURIComponent(i),t.hasOwnProperty(r)?Array.isArray(t[r])?t[r].push(i):t[r]=[t[r],i]:t[r]=i,t},{}):{})},e.stringify=function(t){return t?Object.keys(t).sort().map(function(e){ -var n=t[e] -return void 0===n?"":null===n?e:Array.isArray(n)?n.slice().sort().map(function(t){return r(e)+"="+r(t)}).join("&"):r(e)+"="+r(n)}).filter(function(t){return t.length>0}).join("&"):""}},function(t,e){"use strict" - - -t.exports=function(t){return encodeURIComponent(t).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}},,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){(function(jQuery){ +t.exports=e["default"]},,,,,function(t,e){t.exports=ReactRedux},function(t,e){t.exports=Redux},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){(function(jQuery){ !function(t,e){function n(e,n){var i,o,a,s=e.nodeName.toLowerCase() return"area"===s?(i=e.parentNode,o=i.name,!(!e.href||!o||"map"!==i.nodeName.toLowerCase())&&(a=t("img[usemap=#"+o+"]")[0],!!a&&r(a))):(/input|select|textarea|button|object/.test(s)?!e.disabled:"a"===s?e.href||n:n)&&r(e) @@ -3371,7 +3361,7 @@ c.canUseDOM?void 0:s["default"](!1) var v=m.forceRefresh,g=d.supportsHistory(),y=!g||v,b=h["default"](o({},m,{getCurrentLocation:t,finishTransition:n,saveState:f.saveState})),_=0,x=void 0 return o({},b,{listenBefore:r,listen:i,registerTransitionHook:a,unregisterTransitionHook:p})}e.__esModule=!0 var o=Object.assign||function(t){for(var e=1;e=0&&0===window.sessionStorage.length)return throw n}}function a(t){var e=void 0 try{e=window.sessionStorage.getItem(i(t))}catch(n){if(n.name===d)return null}if(e)try{return JSON.parse(e)}catch(n){}return null}e.__esModule=!0,e.saveState=o,e.readState=a -var s=n(213),l=r(s),u="@@History/",c=["QuotaExceededError","QUOTA_EXCEEDED_ERR"],d="SecurityError"},function(t,e,n){"use strict" +var s=n(209),l=r(s),u="@@History/",c=["QuotaExceededError","QUOTA_EXCEEDED_ERR"],d="SecurityError"},function(t,e,n){"use strict" function r(t){return t&&t.__esModule?t:{"default":t}}function i(t){function e(t){return l.canUseDOM?void 0:s["default"](!1),n.listen(t)}var n=d["default"](o({getUserConfirmation:u.getUserConfirmation},t,{ go:u.go})) return o({},n,{listen:e})}e.__esModule=!0 var o=Object.assign||function(t){for(var e=1;e0&&"number"!=typeof t[0])) }function o(t,e,n){var o,c @@ -3456,7 +3446,7 @@ for(o=0;o=0;o--)if(d[o]!=f[o])return!1 for(o=d.length-1;o>=0;o--)if(c=d[o],!u(t[c],e[c],n))return!1 -return typeof t==typeof e}var a=Array.prototype.slice,s=n(220),l=n(221),u=t.exports=function(t,e,n){return n||(n={}),t===e||(t instanceof Date&&e instanceof Date?t.getTime()===e.getTime():!t||!e||"object"!=typeof t&&"object"!=typeof e?n.strict?t===e:t==e:o(t,e,n)) +return typeof t==typeof e}var a=Array.prototype.slice,s=n(216),l=n(217),u=t.exports=function(t,e,n){return n||(n={}),t===e||(t instanceof Date&&e instanceof Date?t.getTime()===e.getTime():!t||!e||"object"!=typeof t&&"object"!=typeof e?n.strict?t===e:t==e:o(t,e,n)) }},function(t,e){function n(t){var e=[] for(var n in t)e.push(n) @@ -3476,27 +3466,27 @@ function r(t){return t&&t.__esModule?t:{"default":t}}function i(){var t=argument var i=t.pathname||"/",a=t.search||"",s=t.hash||"",c=t.state||null return{pathname:i,search:a,hash:s,state:c,action:e,key:n}}e.__esModule=!0 var o=Object.assign||function(t){for(var e=1;eo; return r} B||(A=function ct(){if(this instanceof A)throw TypeError("Symbol is not a constructor!") var t=f(arguments.length>0?arguments[0]:void 0),e=function(n){this===q&&e.call(H,n),i(this,D)&&i(this[D],t)&&(this[D][t]=!1),W(this,t,w(1,n))} -return o&&z&&W(q,t,{configurable:!0,set:e}),V(t)},s(A[I],"toString",function dt(){return this._k}),T.f=Z,E.f=K,n(318).f=j.f=J,n(312).f=G,n(311).f=tt,o&&!n(296)&&s(q,"propertyIsEnumerable",G,!0),h.f=function(t){ +return o&&z&&W(q,t,{configurable:!0,set:e}),V(t)},s(A[I],"toString",function dt(){return this._k}),T.f=Z,E.f=K,n(315).f=j.f=J,n(309).f=G,n(308).f=tt,o&&!n(293)&&s(q,"propertyIsEnumerable",G,!0),h.f=function(t){ return V(p(t))}),a(a.G+a.W+a.F*!B,{Symbol:A}) for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),nt=0;et.length>nt;)p(et[nt++]) for(var et=C(p.store),nt=0;et.length>nt;)m(et[nt++]) @@ -3517,130 +3507,130 @@ a(a.S+a.F*!B,"Symbol",{"for":function(t){return i(L,t+="")?L[t]:L[t]=A(t)},keyFo throw TypeError(t+" is not a symbol!")},useSetter:function(){z=!0},useSimple:function(){z=!1}}),a(a.S+a.F*!B,"Object",{create:X,defineProperty:K,defineProperties:Y,getOwnPropertyDescriptor:Z,getOwnPropertyNames:J, getOwnPropertySymbols:tt}),N&&a(a.S+a.F*(!B||u(function(){var t=A() return"[null]"!=M([t])||"{}"!=M({a:t})||"{}"!=M(Object(t))})),"JSON",{stringify:function pt(t){if(void 0!==t&&!$(t)){for(var e=[t],n=1,r,i;arguments.length>n;)e.push(arguments[n++]) -return r=e[1],"function"==typeof r&&(i=r),!i&&y(r)||(r=function(t,e){if(i&&(e=i.call(this,t,e)),!$(e))return e}),e[1]=r,M.apply(N,e)}}}),A[I][R]||n(278)(A[I],R,A[I].valueOf),d(A,"Symbol"),d(Math,"Math",!0), +return r=e[1],"function"==typeof r&&(i=r),!i&&y(r)||(r=function(t,e){if(i&&(e=i.call(this,t,e)),!$(e))return e}),e[1]=r,M.apply(N,e)}}}),A[I][R]||n(275)(A[I],R,A[I].valueOf),d(A,"Symbol"),d(Math,"Math",!0), d(r.JSON,"JSON",!0)},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")() "number"==typeof __g&&(__g=n)},function(t,e){var n={}.hasOwnProperty -t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(275)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{ -return!!t()}catch(e){return!0}}},function(t,e,n){var r=n(272),i=n(277),o=n(278),a=n(286),s=n(288),l="prototype",u=function(t,e,n){var c=t&u.F,d=t&u.G,f=t&u.S,p=t&u.P,h=t&u.B,m=d?r:f?r[e]||(r[e]={}):(r[e]||{})[l],v=d?i:i[e]||(i[e]={}),g=v[l]||(v[l]={}),y,b,_,x +t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(272)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{ +return!!t()}catch(e){return!0}}},function(t,e,n){var r=n(269),i=n(274),o=n(275),a=n(283),s=n(285),l="prototype",u=function(t,e,n){var c=t&u.F,d=t&u.G,f=t&u.S,p=t&u.P,h=t&u.B,m=d?r:f?r[e]||(r[e]={}):(r[e]||{})[l],v=d?i:i[e]||(i[e]={}),g=v[l]||(v[l]={}),y,b,_,x d&&(n=e) for(y in n)b=!c&&m&&void 0!==m[y],_=(b?m:n)[y],x=h&&b?s(_,r):p&&"function"==typeof _?s(Function.call,_):_,m&&a(m,y,_,t&u.U),v[y]!=_&&o(v,y,x),p&&g[y]!=_&&(g[y]=_)} r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){var n=t.exports={version:"2.4.0"} -"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(279),i=n(285) -t.exports=n(274)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(280),i=n(282),o=n(284),a=Object.defineProperty -e.f=n(274)?Object.defineProperty:function s(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!") -return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(281) +"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(276),i=n(282) +t.exports=n(271)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(277),i=n(279),o=n(281),a=Object.defineProperty +e.f=n(271)?Object.defineProperty:function s(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!") +return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(278) t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!") -return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){t.exports=!n(274)&&!n(275)(function(){return 7!=Object.defineProperty(n(283)("div"),"a",{ -get:function(){return 7}}).a})},function(t,e,n){var r=n(281),i=n(272).document,o=r(i)&&r(i.createElement) -t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,n){var r=n(281) +return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){t.exports=!n(271)&&!n(272)(function(){return 7!=Object.defineProperty(n(280)("div"),"a",{ +get:function(){return 7}}).a})},function(t,e,n){var r=n(278),i=n(269).document,o=r(i)&&r(i.createElement) +t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,n){var r=n(278) t.exports=function(t,e){if(!r(t))return t var n,i if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i -throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(272),i=n(278),o=n(273),a=n(287)("src"),s="toString",l=Function[s],u=(""+l).split(s) +throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(269),i=n(275),o=n(270),a=n(284)("src"),s="toString",l=Function[s],u=(""+l).split(s) -n(277).inspectSource=function(t){return l.call(t)},(t.exports=function(t,e,n,s){var l="function"==typeof n +n(274).inspectSource=function(t){return l.call(t)},(t.exports=function(t,e,n,s){var l="function"==typeof n l&&(o(n,"name")||i(n,"name",e)),t[e]!==n&&(l&&(o(n,a)||i(n,a,t[e]?""+t[e]:u.join(String(e)))),t===r?t[e]=n:s?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,s,function c(){return"function"==typeof this&&this[a]||l.call(this) })},function(t,e){var n=0,r=Math.random() -t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(289) +t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(286) t.exports=function(t,e,n){if(r(t),void 0===e)return t switch(n){case 1:return function(n){return t.call(e,n)} case 2:return function(n,r){return t.call(e,n,r)} case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!") -return t}},function(t,e,n){var r=n(287)("meta"),i=n(281),o=n(273),a=n(279).f,s=0,l=Object.isExtensible||function(){return!0},u=!n(275)(function(){return l(Object.preventExtensions({}))}),c=function(t){ +return t}},function(t,e,n){var r=n(284)("meta"),i=n(278),o=n(270),a=n(276).f,s=0,l=Object.isExtensible||function(){return!0},u=!n(272)(function(){return l(Object.preventExtensions({}))}),c=function(t){ a(t,r,{value:{i:"O"+ ++s,w:{}}})},d=function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t if(!o(t,r)){if(!l(t))return"F" if(!e)return"E" c(t)}return t[r].i},f=function(t,e){if(!o(t,r)){if(!l(t))return!0 if(!e)return!1 -c(t)}return t[r].w},p=function(t){return u&&h.NEED&&l(t)&&!o(t,r)&&c(t),t},h=t.exports={KEY:r,NEED:!1,fastKey:d,getWeak:f,onFreeze:p}},function(t,e,n){var r=n(272),i="__core-js_shared__",o=r[i]||(r[i]={}) +c(t)}return t[r].w},p=function(t){return u&&h.NEED&&l(t)&&!o(t,r)&&c(t),t},h=t.exports={KEY:r,NEED:!1,fastKey:d,getWeak:f,onFreeze:p}},function(t,e,n){var r=n(269),i="__core-js_shared__",o=r[i]||(r[i]={}) -t.exports=function(t){return o[t]||(o[t]={})}},function(t,e,n){var r=n(279).f,i=n(273),o=n(293)("toStringTag") -t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(291)("wks"),i=n(287),o=n(272).Symbol,a="function"==typeof o,s=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t)) +t.exports=function(t){return o[t]||(o[t]={})}},function(t,e,n){var r=n(276).f,i=n(270),o=n(290)("toStringTag") +t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(288)("wks"),i=n(284),o=n(269).Symbol,a="function"==typeof o,s=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t)) } -s.store=r},function(t,e,n){e.f=n(293)},function(t,e,n){var r=n(272),i=n(277),o=n(296),a=n(294),s=n(279).f +s.store=r},function(t,e,n){e.f=n(290)},function(t,e,n){var r=n(269),i=n(274),o=n(293),a=n(291),s=n(276).f t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:r.Symbol||{}) -"_"==t.charAt(0)||t in e||s(e,t,{value:a.f(t)})}},function(t,e){t.exports=!1},function(t,e,n){var r=n(298),i=n(300) -t.exports=function(t,e){for(var n=i(t),o=r(n),a=o.length,s=0,l;a>s;)if(n[l=o[s++]]===e)return l}},function(t,e,n){var r=n(299),i=n(309) -t.exports=Object.keys||function o(t){return r(t,i)}},function(t,e,n){var r=n(273),i=n(300),o=n(304)(!1),a=n(308)("IE_PROTO") +"_"==t.charAt(0)||t in e||s(e,t,{value:a.f(t)})}},function(t,e){t.exports=!1},function(t,e,n){var r=n(295),i=n(297) +t.exports=function(t,e){for(var n=i(t),o=r(n),a=o.length,s=0,l;a>s;)if(n[l=o[s++]]===e)return l}},function(t,e,n){var r=n(296),i=n(306) +t.exports=Object.keys||function o(t){return r(t,i)}},function(t,e,n){var r=n(270),i=n(297),o=n(301)(!1),a=n(305)("IE_PROTO") t.exports=function(t,e){var n=i(t),s=0,l=[],u for(u in n)u!=a&&r(n,u)&&l.push(u) for(;e.length>s;)r(n,u=e[s++])&&(~o(l,u)||l.push(u)) -return l}},function(t,e,n){var r=n(301),i=n(303) -t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(302) +return l}},function(t,e,n){var r=n(298),i=n(300) +t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(299) t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e){var n={}.toString t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t) -return t}},function(t,e,n){var r=n(300),i=n(305),o=n(307) +return t}},function(t,e,n){var r=n(297),i=n(302),o=n(304) t.exports=function(t){return function(e,n,a){var s=r(e),l=i(s.length),u=o(a,l),c if(t&&n!=n){for(;l>u;)if(c=s[u++],c!=c)return!0}else for(;l>u;u++)if((t||u in s)&&s[u]===n)return t||u||0 -return!t&&-1}}},function(t,e,n){var r=n(306),i=Math.min +return!t&&-1}}},function(t,e,n){var r=n(303),i=Math.min t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e){var n=Math.ceil,r=Math.floor -t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(306),i=Math.max,o=Math.min -t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(291)("keys"),i=n(287) -t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(298),i=n(311),o=n(312) +t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(303),i=Math.max,o=Math.min +t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(288)("keys"),i=n(284) +t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(295),i=n(308),o=n(309) t.exports=function(t){var e=r(t),n=i.f if(n)for(var a=n(t),s=o.f,l=0,u;a.length>l;)s.call(t,u=a[l++])&&e.push(u) -return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(302) -t.exports=Array.isArray||function i(t){return"Array"==r(t)}},function(t,e,n){var r=n(280),i=n(315),o=n(309),a=n(308)("IE_PROTO"),s=function(){},l="prototype",u=function(){var t=n(283)("iframe"),e=o.length,r="<",i=">",a +return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(299) +t.exports=Array.isArray||function i(t){return"Array"==r(t)}},function(t,e,n){var r=n(277),i=n(312),o=n(306),a=n(305)("IE_PROTO"),s=function(){},l="prototype",u=function(){var t=n(280)("iframe"),e=o.length,r="<",i=">",a -for(t.style.display="none",n(316).appendChild(t),t.src="javascript:",a=t.contentWindow.document,a.open(),a.write(r+"script"+i+"document.F=Object"+r+"/script"+i),a.close(),u=a.F;e--;)delete u[l][o[e]] +for(t.style.display="none",n(313).appendChild(t),t.src="javascript:",a=t.contentWindow.document,a.open(),a.write(r+"script"+i+"document.F=Object"+r+"/script"+i),a.close(),u=a.F;e--;)delete u[l][o[e]] return u()} t.exports=Object.create||function c(t,e){var n -return null!==t?(s[l]=r(t),n=new s,s[l]=null,n[a]=t):n=u(),void 0===e?n:i(n,e)}},function(t,e,n){var r=n(279),i=n(280),o=n(298) -t.exports=n(274)?Object.defineProperties:function a(t,e){i(t) +return null!==t?(s[l]=r(t),n=new s,s[l]=null,n[a]=t):n=u(),void 0===e?n:i(n,e)}},function(t,e,n){var r=n(276),i=n(277),o=n(295) +t.exports=n(271)?Object.defineProperties:function a(t,e){i(t) for(var n=o(e),a=n.length,s=0,l;a>s;)r.f(t,l=n[s++],e[l]) -return t}},function(t,e,n){t.exports=n(272).document&&document.documentElement},function(t,e,n){var r=n(300),i=n(318).f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){ +return t}},function(t,e,n){t.exports=n(269).document&&document.documentElement},function(t,e,n){var r=n(297),i=n(315).f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){ try{return i(t)}catch(e){return a.slice()}} -t.exports.f=function l(t){return a&&"[object Window]"==o.call(t)?s(t):i(r(t))}},function(t,e,n){var r=n(299),i=n(309).concat("length","prototype") -e.f=Object.getOwnPropertyNames||function o(t){return r(t,i)}},function(t,e,n){var r=n(312),i=n(285),o=n(300),a=n(284),s=n(273),l=n(282),u=Object.getOwnPropertyDescriptor -e.f=n(274)?u:function c(t,e){if(t=o(t),e=a(e,!0),l)try{return u(t,e)}catch(n){}if(s(t,e))return i(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(276) -r(r.S,"Object",{create:n(314)})},function(t,e,n){var r=n(276) -r(r.S+r.F*!n(274),"Object",{defineProperty:n(279).f})},function(t,e,n){var r=n(276) -r(r.S+r.F*!n(274),"Object",{defineProperties:n(315)})},function(t,e,n){var r=n(300),i=n(319).f -n(324)("getOwnPropertyDescriptor",function(){return function t(e,n){return i(r(e),n)}})},function(t,e,n){var r=n(276),i=n(277),o=n(275) +t.exports.f=function l(t){return a&&"[object Window]"==o.call(t)?s(t):i(r(t))}},function(t,e,n){var r=n(296),i=n(306).concat("length","prototype") +e.f=Object.getOwnPropertyNames||function o(t){return r(t,i)}},function(t,e,n){var r=n(309),i=n(282),o=n(297),a=n(281),s=n(270),l=n(279),u=Object.getOwnPropertyDescriptor +e.f=n(271)?u:function c(t,e){if(t=o(t),e=a(e,!0),l)try{return u(t,e)}catch(n){}if(s(t,e))return i(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(273) +r(r.S,"Object",{create:n(311)})},function(t,e,n){var r=n(273) +r(r.S+r.F*!n(271),"Object",{defineProperty:n(276).f})},function(t,e,n){var r=n(273) +r(r.S+r.F*!n(271),"Object",{defineProperties:n(312)})},function(t,e,n){var r=n(297),i=n(316).f +n(321)("getOwnPropertyDescriptor",function(){return function t(e,n){return i(r(e),n)}})},function(t,e,n){var r=n(273),i=n(274),o=n(272) t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],a={} -a[t]=e(n),r(r.S+r.F*o(function(){n(1)}),"Object",a)}},function(t,e,n){var r=n(326),i=n(327) -n(324)("getPrototypeOf",function(){return function t(e){return i(r(e))}})},function(t,e,n){var r=n(303) -t.exports=function(t){return Object(r(t))}},function(t,e,n){var r=n(273),i=n(326),o=n(308)("IE_PROTO"),a=Object.prototype +a[t]=e(n),r(r.S+r.F*o(function(){n(1)}),"Object",a)}},function(t,e,n){var r=n(323),i=n(324) +n(321)("getPrototypeOf",function(){return function t(e){return i(r(e))}})},function(t,e,n){var r=n(300) +t.exports=function(t){return Object(r(t))}},function(t,e,n){var r=n(270),i=n(323),o=n(305)("IE_PROTO"),a=Object.prototype t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,n){ -var r=n(326),i=n(298) -n(324)("keys",function(){return function t(e){return i(r(e))}})},function(t,e,n){n(324)("getOwnPropertyNames",function(){return n(317).f})},function(t,e,n){var r=n(281),i=n(290).onFreeze -n(324)("freeze",function(t){return function e(n){return t&&r(n)?t(i(n)):n}})},function(t,e,n){var r=n(281),i=n(290).onFreeze -n(324)("seal",function(t){return function e(n){return t&&r(n)?t(i(n)):n}})},function(t,e,n){var r=n(281),i=n(290).onFreeze -n(324)("preventExtensions",function(t){return function e(n){return t&&r(n)?t(i(n)):n}})},function(t,e,n){var r=n(281) -n(324)("isFrozen",function(t){return function e(n){return!r(n)||!!t&&t(n)}})},function(t,e,n){var r=n(281) -n(324)("isSealed",function(t){return function e(n){return!r(n)||!!t&&t(n)}})},function(t,e,n){var r=n(281) -n(324)("isExtensible",function(t){return function e(n){return!!r(n)&&(!t||t(n))}})},function(t,e,n){var r=n(276) -r(r.S+r.F,"Object",{assign:n(337)})},function(t,e,n){"use strict" -var r=n(298),i=n(311),o=n(312),a=n(326),s=n(301),l=Object.assign -t.exports=!l||n(275)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst" +var r=n(323),i=n(295) +n(321)("keys",function(){return function t(e){return i(r(e))}})},function(t,e,n){n(321)("getOwnPropertyNames",function(){return n(314).f})},function(t,e,n){var r=n(278),i=n(287).onFreeze +n(321)("freeze",function(t){return function e(n){return t&&r(n)?t(i(n)):n}})},function(t,e,n){var r=n(278),i=n(287).onFreeze +n(321)("seal",function(t){return function e(n){return t&&r(n)?t(i(n)):n}})},function(t,e,n){var r=n(278),i=n(287).onFreeze +n(321)("preventExtensions",function(t){return function e(n){return t&&r(n)?t(i(n)):n}})},function(t,e,n){var r=n(278) +n(321)("isFrozen",function(t){return function e(n){return!r(n)||!!t&&t(n)}})},function(t,e,n){var r=n(278) +n(321)("isSealed",function(t){return function e(n){return!r(n)||!!t&&t(n)}})},function(t,e,n){var r=n(278) +n(321)("isExtensible",function(t){return function e(n){return!!r(n)&&(!t||t(n))}})},function(t,e,n){var r=n(273) +r(r.S+r.F,"Object",{assign:n(334)})},function(t,e,n){"use strict" +var r=n(295),i=n(308),o=n(309),a=n(323),s=n(298),l=Object.assign +t.exports=!l||n(272)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst" return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=l({},t)[n]||Object.keys(l({},e)).join("")!=r})?function u(t,e){for(var n=a(t),l=arguments.length,u=1,c=i.f,d=o.f;l>u;)for(var f=s(arguments[u++]),p=c?r(f).concat(c(f)):r(f),h=p.length,m=0,v;h>m;)d.call(f,v=p[m++])&&(n[v]=f[v]) -return n}:l},function(t,e,n){var r=n(276) -r(r.S,"Object",{is:n(339)})},function(t,e){t.exports=Object.is||function n(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},function(t,e,n){var r=n(276) -r(r.S,"Object",{setPrototypeOf:n(341).set})},function(t,e,n){var r=n(281),i=n(280),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")} -t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n(288)(Function.call,n(319).f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(i){e=!0}return function a(t,n){ +return n}:l},function(t,e,n){var r=n(273) +r(r.S,"Object",{is:n(336)})},function(t,e){t.exports=Object.is||function n(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},function(t,e,n){var r=n(273) +r(r.S,"Object",{setPrototypeOf:n(338).set})},function(t,e,n){var r=n(278),i=n(277),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")} +t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n(285)(Function.call,n(316).f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(i){e=!0}return function a(t,n){ return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},function(t,e,n){"use strict" -var r=n(343),i={} -i[n(293)("toStringTag")]="z",i+""!="[object z]"&&n(286)(Object.prototype,"toString",function o(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(302),i=n(293)("toStringTag"),o="Arguments"==r(function(){ +var r=n(340),i={} +i[n(290)("toStringTag")]="z",i+""!="[object z]"&&n(283)(Object.prototype,"toString",function o(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(299),i=n(290)("toStringTag"),o="Arguments"==r(function(){ return arguments}()),a=function(t,e){try{return t[e]}catch(n){}} t.exports=function(t){var e,n,s -return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),i))?n:o?r(e):"Object"==(s=r(e))&&"function"==typeof e.callee?"Arguments":s}},function(t,e,n){var r=n(276) -r(r.P,"Function",{bind:n(345)})},function(t,e,n){"use strict" -var r=n(289),i=n(281),o=n(346),a=[].slice,s={},l=function(t,e,n){if(!(e in s)){for(var r=[],i=0;i>>0||(a.test(n)?16:10))}:r},function(t,e,n){var r=n(276),i=n(303),o=n(275),a=n(352),s="["+a+"]",l="​…",u=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),d=function(t,e,n){var i={},s=o(function(){return!!a[t]()||l[t]()!=l +return r(n,e>>>0||(a.test(n)?16:10))}:r},function(t,e,n){var r=n(273),i=n(300),o=n(272),a=n(349),s="["+a+"]",l="​…",u=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),d=function(t,e,n){var i={},s=o(function(){return!!a[t]()||l[t]()!=l }),u=i[t]=s?e(f):a[t] n&&(i[n]=u),r(r.P+r.F*s,"String",i)},f=d.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(c,"")),t} -t.exports=d},function(t,e){t.exports="\t\n\x0B\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r=n(276),i=n(354) -r(r.G+r.F*(parseFloat!=i),{parseFloat:i})},function(t,e,n){var r=n(272).parseFloat,i=n(351).trim -t.exports=1/r(n(352)+"-0")!==-(1/0)?function o(t){var e=i(String(t),3),n=r(e) +t.exports=d},function(t,e){t.exports="\t\n\x0B\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r=n(273),i=n(351) +r(r.G+r.F*(parseFloat!=i),{parseFloat:i})},function(t,e,n){var r=n(269).parseFloat,i=n(348).trim +t.exports=1/r(n(349)+"-0")!==-(1/0)?function o(t){var e=i(String(t),3),n=r(e) return 0===n&&"-"==e.charAt(0)?-0:n}:r},function(t,e,n){"use strict" -var r=n(272),i=n(273),o=n(302),a=n(356),s=n(284),l=n(275),u=n(318).f,c=n(319).f,d=n(279).f,f=n(351).trim,p="Number",h=r[p],m=h,v=h.prototype,g=o(n(314)(v))==p,y="trim"in String.prototype,b=function(t){ +var r=n(269),i=n(270),o=n(299),a=n(353),s=n(281),l=n(272),u=n(315).f,c=n(316).f,d=n(276).f,f=n(348).trim,p="Number",h=r[p],m=h,v=h.prototype,g=o(n(311)(v))==p,y="trim"in String.prototype,b=function(t){ var e=s(t,!1) if("string"==typeof e&&e.length>2){e=y?e.trim():f(e,3) var n=e.charCodeAt(0),r,i,o @@ -3680,19 +3670,19 @@ default:return+e}for(var a=e.slice(2),l=0,u=a.length,c;lx;x++)i(m,w=_[x])&&!i(h,w)&&d(h,w,c(m,w)) +for(var _=n(271)?u(m):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),x=0,w;_.length>x;x++)i(m,w=_[x])&&!i(h,w)&&d(h,w,c(m,w)) -h.prototype=v,v.constructor=h,n(286)(r,p,h)}},function(t,e,n){var r=n(281),i=n(341).set +h.prototype=v,v.constructor=h,n(283)(r,p,h)}},function(t,e,n){var r=n(278),i=n(338).set t.exports=function(t,e,n){var o,a=e.constructor return a!==n&&"function"==typeof a&&(o=a.prototype)!==n.prototype&&r(o)&&i&&i(t,o),t}},function(t,e,n){"use strict" -var r=n(276),i=n(306),o=n(358),a=n(359),s=1..toFixed,l=Math.floor,u=[0,0,0,0,0,0],c="Number.toFixed: incorrect invocation!",d="0",f=function(t,e){for(var n=-1,r=e;++n<6;)r+=t*u[n],u[n]=r%1e7,r=l(r/1e7) +var r=n(273),i=n(303),o=n(355),a=n(356),s=1..toFixed,l=Math.floor,u=[0,0,0,0,0,0],c="Number.toFixed: incorrect invocation!",d="0",f=function(t,e){for(var n=-1,r=e;++n<6;)r+=t*u[n],u[n]=r%1e7,r=l(r/1e7) },p=function(t){for(var e=6,n=0;--e>=0;)n+=u[e],u[e]=l(n/t),n=n%t*1e7},h=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==u[t]){var n=String(u[t]) e=""===e?n:e+a.call(d,7-n.length)+n}return e},m=function(t,e,n){return 0===e?n:e%2===1?m(t,e-1,n*t):m(t*t,e/2,n)},v=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096 for(;n>=2;)e+=1,n/=2 return e} -r(r.P+r.F*(!!s&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(275)(function(){s.call({})})),"Number",{toFixed:function g(t){ +r(r.P+r.F*(!!s&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(272)(function(){s.call({})})),"Number",{toFixed:function g(t){ var e=o(this,c),n=i(t),r="",s=d,l,u,g,y if(n<0||n>20)throw RangeError(c) if(e!=e)return"NaN" @@ -3700,66 +3690,66 @@ if(e<=-1e21||e>=1e21)return String(e) if(e<0&&(r="-",e=-e),e>1e-21)if(l=v(e*m(2,69,1))-69,u=l<0?e*m(2,-l,1):e/m(2,l,1),u*=4503599627370496,l=52-l,l>0){for(f(0,u),g=n;g>=7;)f(1e7,0),g-=7 for(f(m(10,g,1),0),g=l-1;g>=23;)p(1<<23),g-=23 p(1<0?(y=s.length,s=r+(y<=n?"0."+a.call(d,n-y)+s:s.slice(0,y-n)+"."+s.slice(y-n))):s=r+s,s}})},function(t,e,n){var r=n(302) +return n>0?(y=s.length,s=r+(y<=n?"0."+a.call(d,n-y)+s:s.slice(0,y-n)+"."+s.slice(y-n))):s=r+s,s}})},function(t,e,n){var r=n(299) t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e) return+t}},function(t,e,n){"use strict" -var r=n(306),i=n(303) +var r=n(303),i=n(300) t.exports=function o(t){var e=String(i(this)),n="",o=r(t) if(o<0||o==1/0)throw RangeError("Count can't be negative") for(;o>0;(o>>>=1)&&(e+=e))1&o&&(n+=e) return n}},function(t,e,n){"use strict" -var r=n(276),i=n(275),o=n(358),a=1..toPrecision +var r=n(273),i=n(272),o=n(355),a=1..toPrecision r(r.P+r.F*(i(function(){return"1"!==a.call(1,void 0)})||!i(function(){a.call({})})),"Number",{toPrecision:function s(t){var e=o(this,"Number#toPrecision: incorrect invocation!") -return void 0===t?a.call(e):a.call(e,t)}})},function(t,e,n){var r=n(276) -r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){var r=n(276),i=n(272).isFinite -r(r.S,"Number",{isFinite:function o(t){return"number"==typeof t&&i(t)}})},function(t,e,n){var r=n(276) -r(r.S,"Number",{isInteger:n(364)})},function(t,e,n){var r=n(281),i=Math.floor -t.exports=function o(t){return!r(t)&&isFinite(t)&&i(t)===t}},function(t,e,n){var r=n(276) -r(r.S,"Number",{isNaN:function i(t){return t!=t}})},function(t,e,n){var r=n(276),i=n(364),o=Math.abs -r(r.S,"Number",{isSafeInteger:function a(t){return i(t)&&o(t)<=9007199254740991}})},function(t,e,n){var r=n(276) -r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(276) -r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(276),i=n(354) -r(r.S+r.F*(Number.parseFloat!=i),"Number",{parseFloat:i})},function(t,e,n){var r=n(276),i=n(350) -r(r.S+r.F*(Number.parseInt!=i),"Number",{parseInt:i})},function(t,e,n){var r=n(276),i=n(372),o=Math.sqrt,a=Math.acosh +return void 0===t?a.call(e):a.call(e,t)}})},function(t,e,n){var r=n(273) +r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){var r=n(273),i=n(269).isFinite +r(r.S,"Number",{isFinite:function o(t){return"number"==typeof t&&i(t)}})},function(t,e,n){var r=n(273) +r(r.S,"Number",{isInteger:n(361)})},function(t,e,n){var r=n(278),i=Math.floor +t.exports=function o(t){return!r(t)&&isFinite(t)&&i(t)===t}},function(t,e,n){var r=n(273) +r(r.S,"Number",{isNaN:function i(t){return t!=t}})},function(t,e,n){var r=n(273),i=n(361),o=Math.abs +r(r.S,"Number",{isSafeInteger:function a(t){return i(t)&&o(t)<=9007199254740991}})},function(t,e,n){var r=n(273) +r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(273) +r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(273),i=n(351) +r(r.S+r.F*(Number.parseFloat!=i),"Number",{parseFloat:i})},function(t,e,n){var r=n(273),i=n(347) +r(r.S+r.F*(Number.parseInt!=i),"Number",{parseInt:i})},function(t,e,n){var r=n(273),i=n(369),o=Math.sqrt,a=Math.acosh r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function s(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:i(t-1+o(t-1)*o(t+1))}})},function(t,e){t.exports=Math.log1p||function n(t){ -return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e,n){function r(t){return isFinite(t=+t)&&0!=t?t<0?-r(-t):Math.log(t+Math.sqrt(t*t+1)):t}var i=n(276),o=Math.asinh -i(i.S+i.F*!(o&&1/o(0)>0),"Math",{asinh:r})},function(t,e,n){var r=n(276),i=Math.atanh -r(r.S+r.F*!(i&&1/i(-0)<0),"Math",{atanh:function o(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,e,n){var r=n(276),i=n(376) -r(r.S,"Math",{cbrt:function o(t){return i(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,e){t.exports=Math.sign||function n(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,n){var r=n(276) -r(r.S,"Math",{clz32:function i(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,e,n){var r=n(276),i=Math.exp -r(r.S,"Math",{cosh:function o(t){return(i(t=+t)+i(-t))/2}})},function(t,e,n){var r=n(276),i=n(380) +return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e,n){function r(t){return isFinite(t=+t)&&0!=t?t<0?-r(-t):Math.log(t+Math.sqrt(t*t+1)):t}var i=n(273),o=Math.asinh +i(i.S+i.F*!(o&&1/o(0)>0),"Math",{asinh:r})},function(t,e,n){var r=n(273),i=Math.atanh +r(r.S+r.F*!(i&&1/i(-0)<0),"Math",{atanh:function o(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,e,n){var r=n(273),i=n(373) +r(r.S,"Math",{cbrt:function o(t){return i(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,e){t.exports=Math.sign||function n(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,n){var r=n(273) +r(r.S,"Math",{clz32:function i(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,e,n){var r=n(273),i=Math.exp +r(r.S,"Math",{cosh:function o(t){return(i(t=+t)+i(-t))/2}})},function(t,e,n){var r=n(273),i=n(377) r(r.S+r.F*(i!=Math.expm1),"Math",{expm1:i})},function(t,e){var n=Math.expm1 -t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||n(-2e-17)!=-2e-17?function r(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e,n){var r=n(276),i=n(376),o=Math.pow,a=o(2,-52),s=o(2,-23),l=o(2,127)*(2-s),u=o(2,-126),c=function(t){ +t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||n(-2e-17)!=-2e-17?function r(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e,n){var r=n(273),i=n(373),o=Math.pow,a=o(2,-52),s=o(2,-23),l=o(2,127)*(2-s),u=o(2,-126),c=function(t){ return t+1/a-1/a} r(r.S,"Math",{fround:function d(t){var e=Math.abs(t),n=i(t),r,o -return el||o!=o?n*(1/0):n*o)}})},function(t,e,n){var r=n(276),i=Math.abs +return el||o!=o?n*(1/0):n*o)}})},function(t,e,n){var r=n(273),i=Math.abs r(r.S,"Math",{hypot:function o(t,e){for(var n=0,r=0,o=arguments.length,a=0,s,l;r0?(l=s/a,n+=l*l):n+=s -return a===1/0?1/0:a*Math.sqrt(n)}})},function(t,e,n){var r=n(276),i=Math.imul -r(r.S+r.F*n(275)(function(){return i(4294967295,5)!=-5||2!=i.length}),"Math",{imul:function o(t,e){var n=65535,r=+t,i=+e,o=n&r,a=n&i -return 0|o*a+((n&r>>>16)*a+o*(n&i>>>16)<<16>>>0)}})},function(t,e,n){var r=n(276) -r(r.S,"Math",{log10:function i(t){return Math.log(t)/Math.LN10}})},function(t,e,n){var r=n(276) -r(r.S,"Math",{log1p:n(372)})},function(t,e,n){var r=n(276) -r(r.S,"Math",{log2:function i(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(276) -r(r.S,"Math",{sign:n(376)})},function(t,e,n){var r=n(276),i=n(380),o=Math.exp -r(r.S+r.F*n(275)(function(){return!Math.sinh(-2e-17)!=-2e-17}),"Math",{sinh:function a(t){return Math.abs(t=+t)<1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},function(t,e,n){var r=n(276),i=n(380),o=Math.exp +return a===1/0?1/0:a*Math.sqrt(n)}})},function(t,e,n){var r=n(273),i=Math.imul +r(r.S+r.F*n(272)(function(){return i(4294967295,5)!=-5||2!=i.length}),"Math",{imul:function o(t,e){var n=65535,r=+t,i=+e,o=n&r,a=n&i +return 0|o*a+((n&r>>>16)*a+o*(n&i>>>16)<<16>>>0)}})},function(t,e,n){var r=n(273) +r(r.S,"Math",{log10:function i(t){return Math.log(t)/Math.LN10}})},function(t,e,n){var r=n(273) +r(r.S,"Math",{log1p:n(369)})},function(t,e,n){var r=n(273) +r(r.S,"Math",{log2:function i(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(273) +r(r.S,"Math",{sign:n(373)})},function(t,e,n){var r=n(273),i=n(377),o=Math.exp +r(r.S+r.F*n(272)(function(){return!Math.sinh(-2e-17)!=-2e-17}),"Math",{sinh:function a(t){return Math.abs(t=+t)<1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},function(t,e,n){var r=n(273),i=n(377),o=Math.exp r(r.S,"Math",{tanh:function a(t){var e=i(t=+t),n=i(-t) -return e==1/0?1:n==1/0?-1:(e-n)/(o(t)+o(-t))}})},function(t,e,n){var r=n(276) -r(r.S,"Math",{trunc:function i(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(276),i=n(307),o=String.fromCharCode,a=String.fromCodePoint +return e==1/0?1:n==1/0?-1:(e-n)/(o(t)+o(-t))}})},function(t,e,n){var r=n(273) +r(r.S,"Math",{trunc:function i(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(273),i=n(304),o=String.fromCharCode,a=String.fromCodePoint r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function s(t){for(var e=[],n=arguments.length,r=0,a;n>r;){if(a=+arguments[r++],i(a,1114111)!==a)throw RangeError(a+" is not a valid code point") -e.push(a<65536?o(a):o(((a-=65536)>>10)+55296,a%1024+56320))}return e.join("")}})},function(t,e,n){var r=n(276),i=n(300),o=n(305) +e.push(a<65536?o(a):o(((a-=65536)>>10)+55296,a%1024+56320))}return e.join("")}})},function(t,e,n){var r=n(273),i=n(297),o=n(302) r(r.S,"String",{raw:function a(t){for(var e=i(t.raw),n=o(e.length),r=arguments.length,a=[],s=0;n>s;)a.push(String(e[s++])),s=t.length?{value:void 0,done:!0}:(n=r(t,e),this._i+=n.length,{value:n,done:!1})})},function(t,e,n){var r=n(306),i=n(303) +n(348)("trim",function(t){return function e(){return t(this,3)}})},function(t,e,n){"use strict" +var r=n(392)(!0) +n(393)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t=this._t,e=this._i,n +return e>=t.length?{value:void 0,done:!0}:(n=r(t,e),this._i+=n.length,{value:n,done:!1})})},function(t,e,n){var r=n(303),i=n(300) t.exports=function(t){return function(e,n){var o=String(i(e)),a=r(n),s=o.length,l,u return a<0||a>=s?t?"":void 0:(l=o.charCodeAt(a),l<55296||l>56319||a+1===s||(u=o.charCodeAt(a+1))<56320||u>57343?t?o.charAt(a):l:t?o.slice(a,a+2):(l-55296<<10)+(u-56320)+65536)}}},function(t,e,n){"use strict" -var r=n(296),i=n(276),o=n(286),a=n(278),s=n(273),l=n(397),u=n(398),c=n(292),d=n(327),f=n(293)("iterator"),p=!([].keys&&"next"in[].keys()),h="@@iterator",m="keys",v="values",g=function(){return this} +var r=n(293),i=n(273),o=n(283),a=n(275),s=n(270),l=n(394),u=n(395),c=n(289),d=n(324),f=n(290)("iterator"),p=!([].keys&&"next"in[].keys()),h="@@iterator",m="keys",v="values",g=function(){return this} t.exports=function(t,e,n,y,b,_,x){u(n,e,y) var w=function(t){if(!p&&t in E)return E[t] switch(t){case m:return function e(){return new n(this,t)} @@ -3770,173 +3760,173 @@ if(O&&(M=d(O.call(new t)),M!==Object.prototype&&(c(M,k,!0),r||s(M,f)||a(M,f,g))) keys:_?S:w(m),entries:P},x)for(N in A)N in E||o(E,N,A[N]) else i(i.P+i.F*(p||T),e,A) return A}},function(t,e){t.exports={}},function(t,e,n){"use strict" -var r=n(314),i=n(285),o=n(292),a={} -n(278)(a,n(293)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},function(t,e,n){"use strict" -var r=n(276),i=n(395)(!1) +var r=n(311),i=n(282),o=n(289),a={} +n(275)(a,n(290)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},function(t,e,n){"use strict" +var r=n(273),i=n(392)(!1) r(r.P,"String",{codePointAt:function o(t){return i(this,t)}})},function(t,e,n){"use strict" -var r=n(276),i=n(305),o=n(401),a="endsWith",s=""[a] -r(r.P+r.F*n(403)(a),"String",{endsWith:function l(t){var e=o(this,t,a),n=arguments.length>1?arguments[1]:void 0,r=i(e.length),l=void 0===n?r:Math.min(i(n),r),u=String(t) -return s?s.call(e,u,l):e.slice(l-u.length,l)===u}})},function(t,e,n){var r=n(402),i=n(303) +var r=n(273),i=n(302),o=n(398),a="endsWith",s=""[a] +r(r.P+r.F*n(400)(a),"String",{endsWith:function l(t){var e=o(this,t,a),n=arguments.length>1?arguments[1]:void 0,r=i(e.length),l=void 0===n?r:Math.min(i(n),r),u=String(t) +return s?s.call(e,u,l):e.slice(l-u.length,l)===u}})},function(t,e,n){var r=n(399),i=n(300) t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!") -return String(i(t))}},function(t,e,n){var r=n(281),i=n(302),o=n(293)("match") +return String(i(t))}},function(t,e,n){var r=n(278),i=n(299),o=n(290)("match") t.exports=function(t){var e -return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},function(t,e,n){var r=n(293)("match") +return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},function(t,e,n){var r=n(290)("match") t.exports=function(t){var e=/./ try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(i){}}return!0}},function(t,e,n){"use strict" -var r=n(276),i=n(401),o="includes" -r(r.P+r.F*n(403)(o),"String",{includes:function a(t){return!!~i(this,t,o).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(276) -r(r.P,"String",{repeat:n(359)})},function(t,e,n){"use strict" -var r=n(276),i=n(305),o=n(401),a="startsWith",s=""[a] -r(r.P+r.F*n(403)(a),"String",{startsWith:function l(t){var e=o(this,t,a),n=i(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t) +var r=n(273),i=n(398),o="includes" +r(r.P+r.F*n(400)(o),"String",{includes:function a(t){return!!~i(this,t,o).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(273) +r(r.P,"String",{repeat:n(356)})},function(t,e,n){"use strict" +var r=n(273),i=n(302),o=n(398),a="startsWith",s=""[a] +r(r.P+r.F*n(400)(a),"String",{startsWith:function l(t){var e=o(this,t,a),n=i(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t) return s?s.call(e,r,n):e.slice(n,n+r.length)===r}})},function(t,e,n){"use strict" -n(408)("anchor",function(t){return function e(n){return t(this,"a","name",n)}})},function(t,e,n){var r=n(276),i=n(275),o=n(303),a=/"/g,s=function(t,e,n,r){var i=String(o(t)),s="<"+e +n(405)("anchor",function(t){return function e(n){return t(this,"a","name",n)}})},function(t,e,n){var r=n(273),i=n(272),o=n(300),a=/"/g,s=function(t,e,n,r){var i=String(o(t)),s="<"+e return""!==n&&(s+=" "+n+'="'+String(r).replace(a,""")+'"'),s+">"+i+""} t.exports=function(t,e){var n={} n[t]=e(s),r(r.P+r.F*i(function(){var e=""[t]('"') return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e,n){"use strict" -n(408)("big",function(t){return function e(){return t(this,"big","","")}})},function(t,e,n){"use strict" -n(408)("blink",function(t){return function e(){return t(this,"blink","","")}})},function(t,e,n){"use strict" -n(408)("bold",function(t){return function e(){return t(this,"b","","")}})},function(t,e,n){"use strict" -n(408)("fixed",function(t){return function e(){return t(this,"tt","","")}})},function(t,e,n){"use strict" -n(408)("fontcolor",function(t){return function e(n){return t(this,"font","color",n)}})},function(t,e,n){"use strict" -n(408)("fontsize",function(t){return function e(n){return t(this,"font","size",n)}})},function(t,e,n){"use strict" -n(408)("italics",function(t){return function e(){return t(this,"i","","")}})},function(t,e,n){"use strict" -n(408)("link",function(t){return function e(n){return t(this,"a","href",n)}})},function(t,e,n){"use strict" -n(408)("small",function(t){return function e(){return t(this,"small","","")}})},function(t,e,n){"use strict" -n(408)("strike",function(t){return function e(){return t(this,"strike","","")}})},function(t,e,n){"use strict" -n(408)("sub",function(t){return function e(){return t(this,"sub","","")}})},function(t,e,n){"use strict" -n(408)("sup",function(t){return function e(){return t(this,"sup","","")}})},function(t,e,n){var r=n(276) +n(405)("big",function(t){return function e(){return t(this,"big","","")}})},function(t,e,n){"use strict" +n(405)("blink",function(t){return function e(){return t(this,"blink","","")}})},function(t,e,n){"use strict" +n(405)("bold",function(t){return function e(){return t(this,"b","","")}})},function(t,e,n){"use strict" +n(405)("fixed",function(t){return function e(){return t(this,"tt","","")}})},function(t,e,n){"use strict" +n(405)("fontcolor",function(t){return function e(n){return t(this,"font","color",n)}})},function(t,e,n){"use strict" +n(405)("fontsize",function(t){return function e(n){return t(this,"font","size",n)}})},function(t,e,n){"use strict" +n(405)("italics",function(t){return function e(){return t(this,"i","","")}})},function(t,e,n){"use strict" +n(405)("link",function(t){return function e(n){return t(this,"a","href",n)}})},function(t,e,n){"use strict" +n(405)("small",function(t){return function e(){return t(this,"small","","")}})},function(t,e,n){"use strict" +n(405)("strike",function(t){return function e(){return t(this,"strike","","")}})},function(t,e,n){"use strict" +n(405)("sub",function(t){return function e(){return t(this,"sub","","")}})},function(t,e,n){"use strict" +n(405)("sup",function(t){return function e(){return t(this,"sup","","")}})},function(t,e,n){var r=n(273) r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){"use strict" -var r=n(276),i=n(326),o=n(284) -r(r.P+r.F*n(275)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function a(t){var e=i(this),n=o(e) +var r=n(273),i=n(323),o=n(281) +r(r.P+r.F*n(272)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function a(t){var e=i(this),n=o(e) return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},function(t,e,n){"use strict" -var r=n(276),i=n(275),o=Date.prototype.getTime,a=function(t){return t>9?t:"0"+t} +var r=n(273),i=n(272),o=Date.prototype.getTime,a=function(t){return t>9?t:"0"+t} r(r.P+r.F*(i(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!i(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function s(){if(!isFinite(o.call(this)))throw RangeError("Invalid time value") var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),r=e<0?"-":e>9999?"+":"" return r+("00000"+Math.abs(e)).slice(r?-6:-4)+"-"+a(t.getUTCMonth()+1)+"-"+a(t.getUTCDate())+"T"+a(t.getUTCHours())+":"+a(t.getUTCMinutes())+":"+a(t.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}})},function(t,e,n){ var r=Date.prototype,i="Invalid Date",o="toString",a=r[o],s=r.getTime -new Date(NaN)+""!=i&&n(286)(r,o,function l(){var t=s.call(this) -return t===t?a.call(this):i})},function(t,e,n){var r=n(293)("toPrimitive"),i=Date.prototype -r in i||n(278)(i,r,n(426))},function(t,e,n){"use strict" -var r=n(280),i=n(284),o="number" +new Date(NaN)+""!=i&&n(283)(r,o,function l(){var t=s.call(this) +return t===t?a.call(this):i})},function(t,e,n){var r=n(290)("toPrimitive"),i=Date.prototype +r in i||n(275)(i,r,n(423))},function(t,e,n){"use strict" +var r=n(277),i=n(281),o="number" t.exports=function(t){if("string"!==t&&t!==o&&"default"!==t)throw TypeError("Incorrect hint") -return i(r(this),t!=o)}},function(t,e,n){var r=n(276) -r(r.S,"Array",{isArray:n(313)})},function(t,e,n){"use strict" -var r=n(288),i=n(276),o=n(326),a=n(429),s=n(430),l=n(305),u=n(431),c=n(432) -i(i.S+i.F*!n(433)(function(t){Array.from(t)}),"Array",{from:function d(t){var e=o(t),n="function"==typeof this?this:Array,i=arguments.length,d=i>1?arguments[1]:void 0,f=void 0!==d,p=0,h=c(e),m,v,g,y +return i(r(this),t!=o)}},function(t,e,n){var r=n(273) +r(r.S,"Array",{isArray:n(310)})},function(t,e,n){"use strict" +var r=n(285),i=n(273),o=n(323),a=n(426),s=n(427),l=n(302),u=n(428),c=n(429) +i(i.S+i.F*!n(430)(function(t){Array.from(t)}),"Array",{from:function d(t){var e=o(t),n="function"==typeof this?this:Array,i=arguments.length,d=i>1?arguments[1]:void 0,f=void 0!==d,p=0,h=c(e),m,v,g,y if(f&&(d=r(d,i>2?arguments[2]:void 0,2)),void 0==h||n==Array&&s(h))for(m=l(e.length),v=new n(m);m>p;p++)u(v,p,f?d(e[p],p):e[p]) else for(y=h.call(e),v=new n;!(g=y.next()).done;p++)u(v,p,f?a(y,d,[g.value,p],!0):g.value) -return v.length=p,v}})},function(t,e,n){var r=n(280) +return v.length=p,v}})},function(t,e,n){var r=n(277) t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(o){var a=t["return"] -throw void 0!==a&&r(a.call(t)),o}}},function(t,e,n){var r=n(397),i=n(293)("iterator"),o=Array.prototype +throw void 0!==a&&r(a.call(t)),o}}},function(t,e,n){var r=n(394),i=n(290)("iterator"),o=Array.prototype t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},function(t,e,n){"use strict" -var r=n(279),i=n(285) -t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},function(t,e,n){var r=n(343),i=n(293)("iterator"),o=n(397) -t.exports=n(277).getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,e,n){var r=n(293)("iterator"),i=!1 +var r=n(276),i=n(282) +t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},function(t,e,n){var r=n(340),i=n(290)("iterator"),o=n(394) +t.exports=n(274).getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,e,n){var r=n(290)("iterator"),i=!1 try{var o=[7][r]() o["return"]=function(){i=!0},Array.from(o,function(){throw 2})}catch(a){}t.exports=function(t,e){if(!e&&!i)return!1 var n=!1 try{var o=[7],a=o[r]() a.next=function(){return{done:n=!0}},o[r]=function(){return a},t(o)}catch(s){}return n}},function(t,e,n){"use strict" -var r=n(276),i=n(431) -r(r.S+r.F*n(275)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function o(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)i(n,t,arguments[t++]) +var r=n(273),i=n(428) +r(r.S+r.F*n(272)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function o(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)i(n,t,arguments[t++]) return n.length=e,n}})},function(t,e,n){"use strict" -var r=n(276),i=n(300),o=[].join -r(r.P+r.F*(n(301)!=Object||!n(436)(o)),"Array",{join:function a(t){return o.call(i(this),void 0===t?",":t)}})},function(t,e,n){var r=n(275) +var r=n(273),i=n(297),o=[].join +r(r.P+r.F*(n(298)!=Object||!n(433)(o)),"Array",{join:function a(t){return o.call(i(this),void 0===t?",":t)}})},function(t,e,n){var r=n(272) t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){"use strict" -var r=n(276),i=n(316),o=n(302),a=n(307),s=n(305),l=[].slice -r(r.P+r.F*n(275)(function(){i&&l.call(i)}),"Array",{slice:function u(t,e){var n=s(this.length),r=o(this) +var r=n(273),i=n(313),o=n(299),a=n(304),s=n(302),l=[].slice +r(r.P+r.F*n(272)(function(){i&&l.call(i)}),"Array",{slice:function u(t,e){var n=s(this.length),r=o(this) if(e=void 0===e?n:e,"Array"==r)return l.call(this,t,e) for(var i=a(t,n),u=a(e,n),c=s(u-i),d=Array(c),f=0;fb;b++)if((f||b in v)&&(x=v[b],w=g(x,b,m),t))if(n)_[b]=w else if(w)switch(t){case 3:return!0 case 5:return x case 6:return b case 2:_.push(x)}else if(c)return!1 -return d?-1:u||c?c:_}}},function(t,e,n){var r=n(442) -t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(281),i=n(313),o=n(293)("species") +return d?-1:u||c?c:_}}},function(t,e,n){var r=n(439) +t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(278),i=n(310),o=n(290)("species") t.exports=function(t){var e return i(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!i(e.prototype)||(e=void 0),r(e)&&(e=e[o],null===e&&(e=void 0))),void 0===e?Array:e}},function(t,e,n){"use strict" -var r=n(276),i=n(440)(1) -r(r.P+r.F*!n(436)([].map,!0),"Array",{map:function o(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict" -var r=n(276),i=n(440)(2) -r(r.P+r.F*!n(436)([].filter,!0),"Array",{filter:function o(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict" -var r=n(276),i=n(440)(3) -r(r.P+r.F*!n(436)([].some,!0),"Array",{some:function o(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict" -var r=n(276),i=n(440)(4) -r(r.P+r.F*!n(436)([].every,!0),"Array",{every:function o(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict" -var r=n(276),i=n(448) -r(r.P+r.F*!n(436)([].reduce,!0),"Array",{reduce:function o(t){return i(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){var r=n(289),i=n(326),o=n(301),a=n(305) +var r=n(273),i=n(437)(1) +r(r.P+r.F*!n(433)([].map,!0),"Array",{map:function o(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict" +var r=n(273),i=n(437)(2) +r(r.P+r.F*!n(433)([].filter,!0),"Array",{filter:function o(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict" +var r=n(273),i=n(437)(3) +r(r.P+r.F*!n(433)([].some,!0),"Array",{some:function o(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict" +var r=n(273),i=n(437)(4) +r(r.P+r.F*!n(433)([].every,!0),"Array",{every:function o(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict" +var r=n(273),i=n(445) +r(r.P+r.F*!n(433)([].reduce,!0),"Array",{reduce:function o(t){return i(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){var r=n(286),i=n(323),o=n(298),a=n(302) t.exports=function(t,e,n,s,l){r(e) var u=i(t),c=o(u),d=a(u.length),f=l?d-1:0,p=l?-1:1 if(n<2)for(;;){if(f in c){s=c[f],f+=p break}if(f+=p,l?f<0:d<=f)throw TypeError("Reduce of empty array with no initial value")}for(;l?f>=0:d>f;f+=p)f in c&&(s=e(s,c[f],f,u)) return s}},function(t,e,n){"use strict" -var r=n(276),i=n(448) -r(r.P+r.F*!n(436)([].reduceRight,!0),"Array",{reduceRight:function o(t){return i(this,t,arguments.length,arguments[1],!0)}})},function(t,e,n){"use strict" -var r=n(276),i=n(304)(!1),o=[].indexOf,a=!!o&&1/[1].indexOf(1,-0)<0 -r(r.P+r.F*(a||!n(436)(o)),"Array",{indexOf:function s(t){return a?o.apply(this,arguments)||0:i(this,t,arguments[1])}})},function(t,e,n){"use strict" -var r=n(276),i=n(300),o=n(306),a=n(305),s=[].lastIndexOf,l=!!s&&1/[1].lastIndexOf(1,-0)<0 -r(r.P+r.F*(l||!n(436)(s)),"Array",{lastIndexOf:function u(t){if(l)return s.apply(this,arguments)||0 +var r=n(273),i=n(445) +r(r.P+r.F*!n(433)([].reduceRight,!0),"Array",{reduceRight:function o(t){return i(this,t,arguments.length,arguments[1],!0)}})},function(t,e,n){"use strict" +var r=n(273),i=n(301)(!1),o=[].indexOf,a=!!o&&1/[1].indexOf(1,-0)<0 +r(r.P+r.F*(a||!n(433)(o)),"Array",{indexOf:function s(t){return a?o.apply(this,arguments)||0:i(this,t,arguments[1])}})},function(t,e,n){"use strict" +var r=n(273),i=n(297),o=n(303),a=n(302),s=[].lastIndexOf,l=!!s&&1/[1].lastIndexOf(1,-0)<0 +r(r.P+r.F*(l||!n(433)(s)),"Array",{lastIndexOf:function u(t){if(l)return s.apply(this,arguments)||0 var e=i(this),n=a(e.length),r=n-1 for(arguments.length>1&&(r=Math.min(r,o(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in e&&e[r]===t)return r||0 -return-1}})},function(t,e,n){var r=n(276) -r(r.P,"Array",{copyWithin:n(453)}),n(454)("copyWithin")},function(t,e,n){"use strict" -var r=n(326),i=n(307),o=n(305) +return-1}})},function(t,e,n){var r=n(273) +r(r.P,"Array",{copyWithin:n(450)}),n(451)("copyWithin")},function(t,e,n){"use strict" +var r=n(323),i=n(304),o=n(302) t.exports=[].copyWithin||function a(t,e){var n=r(this),a=o(n.length),s=i(t,a),l=i(e,a),u=arguments.length>2?arguments[2]:void 0,c=Math.min((void 0===u?a:i(u,a))-l,a-s),d=1 for(l0;)l in n?n[s]=n[l]:delete n[s],s+=d,l+=d -return n}},function(t,e,n){var r=n(293)("unscopables"),i=Array.prototype -void 0==i[r]&&n(278)(i,r,{}),t.exports=function(t){i[r][t]=!0}},function(t,e,n){var r=n(276) -r(r.P,"Array",{fill:n(456)}),n(454)("fill")},function(t,e,n){"use strict" -var r=n(326),i=n(307),o=n(305) +return n}},function(t,e,n){var r=n(290)("unscopables"),i=Array.prototype +void 0==i[r]&&n(275)(i,r,{}),t.exports=function(t){i[r][t]=!0}},function(t,e,n){var r=n(273) +r(r.P,"Array",{fill:n(453)}),n(451)("fill")},function(t,e,n){"use strict" +var r=n(323),i=n(304),o=n(302) t.exports=function a(t){for(var e=r(this),n=o(e.length),a=arguments.length,s=i(a>1?arguments[1]:void 0,n),l=a>2?arguments[2]:void 0,u=void 0===l?n:i(l,n);u>s;)e[s++]=t return e}},function(t,e,n){"use strict" -var r=n(276),i=n(440)(5),o="find",a=!0 -o in[]&&Array(1)[o](function(){a=!1}),r(r.P+r.F*a,"Array",{find:function s(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(454)(o)},function(t,e,n){"use strict" -var r=n(276),i=n(440)(6),o="findIndex",a=!0 -o in[]&&Array(1)[o](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function s(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(454)(o)},function(t,e,n){n(460)("Array")},function(t,e,n){ +var r=n(273),i=n(437)(5),o="find",a=!0 +o in[]&&Array(1)[o](function(){a=!1}),r(r.P+r.F*a,"Array",{find:function s(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(451)(o)},function(t,e,n){"use strict" +var r=n(273),i=n(437)(6),o="findIndex",a=!0 +o in[]&&Array(1)[o](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function s(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(451)(o)},function(t,e,n){n(457)("Array")},function(t,e,n){ "use strict" -var r=n(272),i=n(279),o=n(274),a=n(293)("species") +var r=n(269),i=n(276),o=n(271),a=n(290)("species") t.exports=function(t){var e=r[t] o&&e&&!e[a]&&i.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e,n){"use strict" -var r=n(454),i=n(462),o=n(397),a=n(300) -t.exports=n(396)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++ +var r=n(451),i=n(459),o=n(394),a=n(297) +t.exports=n(393)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++ return!t||n>=t.length?(this._t=void 0,i(1)):"keys"==e?i(0,n):"values"==e?i(0,t[n]):i(0,[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(t,e){ -return{value:e,done:!!t}}},function(t,e,n){var r=n(272),i=n(356),o=n(279).f,a=n(318).f,s=n(402),l=n(464),u=r.RegExp,c=u,d=u.prototype,f=/a/g,p=/a/g,h=new u(f)!==f -if(n(274)&&(!h||n(275)(function(){return p[n(293)("match")]=!1,u(f)!=f||u(p)==p||"/a/i"!=u(f,"i")}))){u=function y(t,e){var n=this instanceof u,r=s(t),o=void 0===e +return{value:e,done:!!t}}},function(t,e,n){var r=n(269),i=n(353),o=n(276).f,a=n(315).f,s=n(399),l=n(461),u=r.RegExp,c=u,d=u.prototype,f=/a/g,p=/a/g,h=new u(f)!==f +if(n(271)&&(!h||n(272)(function(){return p[n(290)("match")]=!1,u(f)!=f||u(p)==p||"/a/i"!=u(f,"i")}))){u=function y(t,e){var n=this instanceof u,r=s(t),o=void 0===e return!n&&r&&t.constructor===u&&o?t:i(h?new c(r&&!o?t.source:t,e):c((r=t instanceof u)?t.source:t,r&&o?l.call(t):e),n?this:d,u)} for(var m=(function(t){t in u||o(u,t,{configurable:!0,get:function(){return c[t]},set:function(e){c[t]=e}})}),v=a(c),g=0;v.length>g;)m(v[g++]) -d.constructor=u,u.prototype=d,n(286)(r,"RegExp",u)}n(460)("RegExp")},function(t,e,n){"use strict" -var r=n(280) +d.constructor=u,u.prototype=d,n(283)(r,"RegExp",u)}n(457)("RegExp")},function(t,e,n){"use strict" +var r=n(277) t.exports=function(){var t=r(this),e="" return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){"use strict" -n(466) -var r=n(280),i=n(464),o=n(274),a="toString",s=/./[a],l=function(t){n(286)(RegExp.prototype,a,t,!0)} -n(275)(function(){return"/a/b"!=s.call({source:"a",flags:"b"})})?l(function u(){var t=r(this) -return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)}):s.name!=a&&l(function c(){return s.call(this)})},function(t,e,n){n(274)&&"g"!=/./g.flags&&n(279).f(RegExp.prototype,"flags",{ -configurable:!0,get:n(464)})},function(t,e,n){n(468)("match",1,function(t,e,n){return[function r(n){"use strict" +n(463) +var r=n(277),i=n(461),o=n(271),a="toString",s=/./[a],l=function(t){n(283)(RegExp.prototype,a,t,!0)} +n(272)(function(){return"/a/b"!=s.call({source:"a",flags:"b"})})?l(function u(){var t=r(this) +return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)}):s.name!=a&&l(function c(){return s.call(this)})},function(t,e,n){n(271)&&"g"!=/./g.flags&&n(276).f(RegExp.prototype,"flags",{ +configurable:!0,get:n(461)})},function(t,e,n){n(465)("match",1,function(t,e,n){return[function r(n){"use strict" var r=t(this),i=void 0==n?void 0:n[e] return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){"use strict" -var r=n(278),i=n(286),o=n(275),a=n(303),s=n(293) +var r=n(275),i=n(283),o=n(272),a=n(300),s=n(290) t.exports=function(t,e,n){var l=s(t),u=n(a,l,""[t]),c=u[0],d=u[1] o(function(){var e={} -return e[l]=function(){return 7},7!=""[t](e)})&&(i(String.prototype,t,c),r(RegExp.prototype,l,2==e?function(t,e){return d.call(t,this,e)}:function(t){return d.call(t,this)}))}},function(t,e,n){n(468)("replace",2,function(t,e,n){ +return e[l]=function(){return 7},7!=""[t](e)})&&(i(String.prototype,t,c),r(RegExp.prototype,l,2==e?function(t,e){return d.call(t,this,e)}:function(t){return d.call(t,this)}))}},function(t,e,n){n(465)("replace",2,function(t,e,n){ return[function r(i,o){"use strict" var a=t(this),s=void 0==i?void 0:i[e] -return void 0!==s?s.call(i,a,o):n.call(String(a),i,o)},n]})},function(t,e,n){n(468)("search",1,function(t,e,n){return[function r(n){"use strict" +return void 0!==s?s.call(i,a,o):n.call(String(a),i,o)},n]})},function(t,e,n){n(465)("search",1,function(t,e,n){return[function r(n){"use strict" var r=t(this),i=void 0==n?void 0:n[e] -return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){n(468)("split",2,function(t,e,r){"use strict" -var i=n(402),o=r,a=[].push,s="split",l="length",u="lastIndex" +return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){n(465)("split",2,function(t,e,r){"use strict" +var i=n(399),o=r,a=[].push,s="split",l="length",u="lastIndex" if("c"=="abbc"[s](/(b)*/)[1]||4!="test"[s](/(?:)/,-1)[l]||2!="ab"[s](/(?:ab)*/)[l]||4!="."[s](/(.?)(.?)/)[l]||"."[s](/()()/)[l]>1||""[s](/.?/)[l]){var c=void 0===/()??/.exec("")[1] r=function(t,e){var n=String(this) if(void 0===t&&0===e)return[] @@ -3948,8 +3938,8 @@ for(c||(h=new RegExp("^"+p.source+"$(?!\\s)",s));(m=p.exec(n))&&(v=m.index+m[0][ return d===n[l]?!g&&p.test("")||r.push(""):r.push(n.slice(d)),r[l]>f?r.slice(0,f):r}}else"0"[s](void 0,0)[l]&&(r=function(t,e){return void 0===t&&0===e?[]:o.call(this,t,e)}) return[function d(n,i){var o=t(this),a=void 0==n?void 0:n[e] return void 0!==a?a.call(n,o,i):r.call(String(o),n,i)},r]})},function(t,e,n){"use strict" -var r=n(296),i=n(272),o=n(288),a=n(343),s=n(276),l=n(281),u=n(289),c=n(473),d=n(474),f=n(475),p=n(476).set,h=n(477)(),m="Promise",v=i.TypeError,g=i.process,y=i[m],g=i.process,b="process"==a(g),_=function(){},x,w,k,j=!!function(){ -try{var t=y.resolve(1),e=(t.constructor={})[n(293)("species")]=function(t){t(_,_)} +var r=n(293),i=n(269),o=n(285),a=n(340),s=n(273),l=n(278),u=n(286),c=n(470),d=n(471),f=n(472),p=n(473).set,h=n(474)(),m="Promise",v=i.TypeError,g=i.process,y=i[m],g=i.process,b="process"==a(g),_=function(){},x,w,k,j=!!function(){ +try{var t=y.resolve(1),e=(t.constructor={})[n(290)("species")]=function(t){t(_,_)} return(b||"function"==typeof PromiseRejectionEvent)&&t.then(_)instanceof e}catch(r){}}(),T=function(t,e){return t===e||t===y&&e===k},E=function(t){var e return!(!l(t)||"function"!=typeof(e=t.then))&&e},C=function(t){return T(y,t)?new S(t):new w(t)},S=w=function(t){var e,n this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw v("Bad Promise constructor") @@ -3968,32 +3958,32 @@ if(!e._d){e._d=!0,e=e._w||e try{if(e===t)throw v("Promise can't be resolved itself");(n=E(t))?h(function(){var r={_w:e,_d:!1} try{n.call(t,o(D,r,1),o(I,r,1))}catch(i){I.call(r,i)}}):(e._v=t,e._s=1,O(e,!1))}catch(r){I.call({_w:e,_d:!1},r)}}} j||(y=function R(t){c(this,y,m,"_h"),u(t),x.call(this) -try{t(o(D,this,1),o(I,this,1))}catch(e){I.call(this,e)}},x=function F(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},x.prototype=n(478)(y.prototype,{then:function L(t,e){ +try{t(o(D,this,1),o(I,this,1))}catch(e){I.call(this,e)}},x=function F(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},x.prototype=n(475)(y.prototype,{then:function L(t,e){ var n=C(f(this,y)) return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=b?g.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&O(this,!1),n.promise},"catch":function(t){return this.then(void 0,t) }}),S=function(){var t=new x -this.promise=t,this.resolve=o(D,t,1),this.reject=o(I,t,1)}),s(s.G+s.W+s.F*!j,{Promise:y}),n(292)(y,m),n(460)(m),k=n(277)[m],s(s.S+s.F*!j,m,{reject:function Q(t){var e=C(this),n=e.reject +this.promise=t,this.resolve=o(D,t,1),this.reject=o(I,t,1)}),s(s.G+s.W+s.F*!j,{Promise:y}),n(289)(y,m),n(457)(m),k=n(274)[m],s(s.S+s.F*!j,m,{reject:function Q(t){var e=C(this),n=e.reject return n(t),e.promise}}),s(s.S+s.F*(r||!j),m,{resolve:function H(t){if(t instanceof y&&T(t.constructor,this))return t var e=C(this),n=e.resolve -return n(t),e.promise}}),s(s.S+s.F*!(j&&n(433)(function(t){y.all(t)["catch"](_)})),m,{all:function q(t){var e=this,n=C(e),r=n.resolve,i=n.reject,o=P(function(){var n=[],o=0,a=1 +return n(t),e.promise}}),s(s.S+s.F*!(j&&n(430)(function(t){y.all(t)["catch"](_)})),m,{all:function q(t){var e=this,n=C(e),r=n.resolve,i=n.reject,o=P(function(){var n=[],o=0,a=1 d(t,!1,function(t){var s=o++,l=!1 n.push(void 0),a++,e.resolve(t).then(function(t){l||(l=!0,n[s]=t,--a||r(n))},i)}),--a||r(n)}) return o&&i(o.error),n.promise},race:function B(t){var e=this,n=C(e),r=n.reject,i=P(function(){d(t,!1,function(t){e.resolve(t).then(n.resolve,r)})}) return i&&r(i.error),n.promise}})},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!") -return t}},function(t,e,n){var r=n(288),i=n(429),o=n(430),a=n(280),s=n(305),l=n(432),u={},c={},e=t.exports=function(t,e,n,d,f){var p=f?function(){return t}:l(t),h=r(n,d,e?2:1),m=0,v,g,y,b +return t}},function(t,e,n){var r=n(285),i=n(426),o=n(427),a=n(277),s=n(302),l=n(429),u={},c={},e=t.exports=function(t,e,n,d,f){var p=f?function(){return t}:l(t),h=r(n,d,e?2:1),m=0,v,g,y,b if("function"!=typeof p)throw TypeError(t+" is not iterable!") if(o(p)){for(v=s(t.length);v>m;m++)if(b=e?h(a(g=t[m])[0],g[1]):h(t[m]),b===u||b===c)return b}else for(y=p.call(t);!(g=y.next()).done;)if(b=i(y,h,g.value,e),b===u||b===c)return b} -e.BREAK=u,e.RETURN=c},function(t,e,n){var r=n(280),i=n(289),o=n(293)("species") +e.BREAK=u,e.RETURN=c},function(t,e,n){var r=n(277),i=n(286),o=n(290)("species") t.exports=function(t,e){var n=r(t).constructor,a -return void 0===n||void 0==(a=r(n)[o])?e:i(a)}},function(t,e,n){var r=n(288),i=n(346),o=n(316),a=n(283),s=n(272),l=s.process,u=s.setImmediate,c=s.clearImmediate,d=s.MessageChannel,f=0,p={},h="onreadystatechange",m,v,g,y=function(){ +return void 0===n||void 0==(a=r(n)[o])?e:i(a)}},function(t,e,n){var r=n(285),i=n(343),o=n(313),a=n(280),s=n(269),l=s.process,u=s.setImmediate,c=s.clearImmediate,d=s.MessageChannel,f=0,p={},h="onreadystatechange",m,v,g,y=function(){ var t=+this if(p.hasOwnProperty(t)){var e=p[t] delete p[t],e()}},b=function(t){y.call(t.data)} u&&c||(u=function _(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]) -return p[++f]=function(){i("function"==typeof t?t:Function(t),e)},m(f),f},c=function x(t){delete p[t]},"process"==n(302)(l)?m=function(t){l.nextTick(r(y,t,1))}:d?(v=new d,g=v.port2,v.port1.onmessage=b, +return p[++f]=function(){i("function"==typeof t?t:Function(t),e)},m(f),f},c=function x(t){delete p[t]},"process"==n(299)(l)?m=function(t){l.nextTick(r(y,t,1))}:d?(v=new d,g=v.port2,v.port1.onmessage=b, m=r(g.postMessage,g,1)):s.addEventListener&&"function"==typeof postMessage&&!s.importScripts?(m=function(t){s.postMessage(t+"","*")},s.addEventListener("message",b,!1)):m=h in a("script")?function(t){o.appendChild(a("script"))[h]=function(){ -o.removeChild(this),y.call(t)}}:function(t){setTimeout(r(y,t,1),0)}),t.exports={set:u,clear:c}},function(t,e,n){var r=n(272),i=n(476).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,l="process"==n(302)(a) +o.removeChild(this),y.call(t)}}:function(t){setTimeout(r(y,t,1),0)}),t.exports={set:u,clear:c}},function(t,e,n){var r=n(269),i=n(473).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,l="process"==n(299)(a) t.exports=function(){var t,e,n,u=function(){var r,i @@ -4004,13 +3994,13 @@ else if(o){var c=!0,d=document.createTextNode("") new o(u).observe(d,{characterData:!0}),n=function(){d.data=c=!c}}else if(s&&s.resolve){var f=s.resolve() n=function(){f.then(u)}}else n=function(){i.call(r,u)} return function(r){var i={fn:r,next:void 0} -e&&(e.next=i),t||(t=i,n()),e=i}}},function(t,e,n){var r=n(286) +e&&(e.next=i),t||(t=i,n()),e=i}}},function(t,e,n){var r=n(283) t.exports=function(t,e,n){for(var i in e)r(t,i,e[i],n) return t}},function(t,e,n){"use strict" -var r=n(480) -t.exports=n(481)("Map",function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function i(t){var e=r.getEntry(this,t) +var r=n(477) +t.exports=n(478)("Map",function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function i(t){var e=r.getEntry(this,t) return e&&e.v},set:function o(t,e){return r.def(this,0===t?0:t,e)}},r,!0)},function(t,e,n){"use strict" -var r=n(279).f,i=n(314),o=n(478),a=n(288),s=n(473),l=n(303),u=n(474),c=n(396),d=n(462),f=n(460),p=n(274),h=n(290).fastKey,m=p?"_s":"size",v=function(t,e){var n=h(e),r +var r=n(276).f,i=n(311),o=n(475),a=n(285),s=n(470),l=n(300),u=n(471),c=n(393),d=n(459),f=n(457),p=n(271),h=n(287).fastKey,m=p?"_s":"size",v=function(t,e){var n=h(e),r if("F"!==n)return t._i[n] for(r=t._f;r;r=r.n)if(r.k==e)return r} t.exports={getConstructor:function(t,e,n,c){var d=t(function(t,r){s(t,d,e,"_i"),t._i=i(null),t._f=void 0,t._l=void 0,t[m]=0,void 0!=r&&u(r,n,t[c],t)}) @@ -4024,7 +4014,7 @@ for(var e=a(t,arguments.length>1?arguments[1]:void 0,3),n;n=n?n.n:this._f;)for(e return r?r.v=n:(t._l=r={i:o=h(e,!0),k:e,v:n,p:i=t._l,n:void 0,r:!1},t._f||(t._f=r),i&&(i.n=r),t[m]++,"F"!==o&&(t._i[o]=r)),t},getEntry:v,setStrong:function(t,e,n){c(t,e,function(t,e){this._t=t,this._k=e, this._l=void 0},function(){for(var t=this,e=t._k,n=t._l;n&&n.r;)n=n.p return t._t&&(t._l=n=n?n.n:t._t._f)?"keys"==e?d(0,n.k):"values"==e?d(0,n.v):d(0,[n.k,n.v]):(t._t=void 0,d(1))},n?"entries":"values",!n,!0),f(e)}}},function(t,e,n){"use strict" -var r=n(272),i=n(276),o=n(286),a=n(478),s=n(290),l=n(474),u=n(473),c=n(281),d=n(275),f=n(433),p=n(292),h=n(356) +var r=n(269),i=n(273),o=n(283),a=n(475),s=n(287),l=n(471),u=n(470),c=n(278),d=n(272),f=n(430),p=n(289),h=n(353) t.exports=function(t,e,n,m,v,g){var y=r[t],b=y,_=v?"set":"add",x=b&&b.prototype,w={},k=function(t){var e=x[t] o(x,t,"delete"==t?function(t){return!(g&&!c(t))&&e.call(this,0===t?0:t)}:"has"==t?function n(t){return!(g&&!c(t))&&e.call(this,0===t?0:t)}:"get"==t?function r(t){return g&&!c(t)?void 0:e.call(this,0===t?0:t) @@ -4039,17 +4029,17 @@ return void 0!=n&&l(n,v,r[_],r),r}),b.prototype=x,x.constructor=b),(E||S)&&(k("d return p(b,t),w[t]=b,i(i.G+i.W+i.F*(b!=y),w),g||m.setStrong(b,t,v),b}},function(t,e,n){"use strict" -var r=n(480) -t.exports=n(481)("Set",function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function i(t){return r.def(this,t=0===t?0:t,t)}},r)},function(t,e,n){"use strict" -var r=n(440)(0),i=n(286),o=n(290),a=n(337),s=n(484),l=n(281),u=o.getWeak,c=Object.isExtensible,d=s.ufstore,f={},p,h=function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0) +var r=n(477) +t.exports=n(478)("Set",function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function i(t){return r.def(this,t=0===t?0:t,t)}},r)},function(t,e,n){"use strict" +var r=n(437)(0),i=n(283),o=n(287),a=n(334),s=n(481),l=n(278),u=o.getWeak,c=Object.isExtensible,d=s.ufstore,f={},p,h=function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0) }},m={get:function g(t){if(l(t)){var e=u(t) -return e===!0?d(this).get(t):e?e[this._i]:void 0}},set:function y(t,e){return s.def(this,t,e)}},v=t.exports=n(481)("WeakMap",h,m,s,!0,!0) +return e===!0?d(this).get(t):e?e[this._i]:void 0}},set:function y(t,e){return s.def(this,t,e)}},v=t.exports=n(478)("WeakMap",h,m,s,!0,!0) 7!=(new v).set((Object.freeze||Object)(f),7).get(f)&&(p=s.getConstructor(h),a(p.prototype,m),o.NEED=!0,r(["delete","has","get","set"],function(t){var e=v.prototype,n=e[t] i(e,t,function(e,r){if(l(e)&&!c(e)){this._f||(this._f=new p) var i=this._f[t](e,r) return"set"==t?this:i}return n.call(this,e,r)})}))},function(t,e,n){"use strict" -var r=n(478),i=n(290).getWeak,o=n(280),a=n(281),s=n(473),l=n(474),u=n(440),c=n(273),d=u(5),f=u(6),p=0,h=function(t){return t._l||(t._l=new m)},m=function(){this.a=[]},v=function(t,e){return d(t.a,function(t){ +var r=n(475),i=n(287).getWeak,o=n(277),a=n(278),s=n(470),l=n(471),u=n(437),c=n(270),d=u(5),f=u(6),p=0,h=function(t){return t._l||(t._l=new m)},m=function(){this.a=[]},v=function(t,e){return d(t.a,function(t){ return t[0]===e})} m.prototype={get:function(t){var e=v(this,t) if(e)return e[1]},has:function(t){return!!v(this,t)},set:function(t,e){var n=v(this,t) @@ -4061,16 +4051,16 @@ return e===!0?h(this)["delete"](t):e&&c(e,this._i)&&delete e[this._i]},has:funct var e=i(t) return e===!0?h(this).has(t):e&&c(e,this._i)}}),u},def:function(t,e,n){var r=i(o(e),!0) return r===!0?h(t).set(e,n):r[t._i]=n,t},ufstore:h}},function(t,e,n){"use strict" -var r=n(484) -n(481)("WeakSet",function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function i(t){return r.def(this,t,!0)}},r,!1,!0)},function(t,e,n){"use strict" -var r=n(276),i=n(487),o=n(488),a=n(280),s=n(307),l=n(305),u=n(281),c=n(272).ArrayBuffer,d=n(475),f=o.ArrayBuffer,p=o.DataView,h=i.ABV&&c.isView,m=f.prototype.slice,v=i.VIEW,g="ArrayBuffer" -r(r.G+r.W+r.F*(c!==f),{ArrayBuffer:f}),r(r.S+r.F*!i.CONSTR,g,{isView:function y(t){return h&&h(t)||u(t)&&v in t}}),r(r.P+r.U+r.F*n(275)(function(){return!new f(2).slice(1,void 0).byteLength}),g,{slice:function b(t,e){ +var r=n(481) +n(478)("WeakSet",function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function i(t){return r.def(this,t,!0)}},r,!1,!0)},function(t,e,n){"use strict" +var r=n(273),i=n(484),o=n(485),a=n(277),s=n(304),l=n(302),u=n(278),c=n(269).ArrayBuffer,d=n(472),f=o.ArrayBuffer,p=o.DataView,h=i.ABV&&c.isView,m=f.prototype.slice,v=i.VIEW,g="ArrayBuffer" +r(r.G+r.W+r.F*(c!==f),{ArrayBuffer:f}),r(r.S+r.F*!i.CONSTR,g,{isView:function y(t){return h&&h(t)||u(t)&&v in t}}),r(r.P+r.U+r.F*n(272)(function(){return!new f(2).slice(1,void 0).byteLength}),g,{slice:function b(t,e){ if(void 0!==m&&void 0===e)return m.call(a(this),t) for(var n=a(this).byteLength,r=s(t,n),i=s(void 0===e?n:e,n),o=new(d(this,f))(l(i-r)),u=new p(this),c=new p(o),h=0;r>1,s=23===e?P(2,-24)-P(2,-77):0,l=0,u=t<0||0===t&&1/t<0?1:0,c,d,f for(t=S(t),t!=t||t===E?(d=t!=t?1:0,c=o):(c=O(A(t)/N),t*(f=P(2,-c))<1&&(c--,f*=2),t+=c+a>=1?s/f:s*P(2,1-a),t*f>=2&&(c++,f/=2),c+a>=o?(d=0,c=o):c+a>=1?(d=(t*f-1)*P(2,e),c+=a):(d=t*P(2,a-1)*P(2,e),c=0));e>=8;r[l++]=255&d, d/=256,e-=8);for(c=c<0;r[l++]=255&c,c/=256,i-=8);return r[--l]|=128*u,r},H=function(t,e,n){var r=8*n-e-1,i=(1<>1,a=r-7,s=n-1,l=t[s--],u=127&l,c @@ -4106,9 +4096,9 @@ return e[1]<<8|e[0]},getInt32:function ft(t){return q(K(this,4,t,arguments[1]))} },setUint16:function bt(t,e){Y(this,2,t,U,e,arguments[2])},setInt32:function _t(t,e){Y(this,4,t,z,e,arguments[2])},setUint32:function xt(t,e){Y(this,4,t,z,e,arguments[2])},setFloat32:function wt(t,e){Y(this,4,t,V,e,arguments[2]) },setFloat64:function kt(t,e){Y(this,8,t,W,e,arguments[2])}}) -v(w,g),v(k,y),s(k[b],a.VIEW,!0),e[g]=w,e[y]=k},function(t,e,n){var r=n(276) -r(r.G+r.W+r.F*!n(487).ABV,{DataView:n(488).DataView})},function(t,e,n){n(491)("Int8",1,function(t){return function e(n,r,i){return t(this,n,r,i)}})},function(t,e,n){"use strict" -if(n(274)){var r=n(296),i=n(272),o=n(275),a=n(276),s=n(487),l=n(488),u=n(288),c=n(473),d=n(285),f=n(278),p=n(478),h=n(306),m=n(305),v=n(307),g=n(284),y=n(273),b=n(339),_=n(343),x=n(281),w=n(326),k=n(430),j=n(314),T=n(327),E=n(318).f,C=n(432),S=n(287),P=n(293),O=n(440),A=n(304),N=n(475),M=n(461),I=n(397),D=n(433),R=n(460),F=n(456),L=n(453),Q=n(279),H=n(319),q=Q.f,B=H.f,U=i.RangeError,z=i.TypeError,W=i.Uint8Array,V="ArrayBuffer",$="Shared"+V,K="BYTES_PER_ELEMENT",Y="prototype",X=Array[Y],G=l.ArrayBuffer,Z=l.DataView,J=O(0),tt=O(2),et=O(3),nt=O(4),rt=O(5),it=O(6),ot=A(!0),at=A(!1),st=M.values,lt=M.keys,ut=M.entries,ct=X.lastIndexOf,dt=X.reduce,ft=X.reduceRight,pt=X.join,ht=X.sort,mt=X.slice,vt=X.toString,gt=X.toLocaleString,yt=P("iterator"),bt=P("toStringTag"),_t=S("typed_constructor"),xt=S("def_constructor"),wt=s.CONSTR,kt=s.TYPED,jt=s.VIEW,Tt="Wrong length!",Et=O(1,function(t,e){ +v(w,g),v(k,y),s(k[b],a.VIEW,!0),e[g]=w,e[y]=k},function(t,e,n){var r=n(273) +r(r.G+r.W+r.F*!n(484).ABV,{DataView:n(485).DataView})},function(t,e,n){n(488)("Int8",1,function(t){return function e(n,r,i){return t(this,n,r,i)}})},function(t,e,n){"use strict" +if(n(271)){var r=n(293),i=n(269),o=n(272),a=n(273),s=n(484),l=n(485),u=n(285),c=n(470),d=n(282),f=n(275),p=n(475),h=n(303),m=n(302),v=n(304),g=n(281),y=n(270),b=n(336),_=n(340),x=n(278),w=n(323),k=n(427),j=n(311),T=n(324),E=n(315).f,C=n(429),S=n(284),P=n(290),O=n(437),A=n(301),N=n(472),M=n(458),I=n(394),D=n(430),R=n(457),F=n(453),L=n(450),Q=n(276),H=n(316),q=Q.f,B=H.f,U=i.RangeError,z=i.TypeError,W=i.Uint8Array,V="ArrayBuffer",$="Shared"+V,K="BYTES_PER_ELEMENT",Y="prototype",X=Array[Y],G=l.ArrayBuffer,Z=l.DataView,J=O(0),tt=O(2),et=O(3),nt=O(4),rt=O(5),it=O(6),ot=A(!0),at=A(!1),st=M.values,lt=M.keys,ut=M.entries,ct=X.lastIndexOf,dt=X.reduce,ft=X.reduceRight,pt=X.join,ht=X.sort,mt=X.slice,vt=X.toString,gt=X.toLocaleString,yt=P("iterator"),bt=P("toStringTag"),_t=S("typed_constructor"),xt=S("def_constructor"),wt=s.CONSTR,kt=s.TYPED,jt=s.VIEW,Tt="Wrong length!",Et=O(1,function(t,e){ return Nt(N(t,t[xt]),e)}),Ct=o(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),St=!!W&&!!W[Y].set&&o(function(){new W(1).set({})}),Pt=function(t,e){if(void 0===t)throw z(Tt) var n=+t,r=m(t) if(e&&!b(n,r))throw U(Tt) @@ -4163,14 +4153,14 @@ var O=k[yt],A=!!O&&("values"==O.name||void 0==O.name),N=Ut.values f(v,_t,!0),f(k,kt,u),f(k,jt,!0),f(k,xt,v),(l?new v(1)[bt]==u:bt in k)||q(k,bt,{get:function(){return u}}),w[u]=v,a(a.G+a.W+a.F*(v!=g),w),a(a.S,u,{BYTES_PER_ELEMENT:e,from:Rt,of:Ft}),K in k||f(k,K,e),a(a.P,u,Ht), R(u),a(a.P+a.F*St,u,{set:Bt}),a(a.P+a.F*!A,u,Ut),a(a.P+a.F*(k.toString!=vt),u,{toString:vt}),a(a.P+a.F*o(function(){new v(1).slice()}),u,{slice:qt}),a(a.P+a.F*(o(function(){return[1,2].toLocaleString()!=new v([1,2]).toLocaleString() -})||!o(function(){k.toLocaleString.call([1,2])})),u,{toLocaleString:Qt}),I[u]=A?O:N,r||A||f(k,yt,N)}}else t.exports=function(){}},function(t,e,n){n(491)("Uint8",1,function(t){return function e(n,r,i){return t(this,n,r,i) +})||!o(function(){k.toLocaleString.call([1,2])})),u,{toLocaleString:Qt}),I[u]=A?O:N,r||A||f(k,yt,N)}}else t.exports=function(){}},function(t,e,n){n(488)("Uint8",1,function(t){return function e(n,r,i){return t(this,n,r,i) -}})},function(t,e,n){n(491)("Uint8",1,function(t){return function e(n,r,i){return t(this,n,r,i)}},!0)},function(t,e,n){n(491)("Int16",2,function(t){return function e(n,r,i){return t(this,n,r,i)}})},function(t,e,n){ -n(491)("Uint16",2,function(t){return function e(n,r,i){return t(this,n,r,i)}})},function(t,e,n){n(491)("Int32",4,function(t){return function e(n,r,i){return t(this,n,r,i)}})},function(t,e,n){n(491)("Uint32",4,function(t){ -return function e(n,r,i){return t(this,n,r,i)}})},function(t,e,n){n(491)("Float32",4,function(t){return function e(n,r,i){return t(this,n,r,i)}})},function(t,e,n){n(491)("Float64",8,function(t){return function e(n,r,i){ -return t(this,n,r,i)}})},function(t,e,n){var r=n(276),i=n(289),o=n(280),a=(n(272).Reflect||{}).apply,s=Function.apply -r(r.S+r.F*!n(275)(function(){a(function(){})}),"Reflect",{apply:function l(t,e,n){var r=i(t),l=o(n) -return a?a(r,e,l):s.call(r,e,l)}})},function(t,e,n){var r=n(276),i=n(314),o=n(289),a=n(280),s=n(281),l=n(275),u=n(345),c=(n(272).Reflect||{}).construct,d=l(function(){function t(){}return!(c(function(){},[],t)instanceof t) +}})},function(t,e,n){n(488)("Uint8",1,function(t){return function e(n,r,i){return t(this,n,r,i)}},!0)},function(t,e,n){n(488)("Int16",2,function(t){return function e(n,r,i){return t(this,n,r,i)}})},function(t,e,n){ +n(488)("Uint16",2,function(t){return function e(n,r,i){return t(this,n,r,i)}})},function(t,e,n){n(488)("Int32",4,function(t){return function e(n,r,i){return t(this,n,r,i)}})},function(t,e,n){n(488)("Uint32",4,function(t){ +return function e(n,r,i){return t(this,n,r,i)}})},function(t,e,n){n(488)("Float32",4,function(t){return function e(n,r,i){return t(this,n,r,i)}})},function(t,e,n){n(488)("Float64",8,function(t){return function e(n,r,i){ +return t(this,n,r,i)}})},function(t,e,n){var r=n(273),i=n(286),o=n(277),a=(n(269).Reflect||{}).apply,s=Function.apply +r(r.S+r.F*!n(272)(function(){a(function(){})}),"Reflect",{apply:function l(t,e,n){var r=i(t),l=o(n) +return a?a(r,e,l):s.call(r,e,l)}})},function(t,e,n){var r=n(273),i=n(311),o=n(286),a=n(277),s=n(278),l=n(272),u=n(342),c=(n(269).Reflect||{}).construct,d=l(function(){function t(){}return!(c(function(){},[],t)instanceof t) }),f=!l(function(){c(function(){})}) r(r.S+r.F*(d||f),"Reflect",{construct:function p(t,e){o(t),a(e) @@ -4182,91 +4172,91 @@ case 2:return new t(e[0],e[1]) case 3:return new t(e[0],e[1],e[2]) case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null] return r.push.apply(r,e),new(u.apply(t,r))}var l=n.prototype,p=i(s(l)?l:Object.prototype),h=Function.apply.call(t,p,e) -return s(h)?h:p}})},function(t,e,n){var r=n(279),i=n(276),o=n(280),a=n(284) -i(i.S+i.F*n(275)(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function s(t,e,n){o(t),e=a(e,!0),o(n) -try{return r.f(t,e,n),!0}catch(i){return!1}}})},function(t,e,n){var r=n(276),i=n(319).f,o=n(280) +return s(h)?h:p}})},function(t,e,n){var r=n(276),i=n(273),o=n(277),a=n(281) +i(i.S+i.F*n(272)(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function s(t,e,n){o(t),e=a(e,!0),o(n) +try{return r.f(t,e,n),!0}catch(i){return!1}}})},function(t,e,n){var r=n(273),i=n(316).f,o=n(277) r(r.S,"Reflect",{deleteProperty:function a(t,e){var n=i(o(t),e) return!(n&&!n.configurable)&&delete t[e]}})},function(t,e,n){"use strict" -var r=n(276),i=n(280),o=function(t){this._t=i(t),this._i=0 +var r=n(273),i=n(277),o=function(t){this._t=i(t),this._i=0 var e=this._k=[],n for(n in t)e.push(n)} -n(398)(o,"Object",function(){var t=this,e=t._k,n +n(395)(o,"Object",function(){var t=this,e=t._k,n do if(t._i>=e.length)return{value:void 0,done:!0} while(!((n=e[t._i++])in t._t)) return{value:n,done:!1}}),r(r.S,"Reflect",{enumerate:function a(t){return new o(t)}})},function(t,e,n){function r(t,e){var n=arguments.length<3?t:arguments[2],s,c -return u(t)===n?t[e]:(s=i.f(t,e))?a(s,"value")?s.value:void 0!==s.get?s.get.call(n):void 0:l(c=o(t))?r(c,e,n):void 0}var i=n(319),o=n(327),a=n(273),s=n(276),l=n(281),u=n(280) -s(s.S,"Reflect",{get:r})},function(t,e,n){var r=n(319),i=n(276),o=n(280) -i(i.S,"Reflect",{getOwnPropertyDescriptor:function a(t,e){return r.f(o(t),e)}})},function(t,e,n){var r=n(276),i=n(327),o=n(280) -r(r.S,"Reflect",{getPrototypeOf:function a(t){return i(o(t))}})},function(t,e,n){var r=n(276) -r(r.S,"Reflect",{has:function i(t,e){return e in t}})},function(t,e,n){var r=n(276),i=n(280),o=Object.isExtensible -r(r.S,"Reflect",{isExtensible:function a(t){return i(t),!o||o(t)}})},function(t,e,n){var r=n(276) -r(r.S,"Reflect",{ownKeys:n(511)})},function(t,e,n){var r=n(318),i=n(311),o=n(280),a=n(272).Reflect +return u(t)===n?t[e]:(s=i.f(t,e))?a(s,"value")?s.value:void 0!==s.get?s.get.call(n):void 0:l(c=o(t))?r(c,e,n):void 0}var i=n(316),o=n(324),a=n(270),s=n(273),l=n(278),u=n(277) +s(s.S,"Reflect",{get:r})},function(t,e,n){var r=n(316),i=n(273),o=n(277) +i(i.S,"Reflect",{getOwnPropertyDescriptor:function a(t,e){return r.f(o(t),e)}})},function(t,e,n){var r=n(273),i=n(324),o=n(277) +r(r.S,"Reflect",{getPrototypeOf:function a(t){return i(o(t))}})},function(t,e,n){var r=n(273) +r(r.S,"Reflect",{has:function i(t,e){return e in t}})},function(t,e,n){var r=n(273),i=n(277),o=Object.isExtensible +r(r.S,"Reflect",{isExtensible:function a(t){return i(t),!o||o(t)}})},function(t,e,n){var r=n(273) +r(r.S,"Reflect",{ownKeys:n(508)})},function(t,e,n){var r=n(315),i=n(308),o=n(277),a=n(269).Reflect t.exports=a&&a.ownKeys||function s(t){var e=r.f(o(t)),n=i.f -return n?e.concat(n(t)):e}},function(t,e,n){var r=n(276),i=n(280),o=Object.preventExtensions +return n?e.concat(n(t)):e}},function(t,e,n){var r=n(273),i=n(277),o=Object.preventExtensions r(r.S,"Reflect",{preventExtensions:function a(t){i(t) try{return o&&o(t),!0}catch(e){return!1}}})},function(t,e,n){function r(t,e,n){var l=arguments.length<4?t:arguments[3],f=o.f(c(t),e),p,h if(!f){if(d(h=a(t)))return r(h,e,n,l) -f=u(0)}return s(f,"value")?!(f.writable===!1||!d(l))&&(p=o.f(l,e)||u(0),p.value=n,i.f(l,e,p),!0):void 0!==f.set&&(f.set.call(l,n),!0)}var i=n(279),o=n(319),a=n(327),s=n(273),l=n(276),u=n(285),c=n(280),d=n(281) +f=u(0)}return s(f,"value")?!(f.writable===!1||!d(l))&&(p=o.f(l,e)||u(0),p.value=n,i.f(l,e,p),!0):void 0!==f.set&&(f.set.call(l,n),!0)}var i=n(276),o=n(316),a=n(324),s=n(270),l=n(273),u=n(282),c=n(277),d=n(278) -l(l.S,"Reflect",{set:r})},function(t,e,n){var r=n(276),i=n(341) +l(l.S,"Reflect",{set:r})},function(t,e,n){var r=n(273),i=n(338) i&&r(r.S,"Reflect",{setPrototypeOf:function o(t,e){i.check(t,e) try{return i.set(t,e),!0}catch(n){return!1}}})},function(t,e,n){"use strict" -var r=n(276),i=n(304)(!0) -r(r.P,"Array",{includes:function o(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(454)("includes")},function(t,e,n){"use strict" -var r=n(276),i=n(395)(!0) +var r=n(273),i=n(301)(!0) +r(r.P,"Array",{includes:function o(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(451)("includes")},function(t,e,n){"use strict" +var r=n(273),i=n(392)(!0) r(r.P,"String",{at:function o(t){return i(this,t)}})},function(t,e,n){"use strict" -var r=n(276),i=n(518) -r(r.P,"String",{padStart:function o(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},function(t,e,n){var r=n(305),i=n(359),o=n(303) +var r=n(273),i=n(515) +r(r.P,"String",{padStart:function o(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},function(t,e,n){var r=n(302),i=n(356),o=n(300) t.exports=function(t,e,n,a){var s=String(o(t)),l=s.length,u=void 0===n?" ":String(n),c=r(e) if(c<=l||""==u)return s var d=c-l,f=i.call(u,Math.ceil(d/u.length)) return f.length>d&&(f=f.slice(0,d)),a?f+s:s+f}},function(t,e,n){"use strict" -var r=n(276),i=n(518) +var r=n(273),i=n(515) r(r.P,"String",{padEnd:function o(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!1)}})},function(t,e,n){"use strict" -n(351)("trimLeft",function(t){return function e(){return t(this,1)}},"trimStart")},function(t,e,n){"use strict" -n(351)("trimRight",function(t){return function e(){return t(this,2)}},"trimEnd")},function(t,e,n){"use strict" -var r=n(276),i=n(303),o=n(305),a=n(402),s=n(464),l=RegExp.prototype,u=function(t,e){this._r=t,this._s=e} -n(398)(u,"RegExp String",function c(){var t=this._r.exec(this._s) +n(348)("trimLeft",function(t){return function e(){return t(this,1)}},"trimStart")},function(t,e,n){"use strict" +n(348)("trimRight",function(t){return function e(){return t(this,2)}},"trimEnd")},function(t,e,n){"use strict" +var r=n(273),i=n(300),o=n(302),a=n(399),s=n(461),l=RegExp.prototype,u=function(t,e){this._r=t,this._s=e} +n(395)(u,"RegExp String",function c(){var t=this._r.exec(this._s) return{value:t,done:null===t}}),r(r.P,"String",{matchAll:function d(t){if(i(this),!a(t))throw TypeError(t+" is not a regexp!") var e=String(this),n="flags"in l?String(t.flags):s.call(t),r=new RegExp(t.source,~n.indexOf("g")?n:"g"+n) -return r.lastIndex=o(t.lastIndex),new u(r,e)}})},function(t,e,n){n(295)("asyncIterator")},function(t,e,n){n(295)("observable")},function(t,e,n){var r=n(276),i=n(511),o=n(300),a=n(319),s=n(431) +return r.lastIndex=o(t.lastIndex),new u(r,e)}})},function(t,e,n){n(292)("asyncIterator")},function(t,e,n){n(292)("observable")},function(t,e,n){var r=n(273),i=n(508),o=n(297),a=n(316),s=n(428) r(r.S,"Object",{getOwnPropertyDescriptors:function l(t){for(var e=o(t),n=a.f,r=i(e),l={},u=0,c;r.length>u;)s(l,c=r[u++],n(e,c)) -return l}})},function(t,e,n){var r=n(276),i=n(527)(!1) -r(r.S,"Object",{values:function o(t){return i(t)}})},function(t,e,n){var r=n(298),i=n(300),o=n(312).f +return l}})},function(t,e,n){var r=n(273),i=n(524)(!1) +r(r.S,"Object",{values:function o(t){return i(t)}})},function(t,e,n){var r=n(295),i=n(297),o=n(309).f t.exports=function(t){return function(e){for(var n=i(e),a=r(n),s=a.length,l=0,u=[],c;s>l;)o.call(n,c=a[l++])&&u.push(t?[c,n[c]]:n[c]) -return u}}},function(t,e,n){var r=n(276),i=n(527)(!0) +return u}}},function(t,e,n){var r=n(273),i=n(524)(!0) r(r.S,"Object",{entries:function o(t){return i(t)}})},function(t,e,n){"use strict" -var r=n(276),i=n(326),o=n(289),a=n(279) -n(274)&&r(r.P+n(530),"Object",{__defineGetter__:function s(t,e){a.f(i(this),t,{get:o(e),enumerable:!0,configurable:!0})}})},function(t,e,n){t.exports=n(296)||!n(275)(function(){var t=Math.random() -__defineSetter__.call(null,t,function(){}),delete n(272)[t]})},function(t,e,n){"use strict" -var r=n(276),i=n(326),o=n(289),a=n(279) -n(274)&&r(r.P+n(530),"Object",{__defineSetter__:function s(t,e){a.f(i(this),t,{set:o(e),enumerable:!0,configurable:!0})}})},function(t,e,n){"use strict" -var r=n(276),i=n(326),o=n(284),a=n(327),s=n(319).f -n(274)&&r(r.P+n(530),"Object",{__lookupGetter__:function l(t){var e=i(this),n=o(t,!0),r +var r=n(273),i=n(323),o=n(286),a=n(276) +n(271)&&r(r.P+n(527),"Object",{__defineGetter__:function s(t,e){a.f(i(this),t,{get:o(e),enumerable:!0,configurable:!0})}})},function(t,e,n){t.exports=n(293)||!n(272)(function(){var t=Math.random() +__defineSetter__.call(null,t,function(){}),delete n(269)[t]})},function(t,e,n){"use strict" +var r=n(273),i=n(323),o=n(286),a=n(276) +n(271)&&r(r.P+n(527),"Object",{__defineSetter__:function s(t,e){a.f(i(this),t,{set:o(e),enumerable:!0,configurable:!0})}})},function(t,e,n){"use strict" +var r=n(273),i=n(323),o=n(281),a=n(324),s=n(316).f +n(271)&&r(r.P+n(527),"Object",{__lookupGetter__:function l(t){var e=i(this),n=o(t,!0),r do if(r=s(e,n))return r.get while(e=a(e))}})},function(t,e,n){"use strict" -var r=n(276),i=n(326),o=n(284),a=n(327),s=n(319).f -n(274)&&r(r.P+n(530),"Object",{__lookupSetter__:function l(t){var e=i(this),n=o(t,!0),r +var r=n(273),i=n(323),o=n(281),a=n(324),s=n(316).f +n(271)&&r(r.P+n(527),"Object",{__lookupSetter__:function l(t){var e=i(this),n=o(t,!0),r do if(r=s(e,n))return r.set -while(e=a(e))}})},function(t,e,n){var r=n(276) -r(r.P+r.R,"Map",{toJSON:n(535)("Map")})},function(t,e,n){var r=n(343),i=n(536) +while(e=a(e))}})},function(t,e,n){var r=n(273) +r(r.P+r.R,"Map",{toJSON:n(532)("Map")})},function(t,e,n){var r=n(340),i=n(533) t.exports=function(t){return function e(){if(r(this)!=t)throw TypeError(t+"#toJSON isn't generic") -return i(this)}}},function(t,e,n){var r=n(474) +return i(this)}}},function(t,e,n){var r=n(471) t.exports=function(t,e){var n=[] -return r(t,!1,n.push,n,e),n}},function(t,e,n){var r=n(276) -r(r.P+r.R,"Set",{toJSON:n(535)("Set")})},function(t,e,n){var r=n(276) -r(r.S,"System",{global:n(272)})},function(t,e,n){var r=n(276),i=n(302) -r(r.S,"Error",{isError:function o(t){return"Error"===i(t)}})},function(t,e,n){var r=n(276) +return r(t,!1,n.push,n,e),n}},function(t,e,n){var r=n(273) +r(r.P+r.R,"Set",{toJSON:n(532)("Set")})},function(t,e,n){var r=n(273) +r(r.S,"System",{global:n(269)})},function(t,e,n){var r=n(273),i=n(299) +r(r.S,"Error",{isError:function o(t){return"Error"===i(t)}})},function(t,e,n){var r=n(273) r(r.S,"Math",{iaddh:function i(t,e,n,r){var i=t>>>0,o=e>>>0,a=n>>>0 -return o+(r>>>0)+((i&a|(i|a)&~(i+a>>>0))>>>31)|0}})},function(t,e,n){var r=n(276) +return o+(r>>>0)+((i&a|(i|a)&~(i+a>>>0))>>>31)|0}})},function(t,e,n){var r=n(273) r(r.S,"Math",{isubh:function i(t,e,n,r){var i=t>>>0,o=e>>>0,a=n>>>0 -return o-(r>>>0)-((~i&a|~(i^a)&i-a>>>0)>>>31)|0}})},function(t,e,n){var r=n(276) +return o-(r>>>0)-((~i&a|~(i^a)&i-a>>>0)>>>31)|0}})},function(t,e,n){var r=n(273) r(r.S,"Math",{imulh:function i(t,e){var n=65535,r=+t,i=+e,o=r&n,a=i&n,s=r>>16,l=i>>16,u=(s*a>>>0)+(o*a>>>16) -return s*l+(u>>16)+((o*l>>>0)+(u&n)>>16)}})},function(t,e,n){var r=n(276) +return s*l+(u>>16)+((o*l>>>0)+(u&n)>>16)}})},function(t,e,n){var r=n(273) r(r.S,"Math",{umulh:function i(t,e){var n=65535,r=+t,i=+e,o=r&n,a=i&n,s=r>>>16,l=i>>>16,u=(s*a>>>0)+(o*a>>>16) -return s*l+(u>>>16)+((o*l>>>0)+(u&n)>>>16)}})},function(t,e,n){var r=n(545),i=n(280),o=r.key,a=r.set -r.exp({defineMetadata:function s(t,e,n,r){a(t,e,i(n),o(r))}})},function(t,e,n){var r=n(479),i=n(276),o=n(291)("metadata"),a=o.store||(o.store=new(n(483))),s=function(t,e,n){var i=a.get(t) +return s*l+(u>>>16)+((o*l>>>0)+(u&n)>>>16)}})},function(t,e,n){var r=n(542),i=n(277),o=r.key,a=r.set +r.exp({defineMetadata:function s(t,e,n,r){a(t,e,i(n),o(r))}})},function(t,e,n){var r=n(476),i=n(273),o=n(288)("metadata"),a=o.store||(o.store=new(n(480))),s=function(t,e,n){var i=a.get(t) if(!i){if(!n)return a.set(t,i=new r)}var o=i.get(e) if(!o){if(!n)return @@ -4274,33 +4264,33 @@ i.set(e,o=new r)}return o},l=function(t,e,n){var r=s(e,n,!1) return void 0!==r&&r.has(t)},u=function(t,e,n){var r=s(e,n,!1) return void 0===r?void 0:r.get(t)},c=function(t,e,n,r){s(n,r,!0).set(t,e)},d=function(t,e){var n=s(t,e,!1),r=[] return n&&n.forEach(function(t,e){r.push(e)}),r},f=function(t){return void 0===t||"symbol"==typeof t?t:String(t)},p=function(t){i(i.S,"Reflect",t)} -t.exports={store:a,map:s,has:l,get:u,set:c,keys:d,key:f,exp:p}},function(t,e,n){var r=n(545),i=n(280),o=r.key,a=r.map,s=r.store +t.exports={store:a,map:s,has:l,get:u,set:c,keys:d,key:f,exp:p}},function(t,e,n){var r=n(542),i=n(277),o=r.key,a=r.map,s=r.store r.exp({deleteMetadata:function l(t,e){var n=arguments.length<3?void 0:o(arguments[2]),r=a(i(e),n,!1) if(void 0===r||!r["delete"](t))return!1 if(r.size)return!0 var l=s.get(e) -return l["delete"](n),!!l.size||s["delete"](e)}})},function(t,e,n){var r=n(545),i=n(280),o=n(327),a=r.has,s=r.get,l=r.key,u=function(t,e,n){var r=a(t,e,n) +return l["delete"](n),!!l.size||s["delete"](e)}})},function(t,e,n){var r=n(542),i=n(277),o=n(324),a=r.has,s=r.get,l=r.key,u=function(t,e,n){var r=a(t,e,n) if(r)return s(t,e,n) var i=o(e) return null!==i?u(t,i,n):void 0} -r.exp({getMetadata:function c(t,e){return u(t,i(e),arguments.length<3?void 0:l(arguments[2]))}})},function(t,e,n){var r=n(482),i=n(536),o=n(545),a=n(280),s=n(327),l=o.keys,u=o.key,c=function(t,e){var n=l(t,e),o=s(t) +r.exp({getMetadata:function c(t,e){return u(t,i(e),arguments.length<3?void 0:l(arguments[2]))}})},function(t,e,n){var r=n(479),i=n(533),o=n(542),a=n(277),s=n(324),l=o.keys,u=o.key,c=function(t,e){var n=l(t,e),o=s(t) if(null===o)return n var a=c(o,e) return a.length?n.length?i(new r(n.concat(a))):a:n} -o.exp({getMetadataKeys:function d(t){return c(a(t),arguments.length<2?void 0:u(arguments[1]))}})},function(t,e,n){var r=n(545),i=n(280),o=r.get,a=r.key -r.exp({getOwnMetadata:function s(t,e){return o(t,i(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(545),i=n(280),o=r.keys,a=r.key -r.exp({getOwnMetadataKeys:function s(t){return o(i(t),arguments.length<2?void 0:a(arguments[1]))}})},function(t,e,n){var r=n(545),i=n(280),o=n(327),a=r.has,s=r.key,l=function(t,e,n){var r=a(t,e,n) +o.exp({getMetadataKeys:function d(t){return c(a(t),arguments.length<2?void 0:u(arguments[1]))}})},function(t,e,n){var r=n(542),i=n(277),o=r.get,a=r.key +r.exp({getOwnMetadata:function s(t,e){return o(t,i(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(542),i=n(277),o=r.keys,a=r.key +r.exp({getOwnMetadataKeys:function s(t){return o(i(t),arguments.length<2?void 0:a(arguments[1]))}})},function(t,e,n){var r=n(542),i=n(277),o=n(324),a=r.has,s=r.key,l=function(t,e,n){var r=a(t,e,n) if(r)return!0 var i=o(e) return null!==i&&l(t,i,n)} -r.exp({hasMetadata:function u(t,e){return l(t,i(e),arguments.length<3?void 0:s(arguments[2]))}})},function(t,e,n){var r=n(545),i=n(280),o=r.has,a=r.key -r.exp({hasOwnMetadata:function s(t,e){return o(t,i(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(545),i=n(280),o=n(289),a=r.key,s=r.set -r.exp({metadata:function l(t,e){return function n(r,l){s(t,e,(void 0!==l?i:o)(r),a(l))}}})},function(t,e,n){var r=n(276),i=n(477)(),o=n(272).process,a="process"==n(302)(o) +r.exp({hasMetadata:function u(t,e){return l(t,i(e),arguments.length<3?void 0:s(arguments[2]))}})},function(t,e,n){var r=n(542),i=n(277),o=r.has,a=r.key +r.exp({hasOwnMetadata:function s(t,e){return o(t,i(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(542),i=n(277),o=n(286),a=r.key,s=r.set +r.exp({metadata:function l(t,e){return function n(r,l){s(t,e,(void 0!==l?i:o)(r),a(l))}}})},function(t,e,n){var r=n(273),i=n(474)(),o=n(269).process,a="process"==n(299)(o) r(r.G,{asap:function s(t){var e=a&&o.domain i(e?e.bind(t):t)}})},function(t,e,n){"use strict" -var r=n(276),i=n(272),o=n(277),a=n(477)(),s=n(293)("observable"),l=n(289),u=n(280),c=n(473),d=n(478),f=n(278),p=n(474),h=p.RETURN,m=function(t){return null==t?void 0:l(t)},v=function(t){var e=t._c +var r=n(273),i=n(269),o=n(274),a=n(474)(),s=n(290)("observable"),l=n(286),u=n(277),c=n(470),d=n(475),f=n(275),p=n(471),h=p.RETURN,m=function(t){return null==t?void 0:l(t)},v=function(t){var e=t._c e&&(t._c=void 0,e())},g=function(t){return void 0===t._o},y=function(t){g(t)||(t._o=void 0,v(t))},b=function(t,e){u(t),this._c=void 0,this._o=t,t=new _(this) try{var n=e(t),r=n null!=n&&("function"==typeof n.unsubscribe?n=function(){r.unsubscribe()}:l(n),this._c=n)}catch(i){return void t.error(i)}g(this)&&v(this)} @@ -4330,17 +4320,17 @@ return a(function(){if(!n){try{if(p(t,!1,function(t){if(e.next(t),n)return h})== return void e.error(r)}e.complete()}}),function(){n=!0}})},of:function O(){for(var t=0,e=arguments.length,n=Array(e);ta;)(n[a]=arguments[a++])===s&&(l=!0) return function(){var r=this,o=arguments.length,a=0,u=0,c if(!l&&!o)return i(t,n,r) if(c=n.slice(),l)for(;e>a;a++)c[a]===s&&(c[a]=arguments[u++]) for(;o>u;)c.push(arguments[u++]) -return i(t,c,r)}}},function(t,e,n){t.exports=n(272)},function(t,e,n){var r=n(276),i=n(476) -r(r.G+r.B,{setImmediate:i.set,clearImmediate:i.clear})},function(t,e,n){for(var r=n(461),i=n(286),o=n(272),a=n(278),s=n(397),l=n(293),u=l("iterator"),c=l("toStringTag"),d=s.Array,f=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],p=0;p<5;p++){ +return i(t,c,r)}}},function(t,e,n){t.exports=n(269)},function(t,e,n){var r=n(273),i=n(473) +r(r.G+r.B,{setImmediate:i.set,clearImmediate:i.clear})},function(t,e,n){for(var r=n(458),i=n(283),o=n(269),a=n(275),s=n(394),l=n(290),u=l("iterator"),c=l("toStringTag"),d=s.Array,f=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],p=0;p<5;p++){ var h=f[p],m=o[h],v=m&&m.prototype,g if(v){v[u]||a(v,u,d),v[c]||a(v,c,h),s[h]=d for(g in r)v[g]||i(v,g,r[g],!0)}}},function(t,e,n){(function(e,n){!function(e){"use strict" @@ -4414,7 +4404,7 @@ if(n.tryLoc===t){var r=n.completion if("throw"===r.type){var i=r.arg p(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:m(t),resultName:e,nextLoc:n},S}}}("object"==typeof e?e:"object"==typeof window?window:"object"==typeof self?self:this) -}).call(e,function(){return this}(),n(11))},function(t,e,n){n(563),t.exports=n(277).RegExp.escape},function(t,e,n){var r=n(276),i=n(564)(/[\\^$*+?.()|[\]{}]/g,"\\$&") +}).call(e,function(){return this}(),n(11))},function(t,e,n){n(560),t.exports=n(274).RegExp.escape},function(t,e,n){var r=n(273),i=n(561)(/[\\^$*+?.()|[\]{}]/g,"\\$&") r(r.S,"RegExp",{escape:function o(t){return i(t)}})},function(t,e){t.exports=function(t,e){var n=e===Object(e)?function(t){return e[t]}:e return function(e){return String(e).replace(t,n)}}},function(module,exports){"function"!=typeof JSON.decycle&&(JSON.decycle=function t(e){"use strict" var n=[],r=[] @@ -4428,19 +4418,19 @@ l.forEach(function(n){Object.prototype.hasOwnProperty.call(t,n)&&(s[n]=i(t[n],e+ var px=/^\$(?:\[(?:\d+|\"(?:[^\\\"\u0000-\u001f]|\\([\\\"\/bfnrt]|u[0-9a-zA-Z]{4}))*\")\])*$/ return function rez(value){var i,item,name,path if(value&&"object"==typeof value)if("[object Array]"===Object.prototype.toString.apply(value))for(i=0;i to avoid XSS via location.hash (#9521)\n\tquickExpr = /^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/,\n\n\t// Check if a string has a non-whitespace character in it\n\trnotwhite = /\\S/,\n\n\t// Used for trimming whitespace\n\ttrimLeft = /^\\s+/,\n\ttrimRight = /\\s+$/,\n\n\t// Match a standalone tag\n\trsingleTag = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>)?$/,\n\n\t// JSON RegExp\n\trvalidchars = /^[\\],:{}\\s]*$/,\n\trvalidescape = /\\\\(?:["\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,\n\trvalidtokens = /"[^"\\\\\\n\\r]*"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,\n\trvalidbraces = /(?:^|:|,)(?:\\s*\\[)+/g,\n\n\t// Useragent RegExp\n\trwebkit = /(webkit)[ \\/]([\\w.]+)/,\n\tropera = /(opera)(?:.*version)?[ \\/]([\\w.]+)/,\n\trmsie = /(msie) ([\\w.]+)/,\n\trmozilla = /(mozilla)(?:.*? rv:([\\w.]+))?/,\n\n\t// Matches dashed string for camelizing\n\trdashAlpha = /-([a-z]|[0-9])/ig,\n\trmsPrefix = /^-ms-/,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn ( letter + "" ).toUpperCase();\n\t},\n\n\t// Keep a UserAgent string for use with jQuery.browser\n\tuserAgent = navigator.userAgent,\n\n\t// For matching the engine and version of the browser\n\tbrowserMatch,\n\n\t// The deferred used on DOM ready\n\treadyList,\n\n\t// The ready event handler\n\tDOMContentLoaded,\n\n\t// Save a reference to some core methods\n\ttoString = Object.prototype.toString,\n\thasOwn = Object.prototype.hasOwnProperty,\n\tpush = Array.prototype.push,\n\tslice = Array.prototype.slice,\n\ttrim = String.prototype.trim,\n\tindexOf = Array.prototype.indexOf,\n\n\t// [[Class]] -> type pairs\n\tclass2type = {};\n\njQuery.fn = jQuery.prototype = {\n\tconstructor: jQuery,\n\tinit: function( selector, context, rootjQuery ) {\n\t\tvar match, elem, ret, doc;\n\n\t\t// Handle $(""), $(null), or $(undefined)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Handle $(DOMElement)\n\t\tif ( selector.nodeType ) {\n\t\t\tthis.context = this[0] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\t\t}\n\n\t\t// The body element only exists once, optimize finding it\n\t\tif ( selector === "body" && !context && document.body ) {\n\t\t\tthis.context = document;\n\t\t\tthis[0] = document.body;\n\t\t\tthis.selector = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\t\t}\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === "string" ) {\n\t\t\t// Are we dealing with HTML string or an ID?\n\t\t\tif ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = quickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Verify a match, and that no context was specified for #id\n\t\t\tif ( match && (match[1] || !context) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[1] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[0] : context;\n\t\t\t\t\tdoc = ( context ? context.ownerDocument || context : document );\n\n\t\t\t\t\t// If a single string is passed in and it\'s a single tag\n\t\t\t\t\t// just do a createElement and skip the rest\n\t\t\t\t\tret = rsingleTag.exec( selector );\n\n\t\t\t\t\tif ( ret ) {\n\t\t\t\t\t\tif ( jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\t\tselector = [ document.createElement( ret[1] ) ];\n\t\t\t\t\t\t\tjQuery.fn.attr.call( selector, context, true );\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tselector = [ doc.createElement( ret[1] ) ];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tret = jQuery.buildFragment( [ match[1] ], [ doc ] );\n\t\t\t\t\t\tselector = ( ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment ).childNodes;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.merge( this, selector );\n\n\t\t\t\t// HANDLE: $("#id")\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[2] );\n\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t// Handle the case where IE and Opera return items\n\t\t\t\t\t\t// by name instead of ID\n\t\t\t\t\t\tif ( elem.id !== match[2] ) {\n\t\t\t\t\t\t\treturn rootjQuery.find( selector );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Otherwise, we inject the element directly into the jQuery object\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\tthis[0] = elem;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.context = document;\n\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || rootjQuery ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn rootjQuery.ready( selector );\n\t\t}\n\n\t\tif ( selector.selector !== undefined ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t},\n\n\t// Start with an empty selector\n\tselector: "",\n\n\t// The current version of jQuery being used\n\tjquery: "1.7.2",\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\t// The number of elements contained in the matched element set\n\tsize: function() {\n\t\treturn this.length;\n\t},\n\n\ttoArray: function() {\n\t\treturn slice.call( this, 0 );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num == null ?\n\n\t\t\t// Return a \'clean\' array\n\t\t\tthis.toArray() :\n\n\t\t\t// Return just the object\n\t\t\t( num < 0 ? this[ this.length + num ] : this[ num ] );\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems, name, selector ) {\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = this.constructor();\n\n\t\tif ( jQuery.isArray( elems ) ) {\n\t\t\tpush.apply( ret, elems );\n\n\t\t} else {\n\t\t\tjQuery.merge( ret, elems );\n\t\t}\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\tret.context = this.context;\n\n\t\tif ( name === "find" ) {\n\t\t\tret.selector = this.selector + ( this.selector ? " " : "" ) + selector;\n\t\t} else if ( name ) {\n\t\t\tret.selector = this.selector + "." + name + "(" + selector + ")";\n\t\t}\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\t// (You can seed the arguments with an array of args, but this is\n\t// only used internally.)\n\teach: function( callback, args ) {\n\t\treturn jQuery.each( this, callback, args );\n\t},\n\n\tready: function( fn ) {\n\t\t// Attach the listeners\n\t\tjQuery.bindReady();\n\n\t\t// Add the callback\n\t\treadyList.add( fn );\n\n\t\treturn this;\n\t},\n\n\teq: function( i ) {\n\t\ti = +i;\n\t\treturn i === -1 ?\n\t\t\tthis.slice( i ) :\n\t\t\tthis.slice( i, i + 1 );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ),\n\t\t\t"slice", slice.call(arguments).join(",") );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map(this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t}));\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor(null);\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array\'s method, not like a jQuery method.\n\tpush: push,\n\tsort: [].sort,\n\tsplice: [].splice\n};\n\n// Give the init function the jQuery prototype for later instantiation\njQuery.fn.init.prototype = jQuery.fn;\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[0] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === "boolean" ) {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== "object" && !jQuery.isFunction(target) ) {\n\t\ttarget = {};\n\t}\n\n\t// extend jQuery itself if only one argument is passed\n\tif ( length === i ) {\n\t\ttarget = this;\n\t\t--i;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\t\t// Only deal with non-null/undefined values\n\t\tif ( (options = arguments[ i ]) != null ) {\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we\'re merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && jQuery.isArray(src) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject(src) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don\'t bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend({\n\tnoConflict: function( deep ) {\n\t\tif ( window.$ === jQuery ) {\n\t\t\twindow.$ = _$;\n\t\t}\n\n\t\tif ( deep && window.jQuery === jQuery ) {\n\t\t\twindow.jQuery = _jQuery;\n\t\t}\n\n\t\treturn jQuery;\n\t},\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Hold (or release) the ready event\n\tholdReady: function( hold ) {\n\t\tif ( hold ) {\n\t\t\tjQuery.readyWait++;\n\t\t} else {\n\t\t\tjQuery.ready( true );\n\t\t}\n\t},\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\t\t// Either a released hold or an DOMready/load event and not yet ready\n\t\tif ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) {\n\t\t\t// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).\n\t\t\tif ( !document.body ) {\n\t\t\t\treturn setTimeout( jQuery.ready, 1 );\n\t\t\t}\n\n\t\t\t// Remember that the DOM is ready\n\t\t\tjQuery.isReady = true;\n\n\t\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If there are functions bound, to execute\n\t\t\treadyList.fireWith( document, [ jQuery ] );\n\n\t\t\t// Trigger any bound ready events\n\t\t\tif ( jQuery.fn.trigger ) {\n\t\t\t\tjQuery( document ).trigger( "ready" ).off( "ready" );\n\t\t\t}\n\t\t}\n\t},\n\n\tbindReady: function() {\n\t\tif ( readyList ) {\n\t\t\treturn;\n\t\t}\n\n\t\treadyList = jQuery.Callbacks( "once memory" );\n\n\t\t// Catch cases where $(document).ready() is called after the\n\t\t// browser event has already occurred.\n\t\tif ( document.readyState === "complete" ) {\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\treturn setTimeout( jQuery.ready, 1 );\n\t\t}\n\n\t\t// Mozilla, Opera and webkit nightlies currently support this event\n\t\tif ( document.addEventListener ) {\n\t\t\t// Use the handy event callback\n\t\t\tdocument.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.addEventListener( "load", jQuery.ready, false );\n\n\t\t// If IE event model is used\n\t\t} else if ( document.attachEvent ) {\n\t\t\t// ensure firing before onload,\n\t\t\t// maybe late but safe also for iframes\n\t\t\tdocument.attachEvent( "onreadystatechange", DOMContentLoaded );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.attachEvent( "onload", jQuery.ready );\n\n\t\t\t// If IE and not a frame\n\t\t\t// continually check to see if the document is ready\n\t\t\tvar toplevel = false;\n\n\t\t\ttry {\n\t\t\t\ttoplevel = window.frameElement == null;\n\t\t\t} catch(e) {}\n\n\t\t\tif ( document.documentElement.doScroll && toplevel ) {\n\t\t\t\tdoScrollCheck();\n\t\t\t}\n\t\t}\n\t},\n\n\t// See test/unit/core.js for details concerning isFunction.\n\t// Since version 1.3, DOM methods and functions like alert\n\t// aren\'t supported. They return false on IE (#2968).\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type(obj) === "function";\n\t},\n\n\tisArray: Array.isArray || function( obj ) {\n\t\treturn jQuery.type(obj) === "array";\n\t},\n\n\tisWindow: function( obj ) {\n\t\treturn obj != null && obj == obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\t\treturn !isNaN( parseFloat(obj) ) && isFinite( obj );\n\t},\n\n\ttype: function( obj ) {\n\t\treturn obj == null ?\n\t\t\tString( obj ) :\n\t\t\tclass2type[ toString.call(obj) ] || "object";\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\t// Must be an Object.\n\t\t// Because of IE, we also have to check the presence of the constructor property.\n\t\t// Make sure that DOM nodes and window objects don\'t pass through, as well\n\t\tif ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t// Not own constructor property must be Object\n\t\t\tif ( obj.constructor &&\n\t\t\t\t!hasOwn.call(obj, "constructor") &&\n\t\t\t\t!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\t// IE8,9 Will throw exceptions on certain host objects #9897\n\t\t\treturn false;\n\t\t}\n\n\t\t// Own properties are enumerated firstly, so to speed up,\n\t\t// if last one is own, then all properties are own.\n\n\t\tvar key;\n\t\tfor ( key in obj ) {}\n\n\t\treturn key === undefined || hasOwn.call( obj, key );\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tfor ( var name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tparseJSON: function( data ) {\n\t\tif ( typeof data !== "string" || !data ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Make sure leading/trailing whitespace is removed (IE can\'t handle it)\n\t\tdata = jQuery.trim( data );\n\n\t\t// Attempt to parse using the native JSON parser first\n\t\tif ( window.JSON && window.JSON.parse ) {\n\t\t\treturn window.JSON.parse( data );\n\t\t}\n\n\t\t// Make sure the incoming data is actual JSON\n\t\t// Logic borrowed from http://json.org/json2.js\n\t\tif ( rvalidchars.test( data.replace( rvalidescape, "@" )\n\t\t\t.replace( rvalidtokens, "]" )\n\t\t\t.replace( rvalidbraces, "")) ) {\n\n\t\t\treturn ( new Function( "return " + data ) )();\n\n\t\t}\n\t\tjQuery.error( "Invalid JSON: " + data );\n\t},\n\n\t// Cross-browser xml parsing\n\tparseXML: function( data ) {\n\t\tif ( typeof data !== "string" || !data ) {\n\t\t\treturn null;\n\t\t}\n\t\tvar xml, tmp;\n\t\ttry {\n\t\t\tif ( window.DOMParser ) { // Standard\n\t\t\t\ttmp = new DOMParser();\n\t\t\t\txml = tmp.parseFromString( data , "text/xml" );\n\t\t\t} else { // IE\n\t\t\t\txml = new ActiveXObject( "Microsoft.XMLDOM" );\n\t\t\t\txml.async = "false";\n\t\t\t\txml.loadXML( data );\n\t\t\t}\n\t\t} catch( e ) {\n\t\t\txml = undefined;\n\t\t}\n\t\tif ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {\n\t\t\tjQuery.error( "Invalid XML: " + data );\n\t\t}\n\t\treturn xml;\n\t},\n\n\tnoop: function() {},\n\n\t// Evaluates a script in a global context\n\t// Workarounds based on findings by Jim Driscoll\n\t// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context\n\tglobalEval: function( data ) {\n\t\tif ( data && rnotwhite.test( data ) ) {\n\t\t\t// We use execScript on Internet Explorer\n\t\t\t// We use an anonymous function so that context is window\n\t\t\t// rather than jQuery in Firefox\n\t\t\t( window.execScript || function( data ) {\n\t\t\t\twindow[ "eval" ].call( window, data );\n\t\t\t} )( data );\n\t\t}\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();\n\t},\n\n\t// args is for internal usage only\n\teach: function( object, callback, args ) {\n\t\tvar name, i = 0,\n\t\t\tlength = object.length,\n\t\t\tisObj = length === undefined || jQuery.isFunction( object );\n\n\t\tif ( args ) {\n\t\t\tif ( isObj ) {\n\t\t\t\tfor ( name in object ) {\n\t\t\t\t\tif ( callback.apply( object[ name ], args ) === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( ; i < length; ) {\n\t\t\t\t\tif ( callback.apply( object[ i++ ], args ) === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// A special, fast, case for the most common use of each\n\t\t} else {\n\t\t\tif ( isObj ) {\n\t\t\t\tfor ( name in object ) {\n\t\t\t\t\tif ( callback.call( object[ name ], name, object[ name ] ) === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( ; i < length; ) {\n\t\t\t\t\tif ( callback.call( object[ i ], i, object[ i++ ] ) === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn object;\n\t},\n\n\t// Use native String.trim function wherever possible\n\ttrim: trim ?\n\t\tfunction( text ) {\n\t\t\treturn text == null ?\n\t\t\t\t"" :\n\t\t\t\ttrim.call( text );\n\t\t} :\n\n\t\t// Otherwise use our own trimming functionality\n\t\tfunction( text ) {\n\t\t\treturn text == null ?\n\t\t\t\t"" :\n\t\t\t\ttext.toString().replace( trimLeft, "" ).replace( trimRight, "" );\n\t\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( array, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( array != null ) {\n\t\t\t// The window, strings (and functions) also have \'length\'\n\t\t\t// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930\n\t\t\tvar type = jQuery.type( array );\n\n\t\t\tif ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) {\n\t\t\t\tpush.call( ret, array );\n\t\t\t} else {\n\t\t\t\tjQuery.merge( ret, array );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, array, i ) {\n\t\tvar len;\n\n\t\tif ( array ) {\n\t\t\tif ( indexOf ) {\n\t\t\t\treturn indexOf.call( array, elem, i );\n\t\t\t}\n\n\t\t\tlen = array.length;\n\t\t\ti = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;\n\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t// Skip accessing in sparse arrays\n\t\t\t\tif ( i in array && array[ i ] === elem ) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn -1;\n\t},\n\n\tmerge: function( first, second ) {\n\t\tvar i = first.length,\n\t\t\tj = 0;\n\n\t\tif ( typeof second.length === "number" ) {\n\t\t\tfor ( var l = second.length; j < l; j++ ) {\n\t\t\t\tfirst[ i++ ] = second[ j ];\n\t\t\t}\n\n\t\t} else {\n\t\t\twhile ( second[j] !== undefined ) {\n\t\t\t\tfirst[ i++ ] = second[ j++ ];\n\t\t\t}\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, inv ) {\n\t\tvar ret = [], retVal;\n\t\tinv = !!inv;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( var i = 0, length = elems.length; i < length; i++ ) {\n\t\t\tretVal = !!callback( elems[ i ], i );\n\t\t\tif ( inv !== retVal ) {\n\t\t\t\tret.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar value, key, ret = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\t// jquery objects are treated as arrays\n\t\t\tisArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ;\n\n\t\t// Go through the array, translating each of the items to their\n\t\tif ( isArray ) {\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret[ ret.length ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( key in elems ) {\n\t\t\t\tvalue = callback( elems[ key ], key, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret[ ret.length ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn ret.concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tif ( typeof context === "string" ) {\n\t\t\tvar tmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\tvar args = slice.call( arguments, 2 ),\n\t\t\tproxy = function() {\n\t\t\t\treturn fn.apply( context, args.concat( slice.call( arguments ) ) );\n\t\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\t// Mutifunctional method to get and set values to a collection\n\t// The value/s can optionally be executed if it\'s a function\n\taccess: function( elems, fn, key, value, chainable, emptyGet, pass ) {\n\t\tvar exec,\n\t\t\tbulk = key == null,\n\t\t\ti = 0,\n\t\t\tlength = elems.length;\n\n\t\t// Sets many values\n\t\tif ( key && typeof key === "object" ) {\n\t\t\tfor ( i in key ) {\n\t\t\t\tjQuery.access( elems, fn, i, key[i], 1, emptyGet, value );\n\t\t\t}\n\t\t\tchainable = 1;\n\n\t\t// Sets one value\n\t\t} else if ( value !== undefined ) {\n\t\t\t// Optionally, function values get executed if exec is true\n\t\t\texec = pass === undefined && jQuery.isFunction( value );\n\n\t\t\tif ( bulk ) {\n\t\t\t\t// Bulk operations only iterate when executing function values\n\t\t\t\tif ( exec ) {\n\t\t\t\t\texec = fn;\n\t\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\t\treturn exec.call( jQuery( elem ), value );\n\t\t\t\t\t};\n\n\t\t\t\t// Otherwise they run against the entire set\n\t\t\t\t} else {\n\t\t\t\t\tfn.call( elems, value );\n\t\t\t\t\tfn = null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( fn ) {\n\t\t\t\tfor (; i < length; i++ ) {\n\t\t\t\t\tfn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tchainable = 1;\n\t\t}\n\n\t\treturn chainable ?\n\t\t\telems :\n\n\t\t\t// Gets\n\t\t\tbulk ?\n\t\t\t\tfn.call( elems ) :\n\t\t\t\tlength ? fn( elems[0], key ) : emptyGet;\n\t},\n\n\tnow: function() {\n\t\treturn ( new Date() ).getTime();\n\t},\n\n\t// Use of jQuery.browser is frowned upon.\n\t// More details: http://docs.jquery.com/Utilities/jQuery.browser\n\tuaMatch: function( ua ) {\n\t\tua = ua.toLowerCase();\n\n\t\tvar match = rwebkit.exec( ua ) ||\n\t\t\tropera.exec( ua ) ||\n\t\t\trmsie.exec( ua ) ||\n\t\t\tua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||\n\t\t\t[];\n\n\t\treturn { browser: match[1] || "", version: match[2] || "0" };\n\t},\n\n\tsub: function() {\n\t\tfunction jQuerySub( selector, context ) {\n\t\t\treturn new jQuerySub.fn.init( selector, context );\n\t\t}\n\t\tjQuery.extend( true, jQuerySub, this );\n\t\tjQuerySub.superclass = this;\n\t\tjQuerySub.fn = jQuerySub.prototype = this();\n\t\tjQuerySub.fn.constructor = jQuerySub;\n\t\tjQuerySub.sub = this.sub;\n\t\tjQuerySub.fn.init = function init( selector, context ) {\n\t\t\tif ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {\n\t\t\t\tcontext = jQuerySub( context );\n\t\t\t}\n\n\t\t\treturn jQuery.fn.init.call( this, selector, context, rootjQuerySub );\n\t\t};\n\t\tjQuerySub.fn.init.prototype = jQuerySub.fn;\n\t\tvar rootjQuerySub = jQuerySub(document);\n\t\treturn jQuerySub;\n\t},\n\n\tbrowser: {}\n});\n\n// Populate the class2type map\njQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {\n\tclass2type[ "[object " + name + "]" ] = name.toLowerCase();\n});\n\nbrowserMatch = jQuery.uaMatch( userAgent );\nif ( browserMatch.browser ) {\n\tjQuery.browser[ browserMatch.browser ] = true;\n\tjQuery.browser.version = browserMatch.version;\n}\n\n// Deprecated, use jQuery.browser.webkit instead\nif ( jQuery.browser.webkit ) {\n\tjQuery.browser.safari = true;\n}\n\n// IE doesn\'t match non-breaking spaces with \\s\nif ( rnotwhite.test( "\\xA0" ) ) {\n\ttrimLeft = /^[\\s\\xA0]+/;\n\ttrimRight = /[\\s\\xA0]+$/;\n}\n\n// All jQuery objects should point back to these\nrootjQuery = jQuery(document);\n\n// Cleanup functions for the document ready method\nif ( document.addEventListener ) {\n\tDOMContentLoaded = function() {\n\t\tdocument.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );\n\t\tjQuery.ready();\n\t};\n\n} else if ( document.attachEvent ) {\n\tDOMContentLoaded = function() {\n\t\t// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).\n\t\tif ( document.readyState === "complete" ) {\n\t\t\tdocument.detachEvent( "onreadystatechange", DOMContentLoaded );\n\t\t\tjQuery.ready();\n\t\t}\n\t};\n}\n\n// The DOM ready check for Internet Explorer\nfunction doScrollCheck() {\n\tif ( jQuery.isReady ) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\t// If IE is used, use the trick by Diego Perini\n\t\t// http://javascript.nwbox.com/IEContentLoaded/\n\t\tdocument.documentElement.doScroll("left");\n\t} catch(e) {\n\t\tsetTimeout( doScrollCheck, 1 );\n\t\treturn;\n\t}\n\n\t// and execute any waiting functions\n\tjQuery.ready();\n}\n\nreturn jQuery;\n\n})();\n\n\n// String to Object flags format cache\nvar flagsCache = {};\n\n// Convert String-formatted flags into Object-formatted ones and store in cache\nfunction createFlags( flags ) {\n\tvar object = flagsCache[ flags ] = {},\n\t\ti, length;\n\tflags = flags.split( /\\s+/ );\n\tfor ( i = 0, length = flags.length; i < length; i++ ) {\n\t\tobject[ flags[i] ] = true;\n\t}\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\tflags:\tan optional list of space-separated flags that will change how\n *\t\t\tthe callback list behaves\n *\n * By default a callback list will act like an event callback list and can be\n * "fired" multiple times.\n *\n * Possible flags:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest "memorized"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( flags ) {\n\n\t// Convert flags from String-formatted to Object-formatted\n\t// (we check in cache first)\n\tflags = flags ? ( flagsCache[ flags ] || createFlags( flags ) ) : {};\n\n\tvar // Actual callback list\n\t\tlist = [],\n\t\t// Stack of fire calls for repeatable lists\n\t\tstack = [],\n\t\t// Last fire value (for non-forgettable lists)\n\t\tmemory,\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\t\t// Flag to know if list is currently firing\n\t\tfiring,\n\t\t// First callback to fire (used internally by add and fireWith)\n\t\tfiringStart,\n\t\t// End of the loop when firing\n\t\tfiringLength,\n\t\t// Index of currently firing callback (modified by remove if needed)\n\t\tfiringIndex,\n\t\t// Add one or several callbacks to the list\n\t\tadd = function( args ) {\n\t\t\tvar i,\n\t\t\t\tlength,\n\t\t\t\telem,\n\t\t\t\ttype,\n\t\t\t\tactual;\n\t\t\tfor ( i = 0, length = args.length; i < length; i++ ) {\n\t\t\t\telem = args[ i ];\n\t\t\t\ttype = jQuery.type( elem );\n\t\t\t\tif ( type === "array" ) {\n\t\t\t\t\t// Inspect recursively\n\t\t\t\t\tadd( elem );\n\t\t\t\t} else if ( type === "function" ) {\n\t\t\t\t\t// Add if not in unique mode and callback is not in\n\t\t\t\t\tif ( !flags.unique || !self.has( elem ) ) {\n\t\t\t\t\t\tlist.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Fire callbacks\n\t\tfire = function( context, args ) {\n\t\t\targs = args || [];\n\t\t\tmemory = !flags.memory || [ context, args ];\n\t\t\tfired = true;\n\t\t\tfiring = true;\n\t\t\tfiringIndex = firingStart || 0;\n\t\t\tfiringStart = 0;\n\t\t\tfiringLength = list.length;\n\t\t\tfor ( ; list && firingIndex < firingLength; firingIndex++ ) {\n\t\t\t\tif ( list[ firingIndex ].apply( context, args ) === false && flags.stopOnFalse ) {\n\t\t\t\t\tmemory = true; // Mark as halted\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfiring = false;\n\t\t\tif ( list ) {\n\t\t\t\tif ( !flags.once ) {\n\t\t\t\t\tif ( stack && stack.length ) {\n\t\t\t\t\t\tmemory = stack.shift();\n\t\t\t\t\t\tself.fireWith( memory[ 0 ], memory[ 1 ] );\n\t\t\t\t\t}\n\t\t\t\t} else if ( memory === true ) {\n\t\t\t\t\tself.disable();\n\t\t\t\t} else {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Actual Callbacks object\n\t\tself = {\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tvar length = list.length;\n\t\t\t\t\tadd( arguments );\n\t\t\t\t\t// Do we need to add the callbacks to the\n\t\t\t\t\t// current firing batch?\n\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\tfiringLength = list.length;\n\t\t\t\t\t// With memory, if we\'re not firing then\n\t\t\t\t\t// we should call right away, unless previous\n\t\t\t\t\t// firing was halted (stopOnFalse)\n\t\t\t\t\t} else if ( memory && memory !== true ) {\n\t\t\t\t\t\tfiringStart = length;\n\t\t\t\t\t\tfire( memory[ 0 ], memory[ 1 ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tvar args = arguments,\n\t\t\t\t\t\targIndex = 0,\n\t\t\t\t\t\targLength = args.length;\n\t\t\t\t\tfor ( ; argIndex < argLength ; argIndex++ ) {\n\t\t\t\t\t\tfor ( var i = 0; i < list.length; i++ ) {\n\t\t\t\t\t\t\tif ( args[ argIndex ] === list[ i ] ) {\n\t\t\t\t\t\t\t\t// Handle firingIndex and firingLength\n\t\t\t\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\t\t\t\tif ( i <= firingLength ) {\n\t\t\t\t\t\t\t\t\t\tfiringLength--;\n\t\t\t\t\t\t\t\t\t\tif ( i <= firingIndex ) {\n\t\t\t\t\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Remove the element\n\t\t\t\t\t\t\t\tlist.splice( i--, 1 );\n\t\t\t\t\t\t\t\t// If we have some unicity property then\n\t\t\t\t\t\t\t\t// we only need to do this once\n\t\t\t\t\t\t\t\tif ( flags.unique ) {\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Control if a given callback is in the list\n\t\t\thas: function( fn ) {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tvar i = 0,\n\t\t\t\t\t\tlength = list.length;\n\t\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\t\tif ( fn === list[ i ] ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tlist = [];\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Have the list do nothing anymore\n\t\t\tdisable: function() {\n\t\t\t\tlist = stack = memory = undefined;\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Is it disabled?\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\t\t\t// Lock the list in its current state\n\t\t\tlock: function() {\n\t\t\t\tstack = undefined;\n\t\t\t\tif ( !memory || memory === true ) {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Is it locked?\n\t\t\tlocked: function() {\n\t\t\t\treturn !stack;\n\t\t\t},\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( stack ) {\n\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\tif ( !flags.once ) {\n\t\t\t\t\t\t\tstack.push( [ context, args ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( !( flags.once && memory ) ) {\n\t\t\t\t\t\tfire( context, args );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\n\n\nvar // Static reference to slice\n\tsliceDeferred = [].slice;\n\njQuery.extend({\n\n\tDeferred: function( func ) {\n\t\tvar doneList = jQuery.Callbacks( "once memory" ),\n\t\t\tfailList = jQuery.Callbacks( "once memory" ),\n\t\t\tprogressList = jQuery.Callbacks( "memory" ),\n\t\t\tstate = "pending",\n\t\t\tlists = {\n\t\t\t\tresolve: doneList,\n\t\t\t\treject: failList,\n\t\t\t\tnotify: progressList\n\t\t\t},\n\t\t\tpromise = {\n\t\t\t\tdone: doneList.add,\n\t\t\t\tfail: failList.add,\n\t\t\t\tprogress: progressList.add,\n\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\n\t\t\t\t// Deprecated\n\t\t\t\tisResolved: doneList.fired,\n\t\t\t\tisRejected: failList.fired,\n\n\t\t\t\tthen: function( doneCallbacks, failCallbacks, progressCallbacks ) {\n\t\t\t\t\tdeferred.done( doneCallbacks ).fail( failCallbacks ).progress( progressCallbacks );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done.apply( deferred, arguments ).fail.apply( deferred, arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tpipe: function( fnDone, fnFail, fnProgress ) {\n\t\t\t\t\treturn jQuery.Deferred(function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( {\n\t\t\t\t\t\t\tdone: [ fnDone, "resolve" ],\n\t\t\t\t\t\t\tfail: [ fnFail, "reject" ],\n\t\t\t\t\t\t\tprogress: [ fnProgress, "notify" ]\n\t\t\t\t\t\t}, function( handler, data ) {\n\t\t\t\t\t\t\tvar fn = data[ 0 ],\n\t\t\t\t\t\t\t\taction = data[ 1 ],\n\t\t\t\t\t\t\t\treturned;\n\t\t\t\t\t\t\tif ( jQuery.isFunction( fn ) ) {\n\t\t\t\t\t\t\t\tdeferred[ handler ](function() {\n\t\t\t\t\t\t\t\t\treturned = fn.apply( this, arguments );\n\t\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\t\treturned.promise().then( newDefer.resolve, newDefer.reject, newDefer.notify );\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tnewDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdeferred[ handler ]( newDefer[ action ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}).promise();\n\t\t\t\t},\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\tif ( obj == null ) {\n\t\t\t\t\t\tobj = promise;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor ( var key in promise ) {\n\t\t\t\t\t\t\tobj[ key ] = promise[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn obj;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = promise.promise({}),\n\t\t\tkey;\n\n\t\tfor ( key in lists ) {\n\t\t\tdeferred[ key ] = lists[ key ].fire;\n\t\t\tdeferred[ key + "With" ] = lists[ key ].fireWith;\n\t\t}\n\n\t\t// Handle state\n\t\tdeferred.done( function() {\n\t\t\tstate = "resolved";\n\t\t}, failList.disable, progressList.lock ).fail( function() {\n\t\t\tstate = "rejected";\n\t\t}, doneList.disable, progressList.lock );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( firstParam ) {\n\t\tvar args = sliceDeferred.call( arguments, 0 ),\n\t\t\ti = 0,\n\t\t\tlength = args.length,\n\t\t\tpValues = new Array( length ),\n\t\t\tcount = length,\n\t\t\tpCount = length,\n\t\t\tdeferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ?\n\t\t\t\tfirstParam :\n\t\t\t\tjQuery.Deferred(),\n\t\t\tpromise = deferred.promise();\n\t\tfunction resolveFunc( i ) {\n\t\t\treturn function( value ) {\n\t\t\t\targs[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdeferred.resolveWith( deferred, args );\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\tfunction progressFunc( i ) {\n\t\t\treturn function( value ) {\n\t\t\t\tpValues[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;\n\t\t\t\tdeferred.notifyWith( promise, pValues );\n\t\t\t};\n\t\t}\n\t\tif ( length > 1 ) {\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( args[ i ] && args[ i ].promise && jQuery.isFunction( args[ i ].promise ) ) {\n\t\t\t\t\targs[ i ].promise().then( resolveFunc(i), deferred.reject, progressFunc(i) );\n\t\t\t\t} else {\n\t\t\t\t\t--count;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( !count ) {\n\t\t\t\tdeferred.resolveWith( deferred, args );\n\t\t\t}\n\t\t} else if ( deferred !== firstParam ) {\n\t\t\tdeferred.resolveWith( deferred, length ? [ firstParam ] : [] );\n\t\t}\n\t\treturn promise;\n\t}\n});\n\n\n\n\njQuery.support = (function() {\n\n\tvar support,\n\t\tall,\n\t\ta,\n\t\tselect,\n\t\topt,\n\t\tinput,\n\t\tfragment,\n\t\ttds,\n\t\tevents,\n\t\teventName,\n\t\ti,\n\t\tisSupported,\n\t\tdiv = document.createElement( "div" ),\n\t\tdocumentElement = document.documentElement;\n\n\t// Preliminary tests\n\tdiv.setAttribute("className", "t");\n\tdiv.innerHTML = "
    a";\n\n\tall = div.getElementsByTagName( "*" );\n\ta = div.getElementsByTagName( "a" )[ 0 ];\n\n\t// Can\'t get basic test support\n\tif ( !all || !all.length || !a ) {\n\t\treturn {};\n\t}\n\n\t// First batch of supports tests\n\tselect = document.createElement( "select" );\n\topt = select.appendChild( document.createElement("option") );\n\tinput = div.getElementsByTagName( "input" )[ 0 ];\n\n\tsupport = {\n\t\t// IE strips leading whitespace when .innerHTML is used\n\t\tleadingWhitespace: ( div.firstChild.nodeType === 3 ),\n\n\t\t// Make sure that tbody elements aren\'t automatically inserted\n\t\t// IE will insert them into empty tables\n\t\ttbody: !div.getElementsByTagName("tbody").length,\n\n\t\t// Make sure that link elements get serialized correctly by innerHTML\n\t\t// This requires a wrapper element in IE\n\t\thtmlSerialize: !!div.getElementsByTagName("link").length,\n\n\t\t// Get the style information from getAttribute\n\t\t// (IE uses .cssText instead)\n\t\tstyle: /top/.test( a.getAttribute("style") ),\n\n\t\t// Make sure that URLs aren\'t manipulated\n\t\t// (IE normalizes it by default)\n\t\threfNormalized: ( a.getAttribute("href") === "/a" ),\n\n\t\t// Make sure that element opacity exists\n\t\t// (IE uses filter instead)\n\t\t// Use a regex to work around a WebKit issue. See #5145\n\t\topacity: /^0.55/.test( a.style.opacity ),\n\n\t\t// Verify style float existence\n\t\t// (IE uses styleFloat instead of cssFloat)\n\t\tcssFloat: !!a.style.cssFloat,\n\n\t\t// Make sure that if no value is specified for a checkbox\n\t\t// that it defaults to "on".\n\t\t// (WebKit defaults to "" instead)\n\t\tcheckOn: ( input.value === "on" ),\n\n\t\t// Make sure that a selected-by-default option has a working selected property.\n\t\t// (WebKit defaults to false instead of true, IE too, if it\'s in an optgroup)\n\t\toptSelected: opt.selected,\n\n\t\t// Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)\n\t\tgetSetAttribute: div.className !== "t",\n\n\t\t// Tests for enctype support on a form(#6743)\n\t\tenctype: !!document.createElement("form").enctype,\n\n\t\t// Makes sure cloning an html5 element does not cause problems\n\t\t// Where outerHTML is undefined, this still works\n\t\thtml5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>",\n\n\t\t// Will be defined later\n\t\tsubmitBubbles: true,\n\t\tchangeBubbles: true,\n\t\tfocusinBubbles: false,\n\t\tdeleteExpando: true,\n\t\tnoCloneEvent: true,\n\t\tinlineBlockNeedsLayout: false,\n\t\tshrinkWrapBlocks: false,\n\t\treliableMarginRight: true,\n\t\tpixelMargin: true\n\t};\n\n\t// jQuery.boxModel DEPRECATED in 1.3, use jQuery.support.boxModel instead\n\tjQuery.boxModel = support.boxModel = (document.compatMode === "CSS1Compat");\n\n\t// Make sure checked status is properly cloned\n\tinput.checked = true;\n\tsupport.noCloneChecked = input.cloneNode( true ).checked;\n\n\t// Make sure that the options inside disabled selects aren\'t marked as disabled\n\t// (WebKit marks them as disabled)\n\tselect.disabled = true;\n\tsupport.optDisabled = !opt.disabled;\n\n\t// Test to see if it\'s possible to delete an expando from an element\n\t// Fails in Internet Explorer\n\ttry {\n\t\tdelete div.test;\n\t} catch( e ) {\n\t\tsupport.deleteExpando = false;\n\t}\n\n\tif ( !div.addEventListener && div.attachEvent && div.fireEvent ) {\n\t\tdiv.attachEvent( "onclick", function() {\n\t\t\t// Cloning a node shouldn\'t copy over any\n\t\t\t// bound event handlers (IE does this)\n\t\t\tsupport.noCloneEvent = false;\n\t\t});\n\t\tdiv.cloneNode( true ).fireEvent( "onclick" );\n\t}\n\n\t// Check if a radio maintains its value\n\t// after being appended to the DOM\n\tinput = document.createElement("input");\n\tinput.value = "t";\n\tinput.setAttribute("type", "radio");\n\tsupport.radioValue = input.value === "t";\n\n\tinput.setAttribute("checked", "checked");\n\n\t// #11217 - WebKit loses check when the name is after the checked attribute\n\tinput.setAttribute( "name", "t" );\n\n\tdiv.appendChild( input );\n\tfragment = document.createDocumentFragment();\n\tfragment.appendChild( div.lastChild );\n\n\t// WebKit doesn\'t clone checked state correctly in fragments\n\tsupport.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Check if a disconnected checkbox will retain its checked\n\t// value of true after appended to the DOM (IE6/7)\n\tsupport.appendChecked = input.checked;\n\n\tfragment.removeChild( input );\n\tfragment.appendChild( div );\n\n\t// Technique from Juriy Zaytsev\n\t// http://perfectionkills.com/detecting-event-support-without-browser-sniffing/\n\t// We only care about the case where non-standard event systems\n\t// are used, namely in IE. Short-circuiting here helps us to\n\t// avoid an eval call (in setAttribute) which can cause CSP\n\t// to go haywire. See: https://developer.mozilla.org/en/Security/CSP\n\tif ( div.attachEvent ) {\n\t\tfor ( i in {\n\t\t\tsubmit: 1,\n\t\t\tchange: 1,\n\t\t\tfocusin: 1\n\t\t}) {\n\t\t\teventName = "on" + i;\n\t\t\tisSupported = ( eventName in div );\n\t\t\tif ( !isSupported ) {\n\t\t\t\tdiv.setAttribute( eventName, "return;" );\n\t\t\t\tisSupported = ( typeof div[ eventName ] === "function" );\n\t\t\t}\n\t\t\tsupport[ i + "Bubbles" ] = isSupported;\n\t\t}\n\t}\n\n\tfragment.removeChild( div );\n\n\t// Null elements to avoid leaks in IE\n\tfragment = select = opt = div = input = null;\n\n\t// Run tests that need a body at doc ready\n\tjQuery(function() {\n\t\tvar container, outer, inner, table, td, offsetSupport,\n\t\t\tmarginDiv, conMarginTop, style, html, positionTopLeftWidthHeight,\n\t\t\tpaddingMarginBorderVisibility, paddingMarginBorder,\n\t\t\tbody = document.getElementsByTagName("body")[0];\n\n\t\tif ( !body ) {\n\t\t\t// Return for frameset docs that don\'t have a body\n\t\t\treturn;\n\t\t}\n\n\t\tconMarginTop = 1;\n\t\tpaddingMarginBorder = "padding:0;margin:0;border:";\n\t\tpositionTopLeftWidthHeight = "position:absolute;top:0;left:0;width:1px;height:1px;";\n\t\tpaddingMarginBorderVisibility = paddingMarginBorder + "0;visibility:hidden;";\n\t\tstyle = "style=\'" + positionTopLeftWidthHeight + paddingMarginBorder + "5px solid #000;";\n\t\thtml = "
    " +\n\t\t\t"" +\n\t\t\t"
    ";\n\n\t\tcontainer = document.createElement("div");\n\t\tcontainer.style.cssText = paddingMarginBorderVisibility + "width:0;height:0;position:static;top:0;margin-top:" + conMarginTop + "px";\n\t\tbody.insertBefore( container, body.firstChild );\n\n\t\t// Construct the test element\n\t\tdiv = document.createElement("div");\n\t\tcontainer.appendChild( div );\n\n\t\t// Check if table cells still have offsetWidth/Height when they are set\n\t\t// to display:none and there are still other visible table cells in a\n\t\t// table row; if so, offsetWidth/Height are not reliable for use when\n\t\t// determining if an element has been hidden directly using\n\t\t// display:none (it is still safe to use offsets if a parent element is\n\t\t// hidden; don safety goggles and see bug #4512 for more information).\n\t\t// (only IE 8 fails this test)\n\t\tdiv.innerHTML = "
    t
    ";\n\t\ttds = div.getElementsByTagName( "td" );\n\t\tisSupported = ( tds[ 0 ].offsetHeight === 0 );\n\n\t\ttds[ 0 ].style.display = "";\n\t\ttds[ 1 ].style.display = "none";\n\n\t\t// Check if empty table cells still have offsetWidth/Height\n\t\t// (IE <= 8 fail this test)\n\t\tsupport.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );\n\n\t\t// Check if div with explicit width and no margin-right incorrectly\n\t\t// gets computed margin-right based on width of container. For more\n\t\t// info see bug #3333\n\t\t// Fails in WebKit before Feb 2011 nightlies\n\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right\n\t\tif ( window.getComputedStyle ) {\n\t\t\tdiv.innerHTML = "";\n\t\t\tmarginDiv = document.createElement( "div" );\n\t\t\tmarginDiv.style.width = "0";\n\t\t\tmarginDiv.style.marginRight = "0";\n\t\t\tdiv.style.width = "2px";\n\t\t\tdiv.appendChild( marginDiv );\n\t\t\tsupport.reliableMarginRight =\n\t\t\t\t( parseInt( ( window.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0;\n\t\t}\n\n\t\tif ( typeof div.style.zoom !== "undefined" ) {\n\t\t\t// Check if natively block-level elements act like inline-block\n\t\t\t// elements when setting their display to \'inline\' and giving\n\t\t\t// them layout\n\t\t\t// (IE < 8 does this)\n\t\t\tdiv.innerHTML = "";\n\t\t\tdiv.style.width = div.style.padding = "1px";\n\t\t\tdiv.style.border = 0;\n\t\t\tdiv.style.overflow = "hidden";\n\t\t\tdiv.style.display = "inline";\n\t\t\tdiv.style.zoom = 1;\n\t\t\tsupport.inlineBlockNeedsLayout = ( div.offsetWidth === 3 );\n\n\t\t\t// Check if elements with layout shrink-wrap their children\n\t\t\t// (IE 6 does this)\n\t\t\tdiv.style.display = "block";\n\t\t\tdiv.style.overflow = "visible";\n\t\t\tdiv.innerHTML = "
    ";\n\t\t\tsupport.shrinkWrapBlocks = ( div.offsetWidth !== 3 );\n\t\t}\n\n\t\tdiv.style.cssText = positionTopLeftWidthHeight + paddingMarginBorderVisibility;\n\t\tdiv.innerHTML = html;\n\n\t\touter = div.firstChild;\n\t\tinner = outer.firstChild;\n\t\ttd = outer.nextSibling.firstChild.firstChild;\n\n\t\toffsetSupport = {\n\t\t\tdoesNotAddBorder: ( inner.offsetTop !== 5 ),\n\t\t\tdoesAddBorderForTableAndCells: ( td.offsetTop === 5 )\n\t\t};\n\n\t\tinner.style.position = "fixed";\n\t\tinner.style.top = "20px";\n\n\t\t// safari subtracts parent border width here which is 5px\n\t\toffsetSupport.fixedPosition = ( inner.offsetTop === 20 || inner.offsetTop === 15 );\n\t\tinner.style.position = inner.style.top = "";\n\n\t\touter.style.overflow = "hidden";\n\t\touter.style.position = "relative";\n\n\t\toffsetSupport.subtractsBorderForOverflowNotVisible = ( inner.offsetTop === -5 );\n\t\toffsetSupport.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== conMarginTop );\n\n\t\tif ( window.getComputedStyle ) {\n\t\t\tdiv.style.marginTop = "1%";\n\t\t\tsupport.pixelMargin = ( window.getComputedStyle( div, null ) || { marginTop: 0 } ).marginTop !== "1%";\n\t\t}\n\n\t\tif ( typeof container.style.zoom !== "undefined" ) {\n\t\t\tcontainer.style.zoom = 1;\n\t\t}\n\n\t\tbody.removeChild( container );\n\t\tmarginDiv = div = container = null;\n\n\t\tjQuery.extend( support, offsetSupport );\n\t});\n\n\treturn support;\n})();\n\n\n\n\nvar rbrace = /^(?:\\{.*\\}|\\[.*\\])$/,\n\trmultiDash = /([A-Z])/g;\n\njQuery.extend({\n\tcache: {},\n\n\t// Please use with caution\n\tuuid: 0,\n\n\t// Unique for each copy of jQuery on the page\n\t// Non-digits removed to match rinlinejQuery\n\texpando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\\D/g, "" ),\n\n\t// The following elements throw uncatchable exceptions if you\n\t// attempt to add expando properties to them.\n\tnoData: {\n\t\t"embed": true,\n\t\t// Ban all objects except for Flash (which handle expandos)\n\t\t"object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",\n\t\t"applet": true\n\t},\n\n\thasData: function( elem ) {\n\t\telem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];\n\t\treturn !!elem && !isEmptyDataObject( elem );\n\t},\n\n\tdata: function( elem, name, data, pvt /* Internal Use Only */ ) {\n\t\tif ( !jQuery.acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar privateCache, thisCache, ret,\n\t\t\tinternalKey = jQuery.expando,\n\t\t\tgetByName = typeof name === "string",\n\n\t\t\t// We have to handle DOM nodes and JS objects differently because IE6-7\n\t\t\t// can\'t GC object references properly across the DOM-JS boundary\n\t\t\tisNode = elem.nodeType,\n\n\t\t\t// Only DOM nodes need the global jQuery cache; JS object data is\n\t\t\t// attached directly to the object so GC can occur automatically\n\t\t\tcache = isNode ? jQuery.cache : elem,\n\n\t\t\t// Only defining an ID for JS objects if its cache already exists allows\n\t\t\t// the code to shortcut on the same path as a DOM node with no cache\n\t\t\tid = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey,\n\t\t\tisEvents = name === "events";\n\n\t\t// Avoid doing any more work than we need to when trying to get data on an\n\t\t// object that has no data at all\n\t\tif ( (!id || !cache[id] || (!isEvents && !pvt && !cache[id].data)) && getByName && data === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !id ) {\n\t\t\t// Only DOM nodes need a new unique ID for each element since their data\n\t\t\t// ends up in the global cache\n\t\t\tif ( isNode ) {\n\t\t\t\telem[ internalKey ] = id = ++jQuery.uuid;\n\t\t\t} else {\n\t\t\t\tid = internalKey;\n\t\t\t}\n\t\t}\n\n\t\tif ( !cache[ id ] ) {\n\t\t\tcache[ id ] = {};\n\n\t\t\t// Avoids exposing jQuery metadata on plain JS objects when the object\n\t\t\t// is serialized using JSON.stringify\n\t\t\tif ( !isNode ) {\n\t\t\t\tcache[ id ].toJSON = jQuery.noop;\n\t\t\t}\n\t\t}\n\n\t\t// An object can be passed to jQuery.data instead of a key/value pair; this gets\n\t\t// shallow copied over onto the existing cache\n\t\tif ( typeof name === "object" || typeof name === "function" ) {\n\t\t\tif ( pvt ) {\n\t\t\t\tcache[ id ] = jQuery.extend( cache[ id ], name );\n\t\t\t} else {\n\t\t\t\tcache[ id ].data = jQuery.extend( cache[ id ].data, name );\n\t\t\t}\n\t\t}\n\n\t\tprivateCache = thisCache = cache[ id ];\n\n\t\t// jQuery data() is stored in a separate object inside the object\'s internal data\n\t\t// cache in order to avoid key collisions between internal data and user-defined\n\t\t// data.\n\t\tif ( !pvt ) {\n\t\t\tif ( !thisCache.data ) {\n\t\t\t\tthisCache.data = {};\n\t\t\t}\n\n\t\t\tthisCache = thisCache.data;\n\t\t}\n\n\t\tif ( data !== undefined ) {\n\t\t\tthisCache[ jQuery.camelCase( name ) ] = data;\n\t\t}\n\n\t\t// Users should not attempt to inspect the internal events object using jQuery.data,\n\t\t// it is undocumented and subject to change. But does anyone listen? No.\n\t\tif ( isEvents && !thisCache[ name ] ) {\n\t\t\treturn privateCache.events;\n\t\t}\n\n\t\t// Check for both converted-to-camel and non-converted data property names\n\t\t// If a data property was specified\n\t\tif ( getByName ) {\n\n\t\t\t// First Try to find as-is property data\n\t\t\tret = thisCache[ name ];\n\n\t\t\t// Test for null|undefined property data\n\t\t\tif ( ret == null ) {\n\n\t\t\t\t// Try to find the camelCased property\n\t\t\t\tret = thisCache[ jQuery.camelCase( name ) ];\n\t\t\t}\n\t\t} else {\n\t\t\tret = thisCache;\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tremoveData: function( elem, name, pvt /* Internal Use Only */ ) {\n\t\tif ( !jQuery.acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar thisCache, i, l,\n\n\t\t\t// Reference to internal data cache key\n\t\t\tinternalKey = jQuery.expando,\n\n\t\t\tisNode = elem.nodeType,\n\n\t\t\t// See jQuery.data for more information\n\t\t\tcache = isNode ? jQuery.cache : elem,\n\n\t\t\t// See jQuery.data for more information\n\t\t\tid = isNode ? elem[ internalKey ] : internalKey;\n\n\t\t// If there is already no cache entry for this object, there is no\n\t\t// purpose in continuing\n\t\tif ( !cache[ id ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( name ) {\n\n\t\t\tthisCache = pvt ? cache[ id ] : cache[ id ].data;\n\n\t\t\tif ( thisCache ) {\n\n\t\t\t\t// Support array or space separated string names for data keys\n\t\t\t\tif ( !jQuery.isArray( name ) ) {\n\n\t\t\t\t\t// try the string as a key before any manipulation\n\t\t\t\t\tif ( name in thisCache ) {\n\t\t\t\t\t\tname = [ name ];\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// split the camel cased version by spaces unless a key with the spaces exists\n\t\t\t\t\t\tname = jQuery.camelCase( name );\n\t\t\t\t\t\tif ( name in thisCache ) {\n\t\t\t\t\t\t\tname = [ name ];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tname = name.split( " " );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor ( i = 0, l = name.length; i < l; i++ ) {\n\t\t\t\t\tdelete thisCache[ name[i] ];\n\t\t\t\t}\n\n\t\t\t\t// If there is no data left in the cache, we want to continue\n\t\t\t\t// and let the cache object itself get destroyed\n\t\t\t\tif ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// See jQuery.data for more information\n\t\tif ( !pvt ) {\n\t\t\tdelete cache[ id ].data;\n\n\t\t\t// Don\'t destroy the parent cache unless the internal data object\n\t\t\t// had been the only thing left in it\n\t\t\tif ( !isEmptyDataObject(cache[ id ]) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Browsers that fail expando deletion also refuse to delete expandos on\n\t\t// the window, but it will allow it on all other JS objects; other browsers\n\t\t// don\'t care\n\t\t// Ensure that `cache` is not a window object #10080\n\t\tif ( jQuery.support.deleteExpando || !cache.setInterval ) {\n\t\t\tdelete cache[ id ];\n\t\t} else {\n\t\t\tcache[ id ] = null;\n\t\t}\n\n\t\t// We destroyed the cache and need to eliminate the expando on the node to avoid\n\t\t// false lookups in the cache for entries that no longer exist\n\t\tif ( isNode ) {\n\t\t\t// IE does not allow us to delete expando properties from nodes,\n\t\t\t// nor does it have a removeAttribute function on Document nodes;\n\t\t\t// we must handle all of these cases\n\t\t\tif ( jQuery.support.deleteExpando ) {\n\t\t\t\tdelete elem[ internalKey ];\n\t\t\t} else if ( elem.removeAttribute ) {\n\t\t\t\telem.removeAttribute( internalKey );\n\t\t\t} else {\n\t\t\t\telem[ internalKey ] = null;\n\t\t\t}\n\t\t}\n\t},\n\n\t// For internal use only.\n\t_data: function( elem, name, data ) {\n\t\treturn jQuery.data( elem, name, data, true );\n\t},\n\n\t// A method for determining if a DOM node can handle the data expando\n\tacceptData: function( elem ) {\n\t\tif ( elem.nodeName ) {\n\t\t\tvar match = jQuery.noData[ elem.nodeName.toLowerCase() ];\n\n\t\t\tif ( match ) {\n\t\t\t\treturn !(match === true || elem.getAttribute("classid") !== match);\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n});\n\njQuery.fn.extend({\n\tdata: function( key, value ) {\n\t\tvar parts, part, attr, name, l,\n\t\t\telem = this[0],\n\t\t\ti = 0,\n\t\t\tdata = null;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = jQuery.data( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) {\n\t\t\t\t\tattr = elem.attributes;\n\t\t\t\t\tfor ( l = attr.length; i < l; i++ ) {\n\t\t\t\t\t\tname = attr[i].name;\n\n\t\t\t\t\t\tif ( name.indexOf( "data-" ) === 0 ) {\n\t\t\t\t\t\t\tname = jQuery.camelCase( name.substring(5) );\n\n\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tjQuery._data( elem, "parsedAttrs", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === "object" ) {\n\t\t\treturn this.each(function() {\n\t\t\t\tjQuery.data( this, key );\n\t\t\t});\n\t\t}\n\n\t\tparts = key.split( ".", 2 );\n\t\tparts[1] = parts[1] ? "." + parts[1] : "";\n\t\tpart = parts[1] + "!";\n\n\t\treturn jQuery.access( this, function( value ) {\n\n\t\t\tif ( value === undefined ) {\n\t\t\t\tdata = this.triggerHandler( "getData" + part, [ parts[0] ] );\n\n\t\t\t\t// Try to fetch any internally stored data first\n\t\t\t\tif ( data === undefined && elem ) {\n\t\t\t\t\tdata = jQuery.data( elem, key );\n\t\t\t\t\tdata = dataAttr( elem, key, data );\n\t\t\t\t}\n\n\t\t\t\treturn data === undefined && parts[1] ?\n\t\t\t\t\tthis.data( parts[0] ) :\n\t\t\t\t\tdata;\n\t\t\t}\n\n\t\t\tparts[1] = value;\n\t\t\tthis.each(function() {\n\t\t\t\tvar self = jQuery( this );\n\n\t\t\t\tself.triggerHandler( "setData" + part, parts );\n\t\t\t\tjQuery.data( this, key, value );\n\t\t\t\tself.triggerHandler( "changeData" + part, parts );\n\t\t\t});\n\t\t}, null, value, arguments.length > 1, null, false );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.removeData( this, key );\n\t\t});\n\t}\n});\n\nfunction dataAttr( elem, key, data ) {\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\n\t\tvar name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();\n\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === "string" ) {\n\t\t\ttry {\n\t\t\t\tdata = data === "true" ? true :\n\t\t\t\tdata === "false" ? false :\n\t\t\t\tdata === "null" ? null :\n\t\t\t\tjQuery.isNumeric( data ) ? +data :\n\t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\tdata;\n\t\t\t} catch( e ) {}\n\n\t\t\t// Make sure we set the data so it isn\'t changed later\n\t\t\tjQuery.data( elem, key, data );\n\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\n\treturn data;\n}\n\n// checks a cache object for emptiness\nfunction isEmptyDataObject( obj ) {\n\tfor ( var name in obj ) {\n\n\t\t// if the public data object is empty, the private is still empty\n\t\tif ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( name !== "toJSON" ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n\n\n\nfunction handleQueueMarkDefer( elem, type, src ) {\n\tvar deferDataKey = type + "defer",\n\t\tqueueDataKey = type + "queue",\n\t\tmarkDataKey = type + "mark",\n\t\tdefer = jQuery._data( elem, deferDataKey );\n\tif ( defer &&\n\t\t( src === "queue" || !jQuery._data(elem, queueDataKey) ) &&\n\t\t( src === "mark" || !jQuery._data(elem, markDataKey) ) ) {\n\t\t// Give room for hard-coded callbacks to fire first\n\t\t// and eventually mark/queue something else on the element\n\t\tsetTimeout( function() {\n\t\t\tif ( !jQuery._data( elem, queueDataKey ) &&\n\t\t\t\t!jQuery._data( elem, markDataKey ) ) {\n\t\t\t\tjQuery.removeData( elem, deferDataKey, true );\n\t\t\t\tdefer.fire();\n\t\t\t}\n\t\t}, 0 );\n\t}\n}\n\njQuery.extend({\n\n\t_mark: function( elem, type ) {\n\t\tif ( elem ) {\n\t\t\ttype = ( type || "fx" ) + "mark";\n\t\t\tjQuery._data( elem, type, (jQuery._data( elem, type ) || 0) + 1 );\n\t\t}\n\t},\n\n\t_unmark: function( force, elem, type ) {\n\t\tif ( force !== true ) {\n\t\t\ttype = elem;\n\t\t\telem = force;\n\t\t\tforce = false;\n\t\t}\n\t\tif ( elem ) {\n\t\t\ttype = type || "fx";\n\t\t\tvar key = type + "mark",\n\t\t\t\tcount = force ? 0 : ( (jQuery._data( elem, key ) || 1) - 1 );\n\t\t\tif ( count ) {\n\t\t\t\tjQuery._data( elem, key, count );\n\t\t\t} else {\n\t\t\t\tjQuery.removeData( elem, key, true );\n\t\t\t\thandleQueueMarkDefer( elem, type, "mark" );\n\t\t\t}\n\t\t}\n\t},\n\n\tqueue: function( elem, type, data ) {\n\t\tvar q;\n\t\tif ( elem ) {\n\t\t\ttype = ( type || "fx" ) + "queue";\n\t\t\tq = jQuery._data( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !q || jQuery.isArray(data) ) {\n\t\t\t\t\tq = jQuery._data( elem, type, jQuery.makeArray(data) );\n\t\t\t\t} else {\n\t\t\t\t\tq.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn q || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || "fx";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tfn = queue.shift(),\n\t\t\thooks = {};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === "inprogress" ) {\n\t\t\tfn = queue.shift();\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === "fx" ) {\n\t\t\t\tqueue.unshift( "inprogress" );\n\t\t\t}\n\n\t\t\tjQuery._data( elem, type + ".run", hooks );\n\t\t\tfn.call( elem, function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t}, hooks );\n\t\t}\n\n\t\tif ( !queue.length ) {\n\t\t\tjQuery.removeData( elem, type + "queue " + type + ".run", true );\n\t\t\thandleQueueMarkDefer( elem, type, "queue" );\n\t\t}\n\t}\n});\n\njQuery.fn.extend({\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== "string" ) {\n\t\t\tdata = type;\n\t\t\ttype = "fx";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[0], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each(function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\tif ( type === "fx" && queue[0] !== "inprogress" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t});\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t});\n\t},\n\t// Based off of the plugin by Clint Helfers, with permission.\n\t// http://blindsignals.com/index.php/2009/07/jquery-delay/\n\tdelay: function( time, type ) {\n\t\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\t\ttype = type || "fx";\n\n\t\treturn this.queue( type, function( next, hooks ) {\n\t\t\tvar timeout = setTimeout( next, time );\n\t\t\thooks.stop = function() {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t};\n\t\t});\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || "fx", [] );\n\t},\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, object ) {\n\t\tif ( typeof type !== "string" ) {\n\t\t\tobject = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || "fx";\n\t\tvar defer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = elements.length,\n\t\t\tcount = 1,\n\t\t\tdeferDataKey = type + "defer",\n\t\t\tqueueDataKey = type + "queue",\n\t\t\tmarkDataKey = type + "mark",\n\t\t\ttmp;\n\t\tfunction resolve() {\n\t\t\tif ( !( --count ) ) {\n\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t}\n\t\t}\n\t\twhile( i-- ) {\n\t\t\tif (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) ||\n\t\t\t\t\t( jQuery.data( elements[ i ], queueDataKey, undefined, true ) ||\n\t\t\t\t\t\tjQuery.data( elements[ i ], markDataKey, undefined, true ) ) &&\n\t\t\t\t\tjQuery.data( elements[ i ], deferDataKey, jQuery.Callbacks( "once memory" ), true ) )) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( object );\n\t}\n});\n\n\n\n\nvar rclass = /[\\n\\t\\r]/g,\n\trspace = /\\s+/,\n\trreturn = /\\r/g,\n\trtype = /^(?:button|input)$/i,\n\trfocusable = /^(?:button|input|object|select|textarea)$/i,\n\trclickable = /^a(?:rea)?$/i,\n\trboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,\n\tgetSetAttribute = jQuery.support.getSetAttribute,\n\tnodeHook, boolHook, fixSpecified;\n\njQuery.fn.extend({\n\tattr: function( name, value ) {\n\t\treturn jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t});\n\t},\n\n\tprop: function( name, value ) {\n\t\treturn jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\tname = jQuery.propFix[ name ] || name;\n\t\treturn this.each(function() {\n\t\t\t// try/catch handles cases where IE balks (such as removing a property on window)\n\t\t\ttry {\n\t\t\t\tthis[ name ] = undefined;\n\t\t\t\tdelete this[ name ];\n\t\t\t} catch( e ) {}\n\t\t});\n\t},\n\n\taddClass: function( value ) {\n\t\tvar classNames, i, l, elem,\n\t\t\tsetClass, c, cl;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each(function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call(this, j, this.className) );\n\t\t\t});\n\t\t}\n\n\t\tif ( value && typeof value === "string" ) {\n\t\t\tclassNames = value.split( rspace );\n\n\t\t\tfor ( i = 0, l = this.length; i < l; i++ ) {\n\t\t\t\telem = this[ i ];\n\n\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\tif ( !elem.className && classNames.length === 1 ) {\n\t\t\t\t\t\telem.className = value;\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetClass = " " + elem.className + " ";\n\n\t\t\t\t\t\tfor ( c = 0, cl = classNames.length; c < cl; c++ ) {\n\t\t\t\t\t\t\tif ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) {\n\t\t\t\t\t\t\t\tsetClass += classNames[ c ] + " ";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telem.className = jQuery.trim( setClass );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classNames, i, l, elem, className, c, cl;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each(function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call(this, j, this.className) );\n\t\t\t});\n\t\t}\n\n\t\tif ( (value && typeof value === "string") || value === undefined ) {\n\t\t\tclassNames = ( value || "" ).split( rspace );\n\n\t\t\tfor ( i = 0, l = this.length; i < l; i++ ) {\n\t\t\t\telem = this[ i ];\n\n\t\t\t\tif ( elem.nodeType === 1 && elem.className ) {\n\t\t\t\t\tif ( value ) {\n\t\t\t\t\t\tclassName = (" " + elem.className + " ").replace( rclass, " " );\n\t\t\t\t\t\tfor ( c = 0, cl = classNames.length; c < cl; c++ ) {\n\t\t\t\t\t\t\tclassName = className.replace(" " + classNames[ c ] + " ", " ");\n\t\t\t\t\t\t}\n\t\t\t\t\t\telem.className = jQuery.trim( className );\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.className = "";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value,\n\t\t\tisBool = typeof stateVal === "boolean";\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each(function( i ) {\n\t\t\t\tjQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );\n\t\t\t});\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tif ( type === "string" ) {\n\t\t\t\t// toggle individual class names\n\t\t\t\tvar className,\n\t\t\t\t\ti = 0,\n\t\t\t\t\tself = jQuery( this ),\n\t\t\t\t\tstate = stateVal,\n\t\t\t\t\tclassNames = value.split( rspace );\n\n\t\t\t\twhile ( (className = classNames[ i++ ]) ) {\n\t\t\t\t\t// check each className given, space seperated list\n\t\t\t\t\tstate = isBool ? state : !self.hasClass( className );\n\t\t\t\t\tself[ state ? "addClass" : "removeClass" ]( className );\n\t\t\t\t}\n\n\t\t\t} else if ( type === "undefined" || type === "boolean" ) {\n\t\t\t\tif ( this.className ) {\n\t\t\t\t\t// store className if set\n\t\t\t\t\tjQuery._data( this, "__className__", this.className );\n\t\t\t\t}\n\n\t\t\t\t// toggle whole className\n\t\t\t\tthis.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";\n\t\t\t}\n\t\t});\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className = " " + selector + " ",\n\t\t\ti = 0,\n\t\t\tl = this.length;\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tif ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t},\n\n\tval: function( value ) {\n\t\tvar hooks, ret, isFunction,\n\t\t\telem = this[0];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\treturn typeof ret === "string" ?\n\t\t\t\t\t// handle most common string cases\n\t\t\t\t\tret.replace(rreturn, "") :\n\t\t\t\t\t// handle cases where value is null/undef or number\n\t\t\t\t\tret == null ? "" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tisFunction = jQuery.isFunction( value );\n\n\t\treturn this.each(function( i ) {\n\t\t\tvar self = jQuery(this), val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isFunction ) {\n\t\t\t\tval = value.call( this, i, self.val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as ""; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = "";\n\t\t\t} else if ( typeof val === "number" ) {\n\t\t\t\tval += "";\n\t\t\t} else if ( jQuery.isArray( val ) ) {\n\t\t\t\tval = jQuery.map(val, function ( value ) {\n\t\t\t\t\treturn value == null ? "" : value + "";\n\t\t\t\t});\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t});\n\t}\n});\n\njQuery.extend({\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\t\t\t\t// attributes.value is undefined in Blackberry 4.7 but\n\t\t\t\t// uses .value. See #6932\n\t\t\t\tvar val = elem.attributes.value;\n\t\t\t\treturn !val || val.specified ? elem.value : elem.text;\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, i, max, option,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tvalues = [],\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tone = elem.type === "select-one";\n\n\t\t\t\t// Nothing was selected\n\t\t\t\tif ( index < 0 ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\ti = one ? index : 0;\n\t\t\t\tmax = one ? index + 1 : options.length;\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Don\'t return options that are disabled or in a disabled optgroup\n\t\t\t\t\tif ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&\n\t\t\t\t\t\t\t(!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don\'t need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Fixes Bug #2551 -- select.val() broken in IE after form.reset()\n\t\t\t\tif ( one && !values.length && options.length ) {\n\t\t\t\t\treturn jQuery( options[ index ] ).val();\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar values = jQuery.makeArray( value );\n\n\t\t\t\tjQuery(elem).find("option").each(function() {\n\t\t\t\t\tthis.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;\n\t\t\t\t});\n\n\t\t\t\tif ( !values.length ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t},\n\n\tattrFn: {\n\t\tval: true,\n\t\tcss: true,\n\t\thtml: true,\n\t\ttext: true,\n\t\tdata: true,\n\t\twidth: true,\n\t\theight: true,\n\t\toffset: true\n\t},\n\n\tattr: function( elem, name, value, pass ) {\n\t\tvar ret, hooks, notxml,\n\t\t\tnType = elem.nodeType;\n\n\t\t// don\'t get/set attributes on text, comment and attribute nodes\n\t\tif ( !elem || nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( pass && name in jQuery.attrFn ) {\n\t\t\treturn jQuery( elem )[ name ]( value );\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === "undefined" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\tnotxml = nType !== 1 || !jQuery.isXMLDoc( elem );\n\n\t\t// All attributes are lowercase\n\t\t// Grab necessary hook if one is defined\n\t\tif ( notxml ) {\n\t\t\tname = name.toLowerCase();\n\t\t\thooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\n\t\t\t} else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) {\n\t\t\t\treturn ret;\n\n\t\t\t} else {\n\t\t\t\telem.setAttribute( name, "" + value );\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t} else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) {\n\t\t\treturn ret;\n\n\t\t} else {\n\n\t\t\tret = elem.getAttribute( name );\n\n\t\t\t// Non-existent attributes return null, we normalize to undefined\n\t\t\treturn ret === null ?\n\t\t\t\tundefined :\n\t\t\t\tret;\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar propName, attrNames, name, l, isBool,\n\t\t\ti = 0;\n\n\t\tif ( value && elem.nodeType === 1 ) {\n\t\t\tattrNames = value.toLowerCase().split( rspace );\n\t\t\tl = attrNames.length;\n\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tname = attrNames[ i ];\n\n\t\t\t\tif ( name ) {\n\t\t\t\t\tpropName = jQuery.propFix[ name ] || name;\n\t\t\t\t\tisBool = rboolean.test( name );\n\n\t\t\t\t\t// See #9699 for explanation of this approach (setting first, then removal)\n\t\t\t\t\t// Do not do this for boolean attributes (see #10870)\n\t\t\t\t\tif ( !isBool ) {\n\t\t\t\t\t\tjQuery.attr( elem, name, "" );\n\t\t\t\t\t}\n\t\t\t\t\telem.removeAttribute( getSetAttribute ? name : propName );\n\n\t\t\t\t\t// Set corresponding property to false for boolean attributes\n\t\t\t\t\tif ( isBool && propName in elem ) {\n\t\t\t\t\t\telem[ propName ] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\t// We can\'t allow the type property to be changed (since it causes problems in IE)\n\t\t\t\tif ( rtype.test( elem.nodeName ) && elem.parentNode ) {\n\t\t\t\t\tjQuery.error( "type property can\'t be changed" );\n\t\t\t\t} else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {\n\t\t\t\t\t// Setting the type on a radio button after the value resets the value in IE6-9\n\t\t\t\t\t// Reset value to it\'s default in case type is set after value\n\t\t\t\t\t// This is for element creation\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( "type", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Use the value property for back compat\n\t\t// Use the nodeHook for button elements in IE6/7 (#1954)\n\t\tvalue: {\n\t\t\tget: function( elem, name ) {\n\t\t\t\tif ( nodeHook && jQuery.nodeName( elem, "button" ) ) {\n\t\t\t\t\treturn nodeHook.get( elem, name );\n\t\t\t\t}\n\t\t\t\treturn name in elem ?\n\t\t\t\t\telem.value :\n\t\t\t\t\tnull;\n\t\t\t},\n\t\t\tset: function( elem, value, name ) {\n\t\t\t\tif ( nodeHook && jQuery.nodeName( elem, "button" ) ) {\n\t\t\t\t\treturn nodeHook.set( elem, value, name );\n\t\t\t\t}\n\t\t\t\t// Does not return so that setAttribute is also used\n\t\t\t\telem.value = value;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\ttabindex: "tabIndex",\n\t\treadonly: "readOnly",\n\t\t"for": "htmlFor",\n\t\t"class": "className",\n\t\tmaxlength: "maxLength",\n\t\tcellspacing: "cellSpacing",\n\t\tcellpadding: "cellPadding",\n\t\trowspan: "rowSpan",\n\t\tcolspan: "colSpan",\n\t\tusemap: "useMap",\n\t\tframeborder: "frameBorder",\n\t\tcontenteditable: "contentEditable"\n\t},\n\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks, notxml,\n\t\t\tnType = elem.nodeType;\n\n\t\t// don\'t get/set properties on text, comment and attribute nodes\n\t\tif ( !elem || nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnotxml = nType !== 1 || !jQuery.isXMLDoc( elem );\n\n\t\tif ( notxml ) {\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {\n\t\t\t\treturn ret;\n\n\t\t\t} else {\n\t\t\t\treturn ( elem[ name ] = value );\n\t\t\t}\n\n\t\t} else {\n\t\t\tif ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {\n\t\t\t\treturn ret;\n\n\t\t\t} else {\n\t\t\t\treturn elem[ name ];\n\t\t\t}\n\t\t}\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\t\t\t\t// elem.tabIndex doesn\'t always return the correct value when it hasn\'t been explicitly set\n\t\t\t\t// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\tvar attributeNode = elem.getAttributeNode("tabindex");\n\n\t\t\t\treturn attributeNode && attributeNode.specified ?\n\t\t\t\t\tparseInt( attributeNode.value, 10 ) :\n\t\t\t\t\trfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?\n\t\t\t\t\t\t0 :\n\t\t\t\t\t\tundefined;\n\t\t\t}\n\t\t}\n\t}\n});\n\n// Add the tabIndex propHook to attrHooks for back-compat (different case is intentional)\njQuery.attrHooks.tabindex = jQuery.propHooks.tabIndex;\n\n// Hook for boolean attributes\nboolHook = {\n\tget: function( elem, name ) {\n\t\t// Align boolean attributes with corresponding properties\n\t\t// Fall back to attribute presence where some booleans are not supported\n\t\tvar attrNode,\n\t\t\tproperty = jQuery.prop( elem, name );\n\t\treturn property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?\n\t\t\tname.toLowerCase() :\n\t\t\tundefined;\n\t},\n\tset: function( elem, value, name ) {\n\t\tvar propName;\n\t\tif ( value === false ) {\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\t// value is true since we know at this point it\'s type boolean and not false\n\t\t\t// Set boolean attributes to the same name and set the DOM property\n\t\t\tpropName = jQuery.propFix[ name ] || name;\n\t\t\tif ( propName in elem ) {\n\t\t\t\t// Only set the IDL specifically if it already exists on the element\n\t\t\t\telem[ propName ] = true;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, name.toLowerCase() );\n\t\t}\n\t\treturn name;\n\t}\n};\n\n// IE6/7 do not support getting/setting some attributes with get/setAttribute\nif ( !getSetAttribute ) {\n\n\tfixSpecified = {\n\t\tname: true,\n\t\tid: true,\n\t\tcoords: true\n\t};\n\n\t// Use this for any attribute in IE6/7\n\t// This fixes almost every IE6/7 issue\n\tnodeHook = jQuery.valHooks.button = {\n\t\tget: function( elem, name ) {\n\t\t\tvar ret;\n\t\t\tret = elem.getAttributeNode( name );\n\t\t\treturn ret && ( fixSpecified[ name ] ? ret.nodeValue !== "" : ret.specified ) ?\n\t\t\t\tret.nodeValue :\n\t\t\t\tundefined;\n\t\t},\n\t\tset: function( elem, value, name ) {\n\t\t\t// Set the existing or create a new attribute node\n\t\t\tvar ret = elem.getAttributeNode( name );\n\t\t\tif ( !ret ) {\n\t\t\t\tret = document.createAttribute( name );\n\t\t\t\telem.setAttributeNode( ret );\n\t\t\t}\n\t\t\treturn ( ret.nodeValue = value + "" );\n\t\t}\n\t};\n\n\t// Apply the nodeHook to tabindex\n\tjQuery.attrHooks.tabindex.set = nodeHook.set;\n\n\t// Set width and height to auto instead of 0 on empty string( Bug #8150 )\n\t// This is for removals\n\tjQuery.each([ "width", "height" ], function( i, name ) {\n\t\tjQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( value === "" ) {\n\t\t\t\t\telem.setAttribute( name, "auto" );\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\n\t// Set contenteditable to false on removals(#10429)\n\t// Setting to empty string throws an error as an invalid value\n\tjQuery.attrHooks.contenteditable = {\n\t\tget: nodeHook.get,\n\t\tset: function( elem, value, name ) {\n\t\t\tif ( value === "" ) {\n\t\t\t\tvalue = "false";\n\t\t\t}\n\t\t\tnodeHook.set( elem, value, name );\n\t\t}\n\t};\n}\n\n\n// Some attributes require a special call on IE\nif ( !jQuery.support.hrefNormalized ) {\n\tjQuery.each([ "href", "src", "width", "height" ], function( i, name ) {\n\t\tjQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar ret = elem.getAttribute( name, 2 );\n\t\t\t\treturn ret === null ? undefined : ret;\n\t\t\t}\n\t\t});\n\t});\n}\n\nif ( !jQuery.support.style ) {\n\tjQuery.attrHooks.style = {\n\t\tget: function( elem ) {\n\t\t\t// Return undefined in the case of empty string\n\t\t\t// Normalize to lowercase since IE uppercases css property names\n\t\t\treturn elem.style.cssText.toLowerCase() || undefined;\n\t\t},\n\t\tset: function( elem, value ) {\n\t\t\treturn ( elem.style.cssText = "" + value );\n\t\t}\n\t};\n}\n\n// Safari mis-reports the default selected property of an option\n// Accessing the parent\'s selectedIndex property fixes it\nif ( !jQuery.support.optSelected ) {\n\tjQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {\n\t\tget: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\t// Make sure that it also works with optgroups, see #5701\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t});\n}\n\n// IE6/7 call enctype encoding\nif ( !jQuery.support.enctype ) {\n\tjQuery.propFix.enctype = "encoding";\n}\n\n// Radios and checkboxes getter/setter\nif ( !jQuery.support.checkOn ) {\n\tjQuery.each([ "radio", "checkbox" ], function() {\n\t\tjQuery.valHooks[ this ] = {\n\t\t\tget: function( elem ) {\n\t\t\t\t// Handle the case where in Webkit "" is returned instead of "on" if a value isn\'t specified\n\t\t\t\treturn elem.getAttribute("value") === null ? "on" : elem.value;\n\t\t\t}\n\t\t};\n\t});\n}\njQuery.each([ "radio", "checkbox" ], function() {\n\tjQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {\n\t\tset: function( elem, value ) {\n\t\t\tif ( jQuery.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );\n\t\t\t}\n\t\t}\n\t});\n});\n\n\n\n\nvar rformElems = /^(?:textarea|input|select)$/i,\n\trtypenamespace = /^([^\\.]*)?(?:\\.(.+))?$/,\n\trhoverHack = /(?:^|\\s)hover(\\.\\S+)?\\b/,\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|contextmenu)|click/,\n\trfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\trquickIs = /^(\\w*)(?:#([\\w\\-]+))?(?:\\.([\\w\\-]+))?$/,\n\tquickParse = function( selector ) {\n\t\tvar quick = rquickIs.exec( selector );\n\t\tif ( quick ) {\n\t\t\t// 0 1 2 3\n\t\t\t// [ _, tag, id, class ]\n\t\t\tquick[1] = ( quick[1] || "" ).toLowerCase();\n\t\t\tquick[3] = quick[3] && new RegExp( "(?:^|\\\\s)" + quick[3] + "(?:\\\\s|$)" );\n\t\t}\n\t\treturn quick;\n\t},\n\tquickIs = function( elem, m ) {\n\t\tvar attrs = elem.attributes || {};\n\t\treturn (\n\t\t\t(!m[1] || elem.nodeName.toLowerCase() === m[1]) &&\n\t\t\t(!m[2] || (attrs.id || {}).value === m[2]) &&\n\t\t\t(!m[3] || m[3].test( (attrs[ "class" ] || {}).value ))\n\t\t);\n\t},\n\thoverHack = function( events ) {\n\t\treturn jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );\n\t};\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards\' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar elemData, eventHandle, events,\n\t\t\tt, tns, type, namespaces, handleObj,\n\t\t\thandleObjIn, quick, handlers, special;\n\n\t\t// Don\'t attach events to noData or text/comment nodes (allow plain objects tho)\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element\'s event structure and main handler, if this is the first\n\t\tevents = elemData.events;\n\t\tif ( !events ) {\n\t\t\telemData.events = events = {};\n\t\t}\n\t\teventHandle = elemData.handle;\n\t\tif ( !eventHandle ) {\n\t\t\telemData.handle = eventHandle = function( e ) {\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?\n\t\t\t\t\tjQuery.event.dispatch.apply( eventHandle.elem, arguments ) :\n\t\t\t\t\tundefined;\n\t\t\t};\n\t\t\t// Add elem as a property of the handle fn to prevent a memory leak with IE non-native events\n\t\t\teventHandle.elem = elem;\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\t// jQuery(...).bind("mouseover mouseout", fn);\n\t\ttypes = jQuery.trim( hoverHack(types) ).split( " " );\n\t\tfor ( t = 0; t < types.length; t++ ) {\n\n\t\t\ttns = rtypenamespace.exec( types[t] ) || [];\n\t\t\ttype = tns[1];\n\t\t\tnamespaces = ( tns[2] || "" ).split( "." ).sort();\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend({\n\t\t\t\ttype: type,\n\t\t\t\torigType: tns[1],\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tquick: selector && quickParse( selector ),\n\t\t\t\tnamespace: namespaces.join(".")\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we\'re the first\n\t\t\thandlers = events[ type ];\n\t\t\tif ( !handlers ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener/attachEvent if the special events handler returns false\n\t\t\t\tif ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\t\t\t\t\t// Bind the global event handler to the element\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle, false );\n\n\t\t\t\t\t} else if ( elem.attachEvent ) {\n\t\t\t\t\t\telem.attachEvent( "on" + type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element\'s handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t\t// Nullify elem to prevent memory leaks in IE\n\t\telem = null;\n\t},\n\n\tglobal: {},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar elemData = jQuery.hasData( elem ) && jQuery._data( elem ),\n\t\t\tt, tns, type, origType, namespaces, origCount,\n\t\t\tj, events, special, handle, eventType, handleObj;\n\n\t\tif ( !elemData || !(events = elemData.events) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = jQuery.trim( hoverHack( types || "" ) ).split(" ");\n\t\tfor ( t = 0; t < types.length; t++ ) {\n\t\t\ttns = rtypenamespace.exec( types[t] ) || [];\n\t\t\ttype = origType = tns[1];\n\t\t\tnamespaces = tns[2];\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector? special.delegateType : special.bindType ) || type;\n\t\t\teventType = events[ type ] || [];\n\t\t\torigCount = eventType.length;\n\t\t\tnamespaces = namespaces ? new RegExp("(^|\\\\.)" + namespaces.split(".").sort().join("\\\\.(?:.*\\\\.)?") + "(\\\\.|$)") : null;\n\n\t\t\t// Remove matching events\n\t\t\tfor ( j = 0; j < eventType.length; j++ ) {\n\t\t\t\thandleObj = eventType[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t ( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t ( !namespaces || namespaces.test( handleObj.namespace ) ) &&\n\t\t\t\t\t ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {\n\t\t\t\t\teventType.splice( j--, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\teventType.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( eventType.length === 0 && origCount !== eventType.length ) {\n\t\t\t\tif ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if it\'s no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\thandle = elemData.handle;\n\t\t\tif ( handle ) {\n\t\t\t\thandle.elem = null;\n\t\t\t}\n\n\t\t\t// removeData also checks for emptiness and clears the expando if empty\n\t\t\t// so use it instead of delete\n\t\t\tjQuery.removeData( elem, [ "events", "handle" ], true );\n\t\t}\n\t},\n\n\t// Events that are safe to short-circuit if no handlers are attached.\n\t// Native DOM events should not be added, they may have inline handlers.\n\tcustomEvent: {\n\t\t"getData": true,\n\t\t"setData": true,\n\t\t"changeData": true\n\t},\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\t\t// Don\'t do events on text and comment nodes\n\t\tif ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Event object or event type\n\t\tvar type = event.type || event,\n\t\t\tnamespaces = [],\n\t\t\tcache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType;\n\n\t\t// focus/blur morphs to focusin/out; ensure we\'re not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( "!" ) >= 0 ) {\n\t\t\t// Exclusive events trigger only for the exact event (no namespaces)\n\t\t\ttype = type.slice(0, -1);\n\t\t\texclusive = true;\n\t\t}\n\n\t\tif ( type.indexOf( "." ) >= 0 ) {\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split(".");\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\n\t\tif ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) {\n\t\t\t// No jQuery handlers for this event type, and it can\'t have inline handlers\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an Event, Object, or just an event type string\n\t\tevent = typeof event === "object" ?\n\t\t\t// jQuery.Event object\n\t\t\tevent[ jQuery.expando ] ? event :\n\t\t\t// Object literal\n\t\t\tnew jQuery.Event( type, event ) :\n\t\t\t// Just the event type (string)\n\t\t\tnew jQuery.Event( type );\n\n\t\tevent.type = type;\n\t\tevent.isTrigger = true;\n\t\tevent.exclusive = exclusive;\n\t\tevent.namespace = namespaces.join( "." );\n\t\tevent.namespace_re = event.namespace? new RegExp("(^|\\\\.)" + namespaces.join("\\\\.(?:.*\\\\.)?") + "(\\\\.|$)") : null;\n\t\tontype = type.indexOf( ":" ) < 0 ? "on" + type : "";\n\n\t\t// Handle a global trigger\n\t\tif ( !elem ) {\n\n\t\t\t// TODO: Stop taunting the data cache; remove global events and always attach to document\n\t\t\tcache = jQuery.cache;\n\t\t\tfor ( i in cache ) {\n\t\t\t\tif ( cache[ i ].events && cache[ i ].events[ type ] ) {\n\t\t\t\t\tjQuery.event.trigger( event, data, cache[ i ].handle.elem, true );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data != null ? jQuery.makeArray( data ) : [];\n\t\tdata.unshift( event );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\teventPath = [[ elem, special.bindType || type ]];\n\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tcur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode;\n\t\t\told = null;\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push([ cur, bubbleType ]);\n\t\t\t\told = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( old && old === elem.ownerDocument ) {\n\t\t\t\teventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]);\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\tfor ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) {\n\n\t\t\tcur = eventPath[i][0];\n\t\t\tevent.type = eventPath[i][1];\n\n\t\t\thandle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\t\t\t// Note that this is a bare JS function and not a jQuery handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && jQuery.acceptData( cur ) && handle.apply( cur, data ) === false ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) &&\n\t\t\t\t!(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name name as the event.\n\t\t\t\t// Can\'t use an .isFunction() check here because IE6/7 fails that test.\n\t\t\t\t// Don\'t do default actions on window, that\'s where global variables be (#6170)\n\t\t\t\t// IE<9 dies on focus/blur to hidden element (#1486)\n\t\t\t\tif ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// Don\'t re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\told = elem[ ontype ];\n\n\t\t\t\t\tif ( old ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\t\t\t\t\telem[ type ]();\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( old ) {\n\t\t\t\t\t\telem[ ontype ] = old;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\tdispatch: function( event ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tevent = jQuery.event.fix( event || window.event );\n\n\t\tvar handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []),\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\targs = [].slice.call( arguments, 0 ),\n\t\t\trun_all = !event.exclusive && !event.namespace,\n\t\t\tspecial = jQuery.event.special[ event.type ] || {},\n\t\t\thandlerQueue = [],\n\t\t\ti, j, cur, jqcur, ret, selMatch, matched, matches, handleObj, sel, related;\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[0] = event;\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers that should run if there are delegated events\n\t\t// Avoid non-left-click bubbling in Firefox (#3861)\n\t\tif ( delegateCount && !(event.button && event.type === "click") ) {\n\n\t\t\t// Pregenerate a single jQuery object for reuse with .is()\n\t\t\tjqcur = jQuery(this);\n\t\t\tjqcur.context = this.ownerDocument || this;\n\n\t\t\tfor ( cur = event.target; cur != this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don\'t process events on disabled elements (#6911, #8165)\n\t\t\t\tif ( cur.disabled !== true ) {\n\t\t\t\t\tselMatch = {};\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tjqcur[0] = cur;\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\t\t\t\t\t\tsel = handleObj.selector;\n\n\t\t\t\t\t\tif ( selMatch[ sel ] === undefined ) {\n\t\t\t\t\t\t\tselMatch[ sel ] = (\n\t\t\t\t\t\t\t\thandleObj.quick ? quickIs( cur, handleObj.quick ) : jqcur.is( sel )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( selMatch[ sel ] ) {\n\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\thandlerQueue.push({ elem: cur, matches: matches });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tif ( handlers.length > delegateCount ) {\n\t\t\thandlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) });\n\t\t}\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\tfor ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) {\n\t\t\tmatched = handlerQueue[ i ];\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tfor ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) {\n\t\t\t\thandleObj = matched.matches[ j ];\n\n\t\t\t\t// Triggered event must either 1) be non-exclusive and have no namespace, or\n\t\t\t\t// 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.data = handleObj.data;\n\t\t\t\t\tevent.handleObj = handleObj;\n\n\t\t\t\t\tret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )\n\t\t\t\t\t\t\t.apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tevent.result = ret;\n\t\t\t\t\t\tif ( ret === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Includes some event props shared by KeyEvent and MouseEvent\n\t// *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 ***\n\tprops: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),\n\n\tfixHooks: {},\n\n\tkeyHooks: {\n\t\tprops: "char charCode key keyCode".split(" "),\n\t\tfilter: function( event, original ) {\n\n\t\t\t// Add which for key events\n\t\t\tif ( event.which == null ) {\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tmouseHooks: {\n\t\tprops: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),\n\t\tfilter: function( event, original ) {\n\t\t\tvar eventDoc, doc, body,\n\t\t\t\tbutton = original.button,\n\t\t\t\tfromElement = original.fromElement;\n\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\tbody = eventDoc.body;\n\n\t\t\t\tevent.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\tevent.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );\n\t\t\t}\n\n\t\t\t// Add relatedTarget, if necessary\n\t\t\tif ( !event.relatedTarget && fromElement ) {\n\t\t\t\tevent.relatedTarget = fromElement === event.target ? original.toElement : fromElement;\n\t\t\t}\n\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t// Note: button is not normalized, so don\'t use it\n\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tfix: function( event ) {\n\t\tif ( event[ jQuery.expando ] ) {\n\t\t\treturn event;\n\t\t}\n\n\t\t// Create a writable copy of the event object and normalize some properties\n\t\tvar i, prop,\n\t\t\toriginalEvent = event,\n\t\t\tfixHook = jQuery.event.fixHooks[ event.type ] || {},\n\t\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\n\t\tevent = jQuery.Event( originalEvent );\n\n\t\tfor ( i = copy.length; i; ) {\n\t\t\tprop = copy[ --i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Fix target property, if necessary (#1925, IE 6/7/8 & Safari2)\n\t\tif ( !event.target ) {\n\t\t\tevent.target = originalEvent.srcElement || document;\n\t\t}\n\n\t\t// Target should not be a text node (#504, Safari)\n\t\tif ( event.target.nodeType === 3 ) {\n\t\t\tevent.target = event.target.parentNode;\n\t\t}\n\n\t\t// For mouse/key events; add metaKey if it\'s not there (#3368, IE6/7/8)\n\t\tif ( event.metaKey === undefined ) {\n\t\t\tevent.metaKey = event.ctrlKey;\n\t\t}\n\n\t\treturn fixHook.filter? fixHook.filter( event, originalEvent ) : event;\n\t},\n\n\tspecial: {\n\t\tready: {\n\t\t\t// Make sure the ready event is setup\n\t\t\tsetup: jQuery.bindReady\n\t\t},\n\n\t\tload: {\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\n\t\tfocus: {\n\t\t\tdelegateType: "focusin"\n\t\t},\n\t\tblur: {\n\t\t\tdelegateType: "focusout"\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tsetup: function( data, namespaces, eventHandle ) {\n\t\t\t\t// We only want to do this special case on windows\n\t\t\t\tif ( jQuery.isWindow( this ) ) {\n\t\t\t\t\tthis.onbeforeunload = eventHandle;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tteardown: function( namespaces, eventHandle ) {\n\t\t\t\tif ( this.onbeforeunload === eventHandle ) {\n\t\t\t\t\tthis.onbeforeunload = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tsimulate: function( type, elem, event, bubble ) {\n\t\t// Piggyback on a donor event to simulate a different one.\n\t\t// Fake originalEvent to avoid donor\'s stopPropagation, but if the\n\t\t// simulated event prevents default then we do the same on the donor.\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{ type: type,\n\t\t\t\tisSimulated: true,\n\t\t\t\toriginalEvent: {}\n\t\t\t}\n\t\t);\n\t\tif ( bubble ) {\n\t\t\tjQuery.event.trigger( e, null, elem );\n\t\t} else {\n\t\t\tjQuery.event.dispatch.call( elem, e );\n\t\t}\n\t\tif ( e.isDefaultPrevented() ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n};\n\n// Some plugins are using, but it\'s undocumented/deprecated and will be removed.\n// The 1.7 special event interface should provide all the hooks needed now.\njQuery.event.handle = jQuery.event.dispatch;\n\njQuery.removeEvent = document.removeEventListener ?\n\tfunction( elem, type, handle ) {\n\t\tif ( elem.removeEventListener ) {\n\t\t\telem.removeEventListener( type, handle, false );\n\t\t}\n\t} :\n\tfunction( elem, type, handle ) {\n\t\tif ( elem.detachEvent ) {\n\t\t\telem.detachEvent( "on" + type, handle );\n\t\t}\n\t};\n\njQuery.Event = function( src, props ) {\n\t// Allow instantiation without the \'new\' keyword\n\tif ( !(this instanceof jQuery.Event) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||\n\t\t\tsrc.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn\'t have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\nfunction returnFalse() {\n\treturn false;\n}\nfunction returnTrue() {\n\treturn true;\n}\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tpreventDefault: function() {\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tvar e = this.originalEvent;\n\t\tif ( !e ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// if preventDefault exists run it on the original event\n\t\tif ( e.preventDefault ) {\n\t\t\te.preventDefault();\n\n\t\t// otherwise set the returnValue property of the original event to false (IE)\n\t\t} else {\n\t\t\te.returnValue = false;\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tvar e = this.originalEvent;\n\t\tif ( !e ) {\n\t\t\treturn;\n\t\t}\n\t\t// if stopPropagation exists run it on the original event\n\t\tif ( e.stopPropagation ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t\t// otherwise set the cancelBubble property of the original event to true (IE)\n\t\te.cancelBubble = true;\n\t},\n\tstopImmediatePropagation: function() {\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\t\tthis.stopPropagation();\n\t},\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse\n};\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\njQuery.each({\n\tmouseenter: "mouseover",\n\tmouseleave: "mouseout"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar target = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj,\n\t\t\t\tselector = handleObj.selector,\n\t\t\t\tret;\n\n\t\t\t// For mousenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || (related !== target && !jQuery.contains( target, related )) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n});\n\n// IE submit delegation\nif ( !jQuery.support.submitBubbles ) {\n\n\tjQuery.event.special.submit = {\n\t\tsetup: function() {\n\t\t\t// Only need this for delegated form submit events\n\t\t\tif ( jQuery.nodeName( this, "form" ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Lazy-add a submit handler when a descendant form may potentially be submitted\n\t\t\tjQuery.event.add( this, "click._submit keypress._submit", function( e ) {\n\t\t\t\t// Node name check avoids a VML-related crash in IE (#9807)\n\t\t\t\tvar elem = e.target,\n\t\t\t\t\tform = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined;\n\t\t\t\tif ( form && !form._submit_attached ) {\n\t\t\t\t\tjQuery.event.add( form, "submit._submit", function( event ) {\n\t\t\t\t\t\tevent._submit_bubble = true;\n\t\t\t\t\t});\n\t\t\t\t\tform._submit_attached = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\t// return undefined since we don\'t need an event listener\n\t\t},\n\t\t\n\t\tpostDispatch: function( event ) {\n\t\t\t// If form was submitted by the user, bubble the event up the tree\n\t\t\tif ( event._submit_bubble ) {\n\t\t\t\tdelete event._submit_bubble;\n\t\t\t\tif ( this.parentNode && !event.isTrigger ) {\n\t\t\t\t\tjQuery.event.simulate( "submit", this.parentNode, event, true );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tteardown: function() {\n\t\t\t// Only need this for delegated form submit events\n\t\t\tif ( jQuery.nodeName( this, "form" ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Remove delegated handlers; cleanData eventually reaps submit handlers attached above\n\t\t\tjQuery.event.remove( this, "._submit" );\n\t\t}\n\t};\n}\n\n// IE change delegation and checkbox/radio fix\nif ( !jQuery.support.changeBubbles ) {\n\n\tjQuery.event.special.change = {\n\n\t\tsetup: function() {\n\n\t\t\tif ( rformElems.test( this.nodeName ) ) {\n\t\t\t\t// IE doesn\'t fire change on a check/radio until blur; trigger it on click\n\t\t\t\t// after a propertychange. Eat the blur-change in special.change.handle.\n\t\t\t\t// This still fires onchange a second time for check/radio after blur.\n\t\t\t\tif ( this.type === "checkbox" || this.type === "radio" ) {\n\t\t\t\t\tjQuery.event.add( this, "propertychange._change", function( event ) {\n\t\t\t\t\t\tif ( event.originalEvent.propertyName === "checked" ) {\n\t\t\t\t\t\t\tthis._just_changed = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tjQuery.event.add( this, "click._change", function( event ) {\n\t\t\t\t\t\tif ( this._just_changed && !event.isTrigger ) {\n\t\t\t\t\t\t\tthis._just_changed = false;\n\t\t\t\t\t\t\tjQuery.event.simulate( "change", this, event, true );\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Delegated event; lazy-add a change handler on descendant inputs\n\t\t\tjQuery.event.add( this, "beforeactivate._change", function( e ) {\n\t\t\t\tvar elem = e.target;\n\n\t\t\t\tif ( rformElems.test( elem.nodeName ) && !elem._change_attached ) {\n\t\t\t\t\tjQuery.event.add( elem, "change._change", function( event ) {\n\t\t\t\t\t\tif ( this.parentNode && !event.isSimulated && !event.isTrigger ) {\n\t\t\t\t\t\t\tjQuery.event.simulate( "change", this.parentNode, event, true );\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\telem._change_attached = true;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\thandle: function( event ) {\n\t\t\tvar elem = event.target;\n\n\t\t\t// Swallow native change events from checkbox/radio, we already triggered them above\n\t\t\tif ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) {\n\t\t\t\treturn event.handleObj.handler.apply( this, arguments );\n\t\t\t}\n\t\t},\n\n\t\tteardown: function() {\n\t\t\tjQuery.event.remove( this, "._change" );\n\n\t\t\treturn rformElems.test( this.nodeName );\n\t\t}\n\t};\n}\n\n// Create "bubbling" focus and blur events\nif ( !jQuery.support.focusinBubbles ) {\n\tjQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler while someone wants focusin/focusout\n\t\tvar attaches = 0,\n\t\t\thandler = function( event ) {\n\t\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );\n\t\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\t\t\t\tif ( attaches++ === 0 ) {\n\t\t\t\t\tdocument.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tif ( --attaches === 0 ) {\n\t\t\t\t\tdocument.removeEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n}\n\njQuery.fn.extend({\n\n\ton: function( types, selector, data, fn, /*INTERNAL*/ one ) {\n\t\tvar origFn, type;\n\n\t\t// Types can be a map of types/handlers\n\t\tif ( typeof types === "object" ) {\n\t\t\t// ( types-Object, selector, data )\n\t\t\tif ( typeof selector !== "string" ) { // && selector != null\n\t\t\t\t// ( types-Object, data )\n\t\t\t\tdata = data || selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.on( type, selector, data, types[ type ], one );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( data == null && fn == null ) {\n\t\t\t// ( types, fn )\n\t\t\tfn = selector;\n\t\t\tdata = selector = undefined;\n\t\t} else if ( fn == null ) {\n\t\t\tif ( typeof selector === "string" ) {\n\t\t\t\t// ( types, selector, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = undefined;\n\t\t\t} else {\n\t\t\t\t// ( types, data, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t} else if ( !fn ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( one === 1 ) {\n\t\t\torigFn = fn;\n\t\t\tfn = function( event ) {\n\t\t\t\t// Can use an empty set, since event contains the info\n\t\t\t\tjQuery().off( event );\n\t\t\t\treturn origFn.apply( this, arguments );\n\t\t\t};\n\t\t\t// Use same guid so caller can remove using origFn\n\t\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.add( this, types, fn, data, selector );\n\t\t});\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn this.on( types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\tvar handleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === "object" ) {\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( var type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === "function" ) {\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each(function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t});\n\t},\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tlive: function( types, data, fn ) {\n\t\tjQuery( this.context ).on( types, this.selector, data, fn );\n\t\treturn this;\n\t},\n\tdie: function( types, fn ) {\n\t\tjQuery( this.context ).off( types, this.selector || "**", fn );\n\t\treturn this;\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length == 1? this.off( selector, "**" ) : this.off( types, selector, fn );\n\t},\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t});\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tif ( this[0] ) {\n\t\t\treturn jQuery.event.trigger( type, data, this[0], true );\n\t\t}\n\t},\n\n\ttoggle: function( fn ) {\n\t\t// Save reference to arguments for access in closure\n\t\tvar args = arguments,\n\t\t\tguid = fn.guid || jQuery.guid++,\n\t\t\ti = 0,\n\t\t\ttoggler = function( event ) {\n\t\t\t\t// Figure out which function to execute\n\t\t\t\tvar lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;\n\t\t\t\tjQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );\n\n\t\t\t\t// Make sure that clicks stop\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\t// and execute the function\n\t\t\t\treturn args[ lastToggle ].apply( this, arguments ) || false;\n\t\t\t};\n\n\t\t// link all the functions, so any of them can unbind this click handler\n\t\ttoggler.guid = guid;\n\t\twhile ( i < args.length ) {\n\t\t\targs[ i++ ].guid = guid;\n\t\t}\n\n\t\treturn this.click( toggler );\n\t},\n\n\thover: function( fnOver, fnOut ) {\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\n\t}\n});\n\njQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +\n\t"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +\n\t"change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {\n\n\t// Handle event binding\n\tjQuery.fn[ name ] = function( data, fn ) {\n\t\tif ( fn == null ) {\n\t\t\tfn = data;\n\t\t\tdata = null;\n\t\t}\n\n\t\treturn arguments.length > 0 ?\n\t\t\tthis.on( name, null, data, fn ) :\n\t\t\tthis.trigger( name );\n\t};\n\n\tif ( jQuery.attrFn ) {\n\t\tjQuery.attrFn[ name ] = true;\n\t}\n\n\tif ( rkeyEvent.test( name ) ) {\n\t\tjQuery.event.fixHooks[ name ] = jQuery.event.keyHooks;\n\t}\n\n\tif ( rmouseEvent.test( name ) ) {\n\t\tjQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks;\n\t}\n});\n\n\n\n/*!\n * Sizzle CSS Selector Engine\n * Copyright 2011, The Dojo Foundation\n * Released under the MIT, BSD, and GPL Licenses.\n * More information: http://sizzlejs.com/\n */\n(function(){\n\nvar chunker = /((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^\\[\\]]*\\]|[\'"][^\'"]*[\'"]|[^\\[\\]\'"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?((?:.|\\r|\\n)*)/g,\n\texpando = "sizcache" + (Math.random() + \'\').replace(\'.\', \'\'),\n\tdone = 0,\n\ttoString = Object.prototype.toString,\n\thasDuplicate = false,\n\tbaseHasDuplicate = true,\n\trBackslash = /\\\\/g,\n\trReturn = /\\r\\n/g,\n\trNonWord = /\\W/;\n\n// Here we check if the JavaScript engine is using some sort of\n// optimization where it does not always call our comparision\n// function. If that is the case, discard the hasDuplicate value.\n// Thus far that includes Google Chrome.\n[0, 0].sort(function() {\n\tbaseHasDuplicate = false;\n\treturn 0;\n});\n\nvar Sizzle = function( selector, context, results, seed ) {\n\tresults = results || [];\n\tcontext = context || document;\n\n\tvar origContext = context;\n\n\tif ( context.nodeType !== 1 && context.nodeType !== 9 ) {\n\t\treturn [];\n\t}\n\n\tif ( !selector || typeof selector !== "string" ) {\n\t\treturn results;\n\t}\n\n\tvar m, set, checkSet, extra, ret, cur, pop, i,\n\t\tprune = true,\n\t\tcontextXML = Sizzle.isXML( context ),\n\t\tparts = [],\n\t\tsoFar = selector;\n\n\t// Reset the position of the chunker regexp (start from head)\n\tdo {\n\t\tchunker.exec( "" );\n\t\tm = chunker.exec( soFar );\n\n\t\tif ( m ) {\n\t\t\tsoFar = m[3];\n\n\t\t\tparts.push( m[1] );\n\n\t\t\tif ( m[2] ) {\n\t\t\t\textra = m[3];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t} while ( m );\n\n\tif ( parts.length > 1 && origPOS.exec( selector ) ) {\n\n\t\tif ( parts.length === 2 && Expr.relative[ parts[0] ] ) {\n\t\t\tset = posProcess( parts[0] + parts[1], context, seed );\n\n\t\t} else {\n\t\t\tset = Expr.relative[ parts[0] ] ?\n\t\t\t\t[ context ] :\n\t\t\t\tSizzle( parts.shift(), context );\n\n\t\t\twhile ( parts.length ) {\n\t\t\t\tselector = parts.shift();\n\n\t\t\t\tif ( Expr.relative[ selector ] ) {\n\t\t\t\t\tselector += parts.shift();\n\t\t\t\t}\n\n\t\t\t\tset = posProcess( selector, set, seed );\n\t\t\t}\n\t\t}\n\n\t} else {\n\t\t// Take a shortcut and set the context if the root selector is an ID\n\t\t// (but not if it\'ll be faster if the inner selector is an ID)\n\t\tif ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&\n\t\t\t\tExpr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {\n\n\t\t\tret = Sizzle.find( parts.shift(), context, contextXML );\n\t\t\tcontext = ret.expr ?\n\t\t\t\tSizzle.filter( ret.expr, ret.set )[0] :\n\t\t\t\tret.set[0];\n\t\t}\n\n\t\tif ( context ) {\n\t\t\tret = seed ?\n\t\t\t\t{ expr: parts.pop(), set: makeArray(seed) } :\n\t\t\t\tSizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );\n\n\t\t\tset = ret.expr ?\n\t\t\t\tSizzle.filter( ret.expr, ret.set ) :\n\t\t\t\tret.set;\n\n\t\t\tif ( parts.length > 0 ) {\n\t\t\t\tcheckSet = makeArray( set );\n\n\t\t\t} else {\n\t\t\t\tprune = false;\n\t\t\t}\n\n\t\t\twhile ( parts.length ) {\n\t\t\t\tcur = parts.pop();\n\t\t\t\tpop = cur;\n\n\t\t\t\tif ( !Expr.relative[ cur ] ) {\n\t\t\t\t\tcur = "";\n\t\t\t\t} else {\n\t\t\t\t\tpop = parts.pop();\n\t\t\t\t}\n\n\t\t\t\tif ( pop == null ) {\n\t\t\t\t\tpop = context;\n\t\t\t\t}\n\n\t\t\t\tExpr.relative[ cur ]( checkSet, pop, contextXML );\n\t\t\t}\n\n\t\t} else {\n\t\t\tcheckSet = parts = [];\n\t\t}\n\t}\n\n\tif ( !checkSet ) {\n\t\tcheckSet = set;\n\t}\n\n\tif ( !checkSet ) {\n\t\tSizzle.error( cur || selector );\n\t}\n\n\tif ( toString.call(checkSet) === "[object Array]" ) {\n\t\tif ( !prune ) {\n\t\t\tresults.push.apply( results, checkSet );\n\n\t\t} else if ( context && context.nodeType === 1 ) {\n\t\t\tfor ( i = 0; checkSet[i] != null; i++ ) {\n\t\t\t\tif ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {\n\t\t\t\t\tresults.push( set[i] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\t\t\tfor ( i = 0; checkSet[i] != null; i++ ) {\n\t\t\t\tif ( checkSet[i] && checkSet[i].nodeType === 1 ) {\n\t\t\t\t\tresults.push( set[i] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t} else {\n\t\tmakeArray( checkSet, results );\n\t}\n\n\tif ( extra ) {\n\t\tSizzle( extra, origContext, results, seed );\n\t\tSizzle.uniqueSort( results );\n\t}\n\n\treturn results;\n};\n\nSizzle.uniqueSort = function( results ) {\n\tif ( sortOrder ) {\n\t\thasDuplicate = baseHasDuplicate;\n\t\tresults.sort( sortOrder );\n\n\t\tif ( hasDuplicate ) {\n\t\t\tfor ( var i = 1; i < results.length; i++ ) {\n\t\t\t\tif ( results[i] === results[ i - 1 ] ) {\n\t\t\t\t\tresults.splice( i--, 1 );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn results;\n};\n\nSizzle.matches = function( expr, set ) {\n\treturn Sizzle( expr, null, null, set );\n};\n\nSizzle.matchesSelector = function( node, expr ) {\n\treturn Sizzle( expr, null, null, [node] ).length > 0;\n};\n\nSizzle.find = function( expr, context, isXML ) {\n\tvar set, i, len, match, type, left;\n\n\tif ( !expr ) {\n\t\treturn [];\n\t}\n\n\tfor ( i = 0, len = Expr.order.length; i < len; i++ ) {\n\t\ttype = Expr.order[i];\n\n\t\tif ( (match = Expr.leftMatch[ type ].exec( expr )) ) {\n\t\t\tleft = match[1];\n\t\t\tmatch.splice( 1, 1 );\n\n\t\t\tif ( left.substr( left.length - 1 ) !== "\\\\" ) {\n\t\t\t\tmatch[1] = (match[1] || "").replace( rBackslash, "" );\n\t\t\t\tset = Expr.find[ type ]( match, context, isXML );\n\n\t\t\t\tif ( set != null ) {\n\t\t\t\t\texpr = expr.replace( Expr.match[ type ], "" );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( !set ) {\n\t\tset = typeof context.getElementsByTagName !== "undefined" ?\n\t\t\tcontext.getElementsByTagName( "*" ) :\n\t\t\t[];\n\t}\n\n\treturn { set: set, expr: expr };\n};\n\nSizzle.filter = function( expr, set, inplace, not ) {\n\tvar match, anyFound,\n\t\ttype, found, item, filter, left,\n\t\ti, pass,\n\t\told = expr,\n\t\tresult = [],\n\t\tcurLoop = set,\n\t\tisXMLFilter = set && set[0] && Sizzle.isXML( set[0] );\n\n\twhile ( expr && set.length ) {\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {\n\t\t\t\tfilter = Expr.filter[ type ];\n\t\t\t\tleft = match[1];\n\n\t\t\t\tanyFound = false;\n\n\t\t\t\tmatch.splice(1,1);\n\n\t\t\t\tif ( left.substr( left.length - 1 ) === "\\\\" ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif ( curLoop === result ) {\n\t\t\t\t\tresult = [];\n\t\t\t\t}\n\n\t\t\t\tif ( Expr.preFilter[ type ] ) {\n\t\t\t\t\tmatch = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );\n\n\t\t\t\t\tif ( !match ) {\n\t\t\t\t\t\tanyFound = found = true;\n\n\t\t\t\t\t} else if ( match === true ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( match ) {\n\t\t\t\t\tfor ( i = 0; (item = curLoop[i]) != null; i++ ) {\n\t\t\t\t\t\tif ( item ) {\n\t\t\t\t\t\t\tfound = filter( item, match, i, curLoop );\n\t\t\t\t\t\t\tpass = not ^ found;\n\n\t\t\t\t\t\t\tif ( inplace && found != null ) {\n\t\t\t\t\t\t\t\tif ( pass ) {\n\t\t\t\t\t\t\t\t\tanyFound = true;\n\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcurLoop[i] = false;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t} else if ( pass ) {\n\t\t\t\t\t\t\t\tresult.push( item );\n\t\t\t\t\t\t\t\tanyFound = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( found !== undefined ) {\n\t\t\t\t\tif ( !inplace ) {\n\t\t\t\t\t\tcurLoop = result;\n\t\t\t\t\t}\n\n\t\t\t\t\texpr = expr.replace( Expr.match[ type ], "" );\n\n\t\t\t\t\tif ( !anyFound ) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Improper expression\n\t\tif ( expr === old ) {\n\t\t\tif ( anyFound == null ) {\n\t\t\t\tSizzle.error( expr );\n\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\told = expr;\n\t}\n\n\treturn curLoop;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( "Syntax error, unrecognized expression: " + msg );\n};\n\n/**\n * Utility function for retreiving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\nvar getText = Sizzle.getText = function( elem ) {\n var i, node,\n\t\tnodeType = elem.nodeType,\n\t\tret = "";\n\n\tif ( nodeType ) {\n\t\tif ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t\t// Use textContent || innerText for elements\n\t\t\tif ( typeof elem.textContent === \'string\' ) {\n\t\t\t\treturn elem.textContent;\n\t\t\t} else if ( typeof elem.innerText === \'string\' ) {\n\t\t\t\t// Replace IE\'s carriage returns\n\t\t\t\treturn elem.innerText.replace( rReturn, \'\' );\n\t\t\t} else {\n\t\t\t\t// Traverse it\'s children\n\t\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling) {\n\t\t\t\t\tret += getText( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\t\treturn elem.nodeValue;\n\t\t}\n\t} else {\n\n\t\t// If no nodeType, this is expected to be an array\n\t\tfor ( i = 0; (node = elem[i]); i++ ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tif ( node.nodeType !== 8 ) {\n\t\t\t\tret += getText( node );\n\t\t\t}\n\t\t}\n\t}\n\treturn ret;\n};\n\nvar Expr = Sizzle.selectors = {\n\torder: [ "ID", "NAME", "TAG" ],\n\n\tmatch: {\n\t\tID: /#((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/,\n\t\tCLASS: /\\.((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/,\n\t\tNAME: /\\[name=[\'"]*((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)[\'"]*\\]/,\n\t\tATTR: /\\[\\s*((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)\\s*(?:(\\S?=)\\s*(?:([\'"])(.*?)\\3|(#?(?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)*)|)|)\\s*\\]/,\n\t\tTAG: /^((?:[\\w\\u00c0-\\uFFFF\\*\\-]|\\\\.)+)/,\n\t\tCHILD: /:(only|nth|last|first)-child(?:\\(\\s*(even|odd|(?:[+\\-]?\\d+|(?:[+\\-]?\\d*)?n\\s*(?:[+\\-]\\s*\\d+)?))\\s*\\))?/,\n\t\tPOS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\))?(?=[^\\-]|$)/,\n\t\tPSEUDO: /:((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)(?:\\(([\'"]?)((?:\\([^\\)]+\\)|[^\\(\\)]*)+)\\2\\))?/\n\t},\n\n\tleftMatch: {},\n\n\tattrMap: {\n\t\t"class": "className",\n\t\t"for": "htmlFor"\n\t},\n\n\tattrHandle: {\n\t\thref: function( elem ) {\n\t\t\treturn elem.getAttribute( "href" );\n\t\t},\n\t\ttype: function( elem ) {\n\t\t\treturn elem.getAttribute( "type" );\n\t\t}\n\t},\n\n\trelative: {\n\t\t"+": function(checkSet, part){\n\t\t\tvar isPartStr = typeof part === "string",\n\t\t\t\tisTag = isPartStr && !rNonWord.test( part ),\n\t\t\t\tisPartStrNotTag = isPartStr && !isTag;\n\n\t\t\tif ( isTag ) {\n\t\t\t\tpart = part.toLowerCase();\n\t\t\t}\n\n\t\t\tfor ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {\n\t\t\t\tif ( (elem = checkSet[i]) ) {\n\t\t\t\t\twhile ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}\n\n\t\t\t\t\tcheckSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?\n\t\t\t\t\t\telem || false :\n\t\t\t\t\t\telem === part;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( isPartStrNotTag ) {\n\t\t\t\tSizzle.filter( part, checkSet, true );\n\t\t\t}\n\t\t},\n\n\t\t">": function( checkSet, part ) {\n\t\t\tvar elem,\n\t\t\t\tisPartStr = typeof part === "string",\n\t\t\t\ti = 0,\n\t\t\t\tl = checkSet.length;\n\n\t\t\tif ( isPartStr && !rNonWord.test( part ) ) {\n\t\t\t\tpart = part.toLowerCase();\n\n\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\telem = checkSet[i];\n\n\t\t\t\t\tif ( elem ) {\n\t\t\t\t\t\tvar parent = elem.parentNode;\n\t\t\t\t\t\tcheckSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\telem = checkSet[i];\n\n\t\t\t\t\tif ( elem ) {\n\t\t\t\t\t\tcheckSet[i] = isPartStr ?\n\t\t\t\t\t\t\telem.parentNode :\n\t\t\t\t\t\t\telem.parentNode === part;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( isPartStr ) {\n\t\t\t\t\tSizzle.filter( part, checkSet, true );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t"": function(checkSet, part, isXML){\n\t\t\tvar nodeCheck,\n\t\t\t\tdoneName = done++,\n\t\t\t\tcheckFn = dirCheck;\n\n\t\t\tif ( typeof part === "string" && !rNonWord.test( part ) ) {\n\t\t\t\tpart = part.toLowerCase();\n\t\t\t\tnodeCheck = part;\n\t\t\t\tcheckFn = dirNodeCheck;\n\t\t\t}\n\n\t\t\tcheckFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML );\n\t\t},\n\n\t\t"~": function( checkSet, part, isXML ) {\n\t\t\tvar nodeCheck,\n\t\t\t\tdoneName = done++,\n\t\t\t\tcheckFn = dirCheck;\n\n\t\t\tif ( typeof part === "string" && !rNonWord.test( part ) ) {\n\t\t\t\tpart = part.toLowerCase();\n\t\t\t\tnodeCheck = part;\n\t\t\t\tcheckFn = dirNodeCheck;\n\t\t\t}\n\n\t\t\tcheckFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML );\n\t\t}\n\t},\n\n\tfind: {\n\t\tID: function( match, context, isXML ) {\n\t\t\tif ( typeof context.getElementById !== "undefined" && !isXML ) {\n\t\t\t\tvar m = context.getElementById(match[1]);\n\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\treturn m && m.parentNode ? [m] : [];\n\t\t\t}\n\t\t},\n\n\t\tNAME: function( match, context ) {\n\t\t\tif ( typeof context.getElementsByName !== "undefined" ) {\n\t\t\t\tvar ret = [],\n\t\t\t\t\tresults = context.getElementsByName( match[1] );\n\n\t\t\t\tfor ( var i = 0, l = results.length; i < l; i++ ) {\n\t\t\t\t\tif ( results[i].getAttribute("name") === match[1] ) {\n\t\t\t\t\t\tret.push( results[i] );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn ret.length === 0 ? null : ret;\n\t\t\t}\n\t\t},\n\n\t\tTAG: function( match, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== "undefined" ) {\n\t\t\t\treturn context.getElementsByTagName( match[1] );\n\t\t\t}\n\t\t}\n\t},\n\tpreFilter: {\n\t\tCLASS: function( match, curLoop, inplace, result, not, isXML ) {\n\t\t\tmatch = " " + match[1].replace( rBackslash, "" ) + " ";\n\n\t\t\tif ( isXML ) {\n\t\t\t\treturn match;\n\t\t\t}\n\n\t\t\tfor ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {\n\t\t\t\tif ( elem ) {\n\t\t\t\t\tif ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\\t\\n\\r]/g, " ").indexOf(match) >= 0) ) {\n\t\t\t\t\t\tif ( !inplace ) {\n\t\t\t\t\t\t\tresult.push( elem );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else if ( inplace ) {\n\t\t\t\t\t\tcurLoop[i] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\n\t\tID: function( match ) {\n\t\t\treturn match[1].replace( rBackslash, "" );\n\t\t},\n\n\t\tTAG: function( match, curLoop ) {\n\t\t\treturn match[1].replace( rBackslash, "" ).toLowerCase();\n\t\t},\n\n\t\tCHILD: function( match ) {\n\t\t\tif ( match[1] === "nth" ) {\n\t\t\t\tif ( !match[2] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\tmatch[2] = match[2].replace(/^\\+|\\s*/g, \'\');\n\n\t\t\t\t// parse equations like \'even\', \'odd\', \'5\', \'2n\', \'3n+2\', \'4n-1\', \'-n+6\'\n\t\t\t\tvar test = /(-?)(\\d*)(?:n([+\\-]?\\d*))?/.exec(\n\t\t\t\t\tmatch[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||\n\t\t\t\t\t!/\\D/.test( match[2] ) && "0n+" + match[2] || match[2]);\n\n\t\t\t\t// calculate the numbers (first)n+(last) including if they are negative\n\t\t\t\tmatch[2] = (test[1] + (test[2] || 1)) - 0;\n\t\t\t\tmatch[3] = test[3] - 0;\n\t\t\t}\n\t\t\telse if ( match[2] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\t// TODO: Move to normal caching system\n\t\t\tmatch[0] = done++;\n\n\t\t\treturn match;\n\t\t},\n\n\t\tATTR: function( match, curLoop, inplace, result, not, isXML ) {\n\t\t\tvar name = match[1] = match[1].replace( rBackslash, "" );\n\n\t\t\tif ( !isXML && Expr.attrMap[name] ) {\n\t\t\t\tmatch[1] = Expr.attrMap[name];\n\t\t\t}\n\n\t\t\t// Handle if an un-quoted value was used\n\t\t\tmatch[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" );\n\n\t\t\tif ( match[2] === "~=" ) {\n\t\t\t\tmatch[4] = " " + match[4] + " ";\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\tPSEUDO: function( match, curLoop, inplace, result, not ) {\n\t\t\tif ( match[1] === "not" ) {\n\t\t\t\t// If we\'re dealing with a complex expression, or a simple one\n\t\t\t\tif ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\\w/.test(match[3]) ) {\n\t\t\t\t\tmatch[3] = Sizzle(match[3], null, null, curLoop);\n\n\t\t\t\t} else {\n\t\t\t\t\tvar ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);\n\n\t\t\t\t\tif ( !inplace ) {\n\t\t\t\t\t\tresult.push.apply( result, ret );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\tPOS: function( match ) {\n\t\t\tmatch.unshift( true );\n\n\t\t\treturn match;\n\t\t}\n\t},\n\n\tfilters: {\n\t\tenabled: function( elem ) {\n\t\t\treturn elem.disabled === false && elem.type !== "hidden";\n\t\t},\n\n\t\tdisabled: function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\tchecked: function( elem ) {\n\t\t\treturn elem.checked === true;\n\t\t},\n\n\t\tselected: function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\tparent: function( elem ) {\n\t\t\treturn !!elem.firstChild;\n\t\t},\n\n\t\tempty: function( elem ) {\n\t\t\treturn !elem.firstChild;\n\t\t},\n\n\t\thas: function( elem, i, match ) {\n\t\t\treturn !!Sizzle( match[3], elem ).length;\n\t\t},\n\n\t\theader: function( elem ) {\n\t\t\treturn (/h\\d/i).test( elem.nodeName );\n\t\t},\n\n\t\ttext: function( elem ) {\n\t\t\tvar attr = elem.getAttribute( "type" ), type = elem.type;\n\t\t\t// IE6 and 7 will map elem.type to \'text\' for new HTML5 types (search, etc)\n\t\t\t// use getAttribute instead to test this case\n\t\t\treturn elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null );\n\t\t},\n\n\t\tradio: function( elem ) {\n\t\t\treturn elem.nodeName.toLowerCase() === "input" && "radio" === elem.type;\n\t\t},\n\n\t\tcheckbox: function( elem ) {\n\t\t\treturn elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type;\n\t\t},\n\n\t\tfile: function( elem ) {\n\t\t\treturn elem.nodeName.toLowerCase() === "input" && "file" === elem.type;\n\t\t},\n\n\t\tpassword: function( elem ) {\n\t\t\treturn elem.nodeName.toLowerCase() === "input" && "password" === elem.type;\n\t\t},\n\n\t\tsubmit: function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn (name === "input" || name === "button") && "submit" === elem.type;\n\t\t},\n\n\t\timage: function( elem ) {\n\t\t\treturn elem.nodeName.toLowerCase() === "input" && "image" === elem.type;\n\t\t},\n\n\t\treset: function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn (name === "input" || name === "button") && "reset" === elem.type;\n\t\t},\n\n\t\tbutton: function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === "input" && "button" === elem.type || name === "button";\n\t\t},\n\n\t\tinput: function( elem ) {\n\t\t\treturn (/input|select|textarea|button/i).test( elem.nodeName );\n\t\t},\n\n\t\tfocus: function( elem ) {\n\t\t\treturn elem === elem.ownerDocument.activeElement;\n\t\t}\n\t},\n\tsetFilters: {\n\t\tfirst: function( elem, i ) {\n\t\t\treturn i === 0;\n\t\t},\n\n\t\tlast: function( elem, i, match, array ) {\n\t\t\treturn i === array.length - 1;\n\t\t},\n\n\t\teven: function( elem, i ) {\n\t\t\treturn i % 2 === 0;\n\t\t},\n\n\t\todd: function( elem, i ) {\n\t\t\treturn i % 2 === 1;\n\t\t},\n\n\t\tlt: function( elem, i, match ) {\n\t\t\treturn i < match[3] - 0;\n\t\t},\n\n\t\tgt: function( elem, i, match ) {\n\t\t\treturn i > match[3] - 0;\n\t\t},\n\n\t\tnth: function( elem, i, match ) {\n\t\t\treturn match[3] - 0 === i;\n\t\t},\n\n\t\teq: function( elem, i, match ) {\n\t\t\treturn match[3] - 0 === i;\n\t\t}\n\t},\n\tfilter: {\n\t\tPSEUDO: function( elem, match, i, array ) {\n\t\t\tvar name = match[1],\n\t\t\t\tfilter = Expr.filters[ name ];\n\n\t\t\tif ( filter ) {\n\t\t\t\treturn filter( elem, i, match, array );\n\n\t\t\t} else if ( name === "contains" ) {\n\t\t\t\treturn (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0;\n\n\t\t\t} else if ( name === "not" ) {\n\t\t\t\tvar not = match[3];\n\n\t\t\t\tfor ( var j = 0, l = not.length; j < l; j++ ) {\n\t\t\t\t\tif ( not[j] === elem ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\n\t\t\t} else {\n\t\t\t\tSizzle.error( name );\n\t\t\t}\n\t\t},\n\n\t\tCHILD: function( elem, match ) {\n\t\t\tvar first, last,\n\t\t\t\tdoneName, parent, cache,\n\t\t\t\tcount, diff,\n\t\t\t\ttype = match[1],\n\t\t\t\tnode = elem;\n\n\t\t\tswitch ( type ) {\n\t\t\t\tcase "only":\n\t\t\t\tcase "first":\n\t\t\t\t\twhile ( (node = node.previousSibling) ) {\n\t\t\t\t\t\tif ( node.nodeType === 1 ) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( type === "first" ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\tnode = elem;\n\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase "last":\n\t\t\t\t\twhile ( (node = node.nextSibling) ) {\n\t\t\t\t\t\tif ( node.nodeType === 1 ) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\n\t\t\t\tcase "nth":\n\t\t\t\t\tfirst = match[2];\n\t\t\t\t\tlast = match[3];\n\n\t\t\t\t\tif ( first === 1 && last === 0 ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\tdoneName = match[0];\n\t\t\t\t\tparent = elem.parentNode;\n\n\t\t\t\t\tif ( parent && (parent[ expando ] !== doneName || !elem.nodeIndex) ) {\n\t\t\t\t\t\tcount = 0;\n\n\t\t\t\t\t\tfor ( node = parent.firstChild; node; node = node.nextSibling ) {\n\t\t\t\t\t\t\tif ( node.nodeType === 1 ) {\n\t\t\t\t\t\t\t\tnode.nodeIndex = ++count;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tparent[ expando ] = doneName;\n\t\t\t\t\t}\n\n\t\t\t\t\tdiff = elem.nodeIndex - last;\n\n\t\t\t\t\tif ( first === 0 ) {\n\t\t\t\t\t\treturn diff === 0;\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tID: function( elem, match ) {\n\t\t\treturn elem.nodeType === 1 && elem.getAttribute("id") === match;\n\t\t},\n\n\t\tTAG: function( elem, match ) {\n\t\t\treturn (match === "*" && elem.nodeType === 1) || !!elem.nodeName && elem.nodeName.toLowerCase() === match;\n\t\t},\n\n\t\tCLASS: function( elem, match ) {\n\t\t\treturn (" " + (elem.className || elem.getAttribute("class")) + " ")\n\t\t\t\t.indexOf( match ) > -1;\n\t\t},\n\n\t\tATTR: function( elem, match ) {\n\t\t\tvar name = match[1],\n\t\t\t\tresult = Sizzle.attr ?\n\t\t\t\t\tSizzle.attr( elem, name ) :\n\t\t\t\t\tExpr.attrHandle[ name ] ?\n\t\t\t\t\tExpr.attrHandle[ name ]( elem ) :\n\t\t\t\t\telem[ name ] != null ?\n\t\t\t\t\t\telem[ name ] :\n\t\t\t\t\t\telem.getAttribute( name ),\n\t\t\t\tvalue = result + "",\n\t\t\t\ttype = match[2],\n\t\t\t\tcheck = match[4];\n\n\t\t\treturn result == null ?\n\t\t\t\ttype === "!=" :\n\t\t\t\t!type && Sizzle.attr ?\n\t\t\t\tresult != null :\n\t\t\t\ttype === "=" ?\n\t\t\t\tvalue === check :\n\t\t\t\ttype === "*=" ?\n\t\t\t\tvalue.indexOf(check) >= 0 :\n\t\t\t\ttype === "~=" ?\n\t\t\t\t(" " + value + " ").indexOf(check) >= 0 :\n\t\t\t\t!check ?\n\t\t\t\tvalue && result !== false :\n\t\t\t\ttype === "!=" ?\n\t\t\t\tvalue !== check :\n\t\t\t\ttype === "^=" ?\n\t\t\t\tvalue.indexOf(check) === 0 :\n\t\t\t\ttype === "$=" ?\n\t\t\t\tvalue.substr(value.length - check.length) === check :\n\t\t\t\ttype === "|=" ?\n\t\t\t\tvalue === check || value.substr(0, check.length + 1) === check + "-" :\n\t\t\t\tfalse;\n\t\t},\n\n\t\tPOS: function( elem, match, i, array ) {\n\t\t\tvar name = match[2],\n\t\t\t\tfilter = Expr.setFilters[ name ];\n\n\t\t\tif ( filter ) {\n\t\t\t\treturn filter( elem, i, match, array );\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar origPOS = Expr.match.POS,\n\tfescape = function(all, num){\n\t\treturn "\\\\" + (num - 0 + 1);\n\t};\n\nfor ( var type in Expr.match ) {\n\tExpr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\\[]*\\])(?![^\\(]*\\))/.source) );\n\tExpr.leftMatch[ type ] = new RegExp( /(^(?:.|\\r|\\n)*?)/.source + Expr.match[ type ].source.replace(/\\\\(\\d+)/g, fescape) );\n}\n// Expose origPOS\n// "global" as in regardless of relation to brackets/parens\nExpr.match.globalPOS = origPOS;\n\nvar makeArray = function( array, results ) {\n\tarray = Array.prototype.slice.call( array, 0 );\n\n\tif ( results ) {\n\t\tresults.push.apply( results, array );\n\t\treturn results;\n\t}\n\n\treturn array;\n};\n\n// Perform a simple check to determine if the browser is capable of\n// converting a NodeList to an array using builtin methods.\n// Also verifies that the returned array holds DOM nodes\n// (which is not the case in the Blackberry browser)\ntry {\n\tArray.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;\n\n// Provide a fallback method if it does not work\n} catch( e ) {\n\tmakeArray = function( array, results ) {\n\t\tvar i = 0,\n\t\t\tret = results || [];\n\n\t\tif ( toString.call(array) === "[object Array]" ) {\n\t\t\tArray.prototype.push.apply( ret, array );\n\n\t\t} else {\n\t\t\tif ( typeof array.length === "number" ) {\n\t\t\t\tfor ( var l = array.length; i < l; i++ ) {\n\t\t\t\t\tret.push( array[i] );\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tfor ( ; array[i]; i++ ) {\n\t\t\t\t\tret.push( array[i] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t};\n}\n\nvar sortOrder, siblingCheck;\n\nif ( document.documentElement.compareDocumentPosition ) {\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tif ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {\n\t\t\treturn a.compareDocumentPosition ? -1 : 1;\n\t\t}\n\n\t\treturn a.compareDocumentPosition(b) & 4 ? -1 : 1;\n\t};\n\n} else {\n\tsortOrder = function( a, b ) {\n\t\t// The nodes are identical, we can exit early\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\n\t\t// Fallback to using sourceIndex (in IE) if it\'s available on both nodes\n\t\t} else if ( a.sourceIndex && b.sourceIndex ) {\n\t\t\treturn a.sourceIndex - b.sourceIndex;\n\t\t}\n\n\t\tvar al, bl,\n\t\t\tap = [],\n\t\t\tbp = [],\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tcur = aup;\n\n\t\t// If the nodes are siblings (or identical) we can do a quick check\n\t\tif ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\n\t\t// If no parents were found then the nodes are disconnected\n\t\t} else if ( !aup ) {\n\t\t\treturn -1;\n\n\t\t} else if ( !bup ) {\n\t\t\treturn 1;\n\t\t}\n\n\t\t// Otherwise they\'re somewhere else in the tree so we need\n\t\t// to build up a full list of the parentNodes for comparison\n\t\twhile ( cur ) {\n\t\t\tap.unshift( cur );\n\t\t\tcur = cur.parentNode;\n\t\t}\n\n\t\tcur = bup;\n\n\t\twhile ( cur ) {\n\t\t\tbp.unshift( cur );\n\t\t\tcur = cur.parentNode;\n\t\t}\n\n\t\tal = ap.length;\n\t\tbl = bp.length;\n\n\t\t// Start walking down the tree looking for a discrepancy\n\t\tfor ( var i = 0; i < al && i < bl; i++ ) {\n\t\t\tif ( ap[i] !== bp[i] ) {\n\t\t\t\treturn siblingCheck( ap[i], bp[i] );\n\t\t\t}\n\t\t}\n\n\t\t// We ended someplace up the tree so do a sibling check\n\t\treturn i === al ?\n\t\t\tsiblingCheck( a, bp[i], -1 ) :\n\t\t\tsiblingCheck( ap[i], b, 1 );\n\t};\n\n\tsiblingCheck = function( a, b, ret ) {\n\t\tif ( a === b ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tvar cur = a.nextSibling;\n\n\t\twhile ( cur ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\tcur = cur.nextSibling;\n\t\t}\n\n\t\treturn 1;\n\t};\n}\n\n// Check to see if the browser returns elements by name when\n// querying by getElementById (and provide a workaround)\n(function(){\n\t// We\'re going to inject a fake input element with a specified name\n\tvar form = document.createElement("div"),\n\t\tid = "script" + (new Date()).getTime(),\n\t\troot = document.documentElement;\n\n\tform.innerHTML = "";\n\n\t// Inject it into the root element, check its status, and remove it quickly\n\troot.insertBefore( form, root.firstChild );\n\n\t// The workaround has to do additional checks after a getElementById\n\t// Which slows things down for other browsers (hence the branching)\n\tif ( document.getElementById( id ) ) {\n\t\tExpr.find.ID = function( match, context, isXML ) {\n\t\t\tif ( typeof context.getElementById !== "undefined" && !isXML ) {\n\t\t\t\tvar m = context.getElementById(match[1]);\n\n\t\t\t\treturn m ?\n\t\t\t\t\tm.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ?\n\t\t\t\t\t\t[m] :\n\t\t\t\t\t\tundefined :\n\t\t\t\t\t[];\n\t\t\t}\n\t\t};\n\n\t\tExpr.filter.ID = function( elem, match ) {\n\t\t\tvar node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");\n\n\t\t\treturn elem.nodeType === 1 && node && node.nodeValue === match;\n\t\t};\n\t}\n\n\troot.removeChild( form );\n\n\t// release memory in IE\n\troot = form = null;\n})();\n\n(function(){\n\t// Check to see if the browser returns only elements\n\t// when doing getElementsByTagName("*")\n\n\t// Create a fake element\n\tvar div = document.createElement("div");\n\tdiv.appendChild( document.createComment("") );\n\n\t// Make sure no comments are found\n\tif ( div.getElementsByTagName("*").length > 0 ) {\n\t\tExpr.find.TAG = function( match, context ) {\n\t\t\tvar results = context.getElementsByTagName( match[1] );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( match[1] === "*" ) {\n\t\t\t\tvar tmp = [];\n\n\t\t\t\tfor ( var i = 0; results[i]; i++ ) {\n\t\t\t\t\tif ( results[i].nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( results[i] );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tresults = tmp;\n\t\t\t}\n\n\t\t\treturn results;\n\t\t};\n\t}\n\n\t// Check to see if an attribute returns normalized href attributes\n\tdiv.innerHTML = "";\n\n\tif ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&\n\t\t\tdiv.firstChild.getAttribute("href") !== "#" ) {\n\n\t\tExpr.attrHandle.href = function( elem ) {\n\t\t\treturn elem.getAttribute( "href", 2 );\n\t\t};\n\t}\n\n\t// release memory in IE\n\tdiv = null;\n})();\n\nif ( document.querySelectorAll ) {\n\t(function(){\n\t\tvar oldSizzle = Sizzle,\n\t\t\tdiv = document.createElement("div"),\n\t\t\tid = "__sizzle__";\n\n\t\tdiv.innerHTML = "

    ";\n\n\t\t// Safari can\'t handle uppercase or unicode characters when\n\t\t// in quirks mode.\n\t\tif ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tSizzle = function( query, context, extra, seed ) {\n\t\t\tcontext = context || document;\n\n\t\t\t// Only use querySelectorAll on non-XML documents\n\t\t\t// (ID selectors don\'t work in non-HTML documents)\n\t\t\tif ( !seed && !Sizzle.isXML(context) ) {\n\t\t\t\t// See if we find a selector to speed up\n\t\t\t\tvar match = /^(\\w+$)|^\\.([\\w\\-]+$)|^#([\\w\\-]+$)/.exec( query );\n\n\t\t\t\tif ( match && (context.nodeType === 1 || context.nodeType === 9) ) {\n\t\t\t\t\t// Speed-up: Sizzle("TAG")\n\t\t\t\t\tif ( match[1] ) {\n\t\t\t\t\t\treturn makeArray( context.getElementsByTagName( query ), extra );\n\n\t\t\t\t\t// Speed-up: Sizzle(".CLASS")\n\t\t\t\t\t} else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) {\n\t\t\t\t\t\treturn makeArray( context.getElementsByClassName( match[2] ), extra );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( context.nodeType === 9 ) {\n\t\t\t\t\t// Speed-up: Sizzle("body")\n\t\t\t\t\t// The body element only exists once, optimize finding it\n\t\t\t\t\tif ( query === "body" && context.body ) {\n\t\t\t\t\t\treturn makeArray( [ context.body ], extra );\n\n\t\t\t\t\t// Speed-up: Sizzle("#ID")\n\t\t\t\t\t} else if ( match && match[3] ) {\n\t\t\t\t\t\tvar elem = context.getElementById( match[3] );\n\n\t\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t\t// Handle the case where IE and Opera return items\n\t\t\t\t\t\t\t// by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === match[3] ) {\n\t\t\t\t\t\t\t\treturn makeArray( [ elem ], extra );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn makeArray( [], extra );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn makeArray( context.querySelectorAll(query), extra );\n\t\t\t\t\t} catch(qsaError) {}\n\n\t\t\t\t// qSA works strangely on Element-rooted queries\n\t\t\t\t// We can work around this by specifying an extra ID on the root\n\t\t\t\t// and working up from there (Thanks to Andrew Dupont for the technique)\n\t\t\t\t// IE 8 doesn\'t work on object elements\n\t\t\t\t} else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {\n\t\t\t\t\tvar oldContext = context,\n\t\t\t\t\t\told = context.getAttribute( "id" ),\n\t\t\t\t\t\tnid = old || id,\n\t\t\t\t\t\thasParent = context.parentNode,\n\t\t\t\t\t\trelativeHierarchySelector = /^\\s*[+~]/.test( query );\n\n\t\t\t\t\tif ( !old ) {\n\t\t\t\t\t\tcontext.setAttribute( "id", nid );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnid = nid.replace( /\'/g, "\\\\$&" );\n\t\t\t\t\t}\n\t\t\t\t\tif ( relativeHierarchySelector && hasParent ) {\n\t\t\t\t\t\tcontext = context.parentNode;\n\t\t\t\t\t}\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif ( !relativeHierarchySelector || hasParent ) {\n\t\t\t\t\t\t\treturn makeArray( context.querySelectorAll( "[id=\'" + nid + "\'] " + query ), extra );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} catch(pseudoError) {\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif ( !old ) {\n\t\t\t\t\t\t\toldContext.removeAttribute( "id" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn oldSizzle(query, context, extra, seed);\n\t\t};\n\n\t\tfor ( var prop in oldSizzle ) {\n\t\t\tSizzle[ prop ] = oldSizzle[ prop ];\n\t\t}\n\n\t\t// release memory in IE\n\t\tdiv = null;\n\t})();\n}\n\n(function(){\n\tvar html = document.documentElement,\n\t\tmatches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector;\n\n\tif ( matches ) {\n\t\t// Check to see if it\'s possible to do matchesSelector\n\t\t// on a disconnected node (IE 9 fails this)\n\t\tvar disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ),\n\t\t\tpseudoWorks = false;\n\n\t\ttry {\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( document.documentElement, "[test!=\'\']:sizzle" );\n\n\t\t} catch( pseudoError ) {\n\t\t\tpseudoWorks = true;\n\t\t}\n\n\t\tSizzle.matchesSelector = function( node, expr ) {\n\t\t\t// Make sure that attribute selectors are quoted\n\t\t\texpr = expr.replace(/\\=\\s*([^\'"\\]]*)\\s*\\]/g, "=\'$1\']");\n\n\t\t\tif ( !Sizzle.isXML( node ) ) {\n\t\t\t\ttry {\n\t\t\t\t\tif ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {\n\t\t\t\t\t\tvar ret = matches.call( node, expr );\n\n\t\t\t\t\t\t// IE 9\'s matchesSelector returns false on disconnected nodes\n\t\t\t\t\t\tif ( ret || !disconnectedMatch ||\n\t\t\t\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t\t\t\t// fragment in IE 9, so check for that\n\t\t\t\t\t\t\t\tnode.document && node.document.nodeType !== 11 ) {\n\t\t\t\t\t\t\treturn ret;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {}\n\t\t\t}\n\n\t\t\treturn Sizzle(expr, null, null, [node]).length > 0;\n\t\t};\n\t}\n})();\n\n(function(){\n\tvar div = document.createElement("div");\n\n\tdiv.innerHTML = "
    ";\n\n\t// Opera can\'t find a second classname (in 9.6)\n\t// Also, make sure that getElementsByClassName actually exists\n\tif ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {\n\t\treturn;\n\t}\n\n\t// Safari caches class attributes, doesn\'t catch changes (in 3.2)\n\tdiv.lastChild.className = "e";\n\n\tif ( div.getElementsByClassName("e").length === 1 ) {\n\t\treturn;\n\t}\n\n\tExpr.order.splice(1, 0, "CLASS");\n\tExpr.find.CLASS = function( match, context, isXML ) {\n\t\tif ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {\n\t\t\treturn context.getElementsByClassName(match[1]);\n\t\t}\n\t};\n\n\t// release memory in IE\n\tdiv = null;\n})();\n\nfunction dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {\n\tfor ( var i = 0, l = checkSet.length; i < l; i++ ) {\n\t\tvar elem = checkSet[i];\n\n\t\tif ( elem ) {\n\t\t\tvar match = false;\n\n\t\t\telem = elem[dir];\n\n\t\t\twhile ( elem ) {\n\t\t\t\tif ( elem[ expando ] === doneName ) {\n\t\t\t\t\tmatch = checkSet[elem.sizset];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif ( elem.nodeType === 1 && !isXML ){\n\t\t\t\t\telem[ expando ] = doneName;\n\t\t\t\t\telem.sizset = i;\n\t\t\t\t}\n\n\t\t\t\tif ( elem.nodeName.toLowerCase() === cur ) {\n\t\t\t\t\tmatch = elem;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\telem = elem[dir];\n\t\t\t}\n\n\t\t\tcheckSet[i] = match;\n\t\t}\n\t}\n}\n\nfunction dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {\n\tfor ( var i = 0, l = checkSet.length; i < l; i++ ) {\n\t\tvar elem = checkSet[i];\n\n\t\tif ( elem ) {\n\t\t\tvar match = false;\n\n\t\t\telem = elem[dir];\n\n\t\t\twhile ( elem ) {\n\t\t\t\tif ( elem[ expando ] === doneName ) {\n\t\t\t\t\tmatch = checkSet[elem.sizset];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\tif ( !isXML ) {\n\t\t\t\t\t\telem[ expando ] = doneName;\n\t\t\t\t\t\telem.sizset = i;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( typeof cur !== "string" ) {\n\t\t\t\t\t\tif ( elem === cur ) {\n\t\t\t\t\t\t\tmatch = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {\n\t\t\t\t\t\tmatch = elem;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\telem = elem[dir];\n\t\t\t}\n\n\t\t\tcheckSet[i] = match;\n\t\t}\n\t}\n}\n\nif ( document.documentElement.contains ) {\n\tSizzle.contains = function( a, b ) {\n\t\treturn a !== b && (a.contains ? a.contains(b) : true);\n\t};\n\n} else if ( document.documentElement.compareDocumentPosition ) {\n\tSizzle.contains = function( a, b ) {\n\t\treturn !!(a.compareDocumentPosition(b) & 16);\n\t};\n\n} else {\n\tSizzle.contains = function() {\n\t\treturn false;\n\t};\n}\n\nSizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn\'t yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;\n\n\treturn documentElement ? documentElement.nodeName !== "HTML" : false;\n};\n\nvar posProcess = function( selector, context, seed ) {\n\tvar match,\n\t\ttmpSet = [],\n\t\tlater = "",\n\t\troot = context.nodeType ? [context] : context;\n\n\t// Position selectors must be done after the filter\n\t// And so must :not(positional) so we move all PSEUDOs to the end\n\twhile ( (match = Expr.match.PSEUDO.exec( selector )) ) {\n\t\tlater += match[0];\n\t\tselector = selector.replace( Expr.match.PSEUDO, "" );\n\t}\n\n\tselector = Expr.relative[selector] ? selector + "*" : selector;\n\n\tfor ( var i = 0, l = root.length; i < l; i++ ) {\n\t\tSizzle( selector, root[i], tmpSet, seed );\n\t}\n\n\treturn Sizzle.filter( later, tmpSet );\n};\n\n// EXPOSE\n// Override sizzle attribute retrieval\nSizzle.attr = jQuery.attr;\nSizzle.selectors.attrMap = {};\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\njQuery.expr[":"] = jQuery.expr.filters;\njQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\n\n\n})();\n\n\nvar runtil = /Until$/,\n\trparentsprev = /^(?:parents|prevUntil|prevAll)/,\n\t// Note: This RegExp should be improved, or likely pulled from Sizzle\n\trmultiselector = /,/,\n\tisSimple = /^.[^:#\\[\\.,]*$/,\n\tslice = Array.prototype.slice,\n\tPOS = jQuery.expr.match.globalPOS,\n\t// methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend({\n\tfind: function( selector ) {\n\t\tvar self = this,\n\t\t\ti, l;\n\n\t\tif ( typeof selector !== "string" ) {\n\t\t\treturn jQuery( selector ).filter(function() {\n\t\t\t\tfor ( i = 0, l = self.length; i < l; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tvar ret = this.pushStack( "", "find", selector ),\n\t\t\tlength, n, r;\n\n\t\tfor ( i = 0, l = this.length; i < l; i++ ) {\n\t\t\tlength = ret.length;\n\t\t\tjQuery.find( selector, this[i], ret );\n\n\t\t\tif ( i > 0 ) {\n\t\t\t\t// Make sure that the results are unique\n\t\t\t\tfor ( n = length; n < ret.length; n++ ) {\n\t\t\t\t\tfor ( r = 0; r < length; r++ ) {\n\t\t\t\t\t\tif ( ret[r] === ret[n] ) {\n\t\t\t\t\t\t\tret.splice(n--, 1);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\thas: function( target ) {\n\t\tvar targets = jQuery( target );\n\t\treturn this.filter(function() {\n\t\t\tfor ( var i = 0, l = targets.length; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[i] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow(this, selector, false), "not", selector);\n\t},\n\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow(this, selector, true), "filter", selector );\n\t},\n\n\tis: function( selector ) {\n\t\treturn !!selector && (\n\t\t\ttypeof selector === "string" ?\n\t\t\t\t// If this is a positional selector, check membership in the returned set\n\t\t\t\t// so $("p:first").is("p:last") won\'t return true for a doc with two "p".\n\t\t\t\tPOS.test( selector ) ?\n\t\t\t\t\tjQuery( selector, this.context ).index( this[0] ) >= 0 :\n\t\t\t\t\tjQuery.filter( selector, this ).length > 0 :\n\t\t\t\tthis.filter( selector ).length > 0 );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar ret = [], i, l, cur = this[0];\n\n\t\t// Array (deprecated as of jQuery 1.7)\n\t\tif ( jQuery.isArray( selectors ) ) {\n\t\t\tvar level = 1;\n\n\t\t\twhile ( cur && cur.ownerDocument && cur !== context ) {\n\t\t\t\tfor ( i = 0; i < selectors.length; i++ ) {\n\n\t\t\t\t\tif ( jQuery( cur ).is( selectors[ i ] ) ) {\n\t\t\t\t\t\tret.push({ selector: selectors[ i ], elem: cur, level: level });\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcur = cur.parentNode;\n\t\t\t\tlevel++;\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t}\n\n\t\t// String\n\t\tvar pos = POS.test( selectors ) || typeof selectors !== "string" ?\n\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t0;\n\n\t\tfor ( i = 0, l = this.length; i < l; i++ ) {\n\t\t\tcur = this[i];\n\n\t\t\twhile ( cur ) {\n\t\t\t\tif ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {\n\t\t\t\t\tret.push( cur );\n\t\t\t\t\tbreak;\n\n\t\t\t\t} else {\n\t\t\t\t\tcur = cur.parentNode;\n\t\t\t\t\tif ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tret = ret.length > 1 ? jQuery.unique( ret ) : ret;\n\n\t\treturn this.pushStack( ret, "closest", selectors );\n\t},\n\n\t// Determine the position of an element within\n\t// the matched set of elements\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1;\n\t\t}\n\n\t\t// index in selector\n\t\tif ( typeof elem === "string" ) {\n\t\t\treturn jQuery.inArray( this[0], jQuery( elem ) );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn jQuery.inArray(\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[0] : elem, this );\n\t},\n\n\tadd: function( selector, context ) {\n\t\tvar set = typeof selector === "string" ?\n\t\t\t\tjQuery( selector, context ) :\n\t\t\t\tjQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ),\n\t\t\tall = jQuery.merge( this.get(), set );\n\n\t\treturn this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?\n\t\t\tall :\n\t\t\tjQuery.unique( all ) );\n\t},\n\n\tandSelf: function() {\n\t\treturn this.add( this.prevObject );\n\t}\n});\n\n// A painfully simple check to see if an element is disconnected\n// from a document (should be improved, where feasible).\nfunction isDisconnected( node ) {\n\treturn !node || !node.parentNode || node.parentNode.nodeType === 11;\n}\n\njQuery.each({\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn jQuery.dir( elem, "parentNode" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, "parentNode", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn jQuery.nth( elem, 2, "nextSibling" );\n\t},\n\tprev: function( elem ) {\n\t\treturn jQuery.nth( elem, 2, "previousSibling" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn jQuery.dir( elem, "nextSibling" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn jQuery.dir( elem, "previousSibling" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, "nextSibling", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, "previousSibling", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn jQuery.sibling( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\treturn jQuery.nodeName( elem, "iframe" ) ?\n\t\t\telem.contentDocument || elem.contentWindow.document :\n\t\t\tjQuery.makeArray( elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar ret = jQuery.map( this, fn, until );\n\n\t\tif ( !runtil.test( name ) ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === "string" ) {\n\t\t\tret = jQuery.filter( selector, ret );\n\t\t}\n\n\t\tret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret;\n\n\t\tif ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {\n\t\t\tret = ret.reverse();\n\t\t}\n\n\t\treturn this.pushStack( ret, name, slice.call( arguments ).join(",") );\n\t};\n});\n\njQuery.extend({\n\tfilter: function( expr, elems, not ) {\n\t\tif ( not ) {\n\t\t\texpr = ":not(" + expr + ")";\n\t\t}\n\n\t\treturn elems.length === 1 ?\n\t\t\tjQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :\n\t\t\tjQuery.find.matches(expr, elems);\n\t},\n\n\tdir: function( elem, dir, until ) {\n\t\tvar matched = [],\n\t\t\tcur = elem[ dir ];\n\n\t\twhile ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {\n\t\t\tif ( cur.nodeType === 1 ) {\n\t\t\t\tmatched.push( cur );\n\t\t\t}\n\t\t\tcur = cur[dir];\n\t\t}\n\t\treturn matched;\n\t},\n\n\tnth: function( cur, result, dir, elem ) {\n\t\tresult = result || 1;\n\t\tvar num = 0;\n\n\t\tfor ( ; cur; cur = cur[dir] ) {\n\t\t\tif ( cur.nodeType === 1 && ++num === result ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn cur;\n\t},\n\n\tsibling: function( n, elem ) {\n\t\tvar r = [];\n\n\t\tfor ( ; n; n = n.nextSibling ) {\n\t\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\t\tr.push( n );\n\t\t\t}\n\t\t}\n\n\t\treturn r;\n\t}\n});\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, keep ) {\n\n\t// Can\'t pass null or undefined to indexOf in Firefox 4\n\t// Set to 0 to skip string check\n\tqualifier = qualifier || 0;\n\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep(elements, function( elem, i ) {\n\t\t\tvar retVal = !!qualifier.call( elem, i, elem );\n\t\t\treturn retVal === keep;\n\t\t});\n\n\t} else if ( qualifier.nodeType ) {\n\t\treturn jQuery.grep(elements, function( elem, i ) {\n\t\t\treturn ( elem === qualifier ) === keep;\n\t\t});\n\n\t} else if ( typeof qualifier === "string" ) {\n\t\tvar filtered = jQuery.grep(elements, function( elem ) {\n\t\t\treturn elem.nodeType === 1;\n\t\t});\n\n\t\tif ( isSimple.test( qualifier ) ) {\n\t\t\treturn jQuery.filter(qualifier, filtered, !keep);\n\t\t} else {\n\t\t\tqualifier = jQuery.filter( qualifier, filtered );\n\t\t}\n\t}\n\n\treturn jQuery.grep(elements, function( elem, i ) {\n\t\treturn ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep;\n\t});\n}\n\n\n\n\nfunction createSafeFragment( document ) {\n\tvar list = nodeNames.split( "|" ),\n\tsafeFrag = document.createDocumentFragment();\n\n\tif ( safeFrag.createElement ) {\n\t\twhile ( list.length ) {\n\t\t\tsafeFrag.createElement(\n\t\t\t\tlist.pop()\n\t\t\t);\n\t\t}\n\t}\n\treturn safeFrag;\n}\n\nvar nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" +\n\t\t"header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",\n\trinlinejQuery = / jQuery\\d+="(?:\\d+|null)"/g,\n\trleadingWhitespace = /^\\s+/,\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/ig,\n\trtagName = /<([\\w:]+)/,\n\trtbody = /]", "i"),\n\t// checked="checked" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trscriptType = /\\/(java|ecma)script/i,\n\trcleanScript = /^\\s*", "" ],\n\t\tlegend: [ 1, "
    ", "
    " ],\n\t\tthead: [ 1, "", "
    " ],\n\t\ttr: [ 2, "", "
    " ],\n\t\ttd: [ 3, "", "
    " ],\n\t\tcol: [ 2, "", "
    " ],\n\t\tarea: [ 1, "", "" ],\n\t\t_default: [ 0, "", "" ]\n\t},\n\tsafeFragment = createSafeFragment( document );\n\nwrapMap.optgroup = wrapMap.option;\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// IE can\'t serialize and