'},{name:"check",data:''},{name:"firewall",data:''},{name:"gateway",data:''},{name:"pc",data:''},{name:"printer",data:''},{name:"server",data:''},{name:"switch",data:''},{name:"touch",data:''}]}e.__name__=!0,e.prototype={__class__:e};function u(){}u.__name__=!0,u.string=function(t){return p.__string_rec(t,"")};var n=function(){};n.__name__=!0;function c(t,e,n){Error.call(this,t),this.message=t,this.__previousException=e,this.__nativeException=null!=n?n:this}c.__name__=n.__isInterface__=!0,c.thrown=function(t){return t instanceof c?t.get_native():t instanceof Error?t:new i(t)},c.__super__=Error,c.prototype=t(Error.prototype,{get_native:function(){return this.__nativeException},__class__:c});var i=function(t,e,n){c.call(this,String(t),e,n),this.value=t};i.__name__=!0,i.__super__=c,i.prototype=t(c.prototype,{__class__:i});function _(){this.length=0}_.__name__=!0,_.prototype={add:function(t){t=new s(t,null);null==this.h?this.h=t:this.q.next=t,this.q=t,this.length++},isEmpty:function(){return null==this.h},remove:function(t){for(var e=null,n=this.h;null!=n;){if(n.item==t)return null==e?this.h=n.next:e.next=n.next,this.q==n&&(this.q=e),this.length--,!0;n=(e=n).next}return!1},__class__:_};var s=function(t,e){this.item=t,this.next=e};s.__name__=!0,s.prototype={__class__:s};function f(){this.h=Object.create(null)}f.__name__=!0,f.__interfaces__=[n],f.prototype={__class__:f};n=function(t){this.current=0,this.array=t};n.__name__=!0,n.prototype={hasNext:function(){return this.current";var n=typeof t;switch(n="function"==n&&(t.__name__||t.__ename__)?"object":n){case"function":return"";case"object":if(t instanceof Array){var i="[";e+="\t";for(var s=0,h=t.length;sthis.connectedDevice.length},getEffectiveSubnet:function(){return null==this.subnet?"":this.subnet},checkSubnet:function(t,e){return null==e&&(e=!0),this.getEffectiveSubnet()==t.getEffectiveSubnet()||!!e&&t.checkSubnet(this,!1)},getSubnetName:function(){return this.getEffectiveSubnet()},__class__:m});function w(){m.call(this,"firewall",3)}w.__name__=!0,w.__super__=m,w.prototype=t(m.prototype,{checkSubnet:function(t,e){return null==e&&(e=!0),!0},__class__:w});function x(t){m.call(this,"gateway",1,t)}x.__name__=!0,x.__super__=m,x.prototype=t(m.prototype,{isOnline:function(){return!0},checkConnection:function(){return!0},__class__:x});function b(t){m.call(this,"pc",2,t)}b.__name__=!0,b.__super__=m,b.prototype=t(m.prototype,{__class__:b});function C(t){m.call(this,"printer",1,t)}C.__name__=!0,C.__super__=m,C.prototype=t(m.prototype,{__class__:C});function S(t){this.subnetUpdated=!1,this.updatingSubnet=!1,m.call(this,"switch",4,t)}S.__name__=!0,S.__super__=m,S.prototype=t(m.prototype,{resetConnection:function(){m.prototype.resetConnection.call(this),this.subnetUpdated=!1,this.effectiveSubnet=null},checkConnection:function(){return this.connectionChecking||this.connectionChecked||this.updateSubnet(),m.prototype.checkConnection.call(this)},updateSubnet:function(){if(this.updatingSubnet)return!1;if(this.subnetUpdated)return!0;this.updatingSubnet=!0;for(var t=this.connectedDevice.h;null!=t;){var e=t.item,t=t.next,e=e;e instanceof w||e instanceof S&&(!p.__cast(e,S).updateSubnet()||null==e.getEffectiveSubnet())||this.subnetUpdated||(this.effectiveSubnet=e.getEffectiveSubnet(),this.subnetUpdated=!0)}return!(this.updatingSubnet=!1)},getSubnetName:function(){return null==this.effectiveSubnet||0==this.effectiveSubnet.length?this.subnet:"~"+this.effectiveSubnet},getEffectiveSubnet:function(){return null==this.subnet?this.effectiveSubnet:m.prototype.getEffectiveSubnet.call(this)},checkSubnet:function(t,e){return null==e&&(e=!0),null==this.getEffectiveSubnet()||m.prototype.checkSubnet.call(this,t,e)},__class__:S});function k(t,e,n,i){null==i&&(i=0),null==n&&(n=0),this.a=new P(t=null==t?0:t,e=null==e?0:e),this.b=new P(n,i)}k.__name__=!0,k.prototype={__class__:k};function M(){}M.__name__=!0,M.check=function(t,e){var n=t.b.minus(t.a),i=e.b.minus(e.a),s=(-n.y*(t.a.x-e.a.x)+n.x*(t.a.y-e.a.y))/(-i.x*n.y+n.x*i.y),i=(i.x*(t.a.y-e.a.y)-i.y*(t.a.x-e.a.x))/(-i.x*n.y+n.x*i.y);return 0<=s&&s<=1&&0<=i&&i<=1?new P(t.a.x+i*n.x,t.a.y+i*n.y):null};var P=function(t,e){null==e&&(e=0),this.x=t=null==t?0:t,this.y=e};P.__name__=!0,P.prototype={set:function(t,e){this.x=t,this.y=e},minus:function(t){return new P(this.x-t.x,this.y-t.y)},__class__:P};var L=function(t,e,n){null==n&&(n=5),r.call(this),this.cell=new _,this.hCell=t,this.vCell=e,this.cellPad=n};L.__name__=!0,L.__super__=r,L.prototype=t(r.prototype,{addCell:function(t,e,n,i,s){this.cell.add({x:t,y:e,w:n,h:i,e:s})},update:function(t,e){r.prototype.update.call(this,t,e);for(var n=this.width/this.hCell,i=this.height/this.vCell,s=this.cell.h;null!=s;){var h=s.item,s=s.next,h=h;h.e.x=this.x+n*h.x+this.cellPad,h.e.y=this.y+i*h.y+this.cellPad,h.e.width=n*h.w-2*this.cellPad,h.e.height=i*h.h-2*this.cellPad,h.e.update(t,e)}},getEntityAt:function(t,e){var n=t-this.x,i=e-this.y;if(n<0||n>this.width||i<0||i>this.height)return null;t=this.width/this.hCell,e=this.height/this.vCell,t=Math.floor(n/t),e=Math.floor(i/e),e=this.getCell(t,e);return null==e?null:e.e},getCell:function(t,e){for(var n=this.cell.h;null!=n;){var i=n.item,n=n.next;if(t>=i.x&&t=i.y&&e