biojs-vis-pdbviewer
Version:
A BioJS 2.0 component to view protein structures
87 lines (86 loc) • 43.9 kB
JavaScript
(function(O,P,Q,E,R,F,n,I,K,L,M,N,S,u,y,T,q,U,V,W,X,Y,Z,$,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa,Ba,Ca,Da,Ea,l,t){F("JS");I(["JS.JmolMathExtension"],"JS.MathExt","java.lang.Float java.util.Date JU.AU $.BS $.CU $.Lst $.M3 $.M4 $.Measure $.P3 $.P4 $.PT $.Quat $.SB $.V3 J.api.Interface J.atomdata.RadiusData J.c.VDW J.i18n.GT JM.BondSet JS.SV $.ScriptParam $.T JU.BSUtil $.Escape $.JmolMolecule $.Logger $.Parser $.Point3fi $.Txt".split(" "),function(){c$=L(function(){this.pm=
this.e=this.vwr=null;K(this,arguments)},JS,"MathExt",null,JS.JmolMathExtension);N(c$,function(){});t(c$,"init",function(d){this.e=d;this.vwr=this.e.vwr;return this},"~O");t(c$,"evaluate",function(d,a,b,c){switch(c){case 135266826:case 135266819:case 135266821:case 135266318:case 135266820:case 135266822:return this.evaluateMath(d,b,c);case 1276118017:case 1276117504:case 1276117507:case 1276117508:case 1276117511:case 1276384259:case 1276383249:return this.evaluateList(d,a.intValue,b);case 135266306:case 269484096:return this.evaluateArray(d,
b,269484096==c);case 135266307:case 135270418:return this.evaluateQuaternion(d,b,c);case 1276118529:return this.evaluateBin(d,b);case 135270423:return this.evaluateCache(d,b);case 1276117514:case 1276117515:return this.evaluateRowCol(d,b,c);case 1766856708:return this.evaluateColor(d,b);case 135270405:return this.evaluateCompare(d,b);case 135266310:return this.evaluateConnected(d,b);case 135402505:return this.evaluateContact(d,b);case 135267329:return this.evaluateCross(d,b);case 135270408:return this.evaluateData(d,
b);case 1276118018:case 1276117505:if(269484241==a.tok)return this.evaluateDot(d,b,c,a.intValue);case 135266305:case 1746538509:return this.evaluateMeasure(d,b,a.tok);case 1229984263:case 135271426:return this.evaluateLoad(d,b,1229984263==c);case 1276118531:return this.evaluateFind(d,b);case 1288701959:case 1826248716:return this.evaluateFormat(d,a.intValue,b,1288701959==c);case 135368713:return this.evaluateUserFunction(d,a.value,b,a.intValue,269484241==a.tok);case 1276121098:return this.evaluateGetProperty(d,
b,269484241==a.tok);case 137363467:return this.evaluateHelix(d,b);case 135267841:case 135266319:case 135267842:return this.evaluatePlane(d,b,c);case 135266829:case 135287308:case 135271429:case 135270926:return this.evaluateScript(d,b,c);case 1276117506:case 1276117510:case 1276117512:return this.evaluateString(d,a.intValue,b);case 135266320:return this.evaluatePoint(d,b);case 135304707:return this.evaluatePrompt(d,b);case 135267332:return this.evaluateRandom(d,b);case 1276116993:return this.evaluateIn(d,
b);case 1276120578:return this.evaluateReplace(d,b);case 135267335:case 135267336:case 1238369286:return this.evaluateSubstructure(d,b,c);case 1276121113:return this.evaluateModulation(d,b);case 1276117011:case 1276117012:return this.evaluateSort(d,b,c);case 1297090050:return this.evaluateSymop(d,b,269484241==a.tok);case 1276117016:return this.evaluateTensor(d,b);case 135266325:return this.evaluateWithin(d,b);case 135270422:return this.evaluateWrite(d,b)}return!1},"JS.ScriptMathProcessor,JS.T,~A,~N");
l(c$,"evaluateArray",function(d,a,b){var c=a.length;if(b&&(4==c||3==c)){var e=!0;for(b=0;b<c&&e;b++)e=7==a[b].tok&&a[b].getList().size()==c;if(e){var f=q(c*c,0),g=0;for(b=0;b<c&&e;b++)for(var h=a[b].getList(),j=0;j<c;j++){var k=JS.SV.fValue(h.get(j));if(Float.isNaN(k)){e=!1;break}f[g++]=k}if(e)return 3==c?d.addXM3(JU.M3.newA9(f)):d.addXM4(JU.M4.newA16(f))}}c=Array(a.length);for(b=c.length;0<=--b;)c[b]=JS.SV.newT(a[b]);return d.addXAV(c)},"JS.ScriptMathProcessor,~A,~B");l(c$,"evaluateBin",function(d,
a){if(3!=a.length)return!1;var b=d.getX(),c=13==b.tok;if(!c&&7!=b.tok)return d.addX(b);var e=JS.SV.fValue(a[0]),f=JS.SV.fValue(a[1]),g=JS.SV.fValue(a[2]);if(c)b=b.value;else for(var h=b.getList(),b=q(h.size(),0),c=h.size();0<=--c;)b[c]=JS.SV.fValue(h.get(c));for(var f=Math.max(E(Math.floor((f-e)/g+0.01)),1),h=y(f,0),j=b.length,c=0;c<j;c++){var k=E(Math.floor((b[c]-e)/g));0>k?k=0:k>=f&&(k=f-1);h[k]++}return d.addXAI(h)},"JS.ScriptMathProcessor,~A");l(c$,"evaluateCache",function(d,a){return 0<a.length?
!1:d.addXMap(this.vwr.cacheList())},"JS.ScriptMathProcessor,~A");l(c$,"evaluateColor",function(d,a){var b=0<a.length?JS.SV.sValue(a[0]):"",c=b.startsWith("$");if(2==a.length&&b.equalsIgnoreCase("TOHSL"))return d.addXPt(JU.CU.rgbToHSL(JU.P3.newP(8==a[1].tok?JS.SV.ptValue(a[1]):JU.CU.colorPtFromString(a[1].asString(),new JU.P3)),!0));if(2==a.length&&b.equalsIgnoreCase("TORGB")){var e=JU.P3.newP(8==a[1].tok?JS.SV.ptValue(a[1]):JU.CU.colorPtFromString(a[1].asString(),new JU.P3));return d.addXPt(8==a[1].tok?
JU.CU.hslToRGB(e):e)}if(4==a.length&&(1048589==a[3].tok||1048588==a[3].tok)){var e=JU.P3.newP(8==a[0].tok?JS.SV.ptValue(a[0]):JU.CU.colorPtFromString(a[0].asString(),new JU.P3)),f=JU.P3.newP(8==a[1].tok?JS.SV.ptValue(a[1]):JU.CU.colorPtFromString(a[1].asString(),new JU.P3)),g=1048589==a[3].tok;g&&(e=JU.CU.rgbToHSL(e,!1),f=JU.CU.rgbToHSL(f,!1));var h=new JU.SB,f=JU.V3.newVsub(f,e),j=a[2].asInt();2>j&&(j=20);f.scale(1/(j-1));for(b=0;b<j;b++)h.append(JU.Escape.escapeColor(JU.CU.colorPtToFFRGB(g?JU.CU.hslToRGB(e):
e))),e.add(f);return d.addXStr(h.toString())}f=c?null:this.vwr.cm.getColorEncoder(b);if(!c&&null==f)return d.addXStr("");e=1<a.length?JS.SV.fValue(a[1]):3.4028235E38;j=2<a.length?JS.SV.fValue(a[2]):3.4028235E38;g=3<a.length?JS.SV.fValue(a[3]):3.4028235E38;h=3.4028235E38!=g||3.4028235E38!=e&&3.4028235E38==j;3.4028235E38==j&&0==b.length&&(g=e,j=this.vwr.getCurrentColorRange(),e=j[0],j=j[1]);if(c){f=[b.substring(1),null];if(!this.vwr.shm.getShapePropertyData(24,"colorEncoder",f))return d.addXStr("");
f=f[1]}else f.setRange(e,j,e>j);b=f.getColorKey();return h?d.addXPt(JU.CU.colorPtFromInt(f.getArgb(3.4028235E38==j?e:g),null)):d.addX(JS.SV.getVariableMap(b))},"JS.ScriptMathProcessor,~A");l(c$,"evaluateCompare",function(d,a){if(2>a.length||5<a.length)return!1;var b,c=JS.SV.sValue(a[a.length-1]),e=c.equalsIgnoreCase("stddev"),f=c.equalsIgnoreCase("ISOMER"),g=c.equalsIgnoreCase("BONDS"),h=!f&&a.length>(e?3:2),j=10==a[0].tok?a[0].value:null,k=10==a[1].tok?a[1].value:null,p=null==j?JS.SV.sValue(a[0]):
"",m=null==k?JS.SV.sValue(a[1]):"",r=new JU.M4;b=NaN;var l,w;if(h&&(null==j||null==k))return!1;if(g){if(4!=a.length)return!1;p=JS.SV.sValue(a[2]);h=p.equalsIgnoreCase("SMILES");try{h&&(p=this.vwr.getSmiles(j))}catch(n){if(u(n,Exception))this.e.evalError(n.getMessage(),null);else throw n;}var s=this.e.getSmilesExt().getFlexFitList(j,k,p,!h);return null==s?d.addXStr(""):d.addXAF(s)}try{if(f){if(3!=a.length)return!1;if(null==j&&null==k)return d.addXStr(this.vwr.getSmilesMatcher().getRelationship(p,m).toUpperCase());
var q=null==j?this.vwr.getSmilesMatcher().getMolecularFormula(p,!1):JU.JmolMolecule.getMolecularFormula(this.vwr.ms.at,j,!1),t=null==k?this.vwr.getSmilesMatcher().getMolecularFormula(m,!1):JU.JmolMolecule.getMolecularFormula(this.vwr.ms.at,k,!1);if(!q.equals(t))return d.addXStr("NONE");null!=j&&(p=this.e.getSmilesExt().getSmilesMatches("",null,j,null,!1,!0));var x;x=null==k?0<this.vwr.getSmilesMatcher().areEqual(m,p):0<=this.e.getSmilesExt().getSmilesMatches(p,null,k,null,!1,!0).nextSetBit(0);if(!x){l=
p+m;if(0<=l.indexOf("/")||0<=l.indexOf("\\")||0<=l.indexOf("@")){if(0<=p.indexOf("@")&&(null!=k||0<=m.indexOf("@")))if(p=this.vwr.getSmilesMatcher().reverseChirality(p),x=null==k?0<this.vwr.getSmilesMatcher().areEqual(p,m):0<=this.e.getSmilesExt().getSmilesMatches(p,null,k,null,!1,!0).nextSetBit(0))return d.addXStr("ENANTIOMERS");null==k?x=0<this.vwr.getSmilesMatcher().areEqual("/nostereo/"+m,p):(s=this.e.getSmilesExt().getSmilesMatches("/nostereo/"+p,null,k,null,!1,!0),x=0<=s.nextSetBit(0));if(x)return d.addXStr("DIASTERIOMERS")}return d.addXStr("CONSTITUTIONAL ISOMERS")}if(null==
j||null==k)return d.addXStr("IDENTICAL");b=this.e.getSmilesExt().getSmilesCorrelation(j,k,p,null,null,null,null,!1,!1,null,null,!1,!1);return d.addXStr(0.2>b?"IDENTICAL":"IDENTICAL or CONFORMATIONAL ISOMERS (RMSD="+b+")")}if(h){l=new JU.Lst;w=new JU.Lst;var c=JS.SV.sValue(a[2]),B=c.equalsIgnoreCase("MAP"),h=c.equalsIgnoreCase("SMILES"),y=B||c.equalsIgnoreCase("SMARTS");if(h||y)c=3<a.length?JS.SV.sValue(a[3]):null;var G="H".equals(c)||"allH".equals(c)||"bestH".equals(c),z="all".equals(c)||"allH".equals(c),
C="best".equals(c)||"bestH".equals(c);if(null==c||G||z||C)if(B||h)c="/noaromatic"+(z||C?"/":" nostereo/")+this.e.getSmilesExt().getSmilesMatches(G?"H":"",null,j,null,!1,!0);else return!1;else z=!0;b=this.e.getSmilesExt().getSmilesCorrelation(j,k,c,l,w,r,null,!h,B,null,null,!z&&!C,C);if(B){var D=l.size();if(0==D)return d.addXStr("");for(var F=E(w.size()/D),s=new JU.Lst,p=k=0;k<F;k++){var H=JU.AU.newInt2(D);s.addLast(H);for(m=0;m<D;m++,p++)H[m]=[l.get(m).i,w.get(p).i]}return!z?0<s.size()?d.addXAII(s.get(0)):
d.addXStr(""):d.addXList(s)}}else l=this.e.getPointVector(a[0],0),w=this.e.getPointVector(a[1],0),null!=l&&null!=w&&(b=JU.Measure.getTransformMatrix4(l,w,r,null));return e||Float.isNaN(b)?d.addXFloat(b):d.addXM4(r)}catch(A){if(u(A,Exception))return this.e.evalError(null==A.getMessage()?A.toString():A.getMessage(),null),!1;throw A;}},"JS.ScriptMathProcessor,~A");l(c$,"evaluateConnected",function(d,a){if(5<a.length)return!1;for(var b=-2147483648,c=2147483647,e=0,f=3.4028235E38,g=65535,h=null,j=null,
k=!1,p=!1,m=0;m<a.length;m++){var l=a[m];switch(l.tok){case 10:if((p=n(l.value,JM.BondSet))&&null!=h)return!1;if(null==h)h=JS.SV.bsSelectVar(l);else if(null==j)j=JS.SV.bsSelectVar(l);else return!1;break;case 4:g=JS.SV.sValue(l);g=g.equalsIgnoreCase("hbond")?30720:JS.ScriptParam.getBondOrderFromString(g);if(131071==g)return!1;break;case 3:k=!0;default:var v=l.asInt(),l=l.asFloat();if(2147483647!=c)return!1;-2147483648==b?(b=Math.max(v,0),e=l):(c=v,f=l)}}-2147483648==b?(b=1,c=100,e=0.1,f=1E8):2147483647==
c&&(c=b,f=e,e=0.1);null==h&&(h=this.vwr.getAllAtoms());k&&null==j&&(j=h);return null!=j?(b=new JU.BS,this.vwr.makeConnections(e,f,g,1087373321,h,j,b,p,!1,0),d.addX(JS.SV.newV(10,new JM.BondSet(b,this.vwr.ms.getAtomIndices(this.vwr.ms.getAtoms(1678770178,b)))))):d.addXBs(this.vwr.ms.getAtomsConnected(b,c,g,h))},"JS.ScriptMathProcessor,~A");l(c$,"evaluateContact",function(d,a){if(1>a.length||3<a.length)return!1;var b=0,c=100;switch(a[0].tok){case 3:case 2:c=JS.SV.fValue(a[b++]);break;case 10:break;
default:return!1}if(b==a.length||!n(a[b].value,JU.BS))return!1;var e=JU.BSUtil.copy(JS.SV.bsSelectVar(a[b++])),b=b<a.length?JU.BSUtil.copy(JS.SV.bsSelectVar(a[b])):null,c=new J.atomdata.RadiusData(null,10<c?c/100:c,10<c?J.atomdata.RadiusData.EnumType.FACTOR:J.atomdata.RadiusData.EnumType.OFFSET,J.c.VDW.AUTO),b=this.setContactBitSets(e,b,!0,NaN,c,!1);b.or(e);return d.addXBs(b)},"JS.ScriptMathProcessor,~A");l(c$,"evaluateCross",function(d,a){if(2!=a.length)return!1;var b=a[0],c=a[1];if(8!=b.tok||8!=
c.tok)return!1;b=JU.V3.newV(b.value);c=JU.V3.newV(c.value);b.cross(b,c);return d.addXPt(JU.P3.newP(b))},"JS.ScriptMathProcessor,~A");l(c$,"evaluateData",function(d,a){if(1!=a.length&&2!=a.length&&4!=a.length)return!1;var b=JS.SV.sValue(a[0]),c=2==a.length?JS.SV.sValue(a[1]):"";if(4==a.length){var c=a[1].asInt(),e=a[2].asInt(),f=a[3].asInt(),b=JU.Parser.parseFloatArrayFromMatchAndField(b,null,0,0,null,c,e,null,f);return d.addXStr(JU.Escape.escapeFloatA(b,!1))}if(0==b.indexOf("data2d_"))return b=this.vwr.getDataFloat2D(b),
null==b?d.addXStr(""):2==a.length&&2==a[1].tok?(c=a[1].intValue,0>c&&(c+=b.length),0<=c&&c<b.length?d.addXStr(JU.Escape.escapeFloatA(b[c],!1)):d.addXStr("")):d.addXStr(JU.Escape.escapeFloatAA(b,!1));if(0==b.indexOf("property_")){b=this.vwr.getDataFloat(b);if(null==b)return d.addXStr("");c=0==c.indexOf("property_")?this.vwr.getDataFloat(c):null;if(null!=c){b=JU.AU.arrayCopyF(b,-1);for(e=Math.min(b.length,c.length);0<=--e;)b[e]+=c[e]}return d.addXStr(JU.Escape.escapeFloatA(b,!1))}return 1==a.length?
(b=this.vwr.getData(b),d.addXStr(null==b?"":""+b[1])):d.addXStr(this.vwr.getData(b,c))},"JS.ScriptMathProcessor,~A");l(c$,"evaluateDot",function(d,a,b,c){switch(a.length){case 1:if(1276117505==b)return!1;case 2:break;default:return!1}var e=d.getX(),f=a[0],g=7==f.tok?null:d.ptValue(f,!1),h=d.planeValue(f);if(1276118018==b){var j=c&480,k=32==j||64==j,p=480==j;switch(e.tok){case 10:var l=JS.SV.bsSelectVar(e),r=null;a=k&&2==a.length&&a[1].asBoolean();switch(f.tok){case 10:r=10==f.tok?JS.SV.bsSelectVar(f):
null;case 8:b=this.vwr.ms.at;if(a){p=NaN;f=2147483647;for(k=l.nextSetBit(0);0<=k;k=l.nextSetBit(k+1))if(a=null==r?b[k].distanceSquared(g):this.e.getBitsetProperty(r,c,b[k],h,e.value,null,!1,e.index,!1).floatValue(),!(32==j?a>=p:a<=p))p=a,f=k;return d.addXBs(2147483647==f?new JU.BS:JU.BSUtil.newAndSetBit(f))}if(p){if(null==r){p=q(l.cardinality(),0);j=0;for(k=l.nextSetBit(0);0<=k;k=l.nextSetBit(k+1),j++)p[j]=b[k].distance(g);return d.addXAF(p)}c=q(l.cardinality(),r.cardinality(),0);j=0;for(k=l.nextSetBit(0);0<=
k;k=l.nextSetBit(k+1),j++){e=0;for(g=r.nextSetBit(0);0<=g;g=r.nextSetBit(g+1),e++)c[j][e]=b[k].distance(b[g])}return d.addXAFF(c)}if(k){p=q(l.cardinality(),0);k=l.nextSetBit(0);for(j=0;0<=k;k=l.nextSetBit(k+1))p[j++]=this.e.getBitsetProperty(r,c,b[k],h,e.value,null,!1,e.index,!1).floatValue();return d.addXAF(p)}return d.addXObj(this.e.getBitsetProperty(l,c,g,h,e.value,null,!1,e.index,!1))}}}return d.addXFloat(this.getDistance(d,e,f,b))},"JS.ScriptMathProcessor,~A,~N,~N");l(c$,"evaluateHelix",function(d,
a){if(1>a.length||5<a.length)return!1;var b=2<a.length?3:1,c=b>=a.length?"array":JS.SV.sValue(a[b]),b=JS.T.getTokFromName(c);if(2<a.length){var e=d.ptValue(a[0],!0),f=d.ptValue(a[1],!0);if(0==b||9!=a[2].tok)return!1;var g=JU.Quat.newP4(a[2].value),g=JU.Measure.computeHelicalAxis(e,f,g);return null==g?!1:d.addXObj(JU.Escape.escapeHelical(c,b,e,f,g))}c=n(a[0].value,JU.BS)?a[0].value:this.vwr.ms.getAtoms(1095761939,new Integer(a[0].asInt()));switch(b){case 135266320:return d.addXObj(this.getHelixData(c,
135266320));case 1073741854:return d.addXObj(this.getHelixData(c,1073741854));case 1666189314:return d.addXObj(this.getHelixData(c,1666189314));case 135266305:return d.addXFloat(this.getHelixData(c,135266305).floatValue());case 135176:case 1746538509:return d.addXObj(this.getHelixData(c,b));case 135266306:g=this.getHelixData(c,1073742001);if(null==g)break;return d.addXAS(g)}return!1},"JS.ScriptMathProcessor,~A");l(c$,"getHelixData",function(d,a){var b=d.nextSetBit(0);return 0>b?"null":this.vwr.ms.at[b].group.getHelixData(a,
this.vwr.getQuaternionFrame(),this.vwr.getInt(553648146))},"JU.BS,~N");l(c$,"evaluateFind",function(d,a){if(0==a.length)return!1;var b=d.getX(),c=JS.SV.sValue(a[0]),e=1<a.length&&1048589!=a[1].tok&&1048588!=a[1].tok?JS.SV.sValue(a[1]):"",f=c.equalsIgnoreCase("SEQUENCE"),g=c.equalsIgnoreCase("SMILES"),h=c.equalsIgnoreCase("SMARTS"),j=c.equalsIgnoreCase("CHEMICAL"),k=c.equalsIgnoreCase("MF");try{if(j){var l=10==b.tok?this.vwr.getSmiles(JS.SV.getBitSet(b,!1)):JS.SV.sValue(b),l=0==l.length?"":this.vwr.getChemicalInfo(l,
1<a.length?JS.T.getTokenFromName(e.toLowerCase()):null);l.endsWith("\n")&&(l=l.substring(0,l.length-1));l.startsWith("InChI")&&(l=JU.PT.rep(JU.PT.rep(l,"InChI=",""),"InChIKey=",""));return d.addXStr(l)}if(g||h||10==b.tok){var j=g||h?2:1,m=j<a.length&&10==a[j].tok?a[j++].value:null,r="bonds".equalsIgnoreCase(JS.SV.sValue(a[a.length-1])),v=r||1048589==a[a.length-1].tok,j=null;switch(b.tok){case 4:var n=JS.SV.sValue(b);if(null!=m)return!1;j=e.equalsIgnoreCase("mf")?this.vwr.getSmilesMatcher().getMolecularFormula(n,
h):this.e.getSmilesExt().getSmilesMatches(e,n,null,null,h,!v);break;case 10:if(k)return d.addXStr(JU.JmolMolecule.getMolecularFormula(this.vwr.ms.at,b.value,!1));if(f)return d.addXStr(this.vwr.getSmilesOpt(b.value,-1,-1,!1,!0,v,v,!1));if(g||h)c=e;if(r)var q=this.vwr.getSmilesMatcher().getCorrelationMaps(c,this.vwr.ms.at,this.vwr.getAtomCount(),b.value,!g,!0),j=0<q.length?this.vwr.getDihedralMap(q[0]):y(0,0);else j=this.e.getSmilesExt().getSmilesMatches(c,null,b.value,m,!g,!v)}null==j&&this.e.invArg();
return d.addXObj(j)}}catch(s){if(u(s,Exception))this.e.evalError(s.getMessage(),null);else throw s;}f=0<=e.indexOf("v");k=0<=e.indexOf("i");e=0<=e.indexOf("m");g=7==b.tok;h=2==a.length;if(g||h){m=this.getPatternMatcher();h=null;try{h=m.compile(c,k)}catch(t){if(u(t,Exception))this.e.evalError(t.toString(),null);else throw t;}b=JS.SV.strListValue(b);JU.Logger.debugging&&JU.Logger.debug("finding "+c);c=new JU.BS;k=v=0;n=null;m=e?new JU.Lst:null;for(r=0;r<b.length;r++)if(q=b[r],n=h.matcher(q),j=n.find(),
e&&j||!e&&j==!f)k++,v=r,c.set(r),e&&m.addLast(f?q.substring(0,n.start())+q.substring(n.end()):n.group());if(!g)return e?d.addXStr(1==m.size()?m.get(0):""):f?d.addXBool(1==k):e?d.addXStr(0==k?"":n.group()):d.addXInt(0==k?0:n.start()+1);if(1==k)return d.addXStr(e?m.get(0):b[v]);f=Array(k);if(0<k)for(r=b.length;0<=--r;)c.get(r)&&(--k,f[k]=e?m.get(k):b[r]);return d.addXAS(f)}return d.addXInt(JS.SV.sValue(b).indexOf(c)+1)},"JS.ScriptMathProcessor,~A");l(c$,"evaluateGetProperty",function(d,a,b){var c=0,
e=0==a.length?0:a[0].tok;if(2==a.length&&(7==e||6==e||14==e))return d.addXObj(this.vwr.extractProperty(a[0].value,a[1].value.toString(),-1));var e=0<a.length?JS.SV.sValue(a[c++]):"",f=e.toLowerCase();0>f.indexOf("[select ")&&(e=f);f=!1;e.equals("json")&&a.length>c&&(f=!0,e=JS.SV.sValue(a[c++]));e.startsWith("$");b&&!e.equalsIgnoreCase("bondInfo")&&(e="atomInfo."+e);var g="";if(e.equalsIgnoreCase("fileContents")&&2<a.length){c=JS.SV.sValue(a[1]);for(g=2;g<a.length;g++)c+="|"+JS.SV.sValue(a[g]);g=c;
c=a.length}else if(a.length>c)switch(a[c].tok){case 10:g=JS.SV.bsSelectVar(a[c++]);e.equalsIgnoreCase("bondInfo")&&(a.length>c&&10==a[c].tok)&&(g=[g,JS.SV.bsSelectVar(a[c])]);break;case 4:this.vwr.checkPropertyParameter(e)&&(g=a[c++].value)}if(b){g=d.getX();if(10!=g.tok)return!1;g=JS.SV.bsSelectVar(g).nextSetBit(0);if(0>g)return d.addXStr("");g=JU.BSUtil.newAndSetBit(g)}g=this.vwr.getProperty(null,e,g);c<a.length&&(g=this.vwr.extractProperty(g,a,c));b&&n(g,JU.Lst)&&(g=0<g.size()?g.get(0):"");return d.addXObj(f?
"{"+JU.PT.toJSON("value",g)+"}":JS.SV.isVariableType(g)?g:JU.Escape.toReadable(e,g))},"JS.ScriptMathProcessor,~A,~B");l(c$,"evaluateFormat",function(d,a,b,c){var e=2>b.length?d.getX():null,f=0==b.length?"%U":JS.SV.sValue(b[0]);if(null==e){e=c?-1:JS.SV.getFormatType(f);if(0<=e&&2!=b.length)return!1;if(0<=e||2>b.length||7!=b[1].tok)return d.addXObj(JS.SV.format(b,e));f=b[1].getList();b=[b[0],null];a=Array(f.size());for(c=a.length;0<=--c;)b[1]=f.get(c),a[c]=JS.SV.format(b,e).toString();return d.addXAS(a)}b=
JS.SV.getBitSet(e,!0);a=JS.T.tokAttr(a,480);return d.addXObj(null==b?JS.SV.sprintf(JU.Txt.formatCheck(f),e):this.e.getCmdExt().getBitsetIdent(b,f,e.value,!0,e.index,a))},"JS.ScriptMathProcessor,~N,~A,~B");l(c$,"evaluateList",function(d,a,b){var c=b.length,e=d.getX(),f=7==e.tok;switch(a){case 1276384259:return 2==c&&d.addX(e.pushPop(b[1],b[0]))||1==c&&d.addX(e.pushPop(b[0],null));case 1276383249:return 1==c&&d.addX(e.pushPop(null,b[0]))||0==c&&d.addX(e.pushPop(null,null));case 1276118017:if(1!=c&&
2!=c)return!1;break;case 1276117506:break;default:if(1!=c)return!1}var g=null,h=null,j=null;if(2==c){var c=4==b[0].tok?0:1,k=JS.SV.sValue(b[c]),g=f?JS.SV.strListValue(e):JU.PT.split(JS.SV.sValue(e),"\n");b=b[1-c];h=7==b.tok?JS.SV.strListValue(b):JU.PT.split(JS.SV.sValue(b),"\n");j=Array(c=Math.max(g.length,h.length));for(e=0;e<c;e++)j[e]=(e>=g.length?"":g[e])+k+(e>=h.length?"":h[e]);return d.addXAS(j)}b=0==c?JS.SV.newV(1048579,"all"):b[0];var l=1048579==b.tok;if(!f&&4!=e.tok)return d.binaryOp(this.opTokenFor(a),
e,b);var j=JS.SV.isScalar(e),m=JS.SV.isScalar(b),r=null,n=null,k=e.getList(),w=b.getList();f?c=k.size():j?c=2147483647:(g=JU.PT.split(JS.SV.sValue(e),"\n"),r=q(c=g.length,0),JU.PT.parseFloatArrayData(g,r));if(l&&1276117506!=a){g=0;if(f)for(e=c;0<=--e;)g+=JS.SV.fValue(k.get(e));else if(!j)for(e=c;0<=--e;)g+=r[e];return d.addXFloat(g)}if(1276117506==a&&4==b.tok){f=new JU.SB;if(j)f.append(JS.SV.sValue(e));else{g=l?"":b.value.toString();for(e=0;e<c;e++)f.append(0<e?g:"").append(JS.SV.sValue(k.get(e)))}return d.addXStr(f.toString())}var t=
null;m?t=b:7==b.tok?c=Math.min(c,w.size()):(h=JU.PT.split(JS.SV.sValue(b),"\n"),n=q(h.length,0),JU.PT.parseFloatArrayData(h,n),c=Math.min(c,n.length));var s=this.opTokenFor(a),u=Array(c);if(f&&l)return c=new JU.Lst,d.addXList(this.addAllLists(e.getList(),c));for(var l=j?e:null,y,e=0;e<c;e++){y=m?t:7==b.tok?w.get(e):Float.isNaN(n[e])?JS.SV.getVariable(JS.SV.unescapePointOrBitsetAsVariable(h[e])):JS.SV.newV(3,Float.$valueOf(n[e]));j||(l=f?k.get(e):Float.isNaN(r[e])?JS.SV.getVariable(JS.SV.unescapePointOrBitsetAsVariable(g[e])):
JS.SV.newV(3,Float.$valueOf(r[e])));if(1276117506==a&&7!=l.tok){var x=new JU.Lst;x.addLast(l);l=JS.SV.getVariableList(x)}if(!d.binaryOp(s,l,y))return!1;u[e]=d.getX()}return d.addXAV(u)},"JS.ScriptMathProcessor,~N,~A");l(c$,"addAllLists",function(d,a){for(var b=d.size(),c=0;c<b;c++){var e=d.get(c);7==e.tok?this.addAllLists(e.getList(),a):a.addLast(e)}return a},"JU.Lst,JU.Lst");l(c$,"evaluateLoad",function(d,a,b){if(2<a.length||1>a.length)return!1;var c=JS.SV.sValue(a[0]),c=c.$replace("\\","/"),e=2==
a.length?a[1].asInt():-1;if(2==a.length&&1048589==a[1].tok)return d.addXMap(this.vwr.getFileAsMap(c));if(this.vwr.isJS&&c.startsWith("?")){if(b)return d.addXStr("");c=this.e.loadFileAsync("load()_",c,d.oPt,!0)}return d.addXStr(b?this.vwr.getFilePath(c,!1):this.vwr.getFileAsString4(c,e,!1,!1,!0))},"JS.ScriptMathProcessor,~A,~B");l(c$,"evaluateMath",function(d,a,b){if(135266318==b)return 1==a.length&&4==a[0].tok?d.addXStr(new java.util.Date+"\t"+JS.SV.sValue(a[0])):d.addXInt((System.currentTimeMillis()&
2147483647)-(0==a.length?0:a[0].asInt()));if(1!=a.length)return!1;if(135266826==b)return 2==a[0].tok?d.addXInt(Math.abs(a[0].asInt())):d.addXFloat(Math.abs(a[0].asFloat()));a=JS.SV.fValue(a[0]);switch(b){case 135266819:return d.addXFloat(180*Math.acos(a)/3.141592653589793);case 135266821:return d.addXFloat(Math.cos(3.141592653589793*a/180));case 135266820:return d.addXFloat(Math.sin(3.141592653589793*a/180));case 135266822:return d.addXFloat(Math.sqrt(a))}return!1},"JS.ScriptMathProcessor,~A,~N");
l(c$,"evaluateMeasure",function(d,a,b){var c=0;switch(b){case 1746538509:b=new JU.Lst;for(var e=[3.4028235E38,3.4028235E38],f=null,g=null,h=!1,j=!1,k=0,l=!1,m=null,n=0,q=3.4028235E38,t=!1,u=!1,m=0;m<a.length;m++)switch(a[m].tok){case 10:var s=a[m].value;0==s.length()&&(l=!0);b.addLast(s);c++;n++;break;case 8:s=new JU.Point3fi;s.setT(a[m].value);b.addLast(s);c++;break;case 2:case 3:e[k++%2]=JS.SV.fValue(a[m]);break;case 4:s=JS.SV.sValue(a[m]);s.equalsIgnoreCase("vdw")||s.equalsIgnoreCase("vanderwaals")?
q=(m+1<a.length&&2==a[m+1].tok?a[++m].asInt():100)/100:s.equalsIgnoreCase("notConnected")?j=!0:s.equalsIgnoreCase("connected")?h=!0:s.equalsIgnoreCase("minArray")?t=1<=n:s.equalsIgnoreCase("asArray")?u=1<=n:JU.PT.isOneOf(s.toLowerCase(),";nm;nanometers;pm;picometers;angstroms;ang;au;")||s.endsWith("hz")?g=s.toLowerCase():f=c+":"+s;break;default:return!1}if(2>c||4<c||2<k||j&&h)return!1;if(l||3.4028235E38!=q&&(2!=n||2!=c))return d.addXStr("");m=3.4028235E38==q?new J.atomdata.RadiusData(e,0,null,null):
new J.atomdata.RadiusData(null,q,J.atomdata.RadiusData.EnumType.FACTOR,J.c.VDW.AUTO);return d.addXObj(this.vwr.newMeasurementData(null,b).set(0,null,m,f,g,null,h,j,null,!0,0,0,null).getMeasurements(u,t));case 135266305:if(3!=(c=a.length)&&4!=c)return!1;break;default:if(2!=(c=a.length))return!1}b=Array(c);for(m=0;m<c;m++)b[m]=d.ptValue(a[m],!0);switch(c){case 2:return d.addXFloat(b[0].distance(b[1]));case 3:return d.addXFloat(JU.Measure.computeAngleABC(b[0],b[1],b[2],!0));case 4:return d.addXFloat(JU.Measure.computeTorsion(b[0],
b[1],b[2],b[3],!0))}return!1},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluateModulation",function(d,a){var b="D",c=NaN,e=null,f=-1;switch(a.length){case 0:break;case 1:f=0;break;case 2:b=JS.SV.sValue(a[0]).toUpperCase();c=JS.SV.fValue(a[1]);break;default:return!1}0<=f&&(8==a[f].tok?e=a[f].value:c=JS.SV.fValue(a[f]));null==e&&1E6>c&&(e=JU.P3.new3(c,c,c));c=JS.SV.getBitSet(d.getX(),!1);return d.addXList(this.vwr.ms.getModulationList(c,b,e))},"JS.ScriptMathProcessor,~A");l(c$,"evaluatePlane",function(d,
a,b){if(135267841==b&&3!=a.length||135267842==b&&2!=a.length&&3!=a.length||0==a.length||4<a.length)return!1;var c,e,f,g,h;switch(a.length){case 1:if(10==a[0].tok&&(b=JS.SV.getBitSet(a[0],!1),3==b.cardinality())){a=this.vwr.ms.getAtomPointVector(b);b=new JU.V3;h=new JU.V3;var j=new JU.V3;g=new JU.P4;JU.Measure.getPlaneThroughPoints(a.get(0),a.get(1),a.get(2),b,h,j,g);return d.addXPt4(g)}a=JU.Escape.uP(JS.SV.sValue(a[0]));return n(a,JU.P4)?d.addXPt4(a):d.addXStr(""+a);case 2:if(135267842==b){if(9!=
a[1].tok)return!1;f=new JU.P3;b=new JU.V3;h=new JU.V3;g=a[1].value;if(9==a[0].tok)return a=JU.Measure.getIntersectionPP(a[0].value,g),null==a?d.addXStr(""):d.addXList(a);e=d.ptValue(a[0],!1);return null==e?d.addXStr(""):d.addXPt(JU.Measure.getIntersection(e,null,g,f,b,h))}case 3:case 4:switch(b){case 135267841:return d.addXPt4(this.e.getHklPlane(JU.P3.new3(JS.SV.fValue(a[0]),JS.SV.fValue(a[1]),JS.SV.fValue(a[2]))));case 135267842:c=d.ptValue(a[0],!1);e=d.ptValue(a[1],!1);if(null==c||null==e)return d.addXStr("");
e=JU.V3.newV(e);e.normalize();if(9==a[2].tok)return f=new JU.P3,b=new JU.V3,h=new JU.V3,c=JU.Measure.getIntersection(c,e,a[2].value,f,b,h),null==c?d.addXStr(""):d.addXPt(c);f=d.ptValue(a[2],!1);if(null==f)return d.addXStr("");a=new JU.V3;JU.Measure.projectOntoAxis(f,c,e,a);return d.addXPt(f)}switch(a[0].tok){case 2:case 3:if(3==a.length)return c=JS.SV.fValue(a[0]),f=JS.SV.fValue(a[1]),a=JS.SV.fValue(a[2]),b=JU.V3.new3(0,0,1),e=JU.P3.new3(0,1,0),a=JU.Quat.newVA(e,a),a.getMatrix().rotate(b),e.set(0,
0,1),a=JU.Quat.newVA(e,f),a.getMatrix().rotate(b),e.setT(b),e.scale(c),g=new JU.P4,JU.Measure.getPlaneThroughPoint(e,b,g),d.addXPt4(g);break;case 10:case 8:c=d.ptValue(a[0],!1);e=d.ptValue(a[1],!1);if(null==e)return!1;f=2<a.length&&(10==a[2].tok||8==a[2].tok)?d.ptValue(a[2],!1):null;b=JU.V3.newV(e);if(null==f)return g=new JU.P4,2==a.length||!a[2].asBoolean()?(f=JU.P3.newP(c),f.add(e),f.scale(0.5),b.sub(c),b.normalize()):f=c,JU.Measure.getPlaneThroughPoint(f,b,g),d.addXPt4(g);h=new JU.V3;j=new JU.V3;
a=JU.Measure.getDirectedNormalThroughPoints(c,e,f,4==a.length?d.ptValue(a[3],!0):null,b,h,j);return d.addXPt4(JU.P4.new4(b.x,b.y,b.z,a))}}if(4!=a.length)return!1;b=JS.SV.fValue(a[0]);e=JS.SV.fValue(a[1]);c=JS.SV.fValue(a[2]);a=JS.SV.fValue(a[3]);return d.addXPt4(JU.P4.new4(b,e,c,a))},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluatePoint",function(d,a){switch(a.length){default:return!1;case 1:if(3==a[0].tok||2==a[0].tok)return d.addXInt(a[0].asInt());var b=JS.SV.sValue(a[0]);7==a[0].tok&&(b="{"+b+"}");
b=JU.Escape.uP(b);return n(b,JU.P3)?d.addXPt(b):d.addXStr(""+b);case 2:b=JS.SV.ptValue(a[0]);if(null==b)return!1;1048588==a[1].tok?this.vwr.tm.unTransformPoint(b,b):this.vwr.tm.transformPt3f(b,b);return d.addXPt(b);case 3:return d.addXPt(JU.P3.new3(a[0].asFloat(),a[1].asFloat(),a[2].asFloat()));case 4:return d.addXPt4(JU.P4.new4(a[0].asFloat(),a[1].asFloat(),a[2].asFloat(),a[3].asFloat()))}},"JS.ScriptMathProcessor,~A");l(c$,"evaluatePrompt",function(d,a){if(1!=a.length&&2!=a.length&&3!=a.length)return!1;
var b=JS.SV.sValue(a[0]),c=1<a.length&&7==a[1].tok?JS.SV.strListValue(a[1]):null,e=null!=c||1==a.length||3==a.length&&a[2].asBoolean(),f=null!=c?null:2<=a.length?JS.SV.sValue(a[1]):"OK",b=""+this.vwr.prompt(b,f,c,e);return e&&null!=c?d.addXInt(Integer.parseInt(b)+1):d.addXStr(b)},"JS.ScriptMathProcessor,~A");l(c$,"evaluateQuaternion",function(d,a,b){var c=null,e=a.length,f=2147483647,g=!1;135270418==b&&(1<e&&(4==a[e-1].tok&&a[e-1].value.equalsIgnoreCase("relative"))&&(e--,g=!0),1<e&&(2==a[e-1].tok&&
10==a[0].tok)&&(f=a[e-1].asInt(),0>=f&&(f=2147483646),e--));switch(e){case 0:case 1:case 4:break;case 2:if(135270418==b){if(7==a[0].tok&&(7==a[1].tok||1048589==a[1].tok))break;if(10==a[0].tok&&(2==a[1].tok||10==a[1].tok))break}if(null==(c=d.ptValue(a[0],!1))||135270418!=b&&8==a[1].tok)return!1;break;case 3:if(135270418!=b)return!1;if(9==a[0].tok){if(8!=a[2].tok&&10!=a[2].tok)return!1;break}for(var h=0;3>h;h++)if(8!=a[h].tok&&10!=a[h].tok)return!1;break;default:return!1}var j=h=null,k=null;switch(e){case 0:return d.addXPt4(JU.Quat.newQ(this.vwr.tm.getRotationQuaternion()).toPoint4f());
default:if(135270418==b&&7==a[0].tok){b=this.e.getQuaternionArray(a[0].getList(),1073742001);a=JU.Quat.sphereMean(b,null,1E-4);h=n(a,JU.Quat)?a:null;break}else if(135270418==b&&10==a[0].tok)j=this.vwr.getAtomGroupQuaternions(a[0].value,f);else if(11==a[0].tok)h=JU.Quat.newM(a[0].value);else if(9==a[0].tok)k=a[0].value;else if(k=JS.SV.sValue(a[0]),k=JU.Escape.uP(k.equalsIgnoreCase("best")?this.vwr.getOrientationText(1073741863,null):k),!n(k,JU.P4))return!1;135266307==b&&(h=JU.Quat.newVA(JU.P3.new3(k.x,
k.y,k.z),k.w));break;case 2:if(135270418==b){if(7==a[0].tok&&7==a[1].tok){b=this.e.getQuaternionArray(a[0].getList(),1073742001);j=this.e.getQuaternionArray(a[1].getList(),1073742001);j=JU.Quat.div(j,b,f,g);break}if(7==a[0].tok&&1048589==a[1].tok)return b=this.e.getQuaternionArray(a[0].getList(),1073742001),f=q(1,0),JU.Quat.sphereMean(b,f,1E-4),d.addXFloat(f[0]);if(10==a[0].tok&&10==a[1].tok){b=this.vwr.getAtomGroupQuaternions(a[0].value,2147483647);j=this.vwr.getAtomGroupQuaternions(a[1].value,2147483647);
j=JU.Quat.div(j,b,f,g);break}}h=d.ptValue(a[1],!1);k=d.planeValue(a[0]);h=null!=h?JU.Quat.getQuaternionFrame(JU.P3.new3(0,0,0),c,h):JU.Quat.newVA(c,JS.SV.fValue(a[1]));break;case 3:if(9==a[0].tok)return f=8==a[2].tok?a[2].value:this.vwr.ms.getAtomSetCenter(a[2].value),d.addXStr(JU.Escape.drawQuat(JU.Quat.newP4(a[0].value),"q",JS.SV.sValue(a[1]),f,1));b=Array(3);for(h=0;3>h;h++)b[h]=8==a[h].tok?a[h].value:this.vwr.ms.getAtomSetCenter(a[h].value);h=JU.Quat.getQuaternionFrame(b[0],b[1],b[2]);break;case 4:135270418==
b?k=JU.P4.new4(JS.SV.fValue(a[1]),JS.SV.fValue(a[2]),JS.SV.fValue(a[3]),JS.SV.fValue(a[0])):h=JU.Quat.newVA(JU.P3.new3(JS.SV.fValue(a[0]),JS.SV.fValue(a[1]),JS.SV.fValue(a[2])),JS.SV.fValue(a[3]))}if(null!=j){if(2147483647!=f){f=new JU.Lst;for(h=0;h<j.length;h++)f.addLast(j[h].toPoint4f());return d.addXList(f)}h=0<j.length?j[0]:null}return d.addXPt4((null==h?JU.Quat.newP4(k):h).toPoint4f())},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluateRandom",function(d,a){if(2<a.length)return!1;var b=2>a.length?
0:JS.SV.fValue(a[0]),c=0==a.length?1:JS.SV.fValue(a[a.length-1]);return d.addXFloat(Math.random()*(c-b)+b)},"JS.ScriptMathProcessor,~A");l(c$,"evaluateRowCol",function(d,a,b){if(1!=a.length)return!1;a=a[0].asInt()-1;var c=d.getX();switch(c.tok){case 11:if(0>a||2<a)break;c=c.value;switch(b){case 1276117515:return b=q(3,0),c.getRow(a,b),d.addXAF(b);default:return b=q(3,0),c.getColumn(a,b),d.addXAF(b)}case 12:if(0>a||2<a)break;c=c.value;switch(b){case 1276117515:return b=q(4,0),c.getRow(a,b),d.addXAF(b);
default:return b=q(4,0),c.getColumn(a,b),d.addXAF(b)}}return!1},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluateIn",function(d,a){var b=d.getX();switch(a.length){case 1:var c=a[0].getList();if(null!=c)for(var e=0,f=c.size();e<f;e++)if(JS.SV.areEqual(b,c.get(e)))return d.addXInt(e+1);break;default:for(e=0;e<a.length;e++)if(JS.SV.areEqual(b,a[e]))return d.addXInt(e+1)}return d.addXInt(0)},"JS.ScriptMathProcessor,~A");l(c$,"evaluateReplace",function(d,a){var b=!1,c,e;switch(a.length){case 0:b=!0;c=e=null;
break;case 3:b=JS.SV.bValue(a[2]);case 2:c=JS.SV.sValue(a[0]);e=JS.SV.sValue(a[1]);break;default:return!1}var f=d.getX();if(7==f.tok){for(var f=JS.SV.strListValue(f),g=Array(f.length),h=f.length;0<=--h;)g[h]=null==c?JU.PT.clean(f[h]):b?JU.PT.replaceAllCharacters(f[h],c,e):JU.PT.rep(f[h],c,e);return d.addXAS(g)}f=JS.SV.sValue(f);return d.addXStr(null==c?JU.PT.clean(f):b?JU.PT.replaceAllCharacters(f,c,e):JU.PT.rep(f,c,e))},"JS.ScriptMathProcessor,~A");l(c$,"evaluateScript",function(d,a,b){if((135266829==
b||135270926==b||135287308==b)&&1!=a.length||0==a.length||2<a.length)return!1;var c=JS.SV.sValue(a[0]),e=new JU.SB;switch(b){case 135266829:return d.addXObj(this.vwr.evaluateExpressionAsVariable(c));case 135271429:a=2==a.length?JS.SV.sValue(a[1]):".";a.equals(".")||e.append(this.vwr.jsEval(a+"\u0001"+c));(a.equals(".")||a.equals("*"))&&this.e.runScriptBuffer(c,e);break;case 135270926:this.e.runScriptBuffer("show "+c,e);break;case 135287308:e.append(this.vwr.jsEval(c))}var c=e.toString(),f;return Float.isNaN(f=
JU.PT.parseFloatStrict(c))?d.addXStr(c):0<=c.indexOf(".")?d.addXFloat(f):d.addXInt(JU.PT.parseInt(c))},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluateSort",function(d,a,b){if(1<a.length)return!1;if(1276117011==b){var c=0==a.length?0:a[0].asInt();return d.addX(d.getX().sortOrReverse(c))}b=d.getX();a=0==a.length?null:a[0];if(4==b.tok){var c=0,e=JS.SV.sValue(b);if(null==a)return d.addXInt(0);a=JS.SV.sValue(a);for(b=0;b<e.length;b++){b=e.indexOf(a,b);if(0>b)break;c++}return d.addXInt(c)}var c=new JU.Lst,
f=e=null,g=JS.SV.getVariable(b.value).sortOrReverse(0).getList();if(null==g)return null==a?d.addXStr(""):d.addXInt(0);b=0;for(var h=g.size();b<=h;b++){var j=b==h?null:g.get(b);if(!(null!=a&&null!=j&&!JS.SV.areEqual(j,a)))if(JS.SV.areEqual(j,e))f.intValue++;else{if(null!=e){var k=new JU.Lst;k.addLast(e);k.addLast(f);c.addLast(JS.SV.getVariableList(k))}f=JS.SV.newI(1);e=j}}return null==a?d.addX(JS.SV.getVariableList(c)):c.isEmpty()?d.addXInt(0):d.addX(c.get(0).getList().get(1))},"JS.ScriptMathProcessor,~A,~N");
l(c$,"evaluateString",function(d,a,b){if(1<b.length)return!1;var c=d.getX();if(7==c.tok&&1276117510!=a&&1276117512!=a)return d.addX(c),this.evaluateList(d,a,b);var e=1276117510==a&&10==c.tok||1276117512==a&&7==c.tok?null:JS.SV.sValue(c);b=1==b.length?JS.SV.sValue(b[0]):1276117512==a?"":"\n";switch(a){case 1276117510:if(10==c.tok){c=JS.SV.bsSelectVar(c);b="\n";var f=this.vwr.getModelCount(),e="";for(a=0;a<f;a++){var e=e+(0==a?"":"\n"),g=this.vwr.getModelUndeletedAtomsBitSet(a);g.and(c);e+=JU.Escape.eBS(g)}}return d.addXAS(JU.PT.split(e,
b));case 1276117506:return 0<e.length&&"\n"==e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),d.addXStr(JU.PT.rep(e,"\n",b));case 1276117512:if(null!=e)return d.addXStr(JU.PT.trim(e,b));e=JS.SV.strListValue(c);for(a=e.length;0<=--a;)e[a]=JU.PT.trim(e[a],b);return d.addXAS(e)}return d.addXStr("")},"JS.ScriptMathProcessor,~N,~A");l(c$,"evaluateSubstructure",function(d,a,b){if(0==a.length)return!1;var c=new JU.BS,e=JS.SV.sValue(a[0]);if(0<e.length)try{var f=2==a.length&&10==a[1].tok?JS.SV.bsSelectVar(a[1]):
null,c=this.vwr.getSmilesMatcher().getSubstructureSet(e,this.vwr.ms.at,this.vwr.getAtomCount(),f,135267336!=b,!1)}catch(g){if(u(g,Exception))this.e.evalError(g.getMessage(),null);else throw g;}return d.addXBs(c)},"JS.ScriptMathProcessor,~A,~N");l(c$,"evaluateSymop",function(d,a,b){if(0==a.length)return!1;b=b?d.getX():null;if(null!=b&&10!=b.tok)return!1;b=null!=b?b.value:2<a.length&&10==a[1].tok?a[1].value:this.vwr.getAllAtoms();var c;switch(a[0].tok){case 4:c=JS.SV.sValue(a[0]);break;case 12:c=a[0].escape();
break;default:c=null}var e=null==c?a[0].asInt():0,f=1<a.length?d.ptValue(a[1],!0):null;if(2==a.length&&!Float.isNaN(f.x))return d.addXObj(this.vwr.getSymmetryInfo(b,c,e,f,null,null,135266320));var g=(1==a.length?"":JS.SV.sValue(a[a.length-1])).toLowerCase(),h=135176;1==a.length||g.equalsIgnoreCase("matrix")?h=12:g.equalsIgnoreCase("array")||g.equalsIgnoreCase("list")?h=1073742001:g.equalsIgnoreCase("description")?h=1826248716:g.equalsIgnoreCase("xyz")?h=1073741982:g.equalsIgnoreCase("translation")?
h=1073742178:g.equalsIgnoreCase("axis")?h=1073741854:g.equalsIgnoreCase("plane")?h=135266319:g.equalsIgnoreCase("angle")?h=135266305:g.equalsIgnoreCase("axispoint")?h=135266320:g.equalsIgnoreCase("center")&&(h=12289);return d.addXObj(this.vwr.getSymmetryInfo(b,c,e,f,null,g,h))},"JS.ScriptMathProcessor,~A,~B");l(c$,"evaluateTensor",function(d,a){if(2<a.length)return!1;var b=JS.SV.getBitSet(d.getX(),!1),c=0==a.length?null:JS.SV.sValue(a[0]).toLowerCase(),e=this.vwr.getNMRCalculation();if("unique".equals(c))return d.addXBs(e.getUniqueTensorSet(b));
var f=2>a.length?null:JS.SV.sValue(a[1]).toLowerCase();return d.addXList(e.getTensorInfo(c,f,b))},"JS.ScriptMathProcessor,~A");l(c$,"evaluateUserFunction",function(d,a,b,c,e){var f=null;if(e&&(f=d.getX(),10!=f.tok))return!1;d.wasX=!1;for(var g=new JU.Lst,h=0;h<b.length;h++)g.addLast(b[h]);if(e)return d.addXObj(this.e.getBitsetProperty(JS.SV.bsSelectVar(f),c,null,null,f.value,[a,g],!1,f.index,!1));a=this.e.getUserFunctionResult(a,g,null);return null==a?!1:d.addX(a)},"JS.ScriptMathProcessor,~S,~A,~N,~B");
l(c$,"evaluateWithin",function(d,a){if(1>a.length||5<a.length)return!1;var b=a.length,c=0,e=a[0].value,f=""+e,g=a[0].tok;4==g&&(g=JS.T.getTokFromName(f));var h=1649412120==g;h&&(c=100,e=null);var j=this.vwr.ms,k=!1,l=!1,m=h||3==g||2==g,r=null;switch(g){case 1048580:return 3==b&&n(a[1].value,JU.BS)&&n(a[2].value,JU.BS)&&d.addXBs(this.vwr.getBranchBitSet(a[2].value.nextSetBit(0),a[1].value.nextSetBit(0),!0));case 135267336:case 1238369286:case 135267335:c=null;f=!0;switch(b){case 2:break;case 3:if(f=
10==a[2].tok)c=a[2].value;break;default:f=!1}f||this.e.invArg();return d.addXObj(this.e.getSmilesExt().getSmilesMatches(JS.SV.sValue(a[1]),null,c,null,135267335==g,d.asBitSet))}if(n(e,String)){if(0==g){g=1048614;if(2<b)return!1;b=2}}else if(m){h||(c=JS.SV.fValue(a[0]));if(2>b)return!1;switch(g=a[1].tok){case 1048589:case 1048588:k=a[1].asBoolean();b=0;break;case 4:g=JS.SV.sValue(a[1]);if(g.startsWith("$"))return d.addXBs(this.getAtomsNearSurface(c,g.substring(1)));l=g.equalsIgnoreCase("group");g=
(h=g.equalsIgnoreCase("vanderwaals"))?1649412120:1087373318}}else return!1;var q=e=null;switch(b){case 1:switch(g){case 137363467:case 3145760:case 1679429641:return d.addXBs(j.getAtoms(g,null));case 1073741864:return d.addXBs(j.getAtoms(g,""));case 1048614:return d.addXBs(j.getAtoms(1087373320,f))}return!1;case 2:switch(g){case 1048614:g=1087373320;break;case 1087375362:case 1087375361:case 1073741864:case 1087373320:case 1073741916:case 1073741925:case 1073742189:return d.addXBs(this.vwr.ms.getAtoms(g,
JS.SV.sValue(a[a.length-1])))}break;case 3:switch(g){case 1048589:case 1048588:case 1087373318:case 1649412120:case 135266319:case 135267841:case 1048581:break;case 1087373320:f=JS.SV.sValue(a[2]);break;default:return!1}}b=a.length-1;n(a[b].value,JU.P4)?q=a[b].value:n(a[b].value,JU.P3)&&(e=a[b].value,JS.SV.sValue(a[1]).equalsIgnoreCase("hkl")&&(q=this.e.getHklPlane(e)));if(0<b&&null==q&&null==e&&!n(a[b].value,JU.BS))return!1;if(null!=q)return d.addXBs(j.getAtomsNearPlane(c,q));if(null!=e)return d.addXBs(this.vwr.getAtomsNearPt(c,
e));b=10==a[b].tok?JS.SV.bsSelectVar(a[b]):null;if(1087373320==g)return d.addXBs(this.vwr.ms.getSequenceBits(f,b));null==b&&(b=new JU.BS);if(!m)return d.addXBs(this.vwr.ms.getAtoms(g,b));if(l)return d.addXBs(this.vwr.getGroupsWithin(M(c),b));h&&(r=new J.atomdata.RadiusData(null,10<c?c/100:c,10<c?J.atomdata.RadiusData.EnumType.FACTOR:J.atomdata.RadiusData.EnumType.OFFSET,J.c.VDW.AUTO));return d.addXBs(this.vwr.ms.getAtomsWithinRadius(c,b,k,r))},"JS.ScriptMathProcessor,~A");l(c$,"evaluateWrite",function(d,
a){switch(a.length){case 0:return!1;case 1:if(!a[0].asString().toUpperCase().equals("PNGJ"))break;return d.addXMap(this.vwr.getFileAsMap(null))}return d.addXStr(this.e.getCmdExt().write(a))},"JS.ScriptMathProcessor,~A");l(c$,"getAtomsNearSurface",function(d,a){var b=[a,null,null];if(this.e.getShapePropertyData(24,"getVertices",b))return this.vwr.ms.getAtomsNearPts(d,b[1],b[2]);b[1]=Integer.$valueOf(0);b[2]=Integer.$valueOf(-1);return this.e.getShapePropertyData(22,"getCenter",b)?this.vwr.getAtomsNearPt(d,
b[2]):new JU.BS},"~N,~S");l(c$,"getDistance",function(d,a,b,c){var e=d.ptValue(a,!0);a=d.planeValue(a);var f=d.ptValue(b,!0);d=d.planeValue(b);if(1276117505==c){if(null!=a&&null!=d)return a.x*d.x+a.y*d.y+a.z*d.z+a.w*d.w;null!=a&&(e=JU.P3.new3(a.x,a.y,a.z));null!=d&&(f=JU.P3.new3(d.x,d.y,d.z));return e.x*f.x+e.y*f.y+e.z*f.z}return null==a?null==d?f.distance(e):JU.Measure.distanceToPlane(d,e):JU.Measure.distanceToPlane(a,f)},"JS.ScriptMathProcessor,JS.SV,JS.SV,~N");t(c$,"getMinMax",function(d,a){for(var b=
null,c=null,e=0;;){if(JU.PT.isAF(d)){if(b=d,e=b.length,0==e)break}else if(n(d,JU.Lst)){c=d;e=c.size();if(0==e)break;var f=c.get(0);if(4==f.tok&&f.value.startsWith("{")){b=JS.SV.ptValue(f);if(n(b,JU.P3))return this.getMinMaxPoint(c,a);if(n(b,JU.P4))return this.getMinMaxQuaternion(c,a);break}}else break;switch(a){case 32:f=3.4028235E38;break;case 64:f=-3.4028235E38;break;default:f=0}for(var g=0,h=0;0<=--e;){var j=null==b?JS.SV.fValue(c.get(e)):b[e];if(!Float.isNaN(j))switch(h++,a){case 160:case 192:g+=
j*j;case 128:case 96:f+=j;break;case 32:j<f&&(f=j);break;case 64:j>f&&(f=j)}}if(0==h)break;switch(a){case 96:f/=h;break;case 192:if(1==h)break;f=Math.sqrt((g-f*f/h)/(h-1));break;case 160:f=g}return Float.$valueOf(f)}return"NaN"},"~O,~N");l(c$,"getMinMaxPoint",function(d,a){var b=null,c=null,e=0;n(d,Array)?(b=d,e=b.length):n(d,JU.Lst)&&(c=d,e=c.size());if(null!=c||null!=b){for(var f=new JU.P3,g=q(e,0),h=!0,j=0;3>j&&h;j++){for(var k=0;k<e;k++){var l=null==b?JS.SV.ptValue(c.get(k)):b[k];if(null==l){h=
!1;break}switch(j){case 0:g[k]=l.x;break;case 1:g[k]=l.y;break;case 2:g[k]=l.z}}if(!h)break;k=this.getMinMax(g,a);if(n(k,Float))switch(k=k.floatValue(),j){case 0:f.x=k;break;case 1:f.y=k;break;case 2:f.z=k}else break}return f}return"NaN"},"~O,~N");l(c$,"getMinMaxQuaternion",function(d,a){var b;switch(a){case 32:case 64:case 128:case 160:return"NaN"}for(;;){b=this.e.getQuaternionArray(d,1073742001);if(null==b)break;var c=q(1,0);b=JU.Quat.sphereMean(b,c,1E-4);switch(a){case 96:return b;case 192:return Float.$valueOf(c[0])}break}return"NaN"},
"JU.Lst,~N");l(c$,"getPatternMatcher",function(){return null==this.pm?this.pm=J.api.Interface.getUtil("PatternMatcher"):this.pm});l(c$,"opTokenFor",function(d){switch(d){case 1276118017:case 1276117506:return JS.T.tokenPlus;case 1276117511:return JS.T.tokenMinus;case 1276117507:return JS.T.tokenTimes;case 1276117508:return JS.T.tokenMul3;case 1276117504:return JS.T.tokenDivide}return null},"~N");t(c$,"setContactBitSets",function(d,a,b,c,e,f){var g,h;null==a?(a=JU.BSUtil.setAll(this.vwr.getAtomCount()),
JU.BSUtil.andNot(a,this.vwr.getDeletedAtoms()),a.andNot(d),g=!1):(h=JU.BSUtil.copy(d),h.or(a),h=this.vwr.ms.getModelBS(h,!1).cardinality(),g=1<h,f&&(1<h&&!this.e.tQuiet)&&this.e.showString(J.i18n.GT._("Note: More than one model is involved in this contact!")));if(!d.equals(a)){if(f=!b||d.cardinality()<a.cardinality())h=this.vwr.ms.getAtomsWithinRadius(c,d,g,Float.isNaN(c)?e:null),a.and(h);b&&(h=this.vwr.ms.getAtomsWithinRadius(c,a,g,Float.isNaN(c)?e:null),d.and(h),f||(h=this.vwr.ms.getAtomsWithinRadius(c,
d,g,Float.isNaN(c)?e:null),a.and(h)),h=JU.BSUtil.copy(a),h.and(d),h.equals(d)?a.andNot(d):h.equals(a)&&d.andNot(a))}return a},"JU.BS,JU.BS,~B,~N,J.atomdata.RadiusData,~B")})})(Clazz,Clazz.newLongArray,Clazz.doubleToByte,Clazz.doubleToInt,Clazz.doubleToLong,Clazz.declarePackage,Clazz.instanceOf,Clazz.load,Clazz.instantialize,Clazz.decorateAsClass,Clazz.floatToInt,Clazz.makeConstructor,Clazz.defineEnumConstant,Clazz.exceptionOf,Clazz.newIntArray,Clazz.defineStatics,Clazz.newFloatArray,Clazz.declareType,
Clazz.prepareFields,Clazz.superConstructor,Clazz.newByteArray,Clazz.declareInterface,Clazz.p0p,Clazz.pu$h,Clazz.newShortArray,Clazz.innerTypeInstance,Clazz.isClassDefined,Clazz.prepareCallback,Clazz.newArray,Clazz.castNullAs,Clazz.floatToShort,Clazz.superCall,Clazz.decorateAsType,Clazz.newBooleanArray,Clazz.newCharArray,Clazz.implementOf,Clazz.newDoubleArray,Clazz.overrideConstructor,Clazz.clone,Clazz.doubleToShort,Clazz.getInheritedLevel,Clazz.getParamsType,Clazz.isAF,Clazz.isAI,Clazz.isAS,Clazz.isASS,
Clazz.isAP,Clazz.isAFloat,Clazz.isAII,Clazz.isAFF,Clazz.isAFFF,Clazz.tryToSearchAndExecute,Clazz.getStackTrace,Clazz.inheritArgs,Clazz.alert,Clazz.defineMethod,Clazz.overrideMethod,Clazz.declareAnonymous,Clazz.cloneFinals);