2 lines
44 KiB
JavaScript
2 lines
44 KiB
JavaScript
!function t(e,n,r){function i(u,a){if(!n[u]){if(!e[u]){var s="function"==typeof require&&require;if(!a&&s)return s(u,!0);if(o)return o(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=n[u]={exports:{}};e[u][0].call(c.exports,function(t){var n=e[u][1][t];return i(n?n:t)},c,c.exports,t,e,n,r)}return n[u].exports}for(var o="function"==typeof require&&require,u=0;u<r.length;u++)i(r[u]);return i}({1:[function(t,e){var n;n=function(t,e){var n,r,i,o,u,a;return a=null,null!=e&&(a=e.iwcHandler),o={},r=new DUIClient,r.connect(function(t){var e;return null!=(e=o[t.action])&&e.map(function(e){return setTimeout(function(){return e(t)},0)}),null!=a?a(t):void 0}),r.initOK(),u=null,n=function(){function t(t,e,n,i){var a,s,c,l;this.engine=t,this.HB=e,this.execution_listener=n,this.yatta=i,this.duiClient=r,this.iwcHandler=o,l=function(t){return function(e){return 0!==Object.getOwnPropertyNames(t.initialized).length?t.send(e):void 0}}(this),this.execution_listener.push(l),this.initialized={},a=function(t){return function(n){var r;return e=n.extras.HB,r=n.extras.user,t.engine.applyOpsCheckDouble(e),t.initialized[r]=!0}}(this),o.Yatta_push_HB_element=[a],this.sendIwcIntent("Yatta_get_HB_element",this.HB.getOperationCounter()),s=function(t){return function(e){var n;return n=e.extras,null!=t.initialized[n.uid.creator]?t.receive(n):void 0}}(this),this.iwcHandler.Yatta_new_operation=[s],null!=u&&this.engine.applyOpsCheckDouble(u),c=function(t){return function(e){var n,r;return r=e.extras,console.log(r),n={HB:t.yatta.getHistoryBuffer()._encode(r),user:t.yatta.getUserId()},t.sendIwcIntent("Yatta_push_HB_element",n)}}(this),this.iwcHandler.Yatta_get_HB_element=[c]}return t.prototype.send=function(t){return t.uid.creator===this.HB.getUserId()&&"string"!=typeof t.uid.op_number?this.sendIwcIntent("Yatta_new_operation",t):void 0},t.prototype.receive=function(t){return t.uid.creator!==this.HB.getUserId()?this.engine.applyOp(t):void 0},t.prototype.sendIwcIntent=function(t,e){var n;return n=null,arguments.length>=2?(t=arguments[0],e=arguments[1],n={action:t,component:"",data:"",dataType:"",flags:["PUBLISH_GLOBAL"],extras:e}):n=arguments[0],this.duiClient.sendIntent(n)},t.prototype.setIwcHandler=function(t){return a=t},t}(),i=function(){var e;return e=Math.floor(1e6*Math.random()),t(n,e)},void setTimeout(i,5e3)},e.exports=n,"undefined"!=typeof window&&null!==window&&(null==window.Y&&(window.Y={}),window.Y.createIwcConnector=n)},{}],2:[function(t,e){var n;n=t("underscore"),e.exports=function(t){var e;return e=function(){function e(e,n,r){var i,o;this.engine=e,this.HB=n,this.execution_listener=r,o=function(t){return function(e){return t.send(e)}}(this),this.execution_listener.push(o),this.applied_operations=[],i=function(t){return function(e){return t.applied_operations.push(e)}}(this),this.execution_listener.push(i),0!==(null!=t?t.length:void 0)&&this.engine.applyOps(t[0].getHistoryBuffer()._encode()),this.unexecuted={}}return e.prototype.getOpsInExecutionOrder=function(){return this.applied_operations},e.prototype.send=function(e){var n,r,i,o;if(e.uid.creator===this.HB.getUserId()&&"string"!=typeof e.uid.op_number){for(o=[],r=0,i=t.length;i>r;r++)n=t[r],o.push(n.getUserId()!==this.HB.getUserId()?n.getConnector().receive(e):void 0);return o}},e.prototype.receive=function(t){var e,n;return null==(e=this.unexecuted)[n=t.uid.creator]&&(e[n]=[]),this.unexecuted[t.uid.creator].push(t)},e.prototype.flushOne=function(t){var e;return(null!=(e=this.unexecuted[t])?e.length:void 0)>0?this.engine.applyOp(this.unexecuted[t].shift()):void 0},e.prototype.flushOneRandom=function(){return this.flushOne(n.random(0,t.length-1))},e.prototype.flushAll=function(){var t,e,n;n=this.unexecuted;for(t in n)e=n[t],this.engine.applyOps(e);return this.unexecuted={}},e}()}},{underscore:12}],3:[function(t,e){var n;n=function(){function t(t,e){this.HB=t,this.parser=e,this.unprocessed_ops=[]}return t.prototype.parseOperation=function(t){var e;if(e=this.parser[t.type],null!=e)return e(t);throw new Error("You forgot to specify a parser for type "+t.type+". The message is "+JSON.stringify(t)+".")},t.prototype.applyOpsBundle=function(t){var e,n,r,i,o,u,a,s;for(n=[],r=0,u=t.length;u>r;r++)e=t[r],n.push(this.parseOperation(e));for(i=0,a=n.length;a>i;i++)e=n[i],this.HB.addOperation(e);for(o=0,s=n.length;s>o;o++)e=n[o],e.execute()||this.unprocessed_ops.push(e);return this.tryUnprocessed()},t.prototype.applyOpsCheckDouble=function(t){var e,n,r,i;for(i=[],n=0,r=t.length;r>n;n++)e=t[n],i.push(null==this.HB.getOperation(e.uid)?this.applyOp(e):void 0);return i},t.prototype.applyOps=function(t){var e,n,r,i;for(i=[],n=0,r=t.length;r>n;n++)e=t[n],i.push(this.applyOp(e));return i},t.prototype.applyOp=function(t){var e;return e=this.parseOperation(t),this.HB.addToCounter(e),e.execute()?this.HB.addOperation(e):this.unprocessed_ops.push(e),this.tryUnprocessed()},t.prototype.tryUnprocessed=function(){var t,e,n,r,i,o,u;for(u=[];;){for(t=this.unprocessed_ops.length,n=[],o=this.unprocessed_ops,r=0,i=o.length;i>r;r++)e=o[r],e.execute()?this.HB.addOperation(e):n.push(e);if(this.unprocessed_ops=n,this.unprocessed_ops.length===t)break;u.push(void 0)}return u},t}(),e.exports=n},{}],4:[function(t,e){var n,r,i,o;o=t("../Types/JsonTypes"),r=t("../HistoryBuffer"),n=t("../Engine"),i=function(){function t(t,e){var i,u;this.HB=new r(t),u=o(this.HB),this.types=u.types,this.engine=new n(this.HB,u.parser),this.connector=new e(this.engine,this.HB,u.execution_listener,this),i=new this.types.JsonType(this.HB.getReservedUniqueIdentifier()),this.HB.addOperation(i).execute(),this.root_element=i}return t.prototype.getSharedObject=function(){return this.root_element},t.prototype.getEngine=function(){return this.engine},t.prototype.getConnector=function(){return this.connector},t.prototype.getHistoryBuffer=function(){return this.HB},t.prototype.setMutableDefault=function(t){return this.root_element.setMutableDefault(t)},t.prototype.getUserId=function(){return this.HB.getUserId()},t.prototype.toJson=function(){return this.root_element.toJson()},t.prototype.val=function(t,e,n){return this.root_element.val(t,e,n)},t.prototype.on=function(){var t;return(t=this.root_element).on.apply(t,arguments)},t.prototype.deleteListener=function(){var t;return(t=this.root_element).deleteListener.apply(t,arguments)},Object.defineProperty(t.prototype,"value",{get:function(){return this.root_element.value},set:function(t){var e,n,r;if(t.constructor==={}.constructor){r=[];for(e in t)n=t[e],r.push(this.val(e,n,"immutable"));return r}throw new Error("You must only set Object values!")}}),t}(),e.exports=i,"undefined"!=typeof window&&null!==window&&(null==window.Y&&(window.Y={}),window.Y.JsonYatta=i)},{"../Engine":3,"../HistoryBuffer":6,"../Types/JsonTypes":8}],5:[function(t,e){var n,r,i,o;o=t("../Types/TextTypes"),r=t("../HistoryBuffer"),n=t("../Engine"),i=function(){function t(t,e){var i,u,a,s,c,l,p,f;this.HB=new r(t),c=o(this.HB),this.types=c.types,this.engine=new n(this.HB,c.parser),this.connector=new e(this.engine,this.HB,c.execution_listener,this),u=this.HB.addOperation(new this.types.Delimiter({creator:"_",op_number:"_beginning"},void 0,void 0)),a=this.HB.addOperation(new this.types.Delimiter({creator:"_",op_number:"_end"},u,void 0)),u.next_cl=a,u.execute(),a.execute(),s=new this.types.Word({creator:"_",op_number:"_"},u,a),this.HB.addOperation(s).execute(),f={creator:"_",op_number:"RM"},l={creator:"_",op_number:"_RM_beginning"},p={creator:"_",op_number:"_RM_end"},i=this.HB.addOperation(new this.types.Delimiter(l,void 0,p)).execute(),a=this.HB.addOperation(new this.types.Delimiter(p,i,void 0)).execute(),this.root_element=this.HB.addOperation(new this.types.ReplaceManager(void 0,f,i,a)).execute(),this.root_element.replace(s,{creator:"_",op_number:"Replaceable"})}return t.prototype.getSharedObject=function(){return this.root_element.val()},t.prototype.getEngine=function(){return this.engine},t.prototype.getConnector=function(){return this.connector},t.prototype.getHistoryBuffer=function(){return this.HB},t.prototype.getUserId=function(){return this.HB.getUserId()},t.prototype.val=function(){return this.getSharedObject().val()},t.prototype.insertText=function(t,e){return this.getSharedObject().insertText(t,e)},t.prototype.deleteText=function(t,e){return this.getSharedObject().deleteText(t,e)},t.prototype.bind=function(t){return this.getSharedObject().bind(t)},t.prototype.replaceText=function(t){return this.getSharedObject().replaceText(t)},t.prototype.on=function(){var t;return(t=this.root_element).on.apply(t,arguments)},t}(),e.exports=i,"undefined"!=typeof window&&null!==window&&(null==window.Y&&(window.Y={}),window.Y.TextYatta=i)},{"../Engine":3,"../HistoryBuffer":6,"../Types/TextTypes":10}],6:[function(t,e){var n;n=function(){function t(t){this.user_id=t,this.operation_counter={},this.buffer={},this.change_listeners=[]}return t.prototype.getUserId=function(){return this.user_id},t.prototype.getReservedUniqueIdentifier=function(){return{creator:"_",op_number:"_"}},t.prototype.getOperationCounter=function(){var t,e,n,r;e={},r=this.operation_counter;for(n in r)t=r[n],e[n]=t;return e},t.prototype._encode=function(t){var e,n,r,i,o,u,a,s,c,l;null==t&&(t={}),e=[],s=function(e,n){if(null==e||null==n)throw new Error("dah!");return null==t[e]||t[e]<=n},l=this.buffer;for(a in l){c=l[a];for(o in c)if(n=c[o],!isNaN(parseInt(o))&&s(a,o)){if(r=n._encode(),null!=n.next_cl){for(i=n.next_cl;null!=i.next_cl&&s(i.creator,i.op_number);)i=i.next_cl;r.next=i.getUid()}else if(null!=n.prev_cl){for(u=n.prev_cl;null!=u.prev_cl&&s(u.creator,u.op_number);)u=u.prev_cl;r.prev=u.getUid()}e.push(r)}}return e},t.prototype.getNextOperationIdentifier=function(t){var e;return null==t&&(t=this.user_id),null==this.operation_counter[t]&&(this.operation_counter[t]=0),e={creator:t,op_number:this.operation_counter[t]},this.operation_counter[t]++,e},t.prototype.getOperation=function(t){var e;if(t instanceof Object)return null!=(e=this.buffer[t.creator])?e[t.op_number]:void 0;if(null!=t)throw new Error("This type of uid is not defined!")},t.prototype.addOperation=function(t){if(null==this.buffer[t.creator]&&(this.buffer[t.creator]={}),null!=this.buffer[t.creator][t.op_number])throw new Error("You must not overwrite operations!");return this.buffer[t.creator][t.op_number]=t,t},t.prototype.addToCounter=function(t){var e;if(null==this.operation_counter[t.creator]&&(this.operation_counter[t.creator]=0),"number"==typeof t.op_number&&t.creator!==this.getUserId()&&t.op_number===this.operation_counter[t.creator]){for(this.operation_counter[t.creator]++,e=[];null!=this.getOperation({creator:t.creator,op_number:this.operation_counter[t.creator]});)e.push(this.operation_counter[t.creator]++);return e}},t}(),e.exports=n},{}],7:[function(t,e){var n=[].slice,r={}.hasOwnProperty,i=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t};e.exports=function(t){var e,r,o,u,a,s,c;return c={},s=[],a=function(){function e(e){null==e&&(e=t.getNextOperationIdentifier()),this.creator=e.creator,this.op_number=e.op_number}return e.prototype.on=function(t,e){var n,r,i,o,u;for(null==this.event_listeners&&(this.event_listeners={}),t.constructor!==[].constructor&&(t=[t]),u=[],i=0,o=t.length;o>i;i++)n=t[i],null==(r=this.event_listeners)[n]&&(r[n]=[]),u.push(this.event_listeners[n].push(e));return u},e.prototype.deleteListener=function(t,e){var n,r,i,o,u;for(t.constructor!==[].constructor&&(t=[t]),u=[],r=0,i=t.length;i>r;r++)n=t[r],u.push(null!=(null!=(o=this.event_listeners)?o[n]:void 0)?this.event_listeners[n]=this.event_listeners[n].filter(function(t){return e!==t}):void 0);return u},e.prototype.callEvent=function(){return this.forwardEvent.apply(this,[this].concat(n.call(arguments)))},e.prototype.forwardEvent=function(){var t,e,r,i,o,u,a,s,c;if(i=arguments[0],e=arguments[1],t=3<=arguments.length?n.call(arguments,2):[],null!=(null!=(a=this.event_listeners)?a[e]:void 0)){for(s=this.event_listeners[e],c=[],o=0,u=s.length;u>o;o++)r=s[o],c.push(r.call.apply(r,[i,e].concat(n.call(t))));return c}},e.prototype.setParent=function(t){this.parent=t},e.prototype.getParent=function(){return this.parent},e.prototype.getUid=function(){return{creator:this.creator,op_number:this.op_number}},e.prototype.execute=function(){var t,e,n;for(this.is_executed=!0,e=0,n=s.length;n>e;e++)(t=s[e])(this._encode());return this},e.prototype.saveOperation=function(t,e){return null!=(null!=e?e.execute:void 0)?this[t]=e:null!=e?(null==this.unchecked&&(this.unchecked={}),this.unchecked[t]=e):void 0},e.prototype.validateSavedOperations=function(){var e,n,r,i,o,u;o={},i=this,u=this.unchecked;for(e in u)r=u[e],n=t.getOperation(r),n?this[e]=n:(o[e]=r,i=!1);return delete this.unchecked,i||(this.unchecked=o),i},e}(),e=function(t){function e(t,n){this.saveOperation("deletes",n),e.__super__.constructor.call(this,t)}return i(e,t),e.prototype._encode=function(){return{type:"Delete",uid:this.getUid(),deletes:this.deletes.getUid()}},e.prototype.execute=function(){return this.validateSavedOperations()?(this.deletes.applyDelete(this),e.__super__.execute.apply(this,arguments)):!1},e}(a),c.Delete=function(t){var n,r;return r=t.uid,n=t.deletes,new e(r,n)},u=function(t){function e(t,n,r,i){this.saveOperation("prev_cl",n),this.saveOperation("next_cl",r),null!=i?this.saveOperation("origin",i):this.saveOperation("origin",n),e.__super__.constructor.call(this,t)}return i(e,t),e.prototype.applyDelete=function(t){return null==this.deleted_by&&(this.deleted_by=[]),this.deleted_by.push(t),null!=this.parent&&1===this.deleted_by.length?this.parent.callEvent("delete",this):void 0},e.prototype.isDeleted=function(){var t;return(null!=(t=this.deleted_by)?t.length:void 0)>0},e.prototype.getDistanceToOrigin=function(){var t,e;for(t=0,e=this.prev_cl;;){if(this.origin===e)break;if(t++,this===this.prev_cl)throw new Error("this should not happen ;) ");e=e.prev_cl}return t},e.prototype.update_sl=function(){var t;return t=this.prev_cl,update("prev_cl","prev_sl"),update("next_cl","prev_sl")},e.prototype.execute=function(){var t,n,r,i,o,u,a;if(null!=this.is_executed)return this;if(this.validateSavedOperations()){if((null!=(o=this.prev_cl)?o.validateSavedOperations():void 0)&&(null!=(u=this.next_cl)?u.validateSavedOperations():void 0)&&this.prev_cl.next_cl!==this){for(t=0,r=this.prev_cl.next_cl,n=0;;){if(null==r&&(console.log(JSON.stringify(this.prev_cl.getUid())),console.log(JSON.stringify(this.next_cl.getUid()))),r===this.next_cl)break;if(r.getDistanceToOrigin()===n)r.creator<this.creator&&(this.prev_cl=r,t=n+1);else{if(!(r.getDistanceToOrigin()<n))break;n-t<=r.getDistanceToOrigin()&&(this.prev_cl=r,t=n+1)}n++,r=r.next_cl}this.next_cl=this.prev_cl.next_cl,this.prev_cl.next_cl=this,this.next_cl.prev_cl=this}return i=null!=(a=this.prev_cl)?a.getParent():void 0,null!=i&&(this.setParent(i),this.parent.callEvent("insert",this)),e.__super__.execute.apply(this,arguments)}return!1},e.prototype.getPosition=function(){var t,e;for(t=0,e=this.prev_cl;;){if(e instanceof r)break;null==e.isDeleted||e.isDeleted()||t++,e=e.prev_cl}return t},e}(a),o=function(t){function e(t,n,r,i,o){this.content=n,e.__super__.constructor.call(this,t,r,i,o)}return i(e,t),e.prototype.val=function(){return this.content},e.prototype._encode=function(){var t;return t={type:"ImmutableObject",uid:this.getUid(),content:this.content},null!=this.prev_cl&&(t.prev=this.prev_cl.getUid()),null!=this.next_cl&&(t.next=this.next_cl.getUid()),null!=this.origin&&this.origin!==this.prev_cl&&(t.origin=this.origin.getUid()),t},e}(u),c.ImmutableObject=function(t){var e,n,r,i,u;return u=t.uid,e=t.content,i=t.prev,n=t.next,r=t.origin,new o(u,e,i,n,r)},r=function(t){function e(t,n,r){this.saveOperation("prev_cl",n),this.saveOperation("next_cl",r),this.saveOperation("origin",n),e.__super__.constructor.call(this,t)}return i(e,t),e.prototype.isDeleted=function(){return!1},e.prototype.execute=function(){var t,n;if(null!=(null!=(t=this.unchecked)?t.next_cl:void 0))return e.__super__.execute.apply(this,arguments);if(null!=(n=this.unchecked)?n.prev_cl:void 0){if(this.validateSavedOperations()){if(null!=this.prev_cl.next_cl)throw new Error("Probably duplicated operations");return this.prev_cl.next_cl=this,delete this.prev_cl.unchecked.next_cl,e.__super__.execute.apply(this,arguments)}return!1}if(null!=this.prev_cl&&null==this.prev_cl.next_cl)return delete this.prev_cl.unchecked.next_cl,this.prev_cl.next_cl=this;if(null!=this.prev_cl||null!=this.next_cl)return e.__super__.execute.apply(this,arguments);throw new Error("Delimiter is unsufficient defined!")},e.prototype._encode=function(){var t,e;return{type:"Delimiter",uid:this.getUid(),prev:null!=(t=this.prev_cl)?t.getUid():void 0,next:null!=(e=this.next_cl)?e.getUid():void 0}},e}(a),c.Delimiter=function(t){var e,n,i;return i=t.uid,n=t.prev,e=t.next,new r(i,n,e)},{types:{Delete:e,Insert:u,Delimiter:r,Operation:a,ImmutableObject:o},parser:c,execution_listener:s}}},{}],8:[function(t,e){var n,r={}.hasOwnProperty,i=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},o=[].slice;n=t("./TextTypes"),e.exports=function(t){var e,r,u,a,s;return a=n(t),s=a.types,u=a.parser,r=function(t){var n;return new(n=function(){function t(n){var i,o,u,a;a=n.map,u=function(i,o){return Object.defineProperty(t.prototype,i,{get:function(){var t;return t=o.val(),t instanceof e?r(t):t instanceof s.ImmutableObject?t.val():t},set:function(t){var e,r,o,u;if(o=n.val(i),t.constructor==={}.constructor&&o instanceof s.Operation){u=[];for(e in t)r=t[e],u.push(o.val(e,r,"immutable"));return u}return n.val(i,t,"immutable")},enumerable:!0,configurable:!1})};for(i in a)o=a[i],u(i,o)}return t}())(t)},e=function(e){function n(t,e,r){var i,o;if(n.__super__.constructor.call(this,t),null!=e){if("object"!=typeof e)throw new Error("The initial value of JsonTypes must be of type Object! (current type: "+typeof e+")");for(i in e)o=e[i],this.val(i,o,r)}}return i(n,e),n.prototype.toJson=function(){var t,e,n,r;r=this.val(),t={};for(e in r)if(n=r[e],n.constructor==={}.constructor)t[e]=this.val(e).toJson();else if(n instanceof s.Operation){for(;n instanceof s.Operation;)n=n.val();t[e]=n}else t[e]=n;return t},n.prototype.setReplaceManager=function(t){return this.parent=t.parent,this.on(["change","addProperty"],function(){var e;return(e=t.parent).forwardEvent.apply(e,[this].concat(o.call(arguments)))})},n.prototype.getParent=function(){return this.parent},n.prototype.mutable_default=!0,n.prototype.setMutableDefault=function(t){if(t===!0||"mutable"===t)n.prototype.mutable_default=!0;else{if(t!==!1&&"immutable"!==t)throw new Error('Set mutable either "mutable" or "immutable"!');n.prototype.mutable_default=!1}return"OK"},n.prototype.val=function(e,r,i){var o,u,a,c,l;if("object"==typeof e){for(a in e)u=e[a],this.val(a,u,r);return this}if(null!=e&&null!=r){if(i=null!=i?i===!0||"mutable"===i?!0:!1:this.mutable_default,"function"==typeof r)return this;if(i&&"number"!=typeof r||r.constructor===Object){if("string"==typeof r)return l=t.addOperation(new s.Word(void 0)).execute(),l.insertText(0,r),n.__super__.val.call(this,e,l);if(r.constructor===Object)return o=t.addOperation(new n(void 0,r,i)).execute(),n.__super__.val.call(this,e,o);throw new Error("You must not set "+typeof r+"-types in collaborative Json-objects!")}return c=t.addOperation(new s.ImmutableObject(void 0,r)).execute(),n.__super__.val.call(this,e,c)}return n.__super__.val.call(this,e,r)},Object.defineProperty(n.prototype,"value",{get:function(){return r(this)},set:function(t){var e,n,r;if(t.constructor==={}.constructor){r=[];for(e in t)n=t[e],r.push(this.val(e,n,"immutable"));return r}throw new Error("You must only set Object values!")}}),n.prototype._encode=function(){return{type:"JsonType",uid:this.getUid()}},n}(s.MapManager),u.JsonType=function(t){var n;return n=t.uid,new e(n)},s.JsonType=e,a}},{"./TextTypes":10}],9:[function(t,e){var n,r={}.hasOwnProperty,i=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t};n=t("./BasicTypes"),e.exports=function(t){var e,r,o,u,a,s,c,l;return s=n(t),l=s.types,c=s.parser,o=function(n){function r(t){this.map={},r.__super__.constructor.call(this,t)}return i(r,n),r.prototype.val=function(n,i){var o,u,a,s,c;if(null!=i)return null==this.map[n]&&t.addOperation(new e(void 0,this,n)).execute(),this.map[n].replace(i),this;if(null!=n)return u=null!=(s=this.map[n])?s.val():void 0,u instanceof l.ImmutableObject?u.val():u;a={},c=this.map;for(n in c)o=c[n],u=o.val(),(u instanceof l.ImmutableObject||u instanceof r)&&(u=u.val()),a[n]=u;return a},r}(l.Operation),e=function(e){function n(t,e,r){this.name=r,this.saveOperation("map_manager",e),n.__super__.constructor.call(this,t)}return i(n,e),n.prototype.execute=function(){var e,r,i,o,a;return this.validateSavedOperations()?(a=this.map_manager.getUid(),a.op_number="_"+a.op_number+"_RM_"+this.name,null==t.getOperation(a)&&(i=this.map_manager.getUid(),i.op_number="_"+i.op_number+"_RM_"+this.name+"_beginning",o=this.map_manager.getUid(),o.op_number="_"+o.op_number+"_RM_"+this.name+"_end",e=t.addOperation(new l.Delimiter(i,void 0,o)).execute(),r=t.addOperation(new l.Delimiter(o,e,void 0)).execute(),this.map_manager.map[this.name]=t.addOperation(new u(void 0,a,e,r)),this.map_manager.map[this.name].setParent(this.map_manager,this.name),this.map_manager.map[this.name].execute()),n.__super__.execute.apply(this,arguments)):!1},n.prototype._encode=function(){return{type:"AddName",uid:this.getUid(),map_manager:this.map_manager.getUid(),name:this.name}},n}(l.Operation),c.AddName=function(t){var n,r,i;return n=t.map_manager,i=t.uid,r=t.name,new e(i,n,r)},r=function(e){function n(e,r,i,o,u,a){null!=r&&null!=i?(this.saveOperation("beginning",r),this.saveOperation("end",i)):(this.beginning=t.addOperation(new l.Delimiter(void 0,void 0,void 0)),this.end=t.addOperation(new l.Delimiter(void 0,this.beginning,void 0)),this.beginning.next_cl=this.end,this.beginning.execute(),this.end.execute()),n.__super__.constructor.call(this,e,o,u,a)}return i(n,e),n.prototype.execute=function(){return this.validateSavedOperations()?(this.beginning.setParent(this),this.end.setParent(this),n.__super__.execute.apply(this,arguments)):!1},n.prototype.getLastOperation=function(){return this.end.prev_cl},n.prototype.getFirstOperation=function(){return this.beginning.next_cl},n.prototype.toArray=function(){var t,e;for(t=this.beginning.next_cl,e=[];t!==this.end;)e.push(t),t=t.next_cl;return e},n.prototype.getOperationByPosition=function(t){var e;if(e=this.beginning.next_cl,(t>0||e.isDeleted())&&!(e instanceof l.Delimiter)){for(;e.isDeleted()&&!(e instanceof l.Delimiter);)e=e.next_cl;for(;;){if(e instanceof l.Delimiter)break;if(0>=t&&!e.isDeleted())break;e=e.next_cl,e.isDeleted()||(t-=1)}}return e},n}(l.Insert),u=function(e){function n(t,e,r,i,o,u,a){n.__super__.constructor.call(this,e,r,i,o,u,a),null!=t&&this.replace(t)}return i(n,e),n.prototype.replace=function(e,n){var r,i;return r=this.getLastOperation(),i=new a(e,this,n,r,r.next_cl),t.addOperation(i).execute()},n.prototype.setParent=function(t,e){var r;return this.on("insert",function(t){return function(n,r){return r.next_cl instanceof l.Delimiter?t.parent.callEvent("change",e):void 0}}(this)),this.on("change",function(t){return function(){return t.parent.callEvent("change",e)}}(this)),r=function(t){return function(n,i){return i.next_cl instanceof l.Delimiter&&i.prev_cl instanceof l.Delimiter&&t.parent.callEvent("addProperty",e),t.deleteListener("addProperty",r)}}(this),this.on("insert",r),n.__super__.setParent.call(this,t)},n.prototype.val=function(){var t;return t=this.getLastOperation(),"function"==typeof t.val?t.val():void 0},n.prototype._encode=function(){var t;return t={type:"ReplaceManager",uid:this.getUid(),beginning:this.beginning.getUid(),end:this.end.getUid()},null!=this.prev_cl&&null!=this.next_cl&&(t.prev=this.prev_cl.getUid(),t.next=this.next_cl.getUid()),null!=this.origin&&this.origin!==this.prev_cl&&(t.origin=this.origin.getUid()),t},n}(r),c.ReplaceManager=function(t){var e,n,r,i,o,a,s;return n=t.content,s=t.uid,a=t.prev,i=t.next,o=t.origin,e=t.beginning,r=t.end,new u(n,s,e,r,a,i,o)},a=function(t){function e(t,n,r,i,o,u){if(this.saveOperation("content",t),this.saveOperation("parent",n),null==i||null==o||null==t)throw new Error("You must define content, prev, and next for Replaceable-types!");e.__super__.constructor.call(this,r,i,o,u)}return i(e,t),e.prototype.val=function(){return this.content},e.prototype.replace=function(t){return this.parent.replace(t)},e.prototype.execute=function(){var t;return this.validateSavedOperations()?("function"==typeof(t=this.content).setReplaceManager&&t.setReplaceManager(this.parent),e.__super__.execute.apply(this,arguments)):!1},e.prototype._encode=function(){var t;return t={type:"Replaceable",content:this.content.getUid(),ReplaceManager:this.parent.getUid(),prev:this.prev_cl.getUid(),next:this.next_cl.getUid(),uid:this.getUid()},null!=this.origin&&this.origin!==this.prev_cl&&(t.origin=this.origin.getUid()),t},e}(l.Insert),c.Replaceable=function(t){var e,n,r,i,o,u;return e=t.content,i=t.ReplaceManager,u=t.uid,o=t.prev,n=t.next,r=t.origin,new a(e,i,u,o,n,r)},l.ListManager=r,l.MapManager=o,l.ReplaceManager=u,l.Replaceable=a,s}},{"./BasicTypes":7}],10:[function(t,e){var n,r={}.hasOwnProperty,i=function(t,e){function n(){this.constructor=t}for(var i in e)r.call(e,i)&&(t[i]=e[i]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t};n=t("./StructuredTypes"),e.exports=function(t){var e,r,o,u,a,s;return a=n(t),s=a.types,u=a.parser,e=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return i(e,t),e}(s.Delete),u.TextDelete=u.Delete,r=function(t){function e(t,n,r,i,o){if(this.content=t,null==r||null==i)throw new Error("You must define prev, and next for TextInsert-types!");e.__super__.constructor.call(this,n,r,i,o)}return i(e,t),e.prototype.getLength=function(){return this.isDeleted()?0:this.content.length},e.prototype.val=function(){return this.isDeleted()?"":this.content},e.prototype._encode=function(){var t;return t={type:"TextInsert",content:this.content,uid:this.getUid(),prev:this.prev_cl.getUid(),next:this.next_cl.getUid()},null!=this.origin&&this.origin!==this.prev_cl&&(t.origin=this.origin.getUid()),t},e}(s.Insert),u.TextInsert=function(t){var e,n,i,o,u;return e=t.content,u=t.uid,o=t.prev,n=t.next,i=t.origin,new r(e,u,o,n,i)},o=function(n){function o(t,e,n,r,i,u){o.__super__.constructor.call(this,t,e,n,r,i,u)}return i(o,n),o.prototype.insertText=function(e,n){var i,o,u,a,s,c;for(o=this.getOperationByPosition(e),c=[],a=0,s=n.length;s>a;a++)i=n[a],u=new r(i,void 0,o.prev_cl,o),c.push(t.addOperation(u).execute());return c},o.prototype.deleteText=function(n,r){var i,o,u,a,c;for(a=this.getOperationByPosition(n),o=[],u=c=0;(r>=0?r>c:c>r)&&!(a instanceof s.Delimiter);u=r>=0?++c:--c){for(i=t.addOperation(new e(void 0,a)).execute(),a=a.next_cl;!(a instanceof s.Delimiter)&&a.isDeleted();)a=a.next_cl;o.push(i._encode())}return o},o.prototype.replaceText=function(e){var n;if(null!=this.replace_manager)return n=t.addOperation(new o(void 0)).execute(),n.insertText(0,e),this.replace_manager.replace(n);throw new Error("This type is currently not maintained by a ReplaceManager!")},o.prototype.val=function(){var t,e;return t=function(){var t,n,r,i;for(r=this.toArray(),i=[],t=0,n=r.length;n>t;t++)e=r[t],i.push(null!=e.val?e.val():"");return i}.call(this),t.join("")},o.prototype.setReplaceManager=function(t){return this.saveOperation("replace_manager",t),this.validateSavedOperations(),this.on(["insert","delete"],function(t){return function(){var e;return null!=(e=t.replace_manager)?e.callEvent("change"):void 0}}(this))},o.prototype.bind=function(t){var e;return e=this,t.value=this.val(),this.on("insert",function(n,r){var i,o,u,a;return u=r.getPosition(),i=function(t){return u>=t?t:t+=1},o=i(t.selectionStart),a=i(t.selectionEnd),t.value=e.val(),t.setSelectionRange(o,a)}),this.on("delete",function(n,r){var i,o,u,a;return u=r.getPosition(),i=function(t){return u>t?t:t-=1},o=i(t.selectionStart),a=i(t.selectionEnd),t.value=e.val(),t.setSelectionRange(o,a)}),t.onkeypress=function(n){var r,i,o,u;return r=null,r=null!=n.key?32===n.charCode?" ":13===n.keyCode?"\n":n.key:String.fromCharCode(n.keyCode),r.length>0?(u=Math.min(t.selectionStart,t.selectionEnd),i=Math.abs(t.selectionEnd-t.selectionStart),e.deleteText(u,i),e.insertText(u,r),o=u+r.length,t.setSelectionRange(o,o),n.preventDefault()):n.preventDefault()},t.onpaste=function(t){return t.preventDefault()},t.oncut=function(t){return t.preventDefault()},t.onkeydown=function(n){var r,i,o,u,a;if(u=Math.min(t.selectionStart,t.selectionEnd),i=Math.abs(t.selectionEnd-t.selectionStart),null!=n.keyCode&&8===n.keyCode){if(i>0)e.deleteText(u,i),t.setSelectionRange(u,u);else if(null!=n.ctrlKey&&n.ctrlKey){for(a=t.value,o=u,r=0,u>0&&(o--,r++);o>0&&" "!==a[o]&&"\n"!==a[o];)o--,r++;e.deleteText(o,u-o),t.setSelectionRange(o,o)}else e.deleteText(u-1,1);return n.preventDefault()}return null!=n.keyCode&&46===n.keyCode?(i>0?(e.deleteText(u,i),t.setSelectionRange(u,u)):(e.deleteText(u,1),t.setSelectionRange(u,u)),n.preventDefault()):void 0}},o.prototype._encode=function(){var t;return t={type:"Word",uid:this.getUid(),beginning:this.beginning.getUid(),end:this.end.getUid()},null!=this.prev_cl&&(t.prev=this.prev_cl.getUid()),null!=this.next_cl&&(t.next=this.next_cl.getUid()),null!=this.origin&&this.origin!==this.prev_cl&&(t.origin=this.origin.getUid()),t},o}(s.ListManager),u.Word=function(t){var e,n,r,i,u,a;return a=t.uid,e=t.beginning,n=t.end,u=t.prev,r=t.next,i=t.origin,new o(a,e,n,u,r,i)},s.TextInsert=r,s.TextDelete=e,s.Word=o,a}},{"./StructuredTypes":9}],11:[function(t,e,n){n.IwcConnector=t("./Connectors/IwcConnector"),n.TestConnector=t("./Connectors/TestConnector"),n.JsonYatta=t("./Frameworks/JsonYatta"),n.TextYatta=t("./Frameworks/TextYatta")},{"./Connectors/IwcConnector":1,"./Connectors/TestConnector":2,"./Frameworks/JsonYatta":4,"./Frameworks/TextYatta":5}],12:[function(t,e,n){(function(){var t=this,r=t._,i={},o=Array.prototype,u=Object.prototype,a=Function.prototype,s=o.push,c=o.slice,l=o.concat,p=u.toString,f=u.hasOwnProperty,h=o.forEach,d=o.map,v=o.reduce,_=o.reduceRight,g=o.filter,y=o.every,m=o.some,x=o.indexOf,b=o.lastIndexOf,w=Array.isArray,O=Object.keys,T=a.bind,B=function(t){return t instanceof B?t:this instanceof B?void(this._wrapped=t):new B(t)};"undefined"!=typeof n?("undefined"!=typeof e&&e.exports&&(n=e.exports=B),n._=B):t._=B,B.VERSION="1.6.0";var U=B.each=B.forEach=function(t,e,n){if(null==t)return t;if(h&&t.forEach===h)t.forEach(e,n);else if(t.length===+t.length){for(var r=0,o=t.length;o>r;r++)if(e.call(n,t[r],r,t)===i)return}else for(var u=B.keys(t),r=0,o=u.length;o>r;r++)if(e.call(n,t[u[r]],u[r],t)===i)return;return t};B.map=B.collect=function(t,e,n){var r=[];return null==t?r:d&&t.map===d?t.map(e,n):(U(t,function(t,i,o){r.push(e.call(n,t,i,o))}),r)};var D="Reduce of empty array with no initial value";B.reduce=B.foldl=B.inject=function(t,e,n,r){var i=arguments.length>2;if(null==t&&(t=[]),v&&t.reduce===v)return r&&(e=B.bind(e,r)),i?t.reduce(e,n):t.reduce(e);if(U(t,function(t,o,u){i?n=e.call(r,n,t,o,u):(n=t,i=!0)}),!i)throw new TypeError(D);return n},B.reduceRight=B.foldr=function(t,e,n,r){var i=arguments.length>2;if(null==t&&(t=[]),_&&t.reduceRight===_)return r&&(e=B.bind(e,r)),i?t.reduceRight(e,n):t.reduceRight(e);var o=t.length;if(o!==+o){var u=B.keys(t);o=u.length}if(U(t,function(a,s,c){s=u?u[--o]:--o,i?n=e.call(r,n,t[s],s,c):(n=t[s],i=!0)}),!i)throw new TypeError(D);return n},B.find=B.detect=function(t,e,n){var r;return j(t,function(t,i,o){return e.call(n,t,i,o)?(r=t,!0):void 0}),r},B.filter=B.select=function(t,e,n){var r=[];return null==t?r:g&&t.filter===g?t.filter(e,n):(U(t,function(t,i,o){e.call(n,t,i,o)&&r.push(t)
|
|
}),r)},B.reject=function(t,e,n){return B.filter(t,function(t,r,i){return!e.call(n,t,r,i)},n)},B.every=B.all=function(t,e,n){e||(e=B.identity);var r=!0;return null==t?r:y&&t.every===y?t.every(e,n):(U(t,function(t,o,u){return(r=r&&e.call(n,t,o,u))?void 0:i}),!!r)};var j=B.some=B.any=function(t,e,n){e||(e=B.identity);var r=!1;return null==t?r:m&&t.some===m?t.some(e,n):(U(t,function(t,o,u){return r||(r=e.call(n,t,o,u))?i:void 0}),!!r)};B.contains=B.include=function(t,e){return null==t?!1:x&&t.indexOf===x?-1!=t.indexOf(e):j(t,function(t){return t===e})},B.invoke=function(t,e){var n=c.call(arguments,2),r=B.isFunction(e);return B.map(t,function(t){return(r?e:t[e]).apply(t,n)})},B.pluck=function(t,e){return B.map(t,B.property(e))},B.where=function(t,e){return B.filter(t,B.matches(e))},B.findWhere=function(t,e){return B.find(t,B.matches(e))},B.max=function(t,e,n){if(!e&&B.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.max.apply(Math,t);var r=-1/0,i=-1/0;return U(t,function(t,o,u){var a=e?e.call(n,t,o,u):t;a>i&&(r=t,i=a)}),r},B.min=function(t,e,n){if(!e&&B.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.min.apply(Math,t);var r=1/0,i=1/0;return U(t,function(t,o,u){var a=e?e.call(n,t,o,u):t;i>a&&(r=t,i=a)}),r},B.shuffle=function(t){var e,n=0,r=[];return U(t,function(t){e=B.random(n++),r[n-1]=r[e],r[e]=t}),r},B.sample=function(t,e,n){return null==e||n?(t.length!==+t.length&&(t=B.values(t)),t[B.random(t.length-1)]):B.shuffle(t).slice(0,Math.max(0,e))};var I=function(t){return null==t?B.identity:B.isFunction(t)?t:B.property(t)};B.sortBy=function(t,e,n){return e=I(e),B.pluck(B.map(t,function(t,r,i){return{value:t,index:r,criteria:e.call(n,t,r,i)}}).sort(function(t,e){var n=t.criteria,r=e.criteria;if(n!==r){if(n>r||void 0===n)return 1;if(r>n||void 0===r)return-1}return t.index-e.index}),"value")};var E=function(t){return function(e,n,r){var i={};return n=I(n),U(e,function(o,u){var a=n.call(r,o,u,e);t(i,a,o)}),i}};B.groupBy=E(function(t,e,n){B.has(t,e)?t[e].push(n):t[e]=[n]}),B.indexBy=E(function(t,e,n){t[e]=n}),B.countBy=E(function(t,e){B.has(t,e)?t[e]++:t[e]=1}),B.sortedIndex=function(t,e,n,r){n=I(n);for(var i=n.call(r,e),o=0,u=t.length;u>o;){var a=o+u>>>1;n.call(r,t[a])<i?o=a+1:u=a}return o},B.toArray=function(t){return t?B.isArray(t)?c.call(t):t.length===+t.length?B.map(t,B.identity):B.values(t):[]},B.size=function(t){return null==t?0:t.length===+t.length?t.length:B.keys(t).length},B.first=B.head=B.take=function(t,e,n){return null==t?void 0:null==e||n?t[0]:0>e?[]:c.call(t,0,e)},B.initial=function(t,e,n){return c.call(t,0,t.length-(null==e||n?1:e))},B.last=function(t,e,n){return null==t?void 0:null==e||n?t[t.length-1]:c.call(t,Math.max(t.length-e,0))},B.rest=B.tail=B.drop=function(t,e,n){return c.call(t,null==e||n?1:e)},B.compact=function(t){return B.filter(t,B.identity)};var k=function(t,e,n){return e&&B.every(t,B.isArray)?l.apply(n,t):(U(t,function(t){B.isArray(t)||B.isArguments(t)?e?s.apply(n,t):k(t,e,n):n.push(t)}),n)};B.flatten=function(t,e){return k(t,e,[])},B.without=function(t){return B.difference(t,c.call(arguments,1))},B.partition=function(t,e){var n=[],r=[];return U(t,function(t){(e(t)?n:r).push(t)}),[n,r]},B.uniq=B.unique=function(t,e,n,r){B.isFunction(e)&&(r=n,n=e,e=!1);var i=n?B.map(t,n,r):t,o=[],u=[];return U(i,function(n,r){(e?r&&u[u.length-1]===n:B.contains(u,n))||(u.push(n),o.push(t[r]))}),o},B.union=function(){return B.uniq(B.flatten(arguments,!0))},B.intersection=function(t){var e=c.call(arguments,1);return B.filter(B.uniq(t),function(t){return B.every(e,function(e){return B.contains(e,t)})})},B.difference=function(t){var e=l.apply(o,c.call(arguments,1));return B.filter(t,function(t){return!B.contains(e,t)})},B.zip=function(){for(var t=B.max(B.pluck(arguments,"length").concat(0)),e=new Array(t),n=0;t>n;n++)e[n]=B.pluck(arguments,""+n);return e},B.object=function(t,e){if(null==t)return{};for(var n={},r=0,i=t.length;i>r;r++)e?n[t[r]]=e[r]:n[t[r][0]]=t[r][1];return n},B.indexOf=function(t,e,n){if(null==t)return-1;var r=0,i=t.length;if(n){if("number"!=typeof n)return r=B.sortedIndex(t,e),t[r]===e?r:-1;r=0>n?Math.max(0,i+n):n}if(x&&t.indexOf===x)return t.indexOf(e,n);for(;i>r;r++)if(t[r]===e)return r;return-1},B.lastIndexOf=function(t,e,n){if(null==t)return-1;var r=null!=n;if(b&&t.lastIndexOf===b)return r?t.lastIndexOf(e,n):t.lastIndexOf(e);for(var i=r?n:t.length;i--;)if(t[i]===e)return i;return-1},B.range=function(t,e,n){arguments.length<=1&&(e=t||0,t=0),n=arguments[2]||1;for(var r=Math.max(Math.ceil((e-t)/n),0),i=0,o=new Array(r);r>i;)o[i++]=t,t+=n;return o};var H=function(){};B.bind=function(t,e){var n,r;if(T&&t.bind===T)return T.apply(t,c.call(arguments,1));if(!B.isFunction(t))throw new TypeError;return n=c.call(arguments,2),r=function(){if(!(this instanceof r))return t.apply(e,n.concat(c.call(arguments)));H.prototype=t.prototype;var i=new H;H.prototype=null;var o=t.apply(i,n.concat(c.call(arguments)));return Object(o)===o?o:i}},B.partial=function(t){var e=c.call(arguments,1);return function(){for(var n=0,r=e.slice(),i=0,o=r.length;o>i;i++)r[i]===B&&(r[i]=arguments[n++]);for(;n<arguments.length;)r.push(arguments[n++]);return t.apply(this,r)}},B.bindAll=function(t){var e=c.call(arguments,1);if(0===e.length)throw new Error("bindAll must be passed function names");return U(e,function(e){t[e]=B.bind(t[e],t)}),t},B.memoize=function(t,e){var n={};return e||(e=B.identity),function(){var r=e.apply(this,arguments);return B.has(n,r)?n[r]:n[r]=t.apply(this,arguments)}},B.delay=function(t,e){var n=c.call(arguments,2);return setTimeout(function(){return t.apply(null,n)},e)},B.defer=function(t){return B.delay.apply(B,[t,1].concat(c.call(arguments,1)))},B.throttle=function(t,e,n){var r,i,o,u=null,a=0;n||(n={});var s=function(){a=n.leading===!1?0:B.now(),u=null,o=t.apply(r,i),r=i=null};return function(){var c=B.now();a||n.leading!==!1||(a=c);var l=e-(c-a);return r=this,i=arguments,0>=l?(clearTimeout(u),u=null,a=c,o=t.apply(r,i),r=i=null):u||n.trailing===!1||(u=setTimeout(s,l)),o}},B.debounce=function(t,e,n){var r,i,o,u,a,s=function(){var c=B.now()-u;e>c?r=setTimeout(s,e-c):(r=null,n||(a=t.apply(o,i),o=i=null))};return function(){o=this,i=arguments,u=B.now();var c=n&&!r;return r||(r=setTimeout(s,e)),c&&(a=t.apply(o,i),o=i=null),a}},B.once=function(t){var e,n=!1;return function(){return n?e:(n=!0,e=t.apply(this,arguments),t=null,e)}},B.wrap=function(t,e){return B.partial(e,t)},B.compose=function(){var t=arguments;return function(){for(var e=arguments,n=t.length-1;n>=0;n--)e=[t[n].apply(this,e)];return e[0]}},B.after=function(t,e){return function(){return--t<1?e.apply(this,arguments):void 0}},B.keys=function(t){if(!B.isObject(t))return[];if(O)return O(t);var e=[];for(var n in t)B.has(t,n)&&e.push(n);return e},B.values=function(t){for(var e=B.keys(t),n=e.length,r=new Array(n),i=0;n>i;i++)r[i]=t[e[i]];return r},B.pairs=function(t){for(var e=B.keys(t),n=e.length,r=new Array(n),i=0;n>i;i++)r[i]=[e[i],t[e[i]]];return r},B.invert=function(t){for(var e={},n=B.keys(t),r=0,i=n.length;i>r;r++)e[t[n[r]]]=n[r];return e},B.functions=B.methods=function(t){var e=[];for(var n in t)B.isFunction(t[n])&&e.push(n);return e.sort()},B.extend=function(t){return U(c.call(arguments,1),function(e){if(e)for(var n in e)t[n]=e[n]}),t},B.pick=function(t){var e={},n=l.apply(o,c.call(arguments,1));return U(n,function(n){n in t&&(e[n]=t[n])}),e},B.omit=function(t){var e={},n=l.apply(o,c.call(arguments,1));for(var r in t)B.contains(n,r)||(e[r]=t[r]);return e},B.defaults=function(t){return U(c.call(arguments,1),function(e){if(e)for(var n in e)void 0===t[n]&&(t[n]=e[n])}),t},B.clone=function(t){return B.isObject(t)?B.isArray(t)?t.slice():B.extend({},t):t},B.tap=function(t,e){return e(t),t};var S=function(t,e,n,r){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return t===e;t instanceof B&&(t=t._wrapped),e instanceof B&&(e=e._wrapped);var i=p.call(t);if(i!=p.call(e))return!1;switch(i){case"[object String]":return t==String(e);case"[object Number]":return t!=+t?e!=+e:0==t?1/t==1/e:t==+e;case"[object Date]":case"[object Boolean]":return+t==+e;case"[object RegExp]":return t.source==e.source&&t.global==e.global&&t.multiline==e.multiline&&t.ignoreCase==e.ignoreCase}if("object"!=typeof t||"object"!=typeof e)return!1;for(var o=n.length;o--;)if(n[o]==t)return r[o]==e;var u=t.constructor,a=e.constructor;if(u!==a&&!(B.isFunction(u)&&u instanceof u&&B.isFunction(a)&&a instanceof a)&&"constructor"in t&&"constructor"in e)return!1;n.push(t),r.push(e);var s=0,c=!0;if("[object Array]"==i){if(s=t.length,c=s==e.length)for(;s--&&(c=S(t[s],e[s],n,r)););}else{for(var l in t)if(B.has(t,l)&&(s++,!(c=B.has(e,l)&&S(t[l],e[l],n,r))))break;if(c){for(l in e)if(B.has(e,l)&&!s--)break;c=!s}}return n.pop(),r.pop(),c};B.isEqual=function(t,e){return S(t,e,[],[])},B.isEmpty=function(t){if(null==t)return!0;if(B.isArray(t)||B.isString(t))return 0===t.length;for(var e in t)if(B.has(t,e))return!1;return!0},B.isElement=function(t){return!(!t||1!==t.nodeType)},B.isArray=w||function(t){return"[object Array]"==p.call(t)},B.isObject=function(t){return t===Object(t)},U(["Arguments","Function","String","Number","Date","RegExp"],function(t){B["is"+t]=function(e){return p.call(e)=="[object "+t+"]"}}),B.isArguments(arguments)||(B.isArguments=function(t){return!(!t||!B.has(t,"callee"))}),"function"!=typeof/./&&(B.isFunction=function(t){return"function"==typeof t}),B.isFinite=function(t){return isFinite(t)&&!isNaN(parseFloat(t))},B.isNaN=function(t){return B.isNumber(t)&&t!=+t},B.isBoolean=function(t){return t===!0||t===!1||"[object Boolean]"==p.call(t)},B.isNull=function(t){return null===t},B.isUndefined=function(t){return void 0===t},B.has=function(t,e){return f.call(t,e)},B.noConflict=function(){return t._=r,this},B.identity=function(t){return t},B.constant=function(t){return function(){return t}},B.property=function(t){return function(e){return e[t]}},B.matches=function(t){return function(e){if(e===t)return!0;for(var n in t)if(t[n]!==e[n])return!1;return!0}},B.times=function(t,e,n){for(var r=Array(Math.max(0,t)),i=0;t>i;i++)r[i]=e.call(n,i);return r},B.random=function(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))},B.now=Date.now||function(){return(new Date).getTime()};var M={escape:{"&":"&","<":"<",">":">",'"':""","'":"'"}};M.unescape=B.invert(M.escape);var R={escape:new RegExp("["+B.keys(M.escape).join("")+"]","g"),unescape:new RegExp("("+B.keys(M.unescape).join("|")+")","g")};B.each(["escape","unescape"],function(t){B[t]=function(e){return null==e?"":(""+e).replace(R[t],function(e){return M[t][e]})}}),B.result=function(t,e){if(null==t)return void 0;var n=t[e];return B.isFunction(n)?n.call(t):n},B.mixin=function(t){U(B.functions(t),function(e){var n=B[e]=t[e];B.prototype[e]=function(){var t=[this._wrapped];return s.apply(t,arguments),F.call(this,n.apply(B,t))}})};var C=0;B.uniqueId=function(t){var e=++C+"";return t?t+e:e},B.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var A=/(.)^/,P={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},Y=/\\|'|\r|\n|\t|\u2028|\u2029/g;B.template=function(t,e,n){var r;n=B.defaults({},n,B.templateSettings);var i=new RegExp([(n.escape||A).source,(n.interpolate||A).source,(n.evaluate||A).source].join("|")+"|$","g"),o=0,u="__p+='";t.replace(i,function(e,n,r,i,a){return u+=t.slice(o,a).replace(Y,function(t){return"\\"+P[t]}),n&&(u+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'"),r&&(u+="'+\n((__t=("+r+"))==null?'':__t)+\n'"),i&&(u+="';\n"+i+"\n__p+='"),o=a+e.length,e}),u+="';\n",n.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(n.variable||"obj","_",u)}catch(a){throw a.source=u,a}if(e)return r(e,B);var s=function(t){return r.call(this,t,B)};return s.source="function("+(n.variable||"obj")+"){\n"+u+"}",s},B.chain=function(t){return B(t).chain()};var F=function(t){return this._chain?B(t).chain():t};B.mixin(B),U(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=o[t];B.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!=t&&"splice"!=t||0!==n.length||delete n[0],F.call(this,n)}}),U(["concat","join","slice"],function(t){var e=o[t];B.prototype[t]=function(){return F.call(this,e.apply(this._wrapped,arguments))}}),B.extend(B.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}}),"function"==typeof define&&define.amd&&define("underscore",[],function(){return B})}).call(this)},{}]},{},[11]); |