/* knockback-core-stack.js 1.1.0 Copyright (c) 2011-2016 Kevin Malakoff. License: MIT (http://www.opensource.org/licenses/mit-license.php) Source: https://github.com/kmalakoff/knockback Dependencies: Knockout.js, Backbone.js, and Underscore.js (or LoDash.js). Optional dependencies: Backbone.ModelRef.js and BackboneORM. */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?exports.kb=t(require("jquery")):e.kb=t(e.jQuery)}(this,function(e){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){n(1),n(10),n(14),n(15),n(16),n(2),n(17),n(18),n(20),n(21),n(19),n(22),n(26),e.exports=n(27)},function(e,t,n){var r,i,o,s,a,l,u,c,d=function(e,t){return function(){return e.apply(t,arguments)}},p=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};c=l=n(2),a=c._,u=c.ko,o=0,r=-1,i=1,s=["destroy","shareOptions","filters","comparator","sortAttribute","viewModelByModel","hasViewModels"],l.compare=function(e,t){return a.isString(e)?e.localeCompare(""+t):a.isString(t)?t.localeCompare(""+e):e===t?o:t>e?r:i},l.CollectionObservable=function(){function e(e,t,n){this._onCollectionChange=d(this._onCollectionChange,this);var r;return r=Array.prototype.slice.call(a.isArguments(e)?e:arguments),l.ignore(function(t){return function(){var i,o,c,d,p;for(e=r[0]instanceof l.Collection?r.shift():a.isArray(r[0])?new l.Collection(r.shift()):new l.Collection,a.isFunction(r[0])&&(r[0]={view_model:r[0]}),n={},c=0,d=r.length;d>c;c++)i=r[c],a.extend(n,i);return p=l.utils.wrappedObservable(t,u.observableArray([])),p.__kb_is_co=!0,t.in_edit=0,t.__kb||(t.__kb={}),n=l.utils.collapseOptions(n),n.auto_compact&&(t.auto_compact=!0),n.sort_attribute?t._comparator=u.observable(t._attributeComparator(n.sort_attribute)):t._comparator=u.observable(n.comparator),n.filters?t._filters=u.observableArray(a.isArray(n.filters)?n.filters:n.filters?[n.filters]:void 0):t._filters=u.observableArray([]),o=t.create_options={store:l.Store.useOptionsOrCreate(n,e,p)},l.utils.wrappedObject(p,e),t.path=n.path,o.factory=l.utils.wrappedFactory(p,t._shareOrCreateFactory(n)),o.path=l.utils.pathJoin(n.path,"models"),o.creator=o.factory.creatorForPath(null,o.path),o.creator&&(t.models_only=o.creator.models_only),l.publishMethods(p,t,s),t._collection=u.observable(e),p.collection=t.collection=u.computed({read:function(){return t._collection()},write:function(e){return l.ignore(function(){var n;if((n=t._collection())!==e)return l.utils.wrappedObject(p,e),n&&n.unbind("all",t._onCollectionChange),e&&e.bind("all",t._onCollectionChange),t._collection(e)})}}),e&&e.bind("all",t._onCollectionChange),t._mapper=u.computed(function(){var e,n,r,i,o,s,c,d,f;if(e=t._comparator(),i=t._filters())for(o=0,s=i.length;s>o;o++)r=i[o],u.utils.unwrapObservable(r);n=t._collection(),t.in_edit||(p=l.utils.wrappedObservable(t),d=l.peek(p),n&&(c=n.models),c&&0!==n.models.length?(c=a.filter(c,function(e){return!i.length||t._selectModel(e)}),f=e?a.map(c,function(e){return t._createViewModel(e)}).sort(e):t.models_only?i.length?c:c.slice():a.map(c,function(e){return t._createViewModel(e)})):f=[],t.in_edit++,p(f),t.in_edit--)}),p.subscribe(a.bind(t._onObservableArrayChange,t)),!l.statistics||l.statistics.register("CollectionObservable",t),p}}(this))}return e.extend=l.extend,e.prototype.destroy=function(){var e,t,n;return this.__kb_released=!0,n=l.utils.wrappedObservable(this),t=l.peek(this._collection),l.utils.wrappedObject(n,null),t&&(t.unbind("all",this._onCollectionChange),e=l.peek(n),e.splice(0,e.length)),this.collection.dispose(),this._collection=n.collection=this.collection=null,this._mapper.dispose(),this._mapper=null,l.release(this._filters),this._filters=null,this._comparator(null),this._comparator=null,this.create_options=null,n.collection=null,l.utils.wrappedDestroy(this),!l.statistics||l.statistics.unregister("CollectionObservable",this)},e.prototype.shareOptions=function(){var e;return e=l.utils.wrappedObservable(this),{store:l.utils.wrappedStore(e),factory:l.utils.wrappedFactory(e)}},e.prototype.filters=function(e){return e?this._filters(a.isArray(e)?e:[e]):this._filters([])},e.prototype.comparator=function(e){return this._comparator(e)},e.prototype.sortAttribute=function(e){return this._comparator(e?this._attributeComparator(e):null)},e.prototype.viewModelByModel=function(e){var t;return this.models_only?null:(t=e.hasOwnProperty(e.idAttribute)?e.idAttribute:"cid",a.find(l.peek(l.utils.wrappedObservable(this)),function(n){var r;return(null!=n&&null!=(r=n.__kb)?r.object:void 0)?n.__kb.object[t]===e[t]:!1}))},e.prototype.hasViewModels=function(){return!this.models_only},e.prototype.compact=function(){return l.ignore(function(e){return function(){var t;return t=l.utils.wrappedObservable(e),l.utils.wrappedStoreIsOwned(t)?(l.utils.wrappedStore(t).clear(),e._collection.notifySubscribers(e._collection())):void 0}}(this))},e.prototype._shareOrCreateFactory=function(e){var t,n,r,i;if(t=l.utils.pathJoin(e.path,"models"),r=e.factories,(i=e.factory)&&(n=i.creatorForPath(null,t))&&(!r||r.models===n)){if(!r)return i;if(i.hasPathMappings(r,e.path))return i}return i=new l.Factory(e.factory),r&&i.addPathMappings(r,e.path),i.creatorForPath(null,t)||(e.hasOwnProperty("models_only")?e.models_only?i.addPathMapping(t,{models_only:!0}):i.addPathMapping(t,l.ViewModel):e.view_model?i.addPathMapping(t,e.view_model):e.create?i.addPathMapping(t,{create:e.create}):i.addPathMapping(t,l.ViewModel)),i},e.prototype._onCollectionChange=function(e,t){return l.ignore(function(n){return function(){var r,i,o,s;if(!n.in_edit&&!l.wasReleased(n))switch(e){case"reset":n.auto_compact?n.compact():n._collection.notifySubscribers(n._collection());break;case"sort":case"resort":n._collection.notifySubscribers(n._collection());break;case"new":case"add":if(!n._selectModel(t))return;if(o=l.utils.wrappedObservable(n),r=n._collection(),-1===r.indexOf(t))return;if(s=n.viewModelByModel(t))return;n.in_edit++,(i=n._comparator())?(o().push(n._createViewModel(t)),o.sort(i)):o.splice(r.indexOf(t),0,n._createViewModel(t)),n.in_edit--;break;case"remove":case"destroy":n._onModelRemove(t);break;case"change":if(!n._selectModel(t))return n._onModelRemove(t);if(s=n.models_only?t:n.viewModelByModel(t),!s)return n._onCollectionChange("add",t);if(!(i=n._comparator()))return;n.in_edit++,l.utils.wrappedObservable(n).sort(i),n.in_edit--}}}(this))},e.prototype._onModelRemove=function(e){var t,n;return(n=this.models_only?e:this.viewModelByModel(e))?(t=l.utils.wrappedObservable(this),this.in_edit++,t.remove(n),this.in_edit--):void 0},e.prototype._onObservableArrayChange=function(e){return l.ignore(function(t){return function(){var n,r,i,o,s,u,c,d,p,f;if(!t.in_edit&&(t.models_only&&(!e.length||l.isModel(e[0]))||!t.models_only&&(!e.length||a.isObject(e[0])&&!l.isModel(e[0]))||l._throwUnexpected(t,"incorrect type passed"),d=l.utils.wrappedObservable(t),n=l.peek(t._collection),i=l.peek(t._filters).length,n)){if(f=e,t.models_only)c=a.filter(e,function(e){return!i||t._selectModel(e)});else for(!i||(f=[]),c=[],o=0,s=e.length;s>o;o++){if(p=e[o],u=l.utils.wrappedObject(p),i){if(!t._selectModel(u))continue;f.push(p)}(r=t.create_options.store.find(u,t.create_options.creator))&&(r.constructor===p.constructor||l._throwUnexpected(t,"replacing different type of view model")),t.create_options.store.retain(p,u,t.create_options.creator),c.push(u)}t.in_edit++,e.length===f.length||d(f),a.isEqual(n.models,c)||n.reset(c),t.in_edit--}}}(this))},e.prototype._attributeComparator=function(e){var t;return t=function(t,n){var r;return r=u.utils.unwrapObservable(e),l.compare(t.get(r),n.get(r))},this.models_only?t:function(e,n){return t(l.utils.wrappedModel(e),l.utils.wrappedModel(n))}},e.prototype._createViewModel=function(e){return this.models_only?e:this.create_options.store.retainOrCreate(e,this.create_options)},e.prototype._selectModel=function(e){var t,n,r,i,o;for(n=l.peek(this._filters),r=0,i=n.length;i>r;r++)if(t=n[r],t=l.peek(t),a.isFunction(t)){if(!t(e))return!1}else if(a.isArray(t)){if(o=e.id,p.call(t,o)<0)return!1}else if(e.id!==t)return!1;return!0},e}(),l.collectionObservable=function(e,t,n){return new l.CollectionObservable(arguments)},l.observableCollection=l.collectionObservable},function(e,t,n){(function(t){var r,i,o,s,a,l;l=null!=l?l:t,a=n(3),i=["release","destroy","dispose"],e.exports=s=function(){function e(){}var t;return e.VERSION="1.1.0",e.TYPE_UNKNOWN=0,e.TYPE_SIMPLE=1,e.TYPE_ARRAY=2,e.TYPE_MODEL=3,e.TYPE_COLLECTION=4,e.wasReleased=function(e){return!e||e.__kb_released},e.isReleaseable=function(t,n){var r,o,s,l,u;if(null==n&&(n=0),!t||t!==Object(t)||t.__kb_released)return!1;if(a.isObservable(t)||t instanceof e.ViewModel)return!0;if("function"==typeof t||e.isModel(t)||e.isCollection(t))return!1;for(r=0,s=i.length;s>r;r++)if(l=i[r],"function"==typeof t[l])return!0;if(n>0)return!1;for(o in t)if(u=t[o],"__kb"!==o&&e.isReleaseable(u,n+1))return!0;return!1},e.release=function(t){var n,r,s,l,u,c;if(e.isReleaseable(t)){if(t.__kb_released=!0,!o.isArray(t)){if(a.isObservable(t)&&o.isArray(n=e.peek(t))){if(t.__kb_is_co||t.__kb_is_o&&t.valueType()===e.TYPE_COLLECTION)return"function"==typeof t.destroy?t.destroy():void 0;for(s in n)c=n[s],e.isReleaseable(c)&&(n[s]=null,e.release(c));return void("function"==typeof t.dispose&&t.dispose())}for(r=0,l=i.length;l>r;r++)if(u=i[r],"function"==typeof t[u])return t[u].call(t);return a.isObservable(t)?void 0:this.releaseKeys(t)}for(s in t)c=t[s],e.isReleaseable(c)&&(t[s]=null,e.release(c))}},e.releaseKeys=function(t){var n,r;for(n in t)r=t[n],"__kb"!==n&&e.isReleaseable(r)&&(t[n]=null,e.release(r))},e.releaseOnNodeRemove=function(t,n){return t||e._throwUnexpected(this,"missing view model"),n||e._throwUnexpected(this,"missing node"),a.utils.domNodeDisposal.addDisposeCallback(n,function(){return e.release(t)})},e.renderTemplate=function(t,n,r){var i,o,s;return null==r&&(r={}),(i=null!=l?l.document:void 0)?(o=i.createElement("div"),s=a.renderTemplate(t,n,r,o,"replaceChildren"),1===o.childNodes.length?o=o.childNodes[0]:o.childNodes.length&&a.storedBindingContextForNode(o,a.contextFor(o.childNodes[0])),e.releaseOnNodeRemove(n,o),s.dispose(),n.afterRender&&!r.afterRender&&n.afterRender(o),o):"undefined"!=typeof console&&null!==console?console.log("renderTemplate: document is undefined"):void 0},e.applyBindings=function(t,n){var r,i,o,s,l;if(n.length)for(l=[document.createElement("div"),n],n=l[0],i=l[1],o=0,s=i.length;s>o;o++)r=i[o],n.appendChild(r);return a.applyBindings(t,n),e.releaseOnNodeRemove(t,n),n},e.getValue=function(t,n,r){var i;if(t)return o.isFunction(t[n])&&(null!=(i=e.orm)?i.useFunction(t,n):void 0)?t[n]():r?t.get.apply(t,o.map([n].concat(r),function(t){return e.peek(t)})):t.get(n)},e.setValue=function(t,n,r){var i,s;if(t)return o.isFunction(t[n])&&(null!=(s=e.orm)?s.useFunction(t,n):void 0)?t[n](r):((i={})[n]=r,t.set(i))},e.ignore=(null!=(t=a.dependencyDetection)?t.ignore:void 0)||function(e,t,n){var r;return r=null,a.computed(function(){return r=e.apply(t,n||[])}).dispose(),r},e.extend=n(6),e._throwMissing=function(e,t){throw(o.isString(e)?e:e.constructor.name)+": "+t+" is missing"},e._throwUnexpected=function(e,t){throw(o.isString(e)?e:e.constructor.name)+": "+t+" is unexpected"},e.publishMethods=function(t,n,r){var i,o,s;for(o=0,s=r.length;s>o;o++)i=r[o],t[i]=e._.bind(n[i],n)},e.peek=function(t){return a.isObservable(t)?t.peek?t.peek():e.ignore(function(){return t()}):t},e.isModel=function(t){return t&&(t instanceof e.Model||"function"==typeof t.get&&"function"==typeof t.bind)},e.isCollection=function(t){return t&&t instanceof e.Collection},e}(),l.Parse?(r=s.Parse=l.Parse,o=s._=l.Parse._):(r=s.Backbone=n(7),o=s._=n(8)),s.ko=a,s.Collection=r.Collection,s.Model=r.Object||r.Model,s.Events=r.Events,s.$=l.jQuery||l.$;try{s.$||(s.$=n(9))}catch(u){}}).call(t,function(){return this}())},function(e,t,n){var r,i,o;(function(e){!function(){var s=!0;!function(a){var l=this||(0,eval)("this"),u=l.document,c=l.navigator,d=l.jQuery,p=l.JSON;!function(s){n(5).amd?(i=[t,n],r=s,o="function"==typeof r?r.apply(t,i):r,!(o!==a&&(e.exports=o))):s(e.exports||t)}(function(e,t){function n(e,t){var n=null===e||typeof e in y;return n?e===t:!1}function r(e,t){var n;return function(){n||(n=g.utils.setTimeout(function(){n=a,e()},t))}}function i(e,t){var n;return function(){clearTimeout(n),n=g.utils.setTimeout(e,t)}}function o(e){var t=this;return e&&g.utils.objectForEach(e,function(e,n){var r=g.extenders[e];"function"==typeof r&&(t=r(t,n)||t)}),t}function f(e,t){t&&t!==_?"beforeChange"===t?this._limitBeforeChange(e):this._origNotifySubscribers(e,t):this._limitChange(e)}function h(e,t){null!==t&&t.dispose&&t.dispose()}function v(e,t){var n=this.computedObservable,r=n[S];r.isDisposed||(this.disposalCount&&this.disposalCandidates[t]?(n.addDependencyTracking(t,e,this.disposalCandidates[t]),this.disposalCandidates[t]=null,--this.disposalCount):r.dependencyTracking[t]||n.addDependencyTracking(t,e,r.isSleeping?{_target:e}:n.subscribeToDependency(e)))}function m(e){g.bindingHandlers[e]={init:function(t,n,r,i,o){var s=function(){var t={};return t[e]=n(),t};return g.bindingHandlers.event.init.call(this,t,s,r,i,o)}}}function b(e,t,n,r){g.bindingHandlers[e]={init:function(e,i,o,s,a){var l,u;return g.computed(function(){var o=g.utils.unwrapObservable(i()),s=!n!=!o,c=!u,d=c||t||s!==l;d&&(c&&g.computedContext.getDependenciesCount()&&(u=g.utils.cloneNodes(g.virtualElements.childNodes(e),!0)),s?(c||g.virtualElements.setDomNodeChildren(e,g.utils.cloneNodes(u)),g.applyBindingsToDescendants(r?r(a,o):a,e)):g.virtualElements.emptyNode(e),l=s)},null,{disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}},g.expressionRewriting.bindingRewriteValidators[e]=!1,g.virtualElements.allowedBindings[e]=!0}var g="undefined"!=typeof e?e:{};g.exportSymbol=function(e,t){for(var n=e.split("."),r=g,i=0;in;n++)m[t[n]]=e});var y={propertychange:!0},_=u&&function(){for(var e=3,t=u.createElement("div"),n=t.getElementsByTagName("i");t.innerHTML="",n[0];);return e>4?e:a}(),w=6===_,x=7===_,k=/\S+/g;return{fieldsIncludedWithJsonPost:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],arrayForEach:function(e,t){for(var n=0,r=e.length;r>n;n++)t(e[n],n)},arrayIndexOf:function(e,t){if("function"==typeof Array.prototype.indexOf)return Array.prototype.indexOf.call(e,t);for(var n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1},arrayFirst:function(e,t,n){for(var r=0,i=e.length;i>r;r++)if(t.call(n,e[r],r))return e[r];return null},arrayRemoveItem:function(e,t){var n=g.utils.arrayIndexOf(e,t);n>0?e.splice(n,1):0===n&&e.shift()},arrayGetDistinctValues:function(e){e=e||[];for(var t=[],n=0,r=e.length;r>n;n++)g.utils.arrayIndexOf(t,e[n])<0&&t.push(e[n]);return t},arrayMap:function(e,t){e=e||[];for(var n=[],r=0,i=e.length;i>r;r++)n.push(t(e[r],r));return n},arrayFilter:function(e,t){e=e||[];for(var n=[],r=0,i=e.length;i>r;r++)t(e[r],r)&&n.push(e[r]);return n},arrayPushAll:function(e,t){if(t instanceof Array)e.push.apply(e,t);else for(var n=0,r=t.length;r>n;n++)e.push(t[n]);return e},addOrRemoveItem:function(e,t,n){var r=g.utils.arrayIndexOf(g.utils.peekObservable(e),t);0>r?n&&e.push(t):n||e.splice(r,1)},canSetPrototype:f,extend:t,setPrototypeOf:n,setPrototypeOfOrExtend:f?n:t,objectForEach:e,objectMap:function(e,t){if(!e)return e;var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=t(e[r],r,e));return n},emptyDomNode:function(e){for(;e.firstChild;)g.removeNode(e.firstChild)},moveCleanedNodesToContainerElement:function(e){for(var t=g.utils.makeArray(e),n=t[0]&&t[0].ownerDocument||u,r=n.createElement("div"),i=0,o=t.length;o>i;i++)r.appendChild(g.cleanNode(t[i]));return r},cloneNodes:function(e,t){for(var n=0,r=e.length,i=[];r>n;n++){var o=e[n].cloneNode(!0);i.push(t?g.cleanNode(o):o)}return i},setDomNodeChildren:function(e,t){if(g.utils.emptyDomNode(e),t)for(var n=0,r=t.length;r>n;n++)e.appendChild(t[n])},replaceDomNodes:function(e,t){var n=e.nodeType?[e]:e;if(n.length>0){for(var r=n[0],i=r.parentNode,o=0,s=t.length;s>o;o++)i.insertBefore(t[o],r);for(var o=0,s=n.length;s>o;o++)g.removeNode(n[o])}},fixUpContinuousNodeArray:function(e,t){if(e.length){for(t=8===t.nodeType&&t.parentNode||t;e.length&&e[0].parentNode!==t;)e.splice(0,1);for(;e.length>1&&e[e.length-1].parentNode!==t;)e.length--;if(e.length>1){var n=e[0],r=e[e.length-1];for(e.length=0;n!==r;)e.push(n),n=n.nextSibling;e.push(r)}}return e},setOptionNodeSelectionState:function(e,t){7>_?e.setAttribute("selected",t):e.selected=t},stringTrim:function(e){return null===e||e===a?"":e.trim?e.trim():e.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},stringStartsWith:function(e,t){return e=e||"",t.length>e.length?!1:e.substring(0,t.length)===t},domNodeIsContainedBy:function(e,t){if(e===t)return!0;if(11===e.nodeType)return!1;if(t.contains)return t.contains(3===e.nodeType?e.parentNode:e);if(t.compareDocumentPosition)return 16==(16&t.compareDocumentPosition(e));for(;e&&e!=t;)e=e.parentNode;return!!e},domNodeIsAttachedToDocument:function(e){return g.utils.domNodeIsContainedBy(e,e.ownerDocument.documentElement)},anyDomNodeIsAttachedToDocument:function(e){return!!g.utils.arrayFirst(e,g.utils.domNodeIsAttachedToDocument)},tagNameLower:function(e){return e&&e.tagName&&e.tagName.toLowerCase()},catchFunctionErrors:function(e){return g.onError?function(){try{return e.apply(this,arguments)}catch(t){throw g.onError&&g.onError(t),t}}:e},setTimeout:function(e,t){return setTimeout(g.utils.catchFunctionErrors(e),t)},deferError:function(e){setTimeout(function(){throw g.onError&&g.onError(e),e},0)},registerEventHandler:function(e,t,n){var r=g.utils.catchFunctionErrors(n),i=_&&y[t];if(g.options.useOnlyNativeEvents||i||!d)if(i||"function"!=typeof e.addEventListener){if("undefined"==typeof e.attachEvent)throw new Error("Browser doesn't support addEventListener or attachEvent");var o=function(t){r.call(e,t)},s="on"+t;e.attachEvent(s,o),g.utils.domNodeDisposal.addDisposeCallback(e,function(){e.detachEvent(s,o)})}else e.addEventListener(t,r,!1);else d(e).bind(t,r)},triggerEvent:function(e,t){if(!e||!e.nodeType)throw new Error("element must be a DOM node when calling triggerEvent");var n=r(e,t);if(g.options.useOnlyNativeEvents||!d||n)if("function"==typeof u.createEvent){if("function"!=typeof e.dispatchEvent)throw new Error("The supplied element doesn't support dispatchEvent");var i=m[t]||"HTMLEvents",o=u.createEvent(i);o.initEvent(t,!0,!0,l,0,0,0,0,0,!1,!1,!1,!1,0,e),e.dispatchEvent(o)}else if(n&&e.click)e.click();else{if("undefined"==typeof e.fireEvent)throw new Error("Browser doesn't support triggering events");e.fireEvent("on"+t)}else d(e).trigger(t)},unwrapObservable:function(e){return g.isObservable(e)?e():e},peekObservable:function(e){return g.isObservable(e)?e.peek():e},toggleDomNodeCssClass:i,setTextContent:function(e,t){var n=g.utils.unwrapObservable(t);null!==n&&n!==a||(n="");var r=g.virtualElements.firstChild(e);!r||3!=r.nodeType||g.virtualElements.nextSibling(r)?g.virtualElements.setDomNodeChildren(e,[e.ownerDocument.createTextNode(n)]):r.data=n,g.utils.forceRefresh(e)},setElementName:function(e,t){if(e.name=t,7>=_)try{e.mergeAttributes(u.createElement(""),!1)}catch(n){}},forceRefresh:function(e){if(_>=9){var t=1==e.nodeType?e:e.parentNode;t.style&&(t.style.zoom=t.style.zoom)}},ensureSelectElementIsRenderedCorrectly:function(e){if(_){var t=e.style.width;e.style.width=0,e.style.width=t}},range:function(e,t){e=g.utils.unwrapObservable(e),t=g.utils.unwrapObservable(t);for(var n=[],r=e;t>=r;r++)n.push(r);return n},makeArray:function(e){for(var t=[],n=0,r=e.length;r>n;n++)t.push(e[n]);return t},createSymbolOrString:function(e){return h?Symbol(e):e},isIe6:w,isIe7:x,ieVersion:_,getFormFields:function(e,t){for(var n=g.utils.makeArray(e.getElementsByTagName("input")).concat(g.utils.makeArray(e.getElementsByTagName("textarea"))),r="string"==typeof t?function(e){return e.name===t}:function(e){return t.test(e.name)},i=[],o=n.length-1;o>=0;o--)r(n[o])&&i.push(n[o]);return i},parseJson:function(e){return"string"==typeof e&&(e=g.utils.stringTrim(e))?p&&p.parse?p.parse(e):new Function("return "+e)():null},stringifyJson:function(e,t,n){if(!p||!p.stringify)throw new Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return p.stringify(g.utils.unwrapObservable(e),t,n)},postJson:function(t,n,r){r=r||{};var i=r.params||{},o=r.includeFields||this.fieldsIncludedWithJsonPost,s=t;if("object"==typeof t&&"form"===g.utils.tagNameLower(t)){var a=t;s=a.action;for(var l=o.length-1;l>=0;l--)for(var c=g.utils.getFormFields(a,o[l]),d=c.length-1;d>=0;d--)i[c[d].name]=c[d].value}n=g.utils.unwrapObservable(n);var p=u.createElement("form");p.style.display="none",p.action=s,p.method="post";for(var f in n){var h=u.createElement("input");h.type="hidden",h.name=f,h.value=g.utils.stringifyJson(g.utils.unwrapObservable(n[f])),p.appendChild(h)}e(i,function(e,t){var n=u.createElement("input");n.type="hidden",n.name=e,n.value=t,p.appendChild(n)}),u.body.appendChild(p),r.submitter?r.submitter(p):p.submit(),setTimeout(function(){p.parentNode.removeChild(p)},0)}}}(),g.exportSymbol("utils",g.utils),g.exportSymbol("utils.arrayForEach",g.utils.arrayForEach),g.exportSymbol("utils.arrayFirst",g.utils.arrayFirst),g.exportSymbol("utils.arrayFilter",g.utils.arrayFilter),g.exportSymbol("utils.arrayGetDistinctValues",g.utils.arrayGetDistinctValues),g.exportSymbol("utils.arrayIndexOf",g.utils.arrayIndexOf),g.exportSymbol("utils.arrayMap",g.utils.arrayMap),g.exportSymbol("utils.arrayPushAll",g.utils.arrayPushAll),g.exportSymbol("utils.arrayRemoveItem",g.utils.arrayRemoveItem),g.exportSymbol("utils.extend",g.utils.extend),g.exportSymbol("utils.fieldsIncludedWithJsonPost",g.utils.fieldsIncludedWithJsonPost),g.exportSymbol("utils.getFormFields",g.utils.getFormFields),g.exportSymbol("utils.peekObservable",g.utils.peekObservable),g.exportSymbol("utils.postJson",g.utils.postJson),g.exportSymbol("utils.parseJson",g.utils.parseJson),g.exportSymbol("utils.registerEventHandler",g.utils.registerEventHandler),g.exportSymbol("utils.stringifyJson",g.utils.stringifyJson),g.exportSymbol("utils.range",g.utils.range),g.exportSymbol("utils.toggleDomNodeCssClass",g.utils.toggleDomNodeCssClass),g.exportSymbol("utils.triggerEvent",g.utils.triggerEvent),g.exportSymbol("utils.unwrapObservable",g.utils.unwrapObservable),g.exportSymbol("utils.objectForEach",g.utils.objectForEach),g.exportSymbol("utils.addOrRemoveItem",g.utils.addOrRemoveItem),g.exportSymbol("utils.setTextContent",g.utils.setTextContent),g.exportSymbol("unwrap",g.utils.unwrapObservable),Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(1===arguments.length)return function(){return t.apply(e,arguments)};var n=Array.prototype.slice.call(arguments,1);return function(){var r=n.slice(0);return r.push.apply(r,arguments),t.apply(e,r)}}),g.utils.domData=new function(){function e(e,i){var o=e[n],s=o&&"null"!==o&&r[o];if(!s){if(!i)return a;o=e[n]="ko"+t++,r[o]={}}return r[o]}var t=0,n="__ko__"+(new Date).getTime(),r={};return{get:function(t,n){var r=e(t,!1);return r===a?a:r[n]},set:function(t,n,r){if(r!==a||e(t,!1)!==a){var i=e(t,!0);i[n]=r}},clear:function(e){var t=e[n];return t?(delete r[t],e[n]=null,!0):!1},nextKey:function(){return t++ +n}}},g.exportSymbol("utils.domData",g.utils.domData),g.exportSymbol("utils.domData.clear",g.utils.domData.clear),g.utils.domNodeDisposal=new function(){function e(e,t){var n=g.utils.domData.get(e,i);return n===a&&t&&(n=[],g.utils.domData.set(e,i,n)),n}function t(e){g.utils.domData.set(e,i,a)}function n(t){var n=e(t,!1);if(n){n=n.slice(0);for(var i=0;ir;r++)n(t[r])}return e},removeNode:function(e){g.cleanNode(e),e.parentNode&&e.parentNode.removeChild(e)},cleanExternalData:function(e){d&&"function"==typeof d.cleanData&&d.cleanData([e])}}},g.cleanNode=g.utils.domNodeDisposal.cleanNode,g.removeNode=g.utils.domNodeDisposal.removeNode,g.exportSymbol("cleanNode",g.cleanNode),g.exportSymbol("removeNode",g.removeNode),g.exportSymbol("utils.domNodeDisposal",g.utils.domNodeDisposal),g.exportSymbol("utils.domNodeDisposal.addDisposeCallback",g.utils.domNodeDisposal.addDisposeCallback),g.exportSymbol("utils.domNodeDisposal.removeDisposeCallback",g.utils.domNodeDisposal.removeDisposeCallback),function(){function e(e){var t=e.match(/^<([a-z]+)[ >]/);return t&&p[t[1]]||r}function t(t,n){n||(n=u);var r=n.parentWindow||n.defaultView||l,i=g.utils.stringTrim(t).toLowerCase(),o=n.createElement("div"),s=e(i),a=s[0],c="ignored
"+s[1]+t+s[2]+"
";for("function"==typeof r.innerShiv?o.appendChild(r.innerShiv(c)):(f&&n.appendChild(o),o.innerHTML=c,f&&o.parentNode.removeChild(o));a--;)o=o.lastChild;return g.utils.makeArray(o.lastChild.childNodes)}function n(e,t){if(d.parseHTML)return d.parseHTML(e,t)||[];var n=d.clean([e],t);if(n&&n[0]){for(var r=n[0];r.parentNode&&11!==r.parentNode.nodeType;)r=r.parentNode;r.parentNode&&r.parentNode.removeChild(r)}return n}var r=[0,"",""],i=[1,"","
"],o=[2,"","
"],s=[3,"","
"],c=[1,""],p={thead:i,tbody:i,tfoot:i,tr:o,td:s,th:s,option:c,optgroup:c},f=g.utils.ieVersion<=8;g.utils.parseHtmlFragment=function(e,r){return d?n(e,r):t(e,r)},g.utils.setHtml=function(e,t){if(g.utils.emptyDomNode(e),t=g.utils.unwrapObservable(t),null!==t&&t!==a)if("string"!=typeof t&&(t=t.toString()),d)d(e).html(t);else for(var n=g.utils.parseHtmlFragment(t,e.ownerDocument),r=0;ri;i++)n(o[i],t)}var r={};return{memoize:function(e){if("function"!=typeof e)throw new Error("You can only pass a function to ko.memoization.memoize()");var n=t();return r[n]=e,""},unmemoize:function(e,t){var n=r[e];if(n===a)throw new Error("Couldn't find any memo with ID "+e+". Perhaps it's already been unmemoized.");try{return n.apply(null,t||[]),!0}finally{delete r[e]}},unmemoizeDomNodeAndDescendants:function(e,t){var r=[];n(e,r);for(var i=0,o=r.length;o>i;i++){var s=r[i].domNode,a=[s];t&&g.utils.arrayPushAll(a,t),g.memoization.unmemoize(r[i].memoId,a),s.nodeValue="",s.parentNode&&s.parentNode.removeChild(s)}},parseMemoText:function(e){var t=e.match(/^\[ko_memo\:(.*?)\]$/);return t?t[1]:null}}}(),g.exportSymbol("memoization",g.memoization),g.exportSymbol("memoization.memoize",g.memoization.memoize),g.exportSymbol("memoization.unmemoize",g.memoization.unmemoize),g.exportSymbol("memoization.parseMemoText",g.memoization.parseMemoText),g.exportSymbol("memoization.unmemoizeDomNodeAndDescendants",g.memoization.unmemoizeDomNodeAndDescendants),g.tasks=function(){function e(){if(o)for(var e,t=o,n=0;o>a;)if(e=i[a++]){if(a>t){if(++n>=5e3){a=o,g.utils.deferError(Error("'Too much recursion' after processing "+n+" task groups."));break}t=o}try{e()}catch(r){g.utils.deferError(r)}}}function t(){e(),a=o=i.length=0}function n(){g.tasks.scheduler(t)}var r,i=[],o=0,s=1,a=0;r=l.MutationObserver?function(e){var t=u.createElement("div");return new MutationObserver(e).observe(t,{attributes:!0}),function(){t.classList.toggle("foo")}}(t):u&&"onreadystatechange"in u.createElement("script")?function(e){var t=u.createElement("script");t.onreadystatechange=function(){t.onreadystatechange=null,u.documentElement.removeChild(t),t=null,e()},u.documentElement.appendChild(t)}:function(e){setTimeout(e,0)};var c={scheduler:r,schedule:function(e){return o||n(),i[o++]=e,s++},cancel:function(e){var t=e-(s-o);t>=a&&o>t&&(i[t]=null)},resetForTesting:function(){var e=o-a;return a=o=i.length=0,e},runEarly:e};return c}(),g.exportSymbol("tasks",g.tasks),g.exportSymbol("tasks.schedule",g.tasks.schedule),g.exportSymbol("tasks.runEarly",g.tasks.runEarly),g.extenders={throttle:function(e,t){e.throttleEvaluation=t;var n=null;return g.dependentObservable({read:e,write:function(r){clearTimeout(n),n=g.utils.setTimeout(function(){e(r)},t)}})},rateLimit:function(e,t){var n,o,s;"number"==typeof t?n=t:(n=t.timeout,o=t.method),e._deferUpdates=!1,s="notifyWhenChangesStop"==o?i:r,e.limit(function(e){return s(e,n)})},deferred:function(e,t){if(t!==!0)throw new Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");e._deferUpdates||(e._deferUpdates=!0,e.limit(function(t){var n;return function(){g.tasks.cancel(n),n=g.tasks.schedule(t),e.notifySubscribers(a,"dirty")}}))},notify:function(e,t){e.equalityComparer="always"==t?null:n}};var y={undefined:1,"boolean":1,number:1,string:1};g.exportSymbol("extenders",g.extenders),g.subscription=function(e,t,n){this._target=e,this.callback=t,this.disposeCallback=n,this.isDisposed=!1,g.exportProperty(this,"dispose",this.dispose)},g.subscription.prototype.dispose=function(){this.isDisposed=!0,this.disposeCallback()},g.subscribable=function(){g.utils.setPrototypeOfOrExtend(this,w),w.init(this)};var _="change",w={init:function(e){e._subscriptions={},e._versionNumber=1},subscribe:function(e,t,n){var r=this;n=n||_;var i=t?e.bind(t):e,o=new g.subscription(r,i,function(){g.utils.arrayRemoveItem(r._subscriptions[n],o),r.afterSubscriptionRemove&&r.afterSubscriptionRemove(n)});return r.beforeSubscriptionAdd&&r.beforeSubscriptionAdd(n),r._subscriptions[n]||(r._subscriptions[n]=[]),r._subscriptions[n].push(o),o},notifySubscribers:function(e,t){if(t=t||_,t===_&&this.updateVersion(),this.hasSubscriptionsForEvent(t))try{g.dependencyDetection.begin();for(var n,r=this._subscriptions[t].slice(0),i=0;n=r[i];++i)n.isDisposed||n.callback(e)}finally{g.dependencyDetection.end()}},getVersion:function(){return this._versionNumber; },hasChanged:function(e){return this.getVersion()!==e},updateVersion:function(){++this._versionNumber},limit:function(e){var t,n,r,i=this,o=g.isObservable(i),s="beforeChange";i._origNotifySubscribers||(i._origNotifySubscribers=i.notifySubscribers,i.notifySubscribers=f);var a=e(function(){i._notificationIsPending=!1,o&&r===i&&(r=i()),t=!1,i.isDifferent(n,r)&&i._origNotifySubscribers(n=r)});i._limitChange=function(e){i._notificationIsPending=t=!0,r=e,a()},i._limitBeforeChange=function(e){t||(n=e,i._origNotifySubscribers(e,s))}},hasSubscriptionsForEvent:function(e){return this._subscriptions[e]&&this._subscriptions[e].length},getSubscriptionsCount:function(e){if(e)return this._subscriptions[e]&&this._subscriptions[e].length||0;var t=0;return g.utils.objectForEach(this._subscriptions,function(e,n){"dirty"!==e&&(t+=n.length)}),t},isDifferent:function(e,t){return!this.equalityComparer||!this.equalityComparer(e,t)},extend:o};g.exportProperty(w,"subscribe",w.subscribe),g.exportProperty(w,"extend",w.extend),g.exportProperty(w,"getSubscriptionsCount",w.getSubscriptionsCount),g.utils.canSetPrototype&&g.utils.setPrototypeOf(w,Function.prototype),g.subscribable.fn=w,g.isSubscribable=function(e){return null!=e&&"function"==typeof e.subscribe&&"function"==typeof e.notifySubscribers},g.exportSymbol("subscribable",g.subscribable),g.exportSymbol("isSubscribable",g.isSubscribable),g.computedContext=g.dependencyDetection=function(){function e(){return++o}function t(e){i.push(r),r=e}function n(){r=i.pop()}var r,i=[],o=0;return{begin:t,end:n,registerDependency:function(t){if(r){if(!g.isSubscribable(t))throw new Error("Only subscribable things can act as dependencies");r.callback.call(r.callbackTarget,t,t._id||(t._id=e()))}},ignore:function(e,r,i){try{return t(),e.apply(r,i||[])}finally{n()}},getDependenciesCount:function(){return r?r.computed.getDependenciesCount():void 0},isInitial:function(){return r?r.isInitial:void 0}}}(),g.exportSymbol("computedContext",g.computedContext),g.exportSymbol("computedContext.getDependenciesCount",g.computedContext.getDependenciesCount),g.exportSymbol("computedContext.isInitial",g.computedContext.isInitial),g.exportSymbol("ignoreDependencies",g.ignoreDependencies=g.dependencyDetection.ignore);var x=g.utils.createSymbolOrString("_latestValue");g.observable=function(e){function t(){return arguments.length>0?(t.isDifferent(t[x],arguments[0])&&(t.valueWillMutate(),t[x]=arguments[0],t.valueHasMutated()),this):(g.dependencyDetection.registerDependency(t),t[x])}return t[x]=e,g.utils.canSetPrototype||g.utils.extend(t,g.subscribable.fn),g.subscribable.fn.init(t),g.utils.setPrototypeOfOrExtend(t,k),g.options.deferUpdates&&g.extenders.deferred(t,!0),t};var k={equalityComparer:n,peek:function(){return this[x]},valueHasMutated:function(){this.notifySubscribers(this[x])},valueWillMutate:function(){this.notifySubscribers(this[x],"beforeChange")}};g.utils.canSetPrototype&&g.utils.setPrototypeOf(k,g.subscribable.fn);var E=g.observable.protoProperty="__ko_proto__";k[E]=g.observable,g.hasPrototype=function(e,t){return null===e||e===a||e[E]===a?!1:e[E]===t?!0:g.hasPrototype(e[E],t)},g.isObservable=function(e){return g.hasPrototype(e,g.observable)},g.isWriteableObservable=function(e){return"function"==typeof e&&e[E]===g.observable?!0:!("function"!=typeof e||e[E]!==g.dependentObservable||!e.hasWriteFunction)},g.exportSymbol("observable",g.observable),g.exportSymbol("isObservable",g.isObservable),g.exportSymbol("isWriteableObservable",g.isWriteableObservable),g.exportSymbol("isWritableObservable",g.isWriteableObservable),g.exportSymbol("observable.fn",k),g.exportProperty(k,"peek",k.peek),g.exportProperty(k,"valueHasMutated",k.valueHasMutated),g.exportProperty(k,"valueWillMutate",k.valueWillMutate),g.observableArray=function(e){if(e=e||[],"object"!=typeof e||!("length"in e))throw new Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");var t=g.observable(e);return g.utils.setPrototypeOfOrExtend(t,g.observableArray.fn),t.extend({trackArrayChanges:!0})},g.observableArray.fn={remove:function(e){for(var t=this.peek(),n=[],r="function"!=typeof e||g.isObservable(e)?function(t){return t===e}:e,i=0;i=0}):[]},destroy:function(e){var t=this.peek(),n="function"!=typeof e||g.isObservable(e)?function(t){return t===e}:e;this.valueWillMutate();for(var r=t.length-1;r>=0;r--){var i=t[r];n(i)&&(t[r]._destroy=!0)}this.valueHasMutated()},destroyAll:function(e){return e===a?this.destroy(function(){return!0}):e?this.destroy(function(t){return g.utils.arrayIndexOf(e,t)>=0}):[]},indexOf:function(e){var t=this();return g.utils.arrayIndexOf(t,e)},replace:function(e,t){var n=this.indexOf(e);n>=0&&(this.valueWillMutate(),this.peek()[n]=t,this.valueHasMutated())}},g.utils.canSetPrototype&&g.utils.setPrototypeOf(g.observableArray.fn,g.observable.fn),g.utils.arrayForEach(["pop","push","reverse","shift","sort","splice","unshift"],function(e){g.observableArray.fn[e]=function(){var t=this.peek();this.valueWillMutate(),this.cacheDiffForKnownOperation(t,e,arguments);var n=t[e].apply(t,arguments);return this.valueHasMutated(),n===t?this:n}}),g.utils.arrayForEach(["slice"],function(e){g.observableArray.fn[e]=function(){var t=this();return t[e].apply(t,arguments)}}),g.exportSymbol("observableArray",g.observableArray);var O="arrayChange";g.extenders.trackArrayChanges=function(e,t){function n(){if(!o){o=!0;var t=e.notifySubscribers;e.notifySubscribers=function(e,n){return n&&n!==_||++a,t.apply(this,arguments)};var n=[].concat(e.peek()||[]);s=null,i=e.subscribe(function(t){if(t=[].concat(t||[]),e.hasSubscriptionsForEvent(O))var i=r(n,t);n=t,s=null,a=0,i&&i.length&&e.notifySubscribers(i,O)})}}function r(t,n){return(!s||a>1)&&(s=g.utils.compareArrays(t,n,e.compareArrayOptions)),s}if(e.compareArrayOptions={},t&&"object"==typeof t&&g.utils.extend(e.compareArrayOptions,t),e.compareArrayOptions.sparse=!0,!e.cacheDiffForKnownOperation){var i,o=!1,s=null,a=0,l=e.beforeSubscriptionAdd,u=e.afterSubscriptionRemove;e.beforeSubscriptionAdd=function(t){l&&l.call(e,t),t===O&&n()},e.afterSubscriptionRemove=function(t){u&&u.call(e,t),t!==O||e.hasSubscriptionsForEvent(O)||(i.dispose(),o=!1)},e.cacheDiffForKnownOperation=function(e,t,n){function r(e,t,n){return i[i.length]={status:e,value:t,index:n}}if(o&&!a){var i=[],l=e.length,u=n.length,c=0;switch(t){case"push":c=l;case"unshift":for(var d=0;u>d;d++)r("added",n[d],c+d);break;case"pop":c=l-1;case"shift":l&&r("deleted",e[c],c);break;case"splice":for(var p=Math.min(Math.max(0,n[0]<0?l+n[0]:n[0]),l),f=1===u?l:Math.min(p+(n[1]||0),l),h=p+u-2,v=Math.max(f,h),m=[],b=[],d=p,y=2;v>d;++d,++y)f>d&&b.push(r("deleted",e[d],d)),h>d&&m.push(r("added",n[y],d));g.utils.findMovesInArrayComparison(b,m);break;default:return}s=i}}}};var S=g.utils.createSymbolOrString("_state");g.computed=g.dependentObservable=function(e,t,n){function r(){if(arguments.length>0){if("function"!=typeof i)throw new Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return i.apply(o.evaluatorFunctionTarget,arguments),this}return g.dependencyDetection.registerDependency(r),(o.isStale||o.isSleeping&&r.haveDependenciesChanged())&&r.evaluateImmediate(),o.latestValue}if("object"==typeof e?n=e:(n=n||{},e&&(n.read=e)),"function"!=typeof n.read)throw Error("Pass a function that returns the value of the ko.computed");var i=n.write,o={latestValue:a,isStale:!0,isBeingEvaluated:!1,suppressDisposalUntilDisposeWhenReturnsFalse:!1,isDisposed:!1,pure:!1,isSleeping:!1,readFunction:n.read,evaluatorFunctionTarget:t||n.owner,disposeWhenNodeIsRemoved:n.disposeWhenNodeIsRemoved||n.disposeWhenNodeIsRemoved||null,disposeWhen:n.disposeWhen||n.disposeWhen,domNodeDisposalCallback:null,dependencyTracking:{},dependenciesCount:0,evaluationTimeoutInstance:null};return r[S]=o,r.hasWriteFunction="function"==typeof i,g.utils.canSetPrototype||g.utils.extend(r,g.subscribable.fn),g.subscribable.fn.init(r),g.utils.setPrototypeOfOrExtend(r,C),n.pure?(o.pure=!0,o.isSleeping=!0,g.utils.extend(r,T)):n.deferEvaluation&&g.utils.extend(r,N),g.options.deferUpdates&&g.extenders.deferred(r,!0),s&&(r._options=n),o.disposeWhenNodeIsRemoved&&(o.suppressDisposalUntilDisposeWhenReturnsFalse=!0,o.disposeWhenNodeIsRemoved.nodeType||(o.disposeWhenNodeIsRemoved=null)),o.isSleeping||n.deferEvaluation||r.evaluateImmediate(),o.disposeWhenNodeIsRemoved&&r.isActive()&&g.utils.domNodeDisposal.addDisposeCallback(o.disposeWhenNodeIsRemoved,o.domNodeDisposalCallback=function(){r.dispose()}),r};var C={equalityComparer:n,getDependenciesCount:function(){return this[S].dependenciesCount},addDependencyTracking:function(e,t,n){if(this[S].pure&&t===this)throw Error("A 'pure' computed must not be called recursively");this[S].dependencyTracking[e]=n,n._order=this[S].dependenciesCount++,n._version=t.getVersion()},haveDependenciesChanged:function(){var e,t,n=this[S].dependencyTracking;for(e in n)if(n.hasOwnProperty(e)&&(t=n[e],t._target.hasChanged(t._version)))return!0},markDirty:function(){this._evalDelayed&&!this[S].isBeingEvaluated&&this._evalDelayed()},isActive:function(){return this[S].isStale||this[S].dependenciesCount>0},respondToChange:function(){this._notificationIsPending||this.evaluatePossiblyAsync()},subscribeToDependency:function(e){if(e._deferUpdates&&!this[S].disposeWhenNodeIsRemoved){var t=e.subscribe(this.markDirty,this,"dirty"),n=e.subscribe(this.respondToChange,this);return{_target:e,dispose:function(){t.dispose(),n.dispose()}}}return e.subscribe(this.evaluatePossiblyAsync,this)},evaluatePossiblyAsync:function(){var e=this,t=e.throttleEvaluation;t&&t>=0?(clearTimeout(this[S].evaluationTimeoutInstance),this[S].evaluationTimeoutInstance=g.utils.setTimeout(function(){e.evaluateImmediate(!0)},t)):e._evalDelayed?e._evalDelayed():e.evaluateImmediate(!0)},evaluateImmediate:function(e){var t=this,n=t[S],r=n.disposeWhen;if(!n.isBeingEvaluated&&!n.isDisposed){if(n.disposeWhenNodeIsRemoved&&!g.utils.domNodeIsAttachedToDocument(n.disposeWhenNodeIsRemoved)||r&&r()){if(!n.suppressDisposalUntilDisposeWhenReturnsFalse)return void t.dispose()}else n.suppressDisposalUntilDisposeWhenReturnsFalse=!1;n.isBeingEvaluated=!0;try{this.evaluateImmediate_CallReadWithDependencyDetection(e)}finally{n.isBeingEvaluated=!1}n.dependenciesCount||t.dispose()}},evaluateImmediate_CallReadWithDependencyDetection:function(e){var t=this,n=t[S],r=n.pure?a:!n.dependenciesCount,i={computedObservable:t,disposalCandidates:n.dependencyTracking,disposalCount:n.dependenciesCount};g.dependencyDetection.begin({callbackTarget:i,callback:v,computed:t,isInitial:r}),n.dependencyTracking={},n.dependenciesCount=0;var o=this.evaluateImmediate_CallReadThenEndDependencyDetection(n,i);t.isDifferent(n.latestValue,o)&&(n.isSleeping||t.notifySubscribers(n.latestValue,"beforeChange"),n.latestValue=o,n.isSleeping?t.updateVersion():e&&t.notifySubscribers(n.latestValue)),r&&t.notifySubscribers(n.latestValue,"awake")},evaluateImmediate_CallReadThenEndDependencyDetection:function(e,t){try{var n=e.readFunction;return e.evaluatorFunctionTarget?n.call(e.evaluatorFunctionTarget):n()}finally{g.dependencyDetection.end(),t.disposalCount&&!e.isSleeping&&g.utils.objectForEach(t.disposalCandidates,h),e.isStale=!1}},peek:function(){var e=this[S];return(e.isStale&&!e.dependenciesCount||e.isSleeping&&this.haveDependenciesChanged())&&this.evaluateImmediate(),e.latestValue},limit:function(e){g.subscribable.fn.limit.call(this,e),this._evalDelayed=function(){this._limitBeforeChange(this[S].latestValue),this[S].isStale=!0,this._limitChange(this)}},dispose:function(){var e=this[S];!e.isSleeping&&e.dependencyTracking&&g.utils.objectForEach(e.dependencyTracking,function(e,t){t.dispose&&t.dispose()}),e.disposeWhenNodeIsRemoved&&e.domNodeDisposalCallback&&g.utils.domNodeDisposal.removeDisposeCallback(e.disposeWhenNodeIsRemoved,e.domNodeDisposalCallback),e.dependencyTracking=null,e.dependenciesCount=0,e.isDisposed=!0,e.isStale=!1,e.isSleeping=!1,e.disposeWhenNodeIsRemoved=null}},T={beforeSubscriptionAdd:function(e){var t=this,n=t[S];if(!n.isDisposed&&n.isSleeping&&"change"==e){if(n.isSleeping=!1,n.isStale||t.haveDependenciesChanged())n.dependencyTracking=null,n.dependenciesCount=0,n.isStale=!0,t.evaluateImmediate();else{var r=[];g.utils.objectForEach(n.dependencyTracking,function(e,t){r[t._order]=e}),g.utils.arrayForEach(r,function(e,r){var i=n.dependencyTracking[e],o=t.subscribeToDependency(i._target);o._order=r,o._version=i._version,n.dependencyTracking[e]=o})}n.isDisposed||t.notifySubscribers(n.latestValue,"awake")}},afterSubscriptionRemove:function(e){var t=this[S];t.isDisposed||"change"!=e||this.hasSubscriptionsForEvent("change")||(g.utils.objectForEach(t.dependencyTracking,function(e,n){n.dispose&&(t.dependencyTracking[e]={_target:n._target,_order:n._order,_version:n._version},n.dispose())}),t.isSleeping=!0,this.notifySubscribers(a,"asleep"))},getVersion:function(){var e=this[S];return e.isSleeping&&(e.isStale||this.haveDependenciesChanged())&&this.evaluateImmediate(),g.subscribable.fn.getVersion.call(this)}},N={beforeSubscriptionAdd:function(e){"change"!=e&&"beforeChange"!=e||this.peek()}};g.utils.canSetPrototype&&g.utils.setPrototypeOf(C,g.subscribable.fn);var D=g.observable.protoProperty;g.computed[D]=g.observable,C[D]=g.computed,g.isComputed=function(e){return g.hasPrototype(e,g.computed)},g.isPureComputed=function(e){return g.hasPrototype(e,g.computed)&&e[S]&&e[S].pure},g.exportSymbol("computed",g.computed),g.exportSymbol("dependentObservable",g.computed),g.exportSymbol("isComputed",g.isComputed),g.exportSymbol("isPureComputed",g.isPureComputed),g.exportSymbol("computed.fn",C),g.exportProperty(C,"peek",C.peek),g.exportProperty(C,"dispose",C.dispose),g.exportProperty(C,"isActive",C.isActive),g.exportProperty(C,"getDependenciesCount",C.getDependenciesCount),g.pureComputed=function(e,t){return"function"==typeof e?g.computed(e,t,{pure:!0}):(e=g.utils.extend({},e),e.pure=!0,g.computed(e,t))},g.exportSymbol("pureComputed",g.pureComputed),function(){function e(r,i,o){o=o||new n,r=i(r);var s=!("object"!=typeof r||null===r||r===a||r instanceof RegExp||r instanceof Date||r instanceof String||r instanceof Number||r instanceof Boolean);if(!s)return r;var l=r instanceof Array?[]:{};return o.save(r,l),t(r,function(t){var n=i(r[t]);switch(typeof n){case"boolean":case"number":case"string":case"function":l[t]=n;break;case"object":case"undefined":var s=o.get(n);l[t]=s!==a?s:e(n,i,o)}}),l}function t(e,t){if(e instanceof Array){for(var n=0;nt;t++)e=e();return e})},g.toJSON=function(e,t,n){var r=g.toJS(e);return g.utils.stringifyJson(r,t,n)},n.prototype={constructor:n,save:function(e,t){var n=g.utils.arrayIndexOf(this.keys,e);n>=0?this.values[n]=t:(this.keys.push(e),this.values.push(t))},get:function(e){var t=g.utils.arrayIndexOf(this.keys,e);return t>=0?this.values[t]:a}}}(),g.exportSymbol("toJS",g.toJS),g.exportSymbol("toJSON",g.toJSON),function(){var e="__ko__hasDomDataOptionValue__";g.selectExtensions={readValue:function(t){switch(g.utils.tagNameLower(t)){case"option":return t[e]===!0?g.utils.domData.get(t,g.bindingHandlers.options.optionValueDomDataKey):g.utils.ieVersion<=7?t.getAttributeNode("value")&&t.getAttributeNode("value").specified?t.value:t.text:t.value;case"select":return t.selectedIndex>=0?g.selectExtensions.readValue(t.options[t.selectedIndex]):a;default:return t.value}},writeValue:function(t,n,r){switch(g.utils.tagNameLower(t)){case"option":switch(typeof n){case"string":g.utils.domData.set(t,g.bindingHandlers.options.optionValueDomDataKey,a),e in t&&delete t[e],t.value=n;break;default:g.utils.domData.set(t,g.bindingHandlers.options.optionValueDomDataKey,n),t[e]=!0,t.value="number"==typeof n?n:""}break;case"select":""!==n&&null!==n||(n=a);for(var i,o=-1,s=0,l=t.options.length;l>s;++s)if(i=g.selectExtensions.readValue(t.options[s]),i==n||""==i&&n===a){o=s;break}(r||o>=0||n===a&&t.size>1)&&(t.selectedIndex=o);break;default:null!==n&&n!==a||(n=""),t.value=n}}}}(),g.exportSymbol("selectExtensions",g.selectExtensions),g.exportSymbol("selectExtensions.readValue",g.selectExtensions.readValue),g.exportSymbol("selectExtensions.writeValue",g.selectExtensions.writeValue),g.expressionRewriting=function(){function e(e){if(g.utils.arrayIndexOf(r,e)>=0)return!1;var t=e.match(i);return null===t?!1:t[1]?"Object("+t[1]+")"+t[2]:e}function t(e){var t=g.utils.stringTrim(e);123===t.charCodeAt(0)&&(t=t.slice(1,-1));var n,r=[],i=t.match(d),o=[],s=0;if(i){i.push(",");for(var a,l=0;a=i[l];++l){var u=a.charCodeAt(0);if(44===u){if(0>=s){r.push(n&&o.length?{key:n,value:o.join("")}:{unknown:n||o.join("")}),n=s=0,o=[];continue}}else if(58===u){if(!s&&!n&&1===o.length){n=o.pop();continue}}else if(47===u&&l&&a.length>1){var c=i[l-1].match(p);c&&!f[c[0]]&&(t=t.substr(t.indexOf(a)+1),i=t.match(d),i.push(","),l=-1,a="/")}else 40===u||123===u||91===u?++s:41===u||125===u||93===u?--s:n||o.length||34!==u&&39!==u||(a=a.slice(1,-1));o.push(a)}}return r}function n(n,r){function i(t,n){function r(e){return e&&e.preprocess?n=e.preprocess(n,t,i):!0}var u;if(!l){if(!r(g.getBindingHandler(t)))return;h[t]&&(u=e(n))&&s.push("'"+t+"':function(_z){"+u+"=_z}")}a&&(n="function(){return "+n+" }"),o.push("'"+t+"':"+n)}r=r||{};var o=[],s=[],a=r.valueAccessors,l=r.bindingParams,u="string"==typeof n?t(n):n;return g.utils.arrayForEach(u,function(e){i(e.key||e.unknown,e.value)}),s.length&&i("_ko_property_writers","{"+s.join(",")+" }"),o.join(",")}var r=["true","false","null","undefined"],i=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,o='"(?:[^"\\\\]|\\\\.)*"',s="'(?:[^'\\\\]|\\\\.)*'",a="/(?:[^/\\\\]|\\\\.)*/w*",l=",\"'{}()/:[\\]",u="[^\\s:,/][^"+l+"]*[^\\s"+l+"]",c="[^\\s]",d=RegExp(o+"|"+s+"|"+a+"|"+u+"|"+c,"g"),p=/[\])"'A-Za-z0-9_$]+$/,f={"in":1,"return":1,"typeof":1},h={};return{bindingRewriteValidators:[],twoWayBindings:h,parseObjectLiteral:t,preProcessBindings:n,keyValueArrayContainsKey:function(e,t){for(var n=0;n0?r[r.length-1].nextSibling:e.nextSibling:null}function i(n){var i=n.firstChild,o=null;if(i)do if(o)o.push(i);else if(e(i)){var s=r(i,!0);s?i=s:o=[i]}else t(i)&&(o=[i]);while(i=i.nextSibling);return o}var o=u&&""===u.createComment("test").text,s=o?/^$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,a=o?/^$/:/^\s*\/ko\s*$/,l={ul:!0,ol:!0};g.virtualElements={allowedBindings:{},childNodes:function(t){return e(t)?n(t):t.childNodes},emptyNode:function(t){if(e(t))for(var n=g.virtualElements.childNodes(t),r=0,i=n.length;i>r;r++)g.removeNode(n[r]);else g.utils.emptyDomNode(t)},setDomNodeChildren:function(t,n){if(e(t)){g.virtualElements.emptyNode(t);for(var r=t.nextSibling,i=0,o=n.length;o>i;i++)r.parentNode.insertBefore(n[i],r)}else g.utils.setDomNodeChildren(t,n)},prepend:function(t,n){e(t)?t.parentNode.insertBefore(n,t.nextSibling):t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n)},insertAfter:function(t,n,r){r?e(t)?t.parentNode.insertBefore(n,r.nextSibling):r.nextSibling?t.insertBefore(n,r.nextSibling):t.appendChild(n):g.virtualElements.prepend(t,n)},firstChild:function(n){return e(n)?!n.nextSibling||t(n.nextSibling)?null:n.nextSibling:n.firstChild},nextSibling:function(n){return e(n)&&(n=r(n)),n.nextSibling&&t(n.nextSibling)?null:n.nextSibling},hasBindingValue:e,virtualNodeBindingValue:function(e){var t=(o?e.text:e.nodeValue).match(s);return t?t[1]:null},normaliseVirtualElementDomStructure:function(e){if(l[g.utils.tagNameLower(e)]){var t=e.firstChild;if(t)do if(1===t.nodeType){var n=i(t);if(n)for(var r=t.nextSibling,o=0;o=0:s?e.checked=n:e.checked=o()===n}var o=g.pureComputed(function(){return n.has("checkedValue")?g.utils.unwrapObservable(n.get("checkedValue")):n.has("value")?g.utils.unwrapObservable(n.get("value")):e.value}),s="checkbox"==e.type,l="radio"==e.type;if(s||l){var u=t(),c=s&&g.utils.unwrapObservable(u)instanceof Array,d=!(c&&u.push&&u.splice),p=c?o():a,f=l||c;l&&!e.name&&g.bindingHandlers.uniqueName.init(e,function(){return!0}),g.computed(r,null,{disposeWhenNodeIsRemoved:e}),g.utils.registerEventHandler(e,"click",r),g.computed(i,null,{disposeWhenNodeIsRemoved:e}),u=a}}},g.expressionRewriting.twoWayBindings.checked=!0,g.bindingHandlers.checkedValue={update:function(e,t){e.value=g.utils.unwrapObservable(t())}}}();var A="__ko__cssValue";g.bindingHandlers.css={update:function(e,t){var n=g.utils.unwrapObservable(t());null!==n&&"object"==typeof n?g.utils.objectForEach(n,function(t,n){n=g.utils.unwrapObservable(n),g.utils.toggleDomNodeCssClass(e,t,n)}):(n=g.utils.stringTrim(String(n||"")),g.utils.toggleDomNodeCssClass(e,e[A],!1),e[A]=n,g.utils.toggleDomNodeCssClass(e,n,!0))}},g.bindingHandlers.enable={update:function(e,t){var n=g.utils.unwrapObservable(t());n&&e.disabled?e.removeAttribute("disabled"):n||e.disabled||(e.disabled=!0)}},g.bindingHandlers.disable={update:function(e,t){g.bindingHandlers.enable.update(e,function(){return!g.utils.unwrapObservable(t())})}},g.bindingHandlers.event={init:function(e,t,n,r,i){var o=t()||{};g.utils.objectForEach(o,function(o){"string"==typeof o&&g.utils.registerEventHandler(e,o,function(e){var s,a=t()[o];if(a){try{var l=g.utils.makeArray(arguments);r=i.$data,l.unshift(r),s=a.apply(r,l)}finally{s!==!0&&(e.preventDefault?e.preventDefault():e.returnValue=!1)}var u=n.get(o+"Bubble")!==!1;u||(e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation())}})})}},g.bindingHandlers.foreach={makeTemplateValueAccessor:function(e){return function(){var t=e(),n=g.utils.peekObservable(t);return n&&"number"!=typeof n.length?(g.utils.unwrapObservable(t),{foreach:n.data,as:n.as,includeDestroyed:n.includeDestroyed,afterAdd:n.afterAdd,beforeRemove:n.beforeRemove,afterRender:n.afterRender,beforeMove:n.beforeMove,afterMove:n.afterMove,templateEngine:g.nativeTemplateEngine.instance}):{foreach:t,templateEngine:g.nativeTemplateEngine.instance}}},init:function(e,t,n,r,i){return g.bindingHandlers.template.init(e,g.bindingHandlers.foreach.makeTemplateValueAccessor(t))},update:function(e,t,n,r,i){return g.bindingHandlers.template.update(e,g.bindingHandlers.foreach.makeTemplateValueAccessor(t),n,r,i)}},g.expressionRewriting.bindingRewriteValidators.foreach=!1,g.virtualElements.allowedBindings.foreach=!0;var I="__ko_hasfocusUpdating",R="__ko_hasfocusLastValue";g.bindingHandlers.hasfocus={init:function(e,t,n){var r=function(r){e[I]=!0;var i=e.ownerDocument;if("activeElement"in i){var o;try{o=i.activeElement}catch(s){o=i.body}r=o===e}var a=t();g.expressionRewriting.writeValueToProperty(a,n,"hasfocus",r,!0),e[R]=r,e[I]=!1},i=r.bind(null,!0),o=r.bind(null,!1);g.utils.registerEventHandler(e,"focus",i),g.utils.registerEventHandler(e,"focusin",i),g.utils.registerEventHandler(e,"blur",o),g.utils.registerEventHandler(e,"focusout",o)},update:function(e,t){var n=!!g.utils.unwrapObservable(t());e[I]||e[R]===n||(n?e.focus():e.blur(),!n&&e[R]&&e.ownerDocument.body.focus(),g.dependencyDetection.ignore(g.utils.triggerEvent,null,[e,n?"focusin":"focusout"]))}},g.expressionRewriting.twoWayBindings.hasfocus=!0,g.bindingHandlers.hasFocus=g.bindingHandlers.hasfocus,g.expressionRewriting.twoWayBindings.hasFocus=!0,g.bindingHandlers.html={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){g.utils.setHtml(e,t())}},b("if"),b("ifnot",!1,!0),b("with",!0,!1,function(e,t){return e.createChildContext(t)});var P={};g.bindingHandlers.options={init:function(e){if("select"!==g.utils.tagNameLower(e))throw new Error("options binding applies only to SELECT elements");for(;e.length>0;)e.remove(0);return{controlsDescendantBindings:!0}},update:function(e,t,n){function r(){return g.utils.arrayFilter(e.options,function(e){return e.selected})}function i(e,t,n){var r=typeof t;return"function"==r?t(e):"string"==r?e[t]:n}function o(t,r,o){o.length&&(b=!h&&o[0].selected?[g.selectExtensions.readValue(o[0])]:[],y=!0);var s=e.ownerDocument.createElement("option");if(t===P)g.utils.setTextContent(s,n.get("optionsCaption")),g.selectExtensions.writeValue(s,a);else{var l=i(t,n.get("optionsValue"),t);g.selectExtensions.writeValue(s,g.utils.unwrapObservable(l));var u=i(t,n.get("optionsText"),l);g.utils.setTextContent(s,u)}return[s]}function s(t,r){if(y&&h)g.selectExtensions.writeValue(e,g.utils.unwrapObservable(n.get("value")),!0);else if(b.length){var i=g.utils.arrayIndexOf(b,g.selectExtensions.readValue(r[0]))>=0;g.utils.setOptionNodeSelectionState(r[0],i),y&&!i&&g.dependencyDetection.ignore(g.utils.triggerEvent,null,[e,"change"])}}var l,u,c=0==e.length,d=e.multiple,p=!c&&d?e.scrollTop:null,f=g.utils.unwrapObservable(t()),h=n.get("valueAllowUnset")&&n.has("value"),v=n.get("optionsIncludeDestroyed"),m={},b=[];h||(d?b=g.utils.arrayMap(r(),g.selectExtensions.readValue):e.selectedIndex>=0&&b.push(g.selectExtensions.readValue(e.options[e.selectedIndex]))),f&&("undefined"==typeof f.length&&(f=[f]),u=g.utils.arrayFilter(f,function(e){return v||e===a||null===e||!g.utils.unwrapObservable(e._destroy)}),n.has("optionsCaption")&&(l=g.utils.unwrapObservable(n.get("optionsCaption")),null!==l&&l!==a&&u.unshift(P)));var y=!1;m.beforeRemove=function(t){e.removeChild(t)};var _=s;n.has("optionsAfterRender")&&"function"==typeof n.get("optionsAfterRender")&&(_=function(e,t){s(e,t),g.dependencyDetection.ignore(n.get("optionsAfterRender"),null,[t[0],e!==P?e:a])}),g.utils.setDomNodeChildrenFromArrayMapping(e,u,o,m,_),g.dependencyDetection.ignore(function(){if(h)g.selectExtensions.writeValue(e,g.utils.unwrapObservable(n.get("value")),!0);else{var t;t=d?b.length&&r().length=0?g.selectExtensions.readValue(e.options[e.selectedIndex])!==b[0]:b.length||e.selectedIndex>=0,t&&g.utils.triggerEvent(e,"change")}}),g.utils.ensureSelectElementIsRenderedCorrectly(e),p&&Math.abs(p-e.scrollTop)>20&&(e.scrollTop=p)}},g.bindingHandlers.options.optionValueDomDataKey=g.utils.domData.nextKey(),g.bindingHandlers.selectedOptions={after:["options","foreach"],init:function(e,t,n){g.utils.registerEventHandler(e,"change",function(){var r=t(),i=[];g.utils.arrayForEach(e.getElementsByTagName("option"),function(e){e.selected&&i.push(g.selectExtensions.readValue(e))}),g.expressionRewriting.writeValueToProperty(r,n,"selectedOptions",i)})},update:function(e,t){if("select"!=g.utils.tagNameLower(e))throw new Error("values binding applies only to SELECT elements");var n=g.utils.unwrapObservable(t()),r=e.scrollTop;n&&"number"==typeof n.length&&g.utils.arrayForEach(e.getElementsByTagName("option"),function(e){var t=g.utils.arrayIndexOf(n,g.selectExtensions.readValue(e))>=0;e.selected!=t&&g.utils.setOptionNodeSelectionState(e,t)}),e.scrollTop=r}},g.expressionRewriting.twoWayBindings.selectedOptions=!0,g.bindingHandlers.style={update:function(e,t){var n=g.utils.unwrapObservable(t()||{});g.utils.objectForEach(n,function(t,n){n=g.utils.unwrapObservable(n),null!==n&&n!==a&&n!==!1||(n=""),e.style[t]=n})}},g.bindingHandlers.submit={init:function(e,t,n,r,i){if("function"!=typeof t())throw new Error("The value for a submit binding must be a function");g.utils.registerEventHandler(e,"submit",function(n){var r,o=t();try{r=o.call(i.$data,e)}finally{r!==!0&&(n.preventDefault?n.preventDefault():n.returnValue=!1)}})}},g.bindingHandlers.text={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){g.utils.setTextContent(e,t())}},g.virtualElements.allowedBindings.text=!0,function(){if(l&&l.navigator)var e=function(e){return e?parseFloat(e[1]):void 0},t=l.opera&&l.opera.version&&parseInt(l.opera.version()),n=l.navigator.userAgent,r=e(n.match(/^(?:(?!chrome).)*version\/([^ ]*) safari/i)),i=e(n.match(/Firefox\/([^ ]*)/));if(g.utils.ieVersion<10)var o=g.utils.domData.nextKey(),u=g.utils.domData.nextKey(),c=function(e){var t=this.activeElement,n=t&&g.utils.domData.get(t,u);n&&n(e)},d=function(e,t){var n=e.ownerDocument;g.utils.domData.get(n,o)||(g.utils.domData.set(n,o,!0),g.utils.registerEventHandler(n,"selectionchange",c)),g.utils.domData.set(e,u,t)};g.bindingHandlers.textInput={init:function(e,n,o){var l,u,c=e.value,p=function(t){clearTimeout(l),u=l=a;var r=e.value;c!==r&&(s&&t&&(e._ko_textInputProcessedEvent=t.type),c=r,g.expressionRewriting.writeValueToProperty(n(),o,"textInput",r))},f=function(t){if(!l){u=e.value;var n=s?p.bind(e,{type:t.type}):p;l=g.utils.setTimeout(n,4)}},h=9==g.utils.ieVersion?f:p,v=function(){var t=g.utils.unwrapObservable(n());return null!==t&&t!==a||(t=""),u!==a&&t===u?void g.utils.setTimeout(v,4):void(e.value!==t&&(c=t,e.value=t))},m=function(t,n){g.utils.registerEventHandler(e,t,n)};s&&g.bindingHandlers.textInput._forceUpdateOn?g.utils.arrayForEach(g.bindingHandlers.textInput._forceUpdateOn,function(e){"after"==e.slice(0,5)?m(e.slice(5),f):m(e,p)}):g.utils.ieVersion<10?(m("propertychange",function(e){"value"===e.propertyName&&h(e)}),8==g.utils.ieVersion&&(m("keyup",p),m("keydown",p)),g.utils.ieVersion>=8&&(d(e,h),m("dragend",f))):(m("input",p),5>r&&"textarea"===g.utils.tagNameLower(e)?(m("keydown",f),m("paste",f),m("cut",f)):11>t?m("keydown",f):4>i&&(m("DOMAutoComplete",p),m("dragdrop",p),m("drop",p))),m("change",p),g.computed(v,null,{disposeWhenNodeIsRemoved:e})}},g.expressionRewriting.twoWayBindings.textInput=!0,g.bindingHandlers.textinput={preprocess:function(e,t,n){n("textInput",e)}}}(),g.bindingHandlers.uniqueName={init:function(e,t){if(t()){var n="ko_unique_"+ ++g.bindingHandlers.uniqueName.currentIndex;g.utils.setElementName(e,n)}}},g.bindingHandlers.uniqueName.currentIndex=0,g.bindingHandlers.value={after:["options","foreach"],init:function(e,t,n){if("input"==e.tagName.toLowerCase()&&("checkbox"==e.type||"radio"==e.type))return void g.applyBindingAccessorsToNode(e,{checkedValue:t});var r=["change"],i=n.get("valueUpdate"),o=!1,s=null;i&&("string"==typeof i&&(i=[i]),g.utils.arrayPushAll(r,i),r=g.utils.arrayGetDistinctValues(r));var a=function(){s=null,o=!1;var r=t(),i=g.selectExtensions.readValue(e);g.expressionRewriting.writeValueToProperty(r,n,"value",i)},l=g.utils.ieVersion&&"input"==e.tagName.toLowerCase()&&"text"==e.type&&"off"!=e.autocomplete&&(!e.form||"off"!=e.form.autocomplete);l&&-1==g.utils.arrayIndexOf(r,"propertychange")&&(g.utils.registerEventHandler(e,"propertychange",function(){o=!0}),g.utils.registerEventHandler(e,"focus",function(){o=!1}),g.utils.registerEventHandler(e,"blur",function(){o&&a()})),g.utils.arrayForEach(r,function(t){var n=a;g.utils.stringStartsWith(t,"after")&&(n=function(){s=g.selectExtensions.readValue(e),g.utils.setTimeout(a,0)},t=t.substring("after".length)),g.utils.registerEventHandler(e,t,n)});var u=function(){var r=g.utils.unwrapObservable(t()),i=g.selectExtensions.readValue(e);if(null!==s&&r===s)return void g.utils.setTimeout(u,0);var o=r!==i;if(o)if("select"===g.utils.tagNameLower(e)){var a=n.get("valueAllowUnset"),l=function(){g.selectExtensions.writeValue(e,r,a)};l(),a||r===g.selectExtensions.readValue(e)?g.utils.setTimeout(l,0):g.dependencyDetection.ignore(g.utils.triggerEvent,null,[e,"change"])}else g.selectExtensions.writeValue(e,r)};g.computed(u,null,{disposeWhenNodeIsRemoved:e})},update:function(){}},g.expressionRewriting.twoWayBindings.value=!0,g.bindingHandlers.visible={update:function(e,t){var n=g.utils.unwrapObservable(t()),r=!("none"==e.style.display);n&&!r?e.style.display="":!n&&r&&(e.style.display="none")}},m("click"),g.templateEngine=function(){},g.templateEngine.prototype.renderTemplateSource=function(e,t,n,r){throw new Error("Override renderTemplateSource")},g.templateEngine.prototype.createJavaScriptEvaluatorBlock=function(e){throw new Error("Override createJavaScriptEvaluatorBlock")},g.templateEngine.prototype.makeTemplateSource=function(e,t){if("string"==typeof e){t=t||u;var n=t.getElementById(e);if(!n)throw new Error("Cannot find template with ID "+e);return new g.templateSources.domElement(n)}if(1==e.nodeType||8==e.nodeType)return new g.templateSources.anonymousTemplate(e);throw new Error("Unknown template type: "+e)},g.templateEngine.prototype.renderTemplate=function(e,t,n,r){var i=this.makeTemplateSource(e,r);return this.renderTemplateSource(i,t,n,r)},g.templateEngine.prototype.isTemplateRewritten=function(e,t){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(e,t).data("isRewritten")},g.templateEngine.prototype.rewriteTemplate=function(e,t,n){var r=this.makeTemplateSource(e,n),i=t(r.text());r.text(i),r.data("isRewritten",!0)},g.exportSymbol("templateEngine",g.templateEngine),g.templateRewriting=function(){function e(e){for(var t=g.expressionRewriting.bindingRewriteValidators,n=0;n]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,r=//g;return{ensureTemplateIsRewritten:function(e,t,n){t.isTemplateRewritten(e,n)||t.rewriteTemplate(e,function(e){return g.templateRewriting.memoizeBindingAttributeSyntax(e,t)},n)},memoizeBindingAttributeSyntax:function(e,i){return e.replace(n,function(){return t(arguments[4],arguments[1],arguments[2],i)}).replace(r,function(){return t(arguments[1],"","#comment",i)})},applyMemoizedBindingsToNextSibling:function(e,t){return g.memoization.memoize(function(n,r){var i=n.nextSibling;i&&i.nodeName.toLowerCase()===t&&g.applyBindingAccessorsToNode(i,e,r)})}}}(),g.exportSymbol("__tr_ambtns",g.templateRewriting.applyMemoizedBindingsToNextSibling),function(){function e(e){return g.utils.domData.get(e,l)||{}}function t(e,t){g.utils.domData.set(e,l,t)}g.templateSources={};var n=1,r=2,i=3,o=4;g.templateSources.domElement=function(e){if(this.domElement=e,e){var t=g.utils.tagNameLower(e);this.templateType="script"===t?n:"textarea"===t?r:"template"==t&&e.content&&11===e.content.nodeType?i:o}},g.templateSources.domElement.prototype.text=function(){var e=this.templateType===n?"text":this.templateType===r?"value":"innerHTML";if(0==arguments.length)return this.domElement[e];var t=arguments[0];"innerHTML"===e?g.utils.setHtml(this.domElement,t):this.domElement[e]=t};var s=g.utils.domData.nextKey()+"_";g.templateSources.domElement.prototype.data=function(e){return 1===arguments.length?g.utils.domData.get(this.domElement,s+e):void g.utils.domData.set(this.domElement,s+e,arguments[1])};var l=g.utils.domData.nextKey();g.templateSources.domElement.prototype.nodes=function(){var n=this.domElement;if(0==arguments.length){var r=e(n),s=r.containerData;return s||(this.templateType===i?n.content:this.templateType===o?n:a)}var l=arguments[0];t(n,{containerData:l})},g.templateSources.anonymousTemplate=function(e){this.domElement=e},g.templateSources.anonymousTemplate.prototype=new g.templateSources.domElement,g.templateSources.anonymousTemplate.prototype.constructor=g.templateSources.anonymousTemplate,g.templateSources.anonymousTemplate.prototype.text=function(){if(0==arguments.length){var n=e(this.domElement);return n.textData===a&&n.containerData&&(n.textData=n.containerData.innerHTML),n.textData}var r=arguments[0];t(this.domElement,{textData:r})},g.exportSymbol("templateSources",g.templateSources),g.exportSymbol("templateSources.domElement",g.templateSources.domElement),g.exportSymbol("templateSources.anonymousTemplate",g.templateSources.anonymousTemplate)}(),function(){function e(e,t,n){for(var r,i=e,o=g.virtualElements.nextSibling(t);i&&(r=i)!==o;)i=g.virtualElements.nextSibling(r),n(r,i)}function t(t,n){if(t.length){var r=t[0],i=t[t.length-1],o=r.parentNode,s=g.bindingProvider.instance,a=s.preprocessNode;if(a){if(e(r,i,function(e,t){var n=e.previousSibling,o=a.call(s,e);o&&(e===r&&(r=o[0]||t),e===i&&(i=o[o.length-1]||n))}),t.length=0,!r)return;r===i?t.push(r):(t.push(r,i),g.utils.fixUpContinuousNodeArray(t,o))}e(r,i,function(e){1!==e.nodeType&&8!==e.nodeType||g.applyBindings(n,e)}),e(r,i,function(e){1!==e.nodeType&&8!==e.nodeType||g.memoization.unmemoizeDomNodeAndDescendants(e,[n])}),g.utils.fixUpContinuousNodeArray(t,o)}}function n(e){return e.nodeType?e:e.length>0?e[0]:null}function r(e,r,i,o,a){a=a||{};var l=e&&n(e),u=(l||i||{}).ownerDocument,c=a.templateEngine||s;g.templateRewriting.ensureTemplateIsRewritten(i,c,u);var d=c.renderTemplate(i,o,a,u);if("number"!=typeof d.length||d.length>0&&"number"!=typeof d[0].nodeType)throw new Error("Template engine must return an array of DOM nodes");var p=!1;switch(r){case"replaceChildren":g.virtualElements.setDomNodeChildren(e,d),p=!0;break;case"replaceNode":g.utils.replaceDomNodes(e,d),p=!0;break;case"ignoreTargetNode":break;default:throw new Error("Unknown renderMode: "+r)}return p&&(t(d,o),a.afterRender&&g.dependencyDetection.ignore(a.afterRender,null,[d,o.$data])),d}function i(e,t,n){return g.isObservable(e)?e():"function"==typeof e?e(t,n):e}function o(e,t){var n=g.utils.domData.get(e,l);n&&"function"==typeof n.dispose&&n.dispose(),g.utils.domData.set(e,l,t&&t.isActive()?t:a)}var s;g.setTemplateEngine=function(e){if(e!=a&&!(e instanceof g.templateEngine))throw new Error("templateEngine must inherit from ko.templateEngine");s=e},g.renderTemplate=function(e,t,o,l,u){if(o=o||{},(o.templateEngine||s)==a)throw new Error("Set a template engine before calling renderTemplate");if(u=u||"replaceChildren",l){var c=n(l),d=function(){return!c||!g.utils.domNodeIsAttachedToDocument(c)},p=c&&"replaceNode"==u?c.parentNode:c;return g.dependentObservable(function(){var s=t&&t instanceof g.bindingContext?t:new g.bindingContext(g.utils.unwrapObservable(t)),a=i(e,s.$data,s),d=r(l,u,a,s,o);"replaceNode"==u&&(l=d,c=n(l))},null,{disposeWhen:d,disposeWhenNodeIsRemoved:p})}return g.memoization.memoize(function(n){g.renderTemplate(e,t,o,n,"replaceNode")})},g.renderTemplateForEach=function(e,n,o,s,l){var u,c=function(t,n){u=l.createChildContext(t,o.as,function(e){e.$index=n});var s=i(e,t,u);return r(null,"ignoreTargetNode",s,u,o)},d=function(e,n,r){t(n,u),o.afterRender&&o.afterRender(n,e),u=null};return g.dependentObservable(function(){var e=g.utils.unwrapObservable(n)||[];"undefined"==typeof e.length&&(e=[e]);var t=g.utils.arrayFilter(e,function(e){return o.includeDestroyed||e===a||null===e||!g.utils.unwrapObservable(e._destroy)});g.dependencyDetection.ignore(g.utils.setDomNodeChildrenFromArrayMapping,null,[s,t,c,o,d])},null,{disposeWhenNodeIsRemoved:s})};var l=g.utils.domData.nextKey();g.bindingHandlers.template={init:function(e,t){var n=g.utils.unwrapObservable(t());if("string"==typeof n||n.name)g.virtualElements.emptyNode(e);else if("nodes"in n){var r=n.nodes||[];if(g.isObservable(r))throw new Error('The "nodes" option must be a plain, non-observable array.');var i=g.utils.moveCleanedNodesToContainerElement(r);new g.templateSources.anonymousTemplate(e).nodes(i)}else{var o=g.virtualElements.childNodes(e),i=g.utils.moveCleanedNodesToContainerElement(o);new g.templateSources.anonymousTemplate(e).nodes(i)}return{controlsDescendantBindings:!0}},update:function(e,t,n,r,i){var s,a,l=t(),u=g.utils.unwrapObservable(l),c=!0,d=null;if("string"==typeof u?(a=l,u={}):(a=u.name,"if"in u&&(c=g.utils.unwrapObservable(u["if"])),c&&"ifnot"in u&&(c=!g.utils.unwrapObservable(u.ifnot)),s=g.utils.unwrapObservable(u.data)),"foreach"in u){var p=c&&u.foreach||[];d=g.renderTemplateForEach(a||e,p,u,e,i)}else if(c){var f="data"in u?i.createChildContext(s,u.as):i;d=g.renderTemplate(a||e,f,u,e)}else g.virtualElements.emptyNode(e);o(e,d)}},g.expressionRewriting.bindingRewriteValidators.template=function(e){var t=g.expressionRewriting.parseObjectLiteral(e);return 1==t.length&&t[0].unknown?null:g.expressionRewriting.keyValueArrayContainsKey(t,"name")?null:"This template engine does not support anonymous templates nested within its templates"},g.virtualElements.allowedBindings.template=!0}(),g.exportSymbol("setTemplateEngine",g.setTemplateEngine),g.exportSymbol("renderTemplate",g.renderTemplate),g.utils.findMovesInArrayComparison=function(e,t,n){if(e.length&&t.length){var r,i,o,s,a;for(r=i=0;(!n||n>r)&&(s=e[i]);++i){for(o=0;a=t[o];++o)if(s.value===a.value){s.moved=a.index,a.moved=s.index,t.splice(o,1),r=o=0;break}r+=o}}},g.utils.compareArrays=function(){function e(e,i,o){return o="boolean"==typeof o?{dontLimitMoves:o}:o||{},e=e||[],i=i||[],e.length=o;o++)for(l=a,f.push(a=[]),u=d(v,o+m),c=p(0,o-1),s=c;u>=s;s++)if(s)if(o)if(e[o-1]===t[s-1])a[s]=l[s-1];else{var y=l[s]||b,_=a[s-1]||b;a[s]=d(y,_)+1}else a[s]=s+1;else a[s]=o+1;var w,x=[],k=[],E=[];for(o=h,s=v;o||s;)w=f[o][s]-1,s&&w===f[o][s-1]?k.push(x[x.length]={status:n,value:t[--s],index:s}):o&&w===f[o-1][s]?E.push(x[x.length]={status:r,value:e[--o],index:o}):(--s,--o,i.sparse||x.push({status:"retained",value:t[s]}));return g.utils.findMovesInArrayComparison(E,k,!i.dontLimitMoves&&10*h),x.reverse()}var n="added",r="deleted";return e}(),g.exportSymbol("utils.compareArrays",g.utils.compareArrays),function(){function e(e,t,n,r,i){var o=[],s=g.dependentObservable(function(){var s=t(n,i,g.utils.fixUpContinuousNodeArray(o,e))||[];o.length>0&&(g.utils.replaceDomNodes(o,s),r&&g.dependencyDetection.ignore(r,null,[n,s,i])),o.length=0,g.utils.arrayPushAll(o,s)},null,{disposeWhenNodeIsRemoved:e,disposeWhen:function(){return!g.utils.anyDomNodeIsAttachedToDocument(o)}});return{mappedNodes:o,dependentObservable:s.isActive()?s:a}}var t=g.utils.domData.nextKey(),n=g.utils.domData.nextKey();g.utils.setDomNodeChildrenFromArrayMapping=function(r,i,o,s,l){function u(e,t){d=v[t],w!==t&&(O[e]=d),d.indexObservable(w++),g.utils.fixUpContinuousNodeArray(d.mappedNodes,r),y.push(d),k.push(d)}function c(e,t){if(e)for(var n=0,r=t.length;r>n;n++)t[n]&&g.utils.arrayForEach(t[n].mappedNodes,function(r){e(r,n,t[n].arrayEntry)})}i=i||[],s=s||{};for(var d,p,f,h=g.utils.domData.get(r,t)===a,v=g.utils.domData.get(r,t)||[],m=g.utils.arrayMap(v,function(e){return e.arrayEntry}),b=g.utils.compareArrays(m,i,s.dontLimitMoves),y=[],_=0,w=0,x=[],k=[],E=[],O=[],S=[],C=0;p=b[C];C++)switch(f=p.moved,p.status){case"deleted":f===a&&(d=v[_],d.dependentObservable&&(d.dependentObservable.dispose(),d.dependentObservable=a),g.utils.fixUpContinuousNodeArray(d.mappedNodes,r).length&&(s.beforeRemove&&(y.push(d),k.push(d),d.arrayEntry===n?d=null:E[C]=d),d&&x.push.apply(x,d.mappedNodes))),_++;break;case"retained":u(C,_++);break;case"added":f!==a?u(C,f):(d={arrayEntry:p.value,indexObservable:g.observable(w++)},y.push(d),k.push(d),h||(S[C]=d))}g.utils.domData.set(r,t,y),c(s.beforeMove,O),g.utils.arrayForEach(x,s.beforeRemove?g.cleanNode:g.removeNode);for(var T,N,C=0,D=g.virtualElements.firstChild(r);d=k[C];C++){d.mappedNodes||g.utils.extend(d,e(r,o,d.arrayEntry,l,d.indexObservable));for(var M=0;N=d.mappedNodes[M];D=N.nextSibling,T=N,M++)N!==D&&g.virtualElements.insertAfter(r,N,T);!d.initialized&&l&&(l(d.arrayEntry,d.mappedNodes,d.indexObservable),d.initialized=!0)}for(c(s.beforeRemove,E),C=0;Cn)throw new Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.")}function t(e,t,n){return d.tmpl(e,t,n)}var n=this.jQueryTmplVersion=function(){if(!d||!d.tmpl)return 0;try{if(d.tmpl.tag.tmpl.open.toString().indexOf("__")>=0)return 2}catch(e){}return 1}();this.renderTemplateSource=function(n,r,i,o){o=o||u,i=i||{},e();var s=n.data("precompiled");if(!s){var a=n.text()||"";a="{{ko_with $item.koBindingContext}}"+a+"{{/ko_with}}",s=d.template(null,a),n.data("precompiled",s)}var l=[r.$data],c=d.extend({koBindingContext:r},i.templateOptions),p=t(s,l,c);return p.appendTo(o.createElement("div")),d.fragments={},p},this.createJavaScriptEvaluatorBlock=function(e){return"{{ko_code ((function() { return "+e+" })()) }}"},this.addTemplate=function(e,t){u.write("")},n>0&&(d.tmpl.tag.ko_code={open:"__.push($1 || '');"},d.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},g.jqueryTmplTemplateEngine.prototype=new g.templateEngine,g.jqueryTmplTemplateEngine.prototype.constructor=g.jqueryTmplTemplateEngine;var e=new g.jqueryTmplTemplateEngine;e.jQueryTmplVersion>0&&g.setTemplateEngine(e),g.exportSymbol("jqueryTmplTemplateEngine",g.jqueryTmplTemplateEngine)}()})}()}()}).call(t,n(4)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},function(e,t){var n;n=function(e,t){var n,r;for(n in t)r=t[n],e[n]=r;return e};var r=function(){},i=function(e,t,i){var o;return o=t&&t.hasOwnProperty("constructor")?t.constructor:function(){e.apply(this,arguments)},n(o,e),r.prototype=e.prototype,o.prototype=new r,t&&n(o.prototype,t),i&&n(o,i),o.prototype.constructor=o,o.__super__=e.prototype,o},o=function(e,t){var n=i(this,e,t);return n.extend=this.extend,n};e.exports=o},function(e,t,n){var r,i;(function(o){!function(s){var a="object"==typeof self&&self.self===self&&self||"object"==typeof o&&o.global===o&&o;r=[n(8),n(9),t],i=function(e,t,n){a.Backbone=s(a,n,e,t)}.apply(t,r),!(void 0!==i&&(e.exports=i))}(function(e,t,n,r){var i=e.Backbone,o=Array.prototype.slice;t.VERSION="1.3.3",t.$=r,t.noConflict=function(){return e.Backbone=i,this},t.emulateHTTP=!1,t.emulateJSON=!1;var s=function(e,t,r){switch(e){case 1:return function(){return n[t](this[r])};case 2:return function(e){return n[t](this[r],e)};case 3:return function(e,i){return n[t](this[r],l(e,this),i)};case 4:return function(e,i,o){return n[t](this[r],l(e,this),i,o)};default:return function(){var e=o.call(arguments);return e.unshift(this[r]),n[t].apply(n,e)}}},a=function(e,t,r){n.each(t,function(t,i){n[i]&&(e.prototype[i]=s(t,i,r))})},l=function(e,t){return n.isFunction(e)?e:n.isObject(e)&&!t._isModel(e)?u(e):n.isString(e)?function(t){return t.get(e)}:e},u=function(e){var t=n.matches(e);return function(e){return t(e.attributes)}},c=t.Events={},d=/\s+/,p=function(e,t,r,i,o){var s,a=0;if(r&&"object"==typeof r){void 0!==i&&"context"in o&&void 0===o.context&&(o.context=i);for(s=n.keys(r);ar;r++)n[r]=arguments[r+1];return p(b,this._events,e,void 0,n),this};var b=function(e,t,n,r){if(e){var i=e[t],o=e.all;i&&o&&(o=o.slice()),i&&g(i,r),o&&g(o,[t].concat(r))}return e},g=function(e,t){var n,r=-1,i=e.length,o=t[0],s=t[1],a=t[2];switch(t.length){case 0:for(;++rr;r++)e[r+n]=t[r];for(r=0;rthis.length&&(i=this.length),0>i&&(i+=this.length+1);var o,s,a=[],l=[],u=[],c=[],d={},p=t.add,f=t.merge,h=t.remove,v=!1,m=this.comparator&&null==i&&t.sort!==!1,b=n.isString(this.comparator)?this.comparator:null;for(s=0;se&&(e+=this.length),this.models[e]},where:function(e,t){return this[t?"find":"filter"](e)},findWhere:function(e){return this.where(e,!0)},sort:function(e){var t=this.comparator;if(!t)throw new Error("Cannot sort a set without a comparator");e||(e={});var r=t.length;return n.isFunction(t)&&(t=n.bind(t,this)),1===r||n.isString(t)?this.models=this.sortBy(t):this.models.sort(t),e.silent||this.trigger("sort",this,e),this},pluck:function(e){return this.map(e+"")},fetch:function(e){e=n.extend({parse:!0},e);var t=e.success,r=this;return e.success=function(n){var i=e.reset?"reset":"set";r[i](n,e),t&&t.call(e.context,r,n,e),r.trigger("sync",r,n,e)},L(this,e),this.sync("read",this,e)},create:function(e,t){t=t?n.clone(t):{};var r=t.wait;if(e=this._prepareModel(e,t),!e)return!1;r||this.add(e,t);var i=this,o=t.success;return t.success=function(e,t,n){r&&i.add(e,n),o&&o.call(n.context,e,t,n)},e.save(null,t),e},parse:function(e,t){return e},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(e){return e[this.model.prototype.idAttribute||"id"]},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(e,t){if(this._isModel(e))return e.collection||(e.collection=this),e;t=t?n.clone(t):{},t.collection=this;var r=new this.model(e,t);return r.validationError?(this.trigger("invalid",this,r.validationError,t),!1):r},_removeModels:function(e,t){for(var n=[],r=0;r7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(j,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var t=this.root.slice(0,-1)||"/";return this.location.replace(t+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var r=document.body,i=r.insertBefore(this.iframe,r.firstChild).contentWindow;i.document.open(),i.document.close(),i.location.hash="#"+this.fragment}var o=window.addEventListener||function(e,t){return attachEvent("on"+e,t)};return this._usePushState?o("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?o("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.options.silent?void 0:this.loadUrl()},stop:function(){var e=window.removeEventListener||function(e,t){return detachEvent("on"+e,t)};this._usePushState?e("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&e("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),P.started=!1},route:function(e,t){this.handlers.unshift({route:e,callback:t})},checkUrl:function(e){var t=this.getFragment();return t===this.fragment&&this.iframe&&(t=this.getHash(this.iframe.contentWindow)),t===this.fragment?!1:(this.iframe&&this.navigate(t),void this.loadUrl())},loadUrl:function(e){return this.matchRoot()?(e=this.fragment=this.getFragment(e),n.some(this.handlers,function(t){return t.route.test(e)?(t.callback(e),!0):void 0})):!1},navigate:function(e,t){if(!P.started)return!1;t&&t!==!0||(t={trigger:!!t}),e=this.getFragment(e||"");var n=this.root;""!==e&&"?"!==e.charAt(0)||(n=n.slice(0,-1)||"/");var r=n+e;if(e=this.decodeFragment(e.replace(B,"")),this.fragment!==e){if(this.fragment=e,this._usePushState)this.history[t.replace?"replaceState":"pushState"]({},document.title,r);else{if(!this._wantsHashChange)return this.location.assign(r);if(this._updateHash(this.location,e,t.replace),this.iframe&&e!==this.getHash(this.iframe.contentWindow)){var i=this.iframe.contentWindow;t.replace||(i.document.open(),i.document.close()),this._updateHash(i.location,e,t.replace)}}return t.trigger?this.loadUrl(e):void 0}},_updateHash:function(e,t,n){if(n){var r=e.href.replace(/(javascript:|#).*$/,"");e.replace(r+"#"+t)}else e.hash="#"+t}}),t.history=new P;var V=function(e,t){var r,i=this;return r=e&&n.has(e,"constructor")?e.constructor:function(){return i.apply(this,arguments)},n.extend(r,i,t),r.prototype=n.create(i.prototype,e),r.prototype.constructor=r,r.__super__=i.prototype,r};y.extend=w.extend=D.extend=S.extend=P.extend=V;var H=function(){throw new Error('A "url" property or function must be specified')},L=function(e,t){var n=t.error;t.error=function(r){n&&n.call(t.context,e,r,t),e.trigger("error",e,r,t)}};return t})}).call(t,function(){return this}())},function(e,t,n){var r,i;(function(){function n(e){function t(t,n,r,i,o,s){for(;o>=0&&s>o;o+=e){var a=i?i[o]:o;r=n(r,t[a],a,t)}return r}return function(n,r,i,o){r=k(r,o,4);var s=!D(n)&&x.keys(n),a=(s||n).length,l=e>0?0:a-1;return arguments.length<3&&(i=n[s?s[l]:l],l+=e),t(n,r,i,s,l,a)}}function o(e){return function(t,n,r){n=E(n,r);for(var i=N(t),o=e>0?0:i-1;o>=0&&i>o;o+=e)if(n(t[o],o,t))return o;return-1}}function s(e,t,n){return function(r,i,o){var s=0,a=N(r);if("number"==typeof o)e>0?s=o>=0?o:Math.max(o+a,s):a=o>=0?Math.min(o+1,a):o+a+1;else if(n&&o&&a)return o=n(r,i),r[o]===i?o:-1;if(i!==i)return o=t(h.call(r,s,a),x.isNaN),o>=0?o+s:-1;for(o=e>0?s:a-1;o>=0&&a>o;o+=e)if(r[o]===i)return o;return-1}}function a(e,t){var n=P.length,r=e.constructor,i=x.isFunction(r)&&r.prototype||d,o="constructor";for(x.has(e,o)&&!x.contains(t,o)&&t.push(o);n--;)o=P[n],o in e&&e[o]!==i[o]&&!x.contains(t,o)&&t.push(o)}var l=this,u=l._,c=Array.prototype,d=Object.prototype,p=Function.prototype,f=c.push,h=c.slice,v=d.toString,m=d.hasOwnProperty,b=Array.isArray,g=Object.keys,y=p.bind,_=Object.create,w=function(){},x=function(e){return e instanceof x?e:this instanceof x?void(this._wrapped=e):new x(e)};"undefined"!=typeof e&&e.exports&&(t=e.exports=x),t._=x,x.VERSION="1.8.3";var k=function(e,t,n){if(void 0===t)return e;switch(null==n?3:n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)};case 4:return function(n,r,i,o){return e.call(t,n,r,i,o)}}return function(){return e.apply(t,arguments)}},E=function(e,t,n){return null==e?x.identity:x.isFunction(e)?k(e,t,n):x.isObject(e)?x.matcher(e):x.property(e)};x.iteratee=function(e,t){return E(e,t,1/0)};var O=function(e,t){return function(n){var r=arguments.length;if(2>r||null==n)return n;for(var i=1;r>i;i++)for(var o=arguments[i],s=e(o),a=s.length,l=0;a>l;l++){var u=s[l];t&&void 0!==n[u]||(n[u]=o[u])}return n}},S=function(e){if(!x.isObject(e))return{};if(_)return _(e);w.prototype=e;var t=new w;return w.prototype=null,t},C=function(e){return function(t){return null==t?void 0:t[e]}},T=Math.pow(2,53)-1,N=C("length"),D=function(e){var t=N(e);return"number"==typeof t&&t>=0&&T>=t};x.each=x.forEach=function(e,t,n){t=k(t,n);var r,i;if(D(e))for(r=0,i=e.length;i>r;r++)t(e[r],r,e);else{var o=x.keys(e);for(r=0,i=o.length;i>r;r++)t(e[o[r]],o[r],e)}return e},x.map=x.collect=function(e,t,n){t=E(t,n);for(var r=!D(e)&&x.keys(e),i=(r||e).length,o=Array(i),s=0;i>s;s++){var a=r?r[s]:s;o[s]=t(e[a],a,e)}return o},x.reduce=x.foldl=x.inject=n(1),x.reduceRight=x.foldr=n(-1),x.find=x.detect=function(e,t,n){var r;return r=D(e)?x.findIndex(e,t,n):x.findKey(e,t,n),void 0!==r&&-1!==r?e[r]:void 0},x.filter=x.select=function(e,t,n){var r=[];return t=E(t,n),x.each(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r},x.reject=function(e,t,n){return x.filter(e,x.negate(E(t)),n)},x.every=x.all=function(e,t,n){t=E(t,n);for(var r=!D(e)&&x.keys(e),i=(r||e).length,o=0;i>o;o++){var s=r?r[o]:o;if(!t(e[s],s,e))return!1}return!0},x.some=x.any=function(e,t,n){t=E(t,n);for(var r=!D(e)&&x.keys(e),i=(r||e).length,o=0;i>o;o++){var s=r?r[o]:o;if(t(e[s],s,e))return!0}return!1},x.contains=x.includes=x.include=function(e,t,n,r){return D(e)||(e=x.values(e)),("number"!=typeof n||r)&&(n=0),x.indexOf(e,t,n)>=0},x.invoke=function(e,t){var n=h.call(arguments,2),r=x.isFunction(t);return x.map(e,function(e){var i=r?t:e[t];return null==i?i:i.apply(e,n)})},x.pluck=function(e,t){return x.map(e,x.property(t))},x.where=function(e,t){return x.filter(e,x.matcher(t))},x.findWhere=function(e,t){return x.find(e,x.matcher(t))},x.max=function(e,t,n){var r,i,o=-(1/0),s=-(1/0);if(null==t&&null!=e){e=D(e)?e:x.values(e);for(var a=0,l=e.length;l>a;a++)r=e[a],r>o&&(o=r)}else t=E(t,n),x.each(e,function(e,n,r){i=t(e,n,r),(i>s||i===-(1/0)&&o===-(1/0))&&(o=e,s=i)});return o},x.min=function(e,t,n){var r,i,o=1/0,s=1/0;if(null==t&&null!=e){e=D(e)?e:x.values(e);for(var a=0,l=e.length;l>a;a++)r=e[a],o>r&&(o=r)}else t=E(t,n),x.each(e,function(e,n,r){i=t(e,n,r),(s>i||i===1/0&&o===1/0)&&(o=e,s=i)});return o},x.shuffle=function(e){for(var t,n=D(e)?e:x.values(e),r=n.length,i=Array(r),o=0;r>o;o++)t=x.random(0,o),t!==o&&(i[o]=i[t]),i[t]=n[o];return i},x.sample=function(e,t,n){return null==t||n?(D(e)||(e=x.values(e)),e[x.random(e.length-1)]):x.shuffle(e).slice(0,Math.max(0,t))},x.sortBy=function(e,t,n){return t=E(t,n),x.pluck(x.map(e,function(e,n,r){return{value:e,index:n,criteria:t(e,n,r)}}).sort(function(e,t){var n=e.criteria,r=t.criteria;if(n!==r){if(n>r||void 0===n)return 1;if(r>n||void 0===r)return-1}return e.index-t.index}),"value")};var M=function(e){return function(t,n,r){var i={};return n=E(n,r),x.each(t,function(r,o){var s=n(r,o,t);e(i,r,s)}),i}};x.groupBy=M(function(e,t,n){x.has(e,n)?e[n].push(t):e[n]=[t]}),x.indexBy=M(function(e,t,n){e[n]=t}),x.countBy=M(function(e,t,n){x.has(e,n)?e[n]++:e[n]=1}),x.toArray=function(e){return e?x.isArray(e)?h.call(e):D(e)?x.map(e,x.identity):x.values(e):[]},x.size=function(e){return null==e?0:D(e)?e.length:x.keys(e).length},x.partition=function(e,t,n){t=E(t,n);var r=[],i=[];return x.each(e,function(e,n,o){(t(e,n,o)?r:i).push(e)}),[r,i]},x.first=x.head=x.take=function(e,t,n){return null!=e?null==t||n?e[0]:x.initial(e,e.length-t):void 0},x.initial=function(e,t,n){return h.call(e,0,Math.max(0,e.length-(null==t||n?1:t)))},x.last=function(e,t,n){return null!=e?null==t||n?e[e.length-1]:x.rest(e,Math.max(0,e.length-t)):void 0},x.rest=x.tail=x.drop=function(e,t,n){return h.call(e,null==t||n?1:t)},x.compact=function(e){return x.filter(e,x.identity)};var A=function(e,t,n,r){for(var i=[],o=0,s=r||0,a=N(e);a>s;s++){var l=e[s];if(D(l)&&(x.isArray(l)||x.isArguments(l))){t||(l=A(l,t,n));var u=0,c=l.length;for(i.length+=c;c>u;)i[o++]=l[u++]}else n||(i[o++]=l)}return i};x.flatten=function(e,t){return A(e,t,!1)},x.without=function(e){return x.difference(e,h.call(arguments,1))},x.uniq=x.unique=function(e,t,n,r){x.isBoolean(t)||(r=n,n=t,t=!1),null!=n&&(n=E(n,r));for(var i=[],o=[],s=0,a=N(e);a>s;s++){var l=e[s],u=n?n(l,s,e):l;t?(s&&o===u||i.push(l),o=u):n?x.contains(o,u)||(o.push(u),i.push(l)):x.contains(i,l)||i.push(l)}return i},x.union=function(){return x.uniq(A(arguments,!0,!0))},x.intersection=function(e){for(var t=[],n=arguments.length,r=0,i=N(e);i>r;r++){var o=e[r];if(!x.contains(t,o)){for(var s=1;n>s&&x.contains(arguments[s],o);s++);s===n&&t.push(o)}}return t},x.difference=function(e){var t=A(arguments,!0,!0,1);return x.filter(e,function(e){return!x.contains(t,e)})},x.zip=function(){return x.unzip(arguments)},x.unzip=function(e){for(var t=e&&x.max(e,N).length||0,n=Array(t),r=0;t>r;r++)n[r]=x.pluck(e,r);return n},x.object=function(e,t){for(var n={},r=0,i=N(e);i>r;r++)t?n[e[r]]=t[r]:n[e[r][0]]=e[r][1];return n},x.findIndex=o(1),x.findLastIndex=o(-1),x.sortedIndex=function(e,t,n,r){n=E(n,r,1);for(var i=n(t),o=0,s=N(e);s>o;){var a=Math.floor((o+s)/2);n(e[a])o;o++,e+=n)i[o]=e;return i};var I=function(e,t,n,r,i){if(!(r instanceof t))return e.apply(n,i);var o=S(e.prototype),s=e.apply(o,i);return x.isObject(s)?s:o};x.bind=function(e,t){if(y&&e.bind===y)return y.apply(e,h.call(arguments,1));if(!x.isFunction(e))throw new TypeError("Bind must be called on a function");var n=h.call(arguments,2),r=function(){return I(e,r,t,this,n.concat(h.call(arguments)))};return r},x.partial=function(e){var t=h.call(arguments,1),n=function(){for(var r=0,i=t.length,o=Array(i),s=0;i>s;s++)o[s]=t[s]===x?arguments[r++]:t[s];for(;r=r)throw new Error("bindAll must be passed function names");for(t=1;r>t;t++)n=arguments[t],e[n]=x.bind(e[n],e);return e},x.memoize=function(e,t){var n=function(r){var i=n.cache,o=""+(t?t.apply(this,arguments):r);return x.has(i,o)||(i[o]=e.apply(this,arguments)),i[o]};return n.cache={},n},x.delay=function(e,t){var n=h.call(arguments,2);return setTimeout(function(){return e.apply(null,n)},t)},x.defer=x.partial(x.delay,x,1),x.throttle=function(e,t,n){var r,i,o,s=null,a=0;n||(n={});var l=function(){a=n.leading===!1?0:x.now(),s=null,o=e.apply(r,i),s||(r=i=null)};return function(){var u=x.now();a||n.leading!==!1||(a=u);var c=t-(u-a);return r=this,i=arguments,0>=c||c>t?(s&&(clearTimeout(s),s=null),a=u,o=e.apply(r,i),s||(r=i=null)):s||n.trailing===!1||(s=setTimeout(l,c)),o}},x.debounce=function(e,t,n){var r,i,o,s,a,l=function(){var u=x.now()-s;t>u&&u>=0?r=setTimeout(l,t-u):(r=null,n||(a=e.apply(o,i),r||(o=i=null)))};return function(){o=this,i=arguments,s=x.now();var u=n&&!r;return r||(r=setTimeout(l,t)),u&&(a=e.apply(o,i),o=i=null),a}},x.wrap=function(e,t){return x.partial(t,e)},x.negate=function(e){return function(){return!e.apply(this,arguments)}},x.compose=function(){var e=arguments,t=e.length-1;return function(){for(var n=t,r=e[t].apply(this,arguments);n--;)r=e[n].call(this,r);return r}},x.after=function(e,t){return function(){return--e<1?t.apply(this,arguments):void 0}},x.before=function(e,t){var n;return function(){return--e>0&&(n=t.apply(this,arguments)),1>=e&&(t=null),n}},x.once=x.partial(x.before,2);var R=!{toString:null}.propertyIsEnumerable("toString"),P=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];x.keys=function(e){if(!x.isObject(e))return[];if(g)return g(e);var t=[];for(var n in e)x.has(e,n)&&t.push(n);return R&&a(e,t),t},x.allKeys=function(e){if(!x.isObject(e))return[];var t=[];for(var n in e)t.push(n);return R&&a(e,t),t},x.values=function(e){for(var t=x.keys(e),n=t.length,r=Array(n),i=0;n>i;i++)r[i]=e[t[i]];return r},x.mapObject=function(e,t,n){t=E(t,n);for(var r,i=x.keys(e),o=i.length,s={},a=0;o>a;a++)r=i[a],s[r]=t(e[r],r,e);return s},x.pairs=function(e){for(var t=x.keys(e),n=t.length,r=Array(n),i=0;n>i;i++)r[i]=[t[i],e[t[i]]];return r},x.invert=function(e){for(var t={},n=x.keys(e),r=0,i=n.length;i>r;r++)t[e[n[r]]]=n[r];return t},x.functions=x.methods=function(e){var t=[];for(var n in e)x.isFunction(e[n])&&t.push(n);return t.sort()},x.extend=O(x.allKeys),x.extendOwn=x.assign=O(x.keys),x.findKey=function(e,t,n){t=E(t,n);for(var r,i=x.keys(e),o=0,s=i.length;s>o;o++)if(r=i[o],t(e[r],r,e))return r},x.pick=function(e,t,n){var r,i,o={},s=e;if(null==s)return o;x.isFunction(t)?(i=x.allKeys(s),r=k(t,n)):(i=A(arguments,!1,!1,1),r=function(e,t,n){return t in n},s=Object(s));for(var a=0,l=i.length;l>a;a++){var u=i[a],c=s[u];r(c,u,s)&&(o[u]=c)}return o},x.omit=function(e,t,n){if(x.isFunction(t))t=x.negate(t);else{var r=x.map(A(arguments,!1,!1,1),String);t=function(e,t){return!x.contains(r,t)}}return x.pick(e,t,n)},x.defaults=O(x.allKeys,!0),x.create=function(e,t){var n=S(e);return t&&x.extendOwn(n,t),n},x.clone=function(e){return x.isObject(e)?x.isArray(e)?e.slice():x.extend({},e):e; },x.tap=function(e,t){return t(e),e},x.isMatch=function(e,t){var n=x.keys(t),r=n.length;if(null==e)return!r;for(var i=Object(e),o=0;r>o;o++){var s=n[o];if(t[s]!==i[s]||!(s in i))return!1}return!0};var F=function(e,t,n,r){if(e===t)return 0!==e||1/e===1/t;if(null==e||null==t)return e===t;e instanceof x&&(e=e._wrapped),t instanceof x&&(t=t._wrapped);var i=v.call(e);if(i!==v.call(t))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+e==""+t;case"[object Number]":return+e!==+e?+t!==+t:0===+e?1/+e===1/t:+e===+t;case"[object Date]":case"[object Boolean]":return+e===+t}var o="[object Array]"===i;if(!o){if("object"!=typeof e||"object"!=typeof t)return!1;var s=e.constructor,a=t.constructor;if(s!==a&&!(x.isFunction(s)&&s instanceof s&&x.isFunction(a)&&a instanceof a)&&"constructor"in e&&"constructor"in t)return!1}n=n||[],r=r||[];for(var l=n.length;l--;)if(n[l]===e)return r[l]===t;if(n.push(e),r.push(t),o){if(l=e.length,l!==t.length)return!1;for(;l--;)if(!F(e[l],t[l],n,r))return!1}else{var u,c=x.keys(e);if(l=c.length,x.keys(t).length!==l)return!1;for(;l--;)if(u=c[l],!x.has(t,u)||!F(e[u],t[u],n,r))return!1}return n.pop(),r.pop(),!0};x.isEqual=function(e,t){return F(e,t)},x.isEmpty=function(e){return null==e?!0:D(e)&&(x.isArray(e)||x.isString(e)||x.isArguments(e))?0===e.length:0===x.keys(e).length},x.isElement=function(e){return!(!e||1!==e.nodeType)},x.isArray=b||function(e){return"[object Array]"===v.call(e)},x.isObject=function(e){var t=typeof e;return"function"===t||"object"===t&&!!e},x.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(e){x["is"+e]=function(t){return v.call(t)==="[object "+e+"]"}}),x.isArguments(arguments)||(x.isArguments=function(e){return x.has(e,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(x.isFunction=function(e){return"function"==typeof e||!1}),x.isFinite=function(e){return isFinite(e)&&!isNaN(parseFloat(e))},x.isNaN=function(e){return x.isNumber(e)&&e!==+e},x.isBoolean=function(e){return e===!0||e===!1||"[object Boolean]"===v.call(e)},x.isNull=function(e){return null===e},x.isUndefined=function(e){return void 0===e},x.has=function(e,t){return null!=e&&m.call(e,t)},x.noConflict=function(){return l._=u,this},x.identity=function(e){return e},x.constant=function(e){return function(){return e}},x.noop=function(){},x.property=C,x.propertyOf=function(e){return null==e?function(){}:function(t){return e[t]}},x.matcher=x.matches=function(e){return e=x.extendOwn({},e),function(t){return x.isMatch(t,e)}},x.times=function(e,t,n){var r=Array(Math.max(0,e));t=k(t,n,1);for(var i=0;e>i;i++)r[i]=t(i);return r},x.random=function(e,t){return null==t&&(t=e,e=0),e+Math.floor(Math.random()*(t-e+1))},x.now=Date.now||function(){return(new Date).getTime()};var j={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},B=x.invert(j),V=function(e){var t=function(t){return e[t]},n="(?:"+x.keys(e).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(e){return e=null==e?"":""+e,r.test(e)?e.replace(i,t):e}};x.escape=V(j),x.unescape=V(B),x.result=function(e,t,n){var r=null==e?void 0:e[t];return void 0===r&&(r=n),x.isFunction(r)?r.call(e):r};var H=0;x.uniqueId=function(e){var t=++H+"";return e?e+t:t},x.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var L=/(.)^/,W={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},$=/\\|'|\r|\n|\u2028|\u2029/g,U=function(e){return"\\"+W[e]};x.template=function(e,t,n){!t&&n&&(t=n),t=x.defaults({},t,x.templateSettings);var r=RegExp([(t.escape||L).source,(t.interpolate||L).source,(t.evaluate||L).source].join("|")+"|$","g"),i=0,o="__p+='";e.replace(r,function(t,n,r,s,a){return o+=e.slice(i,a).replace($,U),i=a+t.length,n?o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":s&&(o+="';\n"+s+"\n__p+='"),t}),o+="';\n",t.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{var s=new Function(t.variable||"obj","_",o)}catch(a){throw a.source=o,a}var l=function(e){return s.call(this,e,x)},u=t.variable||"obj";return l.source="function("+u+"){\n"+o+"}",l},x.chain=function(e){var t=x(e);return t._chain=!0,t};var z=function(e,t){return e._chain?x(t).chain():t};x.mixin=function(e){x.each(x.functions(e),function(t){var n=x[t]=e[t];x.prototype[t]=function(){var e=[this._wrapped];return f.apply(e,arguments),z(this,n.apply(x,e))}})},x.mixin(x),x.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var t=c[e];x.prototype[e]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==e&&"splice"!==e||0!==n.length||delete n[0],z(this,n)}}),x.each(["concat","join","slice"],function(e){var t=c[e];x.prototype[e]=function(){return z(this,t.apply(this._wrapped,arguments))}}),x.prototype.value=function(){return this._wrapped},x.prototype.valueOf=x.prototype.toJSON=x.prototype.value,x.prototype.toString=function(){return""+this._wrapped},r=[],i=function(){return x}.apply(t,r),!(void 0!==i&&(e.exports=i))}).call(this)},function(t,n){t.exports=e},function(e,t,n){var r,i,o,s,a,l,u;l=o=n(2),i=l._,a=l.ko,r={"default":null,"backbone-orm":null,"backbone-associations":n(11),"backbone-relational":n(12),supermodel:n(13)},o.orm=r["default"];for(s in r)if(u=r[s],u&&u.isAvailable()){o.orm=u;break}e.exports=function(e){var t;null==e&&(e={});for(s in e)switch(u=e[s],s){case"orm":if(i.isString(u)){if(!r.hasOwnProperty(u)){console.log("Knockback configure: could not find orm: "+u+". Available: "+i.keys(r).join(", "));continue}if((t=r[u])&&!t.isAvailable()){console.log("Knockback configure: could not enable orm "+u+". Make sure it is included before Knockback");continue}o.orm=t;continue}o.orm=u;break;default:o[s]=u}}},function(e,t,n){var r,i,o,s,a,l;l=a=n(2),s=l._,i=l.Backbone,r=null,e.exports=o=function(){function e(){}return e.isAvailable=function(){return!!(r=null!=i?i.AssociatedModel:void 0)},e.keys=function(e){return e instanceof r?s.map(e.relations,function(e){return e.key}):null},e.relationType=function(e,t){var n;return e instanceof r&&(n=s.find(e.relations,function(e){return e.key===t}))?"Many"===n.type?a.TYPE_COLLECTION:a.TYPE_MODEL:null},e.useFunction=function(){return!1},e}()},function(e,t,n){var r,i,o,s,a,l;l=a=n(2),s=l._,r=l.Backbone,o=null,e.exports=i=function(){function e(){}return e.isAvailable=function(){return!!(o=null!=r?r.RelationalModel:void 0)},e.relationType=function(e,t){var n;return e instanceof o&&(n=s.find(e.getRelations(),function(e){return e.key===t}))?n.collectionType||s.isArray(n.keyContents)?a.TYPE_COLLECTION:a.TYPE_MODEL:null},e.bind=function(e,t,n,r){var i,o,s,l,u,c;if(!(c=this.relationType(e,t)))return null;if(u=function(e){return!a.statistics||a.statistics.addModelEvent({name:"update (relational)",model:e,key:t,path:r}),n()},o=a.Backbone.Relation.prototype.sanitizeOptions?["update","add","remove"]:["change","add","remove"],c===a.TYPE_COLLECTION)for(s=0,l=o.length;l>s;s++)i=o[s],e.bind(i+":"+t,u);else e.bind(o[0]+":"+t,u);return function(){var n,r;if(c===a.TYPE_COLLECTION)for(n=0,r=o.length;r>n;n++)i=o[n],e.unbind(i+":"+t,u);else e.unbind(o[0]+":"+t,u)}},e.useFunction=function(){return!1},e}()},function(e,t,n){(function(t){var r,i,o,s;s="undefined"!=typeof window&&null!==window?window:t,i=(o=n(2))._,r=null,e.exports=r=function(){function e(){}return e.isAvailable=function(){return!!(e=s.Supermodel)},e.keys=function(t){return t instanceof e.Model?i.keys(t.constructor.associations()):null},e.relationType=function(t,n){var r;return t instanceof e.Model&&(r=t.constructor.associations()[n])?r.add?o.TYPE_COLLECTION:o.TYPE_MODEL:null},e.bind=function(e,t,n,r){var i,s;return(s=this.relationType(e,t))?(i=function(e,i){var s,a;return!o.statistics||o.statistics.addModelEvent({name:"update (supermodel)",model:e,key:t,path:r}),a=e.constructor.associations()[t],s=e[a.store],e[a.store]=i,n(i),e[a.store]=s},s===o.TYPE_MODEL?(e.bind("associate:"+t,i),function(){return e.unbind("associate:"+t,i)}):void 0):null},e.useFunction=function(e,t){return!!this.relationType(e,t)},e}()}).call(t,function(){return this}())},function(e,t,n){var r,i,o,s,a=function(e,t){return function(){return e.apply(t,arguments)}};s=i=n(2),r=s._,o=s.ko,i.EventWatcher=function(){function e(e,t,n){this._unbindCallbacks=a(this._unbindCallbacks,this),this._onModelUnloaded=a(this._onModelUnloaded,this),this._onModelLoaded=a(this._onModelLoaded,this),this.__kb||(this.__kb={}),this.__kb.callbacks={},this.ee=null,n&&this.registerCallbacks(t,n),e&&this.emitter(e)}return e.useOptionsOrCreate=function(e,t,n,r){return e.event_watcher?(e.event_watcher.emitter()!==t&&e.event_watcher.model_ref!==t&&i._throwUnexpected(this,"emitter not matching"),i.utils.wrappedEventWatcher(n,e.event_watcher).registerCallbacks(n,r)):(i.utils.wrappedEventWatcherIsOwned(n,!0),i.utils.wrappedEventWatcher(n,new i.EventWatcher(t)).registerCallbacks(n,r))},e.prototype.destroy=function(){return this.emitter(null),this.__kb.callbacks=null,i.utils.wrappedDestroy(this)},e.prototype.emitter=function(e){return 0===arguments.length||this.ee===e?this.ee:(this.model_ref&&(this.model_ref.unbind("loaded",this._onModelLoaded),this.model_ref.unbind("unloaded",this._onModelUnloaded),this.model_ref.release(),this.model_ref=null),i.Backbone&&i.Backbone.ModelRef&&e instanceof i.Backbone.ModelRef?(this.model_ref=e,this.model_ref.retain(),this.model_ref.bind("loaded",this._onModelLoaded),this.model_ref.bind("unloaded",this._onModelUnloaded),e=this.model_ref.model()||null):delete this.model_ref,this.ee!==e&&(e?this._onModelLoaded(e):this._onModelUnloaded(this.ee)),e)},e.prototype.registerCallbacks=function(e,t){var n,s,a,l,u,c;for(e||i._throwMissing(this,"obj"),t||i._throwMissing(this,"callback_info"),s=t.event_selector?t.event_selector.split(" "):["change"],c=this.ee,a=function(n){return function(s){var a,l;return(a=n.__kb.callbacks[s])||(a=n.__kb.callbacks[s]={model:null,list:[],fn:function(e){var t,n,r,l;for(l=a.list,n=0,r=l.length;r>n;n++)t=l[n],t.update&&(e&&t.key&&e.hasChanged&&!e.hasChanged(o.utils.unwrapObservable(t.key))||(!i.statistics||i.statistics.addModelEvent({name:s,model:e,key:t.key,path:t.path}),t.update()));return null}}),a.list.push(l=r.defaults({obj:e},t)),c?n._onModelLoaded(c):void 0}}(this),l=0,u=s.length;u>l;l++)n=s[l],n&&a(n);return this},e.prototype.releaseCallbacks=function(e){var t,n,r;this.ee=null,r=this.__kb.callbacks;for(n in r)t=r[n],this._unbindCallbacks(n,t,i.wasReleased(e));return delete this.__kb.callbacks},e.prototype._onModelLoaded=function(e){var t,n,r,o,s,a,l,u;this.ee=e,a=this.__kb.callbacks;for(n in a)for(t=a[n],t.model&&t.model!==e&&this._unbindCallbacks(n,t,!0),t.model||(t.model=e,e.bind(n,t.fn)),l=t.list,r=0,s=l.length;s>r;r++)o=l[r],o.unbind_fn||(o.unbind_fn=null!=(u=i.orm)?u.bind(e,o.key,o.update,o.path):void 0),o.emitter&&o.emitter(e)},e.prototype._onModelUnloaded=function(e){var t,n,r;if(this.ee===e){this.ee=null,r=this.__kb.callbacks;for(n in r)t=r[n],this._unbindCallbacks(n,t)}},e.prototype._unbindCallbacks=function(e,t,n){var r,o,s,a;for(t.model&&(t.model.unbind(e,t.fn),t.model=null),a=t.list,r=0,s=a.length;s>r;r++)o=a[r],o.unbind_fn&&(o.unbind_fn(),o.unbind_fn=null),!o.emitter||n||i.wasReleased(o.obj)||o.emitter(null)},e}(),i.emitterObservable=function(e,t){return new i.EventWatcher(e,t)}},function(e,t,n){var r,i;r=(i=n(2))._,i.Factory=function(){function e(e){this.paths={},e&&(this.parent_factory=e)}return e.useOptionsOrCreate=function(e,t,n){var r;return e.factory&&(!e.factories||e.factories&&e.factory.hasPathMappings(e.factories,n))?i.utils.wrappedFactory(t,e.factory):(r=i.utils.wrappedFactory(t,new i.Factory(e.factory)),e.factories&&r.addPathMappings(e.factories,n),r)},e.prototype.hasPath=function(e){var t;return this.paths.hasOwnProperty(e)||(null!=(t=this.parent_factory)?t.hasPath(e):void 0)},e.prototype.addPathMapping=function(e,t){return this.paths[e]=t},e.prototype.addPathMappings=function(e,t){var n,r;for(r in e)n=e[r],this.paths[i.utils.pathJoin(t,r)]=n},e.prototype.hasPathMappings=function(e,t){var n,r,o,s;n=!0;for(s in e)r=e[s],n&=(o=this.creatorForPath(null,i.utils.pathJoin(t,s)))&&r===o;return n},e.prototype.creatorForPath=function(e,t){var n,r;return(n=this.paths[t])?n.view_model?n.view_model:n:(n=null!=(r=this.parent_factory)?r.creatorForPath(e,t):void 0)?n:null},e}()},function(e,t,n){(function(e){var t,r,i,o,s,a,l,u;u=null!=u?u:e,l=o=n(2),r=l._,s=l.ko,t=l.$,o.RECUSIVE_AUTO_INJECT=!0,s.bindingHandlers.inject={init:function(e,t,n,r){return o.Inject.inject(s.utils.unwrapObservable(t()),r,e,t,n)}},o.Inject=function(){function e(){}return e.inject=function(e,t,n,i,s,a){var l;return l=function(e){var l,u,c;if(r.isFunction(e))t=new e(t,n,i,s),o.releaseOnNodeRemove(t,n);else{e.view_model&&(t=new e.view_model(t,n,i,s),o.releaseOnNodeRemove(t,n));for(l in e)c=e[l],"view_model"!==l&&("create"===l?c(t,n,i,s):r.isObject(c)&&!r.isFunction(c)?(u=a||c&&c.create?{}:t,t[l]=o.Inject.inject(c,u,n,i,s,!0)):t[l]=c)}return t},a?l(e):o.ignore(function(){return l(e)})},e.injectViewModels=function(e){var t,n,i,s,a,l,c,d,p,f;for(f=[],l=function(e){var t,n,i,o,s;for(e.__kb_injected||e.attributes&&(t=r.find(e.attributes,function(e){return"kb-inject"===e.name}))&&(e.__kb_injected=!0,f.push({el:e,view_model:{},binding:t.value})),s=e.childNodes,i=0,o=s.length;o>i;i++)n=s[i],l(n)},!e&&(null!=u?u.document:void 0)&&(e=u.document),l(e),c=0,d=f.length;d>c;c++)n=f[c],(a=n.binding)&&(a.search(/[:]/)<0||(a="{"+a+"}"),s=new Function("","return ( "+a+" )")(),s||(s={}),!s.options||(p=s.options,delete s.options),p||(p={}),n.view_model=o.Inject.inject(s,n.view_model,n.el,null,null,!0),t=n.view_model.afterBinding||p.afterBinding,i=n.view_model.beforeBinding||p.beforeBinding),i&&i.call(n.view_model,n.view_model,n.el,p),o.applyBindings(n.view_model,n.el,p),t&&t.call(n.view_model,n.view_model,n.el,p);return f},e}(),i=s.applyBindings,s.applyBindings=function(e,t){var n;return n=o.RECUSIVE_AUTO_INJECT?o.injectViewModels(t):[],n.length?void 0:i.apply(this,arguments)},o.injectViewModels=o.Inject.injectViewModels,"undefined"!=typeof document&&null!==document&&(t?t(function(){return o.injectViewModels()}):(a=function(){return"complete"!==document.readyState?setTimeout(a,0):o.injectViewModels()})())}).call(t,function(){return this}())},function(e,t,n){var r,i,o,s,a;o=(i=n(2)).ko,(null!=(s=o.subscribable)&&null!=(a=s.fn)?a.extend:void 0)&&(r=o.subscribable.fn.extend,o.subscribable.fn.extend=function(){var e,t;return t=r.apply(this,arguments),t!==this&&i.isReleaseable(this)&&(e=t.dispose,t.dispose=function(n){return function(){return null!=e&&e.apply(t,arguments),i.release(n)}}(this)),t})},function(e,t,n){var r,i,o,s,a,l,u;u=a=n(2),s=u._,l=u.ko,o=n(19),i=["value","valueType","destroy"],r=["args","read","write"],a.Observable=function(){function e(e,t,n,u){return this._vm=null!=u?u:{},a.ignore(function(u){return function(){var c,d,p,f,h,v;for(t||a._throwMissing(u,"key_or_info"),u.key=t.key||t,p=0,h=r.length;h>p;p++)f=r[p],t[f]&&(u[f]=t[f]);return c=a.utils.collapseOptions(n),d=c.event_watcher,delete c.event_watcher,u._value=new o(c),u._model=l.observable(),v=a.utils.wrappedObservable(u,l.computed({read:function(){var e,t,n,r,i,o,c;for(e=u._model(),o=n=[u.key].concat(u.args||[]),r=0,i=o.length;i>r;r++)t=o[r],l.utils.unwrapObservable(t);return null!=(c=a.utils.wrappedEventWatcher(u))&&c.emitter(e||null),u.read?u.update(u.read.apply(u._vm,n)):s.isUndefined(e)||a.ignore(function(){return u.update(a.getValue(e,a.peek(u.key),u.args))}),u._value.value()},write:function(e){return a.ignore(function(){var t,n;return n=a.utils.unwrapModels(e),t=a.peek(u._model),u.write?(u.write.call(u._vm,n),e=a.getValue(t,a.peek(u.key),u.args)):t&&a.setValue(t,a.peek(u.key),n),u.update(e)})},owner:u._vm})),v.__kb_is_o=!0,c.store=a.utils.wrappedStore(v,c.store),c.path=a.utils.pathJoin(c.path,u.key),c.factories&&("function"==typeof c.factories||c.factories.create)?(c.factory=a.utils.wrappedFactory(v,new a.Factory(c.factory)),c.factory.addPathMapping(c.path,c.factories)):c.factory=a.Factory.useOptionsOrCreate(c,v,c.path),delete c.factories,a.publishMethods(v,u,i),v.model=u.model=l.computed({read:function(){return l.utils.unwrapObservable(u._model)},write:function(e){return a.ignore(function(){var t;if(!u.__kb_released&&a.peek(u._model)!==e)return t=a.getValue(e,a.peek(u.key),u.args),u._model(e),e?s.isUndefined(t)?void 0:u.update(t):u.update(null)})}}),a.EventWatcher.useOptionsOrCreate({event_watcher:d},e||null,u,{emitter:u.model,update:function(){return a.ignore(function(){return u.update()})},key:u.key,path:c.path}),u._value.rawValue()||u._value.update(),a.LocalizedObservable&&t.localizer&&(v=new t.localizer(v)),a.DefaultObservable&&t.hasOwnProperty("default")&&(v=a.defaultObservable(v,t["default"])),v}}(this))}return e.prototype.destroy=function(){var e;return e=a.utils.wrappedObservable(this),this.__kb_released=!0,this._value.destroy(),this._value=null,this.model.dispose(),this.model=e.model=null,a.utils.wrappedDestroy(this)},e.prototype.value=function(){return this._value.rawValue()},e.prototype.valueType=function(){return this._value.valueType(a.peek(this._model),a.peek(this.key))},e.prototype.update=function(e){return this.__kb_released?void 0:(arguments.length||(e=a.getValue(a.peek(this._model),a.peek(this.key))),this._value.update(e))},e}(),a.observable=function(e,t,n,r){return new a.Observable(e,t,n,r)}},function(e,t,n){var r,i,o,s,a;a=o=n(2),i=a._,s=a.ko,e.exports=r=function(){function e(e){this.create_options=e,this._vo=s.observable(null)}return e.prototype.destroy=function(){var e;return this.__kb_released=!0,(e=this.__kb_value)&&(this.__kb_value=null,this.create_options.store&&o.utils.wrappedCreator(e)?this.create_options.store.release(e):o.release(e)),this.create_options=null},e.prototype.value=function(){return s.utils.unwrapObservable(this._vo())},e.prototype.rawValue=function(){return this.__kb_value},e.prototype.valueType=function(e,t){var n;return n=o.getValue(e,t),this.value_type||this._updateValueObservable(n),this.value_type},e.prototype.update=function(e){var t,n,r;if(!this.__kb_released){switch(void 0!==e||(e=null),t=o.utils.valueType(e),(null!=(n=this.__kb_value)?n.__kb_released:void 0)&&(this.__kb_value=this.value_type=void 0),r=this.__kb_value,this.value_type){case o.TYPE_COLLECTION:if(this.value_type===o.TYPE_COLLECTION&&t===o.TYPE_ARRAY)return r(e);if(t===o.TYPE_COLLECTION||i.isNull(e))return void(e&&e instanceof o.CollectionObservable?this._updateValueObservable(o.utils.wrappedObject(e),e):o.peek(r.collection)!==e&&r.collection(e));break;case o.TYPE_MODEL:if(t===o.TYPE_MODEL||i.isNull(e))return void(e&&!o.isModel(e)?this._updateValueObservable(o.utils.wrappedObject(e),e):o.utils.wrappedObject(r)!==o.utils.resolveModel(e)&&this._updateValueObservable(e))}if(this.value_type!==t||i.isUndefined(this.value_type)){if(o.peek(r)!==e)return this._updateValueObservable(e)}else if(o.peek(r)!==e)return r(e)}},e.prototype._updateValueObservable=function(e,t){var n,r,a,l,u,c;return n=this.create_options,r=o.utils.inferCreator(e,n.factory,n.path),null!==e||r||(this.value_type===o.TYPE_MODEL?r=o.ViewModel:this.value_type===o.TYPE_COLLECTION&&(r=o.CollectionObservable)),n.creator=r,c=o.TYPE_UNKNOWN,l=[this.__kb_value,void 0],a=l[0],this.__kb_value=l[1],t?(u=t,n.store&&n.store.retain(t,e,r)):r?n.store?u=n.store.retainOrCreate(e,n,!0):r.models_only?(u=e,c=o.TYPE_SIMPLE):u=r.create?r.create(e,n):new r(e,n):i.isArray(e)?(c=o.TYPE_ARRAY,u=s.observableArray(e)):(c=o.TYPE_SIMPLE,u=s.observable(e)),(this.value_type=c)===o.TYPE_UNKNOWN&&(s.isObservable(u)?u.__kb_is_co?(this.value_type=o.TYPE_COLLECTION,o.utils.wrappedObject(u,e)):this.value_type||(this.value_type=o.TYPE_SIMPLE):(this.value_type=o.TYPE_MODEL,o.utils.wrappedObject(u,o.utils.resolveModel(e)))),a&&(this.create_options.store?this.create_options.store.release(a):o.release(a)),this.__kb_value=u,this._vo(u)},e.prototype._inferType=function(e){},e}()},function(e,t,n){var r,i;r=(i=n(2))._,e.exports=i.Statistics=function(){function e(){this.model_events_tracker=[],this.registered_tracker={}}return e.prototype.clear=function(){return this.model_events_tracker=[]},e.prototype.addModelEvent=function(e){return this.model_events_tracker.push(e)},e.prototype.modelEventsStatsString=function(){var e,t,n,i;n="",n+="Total Count: "+this.model_events_tracker.length,e=r.groupBy(this.model_events_tracker,function(e){return"event name: '"+e.name+"', attribute name: '"+e.key+"'"});for(t in e)i=e[t],n+="\n "+t+", count: "+i.length;return n},e.prototype.register=function(e,t){return this.registeredTracker(e).push(t)},e.prototype.unregister=function(e,t){var n,i;return i=this.registeredTracker(e),(n=r.indexOf(i,t))<0?"undefined"!=typeof console&&null!==console?console.log("kb.Statistics: failed to unregister type: "+e):void 0:i.splice(n,1)},e.prototype.registeredCount=function(e){var t,n,r;if(e)return this.registeredTracker(e).length;t=0,n=this.registered_tracker[e];for(e in n)r=n[e],t+=r.length;return t},e.prototype.registeredStatsString=function(e){var t,n,r,i,o;n="",t=this.registered_tracker;for(r in t)i=t[r],i.length&&(o&&(n+="\n "),n+=(r?r:"No Name")+": "+i.length,o=!0);return n?n:e},e.prototype.registeredTracker=function(e){var t;return this.registered_tracker.hasOwnProperty(e)?this.registered_tracker[e]:(t=[],this.registered_tracker[e]=t,t)},e.eventsStats=function(e,t){var n,i,o,s,a,l,u;for(l={count:0},n=e._events||e._callbacks||{},a=t?[t]:r.keys(n),i=0,o=a.length;o>i;i++)if(t=a[i],s=n[t]){if(r.isArray(s))l[t]=r.compact(s).length;else for(l[t]=0,u=s.tail;(s=s.next)!==u;)l[t]++;l.count+=l[t]}return l},e}()},function(e,t,n){var r,i,o,s;s=i=n(2),r=s._,o=s.ko,e.exports=i.Store=function(){function e(){this.observable_records={},this.replaced_observables=[],i.Store.instances.push(this)}return e.instances=[],e.useOptionsOrCreate=function(e,t,n){var r;return e.store||i.utils.wrappedStoreIsOwned(n,!0),r=i.utils.wrappedStore(n,e.store||new i.Store),r.retain(n,t,e.creator),r},e.prototype.destroy=function(){var e;return this.__kb_released=!0,this.clear(),(e=r.indexOf(i.Store.instances,this))>=0?i.Store.instances.splice(e,1):void 0},e.prototype.clear=function(){var e,t,n,r,i,o,s,a,l,u;a=[this.observable_records,{}],o=a[0],this.observable_records=a[1];for(t in o){s=o[t];for(e in s)i=s[e],this.release(i,!0)}for(l=[this.replaced_observables,[]],u=l[0],this.replaced_observables=l[1],n=0,r=u.length;r>n;n++)i=u[n],i.__kb_released||this.release(i,!0)},e.prototype.compact=function(){var e,t,n,r,i;i=this.observable_records;for(t in i){r=i[t];for(e in r)n=r[e],n.__kb_released&&delete r[e]}},e.prototype.retain=function(e,t,n){var r;if(this._canRegister(e)){if(n||(n=e.constructor),r=this.find(t,n)){if(r===e)return this._getOrCreateStoreReferences(e).ref_count++,e;this._retire(r)}return this._add(e,t,n),this._getOrCreateStoreReferences(e).ref_count++,e}},e.prototype.retainOrCreate=function(e,t,n){var s,a;if(!(s=this._creator(e,t)))return i.utils.createFromDefaultCreator(e,t);if(s.models_only)return e;if(a=this.find(e,s))return n?this.retain(a,e,s):a;if(!r.isFunction(s.create||s))throw new Error('Invalid factory for "'+t.path+'"');return a=i.ignore(function(n){return function(){return t=r.defaults({store:n,creator:s},t),a=s.create?s.create(e,t):new s(e,t),a||o.observable(null)}}(this)),this.retain(a,e,s),a},e.prototype.reuse=function(e,t){var n,o,s;if((o=i.utils.wrappedObject(e))!==t){if(!this._canRegister(e))throw new Error("Cannot reuse a simple observable");if(1!==this._refCount(e))throw new Error("Trying to change a shared view model. Ref count: "+this._refCount(e));n=i.utils.wrappedCreator(e)||e.constructor,r.isUndefined(o)||(s=this.find(o,n)),this.retain(e,t,n),s&&this.release(s)}},e.prototype.release=function(e,t){var n;if(!this._canRegister(e))return i.release(e);if(n=this._storeReferences(e)){if(!t&&--n.ref_count>0)return;this._clearStoreReferences(e)}return this._remove(e),e.__kb_released?void 0:t||this._refCount(e)<=1?i.release(e):void 0},e.prototype.find=function(e,t){var n,r,i;return(r=this.observable_records[this._creatorId(t)])?(null!=(i=n=r[this._cid(e)])?i.__kb_released:void 0)?(delete r[this._cid(e)],null):n:null},e.prototype._refCount=function(e){var t;return e.__kb_released?("undefined"!=typeof console&&null!==console&&console.log("Observable already released"),0):(t=i.utils.get(e,"stores_references"))?r.reduce(t,function(e,t){return e+t.ref_count},0):1},e.prototype._canRegister=function(e){return e&&!o.isObservable(e)&&!e.__kb_is_co},e.prototype._cid=function(e){var t;return t=e?e.cid||(e.cid=r.uniqueId("c")):"null"},e.prototype._creatorId=function(e){var t,n,i,o,s;for(t=e.create||e,t.__kb_cids||(t.__kb_cids=[]),s=t.__kb_cids,n=0,o=s.length;o>n;n++)if(i=s[n],i.create===t)return i.cid;return t.__kb_cids.push(i={create:t,cid:r.uniqueId("kb")}),i.cid},e.prototype._storeReferences=function(e){var t;if(t=i.utils.get(e,"stores_references"))return r.find(t,function(e){return function(t){return t.store===e}}(this))},e.prototype._getOrCreateStoreReferences=function(e){var t,n;return n=i.utils.orSet(e,"stores_references",[]),(t=r.find(n,function(e){return function(t){return t.store===e}}(this)))||n.push(t={store:this,ref_count:0,release:function(t){return function(){return t.release(e)}}(this)}),t},e.prototype._clearStoreReferences=function(e){var t,n,r,o;if(o=i.utils.get(e,"stores_references")){n=e.__kb.stores_references;for(t in n)if(r=n[t],r.store===this){e.__kb.stores_references.splice(t,1);break}}},e.prototype._retire=function(e){return this._clearStoreReferences(e),this.replaced_observables.push(e),this._remove(e)},e.prototype._add=function(e,t,n){var r,o;return n||(n=e.constructor),i.utils.wrappedObject(e,t),i.utils.wrappedCreator(e,n),((r=this.observable_records)[o=this._creatorId(n)]||(r[o]={}))[this._cid(t)]=e},e.prototype._remove=function(e){var t,n,r;return t=i.utils.wrappedCreator(e)||e.constructor,(n=this.find(r=i.utils.wrappedObject(e),t))&&n===e&&delete this.observable_records[this._creatorId(t)][this._cid(r)],i.utils.wrappedObject(e,null),i.utils.wrappedCreator(e,null)},e.prototype._creator=function(e,t){var n;return t.creator?t.creator:(n=i.utils.inferCreator(e,t.factory,t.path))?n:i.isModel(e)?i.ViewModel:void 0},e}()},function(e,t,n){var r,i,o,s;s=i=n(2),r=s._,o=s.ko,i.utils=function(){function e(){}return e.get=function(e,t,n){return e.__kb&&e.__kb.hasOwnProperty(t)?e.__kb[t]:n},e.set=function(e,t,n){return(e.__kb||(e.__kb={}))[t]=n},e.orSet=function(e,t,n){return(e.__kb||(e.__kb={})).hasOwnProperty(t)||(e.__kb[t]=n),e.__kb[t]},e.has=function(e,t){return e.__kb&&e.__kb.hasOwnProperty(t)},e.wrappedObservable=function(e,t){return 1===arguments.length?i.utils.get(e,"observable"):i.utils.set(e,"observable",t)},e.wrappedObject=function(e,t){return 1===arguments.length?i.utils.get(e,"object"):i.utils.set(e,"object",t)},e.wrappedCreator=function(e,t){return 1===arguments.length?i.utils.get(e,"creator"):i.utils.set(e,"creator",t)},e.wrappedModel=function(e,t){return 1===arguments.length?r.isUndefined(t=i.utils.get(e,"object"))?e:t:i.utils.set(e,"object",t)},e.wrappedStore=function(e,t){return 1===arguments.length?i.utils.get(e,"store"):i.utils.set(e,"store",t)},e.wrappedStoreIsOwned=function(e,t){return 1===arguments.length?i.utils.get(e,"store_is_owned"):i.utils.set(e,"store_is_owned",t)},e.wrappedFactory=function(e,t){return 1===arguments.length?i.utils.get(e,"factory"):i.utils.set(e,"factory",t)},e.wrappedEventWatcher=function(e,t){return 1===arguments.length?i.utils.get(e,"event_watcher"):i.utils.set(e,"event_watcher",t)},e.wrappedEventWatcherIsOwned=function(e,t){return 1===arguments.length?i.utils.get(e,"event_watcher_is_owned"):i.utils.set(e,"event_watcher_is_owned",t)},e.wrappedDestroy=n(23),e.valueType=function(e){return e?e.__kb_is_o?e.valueType():e.__kb_is_co||e instanceof i.Collection?i.TYPE_COLLECTION:e instanceof i.ViewModel||e instanceof i.Model?i.TYPE_MODEL:r.isArray(e)?i.TYPE_ARRAY:i.TYPE_SIMPLE:i.TYPE_UNKNOWN},e.pathJoin=function(e,t){return(e?"."!==e[e.length-1]?e+".":e:"")+t},e.optionsPathJoin=function(e,t){return r.defaults({path:this.pathJoin(e.path,t)},e)},e.inferCreator=function(e,t,n){var r;return t&&(r=t.creatorForPath(e,n))?r:e?e instanceof i.Model?i.ViewModel:e instanceof i.Collection?i.CollectionObservable:null:null},e.createFromDefaultCreator=function(e,t){return i.isModel(e)?i.viewModel(e,t):i.isCollection(e)?i.collectionObservable(e,t):r.isArray(e)?o.observableArray(e):o.observable(e)},e.collapseOptions=n(24),e.unwrapModels=n(25),e.resolveModel=function(e){return e&&i.Backbone&&i.Backbone.ModelRef&&e instanceof i.Backbone.ModelRef?e.model():e},e}()},function(e,t,n){var r,i;r=n(2)._,e.exports=i=function(e){var t,n;if(e.__kb&&(e.__kb.event_watcher&&e.__kb.event_watcher.releaseCallbacks(e),t=e.__kb,e.__kb=null,t.observable&&(t.observable.destroy=t.observable.release=null,i(t.observable),t.observable=null),t.factory=null,t.event_watcher_is_owned&&t.event_watcher.destroy(),t.event_watcher=null,t.store_is_owned&&t.store.destroy(),t.store=null,t.stores_references))for(;n=t.stores_references.pop();)n.store.__kb_released||n.store.release(e)}},function(e,t,n){var r,i,o,s,a;r=n(2)._,o=function(e,t,n){return e[t]||(e[t]=[]),r.isArray(n)||(n=[n]),e[t]=e[t].length?r.union(e[t],n):n,e},s=function(e,t,n){return e[t]||(e[t]={}),r.extend(e[t],n)},i=function(e){var t,n,r,i;for(i={},t=0,r=e.length;r>t;t++)n=e[t],i[n]={key:n};return i},a=function(e,t){var n,l;if(!t)return e;for(n in t)switch(l=t[n],n){case"internals":case"requires":case"excludes":case"statics":o(e,n,l);break;case"keys":r.isObject(l)&&!r.isArray(l)||r.isObject(e[n])&&!r.isArray(e[n])?(r.isObject(l)||(l=[l]),r.isArray(l)&&(l=i(l)),r.isArray(e[n])&&(e[n]=i(e[n])),s(e,n,l)):o(e,n,l);break;case"factories":r.isFunction(l)?e[n]=l:s(e,n,l);break;case"static_defaults":s(e,n,l);break;case"options":break;default:e[n]=l}return a(e,t.options)},e.exports=function(e){return a({},e)}},function(e,t,n){var r,i;r=n(2)._,e.exports=i=function(e){var t,n,o;if(!e)return e;if(e.__kb)return e.__kb.hasOwnProperty("object")?e.__kb.object:e;if(r.isArray(e))return r.map(e,function(e){return i(e)});if(r.isObject(e)&&e.constructor==={}.constructor){n={};for(t in e)o=e[t],n[t]=i(o);return n}return e}},function(e,t,n){var r,i,o,s,a,l,u,c;c=l=n(2),i=c._,u=c.ko,o=function(e,t){var n;return n=e.__kb.internals&&i.contains(e.__kb.internals,t)?"_"+t:t,e.__kb.view_model.hasOwnProperty(n)?void 0:(e.__kb.view_model[n]=null,n)},s=function(e,t,n,r){var s;if((!e.__kb.excludes||!i.contains(e.__kb.excludes,n))&&(!e.__kb.statics||!i.contains(e.__kb.statics,n))&&(s=o(e,n)))return e[s]=e.__kb.view_model[s]=l.observable(t,n,r,e)},a=function(e,t){var n,r,i,s,a;for(s=e.__kb.statics,n=0,i=s.length;i>n;n++)r=s[n],(a=o(e,r))&&(t.has(a)?e[a]=e.__kb.view_model[a]=t.get(a):e.__kb.static_defaults&&a in e.__kb.static_defaults?e[a]=e.__kb.view_model[a]=e.__kb.static_defaults[a]:delete e.__kb.view_model[a])},r=["keys","internals","excludes","statics","static_defaults"],l.ViewModel=function(){function e(e,t,n){var o;return null==t&&(t={}),o=Array.prototype.slice.call(i.isArguments(e)?e:arguments),l.ignore(function(n){return function(){var s,c,d,p,f,h,v,m;for(!(e=o.shift())||l.isModel(e)||l._throwUnexpected(n,"not a model"),i.isArray(o[0])&&(o[0]={keys:o[0]}),n.__kb||(n.__kb={}),n.__kb.view_model=o.length>1?o.pop():n,t={},p=0,v=o.length;v>p;p++)c=o[p],i.extend(t,c);for(t=l.utils.collapseOptions(t),f=0,m=r.length;m>f;f++)h=r[f],t.hasOwnProperty(h)&&(n.__kb[h]=t[h]);return l.Store.useOptionsOrCreate(t,e,n),n.__kb.path=t.path,l.Factory.useOptionsOrCreate(t,n,t.path),s=l.utils.set(n,"_model",u.observable()),n.model=u.computed({read:function(){return u.utils.unwrapObservable(s)},write:function(e){return l.ignore(function(){return l.utils.wrappedObject(n)!==e&&!l.wasReleased(n)&&d?(n.__kb.store.reuse(n,l.utils.resolveModel(e)),d.emitter(e),s(d.ee),!d.ee||n.createObservables(d.ee)):void 0})}}),d=l.utils.wrappedEventWatcher(n,new l.EventWatcher(e,n,{ emitter:n._model,update:function(){return l.ignore(function(){return!(null!=d?d.ee:void 0)||n.createObservables(null!=d?d.ee:void 0)})}})),l.utils.wrappedObject(n,e=d.ee),s(d.ee),n.__kb.create_options={store:l.utils.wrappedStore(n),factory:l.utils.wrappedFactory(n),path:n.__kb.path,event_watcher:l.utils.wrappedEventWatcher(n)},!t.requires||n.createObservables(e,t.requires),!n.__kb.internals||n.createObservables(e,n.__kb.internals),!t.mappings||n.createObservables(e,t.mappings),!n.__kb.statics||a(n,e),n.createObservables(e,n.__kb.keys),!l.statistics||l.statistics.register("ViewModel",n),n}}(this))}return e.extend=l.extend,e.prototype.destroy=function(){var e;if(this.__kb_released=!0,this.__kb.view_model!==this)for(e in this.__kb.vm_keys)this.__kb.view_model[e]=null;return this.__kb.view_model=this.__kb.create_options=null,l.releaseKeys(this),l.utils.wrappedDestroy(this),!l.statistics||l.statistics.unregister("ViewModel",this)},e.prototype.shareOptions=function(){return{store:l.utils.wrappedStore(this),factory:l.utils.wrappedFactory(this)}},e.prototype.createObservables=function(e,t){var n,r,a,u,c,d,p,f,h;if(t)if(i.isArray(t))for(r=0,c=t.length;c>r;r++)a=t[r],s(this,e,a,this.__kb.create_options);else for(a in t)d=t[a],(h=o(this,a))&&(i.isString(d)||d.key||(d.key=h),this[h]=this.__kb.view_model[h]=l.observable(e,d,this.__kb.create_options,this));else{if(this.__kb.keys||!e)return;for(a in e.attributes)s(this,e,a,this.__kb.create_options);if(f=null!=(p=l.orm)&&"function"==typeof p.keys?p.keys(e):void 0)for(n=0,u=f.length;u>n;n++)a=f[n],s(this,e,a,this.__kb.create_options)}},e}(),l.viewModel=function(e,t,n){return new l.ViewModel(arguments)}},function(e,t,n){var r,i,o,s,a;if(e.exports=i=n(2),i.configure=n(10),i.modules={underscore:i._,backbone:i.Parse||i.Backbone,knockout:i.ko},"undefined"!=typeof window&&null!==window)for(a=["_","Backbone","Parse","ko","$"],r=0,s=a.length;s>r;r++)o=a[r],i[o]&&!Object.prototype.hasOwnProperty.call(window,o)&&(window[o]=i[o])}])});