Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
atom / usr / share / atom / natives_blob.bin
Size: Mime:
mirrorsŽu
(function(a,b){
"use strict";
var c;
var d=a.Array;
var e=a.isNaN;
var f=a.JSON.stringify;
var g;
var h;
var i;
var j=a.Math.min;
var k=b.ImportNow("promise_state_symbol");
var l=b.ImportNow("promise_result_symbol");
var m;
var n;
var o;
b.Import(function(p){
c=p.ErrorToString;
g=p.MakeError;
h=p.MapEntries;
i=p.MapIteratorNext;
m=p.SetIteratorNext;
n=p.SetValues;
o=p.SymbolToString;
});
var q={
UNDEFINED_TYPE:'undefined',
NULL_TYPE:'null',
BOOLEAN_TYPE:'boolean',
NUMBER_TYPE:'number',
STRING_TYPE:'string',
SYMBOL_TYPE:'symbol',
OBJECT_TYPE:'object',
FUNCTION_TYPE:'function',
REGEXP_TYPE:'regexp',
ERROR_TYPE:'error',
PROPERTY_TYPE:'property',
INTERNAL_PROPERTY_TYPE:'internalProperty',
FRAME_TYPE:'frame',
SCRIPT_TYPE:'script',
CONTEXT_TYPE:'context',
SCOPE_TYPE:'scope',
PROMISE_TYPE:'promise',
MAP_TYPE:'map',
SET_TYPE:'set',
ITERATOR_TYPE:'iterator',
GENERATOR_TYPE:'generator',
}
var r=0;
var s=-1;
var t=[];
var u=true;
function MirrorCacheIsEmpty(){
return r==0&&t.length==0;
}
function ToggleMirrorCache(v){
u=v;
ClearMirrorCache();
}
function ClearMirrorCache(v){
r=0;
t=[];
}
function ObjectIsPromise(v){
return(%_IsJSReceiver(v))&&
!(%DebugGetProperty(v,k)===(void 0));
}
function MakeMirror(v,w){
var x;
if(!w&&u){
for(var y in t){
x=t[y];
if(x.value()===v){
return x;
}
if(x.isNumber()&&e(x.value())&&
typeof v=='number'&&e(v)){
return x;
}
}
}
if((v===(void 0))){
x=new UndefinedMirror();
}else if((v===null)){
x=new NullMirror();
}else if((typeof(v)==='boolean')){
x=new BooleanMirror(v);
}else if((typeof(v)==='number')){
x=new NumberMirror(v);
}else if((typeof(v)==='string')){
x=new StringMirror(v);
}else if((typeof(v)==='symbol')){
x=new SymbolMirror(v);
}else if((%_IsArray(v))){
x=new ArrayMirror(v);
}else if((%IsDate(v))){
x=new DateMirror(v);
}else if((%IsFunction(v))){
x=new FunctionMirror(v);
}else if((%_IsRegExp(v))){
x=new RegExpMirror(v);
}else if((%_ClassOf(v)==='Error')){
x=new ErrorMirror(v);
}else if((%_ClassOf(v)==='Script')){
x=new ScriptMirror(v);
}else if((%_ClassOf(v)==='Map')||(%_ClassOf(v)==='WeakMap')){
x=new MapMirror(v);
}else if((%_ClassOf(v)==='Set')||(%_ClassOf(v)==='WeakSet')){
x=new SetMirror(v);
}else if((%_ClassOf(v)==='Map Iterator')||(%_ClassOf(v)==='Set Iterator')){
x=new IteratorMirror(v);
}else if(ObjectIsPromise(v)){
x=new PromiseMirror(v);
}else if((%_ClassOf(v)==='Generator')){
x=new GeneratorMirror(v);
}else{
x=new ObjectMirror(v,q.OBJECT_TYPE,w);
}
if(u)t[x.handle()]=x;
return x;
}
function LookupMirror(z){
if(!u){
throw g(2,"Mirror cache is disabled");
}
return t[z];
}
function GetUndefinedMirror(){
return MakeMirror((void 0));
}
function inherits(A,B){
var C=function(){};
C.prototype=B.prototype;
A.super_=B.prototype;
A.prototype=new C();
A.prototype.constructor=A;
}
var D=80;
var E={};
E.Data=0;
E.DataConstant=2;
E.AccessorConstant=3;
var F={};
F.None=0;
F.ReadOnly=1;
F.DontEnum=2;
F.DontDelete=4;
var G={Global:0,
Local:1,
With:2,
Closure:3,
Catch:4,
Block:5,
Script:6,
Eval:7,
};
function Mirror(H){
this.type_=H;
}
Mirror.prototype.type=function(){
return this.type_;
};
Mirror.prototype.isValue=function(){
return this instanceof ValueMirror;
};
Mirror.prototype.isUndefined=function(){
return this instanceof UndefinedMirror;
};
Mirror.prototype.isNull=function(){
return this instanceof NullMirror;
};
Mirror.prototype.isBoolean=function(){
return this instanceof BooleanMirror;
};
Mirror.prototype.isNumber=function(){
return this instanceof NumberMirror;
};
Mirror.prototype.isString=function(){
return this instanceof StringMirror;
};
Mirror.prototype.isSymbol=function(){
return this instanceof SymbolMirror;
};
Mirror.prototype.isObject=function(){
return this instanceof ObjectMirror;
};
Mirror.prototype.isFunction=function(){
return this instanceof FunctionMirror;
};
Mirror.prototype.isUnresolvedFunction=function(){
return this instanceof UnresolvedFunctionMirror;
};
Mirror.prototype.isArray=function(){
return this instanceof ArrayMirror;
};
Mirror.prototype.isDate=function(){
return this instanceof DateMirror;
};
Mirror.prototype.isRegExp=function(){
return this instanceof RegExpMirror;
};
Mirror.prototype.isError=function(){
return this instanceof ErrorMirror;
};
Mirror.prototype.isPromise=function(){
return this instanceof PromiseMirror;
};
Mirror.prototype.isGenerator=function(){
return this instanceof GeneratorMirror;
};
Mirror.prototype.isProperty=function(){
return this instanceof PropertyMirror;
};
Mirror.prototype.isInternalProperty=function(){
return this instanceof InternalPropertyMirror;
};
Mirror.prototype.isFrame=function(){
return this instanceof FrameMirror;
};
Mirror.prototype.isScript=function(){
return this instanceof ScriptMirror;
};
Mirror.prototype.isContext=function(){
return this instanceof ContextMirror;
};
Mirror.prototype.isScope=function(){
return this instanceof ScopeMirror;
};
Mirror.prototype.isMap=function(){
return this instanceof MapMirror;
};
Mirror.prototype.isSet=function(){
return this instanceof SetMirror;
};
Mirror.prototype.isIterator=function(){
return this instanceof IteratorMirror;
};
Mirror.prototype.allocateHandle_=function(){
if(u)this.handle_=r++;
};
Mirror.prototype.allocateTransientHandle_=function(){
this.handle_=s--;
};
Mirror.prototype.toText=function(){
return"#<"+this.constructor.name+">";
};
function ValueMirror(H,v,I){
%_Call(Mirror,this,H);
this.value_=v;
if(!I){
this.allocateHandle_();
}else{
this.allocateTransientHandle_();
}
}
inherits(ValueMirror,Mirror);
Mirror.prototype.handle=function(){
return this.handle_;
};
ValueMirror.prototype.isPrimitive=function(){
var H=this.type();
return H==='undefined'||
H==='null'||
H==='boolean'||
H==='number'||
H==='string'||
H==='symbol';
};
ValueMirror.prototype.value=function(){
return this.value_;
};
function UndefinedMirror(){
%_Call(ValueMirror,this,q.UNDEFINED_TYPE,(void 0));
}
inherits(UndefinedMirror,ValueMirror);
UndefinedMirror.prototype.toText=function(){
return'undefined';
};
function NullMirror(){
%_Call(ValueMirror,this,q.NULL_TYPE,null);
}
inherits(NullMirror,ValueMirror);
NullMirror.prototype.toText=function(){
return'null';
};
function BooleanMirror(v){
%_Call(ValueMirror,this,q.BOOLEAN_TYPE,v);
}
inherits(BooleanMirror,ValueMirror);
BooleanMirror.prototype.toText=function(){
return this.value_?'true':'false';
};
function NumberMirror(v){
%_Call(ValueMirror,this,q.NUMBER_TYPE,v);
}
inherits(NumberMirror,ValueMirror);
NumberMirror.prototype.toText=function(){
return %_NumberToString(this.value_);
};
function StringMirror(v){
%_Call(ValueMirror,this,q.STRING_TYPE,v);
}
inherits(StringMirror,ValueMirror);
StringMirror.prototype.length=function(){
return this.value_.length;
};
StringMirror.prototype.getTruncatedValue=function(J){
if(J!=-1&&this.length()>J){
return this.value_.substring(0,J)+
'... (length: '+this.length()+')';
}
return this.value_;
};
StringMirror.prototype.toText=function(){
return this.getTruncatedValue(D);
};
function SymbolMirror(v){
%_Call(ValueMirror,this,q.SYMBOL_TYPE,v);
}
inherits(SymbolMirror,ValueMirror);
SymbolMirror.prototype.description=function(){
return %SymbolDescription(%_ValueOf(this.value_));
}
SymbolMirror.prototype.toText=function(){
return %_Call(o,this.value_);
}
function ObjectMirror(v,H,I){
H=H||q.OBJECT_TYPE;
%_Call(ValueMirror,this,H,v,I);
}
inherits(ObjectMirror,ValueMirror);
ObjectMirror.prototype.className=function(){
return %_ClassOf(this.value_);
};
ObjectMirror.prototype.constructorFunction=function(){
return MakeMirror(%DebugGetProperty(this.value_,'constructor'));
};
ObjectMirror.prototype.prototypeObject=function(){
return MakeMirror(%DebugGetProperty(this.value_,'prototype'));
};
ObjectMirror.prototype.protoObject=function(){
return MakeMirror(%DebugGetPrototype(this.value_));
};
ObjectMirror.prototype.hasNamedInterceptor=function(){
var K=%GetInterceptorInfo(this.value_);
return(K&2)!=0;
};
ObjectMirror.prototype.hasIndexedInterceptor=function(){
var K=%GetInterceptorInfo(this.value_);
return(K&1)!=0;
};
ObjectMirror.prototype.propertyNames=function(){
return %GetOwnPropertyKeys(this.value_,0);
};
ObjectMirror.prototype.properties=function(){
var L=this.propertyNames();
var M=new d(L.length);
for(var N=0;N<L.length;N++){
M[N]=this.property(L[N]);
}
return M;
};
ObjectMirror.prototype.internalProperties=function(){
return ObjectMirror.GetInternalProperties(this.value_);
}
ObjectMirror.prototype.property=function(O){
var P=%DebugGetPropertyDetails(this.value_,(%_ToName(O)));
if(P){
return new PropertyMirror(this,O,P);
}
return GetUndefinedMirror();
};
ObjectMirror.prototype.lookupProperty=function(v){
var M=this.properties();
for(var N=0;N<M.length;N++){
var Q=M[N];
if(Q.propertyType()!=E.AccessorConstant){
if(Q.value_===v.value_){
return Q;
}
}
}
return GetUndefinedMirror();
};
ObjectMirror.prototype.referencedBy=function(R){
var S=%DebugReferencedBy(this.value_,
Mirror.prototype,R||0);
for(var N=0;N<S.length;N++){
S[N]=MakeMirror(S[N]);
}
return S;
};
ObjectMirror.prototype.toText=function(){
var O;
var A=this.constructorFunction();
if(!A.isFunction()){
O=this.className();
}else{
O=A.name();
if(!O){
O=this.className();
}
}
return'#<'+O+'>';
};
ObjectMirror.GetInternalProperties=function(v){
var M=%DebugGetInternalProperties(v);
var S=[];
for(var N=0;N<M.length;N+=2){
S.push(new InternalPropertyMirror(M[N],M[N+1]));
}
return S;
}
function FunctionMirror(v){
%_Call(ObjectMirror,this,v,q.FUNCTION_TYPE);
this.resolved_=true;
}
inherits(FunctionMirror,ObjectMirror);
FunctionMirror.prototype.resolved=function(){
return this.resolved_;
};
FunctionMirror.prototype.name=function(){
return %FunctionGetName(this.value_);
};
FunctionMirror.prototype.debugName=function(){
return %FunctionGetDebugName(this.value_);
}
FunctionMirror.prototype.inferredName=function(){
return %FunctionGetInferredName(this.value_);
};
FunctionMirror.prototype.source=function(){
if(this.resolved()){
return %FunctionToString(this.value_);
}
};
FunctionMirror.prototype.script=function(){
if(this.resolved()){
if(this.script_){
return this.script_;
}
var T=%FunctionGetScript(this.value_);
if(T){
return this.script_=MakeMirror(T);
}
}
};
FunctionMirror.prototype.sourcePosition_=function(){
if(this.resolved()){
return %FunctionGetScriptSourcePosition(this.value_);
}
};
FunctionMirror.prototype.sourceLocation=function(){
if(this.resolved()){
var T=this.script();
if(T){
return T.locationFromPosition(this.sourcePosition_(),true);
}
}
};
FunctionMirror.prototype.constructedBy=function(U){
if(this.resolved()){
var S=%DebugConstructedBy(this.value_,U||0);
for(var N=0;N<S.length;N++){
S[N]=MakeMirror(S[N]);
}
return S;
}else{
return[];
}
};
FunctionMirror.prototype.scopeCount=function(){
if(this.resolved()){
if((this.scopeCount_===(void 0))){
this.scopeCount_=%GetFunctionScopeCount(this.value());
}
return this.scopeCount_;
}else{
return 0;
}
};
FunctionMirror.prototype.scope=function(V){
if(this.resolved()){
return new ScopeMirror((void 0),this,V);
}
};
FunctionMirror.prototype.toText=function(){
return this.source();
};
FunctionMirror.prototype.context=function(){
if(this.resolved()){
if(!this._context)
this._context=new ContextMirror(%FunctionGetContextData(this.value_));
return this._context;
}
};
function UnresolvedFunctionMirror(v){
%_Call(ValueMirror,this,q.FUNCTION_TYPE,v);
this.propertyCount_=0;
this.elementCount_=0;
this.resolved_=false;
}
inherits(UnresolvedFunctionMirror,FunctionMirror);
UnresolvedFunctionMirror.prototype.className=function(){
return'Function';
};
UnresolvedFunctionMirror.prototype.constructorFunction=function(){
return GetUndefinedMirror();
};
UnresolvedFunctionMirror.prototype.prototypeObject=function(){
return GetUndefinedMirror();
};
UnresolvedFunctionMirror.prototype.protoObject=function(){
return GetUndefinedMirror();
};
UnresolvedFunctionMirror.prototype.name=function(){
return this.value_;
};
UnresolvedFunctionMirror.prototype.inferredName=function(){
return(void 0);
};
UnresolvedFunctionMirror.prototype.propertyNames=function(W,X){
return[];
};
function ArrayMirror(v){
%_Call(ObjectMirror,this,v);
}
inherits(ArrayMirror,ObjectMirror);
ArrayMirror.prototype.length=function(){
return this.value_.length;
};
ArrayMirror.prototype.indexedPropertiesFromRange=function(opt_from_index,
opt_to_index){
var Y=opt_from_index||0;
var Z=opt_to_index||this.length()-1;
if(Y>Z)return new d();
var aa=new d(Z-Y+1);
for(var N=Y;N<=Z;N++){
var P=%DebugGetPropertyDetails(this.value_,(%_ToString(N)));
var v;
if(P){
v=new PropertyMirror(this,N,P);
}else{
v=GetUndefinedMirror();
}
aa[N-Y]=v;
}
return aa;
};
function DateMirror(v){
%_Call(ObjectMirror,this,v);
}
inherits(DateMirror,ObjectMirror);
DateMirror.prototype.toText=function(){
var ab=f(this.value_);
return ab.substring(1,ab.length-1);
};
function RegExpMirror(v){
%_Call(ObjectMirror,this,v,q.REGEXP_TYPE);
}
inherits(RegExpMirror,ObjectMirror);
RegExpMirror.prototype.source=function(){
return this.value_.source;
};
RegExpMirror.prototype.global=function(){
return this.value_.global;
};
RegExpMirror.prototype.ignoreCase=function(){
return this.value_.ignoreCase;
};
RegExpMirror.prototype.multiline=function(){
return this.value_.multiline;
};
RegExpMirror.prototype.sticky=function(){
return this.value_.sticky;
};
RegExpMirror.prototype.unicode=function(){
return this.value_.unicode;
};
RegExpMirror.prototype.toText=function(){
return"/"+this.source()+"/";
};
function ErrorMirror(v){
%_Call(ObjectMirror,this,v,q.ERROR_TYPE);
}
inherits(ErrorMirror,ObjectMirror);
ErrorMirror.prototype.message=function(){
return this.value_.message;
};
ErrorMirror.prototype.toText=function(){
var ac;
try{
ac=%_Call(c,this.value_);
}catch(e){
ac='#<Error>';
}
return ac;
};
function PromiseMirror(v){
%_Call(ObjectMirror,this,v,q.PROMISE_TYPE);
}
inherits(PromiseMirror,ObjectMirror);
function PromiseGetStatus_(v){
var ad=%DebugGetProperty(v,k);
if(ad==0)return"pending";
if(ad==1)return"resolved";
return"rejected";
}
function PromiseGetValue_(v){
return %DebugGetProperty(v,l);
}
PromiseMirror.prototype.status=function(){
return PromiseGetStatus_(this.value_);
};
PromiseMirror.prototype.promiseValue=function(){
return MakeMirror(PromiseGetValue_(this.value_));
};
function MapMirror(v){
%_Call(ObjectMirror,this,v,q.MAP_TYPE);
}
inherits(MapMirror,ObjectMirror);
MapMirror.prototype.entries=function(ae){
var S=[];
if((%_ClassOf(this.value_)==='WeakMap')){
var af=%GetWeakMapEntries(this.value_,ae||0);
for(var N=0;N<af.length;N+=2){
S.push({
key:af[N],
value:af[N+1]
});
}
return S;
}
var ag=%_Call(h,this.value_);
var ah;
while((!ae||S.length<ae)&&
!(ah=ag.next()).done){
S.push({
key:ah.value[0],
value:ah.value[1]
});
}
return S;
};
function SetMirror(v){
%_Call(ObjectMirror,this,v,q.SET_TYPE);
}
inherits(SetMirror,ObjectMirror);
function IteratorGetValues_(ag,ai,ae){
var S=[];
var ah;
while((!ae||S.length<ae)&&
!(ah=%_Call(ai,ag)).done){
S.push(ah.value);
}
return S;
}
SetMirror.prototype.values=function(ae){
if((%_ClassOf(this.value_)==='WeakSet')){
return %GetWeakSetValues(this.value_,ae||0);
}
var ag=%_Call(n,this.value_);
return IteratorGetValues_(ag,m,ae);
};
function IteratorMirror(v){
%_Call(ObjectMirror,this,v,q.ITERATOR_TYPE);
}
inherits(IteratorMirror,ObjectMirror);
IteratorMirror.prototype.preview=function(ae){
if((%_ClassOf(this.value_)==='Map Iterator')){
return IteratorGetValues_(%MapIteratorClone(this.value_),
i,
ae);
}else if((%_ClassOf(this.value_)==='Set Iterator')){
return IteratorGetValues_(%SetIteratorClone(this.value_),
m,
ae);
}
};
function GeneratorMirror(v){
%_Call(ObjectMirror,this,v,q.GENERATOR_TYPE);
}
inherits(GeneratorMirror,ObjectMirror);
function GeneratorGetStatus_(v){
var aj=%GeneratorGetContinuation(v);
if(aj<-1)return"running";
if(aj==-1)return"closed";
return"suspended";
}
GeneratorMirror.prototype.status=function(){
return GeneratorGetStatus_(this.value_);
};
GeneratorMirror.prototype.sourcePosition_=function(){
return %GeneratorGetSourcePosition(this.value_);
};
GeneratorMirror.prototype.sourceLocation=function(){
var ak=this.sourcePosition_();
if(!(ak===(void 0))){
var T=this.func().script();
if(T){
return T.locationFromPosition(ak,true);
}
}
};
GeneratorMirror.prototype.func=function(){
if(!this.func_){
this.func_=MakeMirror(%GeneratorGetFunction(this.value_));
}
return this.func_;
};
GeneratorMirror.prototype.receiver=function(){
if(!this.receiver_){
this.receiver_=MakeMirror(%GeneratorGetReceiver(this.value_));
}
return this.receiver_;
};
function PropertyMirror(x,O,P){
%_Call(Mirror,this,q.PROPERTY_TYPE);
this.mirror_=x;
this.name_=O;
this.value_=P[0];
this.details_=P[1];
this.is_interceptor_=P[2];
if(P.length>3){
this.exception_=P[3];
this.getter_=P[4];
this.setter_=P[5];
}
}
inherits(PropertyMirror,Mirror);
PropertyMirror.prototype.isReadOnly=function(){
return(this.attributes()&F.ReadOnly)!=0;
};
PropertyMirror.prototype.isEnum=function(){
return(this.attributes()&F.DontEnum)==0;
};
PropertyMirror.prototype.canDelete=function(){
return(this.attributes()&F.DontDelete)==0;
};
PropertyMirror.prototype.name=function(){
return this.name_;
};
PropertyMirror.prototype.toText=function(){
if((typeof(this.name_)==='symbol'))return %SymbolDescriptiveString(this.name_);
return this.name_;
};
PropertyMirror.prototype.isIndexed=function(){
for(var N=0;N<this.name_.length;N++){
if(this.name_[N]<'0'||'9'<this.name_[N]){
return false;
}
}
return true;
};
PropertyMirror.prototype.value=function(){
return MakeMirror(this.value_,false);
};
PropertyMirror.prototype.isException=function(){
return this.exception_?true:false;
};
PropertyMirror.prototype.attributes=function(){
return %DebugPropertyAttributesFromDetails(this.details_);
};
PropertyMirror.prototype.propertyType=function(){
return %DebugPropertyTypeFromDetails(this.details_);
};
PropertyMirror.prototype.hasGetter=function(){
return this.getter_?true:false;
};
PropertyMirror.prototype.hasSetter=function(){
return this.setter_?true:false;
};
PropertyMirror.prototype.getter=function(){
if(this.hasGetter()){
return MakeMirror(this.getter_);
}else{
return GetUndefinedMirror();
}
};
PropertyMirror.prototype.setter=function(){
if(this.hasSetter()){
return MakeMirror(this.setter_);
}else{
return GetUndefinedMirror();
}
};
PropertyMirror.prototype.isNative=function(){
return this.is_interceptor_||
((this.propertyType()==E.AccessorConstant)&&
!this.hasGetter()&&!this.hasSetter());
};
function InternalPropertyMirror(O,v){
%_Call(Mirror,this,q.INTERNAL_PROPERTY_TYPE);
this.name_=O;
this.value_=v;
}
inherits(InternalPropertyMirror,Mirror);
InternalPropertyMirror.prototype.name=function(){
return this.name_;
};
InternalPropertyMirror.prototype.value=function(){
return MakeMirror(this.value_,false);
};
var al=0;
var am=1;
var an=2;
var ao=3;
var ap=4;
var aq=5;
var ar=6;
var as=7;
var at=8;
var au=9;
var av=0;
var aw=1;
var ax=2;
var ay=1<<0;
var az=1<<1;
var aA=7<<2;
function FrameDetails(aB,V){
this.break_id_=aB;
this.details_=%GetFrameDetails(aB,V);
}
FrameDetails.prototype.frameId=function(){
%CheckExecutionState(this.break_id_);
return this.details_[al];
};
FrameDetails.prototype.receiver=function(){
%CheckExecutionState(this.break_id_);
return this.details_[am];
};
FrameDetails.prototype.func=function(){
%CheckExecutionState(this.break_id_);
return this.details_[an];
};
FrameDetails.prototype.isConstructCall=function(){
%CheckExecutionState(this.break_id_);
return this.details_[ar];
};
FrameDetails.prototype.isAtReturn=function(){
%CheckExecutionState(this.break_id_);
return this.details_[as];
};
FrameDetails.prototype.isDebuggerFrame=function(){
%CheckExecutionState(this.break_id_);
var aC=ay;
return(this.details_[at]&aC)==aC;
};
FrameDetails.prototype.isOptimizedFrame=function(){
%CheckExecutionState(this.break_id_);
var aC=az;
return(this.details_[at]&aC)==aC;
};
FrameDetails.prototype.isInlinedFrame=function(){
return this.inlinedFrameIndex()>0;
};
FrameDetails.prototype.inlinedFrameIndex=function(){
%CheckExecutionState(this.break_id_);
var aC=aA;
return(this.details_[at]&aC)>>2;
};
FrameDetails.prototype.argumentCount=function(){
%CheckExecutionState(this.break_id_);
return this.details_[ao];
};
FrameDetails.prototype.argumentName=function(V){
%CheckExecutionState(this.break_id_);
if(V>=0&&V<this.argumentCount()){
return this.details_[au+
V*ax+
av];
}
};
FrameDetails.prototype.argumentValue=function(V){
%CheckExecutionState(this.break_id_);
if(V>=0&&V<this.argumentCount()){
return this.details_[au+
V*ax+
aw];
}
};
FrameDetails.prototype.localCount=function(){
%CheckExecutionState(this.break_id_);
return this.details_[ap];
};
FrameDetails.prototype.sourcePosition=function(){
%CheckExecutionState(this.break_id_);
return this.details_[aq];
};
FrameDetails.prototype.localName=function(V){
%CheckExecutionState(this.break_id_);
if(V>=0&&V<this.localCount()){
var aD=au+
this.argumentCount()*ax;
return this.details_[aD+
V*ax+
av];
}
};
FrameDetails.prototype.localValue=function(V){
%CheckExecutionState(this.break_id_);
if(V>=0&&V<this.localCount()){
var aD=au+
this.argumentCount()*ax;
return this.details_[aD+
V*ax+
aw];
}
};
FrameDetails.prototype.returnValue=function(){
%CheckExecutionState(this.break_id_);
var aE=
au+
(this.argumentCount()+this.localCount())*ax;
if(this.details_[as]){
return this.details_[aE];
}
};
FrameDetails.prototype.scopeCount=function(){
if((this.scopeCount_===(void 0))){
this.scopeCount_=%GetScopeCount(this.break_id_,this.frameId());
}
return this.scopeCount_;
};
function FrameMirror(aB,V){
%_Call(Mirror,this,q.FRAME_TYPE);
this.break_id_=aB;
this.index_=V;
this.details_=new FrameDetails(aB,V);
}
inherits(FrameMirror,Mirror);
FrameMirror.prototype.details=function(){
return this.details_;
};
FrameMirror.prototype.index=function(){
return this.index_;
};
FrameMirror.prototype.func=function(){
if(this.func_){
return this.func_;
}
var aC=this.details_.func();
if((%IsFunction(aC))){
return this.func_=MakeMirror(aC);
}else{
return new UnresolvedFunctionMirror(aC);
}
};
FrameMirror.prototype.receiver=function(){
return MakeMirror(this.details_.receiver());
};
FrameMirror.prototype.isConstructCall=function(){
return this.details_.isConstructCall();
};
FrameMirror.prototype.isAtReturn=function(){
return this.details_.isAtReturn();
};
FrameMirror.prototype.isDebuggerFrame=function(){
return this.details_.isDebuggerFrame();
};
FrameMirror.prototype.isOptimizedFrame=function(){
return this.details_.isOptimizedFrame();
};
FrameMirror.prototype.isInlinedFrame=function(){
return this.details_.isInlinedFrame();
};
FrameMirror.prototype.inlinedFrameIndex=function(){
return this.details_.inlinedFrameIndex();
};
FrameMirror.prototype.argumentCount=function(){
return this.details_.argumentCount();
};
FrameMirror.prototype.argumentName=function(V){
return this.details_.argumentName(V);
};
FrameMirror.prototype.argumentValue=function(V){
return MakeMirror(this.details_.argumentValue(V));
};
FrameMirror.prototype.localCount=function(){
return this.details_.localCount();
};
FrameMirror.prototype.localName=function(V){
return this.details_.localName(V);
};
FrameMirror.prototype.localValue=function(V){
return MakeMirror(this.details_.localValue(V));
};
FrameMirror.prototype.returnValue=function(){
return MakeMirror(this.details_.returnValue());
};
FrameMirror.prototype.sourcePosition=function(){
return this.details_.sourcePosition();
};
FrameMirror.prototype.sourceLocation=function(){
var aF=this.func();
if(aF.resolved()){
var T=aF.script();
if(T){
return T.locationFromPosition(this.sourcePosition(),true);
}
}
};
FrameMirror.prototype.sourceLine=function(){
var aG=this.sourceLocation();
if(aG){
return aG.line;
}
};
FrameMirror.prototype.sourceColumn=function(){
var aG=this.sourceLocation();
if(aG){
return aG.column;
}
};
FrameMirror.prototype.sourceLineText=function(){
var aG=this.sourceLocation();
if(aG){
return aG.sourceText();
}
};
FrameMirror.prototype.scopeCount=function(){
return this.details_.scopeCount();
};
FrameMirror.prototype.scope=function(V){
return new ScopeMirror(this,(void 0),V);
};
FrameMirror.prototype.allScopes=function(aH){
var aI=%GetAllScopesDetails(this.break_id_,
this.details_.frameId(),
this.details_.inlinedFrameIndex(),
!!aH);
var S=[];
for(var N=0;N<aI.length;++N){
S.push(new ScopeMirror(this,(void 0),N,aI[N]));
}
return S;
};
FrameMirror.prototype.evaluate=function(source,disable_break,
opt_context_object){
return MakeMirror(%DebugEvaluate(this.break_id_,
this.details_.frameId(),
this.details_.inlinedFrameIndex(),
source,
(!!(disable_break)),
opt_context_object));
};
FrameMirror.prototype.invocationText=function(){
var S='';
var aF=this.func();
var aJ=this.receiver();
if(this.isConstructCall()){
S+='new ';
S+=aF.name()?aF.name():'[anonymous]';
}else if(this.isDebuggerFrame()){
S+='[debugger]';
}else{
var aK=
!aJ.className||(aJ.className()!='global');
if(aK){
S+=aJ.toText();
}
var Q=GetUndefinedMirror();
if(aJ.isObject()){
for(var aL=aJ;
!aL.isNull()&&Q.isUndefined();
aL=aL.protoObject()){
Q=aL.lookupProperty(aF);
}
}
if(!Q.isUndefined()){
if(!Q.isIndexed()){
if(aK){
S+='.';
}
S+=Q.toText();
}else{
S+='[';
S+=Q.toText();
S+=']';
}
if(aF.name()&&aF.name()!=Q.name()){
S+='(aka '+aF.name()+')';
}
}else{
if(aK){
S+='.';
}
S+=aF.name()?aF.name():'[anonymous]';
}
}
if(!this.isDebuggerFrame()){
S+='(';
for(var N=0;N<this.argumentCount();N++){
if(N!=0)S+=', ';
if(this.argumentName(N)){
S+=this.argumentName(N);
S+='=';
}
S+=this.argumentValue(N).toText();
}
S+=')';
}
if(this.isAtReturn()){
S+=' returning ';
S+=this.returnValue().toText();
}
return S;
};
FrameMirror.prototype.sourceAndPositionText=function(){
var S='';
var aF=this.func();
if(aF.resolved()){
var T=aF.script();
if(T){
if(T.name()){
S+=T.name();
}else{
S+='[unnamed]';
}
if(!this.isDebuggerFrame()){
var aG=this.sourceLocation();
S+=' line ';
S+=!(aG===(void 0))?(aG.line+1):'?';
S+=' column ';
S+=!(aG===(void 0))?(aG.column+1):'?';
if(!(this.sourcePosition()===(void 0))){
S+=' (position '+(this.sourcePosition()+1)+')';
}
}
}else{
S+='[no source]';
}
}else{
S+='[unresolved]';
}
return S;
};
FrameMirror.prototype.localsText=function(){
var S='';
var aM=this.localCount();
if(aM>0){
for(var N=0;N<aM;++N){
S+='      var ';
S+=this.localName(N);
S+=' = ';
S+=this.localValue(N).toText();
if(N<aM-1)S+='\n';
}
}
return S;
};
FrameMirror.prototype.restart=function(){
var S=%LiveEditRestartFrame(this.break_id_,this.index_);
if((S===(void 0))){
S="Failed to find requested frame";
}
return S;
};
FrameMirror.prototype.toText=function(aN){
var S='';
S+='#'+(this.index()<=9?'0':'')+this.index();
S+=' ';
S+=this.invocationText();
S+=' ';
S+=this.sourceAndPositionText();
if(aN){
S+='\n';
S+=this.localsText();
}
return S;
};
var aO=0;
var aP=1;
var aQ=2;
var aR=3;
var aS=4;
var aT=5;
function ScopeDetails(aU,aV,V,aW){
if(aU){
this.break_id_=aU.break_id_;
this.details_=aW||
%GetScopeDetails(aU.break_id_,
aU.details_.frameId(),
aU.details_.inlinedFrameIndex(),
V);
this.frame_id_=aU.details_.frameId();
this.inlined_frame_id_=aU.details_.inlinedFrameIndex();
}else{
this.details_=aW||%GetFunctionScopeDetails(aV.value(),V);
this.fun_value_=aV.value();
this.break_id_=(void 0);
}
this.index_=V;
}
ScopeDetails.prototype.type=function(){
if(!(this.break_id_===(void 0))){
%CheckExecutionState(this.break_id_);
}
return this.details_[aO];
};
ScopeDetails.prototype.object=function(){
if(!(this.break_id_===(void 0))){
%CheckExecutionState(this.break_id_);
}
return this.details_[aP];
};
ScopeDetails.prototype.name=function(){
if(!(this.break_id_===(void 0))){
%CheckExecutionState(this.break_id_);
}
return this.details_[aQ];
};
ScopeDetails.prototype.startPosition=function(){
if(!(this.break_id_===(void 0))){
%CheckExecutionState(this.break_id_);
}
return this.details_[aR];
}
ScopeDetails.prototype.endPosition=function(){
if(!(this.break_id_===(void 0))){
%CheckExecutionState(this.break_id_);
}
return this.details_[aS];
}
ScopeDetails.prototype.func=function(){
if(!(this.break_id_===(void 0))){
%CheckExecutionState(this.break_id_);
}
return this.details_[aT];
}
ScopeDetails.prototype.setVariableValueImpl=function(O,aX){
var aY;
if(!(this.break_id_===(void 0))){
%CheckExecutionState(this.break_id_);
aY=%SetScopeVariableValue(this.break_id_,this.frame_id_,
this.inlined_frame_id_,this.index_,O,aX);
}else{
aY=%SetScopeVariableValue(this.fun_value_,null,null,this.index_,
O,aX);
}
if(!aY)throw g(2,"Failed to set variable value");
};
function ScopeMirror(aU,aV,V,aW){
%_Call(Mirror,this,q.SCOPE_TYPE);
if(aU){
this.frame_index_=aU.index_;
}else{
this.frame_index_=(void 0);
}
this.scope_index_=V;
this.details_=new ScopeDetails(aU,aV,V,aW);
}
inherits(ScopeMirror,Mirror);
ScopeMirror.prototype.details=function(){
return this.details_;
};
ScopeMirror.prototype.frameIndex=function(){
return this.frame_index_;
};
ScopeMirror.prototype.scopeIndex=function(){
return this.scope_index_;
};
ScopeMirror.prototype.scopeType=function(){
return this.details_.type();
};
ScopeMirror.prototype.scopeObject=function(){
var I=this.scopeType()==G.Local||
this.scopeType()==G.Closure||
this.scopeType()==G.Script;
return MakeMirror(this.details_.object(),I);
};
ScopeMirror.prototype.setVariableValue=function(O,aX){
this.details_.setVariableValueImpl(O,aX);
};
function ScriptMirror(T){
%_Call(Mirror,this,q.SCRIPT_TYPE);
this.script_=T;
this.context_=new ContextMirror(T.context_data);
this.allocateHandle_();
}
inherits(ScriptMirror,Mirror);
ScriptMirror.prototype.value=function(){
return this.script_;
};
ScriptMirror.prototype.name=function(){
return this.script_.name||this.script_.nameOrSourceURL();
};
ScriptMirror.prototype.id=function(){
return this.script_.id;
};
ScriptMirror.prototype.source=function(){
return this.script_.source;
};
ScriptMirror.prototype.setSource=function(aZ){
%DebugSetScriptSource(this.script_,aZ);
};
ScriptMirror.prototype.lineOffset=function(){
return this.script_.line_offset;
};
ScriptMirror.prototype.columnOffset=function(){
return this.script_.column_offset;
};
ScriptMirror.prototype.data=function(){
return this.script_.data;
};
ScriptMirror.prototype.scriptType=function(){
return this.script_.type;
};
ScriptMirror.prototype.compilationType=function(){
return this.script_.compilation_type;
};
ScriptMirror.prototype.lineCount=function(){
return this.script_.lineCount();
};
ScriptMirror.prototype.locationFromPosition=function(
position,include_resource_offset){
return this.script_.locationFromPosition(position,include_resource_offset);
};
ScriptMirror.prototype.sourceSlice=function(ba,bb){
return this.script_.sourceSlice(ba,bb);
};
ScriptMirror.prototype.context=function(){
return this.context_;
};
ScriptMirror.prototype.evalFromScript=function(){
return MakeMirror(this.script_.eval_from_script);
};
ScriptMirror.prototype.evalFromFunctionName=function(){
return MakeMirror(this.script_.eval_from_function_name);
};
ScriptMirror.prototype.evalFromLocation=function(){
var bc=this.evalFromScript();
if(!bc.isUndefined()){
var bd=this.script_.eval_from_script_position;
return bc.locationFromPosition(bd,true);
}
};
ScriptMirror.prototype.toText=function(){
var S='';
S+=this.name();
S+=' (lines: ';
if(this.lineOffset()>0){
S+=this.lineOffset();
S+='-';
S+=this.lineOffset()+this.lineCount()-1;
}else{
S+=this.lineCount();
}
S+=')';
return S;
};
function ContextMirror(be){
%_Call(Mirror,this,q.CONTEXT_TYPE);
this.data_=be;
this.allocateHandle_();
}
inherits(ContextMirror,Mirror);
ContextMirror.prototype.data=function(){
return this.data_;
};
function MakeMirrorSerializer(P,bf){
return new JSONProtocolSerializer(P,bf);
}
function JSONProtocolSerializer(P,bf){
this.details_=P;
this.options_=bf;
this.mirrors_=[];
}
JSONProtocolSerializer.prototype.serializeReference=function(x){
return this.serialize_(x,true,true);
};
JSONProtocolSerializer.prototype.serializeValue=function(x){
var bg=this.serialize_(x,false,true);
return bg;
};
JSONProtocolSerializer.prototype.serializeReferencedObjects=function(){
var bh=[];
var bi=this.mirrors_.length;
for(var N=0;N<bi;N++){
bh.push(this.serialize_(this.mirrors_[N],false,false));
}
return bh;
};
JSONProtocolSerializer.prototype.includeSource_=function(){
return this.options_&&this.options_.includeSource;
};
JSONProtocolSerializer.prototype.inlineRefs_=function(){
return this.options_&&this.options_.inlineRefs;
};
JSONProtocolSerializer.prototype.maxStringLength_=function(){
if((this.options_===(void 0))||
(this.options_.maxStringLength===(void 0))){
return D;
}
return this.options_.maxStringLength;
};
JSONProtocolSerializer.prototype.add_=function(x){
for(var N=0;N<this.mirrors_.length;N++){
if(this.mirrors_[N]===x){
return;
}
}
this.mirrors_.push(x);
};
JSONProtocolSerializer.prototype.serializeReferenceWithDisplayData_=
function(x){
var bj={};
bj.ref=x.handle();
bj.type=x.type();
switch(x.type()){
case q.UNDEFINED_TYPE:
case q.NULL_TYPE:
case q.BOOLEAN_TYPE:
case q.NUMBER_TYPE:
bj.value=x.value();
break;
case q.STRING_TYPE:
bj.value=x.getTruncatedValue(this.maxStringLength_());
break;
case q.SYMBOL_TYPE:
bj.description=x.description();
break;
case q.FUNCTION_TYPE:
bj.name=x.name();
bj.inferredName=x.inferredName();
if(x.script()){
bj.scriptId=x.script().id();
}
break;
case q.ERROR_TYPE:
case q.REGEXP_TYPE:
bj.value=x.toText();
break;
case q.OBJECT_TYPE:
bj.className=x.className();
break;
}
return bj;
};
JSONProtocolSerializer.prototype.serialize_=function(x,reference,
P){
if(reference&&
(x.isValue()||x.isScript()||x.isContext())){
if(this.inlineRefs_()&&x.isValue()){
return this.serializeReferenceWithDisplayData_(x);
}else{
this.add_(x);
return{'ref':x.handle()};
}
}
var bh={};
if(x.isValue()||x.isScript()||x.isContext()){
bh.handle=x.handle();
}
bh.type=x.type();
switch(x.type()){
case q.UNDEFINED_TYPE:
case q.NULL_TYPE:
break;
case q.BOOLEAN_TYPE:
bh.value=x.value();
break;
case q.NUMBER_TYPE:
bh.value=NumberToJSON_(x.value());
break;
case q.STRING_TYPE:
if(this.maxStringLength_()!=-1&&
x.length()>this.maxStringLength_()){
var bk=x.getTruncatedValue(this.maxStringLength_());
bh.value=bk;
bh.fromIndex=0;
bh.toIndex=this.maxStringLength_();
}else{
bh.value=x.value();
}
bh.length=x.length();
break;
case q.SYMBOL_TYPE:
bh.description=x.description();
break;
case q.OBJECT_TYPE:
case q.FUNCTION_TYPE:
case q.ERROR_TYPE:
case q.REGEXP_TYPE:
case q.PROMISE_TYPE:
case q.GENERATOR_TYPE:
this.serializeObject_(x,bh,P);
break;
case q.PROPERTY_TYPE:
case q.INTERNAL_PROPERTY_TYPE:
throw g(2,
'PropertyMirror cannot be serialized independently');
break;
case q.FRAME_TYPE:
this.serializeFrame_(x,bh);
break;
case q.SCOPE_TYPE:
this.serializeScope_(x,bh);
break;
case q.SCRIPT_TYPE:
if(x.name()){
bh.name=x.name();
}
bh.id=x.id();
bh.lineOffset=x.lineOffset();
bh.columnOffset=x.columnOffset();
bh.lineCount=x.lineCount();
if(x.data()){
bh.data=x.data();
}
if(this.includeSource_()){
bh.source=x.source();
}else{
var bl=x.source().substring(0,80);
bh.sourceStart=bl;
}
bh.sourceLength=x.source().length;
bh.scriptType=x.scriptType();
bh.compilationType=x.compilationType();
if(x.compilationType()==1&&
x.evalFromScript()){
bh.evalFromScript=
this.serializeReference(x.evalFromScript());
var bm=x.evalFromLocation();
if(bm){
bh.evalFromLocation={line:bm.line,
column:bm.column};
}
if(x.evalFromFunctionName()){
bh.evalFromFunctionName=x.evalFromFunctionName();
}
}
if(x.context()){
bh.context=this.serializeReference(x.context());
}
break;
case q.CONTEXT_TYPE:
bh.data=x.data();
break;
}
bh.text=x.toText();
return bh;
};
JSONProtocolSerializer.prototype.serializeObject_=function(x,bh,
P){
bh.className=x.className();
bh.constructorFunction=
this.serializeReference(x.constructorFunction());
bh.protoObject=this.serializeReference(x.protoObject());
bh.prototypeObject=this.serializeReference(x.prototypeObject());
if(x.hasNamedInterceptor()){
bh.namedInterceptor=true;
}
if(x.hasIndexedInterceptor()){
bh.indexedInterceptor=true;
}
if(x.isFunction()){
bh.name=x.name();
if(!(x.inferredName()===(void 0))){
bh.inferredName=x.inferredName();
}
bh.resolved=x.resolved();
if(x.resolved()){
bh.source=x.source();
}
if(x.script()){
bh.script=this.serializeReference(x.script());
bh.scriptId=x.script().id();
serializeLocationFields(x.sourceLocation(),bh);
}
bh.scopes=[];
for(var N=0;N<x.scopeCount();N++){
var bn=x.scope(N);
bh.scopes.push({
type:bn.scopeType(),
index:N
});
}
}
if(x.isGenerator()){
bh.status=x.status();
bh.func=this.serializeReference(x.func())
bh.receiver=this.serializeReference(x.receiver())
serializeLocationFields(x.sourceLocation(),bh);
}
if(x.isDate()){
bh.value=x.value();
}
if(x.isPromise()){
bh.status=x.status();
bh.promiseValue=this.serializeReference(x.promiseValue());
}
var M=x.propertyNames();
for(var N=0;N<M.length;N++){
var bo=x.property(M[N]);
M[N]=this.serializeProperty_(bo);
if(P){
this.add_(bo.value());
}
}
bh.properties=M;
var bp=x.internalProperties();
if(bp.length>0){
var bq=[];
for(var N=0;N<bp.length;N++){
bq.push(this.serializeInternalProperty_(bp[N]));
}
bh.internalProperties=bq;
}
};
function serializeLocationFields(aG,bh){
if(!aG){
return;
}
bh.position=aG.position;
var br=aG.line;
if(!(br===(void 0))){
bh.line=br;
}
var bs=aG.column;
if(!(bs===(void 0))){
bh.column=bs;
}
}
JSONProtocolSerializer.prototype.serializeProperty_=function(bo){
var S={};
S.name=bo.name();
var bt=bo.value();
if(this.inlineRefs_()&&bt.isValue()){
S.value=this.serializeReferenceWithDisplayData_(bt);
}else{
if(bo.attributes()!=F.None){
S.attributes=bo.attributes();
}
S.propertyType=bo.propertyType();
S.ref=bt.handle();
}
return S;
};
JSONProtocolSerializer.prototype.serializeInternalProperty_=
function(bo){
var S={};
S.name=bo.name();
var bt=bo.value();
if(this.inlineRefs_()&&bt.isValue()){
S.value=this.serializeReferenceWithDisplayData_(bt);
}else{
S.ref=bt.handle();
}
return S;
};
JSONProtocolSerializer.prototype.serializeFrame_=function(x,bh){
bh.index=x.index();
bh.receiver=this.serializeReference(x.receiver());
var aF=x.func();
bh.func=this.serializeReference(aF);
var T=aF.script();
if(T){
bh.script=this.serializeReference(T);
}
bh.constructCall=x.isConstructCall();
bh.atReturn=x.isAtReturn();
if(x.isAtReturn()){
bh.returnValue=this.serializeReference(x.returnValue());
}
bh.debuggerFrame=x.isDebuggerFrame();
var K=new d(x.argumentCount());
for(var N=0;N<x.argumentCount();N++){
var bu={};
var bv=x.argumentName(N);
if(bv){
bu.name=bv;
}
bu.value=this.serializeReference(x.argumentValue(N));
K[N]=bu;
}
bh.arguments=K;
var K=new d(x.localCount());
for(var N=0;N<x.localCount();N++){
var bw={};
bw.name=x.localName(N);
bw.value=this.serializeReference(x.localValue(N));
K[N]=bw;
}
bh.locals=K;
serializeLocationFields(x.sourceLocation(),bh);
var bx=x.sourceLineText();
if(!(bx===(void 0))){
bh.sourceLineText=bx;
}
bh.scopes=[];
for(var N=0;N<x.scopeCount();N++){
var bn=x.scope(N);
bh.scopes.push({
type:bn.scopeType(),
index:N
});
}
};
JSONProtocolSerializer.prototype.serializeScope_=function(x,bh){
bh.index=x.scopeIndex();
bh.frameIndex=x.frameIndex();
bh.type=x.scopeType();
bh.object=this.inlineRefs_()?
this.serializeValue(x.scopeObject()):
this.serializeReference(x.scopeObject());
};
function NumberToJSON_(v){
if(e(v)){
return'NaN';
}
if(!(%_IsSmi(%IS_VAR(v))||((v==v)&&(v!=1/0)&&(v!=-1/0)))){
if(v>0){
return'Infinity';
}else{
return'-Infinity';
}
}
return v;
}
b.InstallFunctions(a,2,[
"MakeMirror",MakeMirror,
"MakeMirrorSerializer",MakeMirrorSerializer,
"LookupMirror",LookupMirror,
"ToggleMirrorCache",ToggleMirrorCache,
"MirrorCacheIsEmpty",MirrorCacheIsEmpty,
]);
b.InstallConstants(a,[
"ScopeType",G,
"PropertyType",E,
"PropertyAttribute",F,
"Mirror",Mirror,
"ValueMirror",ValueMirror,
"UndefinedMirror",UndefinedMirror,
"NullMirror",NullMirror,
"BooleanMirror",BooleanMirror,
"NumberMirror",NumberMirror,
"StringMirror",StringMirror,
"SymbolMirror",SymbolMirror,
"ObjectMirror",ObjectMirror,
"FunctionMirror",FunctionMirror,
"UnresolvedFunctionMirror",UnresolvedFunctionMirror,
"ArrayMirror",ArrayMirror,
"DateMirror",DateMirror,
"RegExpMirror",RegExpMirror,
"ErrorMirror",ErrorMirror,
"PromiseMirror",PromiseMirror,
"MapMirror",MapMirror,
"SetMirror",SetMirror,
"IteratorMirror",IteratorMirror,
"GeneratorMirror",GeneratorMirror,
"PropertyMirror",PropertyMirror,
"InternalPropertyMirror",InternalPropertyMirror,
"FrameMirror",FrameMirror,
"ScriptMirror",ScriptMirror,
"ScopeMirror",ScopeMirror,
"FrameDetails",FrameDetails,
]);
b.InstallFunctions(b,2,[
"ClearMirrorCache",ClearMirrorCache
]);
b.Export(function(by){
by.MirrorType=q;
});
})

debugò]
(function(a,b){
"use strict";
var c=a.FrameMirror;
var d=a.Array;
var e=a.RegExp;
var f=a.isNaN;
var g=a.JSON.parse;
var h=a.JSON.stringify;
var i=a.LookupMirror;
var j;
var k;
var l=a.MakeMirror;
var m=a.MakeMirrorSerializer;
var n=a.Math.min;
var o=a.Mirror;
var p;
var q=a.parseInt;
var r=a.ValueMirror;
b.Import(function(s){
j=s.MakeError;
k=s.MakeTypeError;
p=s.MirrorType;
});
var t=10;
var u={};
var v=/^(?:\s*(?:\/\*.*?\*\/)*)*/;
u.DebugEvent={Break:1,
Exception:2,
NewFunction:3,
BeforeCompile:4,
AfterCompile:5,
CompileError:6,
AsyncTaskEvent:7};
u.ExceptionBreak={Caught:0,
Uncaught:1};
u.StepAction={StepOut:0,
StepNext:1,
StepIn:2,
StepFrame:3};
u.ScriptType={Native:0,
Extension:1,
Normal:2};
u.ScriptCompilationType={Host:0,
Eval:1,
JSON:2};
u.ScriptBreakPointType={ScriptId:0,
ScriptName:1,
ScriptRegExp:2};
u.BreakPositionAlignment={
Statement:0,
BreakPosition:1
};
function ScriptTypeFlag(w){
return(1<<w);
}
var x=0;
var y=1;
var z=[];
var A=[];
var B={
breakPointsActive:{
value:true,
getValue:function(){return this.value;},
setValue:function(C){
this.value=!!C;
%SetBreakPointsActive(this.value);
}
},
breakOnCaughtException:{
getValue:function(){return u.isBreakOnException();},
setValue:function(C){
if(C){
u.setBreakOnException();
}else{
u.clearBreakOnException();
}
}
},
breakOnUncaughtException:{
getValue:function(){return u.isBreakOnUncaughtException();},
setValue:function(C){
if(C){
u.setBreakOnUncaughtException();
}else{
u.clearBreakOnUncaughtException();
}
}
},
};
function MakeBreakPoint(D,E){
var F=new BreakPoint(D,E);
z.push(F);
return F;
}
function BreakPoint(D,E){
this.source_position_=D;
if(E){
this.script_break_point_=E;
}else{
this.number_=y++;
}
this.active_=true;
this.condition_=null;
}
BreakPoint.prototype.number=function(){
return this.number_;
};
BreakPoint.prototype.func=function(){
return this.func_;
};
BreakPoint.prototype.source_position=function(){
return this.source_position_;
};
BreakPoint.prototype.active=function(){
if(this.script_break_point()){
return this.script_break_point().active();
}
return this.active_;
};
BreakPoint.prototype.condition=function(){
if(this.script_break_point()&&this.script_break_point().condition()){
return this.script_break_point().condition();
}
return this.condition_;
};
BreakPoint.prototype.script_break_point=function(){
return this.script_break_point_;
};
BreakPoint.prototype.enable=function(){
this.active_=true;
};
BreakPoint.prototype.disable=function(){
this.active_=false;
};
BreakPoint.prototype.setCondition=function(G){
this.condition_=G;
};
BreakPoint.prototype.isTriggered=function(H){
if(!this.active())return false;
if(this.condition()){
try{
var I=H.frame(0).evaluate(this.condition());
if(!(I instanceof r)||!I.value_){
return false;
}
}catch(e){
return false;
}
}
return true;
};
function IsBreakPointTriggered(J,F){
return F.isTriggered(MakeExecutionState(J));
}
function ScriptBreakPoint(w,script_id_or_name,opt_line,opt_column,
opt_groupId,opt_position_alignment){
this.type_=w;
if(w==u.ScriptBreakPointType.ScriptId){
this.script_id_=script_id_or_name;
}else if(w==u.ScriptBreakPointType.ScriptName){
this.script_name_=script_id_or_name;
}else if(w==u.ScriptBreakPointType.ScriptRegExp){
this.script_regexp_object_=new e(script_id_or_name);
}else{
throw j(2,"Unexpected breakpoint type "+w);
}
this.line_=opt_line||0;
this.column_=opt_column;
this.groupId_=opt_groupId;
this.position_alignment_=(opt_position_alignment===(void 0))
?u.BreakPositionAlignment.Statement:opt_position_alignment;
this.active_=true;
this.condition_=null;
this.break_points_=[];
}
ScriptBreakPoint.prototype.cloneForOtherScript=function(K){
var L=new ScriptBreakPoint(u.ScriptBreakPointType.ScriptId,
K.id,this.line_,this.column_,this.groupId_,
this.position_alignment_);
L.number_=y++;
A.push(L);
L.active_=this.active_;
L.condition_=this.condition_;
return L;
};
ScriptBreakPoint.prototype.number=function(){
return this.number_;
};
ScriptBreakPoint.prototype.groupId=function(){
return this.groupId_;
};
ScriptBreakPoint.prototype.type=function(){
return this.type_;
};
ScriptBreakPoint.prototype.script_id=function(){
return this.script_id_;
};
ScriptBreakPoint.prototype.script_name=function(){
return this.script_name_;
};
ScriptBreakPoint.prototype.script_regexp_object=function(){
return this.script_regexp_object_;
};
ScriptBreakPoint.prototype.line=function(){
return this.line_;
};
ScriptBreakPoint.prototype.column=function(){
return this.column_;
};
ScriptBreakPoint.prototype.actual_locations=function(){
var M=[];
for(var N=0;N<this.break_points_.length;N++){
M.push(this.break_points_[N].actual_location);
}
return M;
};
ScriptBreakPoint.prototype.update_positions=function(O,P){
this.line_=O;
this.column_=P;
};
ScriptBreakPoint.prototype.active=function(){
return this.active_;
};
ScriptBreakPoint.prototype.condition=function(){
return this.condition_;
};
ScriptBreakPoint.prototype.enable=function(){
this.active_=true;
};
ScriptBreakPoint.prototype.disable=function(){
this.active_=false;
};
ScriptBreakPoint.prototype.setCondition=function(G){
this.condition_=G;
};
ScriptBreakPoint.prototype.matchesScript=function(Q){
if(this.type_==u.ScriptBreakPointType.ScriptId){
return this.script_id_==Q.id;
}else{
if(!(Q.line_offset<=this.line_&&
this.line_<Q.line_offset+Q.lineCount())){
return false;
}
if(this.type_==u.ScriptBreakPointType.ScriptName){
return this.script_name_==Q.nameOrSourceURL();
}else if(this.type_==u.ScriptBreakPointType.ScriptRegExp){
return this.script_regexp_object_.test(Q.nameOrSourceURL());
}else{
throw j(2,"Unexpected breakpoint type "+this.type_);
}
}
};
ScriptBreakPoint.prototype.set=function(Q){
var P=this.column();
var O=this.line();
if((P===(void 0))){
var R=Q.sourceLine(this.line());
if(!Q.sourceColumnStart_){
Q.sourceColumnStart_=new d(Q.lineCount());
}
if((Q.sourceColumnStart_[O]===(void 0))){
Q.sourceColumnStart_[O]=
R.match(v)[0].length;
}
P=Q.sourceColumnStart_[O];
}
var S=u.findScriptSourcePosition(Q,this.line(),P);
if((S===null))return;
var F=MakeBreakPoint(S,this);
var T=%SetScriptBreakPoint(Q,S,
this.position_alignment_,
F);
if((T===(void 0))){
T=S;
}
var U=Q.locationFromPosition(T,true);
F.actual_location={line:U.line,
column:U.column,
script_id:Q.id};
this.break_points_.push(F);
return F;
};
ScriptBreakPoint.prototype.clear=function(){
var V=[];
for(var N=0;N<z.length;N++){
if(z[N].script_break_point()&&
z[N].script_break_point()===this){
%ClearBreakPoint(z[N]);
}else{
V.push(z[N]);
}
}
z=V;
this.break_points_=[];
};
function UpdateScriptBreakPoints(Q){
for(var N=0;N<A.length;N++){
var F=A[N];
if((F.type()==u.ScriptBreakPointType.ScriptName||
F.type()==u.ScriptBreakPointType.ScriptRegExp)&&
F.matchesScript(Q)){
F.set(Q);
}
}
}
function GetScriptBreakPoints(Q){
var W=[];
for(var N=0;N<A.length;N++){
if(A[N].matchesScript(Q)){
W.push(A[N]);
}
}
return W;
}
u.setListener=function(X,Y){
if(!(%IsFunction(X))&&!(X===(void 0))&&!(X===null)){
throw k(33);
}
%SetDebugEventListener(X,Y);
};
u.breakLocations=function(Z,aa){
if(!(%IsFunction(Z)))throw k(33);
var ab=(aa===(void 0))
?u.BreakPositionAlignment.Statement:aa;
return %GetBreakLocations(Z,ab);
};
u.findScript=function(ac){
if((%IsFunction(ac))){
return %FunctionGetScript(ac);
}else if((%_IsRegExp(ac))){
var ad=u.scripts();
var ae=null;
var af=0;
for(var N in ad){
var Q=ad[N];
if(ac.test(Q.name)){
ae=Q;
af++;
}
}
if(af==1){
return ae;
}else{
return(void 0);
}
}else{
return %GetScript(ac);
}
};
u.scriptSource=function(ac){
return this.findScript(ac).source;
};
u.source=function(Z){
if(!(%IsFunction(Z)))throw k(33);
return %FunctionGetSourceCode(Z);
};
u.sourcePosition=function(Z){
if(!(%IsFunction(Z)))throw k(33);
return %FunctionGetScriptSourcePosition(Z);
};
u.findFunctionSourceLocation=function(ag,ah,ai){
var Q=%FunctionGetScript(ag);
var aj=%FunctionGetScriptSourcePosition(ag);
return Q.locationFromLine(ah,ai,aj);
};
u.findScriptSourcePosition=function(Q,ah,ai){
var ak=Q.locationFromLine(ah,ai);
return ak?ak.position:null;
};
u.findBreakPoint=function(al,am){
var F;
for(var N=0;N<z.length;N++){
if(z[N].number()==al){
F=z[N];
if(am){
z.splice(N,1);
}
break;
}
}
if(F){
return F;
}else{
return this.findScriptBreakPoint(al,am);
}
};
u.findBreakPointActualLocations=function(al){
for(var N=0;N<A.length;N++){
if(A[N].number()==al){
return A[N].actual_locations();
}
}
for(var N=0;N<z.length;N++){
if(z[N].number()==al){
return[z[N].actual_location];
}
}
return[];
};
u.setBreakPoint=function(ag,ah,ai,an){
if(!(%IsFunction(ag)))throw k(33);
if(%FunctionIsAPIFunction(ag)){
throw j(2,'Cannot set break point in native code.');
}
var ao=
this.findFunctionSourceLocation(ag,ah,ai).position;
var D=ao-this.sourcePosition(ag);
var Q=%FunctionGetScript(ag);
if(Q.type==u.ScriptType.Native){
throw j(2,'Cannot set break point in native code.');
}
if(Q&&Q.id){
D+=%FunctionGetScriptSourcePosition(ag);
var ak=Q.locationFromPosition(D,false);
return this.setScriptBreakPointById(Q.id,
ak.line,ak.column,
an);
}else{
var F=MakeBreakPoint(D);
var T=
%SetFunctionBreakPoint(ag,D,F);
T+=this.sourcePosition(ag);
var U=Q.locationFromPosition(T,true);
F.actual_location={line:U.line,
column:U.column,
script_id:Q.id};
F.setCondition(an);
return F.number();
}
};
u.setBreakPointByScriptIdAndPosition=function(script_id,S,
G,enabled,
opt_position_alignment)
{
var F=MakeBreakPoint(S);
F.setCondition(G);
if(!enabled){
F.disable();
}
var ad=this.scripts();
var ap=(opt_position_alignment===(void 0))
?u.BreakPositionAlignment.Statement:opt_position_alignment;
for(var N=0;N<ad.length;N++){
if(script_id==ad[N].id){
F.actual_position=%SetScriptBreakPoint(ad[N],S,
ap,F);
break;
}
}
return F;
};
u.enableBreakPoint=function(al){
var F=this.findBreakPoint(al,false);
if(F){
F.enable();
}
};
u.disableBreakPoint=function(al){
var F=this.findBreakPoint(al,false);
if(F){
F.disable();
}
};
u.changeBreakPointCondition=function(al,G){
var F=this.findBreakPoint(al,false);
F.setCondition(G);
};
u.clearBreakPoint=function(al){
var F=this.findBreakPoint(al,true);
if(F){
return %ClearBreakPoint(F);
}else{
F=this.findScriptBreakPoint(al,true);
if(!F)throw j(2,'Invalid breakpoint');
}
};
u.clearAllBreakPoints=function(){
for(var N=0;N<z.length;N++){
var F=z[N];
%ClearBreakPoint(F);
}
z=[];
};
u.disableAllBreakPoints=function(){
for(var N=1;N<y;N++){
u.disableBreakPoint(N);
}
%ChangeBreakOnException(u.ExceptionBreak.Caught,false);
%ChangeBreakOnException(u.ExceptionBreak.Uncaught,false);
};
u.findScriptBreakPoint=function(al,am){
var aq;
for(var N=0;N<A.length;N++){
if(A[N].number()==al){
aq=A[N];
if(am){
aq.clear();
A.splice(N,1);
}
break;
}
}
return aq;
};
u.setScriptBreakPoint=function(w,script_id_or_name,
ah,ai,an,
opt_groupId,opt_position_alignment){
var aq=
new ScriptBreakPoint(w,script_id_or_name,ah,ai,
opt_groupId,opt_position_alignment);
aq.number_=y++;
aq.setCondition(an);
A.push(aq);
var ad=this.scripts();
for(var N=0;N<ad.length;N++){
if(aq.matchesScript(ad[N])){
aq.set(ad[N]);
}
}
return aq.number();
};
u.setScriptBreakPointById=function(script_id,
ah,ai,
an,opt_groupId,
opt_position_alignment){
return this.setScriptBreakPoint(u.ScriptBreakPointType.ScriptId,
script_id,ah,ai,
an,opt_groupId,
opt_position_alignment);
};
u.setScriptBreakPointByName=function(script_name,
ah,ai,
an,opt_groupId){
return this.setScriptBreakPoint(u.ScriptBreakPointType.ScriptName,
script_name,ah,ai,
an,opt_groupId);
};
u.setScriptBreakPointByRegExp=function(script_regexp,
ah,ai,
an,opt_groupId){
return this.setScriptBreakPoint(u.ScriptBreakPointType.ScriptRegExp,
script_regexp,ah,ai,
an,opt_groupId);
};
u.enableScriptBreakPoint=function(al){
var aq=this.findScriptBreakPoint(al,false);
aq.enable();
};
u.disableScriptBreakPoint=function(al){
var aq=this.findScriptBreakPoint(al,false);
aq.disable();
};
u.changeScriptBreakPointCondition=function(
al,G){
var aq=this.findScriptBreakPoint(al,false);
aq.setCondition(G);
};
u.scriptBreakPoints=function(){
return A;
};
u.clearStepping=function(){
%ClearStepping();
};
u.setBreakOnException=function(){
return %ChangeBreakOnException(u.ExceptionBreak.Caught,true);
};
u.clearBreakOnException=function(){
return %ChangeBreakOnException(u.ExceptionBreak.Caught,false);
};
u.isBreakOnException=function(){
return!!%IsBreakOnException(u.ExceptionBreak.Caught);
};
u.setBreakOnUncaughtException=function(){
return %ChangeBreakOnException(u.ExceptionBreak.Uncaught,true);
};
u.clearBreakOnUncaughtException=function(){
return %ChangeBreakOnException(u.ExceptionBreak.Uncaught,false);
};
u.isBreakOnUncaughtException=function(){
return!!%IsBreakOnException(u.ExceptionBreak.Uncaught);
};
u.showBreakPoints=function(Z,ar,as){
if(!(%IsFunction(Z)))throw j(33);
var at=ar?this.scriptSource(Z):this.source(Z);
var au=ar?this.sourcePosition(Z):0;
var M=this.breakLocations(Z,as);
if(!M)return at;
M.sort(function(av,aw){return av-aw;});
var W="";
var ax=0;
var ay;
for(var N=0;N<M.length;N++){
ay=M[N]-au;
W+=at.slice(ax,ay);
W+="[B"+N+"]";
ax=ay;
}
ay=at.length;
W+=at.substring(ax,ay);
return W;
};
u.scripts=function(){
return %DebugGetLoadedScripts();
};
u.debuggerFlags=function(){
return B;
};
u.MakeMirror=l;
function MakeExecutionState(J){
return new ExecutionState(J);
}
function ExecutionState(J){
this.break_id=J;
this.selected_frame=0;
}
ExecutionState.prototype.prepareStep=function(az){
if(az===u.StepAction.StepIn||
az===u.StepAction.StepOut||
az===u.StepAction.StepNext||
az===u.StepAction.StepFrame){
return %PrepareStep(this.break_id,az);
}
throw k(33);
};
ExecutionState.prototype.evaluateGlobal=function(at,disable_break,
opt_additional_context){
return l(%DebugEvaluateGlobal(this.break_id,at,
(!!(disable_break)),
opt_additional_context));
};
ExecutionState.prototype.frameCount=function(){
return %GetFrameCount(this.break_id);
};
ExecutionState.prototype.frame=function(aA){
if(aA==null)aA=this.selected_frame;
if(aA<0||aA>=this.frameCount()){
throw k(32);
}
return new c(this.break_id,aA);
};
ExecutionState.prototype.setSelectedFrame=function(aB){
var N=(%_ToNumber(aB));
if(N<0||N>=this.frameCount()){
throw k(32);
}
this.selected_frame=N;
};
ExecutionState.prototype.selectedFrame=function(){
return this.selected_frame;
};
ExecutionState.prototype.debugCommandProcessor=function(aC){
return new DebugCommandProcessor(this,aC);
};
function MakeBreakEvent(J,aD){
return new BreakEvent(J,aD);
}
function BreakEvent(J,aD){
this.frame_=new c(J,0);
this.break_points_hit_=aD;
}
BreakEvent.prototype.eventType=function(){
return u.DebugEvent.Break;
};
BreakEvent.prototype.func=function(){
return this.frame_.func();
};
BreakEvent.prototype.sourceLine=function(){
return this.frame_.sourceLine();
};
BreakEvent.prototype.sourceColumn=function(){
return this.frame_.sourceColumn();
};
BreakEvent.prototype.sourceLineText=function(){
return this.frame_.sourceLineText();
};
BreakEvent.prototype.breakPointsHit=function(){
return this.break_points_hit_;
};
BreakEvent.prototype.toJSONProtocol=function(){
var aE={seq:x++,
type:"event",
event:"break",
body:{invocationText:this.frame_.invocationText()}
};
var Q=this.func().script();
if(Q){
aE.body.sourceLine=this.sourceLine(),
aE.body.sourceColumn=this.sourceColumn(),
aE.body.sourceLineText=this.sourceLineText(),
aE.body.script=MakeScriptObject_(Q,false);
}
if(this.breakPointsHit()){
aE.body.breakpoints=[];
for(var N=0;N<this.breakPointsHit().length;N++){
var aF=this.breakPointsHit()[N];
var aq=aF.script_break_point();
var aG;
if(aq){
aG=aq.number();
}else{
aG=aF.number();
}
aE.body.breakpoints.push(aG);
}
}
return h(ObjectToProtocolObject_(aE));
};
function MakeExceptionEvent(J,aH,aI,aJ){
return new ExceptionEvent(J,aH,aI,aJ);
}
function ExceptionEvent(J,aH,aI,aJ){
this.exec_state_=new ExecutionState(J);
this.exception_=aH;
this.uncaught_=aI;
this.promise_=aJ;
}
ExceptionEvent.prototype.eventType=function(){
return u.DebugEvent.Exception;
};
ExceptionEvent.prototype.exception=function(){
return this.exception_;
};
ExceptionEvent.prototype.uncaught=function(){
return this.uncaught_;
};
ExceptionEvent.prototype.promise=function(){
return this.promise_;
};
ExceptionEvent.prototype.func=function(){
return this.exec_state_.frame(0).func();
};
ExceptionEvent.prototype.sourceLine=function(){
return this.exec_state_.frame(0).sourceLine();
};
ExceptionEvent.prototype.sourceColumn=function(){
return this.exec_state_.frame(0).sourceColumn();
};
ExceptionEvent.prototype.sourceLineText=function(){
return this.exec_state_.frame(0).sourceLineText();
};
ExceptionEvent.prototype.toJSONProtocol=function(){
var aE=new ProtocolMessage();
aE.event="exception";
aE.body={uncaught:this.uncaught_,
exception:l(this.exception_)
};
if(this.exec_state_.frameCount()>0){
aE.body.sourceLine=this.sourceLine();
aE.body.sourceColumn=this.sourceColumn();
aE.body.sourceLineText=this.sourceLineText();
var Q=this.func().script();
if(Q){
aE.body.script=MakeScriptObject_(Q,false);
}
}else{
aE.body.sourceLine=-1;
}
return aE.toJSONProtocol();
};
function MakeCompileEvent(Q,w){
return new CompileEvent(Q,w);
}
function CompileEvent(Q,w){
this.script_=l(Q);
this.type_=w;
}
CompileEvent.prototype.eventType=function(){
return this.type_;
};
CompileEvent.prototype.script=function(){
return this.script_;
};
CompileEvent.prototype.toJSONProtocol=function(){
var aE=new ProtocolMessage();
aE.running=true;
switch(this.type_){
case u.DebugEvent.BeforeCompile:
aE.event="beforeCompile";
break;
case u.DebugEvent.AfterCompile:
aE.event="afterCompile";
break;
case u.DebugEvent.CompileError:
aE.event="compileError";
break;
}
aE.body={};
aE.body.script=this.script_;
return aE.toJSONProtocol();
};
function MakeScriptObject_(Q,aK){
var aE={id:Q.id(),
name:Q.name(),
lineOffset:Q.lineOffset(),
columnOffset:Q.columnOffset(),
lineCount:Q.lineCount(),
};
if(!(Q.data()===(void 0))){
aE.data=Q.data();
}
if(aK){
aE.source=Q.source();
}
return aE;
}
function MakeAsyncTaskEvent(aL){
return new AsyncTaskEvent(aL);
}
function AsyncTaskEvent(aL){
this.type_=aL.type;
this.name_=aL.name;
this.id_=aL.id;
}
AsyncTaskEvent.prototype.type=function(){
return this.type_;
}
AsyncTaskEvent.prototype.name=function(){
return this.name_;
}
AsyncTaskEvent.prototype.id=function(){
return this.id_;
}
function DebugCommandProcessor(H,aC){
this.exec_state_=H;
this.running_=aC||false;
}
DebugCommandProcessor.prototype.processDebugRequest=function(aM){
return this.processDebugJSONRequest(aM);
};
function ProtocolMessage(aM){
this.seq=x++;
if(aM){
this.type='response';
this.request_seq=aM.seq;
this.command=aM.command;
}else{
this.type='event';
}
this.success=true;
this.running=(void 0);
}
ProtocolMessage.prototype.setOption=function(aN,C){
if(!this.options_){
this.options_={};
}
this.options_[aN]=C;
};
ProtocolMessage.prototype.failed=function(aO,aP){
this.success=false;
this.message=aO;
if((typeof(aP)==='object')){
this.error_details=aP;
}
};
ProtocolMessage.prototype.toJSONProtocol=function(){
var aQ={};
aQ.seq=this.seq;
if(this.request_seq){
aQ.request_seq=this.request_seq;
}
aQ.type=this.type;
if(this.event){
aQ.event=this.event;
}
if(this.command){
aQ.command=this.command;
}
if(this.success){
aQ.success=this.success;
}else{
aQ.success=false;
}
if(this.body){
var aR;
var aS=m(true,this.options_);
if(this.body instanceof o){
aR=aS.serializeValue(this.body);
}else if(this.body instanceof d){
aR=[];
for(var N=0;N<this.body.length;N++){
if(this.body[N]instanceof o){
aR.push(aS.serializeValue(this.body[N]));
}else{
aR.push(ObjectToProtocolObject_(this.body[N],aS));
}
}
}else{
aR=ObjectToProtocolObject_(this.body,aS);
}
aQ.body=aR;
aQ.refs=aS.serializeReferencedObjects();
}
if(this.message){
aQ.message=this.message;
}
if(this.error_details){
aQ.error_details=this.error_details;
}
aQ.running=this.running;
return h(aQ);
};
DebugCommandProcessor.prototype.createResponse=function(aM){
return new ProtocolMessage(aM);
};
DebugCommandProcessor.prototype.processDebugJSONRequest=function(
json_request){
var aM;
var aT;
try{
try{
aM=g(json_request);
aT=this.createResponse(aM);
if(!aM.type){
throw j(2,'Type not specified');
}
if(aM.type!='request'){
throw j(2,
"Illegal type '"+aM.type+"' in request");
}
if(!aM.command){
throw j(2,'Command not specified');
}
if(aM.arguments){
var aU=aM.arguments;
if(aU.inlineRefs||aU.compactFormat){
aT.setOption('inlineRefs',true);
}
if(!(aU.maxStringLength===(void 0))){
aT.setOption('maxStringLength',aU.maxStringLength);
}
}
var aV=aM.command.toLowerCase();
var aW=DebugCommandProcessor.prototype.dispatch_[aV];
if((%IsFunction(aW))){
%_Call(aW,this,aM,aT);
}else{
throw j(2,
'Unknown command "'+aM.command+'" in request');
}
}catch(e){
if(!aT){
aT=this.createResponse();
}
aT.success=false;
aT.message=(%_ToString(e));
}
try{
if(!(aT.running===(void 0))){
this.running_=aT.running;
}
aT.running=this.running_;
return aT.toJSONProtocol();
}catch(e){
return'{"seq":'+aT.seq+','+
'"request_seq":'+aM.seq+','+
'"type":"response",'+
'"success":false,'+
'"message":"Internal error: '+(%_ToString(e))+'"}';
}
}catch(e){
return'{"seq":0,"type":"response","success":false,"message":"Internal error"}';
}
};
DebugCommandProcessor.prototype.continueRequest_=function(aM,aT){
if(aM.arguments){
var az=u.StepAction.StepIn;
var aX=aM.arguments.stepaction;
if(aX){
if(aX=='in'){
az=u.StepAction.StepIn;
}else if(aX=='next'){
az=u.StepAction.StepNext;
}else if(aX=='out'){
az=u.StepAction.StepOut;
}else{
throw j(2,
'Invalid stepaction argument "'+aX+'".');
}
}
this.exec_state_.prepareStep(az);
}
aT.running=true;
};
DebugCommandProcessor.prototype.breakRequest_=function(aM,aT){
};
DebugCommandProcessor.prototype.setBreakPointRequest_=
function(aM,aT){
if(!aM.arguments){
aT.failed('Missing arguments');
return;
}
var w=aM.arguments.type;
var aY=aM.arguments.target;
var O=aM.arguments.line;
var P=aM.arguments.column;
var aZ=(aM.arguments.enabled===(void 0))?
true:aM.arguments.enabled;
var G=aM.arguments.condition;
var ba=aM.arguments.groupId;
if(!w||(aY===(void 0))){
aT.failed('Missing argument "type" or "target"');
return;
}
var al;
if(w=='function'){
if(!(typeof(aY)==='string')){
aT.failed('Argument "target" is not a string value');
return;
}
var Z;
try{
Z=this.exec_state_.evaluateGlobal(aY).value();
}catch(e){
aT.failed('Error: "'+(%_ToString(e))+
'" evaluating "'+aY+'"');
return;
}
if(!(%IsFunction(Z))){
aT.failed('"'+aY+'" does not evaluate to a function');
return;
}
al=u.setBreakPoint(Z,O,P,G);
}else if(w=='handle'){
var bb=q(aY,10);
var I=i(bb);
if(!I){
return aT.failed('Object #'+bb+'# not found');
}
if(!I.isFunction()){
return aT.failed('Object #'+bb+'# is not a function');
}
al=u.setBreakPoint(I.value(),
O,P,G);
}else if(w=='script'){
al=
u.setScriptBreakPointByName(aY,O,P,G,
ba);
}else if(w=='scriptId'){
al=
u.setScriptBreakPointById(aY,O,P,G,ba);
}else if(w=='scriptRegExp'){
al=
u.setScriptBreakPointByRegExp(aY,O,P,G,
ba);
}else{
aT.failed('Illegal type "'+w+'"');
return;
}
var F=u.findBreakPoint(al);
if(!aZ){
u.disableBreakPoint(al);
}
aT.body={type:w,
breakpoint:al};
if(F instanceof ScriptBreakPoint){
if(F.type()==u.ScriptBreakPointType.ScriptId){
aT.body.type='scriptId';
aT.body.script_id=F.script_id();
}else if(F.type()==u.ScriptBreakPointType.ScriptName){
aT.body.type='scriptName';
aT.body.script_name=F.script_name();
}else if(F.type()==u.ScriptBreakPointType.ScriptRegExp){
aT.body.type='scriptRegExp';
aT.body.script_regexp=F.script_regexp_object().source;
}else{
throw j(2,
"Unexpected breakpoint type: "+F.type());
}
aT.body.line=F.line();
aT.body.column=F.column();
aT.body.actual_locations=F.actual_locations();
}else{
aT.body.type='function';
aT.body.actual_locations=[F.actual_location];
}
};
DebugCommandProcessor.prototype.changeBreakPointRequest_=function(
aM,aT){
if(!aM.arguments){
aT.failed('Missing arguments');
return;
}
var F=(%_ToNumber(aM.arguments.breakpoint));
var aZ=aM.arguments.enabled;
var G=aM.arguments.condition;
if(!F){
aT.failed('Missing argument "breakpoint"');
return;
}
if(!(aZ===(void 0))){
if(aZ){
u.enableBreakPoint(F);
}else{
u.disableBreakPoint(F);
}
}
if(!(G===(void 0))){
u.changeBreakPointCondition(F,G);
}
};
DebugCommandProcessor.prototype.clearBreakPointGroupRequest_=function(
aM,aT){
if(!aM.arguments){
aT.failed('Missing arguments');
return;
}
var bc=aM.arguments.groupId;
if(!bc){
aT.failed('Missing argument "groupId"');
return;
}
var bd=[];
var be=[];
for(var N=0;N<A.length;N++){
var bf=A[N];
if(bf.groupId()==bc){
bd.push(bf.number());
bf.clear();
}else{
be.push(bf);
}
}
A=be;
aT.body={breakpoints:bd};
};
DebugCommandProcessor.prototype.clearBreakPointRequest_=function(
aM,aT){
if(!aM.arguments){
aT.failed('Missing arguments');
return;
}
var F=(%_ToNumber(aM.arguments.breakpoint));
if(!F){
aT.failed('Missing argument "breakpoint"');
return;
}
u.clearBreakPoint(F);
aT.body={breakpoint:F};
};
DebugCommandProcessor.prototype.listBreakpointsRequest_=function(
aM,aT){
var bg=[];
for(var N=0;N<A.length;N++){
var F=A[N];
var bh={
number:F.number(),
line:F.line(),
column:F.column(),
groupId:F.groupId(),
active:F.active(),
condition:F.condition(),
actual_locations:F.actual_locations()
};
if(F.type()==u.ScriptBreakPointType.ScriptId){
bh.type='scriptId';
bh.script_id=F.script_id();
}else if(F.type()==u.ScriptBreakPointType.ScriptName){
bh.type='scriptName';
bh.script_name=F.script_name();
}else if(F.type()==u.ScriptBreakPointType.ScriptRegExp){
bh.type='scriptRegExp';
bh.script_regexp=F.script_regexp_object().source;
}else{
throw j(2,
"Unexpected breakpoint type: "+F.type());
}
bg.push(bh);
}
aT.body={
breakpoints:bg,
breakOnExceptions:u.isBreakOnException(),
breakOnUncaughtExceptions:u.isBreakOnUncaughtException()
};
};
DebugCommandProcessor.prototype.disconnectRequest_=
function(aM,aT){
u.disableAllBreakPoints();
this.continueRequest_(aM,aT);
};
DebugCommandProcessor.prototype.setExceptionBreakRequest_=
function(aM,aT){
if(!aM.arguments){
aT.failed('Missing arguments');
return;
}
var w=aM.arguments.type;
if(!w){
aT.failed('Missing argument "type"');
return;
}
var aZ;
if(w=='all'){
aZ=!u.isBreakOnException();
}else if(w=='uncaught'){
aZ=!u.isBreakOnUncaughtException();
}
if(!(aM.arguments.enabled===(void 0))){
aZ=aM.arguments.enabled;
if((aZ!=true)&&(aZ!=false)){
aT.failed('Illegal value for "enabled":"'+aZ+'"');
}
}
if(w=='all'){
%ChangeBreakOnException(u.ExceptionBreak.Caught,aZ);
}else if(w=='uncaught'){
%ChangeBreakOnException(u.ExceptionBreak.Uncaught,aZ);
}else{
aT.failed('Unknown "type":"'+w+'"');
}
aT.body={'type':w,'enabled':aZ};
};
DebugCommandProcessor.prototype.backtraceRequest_=function(
aM,aT){
var bi=this.exec_state_.frameCount();
if(bi==0){
aT.body={
totalFrames:bi
};
return;
}
var bj=0;
var bk=t;
if(aM.arguments){
if(aM.arguments.fromFrame){
bj=aM.arguments.fromFrame;
}
if(aM.arguments.toFrame){
bk=aM.arguments.toFrame;
}
if(aM.arguments.bottom){
var bl=bi-bj;
bj=bi-bk;
bk=bl;
}
if(bj<0||bk<0){
return aT.failed('Invalid frame number');
}
}
bk=n(bi,bk);
if(bk<=bj){
var bm='Invalid frame range';
return aT.failed(bm);
}
var bn=[];
for(var N=bj;N<bk;N++){
bn.push(this.exec_state_.frame(N));
}
aT.body={
fromFrame:bj,
toFrame:bk,
totalFrames:bi,
frames:bn
};
};
DebugCommandProcessor.prototype.frameRequest_=function(aM,aT){
if(this.exec_state_.frameCount()==0){
return aT.failed('No frames');
}
if(aM.arguments){
var aB=aM.arguments.number;
if(aB<0||this.exec_state_.frameCount()<=aB){
return aT.failed('Invalid frame number');
}
this.exec_state_.setSelectedFrame(aM.arguments.number);
}
aT.body=this.exec_state_.frame();
};
DebugCommandProcessor.prototype.resolveFrameFromScopeDescription_=
function(bo){
if(bo&&!(bo.frameNumber===(void 0))){
var bp=bo.frameNumber;
if(bp<0||this.exec_state_.frameCount()<=bp){
throw k(32);
}
return this.exec_state_.frame(bp);
}else{
return this.exec_state_.frame();
}
};
DebugCommandProcessor.prototype.resolveScopeHolder_=
function(bo){
if(bo&&"functionHandle"in bo){
if(!(typeof(bo.functionHandle)==='number')){
throw j(2,'Function handle must be a number');
}
var bq=i(bo.functionHandle);
if(!bq){
throw j(2,'Failed to find function object by handle');
}
if(!bq.isFunction()){
throw j(2,
'Value of non-function type is found by handle');
}
return bq;
}else{
if(this.exec_state_.frameCount()==0){
throw j(2,'No scopes');
}
var br=this.resolveFrameFromScopeDescription_(bo);
return br;
}
}
DebugCommandProcessor.prototype.scopesRequest_=function(aM,aT){
var bs=this.resolveScopeHolder_(aM.arguments);
var bt=bs.scopeCount();
var bu=[];
for(var N=0;N<bt;N++){
bu.push(bs.scope(N));
}
aT.body={
fromScope:0,
toScope:bt,
totalScopes:bt,
scopes:bu
};
};
DebugCommandProcessor.prototype.scopeRequest_=function(aM,aT){
var bs=this.resolveScopeHolder_(aM.arguments);
var bv=0;
if(aM.arguments&&!(aM.arguments.number===(void 0))){
bv=(%_ToNumber(aM.arguments.number));
if(bv<0||bs.scopeCount()<=bv){
return aT.failed('Invalid scope number');
}
}
aT.body=bs.scope(bv);
};
DebugCommandProcessor.resolveValue_=function(bw){
if("handle"in bw){
var bx=i(bw.handle);
if(!bx){
throw j(2,"Failed to resolve value by handle, ' #"+
bw.handle+"# not found");
}
return bx.value();
}else if("stringDescription"in bw){
if(bw.type==p.BOOLEAN_TYPE){
return(!!(bw.stringDescription));
}else if(bw.type==p.NUMBER_TYPE){
return(%_ToNumber(bw.stringDescription));
}if(bw.type==p.STRING_TYPE){
return(%_ToString(bw.stringDescription));
}else{
throw j(2,"Unknown type");
}
}else if("value"in bw){
return bw.value;
}else if(bw.type==p.UNDEFINED_TYPE){
return(void 0);
}else if(bw.type==p.NULL_TYPE){
return null;
}else{
throw j(2,"Failed to parse value description");
}
};
DebugCommandProcessor.prototype.setVariableValueRequest_=
function(aM,aT){
if(!aM.arguments){
aT.failed('Missing arguments');
return;
}
if((aM.arguments.name===(void 0))){
aT.failed('Missing variable name');
}
var by=aM.arguments.name;
var bo=aM.arguments.scope;
var bs=this.resolveScopeHolder_(bo);
if((bo.number===(void 0))){
aT.failed('Missing scope number');
}
var bv=(%_ToNumber(bo.number));
var bz=bs.scope(bv);
var bA=
DebugCommandProcessor.resolveValue_(aM.arguments.newValue);
bz.setVariableValue(by,bA);
var bB=l(bA);
aT.body={
newValue:bB
};
};
DebugCommandProcessor.prototype.evaluateRequest_=function(aM,aT){
if(!aM.arguments){
return aT.failed('Missing arguments');
}
var bC=aM.arguments.expression;
var br=aM.arguments.frame;
var a=aM.arguments.global;
var bD=aM.arguments.disable_break;
var bE=aM.arguments.additional_context;
try{
bC=(%_ToString(bC));
}catch(e){
return aT.failed('Failed to convert expression argument to string');
}
if(!(br===(void 0))&&a){
return aT.failed('Arguments "frame" and "global" are exclusive');
}
var bF;
if(bE){
bF={};
for(var N=0;N<bE.length;N++){
var bG=bE[N];
if(!(typeof(bG.name)==='string')){
return aT.failed("Context element #"+N+
" doesn't contain name:string property");
}
var bH=DebugCommandProcessor.resolveValue_(bG);
bF[bG.name]=bH;
}
}
if(a){
aT.body=this.exec_state_.evaluateGlobal(
bC,(!!(bD)),bF);
return;
}
if((bD===(void 0))){
bD=true;
}
if(this.exec_state_.frameCount()==0){
return aT.failed('No frames');
}
if(!(br===(void 0))){
var bI=(%_ToNumber(br));
if(bI<0||bI>=this.exec_state_.frameCount()){
return aT.failed('Invalid frame "'+br+'"');
}
aT.body=this.exec_state_.frame(bI).evaluate(
bC,(!!(bD)),bF);
return;
}else{
aT.body=this.exec_state_.frame().evaluate(
bC,(!!(bD)),bF);
return;
}
};
DebugCommandProcessor.prototype.lookupRequest_=function(aM,aT){
if(!aM.arguments){
return aT.failed('Missing arguments');
}
var bJ=aM.arguments.handles;
if((bJ===(void 0))){
return aT.failed('Argument "handles" missing');
}
if(!(aM.arguments.includeSource===(void 0))){
var bK=(!!(aM.arguments.includeSource));
aT.setOption('includeSource',bK);
}
var bL={};
for(var N=0;N<bJ.length;N++){
var bb=bJ[N];
var I=i(bb);
if(!I){
return aT.failed('Object #'+bb+'# not found');
}
bL[bb]=I;
}
aT.body=bL;
};
DebugCommandProcessor.prototype.referencesRequest_=
function(aM,aT){
if(!aM.arguments){
return aT.failed('Missing arguments');
}
var w=aM.arguments.type;
var bb=aM.arguments.handle;
if((w===(void 0))){
return aT.failed('Argument "type" missing');
}
if((bb===(void 0))){
return aT.failed('Argument "handle" missing');
}
if(w!='referencedBy'&&w!='constructedBy'){
return aT.failed('Invalid type "'+w+'"');
}
var I=i(bb);
if(I){
if(w=='referencedBy'){
aT.body=I.referencedBy();
}else{
aT.body=I.constructedBy();
}
}else{
return aT.failed('Object #'+bb+'# not found');
}
};
DebugCommandProcessor.prototype.sourceRequest_=function(aM,aT){
if(this.exec_state_.frameCount()==0){
return aT.failed('No source');
}
var bM;
var bN;
var br=this.exec_state_.frame();
if(aM.arguments){
bM=aM.arguments.fromLine;
bN=aM.arguments.toLine;
if(!(aM.arguments.frame===(void 0))){
var bI=(%_ToNumber(aM.arguments.frame));
if(bI<0||bI>=this.exec_state_.frameCount()){
return aT.failed('Invalid frame "'+br+'"');
}
br=this.exec_state_.frame(bI);
}
}
var Q=br.func().script();
if(!Q){
return aT.failed('No source');
}
var bO=Q.sourceSlice(bM,bN);
if(!bO){
return aT.failed('Invalid line interval');
}
aT.body={};
aT.body.source=bO.sourceText();
aT.body.fromLine=bO.from_line;
aT.body.toLine=bO.to_line;
aT.body.fromPosition=bO.from_position;
aT.body.toPosition=bO.to_position;
aT.body.totalLines=Q.lineCount();
};
DebugCommandProcessor.prototype.scriptsRequest_=function(aM,aT){
var bP=ScriptTypeFlag(u.ScriptType.Normal);
var bK=false;
var bQ=null;
if(aM.arguments){
if(!(aM.arguments.types===(void 0))){
bP=(%_ToNumber(aM.arguments.types));
if(f(bP)||bP<0){
return aT.failed('Invalid types "'+
aM.arguments.types+'"');
}
}
if(!(aM.arguments.includeSource===(void 0))){
bK=(!!(aM.arguments.includeSource));
aT.setOption('includeSource',bK);
}
if((%_IsArray(aM.arguments.ids))){
bQ={};
var bR=aM.arguments.ids;
for(var N=0;N<bR.length;N++){
bQ[bR[N]]=true;
}
}
var bS=null;
var bT=null;
if(!(aM.arguments.filter===(void 0))){
var bU=(%_ToNumber(aM.arguments.filter));
if(!f(bU)){
bT=bU;
}
bS=aM.arguments.filter;
}
}
var ad=%DebugGetLoadedScripts();
aT.body=[];
for(var N=0;N<ad.length;N++){
if(bQ&&!bQ[ad[N].id]){
continue;
}
if(bS||bT){
var Q=ad[N];
var bV=false;
if(bT&&!bV){
if(Q.id&&Q.id===bT){
bV=true;
}
}
if(bS&&!bV){
if(Q.name&&Q.name.indexOf(bS)>=0){
bV=true;
}
}
if(!bV)continue;
}
if(bP&ScriptTypeFlag(ad[N].type)){
aT.body.push(l(ad[N]));
}
}
};
DebugCommandProcessor.prototype.suspendRequest_=function(aM,aT){
aT.running=false;
};
DebugCommandProcessor.prototype.versionRequest_=function(aM,aT){
aT.body={
V8Version:%GetV8Version()
};
};
DebugCommandProcessor.prototype.changeLiveRequest_=function(
aM,aT){
if(!aM.arguments){
return aT.failed('Missing arguments');
}
var bW=aM.arguments.script_id;
var bX=!!aM.arguments.preview_only;
var ad=%DebugGetLoadedScripts();
var bY=null;
for(var N=0;N<ad.length;N++){
if(ad[N].id==bW){
bY=ad[N];
}
}
if(!bY){
aT.failed('Script not found');
return;
}
var bZ=new d();
if(!(typeof(aM.arguments.new_source)==='string')){
throw"new_source argument expected";
}
var ca=aM.arguments.new_source;
var cb;
try{
cb=u.LiveEdit.SetScriptSource(bY,
ca,bX,bZ);
}catch(e){
if(e instanceof u.LiveEdit.Failure&&"details"in e){
aT.failed(e.message,e.details);
return;
}
throw e;
}
aT.body={change_log:bZ,result:cb};
if(!bX&&!this.running_&&cb.stack_modified){
aT.body.stepin_recommended=true;
}
};
DebugCommandProcessor.prototype.restartFrameRequest_=function(
aM,aT){
if(!aM.arguments){
return aT.failed('Missing arguments');
}
var br=aM.arguments.frame;
if(this.exec_state_.frameCount()==0){
return aT.failed('No frames');
}
var cc;
if(!(br===(void 0))){
var bI=(%_ToNumber(br));
if(bI<0||bI>=this.exec_state_.frameCount()){
return aT.failed('Invalid frame "'+br+'"');
}
cc=this.exec_state_.frame(bI);
}else{
cc=this.exec_state_.frame();
}
var cb=cc.restart();
aT.body={result:cb};
};
DebugCommandProcessor.prototype.debuggerFlagsRequest_=function(aM,
aT){
if(!aM.arguments){
aT.failed('Missing arguments');
return;
}
var cd=aM.arguments.flags;
aT.body={flags:[]};
if(!(cd===(void 0))){
for(var N=0;N<cd.length;N++){
var aN=cd[N].name;
var ce=B[aN];
if(!ce){
continue;
}
if('value'in cd[N]){
ce.setValue(cd[N].value);
}
aT.body.flags.push({name:aN,value:ce.getValue()});
}
}else{
for(var aN in B){
var C=B[aN].getValue();
aT.body.flags.push({name:aN,value:C});
}
}
};
DebugCommandProcessor.prototype.v8FlagsRequest_=function(aM,aT){
var cd=aM.arguments.flags;
if(!cd)cd='';
%SetFlags(cd);
};
DebugCommandProcessor.prototype.gcRequest_=function(aM,aT){
var w=aM.arguments.type;
if(!w)w='all';
var cf=%GetHeapUsage();
%CollectGarbage(w);
var cg=%GetHeapUsage();
aT.body={"before":cf,"after":cg};
};
DebugCommandProcessor.prototype.dispatch_=(function(){
var ch=DebugCommandProcessor.prototype;
return{
"continue":ch.continueRequest_,
"break":ch.breakRequest_,
"setbreakpoint":ch.setBreakPointRequest_,
"changebreakpoint":ch.changeBreakPointRequest_,
"clearbreakpoint":ch.clearBreakPointRequest_,
"clearbreakpointgroup":ch.clearBreakPointGroupRequest_,
"disconnect":ch.disconnectRequest_,
"setexceptionbreak":ch.setExceptionBreakRequest_,
"listbreakpoints":ch.listBreakpointsRequest_,
"backtrace":ch.backtraceRequest_,
"frame":ch.frameRequest_,
"scopes":ch.scopesRequest_,
"scope":ch.scopeRequest_,
"setvariablevalue":ch.setVariableValueRequest_,
"evaluate":ch.evaluateRequest_,
"lookup":ch.lookupRequest_,
"references":ch.referencesRequest_,
"source":ch.sourceRequest_,
"scripts":ch.scriptsRequest_,
"suspend":ch.suspendRequest_,
"version":ch.versionRequest_,
"changelive":ch.changeLiveRequest_,
"restartframe":ch.restartFrameRequest_,
"flags":ch.debuggerFlagsRequest_,
"v8flag":ch.v8FlagsRequest_,
"gc":ch.gcRequest_,
};
})();
DebugCommandProcessor.prototype.isRunning=function(){
return this.running_;
};
DebugCommandProcessor.prototype.systemBreak=function(ci,aU){
return %SystemBreak();
};
function ObjectToProtocolObject_(cj,ck){
var cl={};
for(var aV in cj){
if(typeof aV=='string'){
var cm=ValueToProtocolValue_(cj[aV],
ck);
if(!(cm===(void 0))){
cl[aV]=cm;
}
}
}
return cl;
}
function ArrayToProtocolArray_(bg,ck){
var aQ=[];
for(var N=0;N<bg.length;N++){
aQ.push(ValueToProtocolValue_(bg[N],ck));
}
return aQ;
}
function ValueToProtocolValue_(C,ck){
var aQ;
switch(typeof C){
case'object':
if(C instanceof o){
aQ=ck.serializeValue(C);
}else if((%_IsArray(C))){
aQ=ArrayToProtocolArray_(C,ck);
}else{
aQ=ObjectToProtocolObject_(C,ck);
}
break;
case'boolean':
case'string':
case'number':
aQ=C;
break;
default:
aQ=null;
}
return aQ;
}
b.InstallConstants(a,[
"Debug",u,
"DebugCommandProcessor",DebugCommandProcessor,
"BreakEvent",BreakEvent,
"CompileEvent",CompileEvent,
"BreakPoint",BreakPoint,
]);
b.InstallFunctions(b,2,[
"MakeExecutionState",MakeExecutionState,
"MakeExceptionEvent",MakeExceptionEvent,
"MakeBreakEvent",MakeBreakEvent,
"MakeCompileEvent",MakeCompileEvent,
"MakeAsyncTaskEvent",MakeAsyncTaskEvent,
"IsBreakPointTriggered",IsBreakPointTriggered,
"UpdateScriptBreakPoints",UpdateScriptBreakPoints,
]);
b.Export(function(cn){
cn.GetScriptBreakPoints=GetScriptBreakPoints;
});
})

 liveedit%ú
(function(a,b){
"use strict";
var c=a.Debug.findScriptSourcePosition;
var d;
var e=a.Array;
var f=a.Math.floor;
var g=a.SyntaxError;
b.Import(function(h){
d=h.GetScriptBreakPoints;
});
var i;
function ApplyPatchMultiChunk(script,diff_array,new_source,preview_only,
change_log){
var j=script.source;
var k=GatherCompileInfo(j,script);
var l=BuildCodeInfoTree(k);
var m=new PosTranslator(diff_array);
MarkChangedFunctions(l,m.GetChunks());
FindLiveSharedInfos(l,script);
var n;
try{
n=GatherCompileInfo(new_source,script);
}catch(e){
var o=
new Failure("Failed to compile new version of script: "+e);
if(e instanceof g){
var p={
type:"liveedit_compile_error",
syntaxErrorMessage:e.message
};
CopyErrorPositionToDetails(e,p);
o.details=p;
}
throw o;
}
var q=BuildCodeInfoTree(n);
FindCorrespondingFunctions(l,q);
var r=new e();
var s=new e();
var t=new e();
var u=new e();
function HarvestTodo(v){
function CollectDamaged(w){
s.push(w);
for(var x=0;x<w.children.length;x++){
CollectDamaged(w.children[x]);
}
}
function CollectNew(y){
for(var x=0;x<y.length;x++){
t.push(y[x]);
CollectNew(y[x].children);
}
}
if(v.status==i.DAMAGED){
CollectDamaged(v);
return;
}
if(v.status==i.UNCHANGED){
u.push(v);
}else if(v.status==i.SOURCE_CHANGED){
u.push(v);
}else if(v.status==i.CHANGED){
r.push(v);
CollectNew(v.unmatched_new_nodes);
}
for(var x=0;x<v.children.length;x++){
HarvestTodo(v.children[x]);
}
}
var z={
change_tree:DescribeChangeTree(l),
textual_diff:{
old_len:j.length,
new_len:new_source.length,
chunks:diff_array
},
updated:false
};
if(preview_only){
return z;
}
HarvestTodo(l);
var A=new e();
var B=new e();
for(var x=0;x<r.length;x++){
var C=r[x].live_shared_function_infos;
var D=
r[x].corresponding_node.info.shared_function_info;
if(C){
for(var E=0;E<C.length;E++){
A.push(C[E]);
B.push(D);
}
}
}
var F=
CheckStackActivations(A,
B,
change_log);
z.stack_modified=F!=0;
var G=TemporaryRemoveBreakPoints(script,change_log);
var H;
if(s.length==0){
%LiveEditReplaceScript(script,new_source,null);
H=(void 0);
}else{
var I=CreateNameForOldScript(script);
H=%LiveEditReplaceScript(script,new_source,
I);
var J=new e();
change_log.push({linked_to_old_script:J});
for(var x=0;x<s.length;x++){
LinkToOldScript(s[x],H,
J);
}
z.created_script_name=I;
}
for(var x=0;x<t.length;x++){
%LiveEditFunctionSetScript(
t[x].info.shared_function_info,script);
}
for(var x=0;x<r.length;x++){
PatchFunctionCode(r[x],change_log);
}
var K=new e();
change_log.push({position_patched:K});
for(var x=0;x<u.length;x++){
PatchPositions(u[x],diff_array,
K);
if(u[x].live_shared_function_infos){
u[x].live_shared_function_infos.
forEach(function(L){
%LiveEditFunctionSourceUpdated(L.raw_array);
});
}
}
G(m,H);
z.updated=true;
return z;
}
function GatherCompileInfo(M,N){
var O=%LiveEditGatherCompileInfo(N,M);
var P=new e();
var Q=new e();
for(var x=0;x<O.length;x++){
var L=new FunctionCompileInfo(O[x]);
%LiveEditFunctionSetScript(L.shared_function_info,(void 0));
P.push(L);
Q.push(x);
}
for(var x=0;x<P.length;x++){
var R=x;
for(var E=x+1;E<P.length;E++){
if(P[R].start_position>P[E].start_position){
R=E;
}
}
if(R!=x){
var S=P[R];
var T=Q[R];
P[R]=P[x];
Q[R]=Q[x];
P[x]=S;
Q[x]=T;
}
}
var U=0;
function ResetIndexes(V,W){
var X=-1;
while(U<P.length&&
P[U].outer_index==W){
var Y=U;
P[Y].outer_index=V;
if(X!=-1){
P[X].next_sibling_index=Y;
}
X=Y;
U++;
ResetIndexes(Y,Q[Y]);
}
if(X!=-1){
P[X].next_sibling_index=-1;
}
}
ResetIndexes(-1,-1);
Assert(U==P.length);
return P;
}
function PatchFunctionCode(v,Z){
var D=v.corresponding_node.info;
if(v.live_shared_function_infos){
v.live_shared_function_infos.forEach(function(aa){
%LiveEditReplaceFunctionCode(D.raw_array,
aa.raw_array);
for(var x=0;x<v.children.length;x++){
if(v.children[x].corresponding_node){
var ab=
v.children[x].corresponding_node.info.
shared_function_info;
if(v.children[x].live_shared_function_infos){
v.children[x].live_shared_function_infos.
forEach(function(ac){
%LiveEditReplaceRefToNestedFunction(
aa.info,
ab,
ac.info);
});
}
}
}
});
Z.push({function_patched:D.function_name});
}else{
Z.push({function_patched:D.function_name,
function_info_not_found:true});
}
}
function LinkToOldScript(ad,H,ae){
if(ad.live_shared_function_infos){
ad.live_shared_function_infos.
forEach(function(L){
%LiveEditFunctionSetScript(L.info,H);
});
ae.push({name:ad.info.function_name});
}else{
ae.push(
{name:ad.info.function_name,not_found:true});
}
}
function TemporaryRemoveBreakPoints(af,Z){
var ag=d(af);
var ah=[];
Z.push({break_points_update:ah});
var ai=[];
for(var x=0;x<ag.length;x++){
var aj=ag[x];
aj.clear();
var ak=c(af,
aj.line(),aj.column());
var al={
position:ak,
line:aj.line(),
column:aj.column()
};
ai.push(al);
}
return function(m,am){
for(var x=0;x<ag.length;x++){
var aj=ag[x];
if(am){
var an=aj.cloneForOtherScript(am);
an.set(am);
ah.push({
type:"copied_to_old",
id:aj.number(),
new_id:an.number(),
positions:ai[x]
});
}
var ao=m.Translate(
ai[x].position,
PosTranslator.ShiftWithTopInsideChunkHandler);
var ap=
af.locationFromPosition(ao,false);
aj.update_positions(ap.line,ap.column);
var aq={
position:ao,
line:ap.line,
column:ap.column
};
aj.set(af);
ah.push({type:"position_changed",
id:aj.number(),
old_positions:ai[x],
new_positions:aq
});
}
};
}
function Assert(ar,as){
if(!ar){
if(as){
throw"Assert "+as;
}else{
throw"Assert";
}
}
}
function DiffChunk(at,au,av,aw){
this.pos1=at;
this.pos2=au;
this.len1=av;
this.len2=aw;
}
function PosTranslator(ax){
var ay=new e();
var az=0;
for(var x=0;x<ax.length;x+=3){
var aA=ax[x];
var aB=aA+az;
var aC=ax[x+1];
var aD=ax[x+2];
ay.push(new DiffChunk(aA,aB,aC-aA,
aD-aB));
az=aD-aC;
}
this.chunks=ay;
}
PosTranslator.prototype.GetChunks=function(){
return this.chunks;
};
PosTranslator.prototype.Translate=function(aE,aF){
var aG=this.chunks;
if(aG.length==0||aE<aG[0].pos1){
return aE;
}
var aH=0;
var aI=aG.length-1;
while(aH<aI){
var aJ=f((aH+aI)/2);
if(aE<aG[aJ+1].pos1){
aI=aJ;
}else{
aH=aJ+1;
}
}
var aK=aG[aH];
if(aE>=aK.pos1+aK.len1){
return aE+aK.pos2+aK.len2-aK.pos1-aK.len1;
}
if(!aF){
aF=PosTranslator.DefaultInsideChunkHandler;
}
return aF(aE,aK);
};
PosTranslator.DefaultInsideChunkHandler=function(aE,aL){
Assert(false,"Cannot translate position in changed area");
};
PosTranslator.ShiftWithTopInsideChunkHandler=
function(aE,aL){
return aE-aL.pos1+aL.pos2;
};
var i={
UNCHANGED:"unchanged",
SOURCE_CHANGED:"source changed",
CHANGED:"changed",
DAMAGED:"damaged"
};
function CodeInfoTreeNode(aM,aN,aO){
this.info=aM;
this.children=aN;
this.array_index=aO;
this.parent=(void 0);
this.status=i.UNCHANGED;
this.status_explanation=(void 0);
this.new_start_pos=(void 0);
this.new_end_pos=(void 0);
this.corresponding_node=(void 0);
this.unmatched_new_nodes=(void 0);
this.textual_corresponding_node=(void 0);
this.textually_unmatched_new_nodes=(void 0);
this.live_shared_function_infos=(void 0);
}
function BuildCodeInfoTree(aP){
var aQ=0;
function BuildNode(){
var aR=aQ;
aQ++;
var aS=new e();
while(aQ<aP.length&&
aP[aQ].outer_index==aR){
aS.push(BuildNode());
}
var w=new CodeInfoTreeNode(aP[aR],aS,
aR);
for(var x=0;x<aS.length;x++){
aS[x].parent=w;
}
return w;
}
var aT=BuildNode();
Assert(aQ==aP.length);
return aT;
}
function MarkChangedFunctions(aU,ay){
var aV=new function(){
var aW=0;
var aX=0;
this.current=function(){return ay[aW];};
this.next=function(){
var aK=ay[aW];
aX=aK.pos2+aK.len2-(aK.pos1+aK.len1);
aW++;
};
this.done=function(){return aW>=ay.length;};
this.TranslatePos=function(aE){return aE+aX;};
};
function ProcessInternals(aY){
aY.new_start_pos=aV.TranslatePos(
aY.info.start_position);
var aZ=0;
var ba=false;
var bb=false;
while(!aV.done()&&
aV.current().pos1<aY.info.end_position){
if(aZ<aY.children.length){
var bc=aY.children[aZ];
if(bc.info.end_position<=aV.current().pos1){
ProcessUnchangedChild(bc);
aZ++;
continue;
}else if(bc.info.start_position>=
aV.current().pos1+aV.current().len1){
ba=true;
aV.next();
continue;
}else if(bc.info.start_position<=aV.current().pos1&&
bc.info.end_position>=aV.current().pos1+
aV.current().len1){
ProcessInternals(bc);
bb=bb||
(bc.status!=i.UNCHANGED);
ba=ba||
(bc.status==i.DAMAGED);
aZ++;
continue;
}else{
ba=true;
bc.status=i.DAMAGED;
bc.status_explanation=
"Text diff overlaps with function boundary";
aZ++;
continue;
}
}else{
if(aV.current().pos1+aV.current().len1<=
aY.info.end_position){
aY.status=i.CHANGED;
aV.next();
continue;
}else{
aY.status=i.DAMAGED;
aY.status_explanation=
"Text diff overlaps with function boundary";
return;
}
}
Assert("Unreachable",false);
}
while(aZ<aY.children.length){
var bc=aY.children[aZ];
ProcessUnchangedChild(bc);
aZ++;
}
if(ba){
aY.status=i.CHANGED;
}else if(bb){
aY.status=i.SOURCE_CHANGED;
}
aY.new_end_pos=
aV.TranslatePos(aY.info.end_position);
}
function ProcessUnchangedChild(w){
w.new_start_pos=aV.TranslatePos(w.info.start_position);
w.new_end_pos=aV.TranslatePos(w.info.end_position);
}
ProcessInternals(aU);
}
function FindCorrespondingFunctions(bd,be){
function ProcessNode(v,bf){
var bg=
IsFunctionContextLocalsChanged(v.info,bf.info);
if(bg){
v.status=i.CHANGED;
}
var bh=v.children;
var bi=bf.children;
var bj=[];
var bk=[];
var bl=0;
var bm=0;
while(bl<bh.length){
if(bh[bl].status==i.DAMAGED){
bl++;
}else if(bm<bi.length){
if(bi[bm].info.start_position<
bh[bl].new_start_pos){
bj.push(bi[bm]);
bk.push(bi[bm]);
bm++;
}else if(bi[bm].info.start_position==
bh[bl].new_start_pos){
if(bi[bm].info.end_position==
bh[bl].new_end_pos){
bh[bl].corresponding_node=
bi[bm];
bh[bl].textual_corresponding_node=
bi[bm];
if(bg){
bh[bl].status=i.DAMAGED;
bh[bl].status_explanation=
"Enclosing function is now incompatible. "+
bg;
bh[bl].corresponding_node=(void 0);
}else if(bh[bl].status!=
i.UNCHANGED){
ProcessNode(bh[bl],
bi[bm]);
if(bh[bl].status==i.DAMAGED){
bj.push(
bh[bl].corresponding_node);
bh[bl].corresponding_node=(void 0);
v.status=i.CHANGED;
}
}
}else{
bh[bl].status=i.DAMAGED;
bh[bl].status_explanation=
"No corresponding function in new script found";
v.status=i.CHANGED;
bj.push(bi[bm]);
bk.push(bi[bm]);
}
bm++;
bl++;
}else{
bh[bl].status=i.DAMAGED;
bh[bl].status_explanation=
"No corresponding function in new script found";
v.status=i.CHANGED;
bl++;
}
}else{
bh[bl].status=i.DAMAGED;
bh[bl].status_explanation=
"No corresponding function in new script found";
v.status=i.CHANGED;
bl++;
}
}
while(bm<bi.length){
bj.push(bi[bm]);
bk.push(bi[bm]);
bm++;
}
if(v.status==i.CHANGED){
if(v.info.param_num!=bf.info.param_num){
v.status=i.DAMAGED;
v.status_explanation="Changed parameter number: "+
v.info.param_num+" and "+bf.info.param_num;
}
}
v.unmatched_new_nodes=bj;
v.textually_unmatched_new_nodes=
bk;
}
ProcessNode(bd,be);
bd.corresponding_node=be;
bd.textual_corresponding_node=be;
Assert(bd.status!=i.DAMAGED,
"Script became damaged");
}
function FindLiveSharedInfos(bd,N){
var bn=%LiveEditFindSharedFunctionInfosForScript(N);
var bo=new e();
for(var x=0;x<bn.length;x++){
bo.push(new SharedInfoWrapper(bn[x]));
}
function FindFunctionInfos(P){
var bp=[];
for(var x=0;x<bo.length;x++){
var bq=bo[x];
if(bq.start_position==P.start_position&&
bq.end_position==P.end_position){
bp.push(bq);
}
}
if(bp.length>0){
return bp;
}
}
function TraverseTree(w){
w.live_shared_function_infos=FindFunctionInfos(w.info);
for(var x=0;x<w.children.length;x++){
TraverseTree(w.children[x]);
}
}
TraverseTree(bd);
}
function FunctionCompileInfo(br){
this.function_name=br[0];
this.start_position=br[1];
this.end_position=br[2];
this.param_num=br[3];
this.code=br[4];
this.code_scope_info=br[5];
this.scope_info=br[6];
this.outer_index=br[7];
this.shared_function_info=br[8];
this.next_sibling_index=null;
this.raw_array=br;
}
function SharedInfoWrapper(br){
this.function_name=br[0];
this.start_position=br[1];
this.end_position=br[2];
this.info=br[3];
this.raw_array=br;
}
function PatchPositions(ad,ax,ae){
if(ad.live_shared_function_infos){
ad.live_shared_function_infos.forEach(function(L){
%LiveEditPatchFunctionPositions(L.raw_array,
ax);
});
ae.push({name:ad.info.function_name});
}else{
ae.push(
{name:ad.info.function_name,info_not_found:true});
}
}
function CreateNameForOldScript(N){
return N.name+" (old)";
}
function IsFunctionContextLocalsChanged(bs,bt){
var bu=bs.scope_info;
var bv=bt.scope_info;
var bw;
var bx;
if(bu){
bw=bu.toString();
}else{
bw="";
}
if(bv){
bx=bv.toString();
}else{
bx="";
}
if(bw!=bx){
return"Variable map changed: ["+bw+
"] => ["+bx+"]";
}
return;
}
var by;
function CheckStackActivations(old_shared_wrapper_list,
new_shared_list,
Z){
var bz=new e();
for(var x=0;x<old_shared_wrapper_list.length;x++){
bz[x]=old_shared_wrapper_list[x].info;
}
var bA=%LiveEditCheckAndDropActivations(
bz,new_shared_list,true);
if(bA[old_shared_wrapper_list.length]){
throw new Failure(bA[old_shared_wrapper_list.length]);
}
var bB=new e();
var bC=new e();
for(var x=0;x<bz.length;x++){
var bD=old_shared_wrapper_list[x];
if(bA[x]==by.REPLACED_ON_ACTIVE_STACK){
bC.push({name:bD.function_name});
}else if(bA[x]!=by.AVAILABLE_FOR_PATCH){
var bE={
name:bD.function_name,
start_pos:bD.start_position,
end_pos:bD.end_position,
replace_problem:
by.SymbolName(bA[x])
};
bB.push(bE);
}
}
if(bC.length>0){
Z.push({dropped_from_stack:bC});
}
if(bB.length>0){
Z.push({functions_on_stack:bB});
throw new Failure("Blocked by functions on stack");
}
return bC.length;
}
var by={
AVAILABLE_FOR_PATCH:1,
BLOCKED_ON_ACTIVE_STACK:2,
BLOCKED_ON_OTHER_STACK:3,
BLOCKED_UNDER_NATIVE_CODE:4,
REPLACED_ON_ACTIVE_STACK:5,
BLOCKED_UNDER_GENERATOR:6,
BLOCKED_ACTIVE_GENERATOR:7,
BLOCKED_NO_NEW_TARGET_ON_RESTART:8
};
by.SymbolName=function(bF){
var bG=by;
for(var bH in bG){
if(bG[bH]==bF){
return bH;
}
}
};
function Failure(as){
this.message=as;
}
Failure.prototype.toString=function(){
return"LiveEdit Failure: "+this.message;
};
function CopyErrorPositionToDetails(bI,p){
function createPositionStruct(N,bJ){
if(bJ==-1)return;
var bK=N.locationFromPosition(bJ,true);
if(bK==null)return;
return{
line:bK.line+1,
column:bK.column+1,
position:bJ
};
}
if(!("scriptObject"in bI)||!("startPosition"in bI)){
return;
}
var N=bI.scriptObject;
var bL={
start:createPositionStruct(N,bI.startPosition),
end:createPositionStruct(N,bI.endPosition)
};
p.position=bL;
}
function GetPcFromSourcePos(bM,bN){
return %GetFunctionCodePositionFromSource(bM,bN);
}
function SetScriptSource(N,bO,bP,Z){
var j=N.source;
var bQ=CompareStrings(j,bO);
return ApplyPatchMultiChunk(N,bQ,bO,bP,
Z);
}
function CompareStrings(bR,bS){
return %LiveEditCompareStrings(bR,bS);
}
function ApplySingleChunkPatch(N,change_pos,change_len,new_str,
Z){
var j=N.source;
var bO=j.substring(0,change_pos)+
new_str+j.substring(change_pos+change_len);
return ApplyPatchMultiChunk(N,
[change_pos,change_pos+change_len,change_pos+new_str.length],
bO,false,Z);
}
function DescribeChangeTree(bd){
function ProcessOldNode(w){
var bT=[];
for(var x=0;x<w.children.length;x++){
var bc=w.children[x];
if(bc.status!=i.UNCHANGED){
bT.push(ProcessOldNode(bc));
}
}
var bU=[];
if(w.textually_unmatched_new_nodes){
for(var x=0;x<w.textually_unmatched_new_nodes.length;x++){
var bc=w.textually_unmatched_new_nodes[x];
bU.push(ProcessNewNode(bc));
}
}
var bV={
name:w.info.function_name,
positions:DescribePositions(w),
status:w.status,
children:bT,
new_children:bU
};
if(w.status_explanation){
bV.status_explanation=w.status_explanation;
}
if(w.textual_corresponding_node){
bV.new_positions=DescribePositions(w.textual_corresponding_node);
}
return bV;
}
function ProcessNewNode(w){
var bT=[];
if(false){
for(var x=0;x<w.children.length;x++){
bT.push(ProcessNewNode(w.children[x]));
}
}
var bV={
name:w.info.function_name,
positions:DescribePositions(w),
children:bT,
};
return bV;
}
function DescribePositions(w){
return{
start_position:w.info.start_position,
end_position:w.info.end_position
};
}
return ProcessOldNode(bd);
}
var bW={};
bW.SetScriptSource=SetScriptSource;
bW.ApplyPatchMultiChunk=ApplyPatchMultiChunk;
bW.Failure=Failure;
bW.GetPcFromSourcePos=GetPcFromSourcePos;
bW.TestApi={
PosTranslator:PosTranslator,
CompareStrings:CompareStrings,
ApplySingleChunkPatch:ApplySingleChunkPatch
};
a.Debug.LiveEdit=bW;
})

d prologueÝT
(function(a,b,c){
"use strict";
%CheckIsBootstrapping();
var d=(void 0);
var e=(void 0);
var f=%ExportFromRuntime({});
var g=(void 0);
function SetupTypedArray(h){
h.next=g;
g=h;
}
function Export(h){
h(f);
}
function Import(h){
h.next=d;
d=h;
}
function ImportNow(i){
return f[i];
}
function ImportFromExperimental(h){
h.next=e;
e=h;
}
function SetFunctionName(h,i,j){
if((typeof(i)==='symbol')){
i="["+%SymbolDescription(i)+"]";
}
if((j===(void 0))){
%FunctionSetName(h,i);
}else{
%FunctionSetName(h,j+" "+i);
}
}
function InstallConstants(k,l){
%CheckIsBootstrapping();
%OptimizeObjectForAddingMultipleProperties(k,l.length>>1);
var m=2|4|1;
for(var n=0;n<l.length;n+=2){
var i=l[n];
var o=l[n+1];
%AddNamedProperty(k,i,o,m);
}
%ToFastProperties(k);
}
function InstallFunctions(k,m,p){
%CheckIsBootstrapping();
%OptimizeObjectForAddingMultipleProperties(k,p.length>>1);
for(var n=0;n<p.length;n+=2){
var q=p[n];
var h=p[n+1];
SetFunctionName(h,q);
%FunctionRemovePrototype(h);
%AddNamedProperty(k,q,h,m);
%SetNativeFlag(h);
}
%ToFastProperties(k);
}
function InstallGetter(k,i,r,m,j){
%CheckIsBootstrapping();
if((m===(void 0)))m=2;
SetFunctionName(r,i,(j===(void 0))?"get":j);
%FunctionRemovePrototype(r);
%DefineGetterPropertyUnchecked(k,i,r,m);
%SetNativeFlag(r);
}
function InstallGetterSetter(k,i,r,s,m){
%CheckIsBootstrapping();
if((m===(void 0)))m=2;
SetFunctionName(r,i,"get");
SetFunctionName(s,i,"set");
%FunctionRemovePrototype(r);
%FunctionRemovePrototype(s);
%DefineAccessorPropertyUnchecked(k,i,r,s,2);
%SetNativeFlag(r);
%SetNativeFlag(s);
}
function OverrideFunction(k,i,h,t){
%CheckIsBootstrapping();
%object_define_property(k,i,{value:h,
writeable:true,
configurable:true,
enumerable:false});
SetFunctionName(h,i);
if(!t)%FunctionRemovePrototype(h);
%SetNativeFlag(h);
}
function SetUpLockedPrototype(
constructor,fields,methods){
%CheckIsBootstrapping();
var u=constructor.prototype;
var v=(methods.length>>1)+(fields?fields.length:0);
if(v>=4){
%OptimizeObjectForAddingMultipleProperties(u,v);
}
if(fields){
for(var n=0;n<fields.length;n++){
%AddNamedProperty(u,fields[n],
(void 0),2|4);
}
}
for(var n=0;n<methods.length;n+=2){
var q=methods[n];
var h=methods[n+1];
%AddNamedProperty(u,q,h,2|4|1);
%SetNativeFlag(h);
}
%InternalSetPrototype(u,null);
%ToFastProperties(u);
}
function PostNatives(b){
%CheckIsBootstrapping();
for(;!(d===(void 0));d=d.next){
d(f);
}
var w=[
"AddBoundMethod",
"ArrayToString",
"AsyncFunctionNext",
"AsyncFunctionThrow",
"ErrorToString",
"GetIterator",
"GetMethod",
"IntlParseDate",
"IntlParseNumber",
"IsNaN",
"MakeError",
"MakeRangeError",
"MakeTypeError",
"MapEntries",
"MapIterator",
"MapIteratorNext",
"MaxSimple",
"MinSimple",
"NumberIsInteger",
"PromiseChain",
"PromiseDefer",
"PromiseAccept",
"PromiseCreateRejected",
"PromiseCreateResolved",
"PromiseThen",
"RegExpSubclassExecJS",
"RegExpSubclassMatch",
"RegExpSubclassReplace",
"RegExpSubclassSearch",
"RegExpSubclassSplit",
"RegExpSubclassTest",
"SetIterator",
"SetIteratorNext",
"SetValues",
"SymbolToString",
"ToLocaleLowerCaseI18N",
"ToLocaleUpperCaseI18N",
"ToLowerCaseI18N",
"ToPositiveInteger",
"ToUpperCaseI18N",
"is_concat_spreadable_symbol",
"iterator_symbol",
"promise_result_symbol",
"promise_state_symbol",
"object_freeze",
"object_is_frozen",
"object_is_sealed",
"reflect_apply",
"reflect_construct",
"regexp_flags_symbol",
"to_string_tag_symbol",
"object_to_string",
"species_symbol",
"match_symbol",
"replace_symbol",
"search_symbol",
"split_symbol",
];
var x={};
%OptimizeObjectForAddingMultipleProperties(
x,w.length);
for(var q of w){
x[q]=f[q];
}
%ToFastProperties(x);
f=x;
b.PostNatives=(void 0);
b.ImportFromExperimental=(void 0);
}
function PostExperimentals(b){
%CheckIsBootstrapping();
%ExportExperimentalFromRuntime(f);
for(;!(d===(void 0));d=d.next){
d(f);
}
for(;!(e===(void 0));
e=e.next){
e(f);
}
b.CreateDoubleResultArray();
b.CreateDoubleResultArray=(void 0);
b.Export=(void 0);
b.PostDebug=(void 0);
b.PostExperimentals=(void 0);
g=(void 0);
}
function PostDebug(b){
for(;!(d===(void 0));d=d.next){
d(f);
}
b.CreateDoubleResultArray();
b.CreateDoubleResultArray=(void 0);
f=(void 0);
b.Export=(void 0);
b.Import=(void 0);
b.ImportNow=(void 0);
b.PostDebug=(void 0);
b.PostExperimentals=(void 0);
g=(void 0);
}
function InitializeBuiltinTypedArrays(b,y,z){
var A=g;
for(;!(A===(void 0));A=A.next){
A(y,z);
}
}
%OptimizeObjectForAddingMultipleProperties(b,14);
b.Import=Import;
b.ImportNow=ImportNow;
b.Export=Export;
b.ImportFromExperimental=ImportFromExperimental;
b.SetFunctionName=SetFunctionName;
b.InstallConstants=InstallConstants;
b.InstallFunctions=InstallFunctions;
b.InstallGetter=InstallGetter;
b.InstallGetterSetter=InstallGetterSetter;
b.OverrideFunction=OverrideFunction;
b.SetUpLockedPrototype=SetUpLockedPrototype;
b.PostNatives=PostNatives;
b.PostExperimentals=PostExperimentals;
b.PostDebug=PostDebug;
%ToFastProperties(b);
%OptimizeObjectForAddingMultipleProperties(c,5);
c.logStackTrace=function logStackTrace(){
%DebugTrace();
};
c.log=function log(){
let message='';
for(const arg of arguments){
message+=arg;
}
%GlobalPrint(message);
};
c.createPrivateSymbol=function createPrivateSymbol(i){
return %CreatePrivateSymbol(i);
};
c.simpleBind=function simpleBind(B,C){
return function(...args){
return %reflect_apply(B,C,args);
};
};
c.uncurryThis=function uncurryThis(B){
return function(C,...args){
return %reflect_apply(B,C,args);
};
};
%ToFastProperties(c);
})

runtime¥
(function(a,b){
%CheckIsBootstrapping();
var c;
var d=a.Array;
var e=a.Boolean;
var f=a.String;
var g;
var h;
var i;
b.Import(function(j){
g=j.MakeRangeError;
h=j.MakeTypeError;
i=j.species_symbol;
});
b.ImportFromExperimental(function(j){
c=j.FLAG_harmony_species;
});
function ToPositiveInteger(k,l){
var m=(%_IsSmi(%IS_VAR(k))?k:%NumberToIntegerMapMinusZero(k));
if(m<0)throw g(l);
return m;
}
function MaxSimple(n,o){
return n>o?n:o;
}
function MinSimple(n,o){
return n>o?o:n;
}
%SetForceInlineFlag(MaxSimple);
%SetForceInlineFlag(MinSimple);
function SpeciesConstructor(p,q,r){
if(c){
var s=p.constructor;
if((s===(void 0))){
return q;
}
if(!(%_IsJSReceiver(s))){
throw h(28);
}
var t=s[i];
if((t==null)){
return q;
}
if(%IsConstructor(t)){
return t;
}
throw h(233);
}else{
return r?q:p.constructor;
}
}
%FunctionSetPrototype(d,new d(0));
b.Export(function(u){
u.MaxSimple=MaxSimple;
u.MinSimple=MinSimple;
u.ToPositiveInteger=ToPositiveInteger;
u.SpeciesConstructor=SpeciesConstructor;
});
})

$v8natives%g
(function(a,b){
%CheckIsBootstrapping();
var c=a.Array;
var d=a.Number;
var e=a.Object;
var f=b.InternalArray;
var g=b.ImportNow("iterator_symbol");
var h;
var i;
var j;
var k;
var l=%GetRootNaN();
var m=b.ImportNow("object_to_string");
var n=b.ImportNow("to_string_tag_symbol");
b.Import(function(o){
h=o.MakeRangeError;
i=o.MakeSyntaxError;
j=o.MakeTypeError;
k=o.MathAbs;
});
function GlobalIsNaN(p){
p=(%_ToNumber(p));
return(!%_IsSmi(%IS_VAR(p))&&!(p==p));
}
function GlobalIsFinite(p){
p=(%_ToNumber(p));
return(%_IsSmi(%IS_VAR(p))||((p==p)&&(p!=1/0)&&(p!=-1/0)));
}
function GlobalParseInt(q,r){
if((r===(void 0))||r===10||r===0){
if(%_IsSmi(q))return q;
if((typeof(q)==='number')&&
((0.01<q&&q<1e9)||
(-1e9<q&&q<-0.01))){
return q|0;
}
q=(%_ToString(q));
r=r|0;
}else{
q=(%_ToString(q));
r=((r)|0);
if(!(r==0||(2<=r&&r<=36))){
return l;
}
}
if(%_HasCachedArrayIndex(q)&&
(r==0||r==10)){
return %_GetCachedArrayIndex(q);
}
return %StringParseInt(q,r);
}
function GlobalParseFloat(q){
q=(%_ToString(q));
if(%_HasCachedArrayIndex(q))return %_GetCachedArrayIndex(q);
return %StringParseFloat(q);
}
var s=2|4|1;
b.InstallConstants(a,[
"Infinity",(1/0),
"NaN",l,
"undefined",(void 0),
]);
b.InstallFunctions(a,2,[
"isNaN",GlobalIsNaN,
"isFinite",GlobalIsFinite,
"parseInt",GlobalParseInt,
"parseFloat",GlobalParseFloat,
]);
function ObjectToLocaleString(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Object.prototype.toLocaleString");
return this.toString();
}
function ObjectValueOf(){
return(%_ToObject(this));
}
function ObjectIsPrototypeOf(t){
if(!(%_IsJSReceiver(t)))return false;
var u=(%_ToObject(this));
return %HasInPrototypeChain(t,u);
}
function ObjectPropertyIsEnumerable(t){
var v=(%_ToName(t));
return %PropertyIsEnumerable((%_ToObject(this)),v);
}
function GetMethod(w,x){
var y=w[x];
if((y==null))return(void 0);
if((typeof(y)==='function'))return y;
throw j(15,typeof y);
}
function ObjectSetPrototypeOf(w,z){
if((%IS_VAR(w)===null)||(w===(void 0)))throw j(17,"Object.setPrototypeOf");
if(z!==null&&!(%_IsJSReceiver(z))){
throw j(87,z);
}
if((%_IsJSReceiver(w))){
%SetPrototype(w,z);
}
return w;
}
function ObjectGetProto(){
return %object_get_prototype_of(this);
}
function ObjectSetProto(z){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Object.prototype.__proto__");
if(((%_IsJSReceiver(z))||(z===null))&&(%_IsJSReceiver(this))){
%SetPrototype(this,z);
}
}
function ObjectConstructor(A){
if(e!=new.target&&!(new.target===(void 0))){
return this;
}
if((A===null)||(A===(void 0)))return{};
return(%_ToObject(A));
}
%SetNativeFlag(e);
%SetCode(e,ObjectConstructor);
%AddNamedProperty(e.prototype,"constructor",e,
2);
b.InstallFunctions(e.prototype,2,[
"toString",m,
"toLocaleString",ObjectToLocaleString,
"valueOf",ObjectValueOf,
"isPrototypeOf",ObjectIsPrototypeOf,
"propertyIsEnumerable",ObjectPropertyIsEnumerable,
]);
b.InstallGetterSetter(
e.prototype,"__proto__",ObjectGetProto,ObjectSetProto);
b.InstallFunctions(e,2,[
"setPrototypeOf",ObjectSetPrototypeOf,
]);
function NumberToStringJS(r){
var p=this;
if(!(typeof(this)==='number')){
if(!(%_ClassOf(this)==='Number')){
throw j(69,'Number.prototype.toString');
}
p=%_ValueOf(this);
}
if((r===(void 0))||r===10){
return %_NumberToString(p);
}
r=(%_ToInteger(r));
if(r<2||r>36)throw h(178);
return %NumberToRadixString(p,r);
}
function NumberToLocaleString(){
return %_Call(NumberToStringJS,this);
}
function NumberValueOf(){
if(!(typeof(this)==='number')&&!(%_ClassOf(this)==='Number')){
throw j(69,'Number.prototype.valueOf');
}
return %_ValueOf(this);
}
function NumberToFixedJS(B){
var A=this;
if(!(typeof(this)==='number')){
if(!(%_ClassOf(this)==='Number')){
throw j(44,
"Number.prototype.toFixed",this);
}
A=%_ValueOf(this);
}
var C=(%_ToInteger(B));
if(C<0||C>20){
throw h(174,"toFixed() digits");
}
if((!%_IsSmi(%IS_VAR(A))&&!(A==A)))return"NaN";
if(A==(1/0))return"Infinity";
if(A==-(1/0))return"-Infinity";
return %NumberToFixed(A,C);
}
function NumberToExponentialJS(B){
var A=this;
if(!(typeof(this)==='number')){
if(!(%_ClassOf(this)==='Number')){
throw j(44,
"Number.prototype.toExponential",this);
}
A=%_ValueOf(this);
}
var C=(B===(void 0))?(void 0):(%_ToInteger(B));
if((!%_IsSmi(%IS_VAR(A))&&!(A==A)))return"NaN";
if(A==(1/0))return"Infinity";
if(A==-(1/0))return"-Infinity";
if((C===(void 0))){
C=-1;
}else if(C<0||C>20){
throw h(174,"toExponential()");
}
return %NumberToExponential(A,C);
}
function NumberToPrecisionJS(D){
var A=this;
if(!(typeof(this)==='number')){
if(!(%_ClassOf(this)==='Number')){
throw j(44,
"Number.prototype.toPrecision",this);
}
A=%_ValueOf(this);
}
if((D===(void 0)))return(%_ToString(A));
var x=(%_ToInteger(D));
if((!%_IsSmi(%IS_VAR(A))&&!(A==A)))return"NaN";
if(A==(1/0))return"Infinity";
if(A==-(1/0))return"-Infinity";
if(x<1||x>21){
throw h(177);
}
return %NumberToPrecision(A,x);
}
function NumberIsFinite(p){
return(typeof(p)==='number')&&(%_IsSmi(%IS_VAR(p))||((p==p)&&(p!=1/0)&&(p!=-1/0)));
}
function NumberIsInteger(p){
return NumberIsFinite(p)&&(%_ToInteger(p))==p;
}
function NumberIsNaN(p){
return(typeof(p)==='number')&&(!%_IsSmi(%IS_VAR(p))&&!(p==p));
}
function NumberIsSafeInteger(p){
if(NumberIsFinite(p)){
var E=(%_ToInteger(p));
if(E==p){
return k(E)<=9007199254740991;
}
}
return false;
}
%FunctionSetPrototype(d,new d(0));
%OptimizeObjectForAddingMultipleProperties(d.prototype,8);
%AddNamedProperty(d.prototype,"constructor",d,
2);
b.InstallConstants(d,[
"MAX_VALUE",1.7976931348623157e+308,
"MIN_VALUE",5e-324,
"NaN",l,
"NEGATIVE_INFINITY",-(1/0),
"POSITIVE_INFINITY",(1/0),
"MAX_SAFE_INTEGER",%_MathPow(2,53)-1,
"MIN_SAFE_INTEGER",-%_MathPow(2,53)+1,
"EPSILON",%_MathPow(2,-52)
]);
b.InstallFunctions(d.prototype,2,[
"toString",NumberToStringJS,
"toLocaleString",NumberToLocaleString,
"valueOf",NumberValueOf,
"toFixed",NumberToFixedJS,
"toExponential",NumberToExponentialJS,
"toPrecision",NumberToPrecisionJS
]);
b.InstallFunctions(d,2,[
"isFinite",NumberIsFinite,
"isInteger",NumberIsInteger,
"isNaN",NumberIsNaN,
"isSafeInteger",NumberIsSafeInteger,
"parseInt",GlobalParseInt,
"parseFloat",GlobalParseFloat
]);
%SetForceInlineFlag(NumberIsNaN);
function GetIterator(w,F){
if((F===(void 0))){
F=w[g];
}
if(!(typeof(F)==='function')){
throw j(70,w);
}
var G=%_Call(F,w);
if(!(%_IsJSReceiver(G))){
throw j(64,G);
}
return G;
}
b.Export(function(H){
H.GetIterator=GetIterator;
H.GetMethod=GetMethod;
H.IsFinite=GlobalIsFinite;
H.IsNaN=GlobalIsNaN;
H.NumberIsNaN=NumberIsNaN;
H.NumberIsInteger=NumberIsInteger;
H.ObjectHasOwnProperty=e.prototype.hasOwnProperty;
});
%InstallToContext([
"object_value_of",ObjectValueOf,
]);
})

symbolÍ
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Symbol;
var d=b.ImportNow("has_instance_symbol");
var e=
b.ImportNow("is_concat_spreadable_symbol");
var f=b.ImportNow("iterator_symbol");
var g;
var h=b.ImportNow("to_primitive_symbol");
var i=b.ImportNow("to_string_tag_symbol");
var j=b.ImportNow("unscopables_symbol");
b.Import(function(k){
g=k.MakeTypeError;
});
function SymbolToPrimitive(l){
if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){
throw g(44,
"Symbol.prototype [ @@toPrimitive ]",this);
}
return %_ValueOf(this);
}
function SymbolToString(){
if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){
throw g(44,
"Symbol.prototype.toString",this);
}
return %SymbolDescriptiveString(%_ValueOf(this));
}
function SymbolValueOf(){
if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){
throw g(44,
"Symbol.prototype.valueOf",this);
}
return %_ValueOf(this);
}
function SymbolFor(m){
m=(%_ToString(m));
var n=%SymbolRegistry();
if((n.for[m]===(void 0))){
var o=%CreateSymbol(m);
n.for[m]=o;
n.keyFor[o]=m;
}
return n.for[m];
}
function SymbolKeyFor(o){
if(!(typeof(o)==='symbol'))throw g(137,o);
return %SymbolRegistry().keyFor[o];
}
b.InstallConstants(c,[
"hasInstance",d,
"isConcatSpreadable",e,
"iterator",f,
"toPrimitive",h,
"toStringTag",i,
"unscopables",j,
]);
b.InstallFunctions(c,2,[
"for",SymbolFor,
"keyFor",SymbolKeyFor
]);
%AddNamedProperty(
c.prototype,i,"Symbol",2|1);
b.InstallFunctions(c.prototype,2|1,[
h,SymbolToPrimitive
]);
b.InstallFunctions(c.prototype,2,[
"toString",SymbolToString,
"valueOf",SymbolValueOf
]);
b.Export(function(p){
p.SymbolToString=SymbolToString;
})
})

array҆
(function(a,b,c){
"use strict";
%CheckIsBootstrapping();
var d;
var e;
var f;
var g=a.Array;
var h=b.InternalArray;
var i=b.InternalPackedArray;
var j;
var k;
var l;
var m;
var n=b.ImportNow("object_to_string");
var o=b.ImportNow("iterator_symbol");
var p=b.ImportNow("unscopables_symbol");
b.Import(function(q){
e=q.GetIterator;
f=q.GetMethod;
j=q.MakeTypeError;
k=q.MaxSimple;
l=q.MinSimple;
m=q.ObjectHasOwnProperty;
});
b.ImportFromExperimental(function(q){
d=q.FLAG_harmony_species;
});
function ArraySpeciesCreate(r,s){
var t;
s=((s)+0);
if(d){
t=%ArraySpeciesConstructor(r);
}else{
t=g;
}
return new t(s);
}
function KeySortCompare(u,v){
return u-v;
}
function GetSortedArrayKeys(r,w){
if((typeof(w)==='number')){
var x=new h();
var y=w;
for(var z=0;z<y;++z){
var A=r[z];
if(!(A===(void 0))||z in r){
x.push(z);
}
}
return x;
}
return InnerArraySort(w,w.length,KeySortCompare);
}
function SparseJoinWithSeparatorJS(r,x,s,B,C){
var D=x.length;
var E=new h(D*2);
for(var z=0;z<D;z++){
var F=x[z];
var A=r[F];
E[z*2]=F;
E[z*2+1]=(typeof(A)==='string')?A:B(A);
}
return %SparseJoinWithSeparator(E,s,C);
}
function SparseJoin(r,x,B){
var D=x.length;
var E=new h(D);
for(var z=0;z<D;z++){
var A=r[x[z]];
E[z]=(typeof(A)==='string')?A:B(A);
}
return %StringBuilderConcat(E,D,'');
}
function UseSparseVariant(r,s,G,H){
if(!G||s<1000||%HasComplexElements(r)){
return false;
}
if(!%_IsSmi(s)){
return true;
}
var I=s>>2;
var J=%EstimateNumberOfElements(r);
return(J<I)&&
(H>J*4);
}
function Stack(){
this.length=0;
this.values=new h();
}
Stack.prototype.length=null;
Stack.prototype.values=null;
function StackPush(K,L){
K.values[K.length++]=L;
}
function StackPop(K){
K.values[--K.length]=null
}
function StackHas(K,M){
var s=K.length;
var N=K.values;
for(var z=0;z<s;z++){
if(N[z]===M)return true;
}
return false;
}
var O=new Stack();
function DoJoin(r,s,G,C,B){
if(UseSparseVariant(r,s,G,s)){
%NormalizeElements(r);
var x=GetSortedArrayKeys(r,%GetArrayKeys(r,s));
if(C===''){
if(x.length===0)return'';
return SparseJoin(r,x,B);
}else{
return SparseJoinWithSeparatorJS(r,x,s,B,C);
}
}
if(s===1){
var A=r[0];
return(typeof(A)==='string')?A:B(A);
}
var E=new h(s);
if(C===''){
for(var z=0;z<s;z++){
var A=r[z];
E[z]=(typeof(A)==='string')?A:B(A);
}
return %StringBuilderConcat(E,s,'');
}
var A=r[0];
if((typeof(A)==='number')){
E[0]=%_NumberToString(A);
for(var z=1;z<s;z++){
A=r[z];
if((typeof(A)==='number')){
E[z]=%_NumberToString(A);
}else{
E[z]=(typeof(A)==='string')?A:B(A);
}
}
}else{
E[0]=(typeof(A)==='string')?A:B(A);
for(var z=1;z<s;z++){
A=r[z];
E[z]=(typeof(A)==='string')?A:B(A);
}
}
return %StringBuilderJoin(E,s,C);
}
function Join(r,s,C,B){
if(s===0)return'';
var G=(%_IsArray(r));
if(G){
if(StackHas(O,r))return'';
StackPush(O,r);
}
try{
return DoJoin(r,s,G,C,B);
}finally{
if(G)StackPop(O);
}
}
function ConvertToString(P){
if((P==null))return'';
return(%_ToString(P));
}
function ConvertToLocaleString(A){
if((A==null))return'';
return(%_ToString(A.toLocaleString()));
}
function SparseSlice(r,Q,R,S,T){
var w=%GetArrayKeys(r,Q+R);
if((typeof(w)==='number')){
var y=w;
for(var z=Q;z<y;++z){
var U=r[z];
if(!(U===(void 0))||z in r){
%CreateDataProperty(T,z-Q,U);
}
}
}else{
var s=w.length;
for(var V=0;V<s;++V){
var F=w[V];
if(F>=Q){
var U=r[F];
if(!(U===(void 0))||F in r){
%CreateDataProperty(T,F-Q,U);
}
}
}
}
}
function SparseMove(r,Q,R,S,W){
if(W===R)return;
var X=new h(
l(S-R+W,0xffffffff));
var Y;
var w=%GetArrayKeys(r,S);
if((typeof(w)==='number')){
var y=w;
for(var z=0;z<Q&&z<y;++z){
var U=r[z];
if(!(U===(void 0))||z in r){
X[z]=U;
}
}
for(var z=Q+R;z<y;++z){
var U=r[z];
if(!(U===(void 0))||z in r){
X[z-R+W]=U;
}
}
}else{
var s=w.length;
for(var V=0;V<s;++V){
var F=w[V];
if(F<Q){
var U=r[F];
if(!(U===(void 0))||F in r){
X[F]=U;
}
}else if(F>=Q+R){
var U=r[F];
if(!(U===(void 0))||F in r){
var Z=F-R+W;
X[Z]=U;
if(Z>0xfffffffe){
Y=Y||new h();
Y.push(Z);
}
}
}
}
}
%MoveArrayContents(X,r);
if(!(Y===(void 0))){
var s=Y.length;
for(var z=0;z<s;++z){
var F=Y[z];
r[F]=X[F];
}
}
}
function SimpleSlice(r,Q,R,S,T){
var G=(%_IsArray(r));
for(var z=0;z<R;z++){
var aa=Q+z;
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(aa<r.length))||(aa in r))){
var U=r[aa];
%CreateDataProperty(T,z,U);
}
}
}
function SimpleMove(r,Q,R,S,W){
var G=(%_IsArray(r));
if(W!==R){
if(W>R){
for(var z=S-R;z>Q;z--){
var ab=z+R-1;
var ac=z+W-1;
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(ab<r.length))||(ab in r))){
r[ac]=r[ab];
}else{
delete r[ac];
}
}
}else{
for(var z=Q;z<S-R;z++){
var ab=z+R;
var ac=z+W;
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(ab<r.length))||(ab in r))){
r[ac]=r[ab];
}else{
delete r[ac];
}
}
for(var z=S;z>S-R+W;z--){
delete r[z-1];
}
}
}
}
function ArrayToString(){
var r;
var ad;
if((%_IsArray(this))){
ad=this.join;
if(ad===ArrayJoin){
return Join(this,this.length,',',ConvertToString);
}
r=this;
}else{
r=(%_ToObject(this));
ad=r.join;
}
if(!(typeof(ad)==='function')){
return %_Call(n,r);
}
return %_Call(ad,r);
}
function InnerArrayToLocaleString(r,s){
var S=(%_ToLength(s));
if(S===0)return"";
return Join(r,S,',',ConvertToLocaleString);
}
function ArrayToLocaleString(){
var r=(%_ToObject(this));
var ae=r.length;
return InnerArrayToLocaleString(r,ae);
}
function InnerArrayJoin(C,r,s){
if((C===(void 0))){
C=',';
}else{
C=(%_ToString(C));
}
if(s===1){
var A=r[0];
if((A==null))return'';
return(%_ToString(A));
}
return Join(r,s,C,ConvertToString);
}
function ArrayJoin(C){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.join");
var r=(%_ToObject(this));
var s=(%_ToLength(r.length));
return InnerArrayJoin(C,r,s);
}
function ArrayPop(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.pop");
var r=(%_ToObject(this));
var af=(%_ToLength(r.length));
if(af==0){
r.length=af;
return;
}
af--;
var L=r[af];
%DeleteProperty_Strict(r,af);
r.length=af;
return L;
}
function ArrayPush(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.push");
var r=(%_ToObject(this));
var af=(%_ToLength(r.length));
var ag=arguments.length;
if(ag>9007199254740991-af)throw j(225,ag,af);
for(var z=0;z<ag;z++){
r[z+af]=arguments[z];
}
var ah=af+ag;
r.length=ah;
return ah;
}
function SparseReverse(r,S){
var x=GetSortedArrayKeys(r,%GetArrayKeys(r,S));
var ai=x.length-1;
var aj=0;
while(aj<=ai){
var z=x[aj];
var ak=x[ai];
var al=S-ak-1;
var am,an;
if(al<=z){
an=ak;
while(x[--ai]==ak){}
am=al;
}
if(al>=z){
am=z;
while(x[++aj]==z){}
an=S-z-1;
}
var ao=r[am];
if(!(ao===(void 0))||am in r){
var ap=r[an];
if(!(ap===(void 0))||an in r){
r[am]=ap;
r[an]=ao;
}else{
r[an]=ao;
delete r[am];
}
}else{
var ap=r[an];
if(!(ap===(void 0))||an in r){
r[am]=ap;
delete r[an];
}
}
}
}
function PackedArrayReverse(r,S){
var ak=S-1;
for(var z=0;z<ak;z++,ak--){
var ao=r[z];
var ap=r[ak];
r[z]=ap;
r[ak]=ao;
}
return r;
}
function GenericArrayReverse(r,S){
var ak=S-1;
for(var z=0;z<ak;z++,ak--){
if(z in r){
var ao=r[z];
if(ak in r){
var ap=r[ak];
r[z]=ap;
r[ak]=ao;
}else{
r[ak]=ao;
delete r[z];
}
}else{
if(ak in r){
var ap=r[ak];
r[z]=ap;
delete r[ak];
}
}
}
return r;
}
function ArrayReverse(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.reverse");
var r=(%_ToObject(this));
var S=(%_ToLength(r.length));
var aq=(%_IsArray(r));
if(UseSparseVariant(r,S,aq,S)){
%NormalizeElements(r);
SparseReverse(r,S);
return r;
}else if(aq&&%_HasFastPackedElements(r)){
return PackedArrayReverse(r,S);
}else{
return GenericArrayReverse(r,S);
}
}
function ArrayShift(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.shift");
var r=(%_ToObject(this));
var S=(%_ToLength(r.length));
if(S===0){
r.length=0;
return;
}
if(%object_is_sealed(r))throw j(13);
var ar=r[0];
if(UseSparseVariant(r,S,(%_IsArray(r)),S)){
SparseMove(r,0,1,S,0);
}else{
SimpleMove(r,0,1,S,0);
}
r.length=S-1;
return ar;
}
function ArrayUnshift(as){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.unshift");
var r=(%_ToObject(this));
var S=(%_ToLength(r.length));
var at=arguments.length;
if(S>0&&UseSparseVariant(r,S,(%_IsArray(r)),S)&&
!%object_is_sealed(r)){
SparseMove(r,0,0,S,at);
}else{
SimpleMove(r,0,0,S,at);
}
for(var z=0;z<at;z++){
r[z]=arguments[z];
}
var ah=S+at;
r.length=ah;
return ah;
}
function ArraySlice(au,av){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.slice");
var r=(%_ToObject(this));
var S=(%_ToLength(r.length));
var Q=(%_ToInteger(au));
var aw=S;
if(!(av===(void 0)))aw=(%_ToInteger(av));
if(Q<0){
Q+=S;
if(Q<0)Q=0;
}else{
if(Q>S)Q=S;
}
if(aw<0){
aw+=S;
if(aw<0)aw=0;
}else{
if(aw>S)aw=S;
}
var ax=ArraySpeciesCreate(r,k(aw-Q,0));
if(aw<Q)return ax;
if(UseSparseVariant(r,S,(%_IsArray(r)),aw-Q)){
%NormalizeElements(r);
%NormalizeElements(ax);
SparseSlice(r,Q,aw-Q,S,ax);
}else{
SimpleSlice(r,Q,aw-Q,S,ax);
}
ax.length=aw-Q;
return ax;
}
function ComputeSpliceStartIndex(Q,S){
if(Q<0){
Q+=S;
return Q<0?0:Q;
}
return Q>S?S:Q;
}
function ComputeSpliceDeleteCount(ay,at,S,Q){
var R=0;
if(at==1)
return S-Q;
R=(%_ToInteger(ay));
if(R<0)
return 0;
if(R>S-Q)
return S-Q;
return R;
}
function ArraySplice(au,ay){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.splice");
var at=arguments.length;
var r=(%_ToObject(this));
var S=(%_ToLength(r.length));
var Q=ComputeSpliceStartIndex((%_ToInteger(au)),S);
var R=ComputeSpliceDeleteCount(ay,at,S,
Q);
var T=ArraySpeciesCreate(r,R);
T.length=R;
var az=at>2?at-2:0;
if(R!=az&&%object_is_sealed(r)){
throw j(13);
}else if(R>0&&%object_is_frozen(r)){
throw j(12);
}
var aA=R;
if(az!=R){
aA+=S-Q-R;
}
if(UseSparseVariant(r,S,(%_IsArray(r)),aA)){
%NormalizeElements(r);
%NormalizeElements(T);
SparseSlice(r,Q,R,S,T);
SparseMove(r,Q,R,S,az);
}else{
SimpleSlice(r,Q,R,S,T);
SimpleMove(r,Q,R,S,az);
}
var z=Q;
var aB=2;
var aC=arguments.length;
while(aB<aC){
r[z++]=arguments[aB++];
}
r.length=S-R+az;
return T;
}
function InnerArraySort(r,s,aD){
if(!(typeof(aD)==='function')){
aD=function(P,aE){
if(P===aE)return 0;
if(%_IsSmi(P)&&%_IsSmi(aE)){
return %SmiLexicographicCompare(P,aE);
}
P=(%_ToString(P));
aE=(%_ToString(aE));
if(P==aE)return 0;
else return P<aE?-1:1;
};
}
var aF=function InsertionSort(u,q,aG){
for(var z=q+1;z<aG;z++){
var aH=u[z];
for(var ak=z-1;ak>=q;ak--){
var aI=u[ak];
var aJ=aD(aI,aH);
if(aJ>0){
u[ak+1]=aI;
}else{
break;
}
}
u[ak+1]=aH;
}
};
var aK=function(u,q,aG){
var aL=new h();
var aM=200+((aG-q)&15);
var ak=0;
q+=1;
aG-=1;
for(var z=q;z<aG;z+=aM){
aL[ak]=[z,u[z]];
ak++;
}
aL.sort(function(u,v){
return aD(u[1],v[1]);
});
var aN=aL[aL.length>>1][0];
return aN;
}
var aO=function QuickSort(u,q,aG){
var aN=0;
while(true){
if(aG-q<=10){
aF(u,q,aG);
return;
}
if(aG-q>1000){
aN=aK(u,q,aG);
}else{
aN=q+((aG-q)>>1);
}
var aP=u[q];
var aQ=u[aG-1];
var aR=u[aN];
var aS=aD(aP,aQ);
if(aS>0){
var aI=aP;
aP=aQ;
aQ=aI;
}
var aT=aD(aP,aR);
if(aT>=0){
var aI=aP;
aP=aR;
aR=aQ;
aQ=aI;
}else{
var aU=aD(aQ,aR);
if(aU>0){
var aI=aQ;
aQ=aR;
aR=aI;
}
}
u[q]=aP;
u[aG-1]=aR;
var aV=aQ;
var aW=q+1;
var aX=aG-1;
u[aN]=u[aW];
u[aW]=aV;
partition:for(var z=aW+1;z<aX;z++){
var aH=u[z];
var aJ=aD(aH,aV);
if(aJ<0){
u[z]=u[aW];
u[aW]=aH;
aW++;
}else if(aJ>0){
do{
aX--;
if(aX==z)break partition;
var aY=u[aX];
aJ=aD(aY,aV);
}while(aJ>0);
u[z]=u[aX];
u[aX]=aH;
if(aJ<0){
aH=u[z];
u[z]=u[aW];
u[aW]=aH;
aW++;
}
}
}
if(aG-aX<aW-q){
aO(u,aX,aG);
aG=aW;
}else{
aO(u,q,aW);
q=aX;
}
}
};
var aZ=function CopyFromPrototype(ba,s){
var bb=0;
for(var bc=%object_get_prototype_of(ba);bc;
bc=%object_get_prototype_of(bc)){
var w=(%_IsJSProxy(bc))?s:%GetArrayKeys(bc,s);
if((typeof(w)==='number')){
var bd=w;
for(var z=0;z<bd;z++){
if(!(%_Call(m,ba,z))&&(%_Call(m,bc,z))){
ba[z]=bc[z];
if(z>=bb){bb=z+1;}
}
}
}else{
for(var z=0;z<w.length;z++){
var aa=w[z];
if(!(%_Call(m,ba,aa))&&(%_Call(m,bc,aa))){
ba[aa]=bc[aa];
if(aa>=bb){bb=aa+1;}
}
}
}
}
return bb;
};
var be=function(ba,q,aG){
for(var bc=%object_get_prototype_of(ba);bc;
bc=%object_get_prototype_of(bc)){
var w=(%_IsJSProxy(bc))?aG:%GetArrayKeys(bc,aG);
if((typeof(w)==='number')){
var bd=w;
for(var z=q;z<bd;z++){
if((%_Call(m,bc,z))){
ba[z]=(void 0);
}
}
}else{
for(var z=0;z<w.length;z++){
var aa=w[z];
if(q<=aa&&(%_Call(m,bc,aa))){
ba[aa]=(void 0);
}
}
}
}
};
var bf=function SafeRemoveArrayHoles(ba){
var bg=0;
var bh=s-1;
var bi=0;
while(bg<bh){
while(bg<bh&&
!(ba[bg]===(void 0))){
bg++;
}
if(!(%_Call(m,ba,bg))){
bi++;
}
while(bg<bh&&
(ba[bh]===(void 0))){
if(!(%_Call(m,ba,bh))){
bi++;
}
bh--;
}
if(bg<bh){
ba[bg]=ba[bh];
ba[bh]=(void 0);
}
}
if(!(ba[bg]===(void 0)))bg++;
var z;
for(z=bg;z<s-bi;z++){
ba[z]=(void 0);
}
for(z=s-bi;z<s;z++){
if(z in %object_get_prototype_of(ba)){
ba[z]=(void 0);
}else{
delete ba[z];
}
}
return bg;
};
if(s<2)return r;
var G=(%_IsArray(r));
var bj;
if(!G){
bj=aZ(r,s);
}
var bk=%RemoveArrayHoles(r,s);
if(bk==-1){
bk=bf(r);
}
aO(r,0,bk);
if(!G&&(bk+1<bj)){
be(r,bk,bj);
}
return r;
}
function ArraySort(aD){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.sort");
var r=(%_ToObject(this));
var s=(%_ToLength(r.length));
return InnerArraySort(r,s,aD);
}
function InnerArrayFilter(bl,bm,r,s,ax){
var bn=0;
var G=(%_IsArray(r));
for(var z=0;z<s;z++){
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){
var aH=r[z];
if(%_Call(bl,bm,aH,z,r)){
%CreateDataProperty(ax,bn,aH);
bn++;
}
}
}
return ax;
}
function ArrayFilter(bl,bm){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.filter");
var r=(%_ToObject(this));
var s=(%_ToLength(r.length));
if(!(typeof(bl)==='function'))throw j(15,bl);
var ax=ArraySpeciesCreate(r,0);
return InnerArrayFilter(bl,bm,r,s,ax);
}
function InnerArrayForEach(bl,bm,r,s){
if(!(typeof(bl)==='function'))throw j(15,bl);
var G=(%_IsArray(r));
if((bm===(void 0))){
for(var z=0;z<s;z++){
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){
var aH=r[z];
bl(aH,z,r);
}
}
}else{
for(var z=0;z<s;z++){
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){
var aH=r[z];
%_Call(bl,bm,aH,z,r);
}
}
}
}
function ArrayForEach(bl,bm){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.forEach");
var r=(%_ToObject(this));
var s=(%_ToLength(r.length));
InnerArrayForEach(bl,bm,r,s);
}
function InnerArraySome(bl,bm,r,s){
if(!(typeof(bl)==='function'))throw j(15,bl);
var G=(%_IsArray(r));
for(var z=0;z<s;z++){
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){
var aH=r[z];
if(%_Call(bl,bm,aH,z,r))return true;
}
}
return false;
}
function ArraySome(bl,bm){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.some");
var r=(%_ToObject(this));
var s=(%_ToLength(r.length));
return InnerArraySome(bl,bm,r,s);
}
function InnerArrayEvery(bl,bm,r,s){
if(!(typeof(bl)==='function'))throw j(15,bl);
var G=(%_IsArray(r));
for(var z=0;z<s;z++){
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){
var aH=r[z];
if(!%_Call(bl,bm,aH,z,r))return false;
}
}
return true;
}
function ArrayEvery(bl,bm){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.every");
var r=(%_ToObject(this));
var s=(%_ToLength(r.length));
return InnerArrayEvery(bl,bm,r,s);
}
function ArrayMap(bl,bm){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.map");
var r=(%_ToObject(this));
var s=(%_ToLength(r.length));
if(!(typeof(bl)==='function'))throw j(15,bl);
var ax=ArraySpeciesCreate(r,s);
var G=(%_IsArray(r));
for(var z=0;z<s;z++){
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){
var aH=r[z];
%CreateDataProperty(ax,z,%_Call(bl,bm,aH,z,r));
}
}
return ax;
}
function InnerArrayIndexOf(r,aH,aa,s){
if(s==0)return-1;
if((aa===(void 0))){
aa=0;
}else{
aa=(((%_ToInteger(aa)))+0);
if(aa<0){
aa=s+aa;
if(aa<0)aa=0;
}
}
var bo=aa;
var bb=s;
if(UseSparseVariant(r,s,(%_IsArray(r)),bb-bo)){
%NormalizeElements(r);
var w=%GetArrayKeys(r,s);
if((typeof(w)==='number')){
bb=w;
}else{
if(w.length==0)return-1;
var bp=GetSortedArrayKeys(r,w);
var af=bp.length;
var z=0;
while(z<af&&bp[z]<aa)z++;
while(z<af){
var F=bp[z];
if(r[F]===aH)return F;
z++;
}
return-1;
}
}
if(!(aH===(void 0))){
for(var z=bo;z<bb;z++){
if(r[z]===aH)return z;
}
return-1;
}
for(var z=bo;z<bb;z++){
if((r[z]===(void 0))&&z in r){
return z;
}
}
return-1;
}
function ArrayIndexOf(aH,aa){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.indexOf");
var s=(%_ToLength(this.length));
return InnerArrayIndexOf(this,aH,aa,s);
}
function InnerArrayLastIndexOf(r,aH,aa,s,bq){
if(s==0)return-1;
if(bq<2){
aa=s-1;
}else{
aa=(((%_ToInteger(aa)))+0);
if(aa<0)aa+=s;
if(aa<0)return-1;
else if(aa>=s)aa=s-1;
}
var bo=0;
var bb=aa;
if(UseSparseVariant(r,s,(%_IsArray(r)),aa)){
%NormalizeElements(r);
var w=%GetArrayKeys(r,aa+1);
if((typeof(w)==='number')){
bb=w;
}else{
if(w.length==0)return-1;
var bp=GetSortedArrayKeys(r,w);
var z=bp.length-1;
while(z>=0){
var F=bp[z];
if(r[F]===aH)return F;
z--;
}
return-1;
}
}
if(!(aH===(void 0))){
for(var z=bb;z>=bo;z--){
if(r[z]===aH)return z;
}
return-1;
}
for(var z=bb;z>=bo;z--){
if((r[z]===(void 0))&&z in r){
return z;
}
}
return-1;
}
function ArrayLastIndexOf(aH,aa){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.lastIndexOf");
var s=(%_ToLength(this.length));
return InnerArrayLastIndexOf(this,aH,aa,s,
arguments.length);
}
function InnerArrayReduce(br,U,r,s,bq){
if(!(typeof(br)==='function')){
throw j(15,br);
}
var G=(%_IsArray(r));
var z=0;
find_initial:if(bq<2){
for(;z<s;z++){
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){
U=r[z++];
break find_initial;
}
}
throw j(121);
}
for(;z<s;z++){
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){
var aH=r[z];
U=br(U,aH,z,r);
}
}
return U;
}
function ArrayReduce(br,U){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.reduce");
var r=(%_ToObject(this));
var s=(%_ToLength(r.length));
return InnerArrayReduce(br,U,r,s,
arguments.length);
}
function InnerArrayReduceRight(br,U,r,s,
bq){
if(!(typeof(br)==='function')){
throw j(15,br);
}
var G=(%_IsArray(r));
var z=s-1;
find_initial:if(bq<2){
for(;z>=0;z--){
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){
U=r[z--];
break find_initial;
}
}
throw j(121);
}
for(;z>=0;z--){
if(((G&&%_HasFastPackedElements(%IS_VAR(r))&&(z<r.length))||(z in r))){
var aH=r[z];
U=br(U,aH,z,r);
}
}
return U;
}
function ArrayReduceRight(br,U){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.reduceRight");
var r=(%_ToObject(this));
var s=(%_ToLength(r.length));
return InnerArrayReduceRight(br,U,r,s,
arguments.length);
}
function InnerArrayCopyWithin(bs,au,av,r,s){
bs=(%_ToInteger(bs));
var aG;
if(bs<0){
aG=k(s+bs,0);
}else{
aG=l(bs,s);
}
au=(%_ToInteger(au));
var q;
if(au<0){
q=k(s+au,0);
}else{
q=l(au,s);
}
av=(av===(void 0))?s:(%_ToInteger(av));
var bt;
if(av<0){
bt=k(s+av,0);
}else{
bt=l(av,s);
}
var bu=l(bt-q,s-aG);
var bv=1;
if(q<aG&&aG<(q+bu)){
bv=-1;
q=q+bu-1;
aG=aG+bu-1;
}
while(bu>0){
if(q in r){
r[aG]=r[q];
}else{
delete r[aG];
}
q=q+bv;
aG=aG+bv;
bu--;
}
return r;
}
function ArrayCopyWithin(bs,au,av){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.copyWithin");
var r=(%_ToObject(this));
var s=(%_ToLength(r.length));
return InnerArrayCopyWithin(bs,au,av,r,s);
}
function InnerArrayFind(bw,bx,r,s){
if(!(typeof(bw)==='function')){
throw j(15,bw);
}
for(var z=0;z<s;z++){
var aH=r[z];
if(%_Call(bw,bx,aH,z,r)){
return aH;
}
}
return;
}
function ArrayFind(bw,bx){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.find");
var r=(%_ToObject(this));
var s=(%_ToInteger(r.length));
return InnerArrayFind(bw,bx,r,s);
}
function InnerArrayFindIndex(bw,bx,r,s){
if(!(typeof(bw)==='function')){
throw j(15,bw);
}
for(var z=0;z<s;z++){
var aH=r[z];
if(%_Call(bw,bx,aH,z,r)){
return z;
}
}
return-1;
}
function ArrayFindIndex(bw,bx){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.findIndex");
var r=(%_ToObject(this));
var s=(%_ToInteger(r.length));
return InnerArrayFindIndex(bw,bx,r,s);
}
function InnerArrayFill(L,au,av,r,s){
var z=(au===(void 0))?0:(%_ToInteger(au));
var av=(av===(void 0))?s:(%_ToInteger(av));
if(z<0){
z+=s;
if(z<0)z=0;
}else{
if(z>s)z=s;
}
if(av<0){
av+=s;
if(av<0)av=0;
}else{
if(av>s)av=s;
}
if((av-z)>0&&%object_is_frozen(r)){
throw j(12);
}
for(;z<av;z++)
r[z]=L;
return r;
}
function ArrayFill(L,au,av){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.fill");
var r=(%_ToObject(this));
var s=(%_ToLength(r.length));
return InnerArrayFill(L,au,av,r,s);
}
function InnerArrayIncludes(by,bz,r,s){
if(s===0){
return false;
}
var af=(%_ToInteger(bz));
var V;
if(af>=0){
V=af;
}else{
V=s+af;
if(V<0){
V=0;
}
}
while(V<s){
var bA=r[V];
if(%SameValueZero(by,bA)){
return true;
}
++V;
}
return false;
}
function ArrayIncludes(by,bz){
if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"Array.prototype.includes");
var r=(%_ToObject(this));
var s=(%_ToLength(r.length));
return InnerArrayIncludes(by,bz,r,s);
}
function ArrayFrom(bB,bC,bm){
var bD=(%_ToObject(bB));
var bE=!(bC===(void 0));
if(bE){
if(!(typeof(bC)==='function')){
throw j(15,bC);
}
}
var bF=f(bD,o);
var V;
var ax;
var bG;
var bH;
if(!(bF===(void 0))){
ax=%IsConstructor(this)?new this():[];
V=0;
for(bH of
{[o](){return e(bD,bF)}}){
if(bE){
bG=%_Call(bC,bm,bH,V);
}else{
bG=bH;
}
%CreateDataProperty(ax,V,bG);
V++;
}
ax.length=V;
return ax;
}else{
var S=(%_ToLength(bD.length));
ax=%IsConstructor(this)?new this(S):new g(S);
for(V=0;V<S;++V){
bH=bD[V];
if(bE){
bG=%_Call(bC,bm,bH,V);
}else{
bG=bH;
}
%CreateDataProperty(ax,V,bG);
}
ax.length=V;
return ax;
}
}
function ArrayOf(...args){
var s=args.length;
var t=this;
var r=%IsConstructor(t)?new t(s):[];
for(var z=0;z<s;z++){
%CreateDataProperty(r,z,args[z]);
}
r.length=s;
return r;
}
%AddNamedProperty(g.prototype,"constructor",g,
2);
var bI={
__proto__:null,
copyWithin:true,
entries:true,
fill:true,
find:true,
findIndex:true,
keys:true,
};
%AddNamedProperty(g.prototype,p,bI,
2|1);
%FunctionSetLength(ArrayFrom,1);
b.InstallFunctions(g,2,[
"from",ArrayFrom,
"of",ArrayOf
]);
var bJ=%SpecialArrayFunctions();
var bK=function(bL,bM,S){
var bl=bM;
if(bJ.hasOwnProperty(bL)){
bl=bJ[bL];
}
if(!(S===(void 0))){
%FunctionSetLength(bl,S);
}
return bl;
};
b.InstallFunctions(g.prototype,2,[
"toString",bK("toString",ArrayToString),
"toLocaleString",bK("toLocaleString",ArrayToLocaleString),
"join",bK("join",ArrayJoin),
"pop",bK("pop",ArrayPop),
"push",bK("push",ArrayPush,1),
"reverse",bK("reverse",ArrayReverse),
"shift",bK("shift",ArrayShift),
"unshift",bK("unshift",ArrayUnshift,1),
"slice",bK("slice",ArraySlice,2),
"splice",bK("splice",ArraySplice,2),
"sort",bK("sort",ArraySort),
"filter",bK("filter",ArrayFilter,1),
"forEach",bK("forEach",ArrayForEach,1),
"some",bK("some",ArraySome,1),
"every",bK("every",ArrayEvery,1),
"map",bK("map",ArrayMap,1),
"indexOf",bK("indexOf",ArrayIndexOf,1),
"lastIndexOf",bK("lastIndexOf",ArrayLastIndexOf,1),
"reduce",bK("reduce",ArrayReduce,1),
"reduceRight",bK("reduceRight",ArrayReduceRight,1),
"copyWithin",bK("copyWithin",ArrayCopyWithin,2),
"find",bK("find",ArrayFind,1),
"findIndex",bK("findIndex",ArrayFindIndex,1),
"fill",bK("fill",ArrayFill,1),
"includes",bK("includes",ArrayIncludes,1),
]);
%FinishArrayPrototypeSetup(g.prototype);
b.SetUpLockedPrototype(h,g(),[
"indexOf",bK("indexOf",ArrayIndexOf),
"join",bK("join",ArrayJoin),
"pop",bK("pop",ArrayPop),
"push",bK("push",ArrayPush),
"shift",bK("shift",ArrayShift),
"sort",bK("sort",ArraySort),
"splice",bK("splice",ArraySplice)
]);
b.SetUpLockedPrototype(i,g(),[
"join",bK("join",ArrayJoin),
"pop",bK("pop",ArrayPop),
"push",bK("push",ArrayPush),
"shift",bK("shift",ArrayShift)
]);
b.SetUpLockedPrototype(c.InternalPackedArray,g(),[
"push",bK("push",ArrayPush),
"pop",bK("pop",ArrayPop),
"shift",bK("shift",ArrayShift),
"unshift",bK("unshift",ArrayUnshift),
"splice",bK("splice",ArraySplice),
"slice",bK("slice",ArraySlice)
]);
b.Export(function(aG){
aG.ArrayFrom=ArrayFrom;
aG.ArrayIndexOf=ArrayIndexOf;
aG.ArrayJoin=ArrayJoin;
aG.ArrayPush=ArrayPush;
aG.ArrayToString=ArrayToString;
aG.InnerArrayCopyWithin=InnerArrayCopyWithin;
aG.InnerArrayEvery=InnerArrayEvery;
aG.InnerArrayFill=InnerArrayFill;
aG.InnerArrayFilter=InnerArrayFilter;
aG.InnerArrayFind=InnerArrayFind;
aG.InnerArrayFindIndex=InnerArrayFindIndex;
aG.InnerArrayForEach=InnerArrayForEach;
aG.InnerArrayIncludes=InnerArrayIncludes;
aG.InnerArrayIndexOf=InnerArrayIndexOf;
aG.InnerArrayJoin=InnerArrayJoin;
aG.InnerArrayLastIndexOf=InnerArrayLastIndexOf;
aG.InnerArrayReduce=InnerArrayReduce;
aG.InnerArrayReduceRight=InnerArrayReduceRight;
aG.InnerArraySome=InnerArraySome;
aG.InnerArraySort=InnerArraySort;
aG.InnerArrayToLocaleString=InnerArrayToLocaleString;
aG.PackedArrayReverse=PackedArrayReverse;
aG.Stack=Stack;
aG.StackHas=StackHas;
aG.StackPush=StackPush;
aG.StackPop=StackPop;
});
%InstallToContext([
"array_pop",ArrayPop,
"array_push",ArrayPush,
"array_shift",ArrayShift,
"array_splice",ArraySplice,
"array_slice",ArraySlice,
"array_unshift",ArrayUnshift,
]);
});

string%Ô
(function(a,b){
%CheckIsBootstrapping();
var c;
var d;
var e=a.RegExp;
var f=a.String;
var g=b.InternalArray;
var h=b.InternalPackedArray;
var i;
var j;
var k;
var l;
var m;
var n;
var o=b.ImportNow("match_symbol");
var p=b.ImportNow("replace_symbol");
var q=b.ImportNow("search_symbol");
var r=b.ImportNow("split_symbol");
b.Import(function(s){
c=s.ArrayIndexOf;
d=s.ArrayJoin;
i=s.IsRegExp;
j=s.MakeRangeError;
k=s.MakeTypeError;
l=s.MaxSimple;
m=s.MinSimple;
n=s.RegExpInitialize;
});
function StringToString(){
if(!(typeof(this)==='string')&&!(%_ClassOf(this)==='String')){
throw k(69,'String.prototype.toString');
}
return %_ValueOf(this);
}
function StringValueOf(){
if(!(typeof(this)==='string')&&!(%_ClassOf(this)==='String')){
throw k(69,'String.prototype.valueOf');
}
return %_ValueOf(this);
}
function StringConcat(t){
"use strict";
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.concat");
var u=(%_ToString(this));
var v=arguments.length;
for(var w=0;w<v;++w){
u=u+(%_ToString(arguments[w]));
}
return u;
}
function StringIndexOf(x,y){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.indexOf");
var z=(%_ToString(this));
x=(%_ToString(x));
var A=(%_ToInteger(y));
if(A<0)A=0;
if(A>z.length)A=z.length;
return %StringIndexOf(z,x,A);
}
%FunctionSetLength(StringIndexOf,1);
function StringLastIndexOf(B,C){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.lastIndexOf");
var D=(%_ToString(this));
var E=D.length;
var B=(%_ToString(B));
var F=B.length;
var A=E-F;
var y=(%_ToNumber(C));
if(!(!%_IsSmi(%IS_VAR(y))&&!(y==y))){
y=(%_ToInteger(y));
if(y<0){
y=0;
}
if(y+F<E){
A=y;
}
}
if(A<0){
return-1;
}
return %StringLastIndexOf(D,B,A);
}
%FunctionSetLength(StringLastIndexOf,1);
function StringLocaleCompareJS(t){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.localeCompare");
return %StringLocaleCompare((%_ToString(this)),(%_ToString(t)));
}
function StringMatchJS(x){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.match");
if(!(x==null)){
var G=x[o];
if(!(G===(void 0))){
return %_Call(G,x,this);
}
}
var z=(%_ToString(this));
var H=%_NewObject(e,e);
n(H,x);
return H[o](z);
}
function StringNormalize(I){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.normalize");
var u=(%_ToString(this));
var J=(I===(void 0))?'NFC':(%_ToString(I));
var K=['NFC','NFD','NFKC','NFKD'];
var L=%_Call(c,K,J);
if(L===-1){
throw j(173,
%_Call(d,K,', '));
}
return u;
}
%FunctionSetLength(StringNormalize,0);
var M=[2,"","",-1,-1];
function StringReplace(N,O){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.replace");
if(!(N==null)){
var P=N[p];
if(!(P===(void 0))){
return %_Call(P,N,this,O);
}
}
var z=(%_ToString(this));
N=(%_ToString(N));
if(N.length==1&&
z.length>0xFF&&
(typeof(O)==='string')&&
%StringIndexOf(O,'$',0)<0){
return %StringReplaceOneCharWithString(z,N,O);
}
var Q=%StringIndexOf(z,N,0);
if(Q<0)return z;
var R=Q+N.length;
var S=%_SubString(z,0,Q);
if((typeof(O)==='function')){
S+=O(N,Q,z);
}else{
M[3]=Q;
M[4]=R;
S=ExpandReplacement((%_ToString(O)),
z,
M,
S);
}
return S+%_SubString(z,R,z.length);
}
function ExpandReplacement(T,z,U,S){
var V=T.length;
var W=%StringIndexOf(T,'$',0);
if(W<0){
if(V>0)S+=T;
return S;
}
if(W>0)S+=%_SubString(T,0,W);
while(true){
var X='$';
var y=W+1;
if(y<V){
var Y=%_StringCharCodeAt(T,y);
if(Y==36){
++y;
S+='$';
}else if(Y==38){
++y;
S+=
%_SubString(z,U[3],U[4]);
}else if(Y==96){
++y;
S+=%_SubString(z,0,U[3]);
}else if(Y==39){
++y;
S+=%_SubString(z,U[4],z.length);
}else if(Y>=48&&Y<=57){
var Z=(Y-48)<<1;
var aa=1;
var ab=((U)[0]);
if(y+1<T.length){
var W=%_StringCharCodeAt(T,y+1);
if(W>=48&&W<=57){
var ac=Z*10+((W-48)<<1);
if(ac<ab){
Z=ac;
aa=2;
}
}
}
if(Z!=0&&Z<ab){
var Q=U[(3+(Z))];
if(Q>=0){
S+=
%_SubString(z,Q,U[(3+(Z+1))]);
}
y+=aa;
}else{
S+='$';
}
}else{
S+='$';
}
}else{
S+='$';
}
W=%StringIndexOf(T,'$',y);
if(W<0){
if(y<V){
S+=%_SubString(T,y,V);
}
return S;
}
if(W>y){
S+=%_SubString(T,y,W);
}
}
return S;
}
function StringSearch(x){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.search");
if(!(x==null)){
var ad=x[q];
if(!(ad===(void 0))){
return %_Call(ad,x,this);
}
}
var z=(%_ToString(this));
var H=%_NewObject(e,e);
n(H,x);
return %_Call(H[q],H,z);
}
function StringSlice(Q,R){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.slice");
var u=(%_ToString(this));
var ae=u.length;
var af=(%_ToInteger(Q));
var ag=ae;
if(!(R===(void 0))){
ag=(%_ToInteger(R));
}
if(af<0){
af+=ae;
if(af<0){
af=0;
}
}else{
if(af>ae){
return'';
}
}
if(ag<0){
ag+=ae;
if(ag<0){
return'';
}
}else{
if(ag>ae){
ag=ae;
}
}
if(ag<=af){
return'';
}
return %_SubString(u,af,ag);
}
function StringSplitJS(ah,ai){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.split");
if(!(ah==null)){
var aj=ah[r];
if(!(aj===(void 0))){
return %_Call(aj,ah,this,ai);
}
}
var z=(%_ToString(this));
ai=((ai===(void 0)))?4294967295:((ai)>>>0);
var V=z.length;
var ak=(%_ToString(ah));
if(ai===0)return[];
if((ah===(void 0)))return[z];
var al=ak.length;
if(al===0)return %StringToArray(z,ai);
return %StringSplit(z,ak,ai);
}
function StringSubstring(Q,R){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.subString");
var u=(%_ToString(this));
var ae=u.length;
var af=(%_ToInteger(Q));
if(af<0){
af=0;
}else if(af>ae){
af=ae;
}
var ag=ae;
if(!(R===(void 0))){
ag=(%_ToInteger(R));
if(ag>ae){
ag=ae;
}else{
if(ag<0)ag=0;
if(af>ag){
var am=ag;
ag=af;
af=am;
}
}
}
return %_SubString(u,af,ag);
}
function StringSubstr(Q,an){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.substr");
var u=(%_ToString(this));
var v;
if((an===(void 0))){
v=u.length;
}else{
v=(%_ToInteger(an));
if(v<=0)return'';
}
if((Q===(void 0))){
Q=0;
}else{
Q=(%_ToInteger(Q));
if(Q>=u.length)return'';
if(Q<0){
Q+=u.length;
if(Q<0)Q=0;
}
}
var R=Q+v;
if(R>u.length)R=u.length;
return %_SubString(u,Q,R);
}
function StringToLowerCaseJS(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.toLowerCase");
return %StringToLowerCase((%_ToString(this)));
}
function StringToLocaleLowerCase(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.toLocaleLowerCase");
return %StringToLowerCase((%_ToString(this)));
}
function StringToUpperCaseJS(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.toUpperCase");
return %StringToUpperCase((%_ToString(this)));
}
function StringToLocaleUpperCase(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.toLocaleUpperCase");
return %StringToUpperCase((%_ToString(this)));
}
function StringTrimJS(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.trim");
return %StringTrim((%_ToString(this)),true,true);
}
function StringTrimLeft(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.trimLeft");
return %StringTrim((%_ToString(this)),true,false);
}
function StringTrimRight(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.trimRight");
return %StringTrim((%_ToString(this)),false,true);
}
function HtmlEscape(ao){
return %_Call(StringReplace,(%_ToString(ao)),/"/g,"&quot;");
}
function StringAnchor(ap){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.anchor");
return"<a name=\""+HtmlEscape(ap)+"\">"+(%_ToString(this))+
"</a>";
}
function StringBig(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.big");
return"<big>"+(%_ToString(this))+"</big>";
}
function StringBlink(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.blink");
return"<blink>"+(%_ToString(this))+"</blink>";
}
function StringBold(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.bold");
return"<b>"+(%_ToString(this))+"</b>";
}
function StringFixed(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.fixed");
return"<tt>"+(%_ToString(this))+"</tt>";
}
function StringFontcolor(aq){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.fontcolor");
return"<font color=\""+HtmlEscape(aq)+"\">"+(%_ToString(this))+
"</font>";
}
function StringFontsize(ar){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.fontsize");
return"<font size=\""+HtmlEscape(ar)+"\">"+(%_ToString(this))+
"</font>";
}
function StringItalics(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.italics");
return"<i>"+(%_ToString(this))+"</i>";
}
function StringLink(u){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.link");
return"<a href=\""+HtmlEscape(u)+"\">"+(%_ToString(this))+"</a>";
}
function StringSmall(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.small");
return"<small>"+(%_ToString(this))+"</small>";
}
function StringStrike(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.strike");
return"<strike>"+(%_ToString(this))+"</strike>";
}
function StringSub(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.sub");
return"<sub>"+(%_ToString(this))+"</sub>";
}
function StringSup(){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.sup");
return"<sup>"+(%_ToString(this))+"</sup>";
}
function StringRepeat(as){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.repeat");
var u=(%_ToString(this));
var an=(%_ToInteger(as));
if(an<0||an===(1/0))throw j(157);
if(u.length===0)return"";
if(an>%_MaxSmi())throw j(157);
var at="";
while(true){
if(an&1)at+=u;
an>>=1;
if(an===0)return at;
u+=u;
}
}
function StringStartsWith(au,y){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.startsWith");
var u=(%_ToString(this));
if(i(au)){
throw k(40,"String.prototype.startsWith");
}
var av=(%_ToString(au));
var C=(%_ToInteger(y));
var ae=u.length;
var Q=m(l(C,0),ae);
var aw=av.length;
if(aw+Q>ae){
return false;
}
return %_SubString(u,Q,Q+aw)===av;
}
%FunctionSetLength(StringStartsWith,1);
function StringEndsWith(au,y){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.endsWith");
var u=(%_ToString(this));
if(i(au)){
throw k(40,"String.prototype.endsWith");
}
var av=(%_ToString(au));
var ae=u.length;
var C=!(y===(void 0))?(%_ToInteger(y)):ae
var R=m(l(C,0),ae);
var aw=av.length;
var Q=R-aw;
if(Q<0){
return false;
}
return %_SubString(u,Q,Q+aw)===av;
}
%FunctionSetLength(StringEndsWith,1);
function StringIncludes(au,y){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.includes");
var T=(%_ToString(this));
if(i(au)){
throw k(40,"String.prototype.includes");
}
au=(%_ToString(au));
var C=(%_ToInteger(y));
var ax=T.length;
if(C<0)C=0;
if(C>ax)C=ax;
var ay=au.length;
if(ay+C>ax){
return false;
}
return %StringIndexOf(T,au,C)!==-1;
}
%FunctionSetLength(StringIncludes,1);
function StringCodePointAt(C){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"String.prototype.codePointAt");
var T=(%_ToString(this));
var ar=T.length;
C=(%_ToInteger(C));
if(C<0||C>=ar){
return(void 0);
}
var az=%_StringCharCodeAt(T,C);
if(az<0xD800||az>0xDBFF||C+1==ar){
return az;
}
var aA=%_StringCharCodeAt(T,C+1);
if(aA<0xDC00||aA>0xDFFF){
return az;
}
return(az-0xD800)*0x400+aA+0x2400;
}
function StringFromCodePoint(aB){
"use strict";
var aC;
var V=arguments.length;
var A;
var S="";
for(A=0;A<V;A++){
aC=arguments[A];
if(!%_IsSmi(aC)){
aC=(%_ToNumber(aC));
}
if(aC<0||aC>0x10FFFF||aC!==(%_ToInteger(aC))){
throw j(156,aC);
}
if(aC<=0xFFFF){
S+=%_StringCharFromCode(aC);
}else{
aC-=0x10000;
S+=%_StringCharFromCode((aC>>>10)&0x3FF|0xD800);
S+=%_StringCharFromCode(aC&0x3FF|0xDC00);
}
}
return S;
}
function StringRaw(aD){
"use strict";
var aE=arguments.length;
var aF=(%_ToObject(aD));
var aG=(%_ToObject(aF.raw));
var aH=(%_ToLength(aG.length));
if(aH<=0)return"";
var S=(%_ToString(aG[0]));
for(var w=1;w<aH;++w){
if(w<aE){
S+=(%_ToString(arguments[w]));
}
S+=(%_ToString(aG[w]));
}
return S;
}
b.InstallFunctions(f,2,[
"fromCodePoint",StringFromCodePoint,
"raw",StringRaw
]);
b.InstallFunctions(f.prototype,2,[
"valueOf",StringValueOf,
"toString",StringToString,
"codePointAt",StringCodePointAt,
"concat",StringConcat,
"endsWith",StringEndsWith,
"includes",StringIncludes,
"indexOf",StringIndexOf,
"lastIndexOf",StringLastIndexOf,
"localeCompare",StringLocaleCompareJS,
"match",StringMatchJS,
"normalize",StringNormalize,
"repeat",StringRepeat,
"replace",StringReplace,
"search",StringSearch,
"slice",StringSlice,
"split",StringSplitJS,
"substring",StringSubstring,
"substr",StringSubstr,
"startsWith",StringStartsWith,
"toLowerCase",StringToLowerCaseJS,
"toLocaleLowerCase",StringToLocaleLowerCase,
"toUpperCase",StringToUpperCaseJS,
"toLocaleUpperCase",StringToLocaleUpperCase,
"trim",StringTrimJS,
"trimLeft",StringTrimLeft,
"trimRight",StringTrimRight,
"link",StringLink,
"anchor",StringAnchor,
"fontcolor",StringFontcolor,
"fontsize",StringFontsize,
"big",StringBig,
"blink",StringBlink,
"bold",StringBold,
"fixed",StringFixed,
"italics",StringItalics,
"small",StringSmall,
"strike",StringStrike,
"sub",StringSub,
"sup",StringSup
]);
b.Export(function(aI){
aI.ExpandReplacement=ExpandReplacement;
aI.StringIndexOf=StringIndexOf;
aI.StringLastIndexOf=StringLastIndexOf;
aI.StringMatch=StringMatchJS;
aI.StringReplace=StringReplace;
aI.StringSlice=StringSlice;
aI.StringSplit=StringSplitJS;
aI.StringSubstr=StringSubstr;
aI.StringSubstring=StringSubstring;
});
})

uri‰3
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Object;
var d=b.InternalArray;
var e;
b.Import(function(f){
e=f.MakeURIError;
});
function HexValueOf(g){
if(g>=48&&g<=57)return g-48;
if(g>=65&&g<=70)return g-55;
if(g>=97&&g<=102)return g-87;
return-1;
}
function URIHexCharsToCharCode(h,i){
var j=HexValueOf(h);
var k=HexValueOf(i);
if(j==-1||k==-1)throw e();
return(j<<4)|k;
}
function URIDecodeOctets(l,m,n){
var o;
var p=l[0];
if(p<0x80){
o=p;
}else if(p<0xc2){
throw e();
}else{
var q=l[1];
if(p<0xe0){
var r=p&0x1f;
if((q<0x80)||(q>0xbf))throw e();
var s=q&0x3f;
o=(r<<6)+s;
if(o<0x80||o>0x7ff)throw e();
}else{
var t=l[2];
if(p<0xf0){
var r=p&0x0f;
if((q<0x80)||(q>0xbf))throw e();
var s=q&0x3f;
if((t<0x80)||(t>0xbf))throw e();
var u=t&0x3f;
o=(r<<12)+(s<<6)+u;
if((o<0x800)||(o>0xffff))throw e();
}else{
var v=l[3];
if(p<0xf8){
var r=(p&0x07);
if((q<0x80)||(q>0xbf))throw e();
var s=(q&0x3f);
if((t<0x80)||(t>0xbf)){
throw e();
}
var u=(t&0x3f);
if((v<0x80)||(v>0xbf))throw e();
var w=(v&0x3f);
o=(r<<18)+(s<<12)+(u<<6)+w;
if((o<0x10000)||(o>0x10ffff))throw e();
}else{
throw e();
}
}
}
}
if(0xD800<=o&&o<=0xDFFF)throw e();
if(o<0x10000){
%_TwoByteSeqStringSetChar(n++,o,m);
}else{
%_TwoByteSeqStringSetChar(n++,(o>>10)+0xd7c0,m);
%_TwoByteSeqStringSetChar(n++,(o&0x3ff)+0xdc00,m);
}
return n;
}
function Decode(x,y){
x=(%_ToString(x));
var z=x.length;
var A=%NewString(z,true);
var n=0;
var B=0;
for(;B<z;B++){
var g=%_StringCharCodeAt(x,B);
if(g==37){
if(B+2>=z)throw e();
var C=URIHexCharsToCharCode(%_StringCharCodeAt(x,B+1),
%_StringCharCodeAt(x,B+2));
if(C>>7)break;
if(y(C)){
%_OneByteSeqStringSetChar(n++,37,A);
%_OneByteSeqStringSetChar(n++,%_StringCharCodeAt(x,B+1),
A);
%_OneByteSeqStringSetChar(n++,%_StringCharCodeAt(x,B+2),
A);
}else{
%_OneByteSeqStringSetChar(n++,C,A);
}
B+=2;
}else{
if(g>0x7f)break;
%_OneByteSeqStringSetChar(n++,g,A);
}
}
A=%TruncateString(A,n);
if(B==z)return A;
var D=%NewString(z-B,false);
n=0;
for(;B<z;B++){
var g=%_StringCharCodeAt(x,B);
if(g==37){
if(B+2>=z)throw e();
var C=URIHexCharsToCharCode(%_StringCharCodeAt(x,++B),
%_StringCharCodeAt(x,++B));
if(C>>7){
var E=0;
while(((C<<++E)&0x80)!=0){}
if(E==1||E>4)throw e();
var l=new d(E);
l[0]=C;
if(B+3*(E-1)>=z)throw e();
for(var F=1;F<E;F++){
if(x[++B]!='%')throw e();
l[F]=URIHexCharsToCharCode(%_StringCharCodeAt(x,++B),
%_StringCharCodeAt(x,++B));
}
n=URIDecodeOctets(l,D,n);
}else if(y(C)){
%_TwoByteSeqStringSetChar(n++,37,D);
%_TwoByteSeqStringSetChar(n++,%_StringCharCodeAt(x,B-1),
D);
%_TwoByteSeqStringSetChar(n++,%_StringCharCodeAt(x,B),
D);
}else{
%_TwoByteSeqStringSetChar(n++,C,D);
}
}else{
%_TwoByteSeqStringSetChar(n++,g,D);
}
}
D=%TruncateString(D,n);
return A+D;
}
function URIEscapeJS(G){
return %URIEscape(G);
}
function URIUnescapeJS(G){
return %URIUnescape(G);
}
function URIDecode(x){
var H=function(C){
if(35<=C&&C<=36)return true;
if(C==38)return true;
if(43<=C&&C<=44)return true;
if(C==47)return true;
if(58<=C&&C<=59)return true;
if(C==61)return true;
if(63<=C&&C<=64)return true;
return false;
};
return Decode(x,H);
}
function URIDecodeComponent(I){
var H=function(C){return false;};
return Decode(I,H);
}
b.InstallFunctions(a,2,[
"escape",URIEscapeJS,
"unescape",URIUnescapeJS,
"decodeURI",URIDecode,
"decodeURIComponent",URIDecodeComponent
]);
})

mathQ,
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Float64Array;
var d=a.Math;
var e=a.Object;
var f=b.InternalArray;
var g=%GetRootNaN();
var h=0;
var i=(void 0);
var j=b.ImportNow("to_string_tag_symbol");
function MathAbs(k){
k=+k;
return(k>0)?k:0-k;
}
function MathAtan2JS(l,k){
l=+l;
k=+k;
return %MathAtan2(l,k);
}
function MathExp(k){
return %MathExpRT((%_ToNumber(k)));
}
function MathLog(k){
return %_MathLogRT((%_ToNumber(k)));
}
function MathPowJS(k,l){
return %_MathPow((%_ToNumber(k)),(%_ToNumber(l)));
}
function MathRandom(){
if(h<=2){
i=%GenerateRandomNumbers(i);
h=i.length;
}
return i[--h];
}
function MathRandomRaw(){
if(h<=2){
i=%GenerateRandomNumbers(i);
h=i.length;
}
return %_DoubleLo(i[--h])&0x3FFFFFFF;
}
function MathSign(k){
k=+k;
if(k>0)return 1;
if(k<0)return-1;
return k;
}
function MathAsinh(k){
k=(%_ToNumber(k));
if(k===0||!(%_IsSmi(%IS_VAR(k))||((k==k)&&(k!=1/0)&&(k!=-1/0))))return k;
if(k>0)return MathLog(k+%math_sqrt(k*k+1));
return-MathLog(-k+%math_sqrt(k*k+1));
}
function MathAcosh(k){
k=(%_ToNumber(k));
if(k<1)return g;
if(!(%_IsSmi(%IS_VAR(k))||((k==k)&&(k!=1/0)&&(k!=-1/0))))return k;
return MathLog(k+%math_sqrt(k+1)*%math_sqrt(k-1));
}
function MathAtanh(k){
k=(%_ToNumber(k));
if(k===0)return k;
if(!(%_IsSmi(%IS_VAR(k))||((k==k)&&(k!=1/0)&&(k!=-1/0))))return g;
return 0.5*MathLog((1+k)/(1-k));
}
function MathHypot(k,l){
var m=arguments.length;
var n=0;
for(var o=0;o<m;o++){
var p=MathAbs(arguments[o]);
if(p>n)n=p;
arguments[o]=p;
}
if(n===(1/0))return(1/0);
if(n===0)n=1;
var q=0;
var r=0;
for(var o=0;o<m;o++){
var p=arguments[o]/n;
var s=p*p-r;
var t=q+s;
r=(t-q)-s;
q=t;
}
return %math_sqrt(q)*n;
}
function MathCbrt(k){
k=(%_ToNumber(k));
if(k==0||!(%_IsSmi(%IS_VAR(k))||((k==k)&&(k!=1/0)&&(k!=-1/0))))return k;
return k>=0?CubeRoot(k):-CubeRoot(-k);
}
function CubeRoot(k){
var u=%math_floor(%_DoubleHi(k)/3)+0x2A9F7893;
var v=%_ConstructDouble(u|0,0);
v=(1.0/3.0)*(k/(v*v)+2*v);
;
v=(1.0/3.0)*(k/(v*v)+2*v);
;
v=(1.0/3.0)*(k/(v*v)+2*v);
;
return(1.0/3.0)*(k/(v*v)+2*v);
;
}
%InstallToContext([
"math_pow",MathPowJS,
]);
%AddNamedProperty(d,j,"Math",1|2);
b.InstallConstants(d,[
"E",2.7182818284590452354,
"LN10",2.302585092994046,
"LN2",0.6931471805599453,
"LOG2E",1.4426950408889634,
"LOG10E",0.4342944819032518,
"PI",3.1415926535897932,
"SQRT1_2",0.7071067811865476,
"SQRT2",1.4142135623730951
]);
b.InstallFunctions(d,2,[
"random",MathRandom,
"abs",MathAbs,
"exp",MathExp,
"log",MathLog,
"atan2",MathAtan2JS,
"pow",MathPowJS,
"sign",MathSign,
"asinh",MathAsinh,
"acosh",MathAcosh,
"atanh",MathAtanh,
"hypot",MathHypot,
"cbrt",MathCbrt
]);
%SetForceInlineFlag(MathAbs);
%SetForceInlineFlag(MathAtan2JS);
%SetForceInlineFlag(MathRandom);
%SetForceInlineFlag(MathSign);
b.Export(function(w){
w.MathAbs=MathAbs;
w.MathExp=MathExp;
w.IntRandom=MathRandomRaw;
});
})

fdlibmùÈ
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Float64Array;
var d=a.Math;
var e;
var f;
var g=%GetRootNaN();
var h;
b.Import(function(i){
e=i.MathAbs;
f=i.MathExp;
});
b.CreateDoubleResultArray=function(a){
h=new c(2);
};
function KernelTan(j,k,l){
var m;
var n;
var o=%_DoubleHi(j);
var p=o&0x7fffffff;
if(p<0x3e300000){
if(((p|%_DoubleLo(j))|(l+1))==0){
return 1/e(j);
}else{
if(l==1){
return j;
}else{
var n=j+k;
var m=%_ConstructDouble(%_DoubleHi(n),0);
var q=k-(m-j);
var r=-1/n;
var s=%_ConstructDouble(%_DoubleHi(r),0);
var t=1+s*m;
return s+r*(t+s*q);
}
}
}
if(p>=0x3fe59428){
if(j<0){
j=-j;
k=-k;
}
m=7.85398163397448278999e-01-j;
n=3.06161699786838301793e-17-k;
j=m+n;
k=0;
}
m=j*j;
n=m*m;
var u=1.33333333333201242699e-01+n*(2.18694882948595424599e-02+n*(3.59207910759131235356e-03+
n*(5.88041240820264096874e-04+n*(7.81794442939557092300e-05+n*-1.85586374855275456654e-05))));
var q=m*(5.39682539762260521377e-02+n*(8.86323982359930005737e-03+n*(1.45620945432529025516e-03+
n*(2.46463134818469906812e-04+n*(7.14072491382608190305e-05+n*2.59073051863633712884e-05)))));
var t=m*j;
u=k+m*(t*(u+q)+k);
u=u+3.33333333333334091986e-01*t;
n=j+u;
if(p>=0x3fe59428){
return(1-((o>>30)&2))*
(l-2.0*(j-(n*n/(n+l)-u)));
}
if(l==1){
return n;
}else{
m=%_ConstructDouble(%_DoubleHi(n),0);
q=u-(m-j);
var r=-1/n;
var s=%_ConstructDouble(%_DoubleHi(r),0);
t=1+s*m;
return s+r*(t+s*q);
}
}
function MathSinSlow(j){
var v,w,x;
var o=%_DoubleHi(j);
var p=o&0x7fffffff;
if(p<0x4002d97c){
if(o>0){
var m=j-1.57079632673412561417;
if(p!=0x3ff921fb){
w=m-6.07710050650619224932e-11;
x=(m-w)-6.07710050650619224932e-11;
}else{
m-=6.07710050630396597660e-11;
w=m-2.02226624879595063154e-21;
x=(m-w)-2.02226624879595063154e-21;
}
v=1;
}else{
var m=j+1.57079632673412561417;
if(p!=0x3ff921fb){
w=m+6.07710050650619224932e-11;
x=(m-w)+6.07710050650619224932e-11;
}else{
m+=6.07710050630396597660e-11;
w=m+2.02226624879595063154e-21;
x=(m-w)+2.02226624879595063154e-21;
}
v=-1;
}
}else if(p<=0x413921fb){
var s=e(j);
v=(s*6.36619772367581382433e-01+0.5)|0;
var u=s-v*1.57079632673412561417;
var n=v*6.07710050650619224932e-11;
w=u-n;
if(p-(%_DoubleHi(w)&0x7ff00000)>0x1000000){
s=u;
n=v*6.07710050630396597660e-11;
u=s-n;
n=v*2.02226624879595063154e-21-((s-u)-n);
w=u-n;
if(p-(%_DoubleHi(w)&0x7ff00000)>0x3100000){
s=u;
n=v*2.02226624871116645580e-21;
u=s-n;
n=v*8.47842766036889956997e-32-((s-u)-n);
w=u-n;
}
}
x=(u-w)-n;
if(o<0){
v=-v;
w=-w;
x=-x;
}
}else{
v=%RemPiO2(j,h);
w=h[0];
x=h[1];
}
;
var y=1-(v&2);
if(v&1){
var p=%_DoubleHi(w)&0x7fffffff;
var m=w*w;
var u=m*(4.16666666666666019037e-02+m*(-1.38888888888741095749e-03+m*(2.48015872894767294178e-05+m*(-2.75573143513906633035e-07+m*(2.08757232129817482790e-09+m*-1.13596475577881948265e-11)))));
if(p<0x3fd33333){
return(1-(0.5*m-(m*u-w*x)))*y;
}else{
var z;
if(p>0x3fe90000){
z=0.28125;
}else{
z=%_ConstructDouble(%_DoubleHi(0.25*w),0);
}
var A=0.5*m-z;
return(1-z-(A-(m*u-w*x)))*y;
}
;
}else{
var m=w*w;
var q=m*w;
var u=8.33333333332248946124e-03+m*(-1.98412698298579493134e-04+m*(2.75573137070700676789e-06+m*(-2.50507602534068634195e-08+m*1.58969099521155010221e-10)));
return(w-((m*(0.5*x-q*u)-x)-q*-1.66666666666666324348e-01))*y;
;
}
}
function MathCosSlow(j){
var v,w,x;
var o=%_DoubleHi(j);
var p=o&0x7fffffff;
if(p<0x4002d97c){
if(o>0){
var m=j-1.57079632673412561417;
if(p!=0x3ff921fb){
w=m-6.07710050650619224932e-11;
x=(m-w)-6.07710050650619224932e-11;
}else{
m-=6.07710050630396597660e-11;
w=m-2.02226624879595063154e-21;
x=(m-w)-2.02226624879595063154e-21;
}
v=1;
}else{
var m=j+1.57079632673412561417;
if(p!=0x3ff921fb){
w=m+6.07710050650619224932e-11;
x=(m-w)+6.07710050650619224932e-11;
}else{
m+=6.07710050630396597660e-11;
w=m+2.02226624879595063154e-21;
x=(m-w)+2.02226624879595063154e-21;
}
v=-1;
}
}else if(p<=0x413921fb){
var s=e(j);
v=(s*6.36619772367581382433e-01+0.5)|0;
var u=s-v*1.57079632673412561417;
var n=v*6.07710050650619224932e-11;
w=u-n;
if(p-(%_DoubleHi(w)&0x7ff00000)>0x1000000){
s=u;
n=v*6.07710050630396597660e-11;
u=s-n;
n=v*2.02226624879595063154e-21-((s-u)-n);
w=u-n;
if(p-(%_DoubleHi(w)&0x7ff00000)>0x3100000){
s=u;
n=v*2.02226624871116645580e-21;
u=s-n;
n=v*8.47842766036889956997e-32-((s-u)-n);
w=u-n;
}
}
x=(u-w)-n;
if(o<0){
v=-v;
w=-w;
x=-x;
}
}else{
v=%RemPiO2(j,h);
w=h[0];
x=h[1];
}
;
if(v&1){
var y=(v&2)-1;
var m=w*w;
var q=m*w;
var u=8.33333333332248946124e-03+m*(-1.98412698298579493134e-04+m*(2.75573137070700676789e-06+m*(-2.50507602534068634195e-08+m*1.58969099521155010221e-10)));
return(w-((m*(0.5*x-q*u)-x)-q*-1.66666666666666324348e-01))*y;
;
}else{
var y=1-(v&2);
var p=%_DoubleHi(w)&0x7fffffff;
var m=w*w;
var u=m*(4.16666666666666019037e-02+m*(-1.38888888888741095749e-03+m*(2.48015872894767294178e-05+m*(-2.75573143513906633035e-07+m*(2.08757232129817482790e-09+m*-1.13596475577881948265e-11)))));
if(p<0x3fd33333){
return(1-(0.5*m-(m*u-w*x)))*y;
}else{
var z;
if(p>0x3fe90000){
z=0.28125;
}else{
z=%_ConstructDouble(%_DoubleHi(0.25*w),0);
}
var A=0.5*m-z;
return(1-z-(A-(m*u-w*x)))*y;
}
;
}
}
function MathSin(j){
j=+j;
if((%_DoubleHi(j)&0x7fffffff)<=0x3fe921fb){
var m=j*j;
var q=m*j;
var u=8.33333333332248946124e-03+m*(-1.98412698298579493134e-04+m*(2.75573137070700676789e-06+m*(-2.50507602534068634195e-08+m*1.58969099521155010221e-10)));
return(j-((m*(0.5*0-q*u)-0)-q*-1.66666666666666324348e-01));
;
}
return+MathSinSlow(j);
}
function MathCos(j){
j=+j;
if((%_DoubleHi(j)&0x7fffffff)<=0x3fe921fb){
var p=%_DoubleHi(j)&0x7fffffff;
var m=j*j;
var u=m*(4.16666666666666019037e-02+m*(-1.38888888888741095749e-03+m*(2.48015872894767294178e-05+m*(-2.75573143513906633035e-07+m*(2.08757232129817482790e-09+m*-1.13596475577881948265e-11)))));
if(p<0x3fd33333){
return(1-(0.5*m-(m*u-j*0)));
}else{
var z;
if(p>0x3fe90000){
z=0.28125;
}else{
z=%_ConstructDouble(%_DoubleHi(0.25*j),0);
}
var A=0.5*m-z;
return(1-z-(A-(m*u-j*0)));
}
;
}
return+MathCosSlow(j);
}
function MathTan(j){
j=j*1;
if((%_DoubleHi(j)&0x7fffffff)<=0x3fe921fb){
return KernelTan(j,0,1);
}
var v,w,x;
var o=%_DoubleHi(j);
var p=o&0x7fffffff;
if(p<0x4002d97c){
if(o>0){
var m=j-1.57079632673412561417;
if(p!=0x3ff921fb){
w=m-6.07710050650619224932e-11;
x=(m-w)-6.07710050650619224932e-11;
}else{
m-=6.07710050630396597660e-11;
w=m-2.02226624879595063154e-21;
x=(m-w)-2.02226624879595063154e-21;
}
v=1;
}else{
var m=j+1.57079632673412561417;
if(p!=0x3ff921fb){
w=m+6.07710050650619224932e-11;
x=(m-w)+6.07710050650619224932e-11;
}else{
m+=6.07710050630396597660e-11;
w=m+2.02226624879595063154e-21;
x=(m-w)+2.02226624879595063154e-21;
}
v=-1;
}
}else if(p<=0x413921fb){
var s=e(j);
v=(s*6.36619772367581382433e-01+0.5)|0;
var u=s-v*1.57079632673412561417;
var n=v*6.07710050650619224932e-11;
w=u-n;
if(p-(%_DoubleHi(w)&0x7ff00000)>0x1000000){
s=u;
n=v*6.07710050630396597660e-11;
u=s-n;
n=v*2.02226624879595063154e-21-((s-u)-n);
w=u-n;
if(p-(%_DoubleHi(w)&0x7ff00000)>0x3100000){
s=u;
n=v*2.02226624871116645580e-21;
u=s-n;
n=v*8.47842766036889956997e-32-((s-u)-n);
w=u-n;
}
}
x=(u-w)-n;
if(o<0){
v=-v;
w=-w;
x=-x;
}
}else{
v=%RemPiO2(j,h);
w=h[0];
x=h[1];
}
;
return KernelTan(w,x,(v&1)?-1:1);
}
function MathLog1p(j){
j=j*1;
var o=%_DoubleHi(j);
var B=o&0x7fffffff;
var C=1;
var D=j;
var E=1;
var F=0;
var G=j;
if(o<0x3fda827a){
if(B>=0x3ff00000){
if(j===-1){
return-(1/0);
}else{
return g;
}
}else if(B<0x3c900000){
return j;
}else if(B<0x3e200000){
return j-j*j*0.5;
}
if((o>0)||(o<=-0x402D413D)){
C=0;
}
}
if(o>=0x7ff00000)return j;
if(C!==0){
if(o<0x43400000){
G=1+j;
E=%_DoubleHi(G);
C=(E>>20)-1023;
F=(C>0)?1-(G-j):j-(G-1);
F=F/G;
}else{
E=%_DoubleHi(G);
C=(E>>20)-1023;
}
E=E&0xfffff;
if(E<0x6a09e){
G=%_ConstructDouble(E|0x3ff00000,%_DoubleLo(G));
}else{
++C;
G=%_ConstructDouble(E|0x3fe00000,%_DoubleLo(G));
E=(0x00100000-E)>>2;
}
D=G-1;
}
var H=0.5*D*D;
if(E===0){
if(D===0){
if(C===0){
return 0.0;
}else{
return C*6.93147180369123816490e-01+(F+C*1.90821492927058770002e-10);
}
}
var I=H*(1-6.666666666666666666e-01*D);
if(C===0){
return D-I;
}else{
return C*6.93147180369123816490e-01-((I-(C*1.90821492927058770002e-10+F))-D);
}
}
var t=D/(2+D);
var m=t*t;
var I=m*(6.666666666666735130e-01+m*(3.999999999940941908e-01+m*(2.857142874366239149e-01+m*(2.222219843214978396e-01+
m*(1.818357216161805012e-01+m*(1.531383769920937332e-01+m*1.479819860511658591e-01))))));
if(C===0){
return D-(H-t*(H+I));
}else{
return C*6.93147180369123816490e-01-((H-(t*(H+I)+(C*1.90821492927058770002e-10+F)))-D);
}
}
function MathExpm1(j){
j=j*1;
var k;
var J;
var K;
var C;
var s;
var F;
var o=%_DoubleHi(j);
var L=o&0x80000000;
var k=(L===0)?j:-j;
o&=0x7fffffff;
if(o>=0x4043687a){
if(o>=0x40862e42){
if(o>=0x7ff00000){
return(j===-(1/0))?-1:j;
}
if(j>7.09782712893383973096e+02)return(1/0);
}
if(L!=0)return-1;
}
if(o>0x3fd62e42){
if(o<0x3ff0a2b2){
if(L===0){
J=j-6.93147180369123816490e-01;
K=1.90821492927058770002e-10;
C=1;
}else{
J=j+6.93147180369123816490e-01;
K=-1.90821492927058770002e-10;
C=-1;
}
}else{
C=(1.44269504088896338700*j+((L===0)?0.5:-0.5))|0;
s=C;
J=j-s*6.93147180369123816490e-01;
K=s*1.90821492927058770002e-10;
}
j=J-K;
F=(J-j)-K;
}else if(o<0x3c900000){
return j;
}else{
C=0;
}
var M=0.5*j;
var N=j*M;
var O=1+N*(-3.33333333333331316428e-02+N*(1.58730158725481460165e-03+N*
(-7.93650757867487942473e-05+N*(4.00821782732936239552e-06+N*-2.01099218183624371326e-07))));
s=3-O*M;
var P=N*((O-s)/(6-j*s));
if(C===0){
return j-(j*P-N);
}else{
P=(j*(P-F)-F);
P-=N;
if(C===-1)return 0.5*(j-P)-0.5;
if(C===1){
if(j<-0.25)return-2*(P-(j+0.5));
return 1+2*(j-P);
}
if(C<=-2||C>56){
k=1-(P-j);
k=%_ConstructDouble(%_DoubleHi(k)+(C<<20),%_DoubleLo(k));
return k-1;
}
if(C<20){
s=%_ConstructDouble(0x3ff00000-(0x200000>>C),0);
k=s-(P-j);
k=%_ConstructDouble(%_DoubleHi(k)+(C<<20),%_DoubleLo(k));
}else{
s=%_ConstructDouble((0x3ff-C)<<20,0);
k=j-(P+s);
k+=1;
k=%_ConstructDouble(%_DoubleHi(k)+(C<<20),%_DoubleLo(k));
}
}
return k;
}
function MathSinh(j){
j=j*1;
var Q=(j<0)?-0.5:0.5;
var B=e(j);
if(B<22){
if(B<3.725290298461914e-9)return j;
var s=MathExpm1(B);
if(B<1)return Q*(2*s-s*s/(s+1));
return Q*(s+s/(s+1));
}
if(B<709.7822265625)return Q*f(B);
if(B<=710.4758600739439){
var n=f(0.5*B);
var s=Q*n;
return s*n;
}
return j*(1/0);
}
function MathCosh(j){
j=j*1;
var p=%_DoubleHi(j)&0x7fffffff;
if(p<0x3fd62e43){
var s=MathExpm1(e(j));
var n=1+s;
if(p<0x3c800000)return n;
return 1+(s*s)/(n+n);
}
if(p<0x40360000){
var s=f(e(j));
return 0.5*s+0.5/s;
}
if(p<0x40862e42)return 0.5*f(e(j));
if(e(j)<=710.4758600739439){
var n=f(0.5*e(j));
var s=0.5*n;
return s*n;
}
if((!%_IsSmi(%IS_VAR(j))&&!(j==j)))return j;
return(1/0);
}
function MathTanh(j){
j=j*1;
if(!(%_IsSmi(%IS_VAR(j))||((j==j)&&(j!=1/0)&&(j!=-1/0)))){
if(j>0)return 1;
if(j<0)return-1;
return j;
}
var B=e(j);
var m;
if(B<22){
if(B<2.77555756156289135105e-17){
return j;
}
if(B>=1){
var s=MathExpm1(2*B);
m=1-2/(s+2);
}else{
var s=MathExpm1(-2*B);
m=-s/(s+2);
}
}else{
m=1;
}
return(j>=0)?m:-m;
}
function MathLog10(j){
j=j*1;
var o=%_DoubleHi(j);
var R=%_DoubleLo(j);
var C=0;
if(o<0x00100000){
if(((o&0x7fffffff)|R)===0)return-(1/0);
if(o<0)return g;
C-=54;
j*=18014398509481984;
o=%_DoubleHi(j);
R=%_DoubleLo(j);
}
if(o>=0x7ff00000)return j;
C+=(o>>20)-1023;
var S=(C&0x80000000)>>>31;
o=(o&0x000fffff)|((0x3ff-S)<<20);
var k=C+S;
j=%_ConstructDouble(o,R);
var m=k*3.69423907715893078616e-13+4.34294481903251816668e-01*%_MathLogRT(j);
return m+k*3.01029995663611771306e-01;
}
function MathLog2(j){
j=j*1;
var B=e(j);
var o=%_DoubleHi(j);
var R=%_DoubleLo(j);
var p=o&0x7fffffff;
if((p|R)==0)return-(1/0);
if(o<0)return g;
if(p>=0x7ff00000)return j;
var v=0;
if(p<0x00100000){
B*=9007199254740992;
v-=53;
p=%_DoubleHi(B);
}
v+=(p>>20)-0x3ff;
var T=p&0x000fffff;
p=T|0x3ff00000;
var U=1;
var V=0;
var W=0;
if(T>0x3988e){
if(T<0xbb67a){
U=1.5;
V=5.84962487220764160156e-01;
W=1.35003920212974897128e-08;
}else{
v+=1;
p-=0x00100000;
}
}
B=%_ConstructDouble(p,%_DoubleLo(B));
var G=B-U;
var q=1/(B+U);
var X=G*q;
var Y=%_ConstructDouble(%_DoubleHi(X),0);
var Z=%_ConstructDouble(%_DoubleHi(B+U),0)
var aa=B-(Z-U);
var ab=q*((G-Y*Z)-Y*aa);
var ac=X*X;
var u=ac*ac*(5.99999999999994648725e-01+ac*(4.28571428578550184252e-01+ac*(3.33333329818377432918e-01+ac*(
2.72728123808534006489e-01+ac*(2.30660745775561754067e-01+ac*2.06975017800338417784e-01)))));
u+=ab*(Y+X);
ac=Y*Y;
Z=%_ConstructDouble(%_DoubleHi(3.0+ac+u),0);
aa=u-((Z-3.0)-ac);
G=Y*Z;
q=ab*Z+aa*X;
var ad=%_ConstructDouble(%_DoubleHi(G+q),0);
var ae=q-(ad-G);
var af=9.61796700954437255859e-01*ad;
var ag=-7.02846165095275826516e-09*ad+ae*9.61796693925975554329e-01+W;
var s=v;
var ah=%_ConstructDouble(%_DoubleHi(((af+ag)+V)+s),0);
var ai=ag-(((ah-s)-V)-af);
return ah+ai;
}
b.InstallFunctions(d,2,[
"cos",MathCos,
"sin",MathSin,
"tan",MathTan,
"sinh",MathSinh,
"cosh",MathCosh,
"tanh",MathTanh,
"log10",MathLog10,
"log2",MathLog2,
"log1p",MathLog1p,
"expm1",MathExpm1
]);
%SetForceInlineFlag(MathSin);
%SetForceInlineFlag(MathCos);
})

regexpº
(function(a,b){
%CheckIsBootstrapping();
var c;
var d=a.Array;
var e=a.Object;
var f=a.RegExp;
var g;
var h=b.InternalArray;
var i=b.InternalPackedArray;
var j;
var k;
var l;
var m=b.ImportNow("match_symbol");
var n=b.ImportNow("replace_symbol");
var o=b.ImportNow("search_symbol");
var p=b.ImportNow("split_symbol");
var q;
b.Import(function(r){
c=r.ExpandReplacement;
j=r.MakeTypeError;
k=r.MaxSimple;
l=r.MinSimple;
q=r.SpeciesConstructor;
});
var s=new i(
2,
"",
(void 0),
0,
0
);
function IsRegExp(t){
if(!(%_IsJSReceiver(t)))return false;
var u=t[m];
if(!(u===(void 0)))return(!!(u));
return(%_IsRegExp(t));
}
function RegExpInitialize(v,w,x){
w=(w===(void 0))?'':(%_ToString(w));
x=(x===(void 0))?'':(%_ToString(x));
%RegExpInitializeAndCompile(v,w,x);
return v;
}
function PatternFlags(w){
return((%_RegExpFlags(w)&1)?'g':'')+
((%_RegExpFlags(w)&2)?'i':'')+
((%_RegExpFlags(w)&4)?'m':'')+
((%_RegExpFlags(w)&16)?'u':'')+
((%_RegExpFlags(w)&8)?'y':'');
}
function RegExpConstructor(w,x){
var y=new.target;
var z=IsRegExp(w);
if((y===(void 0))){
y=f;
if(z&&(x===(void 0))&&
w.constructor===y){
return w;
}
}
if((%_IsRegExp(w))){
if((x===(void 0)))x=PatternFlags(w);
w=(%_RegExpSource(w));
}else if(z){
var A=w;
w=w.source;
if((x===(void 0)))x=A.flags;
}
var v=%_NewObject(f,y);
return RegExpInitialize(v,w,x);
}
function RegExpCompileJS(w,x){
if(!(%_IsRegExp(this))){
throw j(44,
"RegExp.prototype.compile",this);
}
if((%_IsRegExp(w))){
if(!(x===(void 0)))throw j(122);
x=PatternFlags(w);
w=(%_RegExpSource(w));
}
RegExpInitialize(this,w,x);
}
function DoRegExpExec(B,C,D){
return %_RegExpExec(B,C,D,s);
}
function RegExpExecNoTests(B,C,E){
var F=%_RegExpExec(B,C,E,s);
if(F!==null){
if((%_RegExpFlags(B)&8))B.lastIndex=F[4];
var G=((F)[0])>>1;
var E=F[3];
var H=F[4];
var I=%_SubString(C,E,H);
var J=%_RegExpConstructResult(G,E,C);
J[0]=I;
if(G==1)return J;
var K=3+2;
for(var L=1;L<G;L++){
E=F[K++];
if(E!=-1){
H=F[K];
J[L]=%_SubString(C,E,H);
}
K++;
}
return J;
;
}
B.lastIndex=0;
return null;
}
function RegExpSubclassExecJS(C){
if(!(%_IsRegExp(this))){
throw j(44,
'RegExp.prototype.exec',this);
}
C=(%_ToString(C));
var M=this.lastIndex;
var L=(%_ToLength(M));
var a=(!!((%_RegExpFlags(this)&1)));
var N=(!!((%_RegExpFlags(this)&8)));
var O=a||N;
if(O){
if(L>C.length){
this.lastIndex=0;
return null;
}
}else{
L=0;
}
var P=%_RegExpExec(this,C,L,s);
if((P===null)){
this.lastIndex=0;
return null;
}
if(O){
this.lastIndex=s[4];
}
var G=((P)[0])>>1;
var E=P[3];
var H=P[4];
var I=%_SubString(C,E,H);
var J=%_RegExpConstructResult(G,E,C);
J[0]=I;
if(G==1)return J;
var K=3+2;
for(var L=1;L<G;L++){
E=P[K++];
if(E!=-1){
H=P[K];
J[L]=%_SubString(C,E,H);
}
K++;
}
return J;
;
}
%FunctionRemovePrototype(RegExpSubclassExecJS);
function RegExpExecJS(C){
if(!(%_IsRegExp(this))){
throw j(44,
'RegExp.prototype.exec',this);
}
C=(%_ToString(C));
var M=this.lastIndex;
var L=(%_ToLength(M));
var O=(%_RegExpFlags(this)&1)||(%_RegExpFlags(this)&8);
if(O){
if(L<0||L>C.length){
this.lastIndex=0;
return null;
}
}else{
L=0;
}
var P=%_RegExpExec(this,C,L,s);
if((P===null)){
this.lastIndex=0;
return null;
}
if(O){
this.lastIndex=s[4];
}
var G=((P)[0])>>1;
var E=P[3];
var H=P[4];
var I=%_SubString(C,E,H);
var J=%_RegExpConstructResult(G,E,C);
J[0]=I;
if(G==1)return J;
var K=3+2;
for(var L=1;L<G;L++){
E=P[K++];
if(E!=-1){
H=P[K];
J[L]=%_SubString(C,E,H);
}
K++;
}
return J;
;
}
function RegExpSubclassExec(B,C,Q){
if((Q===(void 0))){
Q=B.exec;
}
if((typeof(Q)==='function')){
var J=%_Call(Q,B,C);
if(!(%_IsJSReceiver(J))&&!(J===null)){
throw j(48);
}
return J;
}
return %_Call(RegExpExecJS,B,C);
}
%SetForceInlineFlag(RegExpSubclassExec);
var R;
var S;
function RegExpTest(C){
if(!(%_IsRegExp(this))){
throw j(44,
'RegExp.prototype.test',this);
}
C=(%_ToString(C));
var M=this.lastIndex;
var L=(%_ToLength(M));
if((%_RegExpFlags(this)&1)||(%_RegExpFlags(this)&8)){
if(L<0||L>C.length){
this.lastIndex=0;
return false;
}
var P=%_RegExpExec(this,C,L,s);
if((P===null)){
this.lastIndex=0;
return false;
}
this.lastIndex=s[4];
return true;
}else{
var B=this;
var T=(%_RegExpSource(B));
if(B.length>=3&&
%_StringCharCodeAt(B,0)==46&&
%_StringCharCodeAt(B,1)==42&&
%_StringCharCodeAt(B,2)!=63){
B=TrimRegExp(B);
}
var P=%_RegExpExec(B,C,0,s);
if((P===null)){
this.lastIndex=0;
return false;
}
return true;
}
}
function RegExpSubclassTest(C){
if(!(%_IsJSReceiver(this))){
throw j(44,
'RegExp.prototype.test',this);
}
C=(%_ToString(C));
var U=RegExpSubclassExec(this,C);
return!(U===null);
}
%FunctionRemovePrototype(RegExpSubclassTest);
function TrimRegExp(B){
if(R!==B){
R=B;
S=
new f(
%_SubString((%_RegExpSource(B)),2,(%_RegExpSource(B)).length),
((%_RegExpFlags(B)&2)?(%_RegExpFlags(B)&4)?"im":"i"
:(%_RegExpFlags(B)&4)?"m":""));
}
return S;
}
function RegExpToString(){
if(!(%_IsJSReceiver(this))){
throw j(
44,'RegExp.prototype.toString',this);
}
if(this===g){
%IncrementUseCounter(12);
}
return'/'+(%_ToString(this.source))+'/'+(%_ToString(this.flags));
}
function AtSurrogatePair(V,D){
if(D+1>=V.length)return false;
var I=%_StringCharCodeAt(V,D);
if(I<0xD800||I>0xDBFF)return false;
var W=%_StringCharCodeAt(V,D+1);
return W>=0xDC00||W<=0xDFFF;
}
function RegExpSplit(C,X){
if(!(%_IsRegExp(this))){
throw j(44,
"RegExp.prototype.@@split",this);
}
var Y=this;
var V=(%_ToString(C));
X=((X===(void 0)))?4294967295:((X)>>>0);
var Z=V.length;
if(X===0)return[];
if(Z===0){
if(DoRegExpExec(Y,V,0,0)!==null)return[];
return[V];
}
var aa=0;
var ab=0;
var ac=0;
var J=new h();
outer_loop:
while(true){
if(ab===Z){
J[J.length]=%_SubString(V,aa,Z);
break;
}
var F=DoRegExpExec(Y,V,ab);
if(F===null||Z===(ac=F[3])){
J[J.length]=%_SubString(V,aa,Z);
break;
}
var ad=F[4];
if(ab===ad&&ad===aa){
if((%_RegExpFlags(this)&16)&&AtSurrogatePair(V,ab)){
ab+=2;
}else{
ab++;
}
continue;
}
J[J.length]=%_SubString(V,aa,ac);
if(J.length===X)break;
var ae=((F)[0])+3;
for(var L=3+2;L<ae;){
var E=F[L++];
var H=F[L++];
if(H!=-1){
J[J.length]=%_SubString(V,E,H);
}else{
J[J.length]=(void 0);
}
if(J.length===X)break outer_loop;
}
ab=aa=ad;
}
var af=[];
%MoveArrayContents(J,af);
return af;
}
function RegExpSubclassSplit(C,X){
if(!(%_IsJSReceiver(this))){
throw j(44,
"RegExp.prototype.@@split",this);
}
C=(%_ToString(C));
var ag=q(this,f);
var x=(%_ToString(this.flags));
var Q;
if((%_IsRegExp(this))&&ag===f){
Q=this.exec;
if(Q===RegExpSubclassExecJS){
return %_Call(RegExpSplit,this,C,X);
}
}
var ah=%StringIndexOf(x,'u',0)>=0;
var N=%StringIndexOf(x,'y',0)>=0;
var ai=N?x:x+"y";
var aj=new ag(this,ai);
var ak=new d();
var al=0;
var am=((X===(void 0)))?4294967295:((X)>>>0);
var an=C.length;
var ao=0;
if(am===0)return ak;
var J;
if(an===0){
J=RegExpSubclassExec(aj,C);
if((J===null))%AddElement(ak,0,C);
return ak;
}
var ap=ao;
while(ap<an){
aj.lastIndex=ap;
J=RegExpSubclassExec(aj,C,Q);
Q=(void 0);
if((J===null)){
ap+=AdvanceStringIndex(C,ap,ah);
}else{
var H=l((%_ToLength(aj.lastIndex)),an);
if(H===ao){
ap+=AdvanceStringIndex(C,ap,ah);
}else{
%AddElement(
ak,al,
%_SubString(C,ao,ap));
al++;
if(al===am)return ak;
ao=H;
var aq=k((%_ToLength(J.length)),0);
for(var L=1;L<aq;L++){
%AddElement(ak,al,J[L]);
al++;
if(al===am)return ak;
}
ap=ao;
}
}
}
%AddElement(ak,al,
%_SubString(C,ao,an));
return ak;
}
%FunctionRemovePrototype(RegExpSubclassSplit);
function RegExpMatch(C){
if(!(%_IsRegExp(this))){
throw j(44,
"RegExp.prototype.@@match",this);
}
var V=(%_ToString(C));
if(!(%_RegExpFlags(this)&1))return RegExpExecNoTests(this,V,0);
this.lastIndex=0;
var J=%StringMatch(V,this,s);
return J;
}
function RegExpSubclassMatch(C){
if(!(%_IsJSReceiver(this))){
throw j(44,
"RegExp.prototype.@@match",this);
}
C=(%_ToString(C));
var a=this.global;
if(!a)return RegExpSubclassExec(this,C);
var ah=this.unicode;
this.lastIndex=0;
var ak=new h();
var ar=0;
var J;
while(true){
J=RegExpSubclassExec(this,C);
if((J===null)){
if(ar===0)return null;
break;
}
var as=(%_ToString(J[0]));
ak[ar]=as;
if(as==="")SetAdvancedStringIndex(this,C,ah);
ar++;
}
var at=[];
%MoveArrayContents(ak,at);
return at;
}
%FunctionRemovePrototype(RegExpSubclassMatch);
var au=new h(4);
function StringReplaceGlobalRegExpWithFunction(V,B,av){
var at=au;
if(at){
au=null;
}else{
at=new h(16);
}
var aw=%RegExpExecMultiple(B,
V,
s,
at);
B.lastIndex=0;
if((aw===null)){
au=at;
return V;
}
var ax=aw.length;
if(((s)[0])==2){
var ay=0;
for(var L=0;L<ax;L++){
var az=aw[L];
if(%_IsSmi(az)){
if(az>0){
ay=(az>>11)+(az&0x7ff);
}else{
ay=aw[++L]-az;
}
}else{
var aA=av(az,ay,V);
aw[L]=(%_ToString(aA));
ay+=az.length;
}
}
}else{
for(var L=0;L<ax;L++){
var az=aw[L];
if(!%_IsSmi(az)){
var aA=%reflect_apply(av,(void 0),az);
aw[L]=(%_ToString(aA));
}
}
}
var J=%StringBuilderConcat(aw,ax,V);
at.length=0;
au=at;
return J;
}
function CaptureString(C,aB,D){
var aC=D<<1;
var E=aB[(3+(aC))];
if(E<0)return;
var H=aB[(3+(aC+1))];
return %_SubString(C,E,H);
}
function StringReplaceNonGlobalRegExpWithFunction(V,B,av){
var F=DoRegExpExec(B,V,0);
if((F===null)){
B.lastIndex=0;
return V;
}
var D=F[3];
var J=%_SubString(V,0,D);
var aD=F[4];
var aE=((F)[0])>>1;
var aF;
if(aE==1){
var aG=%_SubString(V,D,aD);
aF=av(aG,D,V);
}else{
var aH=new h(aE+2);
for(var K=0;K<aE;K++){
aH[K]=CaptureString(V,F,K);
}
aH[K]=D;
aH[K+1]=V;
aF=%reflect_apply(av,(void 0),aH);
}
J+=aF;
return J+%_SubString(V,aD,V.length);
}
function RegExpReplace(C,av){
if(!(%_IsRegExp(this))){
throw j(44,
"RegExp.prototype.@@replace",this);
}
var V=(%_ToString(C));
var aI=this;
if(!(typeof(av)==='function')){
av=(%_ToString(av));
if(!(%_RegExpFlags(aI)&1)){
var U=DoRegExpExec(aI,V,0);
if(U==null){
aI.lastIndex=0
return V;
}
if(av.length==0){
return %_SubString(V,0,U[3])+
%_SubString(V,U[4],V.length)
}
return c(av,V,s,
%_SubString(V,0,U[3]))+
%_SubString(V,U[4],V.length);
}
aI.lastIndex=0;
return %StringReplaceGlobalRegExpWithString(
V,aI,av,s);
}
if((%_RegExpFlags(aI)&1)){
return StringReplaceGlobalRegExpWithFunction(V,aI,av);
}
return StringReplaceNonGlobalRegExpWithFunction(V,aI,av);
}
function GetSubstitution(aJ,C,aK,aL,aF){
var aM=aJ.length;
var aN=C.length;
var aO=aL.length;
var aP=aK+aM;
var J="";
var aQ,aR,aS,aT,aU,aV,aW;
var aT=%StringIndexOf(aF,'$',0);
if(aT<0){
J+=aF;
return J;
}
if(aT>0)J+=%_SubString(aF,0,aT);
while(true){
aR='$';
aQ=aT+1;
if(aQ<aF.length){
aS=%_StringCharCodeAt(aF,aQ);
if(aS==36){
++aQ;
J+='$';
}else if(aS==38){
++aQ;
J+=aJ;
}else if(aS==96){
++aQ;
J+=%_SubString(C,0,aK);
}else if(aS==39){
++aQ;
J+=%_SubString(C,aP,aN);
}else if(aS>=48&&aS<=57){
aU=(aS-48);
aV=1;
if(aQ+1<aF.length){
aT=%_StringCharCodeAt(aF,aQ+1);
if(aT>=48&&aT<=57){
aW=aU*10+((aT-48));
if(aW<aO){
aU=aW;
aV=2;
}
}
}
if(aU!=0&&aU<aO){
var aX=aL[aU];
if(!(aX===(void 0)))J+=aX;
aQ+=aV;
}else{
J+='$';
}
}else{
J+='$';
}
}else{
J+='$';
}
aT=%StringIndexOf(aF,'$',aQ);
if(aT<0){
if(aQ<aF.length){
J+=%_SubString(aF,aQ,aF.length);
}
return J;
}
if(aT>aQ){
J+=%_SubString(aF,aQ,aT);
}
}
return J;
}
function AdvanceStringIndex(C,D,ah){
var aY=1;
if(ah){
var I=%_StringCharCodeAt(C,D);
if(I>=0xD800&&I<=0xDBFF&&C.length>D+1){
var W=%_StringCharCodeAt(C,D+1);
if(W>=0xDC00&&W<=0xDFFF){
aY=2;
}
}
}
return aY;
}
function SetAdvancedStringIndex(B,C,ah){
var M=B.lastIndex;
B.lastIndex=M+
AdvanceStringIndex(C,M,ah);
}
function RegExpSubclassReplace(C,av){
if(!(%_IsJSReceiver(this))){
throw j(44,
"RegExp.prototype.@@replace",this);
}
C=(%_ToString(C));
var Z=C.length;
var aZ=(typeof(av)==='function');
if(!aZ)av=(%_ToString(av));
var a=(!!(this.global));
if(a){
var ah=(!!(this.unicode));
this.lastIndex=0;
}
var Q;
if((%_IsRegExp(this))){
Q=this.exec;
if(Q===RegExpSubclassExecJS){
return %_Call(RegExpReplace,this,C,av);
}
}
var ba=new h();
var J,aF;
while(true){
J=RegExpSubclassExec(this,C,Q);
Q=(void 0);
if((J===null)){
break;
}else{
ba.push(J);
if(!a)break;
var as=(%_ToString(J[0]));
if(as==="")SetAdvancedStringIndex(this,C,ah);
}
}
var bb="";
var bc=0;
for(var L=0;L<ba.length;L++){
J=ba[L];
var aO=k((%_ToLength(J.length)),0);
var aJ=(%_ToString(J[0]));
var bd=aJ.length;
var aK=k(l((%_ToInteger(J.index)),Z),0);
var aL=new h();
for(var ar=0;ar<aO;ar++){
var aX=J[ar];
if(!(aX===(void 0)))aX=(%_ToString(aX));
aL[ar]=aX;
}
if(aZ){
var aH=new h(aO+2);
for(var K=0;K<aO;K++){
aH[K]=aL[K];
}
aH[K]=aK;
aH[K+1]=C;
aF=%reflect_apply(av,(void 0),aH,0,
aH.length);
}else{
aF=GetSubstitution(aJ,C,aK,aL,
av);
}
if(aK>=bc){
bb+=
%_SubString(C,bc,aK)+aF;
bc=aK+bd;
}
}
if(bc>=Z)return bb;
return bb+%_SubString(C,bc,Z);
}
%FunctionRemovePrototype(RegExpSubclassReplace);
function RegExpSearch(C){
if(!(%_IsRegExp(this))){
throw j(44,
"RegExp.prototype.@@search",this);
}
var U=DoRegExpExec(this,(%_ToString(C)),0);
if(U)return U[3];
return-1;
}
function RegExpSubclassSearch(C){
if(!(%_IsJSReceiver(this))){
throw j(44,
"RegExp.prototype.@@search",this);
}
C=(%_ToString(C));
var be=this.lastIndex;
this.lastIndex=0;
var J=RegExpSubclassExec(this,C);
this.lastIndex=be;
if((J===null))return-1;
return J.index;
}
%FunctionRemovePrototype(RegExpSubclassSearch);
function RegExpGetLastMatch(){
var bf=((s)[1]);
return %_SubString(bf,
s[3],
s[4]);
}
function RegExpGetLastParen(){
var Z=((s)[0]);
if(Z<=2)return'';
var bf=((s)[1]);
var E=s[(3+(Z-2))];
var H=s[(3+(Z-1))];
if(E!=-1&&H!=-1){
return %_SubString(bf,E,H);
}
return"";
}
function RegExpGetLeftContext(){
var bg;
var V;
bg=s[3];
V=((s)[1]);
return %_SubString(V,0,bg);
}
function RegExpGetRightContext(){
var bg;
var V;
bg=s[4];
V=((s)[1]);
return %_SubString(V,bg,V.length);
}
function RegExpMakeCaptureGetter(ar){
return function foo(){
var D=ar*2;
if(D>=((s)[0]))return'';
var bh=s[(3+(D))];
var bi=s[(3+(D+1))];
if(bh==-1||bi==-1)return'';
return %_SubString(((s)[1]),bh,bi);
};
}
function RegExpGetFlags(){
if(!(%_IsJSReceiver(this))){
throw j(
123,"RegExp.prototype.flags",(%_ToString(this)));
}
var J='';
if(this.global)J+='g';
if(this.ignoreCase)J+='i';
if(this.multiline)J+='m';
if(this.unicode)J+='u';
if(this.sticky)J+='y';
return J;
}
function RegExpGetGlobal(){
if(!(%_IsRegExp(this))){
if(this===g){
%IncrementUseCounter(31);
return(void 0);
}
throw j(124,"RegExp.prototype.global");
}
return(!!((%_RegExpFlags(this)&1)));
}
%SetForceInlineFlag(RegExpGetGlobal);
function RegExpGetIgnoreCase(){
if(!(%_IsRegExp(this))){
if(this===g){
%IncrementUseCounter(31);
return(void 0);
}
throw j(124,"RegExp.prototype.ignoreCase");
}
return(!!((%_RegExpFlags(this)&2)));
}
function RegExpGetMultiline(){
if(!(%_IsRegExp(this))){
if(this===g){
%IncrementUseCounter(31);
return(void 0);
}
throw j(124,"RegExp.prototype.multiline");
}
return(!!((%_RegExpFlags(this)&4)));
}
function RegExpGetSource(){
if(!(%_IsRegExp(this))){
if(this===g){
%IncrementUseCounter(30);
return"(?:)";
}
throw j(124,"RegExp.prototype.source");
}
return(%_RegExpSource(this));
}
function RegExpGetSticky(){
if(!(%_IsRegExp(this))){
if(this===g){
%IncrementUseCounter(11);
return(void 0);
}
throw j(124,"RegExp.prototype.sticky");
}
return(!!((%_RegExpFlags(this)&8)));
}
%SetForceInlineFlag(RegExpGetSticky);
%FunctionSetInstanceClassName(f,'RegExp');
g=new e();
%FunctionSetPrototype(f,g);
%AddNamedProperty(
f.prototype,'constructor',f,2);
%SetCode(f,RegExpConstructor);
b.InstallFunctions(f.prototype,2,[
"exec",RegExpExecJS,
"test",RegExpTest,
"toString",RegExpToString,
"compile",RegExpCompileJS,
m,RegExpMatch,
n,RegExpReplace,
o,RegExpSearch,
p,RegExpSplit,
]);
b.InstallGetter(f.prototype,'flags',RegExpGetFlags);
b.InstallGetter(f.prototype,'global',RegExpGetGlobal);
b.InstallGetter(f.prototype,'ignoreCase',RegExpGetIgnoreCase);
b.InstallGetter(f.prototype,'multiline',RegExpGetMultiline);
b.InstallGetter(f.prototype,'source',RegExpGetSource);
b.InstallGetter(f.prototype,'sticky',RegExpGetSticky);
var bj=function(){
var bk=((s)[2]);
return(bk===(void 0))?"":bk;
};
var bl=function(C){
((s)[2])=(%_ToString(C));
};
%OptimizeObjectForAddingMultipleProperties(f,22);
b.InstallGetterSetter(f,'input',bj,bl,
4);
b.InstallGetterSetter(f,'$_',bj,bl,
2|4);
var bm=function(bn){};
b.InstallGetterSetter(f,'lastMatch',RegExpGetLastMatch,
bm,4);
b.InstallGetterSetter(f,'$&',RegExpGetLastMatch,bm,
2|4);
b.InstallGetterSetter(f,'lastParen',RegExpGetLastParen,
bm,4);
b.InstallGetterSetter(f,'$+',RegExpGetLastParen,bm,
2|4);
b.InstallGetterSetter(f,'leftContext',RegExpGetLeftContext,
bm,4);
b.InstallGetterSetter(f,'$`',RegExpGetLeftContext,bm,
2|4);
b.InstallGetterSetter(f,'rightContext',RegExpGetRightContext,
bm,4);
b.InstallGetterSetter(f,"$'",RegExpGetRightContext,bm,
2|4);
for(var L=1;L<10;++L){
b.InstallGetterSetter(f,'$'+L,RegExpMakeCaptureGetter(L),
bm,4);
}
%ToFastProperties(f);
var bo=new i(2,"",(void 0),0,0);
function InternalRegExpMatch(B,V){
var F=%_RegExpExec(B,V,0,bo);
if(!(F===null)){
var G=((F)[0])>>1;
var E=F[3];
var H=F[4];
var I=%_SubString(V,E,H);
var J=%_RegExpConstructResult(G,E,V);
J[0]=I;
if(G==1)return J;
var K=3+2;
for(var L=1;L<G;L++){
E=F[K++];
if(E!=-1){
H=F[K];
J[L]=%_SubString(V,E,H);
}
K++;
}
return J;
;
}
return null;
}
function InternalRegExpReplace(B,V,aF){
return %StringReplaceGlobalRegExpWithString(
V,B,aF,bo);
}
b.Export(function(bp){
bp.InternalRegExpMatch=InternalRegExpMatch;
bp.InternalRegExpReplace=InternalRegExpReplace;
bp.IsRegExp=IsRegExp;
bp.RegExpExec=DoRegExpExec;
bp.RegExpInitialize=RegExpInitialize;
bp.RegExpLastMatchInfo=s;
bp.RegExpSubclassExecJS=RegExpSubclassExecJS;
bp.RegExpSubclassMatch=RegExpSubclassMatch;
bp.RegExpSubclassReplace=RegExpSubclassReplace;
bp.RegExpSubclassSearch=RegExpSubclassSearch;
bp.RegExpSubclassSplit=RegExpSubclassSplit;
bp.RegExpSubclassTest=RegExpSubclassTest;
bp.RegExpTest=RegExpTest;
});
})

,arraybufferÍ
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.ArrayBuffer;
var d;
var e;
var f;
var g;
b.Import(function(h){
d=h.MakeTypeError;
e=h.MaxSimple;
f=h.MinSimple;
g=h.SpeciesConstructor;
});
function ArrayBufferGetByteLen(){
if(!(%_ClassOf(this)==='ArrayBuffer')){
throw d(44,
'ArrayBuffer.prototype.byteLength',this);
}
return %_ArrayBufferGetByteLength(this);
}
function ArrayBufferSlice(i,j){
if(!(%_ClassOf(this)==='ArrayBuffer')){
throw d(44,
'ArrayBuffer.prototype.slice',this);
}
var k=(%_ToInteger(i));
if(!(j===(void 0))){
j=(%_ToInteger(j));
}
var l;
var m=%_ArrayBufferGetByteLength(this);
if(k<0){
l=e(m+k,0);
}else{
l=f(k,m);
}
var n=(j===(void 0))?m:j;
var o;
if(n<0){
o=e(m+n,0);
}else{
o=f(n,m);
}
if(o<l){
o=l;
}
var p=o-l;
var q=g(this,c,true);
var r=new q(p);
if(!(%_ClassOf(r)==='ArrayBuffer')){
throw d(44,
'ArrayBuffer.prototype.slice',r);
}
if(r===this){
throw d(11);
}
if(%_ArrayBufferGetByteLength(r)<p){
throw d(10);
}
%ArrayBufferSliceImpl(this,r,l,p);
return r;
}
b.InstallGetter(c.prototype,"byteLength",
ArrayBufferGetByteLen);
b.InstallFunctions(c.prototype,2,[
"slice",ArrayBufferSlice
]);
})

(typedarray^¿
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=b.ImportNow("ArrayToString");
var d;
var e;
var f;
var g=a.Array;
var h=a.ArrayBuffer;
var i=h.prototype;
var j=a.DataView;
var k=a.Object;
var l;
var m;
var n;
var o;
var p;
var q;
var r;
var s;
var t;
var u;
var v;
var w;
var x;
var y;
var z;
var A;
var B=b.InternalArray;
var C;
var D;
var E;
var F;
var G;
var H;
var I;
var J;
var K=b.ImportNow("iterator_symbol");
var L=b.ImportNow("to_string_tag_symbol");
var M=a.Uint8Array;

var N=a.Int8Array;

var O=a.Uint16Array;

var P=a.Int16Array;

var Q=a.Uint32Array;

var R=a.Int32Array;

var S=a.Float32Array;

var T=a.Float64Array;

var U=a.Uint8ClampedArray;


b.Import(function(V){
d=V.ArrayValues;
e=V.GetIterator;
f=V.GetMethod;
l=V.InnerArrayCopyWithin;
m=V.InnerArrayEvery;
n=V.InnerArrayFill;
o=V.InnerArrayFilter;
p=V.InnerArrayFind;
q=V.InnerArrayFindIndex;
r=V.InnerArrayForEach;
s=V.InnerArrayIncludes;
t=V.InnerArrayIndexOf;
u=V.InnerArrayJoin;
v=V.InnerArrayLastIndexOf;
w=V.InnerArrayReduce;
x=V.InnerArrayReduceRight;
y=V.InnerArraySome;
z=V.InnerArraySort;
A=V.InnerArrayToLocaleString;
C=V.IsNaN;
D=V.MakeRangeError;
E=V.MakeTypeError;
F=V.MaxSimple;
G=V.MinSimple;
H=V.PackedArrayReverse;
I=V.SpeciesConstructor;
J=V.ToPositiveInteger;
});
function TypedArrayDefaultConstructor(W){
switch(%_ClassOf(W)){
case"Uint8Array":
return M;

case"Int8Array":
return N;

case"Uint16Array":
return O;

case"Int16Array":
return P;

case"Uint32Array":
return Q;

case"Int32Array":
return R;

case"Float32Array":
return S;

case"Float64Array":
return T;

case"Uint8ClampedArray":
return U;


}
throw E(44,
"TypedArrayDefaultConstructor",this);
}
function TypedArrayCreate(X,Y,Z,aa){
if((Z===(void 0))){
var ab=new X(Y);
}else{
var ab=new X(Y,Z,aa);
}
if(!(%_IsTypedArray(ab)))throw E(72);
if((typeof(Y)==='number')&&%_TypedArrayGetLength(ab)<Y){
throw E(246);
}
return ab;
}
function TypedArraySpeciesCreate(ac,Y,Z,aa,ad){
var ae=TypedArrayDefaultConstructor(ac);
var X=I(ac,ae,
ad);
return TypedArrayCreate(X,Y,Z,aa);
}
function Uint8ArrayConstructByArrayBuffer(af,ag,ah,ai){
if(!(ah===(void 0))){
ah=J(ah,169);
}
if(!(ai===(void 0))){
ai=J(ai,169);
}
var aj=%_ArrayBufferGetByteLength(ag);
var ak;
if((ah===(void 0))){
ak=0;
}else{
ak=ah;
if(ak % 1!==0){
throw D(168,
"start offset","Uint8Array",1);
}
if(ak>aj){
throw D(170);
}
}
var al;
var am;
if((ai===(void 0))){
if(aj % 1!==0){
throw D(168,
"byte length","Uint8Array",1);
}
al=aj-ak;
am=al/1;
}else{
var am=ai;
al=am*1;
}
if((ak+al>aj)
||(am>%_MaxSmi())){
throw D(169);
}
%_TypedArrayInitialize(af,1,ag,ak,al,true);
}
function Uint8ArrayConstructByLength(af,ai){
var an=(ai===(void 0))?
0:J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var ao=an*1;
if(ao>%_TypedArrayMaxSizeInHeap()){
var ag=new h(ao);
%_TypedArrayInitialize(af,1,ag,0,ao,true);
}else{
%_TypedArrayInitialize(af,1,null,0,ao,true);
}
}
function Uint8ArrayConstructByArrayLike(af,ap,ai){
var an=J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var aq=false;
var ao=an*1;
if(ao<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(af,1,null,0,ao,false);
}else{
aq=
%TypedArrayInitializeFromArrayLike(af,1,ap,an);
}
if(!aq){
for(var ar=0;ar<an;ar++){
af[ar]=ap[ar];
}
}
}
function Uint8ArrayConstructByIterable(af,as,at){
var au=new B();
var av=%_Call(at,as);
var aw={
__proto__:null
};
aw[K]=function(){return av;}
for(var ax of aw){
au.push(ax);
}
Uint8ArrayConstructByArrayLike(af,au,au.length);
}
function Uint8ArrayConstructByTypedArray(af,W){
var ay=%TypedArrayGetBuffer(W);
var ai=%_TypedArrayGetLength(W);
var ao=%_ArrayBufferViewGetByteLength(W);
var al=ai*1;
Uint8ArrayConstructByArrayLike(af,W,ai);
var az=I(ay,h);
var aA=az.prototype;
if((%_IsJSReceiver(aA))&&aA!==i){
%InternalSetPrototype(%TypedArrayGetBuffer(af),aA);
}
}
function Uint8ArrayConstructor(Z,aa,aB){
if(!(new.target===(void 0))){
if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){
Uint8ArrayConstructByArrayBuffer(this,Z,aa,aB);
}else if((typeof(Z)==='number')||(typeof(Z)==='string')||
(typeof(Z)==='boolean')||(Z===(void 0))){
Uint8ArrayConstructByLength(this,Z);
}else if((%_IsTypedArray(Z))){
Uint8ArrayConstructByTypedArray(this,Z);
}else{
var at=Z[K];
if((at===(void 0))||at===d){
Uint8ArrayConstructByArrayLike(this,Z,Z.length);
}else{
Uint8ArrayConstructByIterable(this,Z,at);
}
}
}else{
throw E(27,"Uint8Array")
}
}
function Uint8ArraySubArray(aC,aD){
var aE=(%_ToInteger(aC));
if(!(aD===(void 0))){
var aF=(%_ToInteger(aD));
var aG=%_TypedArrayGetLength(this);
}else{
var aG=%_TypedArrayGetLength(this);
var aF=aG;
}
if(aE<0){
aE=F(0,aG+aE);
}else{
aE=G(aE,aG);
}
if(aF<0){
aF=F(0,aG+aF);
}else{
aF=G(aF,aG);
}
if(aF<aE){
aF=aE;
}
var am=aF-aE;
var aH=
%_ArrayBufferViewGetByteOffset(this)+aE*1;
return new M(%TypedArrayGetBuffer(this),aH,am);
}

function Int8ArrayConstructByArrayBuffer(af,ag,ah,ai){
if(!(ah===(void 0))){
ah=J(ah,169);
}
if(!(ai===(void 0))){
ai=J(ai,169);
}
var aj=%_ArrayBufferGetByteLength(ag);
var ak;
if((ah===(void 0))){
ak=0;
}else{
ak=ah;
if(ak % 1!==0){
throw D(168,
"start offset","Int8Array",1);
}
if(ak>aj){
throw D(170);
}
}
var al;
var am;
if((ai===(void 0))){
if(aj % 1!==0){
throw D(168,
"byte length","Int8Array",1);
}
al=aj-ak;
am=al/1;
}else{
var am=ai;
al=am*1;
}
if((ak+al>aj)
||(am>%_MaxSmi())){
throw D(169);
}
%_TypedArrayInitialize(af,2,ag,ak,al,true);
}
function Int8ArrayConstructByLength(af,ai){
var an=(ai===(void 0))?
0:J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var ao=an*1;
if(ao>%_TypedArrayMaxSizeInHeap()){
var ag=new h(ao);
%_TypedArrayInitialize(af,2,ag,0,ao,true);
}else{
%_TypedArrayInitialize(af,2,null,0,ao,true);
}
}
function Int8ArrayConstructByArrayLike(af,ap,ai){
var an=J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var aq=false;
var ao=an*1;
if(ao<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(af,2,null,0,ao,false);
}else{
aq=
%TypedArrayInitializeFromArrayLike(af,2,ap,an);
}
if(!aq){
for(var ar=0;ar<an;ar++){
af[ar]=ap[ar];
}
}
}
function Int8ArrayConstructByIterable(af,as,at){
var au=new B();
var av=%_Call(at,as);
var aw={
__proto__:null
};
aw[K]=function(){return av;}
for(var ax of aw){
au.push(ax);
}
Int8ArrayConstructByArrayLike(af,au,au.length);
}
function Int8ArrayConstructByTypedArray(af,W){
var ay=%TypedArrayGetBuffer(W);
var ai=%_TypedArrayGetLength(W);
var ao=%_ArrayBufferViewGetByteLength(W);
var al=ai*1;
Int8ArrayConstructByArrayLike(af,W,ai);
var az=I(ay,h);
var aA=az.prototype;
if((%_IsJSReceiver(aA))&&aA!==i){
%InternalSetPrototype(%TypedArrayGetBuffer(af),aA);
}
}
function Int8ArrayConstructor(Z,aa,aB){
if(!(new.target===(void 0))){
if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){
Int8ArrayConstructByArrayBuffer(this,Z,aa,aB);
}else if((typeof(Z)==='number')||(typeof(Z)==='string')||
(typeof(Z)==='boolean')||(Z===(void 0))){
Int8ArrayConstructByLength(this,Z);
}else if((%_IsTypedArray(Z))){
Int8ArrayConstructByTypedArray(this,Z);
}else{
var at=Z[K];
if((at===(void 0))||at===d){
Int8ArrayConstructByArrayLike(this,Z,Z.length);
}else{
Int8ArrayConstructByIterable(this,Z,at);
}
}
}else{
throw E(27,"Int8Array")
}
}
function Int8ArraySubArray(aC,aD){
var aE=(%_ToInteger(aC));
if(!(aD===(void 0))){
var aF=(%_ToInteger(aD));
var aG=%_TypedArrayGetLength(this);
}else{
var aG=%_TypedArrayGetLength(this);
var aF=aG;
}
if(aE<0){
aE=F(0,aG+aE);
}else{
aE=G(aE,aG);
}
if(aF<0){
aF=F(0,aG+aF);
}else{
aF=G(aF,aG);
}
if(aF<aE){
aF=aE;
}
var am=aF-aE;
var aH=
%_ArrayBufferViewGetByteOffset(this)+aE*1;
return new N(%TypedArrayGetBuffer(this),aH,am);
}

function Uint16ArrayConstructByArrayBuffer(af,ag,ah,ai){
if(!(ah===(void 0))){
ah=J(ah,169);
}
if(!(ai===(void 0))){
ai=J(ai,169);
}
var aj=%_ArrayBufferGetByteLength(ag);
var ak;
if((ah===(void 0))){
ak=0;
}else{
ak=ah;
if(ak % 2!==0){
throw D(168,
"start offset","Uint16Array",2);
}
if(ak>aj){
throw D(170);
}
}
var al;
var am;
if((ai===(void 0))){
if(aj % 2!==0){
throw D(168,
"byte length","Uint16Array",2);
}
al=aj-ak;
am=al/2;
}else{
var am=ai;
al=am*2;
}
if((ak+al>aj)
||(am>%_MaxSmi())){
throw D(169);
}
%_TypedArrayInitialize(af,3,ag,ak,al,true);
}
function Uint16ArrayConstructByLength(af,ai){
var an=(ai===(void 0))?
0:J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var ao=an*2;
if(ao>%_TypedArrayMaxSizeInHeap()){
var ag=new h(ao);
%_TypedArrayInitialize(af,3,ag,0,ao,true);
}else{
%_TypedArrayInitialize(af,3,null,0,ao,true);
}
}
function Uint16ArrayConstructByArrayLike(af,ap,ai){
var an=J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var aq=false;
var ao=an*2;
if(ao<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(af,3,null,0,ao,false);
}else{
aq=
%TypedArrayInitializeFromArrayLike(af,3,ap,an);
}
if(!aq){
for(var ar=0;ar<an;ar++){
af[ar]=ap[ar];
}
}
}
function Uint16ArrayConstructByIterable(af,as,at){
var au=new B();
var av=%_Call(at,as);
var aw={
__proto__:null
};
aw[K]=function(){return av;}
for(var ax of aw){
au.push(ax);
}
Uint16ArrayConstructByArrayLike(af,au,au.length);
}
function Uint16ArrayConstructByTypedArray(af,W){
var ay=%TypedArrayGetBuffer(W);
var ai=%_TypedArrayGetLength(W);
var ao=%_ArrayBufferViewGetByteLength(W);
var al=ai*2;
Uint16ArrayConstructByArrayLike(af,W,ai);
var az=I(ay,h);
var aA=az.prototype;
if((%_IsJSReceiver(aA))&&aA!==i){
%InternalSetPrototype(%TypedArrayGetBuffer(af),aA);
}
}
function Uint16ArrayConstructor(Z,aa,aB){
if(!(new.target===(void 0))){
if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){
Uint16ArrayConstructByArrayBuffer(this,Z,aa,aB);
}else if((typeof(Z)==='number')||(typeof(Z)==='string')||
(typeof(Z)==='boolean')||(Z===(void 0))){
Uint16ArrayConstructByLength(this,Z);
}else if((%_IsTypedArray(Z))){
Uint16ArrayConstructByTypedArray(this,Z);
}else{
var at=Z[K];
if((at===(void 0))||at===d){
Uint16ArrayConstructByArrayLike(this,Z,Z.length);
}else{
Uint16ArrayConstructByIterable(this,Z,at);
}
}
}else{
throw E(27,"Uint16Array")
}
}
function Uint16ArraySubArray(aC,aD){
var aE=(%_ToInteger(aC));
if(!(aD===(void 0))){
var aF=(%_ToInteger(aD));
var aG=%_TypedArrayGetLength(this);
}else{
var aG=%_TypedArrayGetLength(this);
var aF=aG;
}
if(aE<0){
aE=F(0,aG+aE);
}else{
aE=G(aE,aG);
}
if(aF<0){
aF=F(0,aG+aF);
}else{
aF=G(aF,aG);
}
if(aF<aE){
aF=aE;
}
var am=aF-aE;
var aH=
%_ArrayBufferViewGetByteOffset(this)+aE*2;
return new O(%TypedArrayGetBuffer(this),aH,am);
}

function Int16ArrayConstructByArrayBuffer(af,ag,ah,ai){
if(!(ah===(void 0))){
ah=J(ah,169);
}
if(!(ai===(void 0))){
ai=J(ai,169);
}
var aj=%_ArrayBufferGetByteLength(ag);
var ak;
if((ah===(void 0))){
ak=0;
}else{
ak=ah;
if(ak % 2!==0){
throw D(168,
"start offset","Int16Array",2);
}
if(ak>aj){
throw D(170);
}
}
var al;
var am;
if((ai===(void 0))){
if(aj % 2!==0){
throw D(168,
"byte length","Int16Array",2);
}
al=aj-ak;
am=al/2;
}else{
var am=ai;
al=am*2;
}
if((ak+al>aj)
||(am>%_MaxSmi())){
throw D(169);
}
%_TypedArrayInitialize(af,4,ag,ak,al,true);
}
function Int16ArrayConstructByLength(af,ai){
var an=(ai===(void 0))?
0:J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var ao=an*2;
if(ao>%_TypedArrayMaxSizeInHeap()){
var ag=new h(ao);
%_TypedArrayInitialize(af,4,ag,0,ao,true);
}else{
%_TypedArrayInitialize(af,4,null,0,ao,true);
}
}
function Int16ArrayConstructByArrayLike(af,ap,ai){
var an=J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var aq=false;
var ao=an*2;
if(ao<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(af,4,null,0,ao,false);
}else{
aq=
%TypedArrayInitializeFromArrayLike(af,4,ap,an);
}
if(!aq){
for(var ar=0;ar<an;ar++){
af[ar]=ap[ar];
}
}
}
function Int16ArrayConstructByIterable(af,as,at){
var au=new B();
var av=%_Call(at,as);
var aw={
__proto__:null
};
aw[K]=function(){return av;}
for(var ax of aw){
au.push(ax);
}
Int16ArrayConstructByArrayLike(af,au,au.length);
}
function Int16ArrayConstructByTypedArray(af,W){
var ay=%TypedArrayGetBuffer(W);
var ai=%_TypedArrayGetLength(W);
var ao=%_ArrayBufferViewGetByteLength(W);
var al=ai*2;
Int16ArrayConstructByArrayLike(af,W,ai);
var az=I(ay,h);
var aA=az.prototype;
if((%_IsJSReceiver(aA))&&aA!==i){
%InternalSetPrototype(%TypedArrayGetBuffer(af),aA);
}
}
function Int16ArrayConstructor(Z,aa,aB){
if(!(new.target===(void 0))){
if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){
Int16ArrayConstructByArrayBuffer(this,Z,aa,aB);
}else if((typeof(Z)==='number')||(typeof(Z)==='string')||
(typeof(Z)==='boolean')||(Z===(void 0))){
Int16ArrayConstructByLength(this,Z);
}else if((%_IsTypedArray(Z))){
Int16ArrayConstructByTypedArray(this,Z);
}else{
var at=Z[K];
if((at===(void 0))||at===d){
Int16ArrayConstructByArrayLike(this,Z,Z.length);
}else{
Int16ArrayConstructByIterable(this,Z,at);
}
}
}else{
throw E(27,"Int16Array")
}
}
function Int16ArraySubArray(aC,aD){
var aE=(%_ToInteger(aC));
if(!(aD===(void 0))){
var aF=(%_ToInteger(aD));
var aG=%_TypedArrayGetLength(this);
}else{
var aG=%_TypedArrayGetLength(this);
var aF=aG;
}
if(aE<0){
aE=F(0,aG+aE);
}else{
aE=G(aE,aG);
}
if(aF<0){
aF=F(0,aG+aF);
}else{
aF=G(aF,aG);
}
if(aF<aE){
aF=aE;
}
var am=aF-aE;
var aH=
%_ArrayBufferViewGetByteOffset(this)+aE*2;
return new P(%TypedArrayGetBuffer(this),aH,am);
}

function Uint32ArrayConstructByArrayBuffer(af,ag,ah,ai){
if(!(ah===(void 0))){
ah=J(ah,169);
}
if(!(ai===(void 0))){
ai=J(ai,169);
}
var aj=%_ArrayBufferGetByteLength(ag);
var ak;
if((ah===(void 0))){
ak=0;
}else{
ak=ah;
if(ak % 4!==0){
throw D(168,
"start offset","Uint32Array",4);
}
if(ak>aj){
throw D(170);
}
}
var al;
var am;
if((ai===(void 0))){
if(aj % 4!==0){
throw D(168,
"byte length","Uint32Array",4);
}
al=aj-ak;
am=al/4;
}else{
var am=ai;
al=am*4;
}
if((ak+al>aj)
||(am>%_MaxSmi())){
throw D(169);
}
%_TypedArrayInitialize(af,5,ag,ak,al,true);
}
function Uint32ArrayConstructByLength(af,ai){
var an=(ai===(void 0))?
0:J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var ao=an*4;
if(ao>%_TypedArrayMaxSizeInHeap()){
var ag=new h(ao);
%_TypedArrayInitialize(af,5,ag,0,ao,true);
}else{
%_TypedArrayInitialize(af,5,null,0,ao,true);
}
}
function Uint32ArrayConstructByArrayLike(af,ap,ai){
var an=J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var aq=false;
var ao=an*4;
if(ao<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(af,5,null,0,ao,false);
}else{
aq=
%TypedArrayInitializeFromArrayLike(af,5,ap,an);
}
if(!aq){
for(var ar=0;ar<an;ar++){
af[ar]=ap[ar];
}
}
}
function Uint32ArrayConstructByIterable(af,as,at){
var au=new B();
var av=%_Call(at,as);
var aw={
__proto__:null
};
aw[K]=function(){return av;}
for(var ax of aw){
au.push(ax);
}
Uint32ArrayConstructByArrayLike(af,au,au.length);
}
function Uint32ArrayConstructByTypedArray(af,W){
var ay=%TypedArrayGetBuffer(W);
var ai=%_TypedArrayGetLength(W);
var ao=%_ArrayBufferViewGetByteLength(W);
var al=ai*4;
Uint32ArrayConstructByArrayLike(af,W,ai);
var az=I(ay,h);
var aA=az.prototype;
if((%_IsJSReceiver(aA))&&aA!==i){
%InternalSetPrototype(%TypedArrayGetBuffer(af),aA);
}
}
function Uint32ArrayConstructor(Z,aa,aB){
if(!(new.target===(void 0))){
if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){
Uint32ArrayConstructByArrayBuffer(this,Z,aa,aB);
}else if((typeof(Z)==='number')||(typeof(Z)==='string')||
(typeof(Z)==='boolean')||(Z===(void 0))){
Uint32ArrayConstructByLength(this,Z);
}else if((%_IsTypedArray(Z))){
Uint32ArrayConstructByTypedArray(this,Z);
}else{
var at=Z[K];
if((at===(void 0))||at===d){
Uint32ArrayConstructByArrayLike(this,Z,Z.length);
}else{
Uint32ArrayConstructByIterable(this,Z,at);
}
}
}else{
throw E(27,"Uint32Array")
}
}
function Uint32ArraySubArray(aC,aD){
var aE=(%_ToInteger(aC));
if(!(aD===(void 0))){
var aF=(%_ToInteger(aD));
var aG=%_TypedArrayGetLength(this);
}else{
var aG=%_TypedArrayGetLength(this);
var aF=aG;
}
if(aE<0){
aE=F(0,aG+aE);
}else{
aE=G(aE,aG);
}
if(aF<0){
aF=F(0,aG+aF);
}else{
aF=G(aF,aG);
}
if(aF<aE){
aF=aE;
}
var am=aF-aE;
var aH=
%_ArrayBufferViewGetByteOffset(this)+aE*4;
return new Q(%TypedArrayGetBuffer(this),aH,am);
}

function Int32ArrayConstructByArrayBuffer(af,ag,ah,ai){
if(!(ah===(void 0))){
ah=J(ah,169);
}
if(!(ai===(void 0))){
ai=J(ai,169);
}
var aj=%_ArrayBufferGetByteLength(ag);
var ak;
if((ah===(void 0))){
ak=0;
}else{
ak=ah;
if(ak % 4!==0){
throw D(168,
"start offset","Int32Array",4);
}
if(ak>aj){
throw D(170);
}
}
var al;
var am;
if((ai===(void 0))){
if(aj % 4!==0){
throw D(168,
"byte length","Int32Array",4);
}
al=aj-ak;
am=al/4;
}else{
var am=ai;
al=am*4;
}
if((ak+al>aj)
||(am>%_MaxSmi())){
throw D(169);
}
%_TypedArrayInitialize(af,6,ag,ak,al,true);
}
function Int32ArrayConstructByLength(af,ai){
var an=(ai===(void 0))?
0:J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var ao=an*4;
if(ao>%_TypedArrayMaxSizeInHeap()){
var ag=new h(ao);
%_TypedArrayInitialize(af,6,ag,0,ao,true);
}else{
%_TypedArrayInitialize(af,6,null,0,ao,true);
}
}
function Int32ArrayConstructByArrayLike(af,ap,ai){
var an=J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var aq=false;
var ao=an*4;
if(ao<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(af,6,null,0,ao,false);
}else{
aq=
%TypedArrayInitializeFromArrayLike(af,6,ap,an);
}
if(!aq){
for(var ar=0;ar<an;ar++){
af[ar]=ap[ar];
}
}
}
function Int32ArrayConstructByIterable(af,as,at){
var au=new B();
var av=%_Call(at,as);
var aw={
__proto__:null
};
aw[K]=function(){return av;}
for(var ax of aw){
au.push(ax);
}
Int32ArrayConstructByArrayLike(af,au,au.length);
}
function Int32ArrayConstructByTypedArray(af,W){
var ay=%TypedArrayGetBuffer(W);
var ai=%_TypedArrayGetLength(W);
var ao=%_ArrayBufferViewGetByteLength(W);
var al=ai*4;
Int32ArrayConstructByArrayLike(af,W,ai);
var az=I(ay,h);
var aA=az.prototype;
if((%_IsJSReceiver(aA))&&aA!==i){
%InternalSetPrototype(%TypedArrayGetBuffer(af),aA);
}
}
function Int32ArrayConstructor(Z,aa,aB){
if(!(new.target===(void 0))){
if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){
Int32ArrayConstructByArrayBuffer(this,Z,aa,aB);
}else if((typeof(Z)==='number')||(typeof(Z)==='string')||
(typeof(Z)==='boolean')||(Z===(void 0))){
Int32ArrayConstructByLength(this,Z);
}else if((%_IsTypedArray(Z))){
Int32ArrayConstructByTypedArray(this,Z);
}else{
var at=Z[K];
if((at===(void 0))||at===d){
Int32ArrayConstructByArrayLike(this,Z,Z.length);
}else{
Int32ArrayConstructByIterable(this,Z,at);
}
}
}else{
throw E(27,"Int32Array")
}
}
function Int32ArraySubArray(aC,aD){
var aE=(%_ToInteger(aC));
if(!(aD===(void 0))){
var aF=(%_ToInteger(aD));
var aG=%_TypedArrayGetLength(this);
}else{
var aG=%_TypedArrayGetLength(this);
var aF=aG;
}
if(aE<0){
aE=F(0,aG+aE);
}else{
aE=G(aE,aG);
}
if(aF<0){
aF=F(0,aG+aF);
}else{
aF=G(aF,aG);
}
if(aF<aE){
aF=aE;
}
var am=aF-aE;
var aH=
%_ArrayBufferViewGetByteOffset(this)+aE*4;
return new R(%TypedArrayGetBuffer(this),aH,am);
}

function Float32ArrayConstructByArrayBuffer(af,ag,ah,ai){
if(!(ah===(void 0))){
ah=J(ah,169);
}
if(!(ai===(void 0))){
ai=J(ai,169);
}
var aj=%_ArrayBufferGetByteLength(ag);
var ak;
if((ah===(void 0))){
ak=0;
}else{
ak=ah;
if(ak % 4!==0){
throw D(168,
"start offset","Float32Array",4);
}
if(ak>aj){
throw D(170);
}
}
var al;
var am;
if((ai===(void 0))){
if(aj % 4!==0){
throw D(168,
"byte length","Float32Array",4);
}
al=aj-ak;
am=al/4;
}else{
var am=ai;
al=am*4;
}
if((ak+al>aj)
||(am>%_MaxSmi())){
throw D(169);
}
%_TypedArrayInitialize(af,7,ag,ak,al,true);
}
function Float32ArrayConstructByLength(af,ai){
var an=(ai===(void 0))?
0:J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var ao=an*4;
if(ao>%_TypedArrayMaxSizeInHeap()){
var ag=new h(ao);
%_TypedArrayInitialize(af,7,ag,0,ao,true);
}else{
%_TypedArrayInitialize(af,7,null,0,ao,true);
}
}
function Float32ArrayConstructByArrayLike(af,ap,ai){
var an=J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var aq=false;
var ao=an*4;
if(ao<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(af,7,null,0,ao,false);
}else{
aq=
%TypedArrayInitializeFromArrayLike(af,7,ap,an);
}
if(!aq){
for(var ar=0;ar<an;ar++){
af[ar]=ap[ar];
}
}
}
function Float32ArrayConstructByIterable(af,as,at){
var au=new B();
var av=%_Call(at,as);
var aw={
__proto__:null
};
aw[K]=function(){return av;}
for(var ax of aw){
au.push(ax);
}
Float32ArrayConstructByArrayLike(af,au,au.length);
}
function Float32ArrayConstructByTypedArray(af,W){
var ay=%TypedArrayGetBuffer(W);
var ai=%_TypedArrayGetLength(W);
var ao=%_ArrayBufferViewGetByteLength(W);
var al=ai*4;
Float32ArrayConstructByArrayLike(af,W,ai);
var az=I(ay,h);
var aA=az.prototype;
if((%_IsJSReceiver(aA))&&aA!==i){
%InternalSetPrototype(%TypedArrayGetBuffer(af),aA);
}
}
function Float32ArrayConstructor(Z,aa,aB){
if(!(new.target===(void 0))){
if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){
Float32ArrayConstructByArrayBuffer(this,Z,aa,aB);
}else if((typeof(Z)==='number')||(typeof(Z)==='string')||
(typeof(Z)==='boolean')||(Z===(void 0))){
Float32ArrayConstructByLength(this,Z);
}else if((%_IsTypedArray(Z))){
Float32ArrayConstructByTypedArray(this,Z);
}else{
var at=Z[K];
if((at===(void 0))||at===d){
Float32ArrayConstructByArrayLike(this,Z,Z.length);
}else{
Float32ArrayConstructByIterable(this,Z,at);
}
}
}else{
throw E(27,"Float32Array")
}
}
function Float32ArraySubArray(aC,aD){
var aE=(%_ToInteger(aC));
if(!(aD===(void 0))){
var aF=(%_ToInteger(aD));
var aG=%_TypedArrayGetLength(this);
}else{
var aG=%_TypedArrayGetLength(this);
var aF=aG;
}
if(aE<0){
aE=F(0,aG+aE);
}else{
aE=G(aE,aG);
}
if(aF<0){
aF=F(0,aG+aF);
}else{
aF=G(aF,aG);
}
if(aF<aE){
aF=aE;
}
var am=aF-aE;
var aH=
%_ArrayBufferViewGetByteOffset(this)+aE*4;
return new S(%TypedArrayGetBuffer(this),aH,am);
}

function Float64ArrayConstructByArrayBuffer(af,ag,ah,ai){
if(!(ah===(void 0))){
ah=J(ah,169);
}
if(!(ai===(void 0))){
ai=J(ai,169);
}
var aj=%_ArrayBufferGetByteLength(ag);
var ak;
if((ah===(void 0))){
ak=0;
}else{
ak=ah;
if(ak % 8!==0){
throw D(168,
"start offset","Float64Array",8);
}
if(ak>aj){
throw D(170);
}
}
var al;
var am;
if((ai===(void 0))){
if(aj % 8!==0){
throw D(168,
"byte length","Float64Array",8);
}
al=aj-ak;
am=al/8;
}else{
var am=ai;
al=am*8;
}
if((ak+al>aj)
||(am>%_MaxSmi())){
throw D(169);
}
%_TypedArrayInitialize(af,8,ag,ak,al,true);
}
function Float64ArrayConstructByLength(af,ai){
var an=(ai===(void 0))?
0:J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var ao=an*8;
if(ao>%_TypedArrayMaxSizeInHeap()){
var ag=new h(ao);
%_TypedArrayInitialize(af,8,ag,0,ao,true);
}else{
%_TypedArrayInitialize(af,8,null,0,ao,true);
}
}
function Float64ArrayConstructByArrayLike(af,ap,ai){
var an=J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var aq=false;
var ao=an*8;
if(ao<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(af,8,null,0,ao,false);
}else{
aq=
%TypedArrayInitializeFromArrayLike(af,8,ap,an);
}
if(!aq){
for(var ar=0;ar<an;ar++){
af[ar]=ap[ar];
}
}
}
function Float64ArrayConstructByIterable(af,as,at){
var au=new B();
var av=%_Call(at,as);
var aw={
__proto__:null
};
aw[K]=function(){return av;}
for(var ax of aw){
au.push(ax);
}
Float64ArrayConstructByArrayLike(af,au,au.length);
}
function Float64ArrayConstructByTypedArray(af,W){
var ay=%TypedArrayGetBuffer(W);
var ai=%_TypedArrayGetLength(W);
var ao=%_ArrayBufferViewGetByteLength(W);
var al=ai*8;
Float64ArrayConstructByArrayLike(af,W,ai);
var az=I(ay,h);
var aA=az.prototype;
if((%_IsJSReceiver(aA))&&aA!==i){
%InternalSetPrototype(%TypedArrayGetBuffer(af),aA);
}
}
function Float64ArrayConstructor(Z,aa,aB){
if(!(new.target===(void 0))){
if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){
Float64ArrayConstructByArrayBuffer(this,Z,aa,aB);
}else if((typeof(Z)==='number')||(typeof(Z)==='string')||
(typeof(Z)==='boolean')||(Z===(void 0))){
Float64ArrayConstructByLength(this,Z);
}else if((%_IsTypedArray(Z))){
Float64ArrayConstructByTypedArray(this,Z);
}else{
var at=Z[K];
if((at===(void 0))||at===d){
Float64ArrayConstructByArrayLike(this,Z,Z.length);
}else{
Float64ArrayConstructByIterable(this,Z,at);
}
}
}else{
throw E(27,"Float64Array")
}
}
function Float64ArraySubArray(aC,aD){
var aE=(%_ToInteger(aC));
if(!(aD===(void 0))){
var aF=(%_ToInteger(aD));
var aG=%_TypedArrayGetLength(this);
}else{
var aG=%_TypedArrayGetLength(this);
var aF=aG;
}
if(aE<0){
aE=F(0,aG+aE);
}else{
aE=G(aE,aG);
}
if(aF<0){
aF=F(0,aG+aF);
}else{
aF=G(aF,aG);
}
if(aF<aE){
aF=aE;
}
var am=aF-aE;
var aH=
%_ArrayBufferViewGetByteOffset(this)+aE*8;
return new T(%TypedArrayGetBuffer(this),aH,am);
}

function Uint8ClampedArrayConstructByArrayBuffer(af,ag,ah,ai){
if(!(ah===(void 0))){
ah=J(ah,169);
}
if(!(ai===(void 0))){
ai=J(ai,169);
}
var aj=%_ArrayBufferGetByteLength(ag);
var ak;
if((ah===(void 0))){
ak=0;
}else{
ak=ah;
if(ak % 1!==0){
throw D(168,
"start offset","Uint8ClampedArray",1);
}
if(ak>aj){
throw D(170);
}
}
var al;
var am;
if((ai===(void 0))){
if(aj % 1!==0){
throw D(168,
"byte length","Uint8ClampedArray",1);
}
al=aj-ak;
am=al/1;
}else{
var am=ai;
al=am*1;
}
if((ak+al>aj)
||(am>%_MaxSmi())){
throw D(169);
}
%_TypedArrayInitialize(af,9,ag,ak,al,true);
}
function Uint8ClampedArrayConstructByLength(af,ai){
var an=(ai===(void 0))?
0:J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var ao=an*1;
if(ao>%_TypedArrayMaxSizeInHeap()){
var ag=new h(ao);
%_TypedArrayInitialize(af,9,ag,0,ao,true);
}else{
%_TypedArrayInitialize(af,9,null,0,ao,true);
}
}
function Uint8ClampedArrayConstructByArrayLike(af,ap,ai){
var an=J(ai,169);
if(an>%_MaxSmi()){
throw D(169);
}
var aq=false;
var ao=an*1;
if(ao<=%_TypedArrayMaxSizeInHeap()){
%_TypedArrayInitialize(af,9,null,0,ao,false);
}else{
aq=
%TypedArrayInitializeFromArrayLike(af,9,ap,an);
}
if(!aq){
for(var ar=0;ar<an;ar++){
af[ar]=ap[ar];
}
}
}
function Uint8ClampedArrayConstructByIterable(af,as,at){
var au=new B();
var av=%_Call(at,as);
var aw={
__proto__:null
};
aw[K]=function(){return av;}
for(var ax of aw){
au.push(ax);
}
Uint8ClampedArrayConstructByArrayLike(af,au,au.length);
}
function Uint8ClampedArrayConstructByTypedArray(af,W){
var ay=%TypedArrayGetBuffer(W);
var ai=%_TypedArrayGetLength(W);
var ao=%_ArrayBufferViewGetByteLength(W);
var al=ai*1;
Uint8ClampedArrayConstructByArrayLike(af,W,ai);
var az=I(ay,h);
var aA=az.prototype;
if((%_IsJSReceiver(aA))&&aA!==i){
%InternalSetPrototype(%TypedArrayGetBuffer(af),aA);
}
}
function Uint8ClampedArrayConstructor(Z,aa,aB){
if(!(new.target===(void 0))){
if((%_ClassOf(Z)==='ArrayBuffer')||(%_ClassOf(Z)==='SharedArrayBuffer')){
Uint8ClampedArrayConstructByArrayBuffer(this,Z,aa,aB);
}else if((typeof(Z)==='number')||(typeof(Z)==='string')||
(typeof(Z)==='boolean')||(Z===(void 0))){
Uint8ClampedArrayConstructByLength(this,Z);
}else if((%_IsTypedArray(Z))){
Uint8ClampedArrayConstructByTypedArray(this,Z);
}else{
var at=Z[K];
if((at===(void 0))||at===d){
Uint8ClampedArrayConstructByArrayLike(this,Z,Z.length);
}else{
Uint8ClampedArrayConstructByIterable(this,Z,at);
}
}
}else{
throw E(27,"Uint8ClampedArray")
}
}
function Uint8ClampedArraySubArray(aC,aD){
var aE=(%_ToInteger(aC));
if(!(aD===(void 0))){
var aF=(%_ToInteger(aD));
var aG=%_TypedArrayGetLength(this);
}else{
var aG=%_TypedArrayGetLength(this);
var aF=aG;
}
if(aE<0){
aE=F(0,aG+aE);
}else{
aE=G(aE,aG);
}
if(aF<0){
aF=F(0,aG+aF);
}else{
aF=G(aF,aG);
}
if(aF<aE){
aF=aE;
}
var am=aF-aE;
var aH=
%_ArrayBufferViewGetByteOffset(this)+aE*1;
return new U(%TypedArrayGetBuffer(this),aH,am);
}


function TypedArraySubArray(aC,aD){
switch(%_ClassOf(this)){
case"Uint8Array":
return %_Call(Uint8ArraySubArray,this,aC,aD);

case"Int8Array":
return %_Call(Int8ArraySubArray,this,aC,aD);

case"Uint16Array":
return %_Call(Uint16ArraySubArray,this,aC,aD);

case"Int16Array":
return %_Call(Int16ArraySubArray,this,aC,aD);

case"Uint32Array":
return %_Call(Uint32ArraySubArray,this,aC,aD);

case"Int32Array":
return %_Call(Int32ArraySubArray,this,aC,aD);

case"Float32Array":
return %_Call(Float32ArraySubArray,this,aC,aD);

case"Float64Array":
return %_Call(Float64ArraySubArray,this,aC,aD);

case"Uint8ClampedArray":
return %_Call(Uint8ClampedArraySubArray,this,aC,aD);


}
throw E(44,
"get TypedArray.prototype.subarray",this);
}
%SetForceInlineFlag(TypedArraySubArray);
function TypedArrayGetBuffer(){
if(!(%_IsTypedArray(this))){
throw E(44,
"get TypedArray.prototype.buffer",this);
}
return %TypedArrayGetBuffer(this);
}
%SetForceInlineFlag(TypedArrayGetBuffer);
function TypedArrayGetByteLength(){
if(!(%_IsTypedArray(this))){
throw E(44,
"get TypedArray.prototype.byteLength",this);
}
return %_ArrayBufferViewGetByteLength(this);
}
%SetForceInlineFlag(TypedArrayGetByteLength);
function TypedArrayGetByteOffset(){
if(!(%_IsTypedArray(this))){
throw E(44,
"get TypedArray.prototype.byteOffset",this);
}
return %_ArrayBufferViewGetByteOffset(this);
}
%SetForceInlineFlag(TypedArrayGetByteOffset);
function TypedArrayGetLength(){
if(!(%_IsTypedArray(this))){
throw E(44,
"get TypedArray.prototype.length",this);
}
return %_TypedArrayGetLength(this);
}
%SetForceInlineFlag(TypedArrayGetLength);
function TypedArraySetFromArrayLike(aI,aJ,aK,ak){
if(ak>0){
for(var ar=0;ar<aK;ar++){
aI[ak+ar]=aJ[ar];
}
}
else{
for(var ar=0;ar<aK;ar++){
aI[ar]=aJ[ar];
}
}
}
function TypedArraySetFromOverlappingTypedArray(aI,aJ,ak){
var aL=aJ.BYTES_PER_ELEMENT;
var aM=aI.BYTES_PER_ELEMENT;
var aK=aJ.length;
function CopyLeftPart(){
var aN=aI.byteOffset+(ak+1)*aM;
var aO=aJ.byteOffset;
for(var aP=0;
aP<aK&&aN<=aO;
aP++){
aI[ak+aP]=aJ[aP];
aN+=aM;
aO+=aL;
}
return aP;
}
var aP=CopyLeftPart();
function CopyRightPart(){
var aN=
aI.byteOffset+(ak+aK-1)*aM;
var aO=
aJ.byteOffset+aK*aL;
for(var aQ=aK-1;
aQ>=aP&&aN>=aO;
aQ--){
aI[ak+aQ]=aJ[aQ];
aN-=aM;
aO-=aL;
}
return aQ;
}
var aQ=CopyRightPart();
var aR=new g(aQ+1-aP);
for(var ar=aP;ar<=aQ;ar++){
aR[ar-aP]=aJ[ar];
}
for(ar=aP;ar<=aQ;ar++){
aI[ak+ar]=aR[ar-aP];
}
}
function TypedArraySet(af,ak){
var aS=(ak===(void 0))?0:(%_ToInteger(ak));
if(aS<0)throw E(179);
if(aS>%_MaxSmi()){
throw D(180);
}
switch(%TypedArraySetFastCases(this,af,aS)){
case 0:
return;
case 1:
TypedArraySetFromOverlappingTypedArray(this,af,aS);
return;
case 2:
TypedArraySetFromArrayLike(this,af,af.length,aS);
return;
case 3:
var an=af.length;
if((an===(void 0))){
if((typeof(af)==='number')){
throw E(46);
}
return;
}
an=(%_ToLength(an));
if(aS+an>this.length){
throw D(180);
}
TypedArraySetFromArrayLike(this,af,an,aS);
return;
}
}
%FunctionSetLength(TypedArraySet,1);
function TypedArrayGetToStringTag(){
if(!(%_IsTypedArray(this)))return;
var aT=%_ClassOf(this);
if((aT===(void 0)))return;
return aT;
}
function TypedArrayCopyWithin(aI,aU,aD){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return l(aI,aU,aD,this,ai);
}
%FunctionSetLength(TypedArrayCopyWithin,2);
function TypedArrayEvery(aV,aW){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return m(aV,aW,this,ai);
}
%FunctionSetLength(TypedArrayEvery,1);
function TypedArrayForEach(aV,aW){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
r(aV,aW,this,ai);
}
%FunctionSetLength(TypedArrayForEach,1);
function TypedArrayFill(ax,aU,aD){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return n(ax,aU,aD,this,ai);
}
%FunctionSetLength(TypedArrayFill,1);
function TypedArrayFilter(aV,aX){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
if(!(typeof(aV)==='function'))throw E(15,aV);
var aY=new B();
o(aV,aX,this,ai,aY);
var aZ=aY.length;
var ba=TypedArraySpeciesCreate(this,aZ);
for(var ar=0;ar<aZ;ar++){
ba[ar]=aY[ar];
}
return ba;
}
%FunctionSetLength(TypedArrayFilter,1);
function TypedArrayFind(bb,aX){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return p(bb,aX,this,ai);
}
%FunctionSetLength(TypedArrayFind,1);
function TypedArrayFindIndex(bb,aX){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return q(bb,aX,this,ai);
}
%FunctionSetLength(TypedArrayFindIndex,1);
function TypedArrayReverse(){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return H(this,ai);
}
function TypedArrayComparefn(bc,bd){
if(bc===0&&bc===bd){
bc=1/bc;
bd=1/bd;
}
if(bc<bd){
return-1;
}else if(bc>bd){
return 1;
}else if(C(bc)&&C(bd)){
return C(bd)?0:1;
}else if(C(bc)){
return 1;
}
return 0;
}
function TypedArraySort(be){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
if((be===(void 0))){
be=TypedArrayComparefn;
}
return z(this,ai,be);
}
function TypedArrayIndexOf(bf,bg){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return t(this,bf,bg,ai);
}
%FunctionSetLength(TypedArrayIndexOf,1);
function TypedArrayLastIndexOf(bf,bg){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return v(this,bf,bg,ai,
arguments.length);
}
%FunctionSetLength(TypedArrayLastIndexOf,1);
function TypedArrayMap(aV,aX){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
var aY=TypedArraySpeciesCreate(this,ai);
if(!(typeof(aV)==='function'))throw E(15,aV);
for(var ar=0;ar<ai;ar++){
var bf=this[ar];
aY[ar]=%_Call(aV,aX,bf,ar,this);
}
return aY;
}
%FunctionSetLength(TypedArrayMap,1);
function TypedArraySome(aV,aW){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return y(aV,aW,this,ai);
}
%FunctionSetLength(TypedArraySome,1);
function TypedArrayToLocaleString(){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return A(this,ai);
}
function TypedArrayJoin(bh){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return u(bh,this,ai);
}
function TypedArrayReduce(bi,bj){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return w(bi,bj,this,ai,
arguments.length);
}
%FunctionSetLength(TypedArrayReduce,1);
function TypedArrayReduceRight(bi,bj){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return x(bi,bj,this,ai,
arguments.length);
}
%FunctionSetLength(TypedArrayReduceRight,1);
function TypedArraySlice(aU,aD){
if(!(%_IsTypedArray(this)))throw E(72);
var bk=%_TypedArrayGetLength(this);
var bl=(%_ToInteger(aU));
var bm;
if(bl<0){
bm=F(bk+bl,0);
}else{
bm=G(bl,bk);
}
var bn;
if((aD===(void 0))){
bn=bk;
}else{
bn=(%_ToInteger(aD));
}
var bo;
if(bn<0){
bo=F(bk+bn,0);
}else{
bo=G(bn,bk);
}
var bp=F(bo-bm,0);
var bq=TypedArraySpeciesCreate(this,bp);
var br=0;
while(bm<bo){
var bs=this[bm];
bq[br]=bs;
bm++;
br++;
}
return bq;
}
function TypedArrayIncludes(bt,bu){
if(!(%_IsTypedArray(this)))throw E(72);
var ai=%_TypedArrayGetLength(this);
return s(bt,bu,this,ai);
}
%FunctionSetLength(TypedArrayIncludes,1);
function TypedArrayOf(){
var ai=arguments.length;
var bq=TypedArrayCreate(this,ai);
for(var ar=0;ar<ai;ar++){
bq[ar]=arguments[ar];
}
return bq;
}
function IterableToArrayLike(bv){
var as=f(bv,K);
if(!(as===(void 0))){
var bw=new B();
var ar=0;
for(var ax of
{[K](){return e(bv,as)}}){
bw[ar]=ax;
ar++;
}
var bq=[];
%MoveArrayContents(bw,bq);
return bq;
}
return(%_ToObject(bv));
}
function TypedArrayFrom(aJ,bx,aX){
if(!%IsConstructor(this))throw E(66,this);
var by;
if(!(bx===(void 0))){
if(!(typeof(bx)==='function'))throw E(15,this);
by=true;
}else{
by=false;
}
var ap=IterableToArrayLike(aJ);
var ai=(%_ToLength(ap.length));
var bz=TypedArrayCreate(this,ai);
var ax,bA;
for(var ar=0;ar<ai;ar++){
ax=ap[ar];
if(by){
bA=%_Call(bx,aX,ax,ar);
}else{
bA=ax;
}
bz[ar]=bA;
}
return bz;
}
%FunctionSetLength(TypedArrayFrom,1);
function TypedArray(){
if((new.target===(void 0))){
throw E(26,"TypedArray");
}
if(new.target===TypedArray){
throw E(24,"TypedArray");
}
}
%FunctionSetPrototype(TypedArray,new k());
%AddNamedProperty(TypedArray.prototype,
"constructor",TypedArray,2);
b.InstallFunctions(TypedArray,2,[
"from",TypedArrayFrom,
"of",TypedArrayOf
]);
b.InstallGetter(TypedArray.prototype,"buffer",TypedArrayGetBuffer);
b.InstallGetter(TypedArray.prototype,"byteOffset",TypedArrayGetByteOffset,
2|4);
b.InstallGetter(TypedArray.prototype,"byteLength",
TypedArrayGetByteLength,2|4);
b.InstallGetter(TypedArray.prototype,"length",TypedArrayGetLength,
2|4);
b.InstallGetter(TypedArray.prototype,L,
TypedArrayGetToStringTag);
b.InstallFunctions(TypedArray.prototype,2,[
"subarray",TypedArraySubArray,
"set",TypedArraySet,
"copyWithin",TypedArrayCopyWithin,
"every",TypedArrayEvery,
"fill",TypedArrayFill,
"filter",TypedArrayFilter,
"find",TypedArrayFind,
"findIndex",TypedArrayFindIndex,
"includes",TypedArrayIncludes,
"indexOf",TypedArrayIndexOf,
"join",TypedArrayJoin,
"lastIndexOf",TypedArrayLastIndexOf,
"forEach",TypedArrayForEach,
"map",TypedArrayMap,
"reduce",TypedArrayReduce,
"reduceRight",TypedArrayReduceRight,
"reverse",TypedArrayReverse,
"slice",TypedArraySlice,
"some",TypedArraySome,
"sort",TypedArraySort,
"toLocaleString",TypedArrayToLocaleString
]);
%AddNamedProperty(TypedArray.prototype,"toString",c,
2);
%SetCode(M,Uint8ArrayConstructor);
%FunctionSetPrototype(M,new k());
%InternalSetPrototype(M,TypedArray);
%InternalSetPrototype(M.prototype,TypedArray.prototype);
%AddNamedProperty(M,"BYTES_PER_ELEMENT",1,
1|2|4);
%AddNamedProperty(M.prototype,
"constructor",a.Uint8Array,2);
%AddNamedProperty(M.prototype,
"BYTES_PER_ELEMENT",1,
1|2|4);

%SetCode(N,Int8ArrayConstructor);
%FunctionSetPrototype(N,new k());
%InternalSetPrototype(N,TypedArray);
%InternalSetPrototype(N.prototype,TypedArray.prototype);
%AddNamedProperty(N,"BYTES_PER_ELEMENT",1,
1|2|4);
%AddNamedProperty(N.prototype,
"constructor",a.Int8Array,2);
%AddNamedProperty(N.prototype,
"BYTES_PER_ELEMENT",1,
1|2|4);

%SetCode(O,Uint16ArrayConstructor);
%FunctionSetPrototype(O,new k());
%InternalSetPrototype(O,TypedArray);
%InternalSetPrototype(O.prototype,TypedArray.prototype);
%AddNamedProperty(O,"BYTES_PER_ELEMENT",2,
1|2|4);
%AddNamedProperty(O.prototype,
"constructor",a.Uint16Array,2);
%AddNamedProperty(O.prototype,
"BYTES_PER_ELEMENT",2,
1|2|4);

%SetCode(P,Int16ArrayConstructor);
%FunctionSetPrototype(P,new k());
%InternalSetPrototype(P,TypedArray);
%InternalSetPrototype(P.prototype,TypedArray.prototype);
%AddNamedProperty(P,"BYTES_PER_ELEMENT",2,
1|2|4);
%AddNamedProperty(P.prototype,
"constructor",a.Int16Array,2);
%AddNamedProperty(P.prototype,
"BYTES_PER_ELEMENT",2,
1|2|4);

%SetCode(Q,Uint32ArrayConstructor);
%FunctionSetPrototype(Q,new k());
%InternalSetPrototype(Q,TypedArray);
%InternalSetPrototype(Q.prototype,TypedArray.prototype);
%AddNamedProperty(Q,"BYTES_PER_ELEMENT",4,
1|2|4);
%AddNamedProperty(Q.prototype,
"constructor",a.Uint32Array,2);
%AddNamedProperty(Q.prototype,
"BYTES_PER_ELEMENT",4,
1|2|4);

%SetCode(R,Int32ArrayConstructor);
%FunctionSetPrototype(R,new k());
%InternalSetPrototype(R,TypedArray);
%InternalSetPrototype(R.prototype,TypedArray.prototype);
%AddNamedProperty(R,"BYTES_PER_ELEMENT",4,
1|2|4);
%AddNamedProperty(R.prototype,
"constructor",a.Int32Array,2);
%AddNamedProperty(R.prototype,
"BYTES_PER_ELEMENT",4,
1|2|4);

%SetCode(S,Float32ArrayConstructor);
%FunctionSetPrototype(S,new k());
%InternalSetPrototype(S,TypedArray);
%InternalSetPrototype(S.prototype,TypedArray.prototype);
%AddNamedProperty(S,"BYTES_PER_ELEMENT",4,
1|2|4);
%AddNamedProperty(S.prototype,
"constructor",a.Float32Array,2);
%AddNamedProperty(S.prototype,
"BYTES_PER_ELEMENT",4,
1|2|4);

%SetCode(T,Float64ArrayConstructor);
%FunctionSetPrototype(T,new k());
%InternalSetPrototype(T,TypedArray);
%InternalSetPrototype(T.prototype,TypedArray.prototype);
%AddNamedProperty(T,"BYTES_PER_ELEMENT",8,
1|2|4);
%AddNamedProperty(T.prototype,
"constructor",a.Float64Array,2);
%AddNamedProperty(T.prototype,
"BYTES_PER_ELEMENT",8,
1|2|4);

%SetCode(U,Uint8ClampedArrayConstructor);
%FunctionSetPrototype(U,new k());
%InternalSetPrototype(U,TypedArray);
%InternalSetPrototype(U.prototype,TypedArray.prototype);
%AddNamedProperty(U,"BYTES_PER_ELEMENT",1,
1|2|4);
%AddNamedProperty(U.prototype,
"constructor",a.Uint8ClampedArray,2);
%AddNamedProperty(U.prototype,
"BYTES_PER_ELEMENT",1,
1|2|4);


function DataViewGetBufferJS(){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,'DataView.buffer',this);
}
return %DataViewGetBuffer(this);
}
function DataViewGetByteOffset(){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.byteOffset',this);
}
return %_ArrayBufferViewGetByteOffset(this);
}
function DataViewGetByteLength(){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.byteLength',this);
}
return %_ArrayBufferViewGetByteLength(this);
}
function DataViewGetInt8JS(ak,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.getInt8',this);
}
if(arguments.length<1)throw E(46);
ak=J(ak,159);
return %DataViewGetInt8(this,ak,!!bB);
}
%FunctionSetLength(DataViewGetInt8JS,1);
function DataViewSetInt8JS(ak,ax,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.setInt8',this);
}
if(arguments.length<2)throw E(46);
ak=J(ak,159);
%DataViewSetInt8(this,ak,(%_ToNumber(ax)),!!bB);
}
%FunctionSetLength(DataViewSetInt8JS,2);

function DataViewGetUint8JS(ak,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.getUint8',this);
}
if(arguments.length<1)throw E(46);
ak=J(ak,159);
return %DataViewGetUint8(this,ak,!!bB);
}
%FunctionSetLength(DataViewGetUint8JS,1);
function DataViewSetUint8JS(ak,ax,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.setUint8',this);
}
if(arguments.length<2)throw E(46);
ak=J(ak,159);
%DataViewSetUint8(this,ak,(%_ToNumber(ax)),!!bB);
}
%FunctionSetLength(DataViewSetUint8JS,2);

function DataViewGetInt16JS(ak,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.getInt16',this);
}
if(arguments.length<1)throw E(46);
ak=J(ak,159);
return %DataViewGetInt16(this,ak,!!bB);
}
%FunctionSetLength(DataViewGetInt16JS,1);
function DataViewSetInt16JS(ak,ax,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.setInt16',this);
}
if(arguments.length<2)throw E(46);
ak=J(ak,159);
%DataViewSetInt16(this,ak,(%_ToNumber(ax)),!!bB);
}
%FunctionSetLength(DataViewSetInt16JS,2);

function DataViewGetUint16JS(ak,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.getUint16',this);
}
if(arguments.length<1)throw E(46);
ak=J(ak,159);
return %DataViewGetUint16(this,ak,!!bB);
}
%FunctionSetLength(DataViewGetUint16JS,1);
function DataViewSetUint16JS(ak,ax,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.setUint16',this);
}
if(arguments.length<2)throw E(46);
ak=J(ak,159);
%DataViewSetUint16(this,ak,(%_ToNumber(ax)),!!bB);
}
%FunctionSetLength(DataViewSetUint16JS,2);

function DataViewGetInt32JS(ak,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.getInt32',this);
}
if(arguments.length<1)throw E(46);
ak=J(ak,159);
return %DataViewGetInt32(this,ak,!!bB);
}
%FunctionSetLength(DataViewGetInt32JS,1);
function DataViewSetInt32JS(ak,ax,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.setInt32',this);
}
if(arguments.length<2)throw E(46);
ak=J(ak,159);
%DataViewSetInt32(this,ak,(%_ToNumber(ax)),!!bB);
}
%FunctionSetLength(DataViewSetInt32JS,2);

function DataViewGetUint32JS(ak,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.getUint32',this);
}
if(arguments.length<1)throw E(46);
ak=J(ak,159);
return %DataViewGetUint32(this,ak,!!bB);
}
%FunctionSetLength(DataViewGetUint32JS,1);
function DataViewSetUint32JS(ak,ax,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.setUint32',this);
}
if(arguments.length<2)throw E(46);
ak=J(ak,159);
%DataViewSetUint32(this,ak,(%_ToNumber(ax)),!!bB);
}
%FunctionSetLength(DataViewSetUint32JS,2);

function DataViewGetFloat32JS(ak,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.getFloat32',this);
}
if(arguments.length<1)throw E(46);
ak=J(ak,159);
return %DataViewGetFloat32(this,ak,!!bB);
}
%FunctionSetLength(DataViewGetFloat32JS,1);
function DataViewSetFloat32JS(ak,ax,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.setFloat32',this);
}
if(arguments.length<2)throw E(46);
ak=J(ak,159);
%DataViewSetFloat32(this,ak,(%_ToNumber(ax)),!!bB);
}
%FunctionSetLength(DataViewSetFloat32JS,2);

function DataViewGetFloat64JS(ak,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.getFloat64',this);
}
if(arguments.length<1)throw E(46);
ak=J(ak,159);
return %DataViewGetFloat64(this,ak,!!bB);
}
%FunctionSetLength(DataViewGetFloat64JS,1);
function DataViewSetFloat64JS(ak,ax,bB){
if(!(%_ClassOf(this)==='DataView')){
throw E(44,
'DataView.setFloat64',this);
}
if(arguments.length<2)throw E(46);
ak=J(ak,159);
%DataViewSetFloat64(this,ak,(%_ToNumber(ax)),!!bB);
}
%FunctionSetLength(DataViewSetFloat64JS,2);


%FunctionSetPrototype(j,new k);
%AddNamedProperty(j.prototype,"constructor",j,
2);
%AddNamedProperty(j.prototype,L,"DataView",
1|2);
b.InstallGetter(j.prototype,"buffer",DataViewGetBufferJS);
b.InstallGetter(j.prototype,"byteOffset",
DataViewGetByteOffset);
b.InstallGetter(j.prototype,"byteLength",
DataViewGetByteLength);
b.InstallFunctions(j.prototype,2,[
"getInt8",DataViewGetInt8JS,
"setInt8",DataViewSetInt8JS,
"getUint8",DataViewGetUint8JS,
"setUint8",DataViewSetUint8JS,
"getInt16",DataViewGetInt16JS,
"setInt16",DataViewSetInt16JS,
"getUint16",DataViewGetUint16JS,
"setUint16",DataViewSetUint16JS,
"getInt32",DataViewGetInt32JS,
"setInt32",DataViewSetInt32JS,
"getUint32",DataViewGetUint32JS,
"setUint32",DataViewSetUint32JS,
"getFloat32",DataViewGetFloat32JS,
"setFloat32",DataViewSetFloat32JS,
"getFloat64",DataViewGetFloat64JS,
"setFloat64",DataViewSetFloat64JS
]);
})

Hiterator-prototypeÑ
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Object;
var d=b.ImportNow("IteratorPrototype");
var e=b.ImportNow("iterator_symbol");
function IteratorPrototypeIterator(){
return this;
}
b.SetFunctionName(IteratorPrototypeIterator,e);
%AddNamedProperty(d,e,
IteratorPrototypeIterator,2);
})

(collectionE}
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Map;
var d=a.Object;
var e=a.Set;
var f=b.ImportNow("hash_code_symbol");
var g;
var h;
var i;
var j;
var k;
var l=b.ImportNow("to_string_tag_symbol");
b.Import(function(m){
g=m.IntRandom;
h=m.MakeTypeError;
i=m.MapIterator;
j=m.NumberIsNaN;
k=m.SetIterator;
});
function HashToEntry(n,o,p){
var q=(o&((p)-1));
return((%_FixedArrayGet(n,(3+(q))|0)));
}
%SetForceInlineFlag(HashToEntry);
function SetFindEntry(n,p,r,o){
var s=HashToEntry(n,o,p);
if(s===-1)return s;
var t=((%_FixedArrayGet(n,((3+(p)+((s)<<1)))|0)));
if(r===t)return s;
var u=j(r);
while(true){
if(u&&j(t)){
return s;
}
s=((%_FixedArrayGet(n,((3+(p)+((s)<<1))+1)|0)));
if(s===-1)return s;
t=((%_FixedArrayGet(n,((3+(p)+((s)<<1)))|0)));
if(r===t)return s;
}
return-1;
}
%SetForceInlineFlag(SetFindEntry);
function MapFindEntry(n,p,r,o){
var s=HashToEntry(n,o,p);
if(s===-1)return s;
var t=((%_FixedArrayGet(n,((3+(p)+((s)*3)))|0)));
if(r===t)return s;
var u=j(r);
while(true){
if(u&&j(t)){
return s;
}
s=((%_FixedArrayGet(n,((3+(p)+((s)*3))+2)|0)));
if(s===-1)return s;
t=((%_FixedArrayGet(n,((3+(p)+((s)*3)))|0)));
if(r===t)return s;
}
return-1;
}
%SetForceInlineFlag(MapFindEntry);
function ComputeIntegerHash(r,v){
var o=r;
o=o^v;
o=~o+(o<<15);
o=o^(o>>>12);
o=o+(o<<2);
o=o^(o>>>4);
o=(o*2057)|0;
o=o^(o>>>16);
return o&0x3fffffff;
}
%SetForceInlineFlag(ComputeIntegerHash);
function GetExistingHash(r){
if(%_IsSmi(r)){
return ComputeIntegerHash(r,0);
}
if((typeof(r)==='string')){
var w=%_StringGetRawHashField(r);
if((w&1)===0){
return w>>>2;
}
}else if((%_IsJSReceiver(r))&&!(%_IsJSProxy(r))&&!(%_ClassOf(r)==='global')){
var o=(r[f]);
return o;
}
return %GenericHash(r);
}
%SetForceInlineFlag(GetExistingHash);
function GetHash(r){
var o=GetExistingHash(r);
if((o===(void 0))){
o=g()|0;
if(o===0)o=1;
(r[f]=o);
}
return o;
}
%SetForceInlineFlag(GetHash);
function SetConstructor(x){
if((new.target===(void 0))){
throw h(27,"Set");
}
%_SetInitialize(this);
if(!(x==null)){
var y=this.add;
if(!(typeof(y)==='function')){
throw h(86,y,'add',this);
}
for(var z of x){
%_Call(y,this,z);
}
}
}
function SetAdd(r){
if(!(%_ClassOf(this)==='Set')){
throw h(44,'Set.prototype.add',this);
}
if(r===0){
r=0;
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetHash(r);
if(SetFindEntry(n,p,r,o)!==-1)return this;
var A=((%_FixedArrayGet(n,(1)|0)));
var B=((%_FixedArrayGet(n,(2)|0)));
var C=p<<1;
if((A+B)>=C){
%SetGrow(this);
n=%_JSCollectionGetTable(this);
p=((%_FixedArrayGet(n,(0)|0)));
A=((%_FixedArrayGet(n,(1)|0)));
B=((%_FixedArrayGet(n,(2)|0)));
}
var s=A+B;
var D=(3+(p)+((s)<<1));
var q=(o&((p)-1));
var E=((%_FixedArrayGet(n,(3+(q))|0)));
((%_FixedArraySet(n,(3+(q))|0,s)));
(((%_FixedArraySet(n,(1)|0,(A+1)|0))));
(%_FixedArraySet(n,(D)|0,r));
((%_FixedArraySet(n,(D+1)|0,(E)|0)));
return this;
}
function SetHas(r){
if(!(%_ClassOf(this)==='Set')){
throw h(44,'Set.prototype.has',this);
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetExistingHash(r);
if((o===(void 0)))return false;
return SetFindEntry(n,p,r,o)!==-1;
}
function SetDelete(r){
if(!(%_ClassOf(this)==='Set')){
throw h(44,
'Set.prototype.delete',this);
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetExistingHash(r);
if((o===(void 0)))return false;
var s=SetFindEntry(n,p,r,o);
if(s===-1)return false;
var A=((%_FixedArrayGet(n,(1)|0)))-1;
var B=((%_FixedArrayGet(n,(2)|0)))+1;
var D=(3+(p)+((s)<<1));
(%_FixedArraySet(n,(D)|0,%_TheHole()));
(((%_FixedArraySet(n,(1)|0,(A)|0))));
(((%_FixedArraySet(n,(2)|0,(B)|0))));
if(A<(p>>>1))%SetShrink(this);
return true;
}
function SetGetSize(){
if(!(%_ClassOf(this)==='Set')){
throw h(44,
'Set.prototype.size',this);
}
var n=%_JSCollectionGetTable(this);
return((%_FixedArrayGet(n,(1)|0)));
}
function SetClearJS(){
if(!(%_ClassOf(this)==='Set')){
throw h(44,
'Set.prototype.clear',this);
}
%_SetClear(this);
}
function SetForEach(F,G){
if(!(%_ClassOf(this)==='Set')){
throw h(44,
'Set.prototype.forEach',this);
}
if(!(typeof(F)==='function'))throw h(15,F);
var H=new k(this,2);
var r;
var I=[(void 0)];
while(%SetIteratorNext(H,I)){
r=I[0];
%_Call(F,G,r,r,this);
}
}
%SetCode(e,SetConstructor);
%FunctionSetLength(e,0);
%FunctionSetPrototype(e,new d());
%AddNamedProperty(e.prototype,"constructor",e,2);
%AddNamedProperty(e.prototype,l,"Set",
2|1);
%FunctionSetLength(SetForEach,1);
b.InstallGetter(e.prototype,"size",SetGetSize);
b.InstallFunctions(e.prototype,2,[
"add",SetAdd,
"has",SetHas,
"delete",SetDelete,
"clear",SetClearJS,
"forEach",SetForEach
]);
function MapConstructor(x){
if((new.target===(void 0))){
throw h(27,"Map");
}
%_MapInitialize(this);
if(!(x==null)){
var y=this.set;
if(!(typeof(y)==='function')){
throw h(86,y,'set',this);
}
for(var J of x){
if(!(%_IsJSReceiver(J))){
throw h(51,J);
}
%_Call(y,this,J[0],J[1]);
}
}
}
function MapGet(r){
if(!(%_ClassOf(this)==='Map')){
throw h(44,
'Map.prototype.get',this);
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetExistingHash(r);
if((o===(void 0)))return(void 0);
var s=MapFindEntry(n,p,r,o);
if(s===-1)return(void 0);
return((%_FixedArrayGet(n,((3+(p)+((s)*3))+1)|0)));
}
function MapSet(r,z){
if(!(%_ClassOf(this)==='Map')){
throw h(44,
'Map.prototype.set',this);
}
if(r===0){
r=0;
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetHash(r);
var s=MapFindEntry(n,p,r,o);
if(s!==-1){
var K=(3+(p)+((s)*3));
(%_FixedArraySet(n,(K+1)|0,z));
return this;
}
var A=((%_FixedArrayGet(n,(1)|0)));
var B=((%_FixedArrayGet(n,(2)|0)));
var C=p<<1;
if((A+B)>=C){
%MapGrow(this);
n=%_JSCollectionGetTable(this);
p=((%_FixedArrayGet(n,(0)|0)));
A=((%_FixedArrayGet(n,(1)|0)));
B=((%_FixedArrayGet(n,(2)|0)));
}
s=A+B;
var D=(3+(p)+((s)*3));
var q=(o&((p)-1));
var E=((%_FixedArrayGet(n,(3+(q))|0)));
((%_FixedArraySet(n,(3+(q))|0,s)));
(((%_FixedArraySet(n,(1)|0,(A+1)|0))));
(%_FixedArraySet(n,(D)|0,r));
(%_FixedArraySet(n,(D+1)|0,z));
(%_FixedArraySet(n,(D+2)|0,E));
return this;
}
function MapHas(r){
if(!(%_ClassOf(this)==='Map')){
throw h(44,
'Map.prototype.has',this);
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetHash(r);
return MapFindEntry(n,p,r,o)!==-1;
}
function MapDelete(r){
if(!(%_ClassOf(this)==='Map')){
throw h(44,
'Map.prototype.delete',this);
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetHash(r);
var s=MapFindEntry(n,p,r,o);
if(s===-1)return false;
var A=((%_FixedArrayGet(n,(1)|0)))-1;
var B=((%_FixedArrayGet(n,(2)|0)))+1;
var D=(3+(p)+((s)*3));
(%_FixedArraySet(n,(D)|0,%_TheHole()));
(%_FixedArraySet(n,(D+1)|0,%_TheHole()));
(((%_FixedArraySet(n,(1)|0,(A)|0))));
(((%_FixedArraySet(n,(2)|0,(B)|0))));
if(A<(p>>>1))%MapShrink(this);
return true;
}
function MapGetSize(){
if(!(%_ClassOf(this)==='Map')){
throw h(44,
'Map.prototype.size',this);
}
var n=%_JSCollectionGetTable(this);
return((%_FixedArrayGet(n,(1)|0)));
}
function MapClearJS(){
if(!(%_ClassOf(this)==='Map')){
throw h(44,
'Map.prototype.clear',this);
}
%_MapClear(this);
}
function MapForEach(F,G){
if(!(%_ClassOf(this)==='Map')){
throw h(44,
'Map.prototype.forEach',this);
}
if(!(typeof(F)==='function'))throw h(15,F);
var H=new i(this,3);
var I=[(void 0),(void 0)];
while(%MapIteratorNext(H,I)){
%_Call(F,G,I[1],I[0],this);
}
}
%SetCode(c,MapConstructor);
%FunctionSetLength(c,0);
%FunctionSetPrototype(c,new d());
%AddNamedProperty(c.prototype,"constructor",c,2);
%AddNamedProperty(
c.prototype,l,"Map",2|1);
%FunctionSetLength(MapForEach,1);
b.InstallGetter(c.prototype,"size",MapGetSize);
b.InstallFunctions(c.prototype,2,[
"get",MapGet,
"set",MapSet,
"has",MapHas,
"delete",MapDelete,
"clear",MapClearJS,
"forEach",MapForEach
]);
%InstallToContext([
"map_get",MapGet,
"map_set",MapSet,
"map_has",MapHas,
"map_delete",MapDelete,
"set_add",SetAdd,
"set_has",SetHas,
"set_delete",SetDelete,
]);
b.Export(function(L){
L.GetExistingHash=GetExistingHash;
L.GetHash=GetHash;
});
})

<weak-collectionÕ-
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c;
var d;
var e=a.Object;
var f=a.WeakMap;
var g=a.WeakSet;
var h;
var i=b.ImportNow("to_string_tag_symbol");
b.Import(function(j){
c=j.GetExistingHash;
d=j.GetHash;
h=j.MakeTypeError;
});
function WeakMapConstructor(k){
if((new.target===(void 0))){
throw h(27,"WeakMap");
}
%WeakCollectionInitialize(this);
if(!(k==null)){
var l=this.set;
if(!(typeof(l)==='function')){
throw h(86,l,'set',this);
}
for(var m of k){
if(!(%_IsJSReceiver(m))){
throw h(51,m);
}
%_Call(l,this,m[0],m[1]);
}
}
}
function WeakMapGet(n){
if(!(%_ClassOf(this)==='WeakMap')){
throw h(44,
'WeakMap.prototype.get',this);
}
if(!(%_IsJSReceiver(n)))return(void 0);
var o=c(n);
if((o===(void 0)))return(void 0);
return %WeakCollectionGet(this,n,o);
}
function WeakMapSet(n,p){
if(!(%_ClassOf(this)==='WeakMap')){
throw h(44,
'WeakMap.prototype.set',this);
}
if(!(%_IsJSReceiver(n)))throw h(164);
return %WeakCollectionSet(this,n,p,d(n));
}
function WeakMapHas(n){
if(!(%_ClassOf(this)==='WeakMap')){
throw h(44,
'WeakMap.prototype.has',this);
}
if(!(%_IsJSReceiver(n)))return false;
var o=c(n);
if((o===(void 0)))return false;
return %WeakCollectionHas(this,n,o);
}
function WeakMapDelete(n){
if(!(%_ClassOf(this)==='WeakMap')){
throw h(44,
'WeakMap.prototype.delete',this);
}
if(!(%_IsJSReceiver(n)))return false;
var o=c(n);
if((o===(void 0)))return false;
return %WeakCollectionDelete(this,n,o);
}
%SetCode(f,WeakMapConstructor);
%FunctionSetLength(f,0);
%FunctionSetPrototype(f,new e());
%AddNamedProperty(f.prototype,"constructor",f,
2);
%AddNamedProperty(f.prototype,i,"WeakMap",
2|1);
b.InstallFunctions(f.prototype,2,[
"get",WeakMapGet,
"set",WeakMapSet,
"has",WeakMapHas,
"delete",WeakMapDelete
]);
function WeakSetConstructor(k){
if((new.target===(void 0))){
throw h(27,"WeakSet");
}
%WeakCollectionInitialize(this);
if(!(k==null)){
var l=this.add;
if(!(typeof(l)==='function')){
throw h(86,l,'add',this);
}
for(var p of k){
%_Call(l,this,p);
}
}
}
function WeakSetAdd(p){
if(!(%_ClassOf(this)==='WeakSet')){
throw h(44,
'WeakSet.prototype.add',this);
}
if(!(%_IsJSReceiver(p)))throw h(165);
return %WeakCollectionSet(this,p,true,d(p));
}
function WeakSetHas(p){
if(!(%_ClassOf(this)==='WeakSet')){
throw h(44,
'WeakSet.prototype.has',this);
}
if(!(%_IsJSReceiver(p)))return false;
var o=c(p);
if((o===(void 0)))return false;
return %WeakCollectionHas(this,p,o);
}
function WeakSetDelete(p){
if(!(%_ClassOf(this)==='WeakSet')){
throw h(44,
'WeakSet.prototype.delete',this);
}
if(!(%_IsJSReceiver(p)))return false;
var o=c(p);
if((o===(void 0)))return false;
return %WeakCollectionDelete(this,p,o);
}
%SetCode(g,WeakSetConstructor);
%FunctionSetLength(g,0);
%FunctionSetPrototype(g,new e());
%AddNamedProperty(g.prototype,"constructor",g,
2);
%AddNamedProperty(g.prototype,i,"WeakSet",
2|1);
b.InstallFunctions(g.prototype,2,[
"add",WeakSetAdd,
"has",WeakSetHas,
"delete",WeakSetDelete
]);
})

Lcollection-iterator(
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Map;
var d=a.Set;
var e=b.ImportNow("iterator_symbol");
var f;
var g=b.ImportNow("MapIterator");
var h=b.ImportNow("to_string_tag_symbol");
var i=b.ImportNow("SetIterator");
b.Import(function(j){
f=j.MakeTypeError;
});
function SetIteratorConstructor(k,l){
%SetIteratorInitialize(this,k,l);
}
function SetIteratorNextJS(){
if(!(%_ClassOf(this)==='Set Iterator')){
throw f(44,
'Set Iterator.prototype.next',this);
}
var m=[(void 0),(void 0)];
var n=%_CreateIterResultObject(m,false);
switch(%SetIteratorNext(this,m)){
case 0:
n.value=(void 0);
n.done=true;
break;
case 2:
n.value=m[0];
break;
case 3:
m[1]=m[0];
break;
}
return n;
}
function SetEntries(){
if(!(%_ClassOf(this)==='Set')){
throw f(44,
'Set.prototype.entries',this);
}
return new i(this,3);
}
function SetValues(){
if(!(%_ClassOf(this)==='Set')){
throw f(44,
'Set.prototype.values',this);
}
return new i(this,2);
}
%SetCode(i,SetIteratorConstructor);
%FunctionSetInstanceClassName(i,'Set Iterator');
b.InstallFunctions(i.prototype,2,[
'next',SetIteratorNextJS
]);
%AddNamedProperty(i.prototype,h,
"Set Iterator",1|2);
b.InstallFunctions(d.prototype,2,[
'entries',SetEntries,
'keys',SetValues,
'values',SetValues
]);
%AddNamedProperty(d.prototype,e,SetValues,2);
function MapIteratorConstructor(o,l){
%MapIteratorInitialize(this,o,l);
}
function MapIteratorNextJS(){
if(!(%_ClassOf(this)==='Map Iterator')){
throw f(44,
'Map Iterator.prototype.next',this);
}
var m=[(void 0),(void 0)];
var n=%_CreateIterResultObject(m,false);
switch(%MapIteratorNext(this,m)){
case 0:
n.value=(void 0);
n.done=true;
break;
case 1:
n.value=m[0];
break;
case 2:
n.value=m[1];
break;
}
return n;
}
function MapEntries(){
if(!(%_ClassOf(this)==='Map')){
throw f(44,
'Map.prototype.entries',this);
}
return new g(this,3);
}
function MapKeys(){
if(!(%_ClassOf(this)==='Map')){
throw f(44,
'Map.prototype.keys',this);
}
return new g(this,1);
}
function MapValues(){
if(!(%_ClassOf(this)==='Map')){
throw f(44,
'Map.prototype.values',this);
}
return new g(this,2);
}
%SetCode(g,MapIteratorConstructor);
%FunctionSetInstanceClassName(g,'Map Iterator');
b.InstallFunctions(g.prototype,2,[
'next',MapIteratorNextJS
]);
%AddNamedProperty(g.prototype,h,
"Map Iterator",1|2);
b.InstallFunctions(c.prototype,2,[
'entries',MapEntries,
'keys',MapKeys,
'values',MapValues
]);
%AddNamedProperty(c.prototype,e,MapEntries,2);
b.Export(function(p){
p.MapEntries=MapEntries;
p.MapIteratorNext=MapIteratorNextJS;
p.SetIteratorNext=SetIteratorNextJS;
p.SetValues=SetValues;
});
})

promiseMz
(function(a,b,c){
"use strict";
%CheckIsBootstrapping();
var d=b.InternalArray;
var e;
var f=
b.ImportNow("promise_combined_deferred_symbol");
var g=
b.ImportNow("promise_has_handler_symbol");
var h=
b.ImportNow("promise_reject_reactions_symbol");
var i=
b.ImportNow("promise_fulfill_reactions_symbol");
var j=b.ImportNow("promise_raw_symbol");
var k=b.ImportNow("promise_state_symbol");
var l=b.ImportNow("promise_result_symbol");
var m;
var n=b.ImportNow("to_string_tag_symbol");
b.Import(function(o){
e=o.MakeTypeError;
m=o.SpeciesConstructor;
});
const kPending=0;
const kFulfilled=+1;
const kRejected=-1;
var p=0;
function CreateResolvingFunctions(q){
var r=false;
var s=value=>{
if(r===true)return;
r=true;
FulfillPromise(q,value);
};
var t=reason=>{
if(r===true)return;
r=true;
RejectPromise(q,reason);
};
return{
__proto__:null,
resolve:s,
reject:t
};
}
var u=function Promise(v){
if(v===j){
return %_NewObject(u,new.target);
}
if((new.target===(void 0)))throw e(65,this);
if(!(typeof(v)==='function')){
throw e(127,v);
}
var q=PromiseInit(%_NewObject(u,new.target));
var w=CreateResolvingFunctions(q);
try{
%DebugPushPromise(q,Promise);
v(w.resolve,w.reject);
}catch(e){
%_Call(w.reject,(void 0),e);
}finally{
%DebugPopPromise();
}
return q;
}
function PromiseSet(q,x,y,z,A){
(q[k]=x);
(q[l]=y);
(q[i]=z);
(q[h]=A);
return q;
}
function PromiseCreateAndSet(x,y){
var q=new u(j);
if((%_DebugIsActive()!=0))PromiseSet(q,kPending,(void 0));
return PromiseSet(q,x,y);
}
function PromiseInit(q){
return PromiseSet(
q,kPending,(void 0),new d,new d)
}
function PromiseDone(q,x,y,B){
if((q[k])===kPending){
var C=(q[B]);
if(C.length)PromiseEnqueue(y,C,x);
PromiseSet(q,x,y);
}
}
function PromiseHandle(y,D,E){
try{
%DebugPushPromise(E.promise,PromiseHandle);
var F=D(y);
E.resolve(F);
}catch(exception){
try{E.reject(exception);}catch(e){}
}finally{
%DebugPopPromise();
}
}
function PromiseEnqueue(y,C,x){
var G,H,I=(%_DebugIsActive()!=0);
%EnqueueMicrotask(function(){
if(I){
%DebugAsyncTaskEvent({type:"willHandle",id:G,name:H});
}
for(var J=0;J<C.length;J+=2){
PromiseHandle(y,C[J],C[J+1])
}
if(I){
%DebugAsyncTaskEvent({type:"didHandle",id:G,name:H});
}
});
if(I){
G=++p;
H=x===kFulfilled?"Promise.resolve":"Promise.reject";
%DebugAsyncTaskEvent({type:"enqueue",id:G,name:H});
}
}
function PromiseIdResolveHandler(K){return K}
function PromiseIdRejectHandler(L){throw L}
function PromiseNopResolver(){}
function IsPromise(K){
return(%_IsJSReceiver(K))&&(!(K[k]===(void 0)));
}
function PromiseCreate(){
return new u(PromiseNopResolver)
}
function FulfillPromise(q,K){
if(K===q){
return RejectPromise(q,e(82,K));
}
if((%_IsJSReceiver(K))){
try{
var M=K.then;
}catch(e){
return RejectPromise(q,e);
}
if((typeof(M)==='function')){
var G,H,I=(%_DebugIsActive()!=0);
%EnqueueMicrotask(function(){
if(I){
%DebugAsyncTaskEvent({type:"willHandle",id:G,name:H});
}
var w=CreateResolvingFunctions(q);
try{
%_Call(M,K,w.resolve,w.reject);
}catch(e){
%_Call(w.reject,(void 0),e);
}
if(I){
%DebugAsyncTaskEvent({type:"didHandle",id:G,name:H});
}
});
if(I){
G=++p;
H="PromseResolveThenableJob";
%DebugAsyncTaskEvent({type:"enqueue",id:G,name:H});
}
return;
}
}
PromiseDone(q,kFulfilled,K,i);
}
function RejectPromise(q,L){
if((q[k])===kPending){
var N=(%_DebugIsActive()!=0);
if(N||
!(!(q[g]===(void 0)))){
%PromiseRejectEvent(q,L,N);
}
}
PromiseDone(q,kRejected,L,h)
}
function NewPromiseCapability(O){
if(O===u){
var q=PromiseInit(new u(j));
var w=CreateResolvingFunctions(q);
return{
promise:q,
resolve:w.resolve,
reject:w.reject
};
}
var F={promise:(void 0),resolve:(void 0),reject:(void 0)};
F.promise=new O((s,t)=>{
if(!(F.resolve===(void 0))||!(F.reject===(void 0)))
throw e(83);
F.resolve=s;
F.reject=t;
});
if(!(typeof(F.resolve)==='function')||!(typeof(F.reject)==='function'))
throw e(84);
return F;
}
function PromiseDefer(){
%IncrementUseCounter(19);
return NewPromiseCapability(this);
}
function PromiseAccept(K){
%IncrementUseCounter(18);
return %_Call(PromiseResolve,this,K);
}
function PromiseReject(L){
if(!(%_IsJSReceiver(this))){
throw e(16,PromiseResolve);
}
if(this===u){
var q=PromiseCreateAndSet(kRejected,L);
%PromiseRejectEvent(q,L,false);
return q;
}else{
var P=NewPromiseCapability(this);
%_Call(P.reject,(void 0),L);
return P.promise;
}
}
function PromiseCreateRejected(L){
return %_Call(PromiseReject,u,L);
}
function PromiseCreateResolved(K){
return %_Call(PromiseResolve,u,K);
}
function PromiseThen(z,A){
var x=(this[k]);
if((x===(void 0))){
throw e(65,this);
}
var Q=m(this,u);
z=(typeof(z)==='function')?z:PromiseIdResolveHandler;
A=(typeof(A)==='function')?A:PromiseIdRejectHandler;
var E=NewPromiseCapability(Q);
switch(x){
case kPending:
(this[i]).push(z,
E);
(this[h]).push(A,E);
break;
case kFulfilled:
PromiseEnqueue((this[l]),
[z,E],
kFulfilled);
break;
case kRejected:
if(!(!(this[g]===(void 0)))){
%PromiseRevokeReject(this);
}
PromiseEnqueue((this[l]),
[A,E],
kRejected);
break;
}
(this[g]=true);
return E.promise;
}
function PromiseChain(z,A){
%IncrementUseCounter(17);
return %_Call(PromiseThen,this,z,A);
}
function PromiseCatch(A){
return this.then((void 0),A);
}
function PromiseResolve(K){
if(!(%_IsJSReceiver(this))){
throw e(16,PromiseResolve);
}
if(IsPromise(K)&&K.constructor===this)return K;
var P=NewPromiseCapability(this);
var R=%_Call(P.resolve,(void 0),K);
return P.promise;
}
function PromiseAll(S){
if(!(%_IsJSReceiver(this))){
throw e(16,"Promise.all");
}
var E=NewPromiseCapability(this);
var T=new d();
var U;
function CreateResolveElementFunction(V,W,P){
var X=false;
return(K)=>{
if(X===true)return;
X=true;
W[V]=K;
if(--U===0){
var Y=[];
%MoveArrayContents(W,Y);
%_Call(P.resolve,(void 0),Y);
}
};
}
try{
var J=0;
U=1;
for(var y of S){
var Z=this.resolve(y);
++U;
Z.then(
CreateResolveElementFunction(J,T,E),
E.reject);
(E.reject[f]=E);
++J;
}
if(--U===0){
var Y=[];
%MoveArrayContents(T,Y);
%_Call(E.resolve,(void 0),Y);
}
}catch(e){
%_Call(E.reject,(void 0),e);
}
return E.promise;
}
function PromiseRace(S){
if(!(%_IsJSReceiver(this))){
throw e(16,PromiseRace);
}
var E=NewPromiseCapability(this);
try{
for(var y of S){
this.resolve(y).then(E.resolve,E.reject);
(E.reject[f]=E);
}
}catch(e){
E.reject(e)
}
return E.promise;
}
function PromiseHasUserDefinedRejectHandlerRecursive(q){
var aa=(q[h]);
if((aa===(void 0)))return false;
for(var J=0;J<aa.length;J+=2){
var D=aa[J];
if(D!==PromiseIdRejectHandler){
var E=(D[f]);
if((E===(void 0)))return true;
if(PromiseHasUserDefinedRejectHandlerRecursive(E.promise)){
return true;
}
}else if(PromiseHasUserDefinedRejectHandlerRecursive(
aa[J+1].promise)){
return true;
}
}
return false;
}
function PromiseHasUserDefinedRejectHandler(){
return PromiseHasUserDefinedRejectHandlerRecursive(this);
};
%AddNamedProperty(a,'Promise',u,2);
%AddNamedProperty(u.prototype,n,"Promise",
2|1);
b.InstallFunctions(u,2,[
"reject",PromiseReject,
"all",PromiseAll,
"race",PromiseRace,
"resolve",PromiseResolve
]);
b.InstallFunctions(u.prototype,2,[
"then",PromiseThen,
"catch",PromiseCatch
]);
%InstallToContext([
"promise_catch",PromiseCatch,
"promise_chain",PromiseChain,
"promise_create",PromiseCreate,
"promise_has_user_defined_reject_handler",PromiseHasUserDefinedRejectHandler,
"promise_reject",RejectPromise,
"promise_resolve",FulfillPromise,
"promise_then",PromiseThen,
"promise_create_rejected",PromiseCreateRejected,
"promise_create_resolved",PromiseCreateResolved
]);
b.InstallFunctions(c,0,[
"createPromise",PromiseCreate,
"resolvePromise",FulfillPromise,
"rejectPromise",RejectPromise
]);
[PromiseChain,PromiseDefer,PromiseAccept].forEach(
fn=>%FunctionRemovePrototype(fn));
b.Export(function(ab){
ab.PromiseChain=PromiseChain;
ab.PromiseDefer=PromiseDefer;
ab.PromiseAccept=PromiseAccept;
ab.PromiseCreateRejected=PromiseCreateRejected;
ab.PromiseCreateResolved=PromiseCreateResolved;
ab.PromiseThen=PromiseThen;
});
})

 messagesó
(function(a,b){
%CheckIsBootstrapping();
var c;
var d;
var e;
var f;
var g=
b.ImportNow("call_site_receiver_symbol");
var h=
b.ImportNow("call_site_function_symbol");
var i=
b.ImportNow("call_site_position_symbol");
var j=
b.ImportNow("call_site_strict_symbol");
var k=
b.ImportNow("call_site_wasm_obj_symbol");
var l=
b.ImportNow("call_site_wasm_func_index_symbol");
var m;
var n=
b.ImportNow("formatted_stack_trace_symbol");
var o=a.Object;
var p;
var q;
var r;
var s=b.InternalArray;
var t=b.ImportNow("internal_error_symbol");
var u;
var v=b.ImportNow("object_to_string");
var w=b.ImportNow("Script");
var x=b.ImportNow("stack_trace_symbol");
var y;
var z;
var A;
var B=b.ImportNow("to_string_tag_symbol");
var C;
var D;
var E;
b.Import(function(F){
c=F.ArrayJoin;
d=F.Bool16x8ToString;
e=F.Bool32x4ToString;
f=F.Bool8x16ToString;
m=F.Float32x4ToString;
p=F.Int16x8ToString;
q=F.Int32x4ToString;
r=F.Int8x16ToString;
u=F.ObjectHasOwnProperty;
y=F.StringIndexOf;
z=F.StringSubstring;
A=F.SymbolToString;
C=F.Uint16x8ToString;
D=F.Uint32x4ToString;
E=F.Uint8x16ToString;
});
var G;
var H;
var I;
var J;
var K;
var L;
var M;
function NoSideEffectsObjectToString(){
if((this===(void 0)))return"[object Undefined]";
if((this===null))return"[object Null]";
var N=(%_ToObject(this));
var O=%_ClassOf(N);
var P=%GetDataProperty(N,B);
if(!(typeof(P)==='string')){
P=O;
}
return`[object ${P}]`;
}
function IsErrorObject(Q){
return(%_Call(u,Q,x));
}
function NoSideEffectsErrorToString(){
var R=%GetDataProperty(this,"name");
var S=%GetDataProperty(this,"message");
R=(R===(void 0))?"Error":NoSideEffectsToString(R);
S=(S===(void 0))?"":NoSideEffectsToString(S);
if(R=="")return S;
if(S=="")return R;
return`${R}: ${S}`;
}
function NoSideEffectsToString(Q){
if((typeof(Q)==='string'))return Q;
if((typeof(Q)==='number'))return %_NumberToString(Q);
if((typeof(Q)==='boolean'))return Q?'true':'false';
if((Q===(void 0)))return'undefined';
if((Q===null))return'null';
if((%IsFunction(Q))){
var T=%FunctionToString(Q);
if(T.length>128){
T=%_SubString(T,0,111)+"...<omitted>..."+
%_SubString(T,T.length-2,T.length);
}
return T;
}
if((typeof(Q)==='symbol'))return %_Call(A,Q);
if((%IsSimdValue(Q))){
switch(typeof(Q)){
case'float32x4':return %_Call(m,Q);
case'int32x4':return %_Call(q,Q);
case'int16x8':return %_Call(p,Q);
case'int8x16':return %_Call(r,Q);
case'uint32x4':return %_Call(D,Q);
case'uint16x8':return %_Call(C,Q);
case'uint8x16':return %_Call(E,Q);
case'bool32x4':return %_Call(e,Q);
case'bool16x8':return %_Call(d,Q);
case'bool8x16':return %_Call(f,Q);
}
}
if((%_IsJSReceiver(Q))){
if(IsErrorObject(Q)||
%GetDataProperty(Q,"toString")===ErrorToString){
return %_Call(NoSideEffectsErrorToString,Q);
}
if(%GetDataProperty(Q,"toString")===v){
var U=%GetDataProperty(Q,"constructor");
if((%IsFunction(U))){
var V=%FunctionGetName(U);
if(V!="")return`#<${V}>`;
}
}
}
return %_Call(NoSideEffectsObjectToString,Q);
}
function MakeGenericError(U,W,X,Y,Z){
var aa=new U(FormatMessage(W,X,Y,Z));
aa[t]=true;
return aa;
}
%FunctionSetInstanceClassName(w,'Script');
%AddNamedProperty(w.prototype,'constructor',w,
2|4|1);
%SetCode(w,function(ab){
throw MakeError(6);
});
function FormatMessage(W,X,Y,Z){
var X=NoSideEffectsToString(X);
var Y=NoSideEffectsToString(Y);
var Z=NoSideEffectsToString(Z);
try{
return %FormatMessageString(W,X,Y,Z);
}catch(e){
return"<error>";
}
}
function GetLineNumber(S){
var ac=%MessageGetStartPosition(S);
if(ac==-1)return 0;
var ad=%MessageGetScript(S);
var ae=ad.locationFromPosition(ac,true);
if(ae==null)return 0;
return ae.line+1;
}
function GetColumnNumber(S){
var ad=%MessageGetScript(S);
var ac=%MessageGetStartPosition(S);
var ae=ad.locationFromPosition(ac,true);
if(ae==null)return-1;
return ae.column;
}
function GetSourceLine(S){
var ad=%MessageGetScript(S);
var ac=%MessageGetStartPosition(S);
var ae=ad.locationFromPosition(ac,true);
if(ae==null)return"";
return ae.sourceText();
}
function ScriptLineFromPosition(af){
var ag=0;
var ah=this.lineCount()-1;
var ai=this.line_ends;
if(af>ai[ah]){
return-1;
}
if(af<=ai[0]){
return 0;
}
while(ah>=1){
var aj=(ag+ah)>>1;
if(af>ai[aj]){
ag=aj+1;
}else if(af<=ai[aj-1]){
ah=aj-1;
}else{
return aj;
}
}
return-1;
}
function ScriptLocationFromPosition(af,
include_resource_offset){
var ak=this.lineFromPosition(af);
if(ak==-1)return null;
var ai=this.line_ends;
var al=ak==0?0:ai[ak-1]+1;
var am=ai[ak];
if(am>0&&%_StringCharAt(this.source,am-1)==='\r'){
am--;
}
var an=af-al;
if(include_resource_offset){
ak+=this.line_offset;
if(ak==this.line_offset){
an+=this.column_offset;
}
}
return new SourceLocation(this,af,ak,an,al,am);
}
function ScriptLocationFromLine(ao,ap,aq){
var ak=0;
if(!(ao===(void 0))){
ak=ao-this.line_offset;
}
var an=ap||0;
if(ak==0){
an-=this.column_offset;
}
var ar=aq||0;
if(ak<0||an<0||ar<0)return null;
if(ak==0){
return this.locationFromPosition(ar+an,false);
}else{
var as=this.lineFromPosition(ar);
if(as==-1||as+ak>=this.lineCount()){
return null;
}
return this.locationFromPosition(
this.line_ends[as+ak-1]+1+an);
}
}
function ScriptSourceSlice(at,au){
var av=(at===(void 0))?this.line_offset
:at;
var aw=(au===(void 0))?this.line_offset+this.lineCount()
:au;
av-=this.line_offset;
aw-=this.line_offset;
if(av<0)av=0;
if(aw>this.lineCount())aw=this.lineCount();
if(av>=this.lineCount()||
aw<0||
av>aw){
return null;
}
var ai=this.line_ends;
var ax=av==0?0:ai[av-1]+1;
var ay=aw==0?0:ai[aw-1]+1;
return new SourceSlice(this,
av+this.line_offset,
aw+this.line_offset,
ax,ay);
}
function ScriptSourceLine(ao){
var ak=0;
if(!(ao===(void 0))){
ak=ao-this.line_offset;
}
if(ak<0||this.lineCount()<=ak){
return null;
}
var ai=this.line_ends;
var al=ak==0?0:ai[ak-1]+1;
var am=ai[ak];
return %_Call(z,this.source,al,am);
}
function ScriptLineCount(){
return this.line_ends.length;
}
function ScriptLineEnd(az){
return this.line_ends[az];
}
function ScriptNameOrSourceURL(){
if(this.source_url)return this.source_url;
return this.name;
}
b.SetUpLockedPrototype(w,[
"source",
"name",
"source_url",
"source_mapping_url",
"line_ends",
"line_offset",
"column_offset"
],[
"lineFromPosition",ScriptLineFromPosition,
"locationFromPosition",ScriptLocationFromPosition,
"locationFromLine",ScriptLocationFromLine,
"sourceSlice",ScriptSourceSlice,
"sourceLine",ScriptSourceLine,
"lineCount",ScriptLineCount,
"nameOrSourceURL",ScriptNameOrSourceURL,
"lineEnd",ScriptLineEnd
]
);
function SourceLocation(ad,af,ak,an,al,am){
this.script=ad;
this.position=af;
this.line=ak;
this.column=an;
this.start=al;
this.end=am;
}
function SourceLocationSourceText(){
return %_Call(z,this.script.source,this.start,this.end);
}
b.SetUpLockedPrototype(SourceLocation,
["script","position","line","column","start","end"],
["sourceText",SourceLocationSourceText]
);
function SourceSlice(ad,av,aw,ax,ay){
this.script=ad;
this.from_line=av;
this.to_line=aw;
this.from_position=ax;
this.to_position=ay;
}
function SourceSliceSourceText(){
return %_Call(z,
this.script.source,
this.from_position,
this.to_position);
}
b.SetUpLockedPrototype(SourceSlice,
["script","from_line","to_line","from_position","to_position"],
["sourceText",SourceSliceSourceText]
);
function GetStackTraceLine(aA,aB,aC,aD){
return new CallSite(aA,aB,aC,false).toString();
}
function CallSite(aE,aB,aC,aF){
if(!(%IsFunction(aB))&&!(typeof(aB)==='number')){
throw MakeTypeError(18,typeof aB);
}
if((new.target===(void 0))){
return new CallSite(aE,aB,aC,aF);
}
if((%IsFunction(aB))){
(this[g]=aE);
(this[h]=aB);
}else{
(this[k]=aE);
(this[l]=((aB)>>>0));
}
(this[i]=((aC)|0));
(this[j]=(!!(aF)));
}
function CheckCallSite(Q,R){
if(!(%_IsJSReceiver(Q))||!(%_Call(u,Q,i))){
throw MakeTypeError(19,R);
}
}
function CallSiteGetThis(){
CheckCallSite(this,"getThis");
return(this[j])
?(void 0):(this[g]);
}
function CallSiteGetFunction(){
CheckCallSite(this,"getFunction");
return(this[j])
?(void 0):(this[h]);
}
function CallSiteGetPosition(){
CheckCallSite(this,"getPosition");
return(this[i]);
}
function CallSiteGetTypeName(){
CheckCallSite(this,"getTypeName");
return GetTypeName((this[g]),false);
}
function CallSiteIsToplevel(){
CheckCallSite(this,"isTopLevel");
return %CallSiteIsToplevelRT(this);
}
function CallSiteIsEval(){
CheckCallSite(this,"isEval");
return %CallSiteIsEvalRT(this);
}
function CallSiteGetEvalOrigin(){
CheckCallSite(this,"getEvalOrigin");
var ad=%FunctionGetScript((this[h]));
return FormatEvalOrigin(ad);
}
function CallSiteGetScriptNameOrSourceURL(){
CheckCallSite(this,"getScriptNameOrSourceURL");
return %CallSiteGetScriptNameOrSourceUrlRT(this);
}
function CallSiteGetFunctionName(){
CheckCallSite(this,"getFunctionName");
if((%_Call(u,this,k))){
var aG=(this[k]);
var aH=(this[l]);
if((aG===(void 0)))return"<WASM>";
return %WasmGetFunctionName(aG,aH);
}
return %CallSiteGetFunctionNameRT(this);
}
function CallSiteGetMethodName(){
CheckCallSite(this,"getMethodName");
return %CallSiteGetMethodNameRT(this);
}
function CallSiteGetFileName(){
CheckCallSite(this,"getFileName");
return %CallSiteGetFileNameRT(this);
}
function CallSiteGetLineNumber(){
if((%_Call(u,this,k))){
return(this[l]);
}
CheckCallSite(this,"getLineNumber");
return %CallSiteGetLineNumberRT(this);
}
function CallSiteGetColumnNumber(){
CheckCallSite(this,"getColumnNumber");
return %CallSiteGetColumnNumberRT(this);
}
function CallSiteIsNative(){
CheckCallSite(this,"isNative");
return %CallSiteIsNativeRT(this);
}
function CallSiteIsConstructor(){
CheckCallSite(this,"isConstructor");
return %CallSiteIsConstructorRT(this);
}
function CallSiteToString(){
if((%_Call(u,this,k))){
var aI=this.getFunctionName();
var aJ=(this[l]);
var aC=this.getPosition();
return aI+" (<WASM>:"+aJ+":"+aC+")";
}
var aK;
var aL="";
if(this.isNative()){
aL="native";
}else{
aK=this.getScriptNameOrSourceURL();
if(!aK&&this.isEval()){
aL=this.getEvalOrigin();
aL+=", ";
}
if(aK){
aL+=aK;
}else{
aL+="<anonymous>";
}
var aM=this.getLineNumber();
if(aM!=null){
aL+=":"+aM;
var aN=this.getColumnNumber();
if(aN){
aL+=":"+aN;
}
}
}
var ak="";
var aO=this.getFunctionName();
var aP=true;
var aQ=this.isConstructor();
var aR=!(this.isToplevel()||aQ);
if(aR){
var aS=GetTypeName((this[g]),true);
var aT=this.getMethodName();
if(aO){
if(aS&&%_Call(y,aO,aS)!=0){
ak+=aS+".";
}
ak+=aO;
if(aT&&
(%_Call(y,aO,"."+aT)!=
aO.length-aT.length-1)){
ak+=" [as "+aT+"]";
}
}else{
ak+=aS+"."+(aT||"<anonymous>");
}
}else if(aQ){
ak+="new "+(aO||"<anonymous>");
}else if(aO){
ak+=aO;
}else{
ak+=aL;
aP=false;
}
if(aP){
ak+=" ("+aL+")";
}
return ak;
}
b.SetUpLockedPrototype(CallSite,["receiver","fun","pos"],[
"getThis",CallSiteGetThis,
"getTypeName",CallSiteGetTypeName,
"isToplevel",CallSiteIsToplevel,
"isEval",CallSiteIsEval,
"getEvalOrigin",CallSiteGetEvalOrigin,
"getScriptNameOrSourceURL",CallSiteGetScriptNameOrSourceURL,
"getFunction",CallSiteGetFunction,
"getFunctionName",CallSiteGetFunctionName,
"getMethodName",CallSiteGetMethodName,
"getFileName",CallSiteGetFileName,
"getLineNumber",CallSiteGetLineNumber,
"getColumnNumber",CallSiteGetColumnNumber,
"isNative",CallSiteIsNative,
"getPosition",CallSiteGetPosition,
"isConstructor",CallSiteIsConstructor,
"toString",CallSiteToString
]);
function FormatEvalOrigin(ad){
var aU=ad.nameOrSourceURL();
if(aU){
return aU;
}
var aV="eval at ";
if(ad.eval_from_function_name){
aV+=ad.eval_from_function_name;
}else{
aV+="<anonymous>";
}
var aW=ad.eval_from_script;
if(aW){
if(aW.compilation_type==1){
aV+=" ("+FormatEvalOrigin(aW)+")";
}else{
if(aW.name){
aV+=" ("+aW.name;
var ae=aW.locationFromPosition(
ad.eval_from_script_position,true);
if(ae){
aV+=":"+(ae.line+1);
aV+=":"+(ae.column+1);
}
aV+=")";
}else{
aV+=" (unknown source)";
}
}
}
return aV;
}
function FormatErrorString(aa){
try{
return %_Call(ErrorToString,aa);
}catch(e){
try{
return"<error: "+e+">";
}catch(ee){
return"<error>";
}
}
}
function GetStackFrames(aX){
var aY=new s();
%MoveArrayContents(aX,aY);
var aZ=new s();
var ba=aY[0];
for(var aj=1;aj<aY.length;aj+=4){
var aA=aY[aj];
var aB=aY[aj+1];
var bb=aY[aj+2];
var bc=aY[aj+3];
var aC=(typeof(aB)==='number')&&bc<0?(-1-bc):
%FunctionGetPositionForOffset(bb,bc);
ba--;
aZ.push(new CallSite(aA,aB,aC,(ba<0)));
}
return aZ;
}
var bd=false;
function FormatStackTrace(Q,aX){
var aZ=GetStackFrames(aX);
if((%IsFunction(G.prepareStackTrace))&&
!bd){
var be=[];
%MoveArrayContents(aZ,be);
bd=true;
var bf=(void 0);
try{
bf=G.prepareStackTrace(Q,be);
}catch(e){
throw e;
}finally{
bd=false;
}
return bf;
}
var bg=new s();
bg.push(FormatErrorString(Q));
for(var aj=0;aj<aZ.length;aj++){
var bh=aZ[aj];
var ak;
try{
ak=bh.toString();
}catch(e){
try{
ak="<error: "+e+">";
}catch(ee){
ak="<error>";
}
}
bg.push("    at "+ak);
}
return %_Call(c,bg,"\n");
}
function GetTypeName(aE,bi){
if((aE==null))return null;
if((%_IsJSProxy(aE)))return"Proxy";
var U=%GetDataProperty((%_ToObject(aE)),"constructor");
if(!(%IsFunction(U))){
return bi?null:%_Call(NoSideEffectsToString,aE);
}
return %FunctionGetName(U);
}
var bj=function(){
var bk=(void 0);
var bl=this;
while(bl){
var bk=
(bl[n]);
if((bk===(void 0))){
var bf=(bl[x]);
if((bf===(void 0))){
bl=%object_get_prototype_of(bl);
continue;
}
bk=FormatStackTrace(bl,bf);
(bl[x]=(void 0));
(bl[n]=bk);
}
return bk;
}
return(void 0);
};
var bm=function(bn){
if(IsErrorObject(this)){
(this[x]=(void 0));
(this[n]=bn);
}
};
var bo=function(){};
function SetUpError(bp){
%FunctionSetInstanceClassName(bp,'Error');
var R=bp.name;
var bq=new o();
if(R!=='Error'){
%InternalSetPrototype(bp,G);
%InternalSetPrototype(bq,G.prototype);
}
%FunctionSetPrototype(bp,bq);
%AddNamedProperty(bp.prototype,'name',R,2);
%AddNamedProperty(bp.prototype,'message','',2);
%AddNamedProperty(
bp.prototype,'constructor',bp,2);
%SetCode(bp,function(br){
if((new.target===(void 0)))return new bp(br);
try{bo(this,bp);}catch(e){}
if(!(br===(void 0))){
%AddNamedProperty(this,'message',(%_ToString(br)),2);
}
});
%SetNativeFlag(bp);
return bp;
};
G=SetUpError(a.Error);
M=SetUpError(a.EvalError);
I=SetUpError(a.RangeError);
L=SetUpError(a.ReferenceError);
K=SetUpError(a.SyntaxError);
H=SetUpError(a.TypeError);
J=SetUpError(a.URIError);
b.InstallFunctions(G.prototype,2,
['toString',ErrorToString]);
function ErrorToString(){
if(!(%_IsJSReceiver(this))){
throw MakeTypeError(16,"Error.prototype.toString");
}
var R=this.name;
R=(R===(void 0))?"Error":(%_ToString(R));
var S=this.message;
S=(S===(void 0))?"":(%_ToString(S));
if(R=="")return S;
if(S=="")return R;
return`${R}: ${S}`
}
function MakeError(W,X,Y,Z){
return MakeGenericError(G,W,X,Y,Z);
}
function MakeRangeError(W,X,Y,Z){
return MakeGenericError(I,W,X,Y,Z);
}
function MakeSyntaxError(W,X,Y,Z){
return MakeGenericError(K,W,X,Y,Z);
}
function MakeTypeError(W,X,Y,Z){
return MakeGenericError(H,W,X,Y,Z);
}
function MakeURIError(){
return MakeGenericError(J,277);
}
var bs=MakeRangeError(176);
b.InstallGetterSetter(bs,'stack',
bj,bm)
bo=function captureStackTrace(Q,bt){
%object_define_property(Q,'stack',{get:bj,
set:bm,
configurable:true});
%CollectStackTrace(Q,bt?bt:bo);
};
G.captureStackTrace=bo;
%InstallToContext([
"get_stack_trace_line_fun",GetStackTraceLine,
"make_error_function",MakeGenericError,
"make_range_error",MakeRangeError,
"make_type_error",MakeTypeError,
"message_get_column_number",GetColumnNumber,
"message_get_line_number",GetLineNumber,
"message_get_source_line",GetSourceLine,
"no_side_effects_to_string_fun",NoSideEffectsToString,
"stack_overflow_boilerplate",bs,
]);
b.Export(function(bu){
bu.ErrorToString=ErrorToString;
bu.MakeError=MakeError;
bu.MakeRangeError=MakeRangeError;
bu.MakeSyntaxError=MakeSyntaxError;
bu.MakeTypeError=MakeTypeError;
bu.MakeURIError=MakeURIError;
});
});

json‰H
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Date;
var d=a.JSON;
var e=a.Set;
var f=b.InternalArray;
var g;
var h;
var i;
var j;
var k;
var l;
var m;
var n;
var o=b.ImportNow("to_string_tag_symbol");
b.Import(function(p){
g=p.MakeTypeError;
h=p.MaxSimple;
i=p.MinSimple;
j=p.ObjectHasOwnProperty;
k=p.Stack;
l=p.StackHas;
m=p.StackPop;
n=p.StackPush;
});
function CreateDataProperty(q,r,s){
var t={value:s,enumerable:true,writable:true,configurable:true};
return %reflect_define_property(q,r,t);
}
function InternalizeJSONProperty(u,v,w){
var x=u[v];
if((%_IsJSReceiver(x))){
if(%is_arraylike(x)){
var y=(%_ToLength(x.length));
for(var z=0;z<y;z++){
var A=
InternalizeJSONProperty(x,%_NumberToString(z),w);
if((A===(void 0))){
%reflect_delete_property(x,z);
}else{
CreateDataProperty(x,z,A);
}
}
}else{
var B=%object_keys(x);
for(var z=0;z<B.length;z++){
var r=B[z];
var A=InternalizeJSONProperty(x,r,w);
if((A===(void 0))){
%reflect_delete_property(x,r);
}else{
CreateDataProperty(x,r,A);
}
}
}
}
return %_Call(w,u,v,x);
}
function JSONParse(C,w){
var D=%ParseJson(C);
if((typeof(w)==='function')){
return InternalizeJSONProperty({'':D},'',w);
}else{
return D;
}
}
function SerializeArray(E,F,G,H,I){
if(l(G,E))throw g(23);
n(G,E);
var J=H;
H+=I;
var K=new f();
var L=(%_ToLength(E.length));
for(var z=0;z<L;z++){
var M=JSONSerialize(%_NumberToString(z),E,F,G,
H,I);
if((M===(void 0))){
M="null";
}
K.push(M);
}
var N;
if(I==""){
N="["+K.join(",")+"]";
}else if(K.length>0){
var O=",\n"+H;
N="[\n"+H+K.join(O)+"\n"+
J+"]";
}else{
N="[]";
}
m(G);
return N;
}
function SerializeObject(E,F,G,H,I){
if(l(G,E))throw g(23);
n(G,E);
var J=H;
H+=I;
var K=new f();
if((%_IsArray(F))){
var y=F.length;
for(var z=0;z<y;z++){
var r=F[z];
var M=JSONSerialize(r,E,F,G,H,I);
if(!(M===(void 0))){
var P=%QuoteJSONString(r)+":";
if(I!="")P+=" ";
P+=M;
K.push(P);
}
}
}else{
var B=%object_keys(E);
for(var z=0;z<B.length;z++){
var r=B[z];
var M=JSONSerialize(r,E,F,G,H,I);
if(!(M===(void 0))){
var P=%QuoteJSONString(r)+":";
if(I!="")P+=" ";
P+=M;
K.push(P);
}
}
}
var N;
if(I==""){
N="{"+K.join(",")+"}";
}else if(K.length>0){
var O=",\n"+H;
N="{\n"+H+K.join(O)+"\n"+
J+"}";
}else{
N="{}";
}
m(G);
return N;
}
function JSONSerialize(Q,u,F,G,H,I){
var E=u[Q];
if((%_IsJSReceiver(E))){
var R=E.toJSON;
if((typeof(R)==='function')){
E=%_Call(R,E,Q);
}
}
if((typeof(F)==='function')){
E=%_Call(F,u,Q,E);
}
if((typeof(E)==='string')){
return %QuoteJSONString(E);
}else if((typeof(E)==='number')){
return((%_IsSmi(%IS_VAR(E))||E-E==0)?%_NumberToString(E):"null");
}else if((typeof(E)==='boolean')){
return E?"true":"false";
}else if((E===null)){
return"null";
}else if((%_IsJSReceiver(E))&&!(typeof(E)==='function')){
if(%is_arraylike(E)){
return SerializeArray(E,F,G,H,I);
}else if((%_ClassOf(E)==='Number')){
E=(%_ToNumber(E));
return((%_IsSmi(%IS_VAR(E))||E-E==0)?%_NumberToString(E):"null");
}else if((%_ClassOf(E)==='String')){
return %QuoteJSONString((%_ToString(E)));
}else if((%_ClassOf(E)==='Boolean')){
return %_ValueOf(E)?"true":"false";
}else{
return SerializeObject(E,F,G,H,I);
}
}
return(void 0);
}
function JSONStringify(E,F,S){
if(arguments.length===1&&!(%_IsJSProxy(E))){
return %BasicJSONStringify(E);
}
if(!(typeof(F)==='function')&&%is_arraylike(F)){
var T=new f();
var U=new e();
var y=(%_ToLength(F.length));
for(var z=0;z<y;z++){
var s=F[z];
var V;
if((typeof(s)==='string')){
V=s;
}else if((typeof(s)==='number')){
V=%_NumberToString(s);
}else if((%_ClassOf(s)==='String')||(%_ClassOf(s)==='Number')){
V=(%_ToString(s));
}else{
continue;
}
if(!U.has(V)){
T.push(V);
U.add(V);
}
}
F=T;
}
if((typeof(S)==='object')){
if((%_ClassOf(S)==='Number')){
S=(%_ToNumber(S));
}else if((%_ClassOf(S)==='String')){
S=(%_ToString(S));
}
}
var I;
if((typeof(S)==='number')){
S=h(0,i((%_ToInteger(S)),10));
I=%_SubString("          ",0,S);
}else if((typeof(S)==='string')){
if(S.length>10){
I=%_SubString(S,0,10);
}else{
I=S;
}
}else{
I="";
}
if(!(typeof(F)==='function')&&!T&&!I&&!(%_IsJSProxy(E))){
return %BasicJSONStringify(E);
}
return JSONSerialize('',{'':E},F,new k(),"",I);
}
%AddNamedProperty(d,o,"JSON",1|2);
b.InstallFunctions(d,2,[
"parse",JSONParse,
"stringify",JSONStringify
]);
function DateToJSON(Q){
var q=(%_ToObject(this));
var W=(%_ToPrimitive_Number(q));
if((typeof(W)==='number')&&!(%_IsSmi(%IS_VAR(W))||((W==W)&&(W!=1/0)&&(W!=-1/0)))){
return null;
}
return q.toISOString();
}
b.InstallFunctions(c.prototype,2,[
"toJSON",DateToJSON
]);
function JsonSerializeAdapter(Q,X){
var u={};
u[Q]=X;
return JSONSerialize(Q,u,(void 0),new k(),"","");
}
%InstallToContext(["json_serialize_adapter",JsonSerializeAdapter]);
})

8array-iteratorñ#
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=
b.ImportNow("array_iteration_kind_symbol");
var d=
b.ImportNow("array_iterator_next_symbol");
var e=
b.ImportNow("array_iterator_object_symbol");
var f=a.Array;
var g=b.ImportNow("IteratorPrototype");
var h=b.ImportNow("iterator_symbol");
var i;
var j=b.ImportNow("to_string_tag_symbol");
var k=a.Uint8Array.__proto__;
b.Import(function(l){
i=l.MakeTypeError;
})
function ArrayIterator(){}
function CreateArrayIterator(m,n){
var o=(%_ToObject(m));
var p=new ArrayIterator;
(p[e]=o);
(p[d]=0);
(p[c]=n);
return p;
}
function ArrayIteratorIterator(){
return this;
}
function ArrayIteratorNext(){
var p=this;
var q=(void 0);
var r=true;
if(!(%_IsJSReceiver(p))||
!(!(p[d]===(void 0)))){
throw i(44,
'Array Iterator.prototype.next',this);
}
var m=(p[e]);
if(!(m===(void 0))){
var s=(p[d]);
var t=(p[c]);
var u=((m.length)>>>0);
if(s>=u){
(p[e]=(void 0));
}else{
(p[d]=s+1);
if(t==2){
q=m[s];
}else if(t==3){
q=[s,m[s]];
}else{
q=s;
}
r=false;
}
}
return %_CreateIterResultObject(q,r);
}
function ArrayEntries(){
return CreateArrayIterator(this,3);
}
function ArrayValues(){
return CreateArrayIterator(this,2);
}
function ArrayKeys(){
return CreateArrayIterator(this,1);
}
function TypedArrayEntries(){
if(!(%_IsTypedArray(this)))throw i(72);
return %_Call(ArrayEntries,this);
}
function TypedArrayValues(){
if(!(%_IsTypedArray(this)))throw i(72);
return %_Call(ArrayValues,this);
}
function TypedArrayKeys(){
if(!(%_IsTypedArray(this)))throw i(72);
return %_Call(ArrayKeys,this);
}
%FunctionSetPrototype(ArrayIterator,{__proto__:g});
%FunctionSetInstanceClassName(ArrayIterator,'Array Iterator');
b.InstallFunctions(ArrayIterator.prototype,2,[
'next',ArrayIteratorNext
]);
b.SetFunctionName(ArrayIteratorIterator,h);
%AddNamedProperty(ArrayIterator.prototype,j,
"Array Iterator",1|2);
b.InstallFunctions(f.prototype,2,[
'entries',ArrayEntries,
'keys',ArrayKeys
]);
b.SetFunctionName(ArrayValues,'values');
%AddNamedProperty(f.prototype,h,ArrayValues,
2);
b.InstallFunctions(k.prototype,2,[
'entries',TypedArrayEntries,
'keys',TypedArrayKeys,
'values',TypedArrayValues
]);
%AddNamedProperty(k.prototype,
h,TypedArrayValues,2);
b.Export(function(v){
v.ArrayValues=ArrayValues;
});
%InstallToContext(["array_values_iterator",ArrayValues]);
})

<string-iterator•
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.String;
var d=b.ImportNow("IteratorPrototype");
var e=b.ImportNow("iterator_symbol");
var f;
var g=
b.ImportNow("string_iterator_iterated_string_symbol");
var h=
b.ImportNow("string_iterator_next_index_symbol");
var i=b.ImportNow("to_string_tag_symbol");
b.Import(function(j){
f=j.MakeTypeError;
});
function StringIterator(){}
function CreateStringIterator(k){
if((%IS_VAR(k)===null)||(k===(void 0)))throw f(17,'String.prototype[Symbol.iterator]');
var l=(%_ToString(k));
var m=new StringIterator;
(m[g]=l);
(m[h]=0);
return m;
}
function StringIteratorNext(){
var m=this;
var n=(void 0);
var o=true;
if(!(%_IsJSReceiver(m))||
!(!(m[h]===(void 0)))){
throw f(44,
'String Iterator.prototype.next');
}
var l=(m[g]);
if(!(l===(void 0))){
var p=(m[h]);
var q=((l.length)>>>0);
if(p>=q){
(m[g]=(void 0));
}else{
var r=%_StringCharCodeAt(l,p);
n=%_StringCharFromCode(r);
o=false;
p++;
if(r>=0xD800&&r<=0xDBFF&&p<q){
var s=%_StringCharCodeAt(l,p);
if(s>=0xDC00&&s<=0xDFFF){
n+=%_StringCharFromCode(s);
p++;
}
}
(m[h]=p);
}
}
return %_CreateIterResultObject(n,o);
}
function StringPrototypeIterator(){
return CreateStringIterator(this);
}
%FunctionSetPrototype(StringIterator,{__proto__:d});
%FunctionSetInstanceClassName(StringIterator,'String Iterator');
b.InstallFunctions(StringIterator.prototype,2,[
'next',StringIteratorNext
]);
%AddNamedProperty(StringIterator.prototype,i,
"String Iterator",1|2);
b.SetFunctionName(StringPrototypeIterator,e);
%AddNamedProperty(c.prototype,e,
StringPrototypeIterator,2);
})

$templates
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Map;
var d=b.InternalArray;
var e=new c;
var f=c.prototype.get;
var g=c.prototype.set;
function SameCallSiteElements(h,i){
var j=h.length;
var i=i.raw;
if(j!==i.length)return false;
for(var k=0;k<j;++k){
if(h[k]!==i[k])return false;
}
return true;
}
function GetCachedCallSite(l,m){
var n=%_Call(f,e,m);
if((n===(void 0)))return;
var j=n.length;
for(var k=0;k<j;++k){
if(SameCallSiteElements(l,n[k]))return n[k];
}
}
function SetCachedCallSite(l,m){
var n=%_Call(f,e,m);
var o;
if((n===(void 0))){
o=new d(1);
o[0]=l;
%_Call(g,e,m,o);
}else{
n.push(l);
}
return l;
}
function GetTemplateCallSite(l,h,m){
var p=GetCachedCallSite(h,m);
if(!(p===(void 0)))return p;
%AddNamedProperty(l,"raw",%object_freeze(h),
1|2|4);
return SetCachedCallSite(%object_freeze(l),m);
}
%InstallToContext(["get_template_call_site",GetTemplateCallSite]);
})

spreadÉ
(function(a,b){
'use strict';
var c=b.InternalArray;
var d;
b.Import(function(e){
d=e.MakeTypeError;
});
function SpreadArguments(){
var f=arguments.length;
var g=new c();
for(var h=0;h<f;++h){
var i=arguments[h];
var j=i.length;
for(var k=0;k<j;++k){
g.push(i[k]);
}
}
return g;
}
function SpreadIterable(l){
if((l==null)){
throw d(70,l);
}
var g=new c();
for(var m of l){
g.push(m);
}
return g;
}
%InstallToContext([
"spread_arguments",SpreadArguments,
"spread_iterable",SpreadIterable,
]);
})

proxy½
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Proxy;
function ProxyCreateRevocable(d,e){
var f=new c(d,e);
return{proxy:f,revoke:()=>%JSProxyRevoke(f)};
}
b.InstallFunctions(c,2,[
"revocable",ProxyCreateRevocable
]);
})

i18nÖñ
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c;
var d;
var e;
var f;
var g=a.Boolean;
var h=a.Date;
var i=a.Number;
var j=a.RegExp;
var k=a.String;
var l=b.InstallFunctions;
var m=b.InstallGetter;
var n=b.InternalArray;
var o;
var p
var q;
var r;
var s;
var t;
var u;
var v=b.ImportNow("ObjectHasOwnProperty");
var w=b.OverrideFunction;
var x=b.ImportNow("intl_pattern_symbol");
var y=b.ImportNow("intl_resolved_symbol");
var z=b.SetFunctionName;
var A;
var B;
var C;
var D;
var E;
b.Import(function(F){
c=F.ArrayIndexOf;
d=F.ArrayJoin;
e=F.ArrayPush;
q=F.IsFinite;
r=F.IsNaN;
s=F.MakeError;
t=F.MakeRangeError;
u=F.MakeTypeError;
o=F.InternalRegExpMatch;
p=F.InternalRegExpReplace;
A=F.StringIndexOf;
B=F.StringLastIndexOf;
C=F.StringSplit;
D=F.StringSubstr;
E=F.StringSubstring;
});
b.ImportFromExperimental(function(F){
f=F.FLAG_intl_extra;
});
function InstallFunction(G,H,I){
l(G,2,[H,I]);
}
function InstallConstructor(G,H,I){
%CheckIsBootstrapping();
z(I,H);
%AddNamedProperty(G,H,I,2);
%SetNativeFlag(I);
%ToFastProperties(G);
}
function AddBoundMethod(J,K,L,M,N){
%CheckIsBootstrapping();
var O=%CreatePrivateSymbol(K);
var P=function(){
if(!%IsInitializedIntlObjectOfType(this,N)){
throw u(53,K);
}
if((this[O]===(void 0))){
var Q;
if((M===(void 0))||M===2){
Q=(x,y)=>L(this,x,y);
}else if(M===1){
Q=x=>L(this,x);
}else{
Q=(...args)=>{
if(args.length>0){
return L(this,args[0]);
}else{
return L(this);
}
}
}
%FunctionSetName(Q,'__bound'+K+'__');
%FunctionRemovePrototype(Q);
%SetNativeFlag(Q);
this[O]=Q;
}
return this[O];
};
m(J.prototype,K,P,2);
}
var R={};
%AddNamedProperty(a,"Intl",R,2);
var S={
'collator':(void 0),
'numberformat':(void 0),
'dateformat':(void 0),
'breakiterator':(void 0)
};
var T=(void 0);
function GetDefaultICULocaleJS(){
if((T===(void 0))){
T=%GetDefaultICULocale();
}
return T;
}
var U=(void 0);
function GetUnicodeExtensionRE(){
if(((void 0)===(void 0))){
U=new j('-u(-[a-z0-9]{2,8})+','g');
}
return U;
}
var V=(void 0);
function GetAnyExtensionRE(){
if((V===(void 0))){
V=new j('-[a-z0-9]{1}-.*','g');
}
return V;
}
var W=(void 0);
function GetQuotedStringRE(){
if((W===(void 0))){
W=new j("'[^']+'",'g');
}
return W;
}
var X=(void 0);
function GetServiceRE(){
if((X===(void 0))){
X=
new j('^(collator|numberformat|dateformat|breakiterator)$');
}
return X;
}
var Y=(void 0);
function GetLanguageTagRE(){
if((Y===(void 0))){
BuildLanguageTagREs();
}
return Y;
}
var Z=(void 0);
function GetLanguageVariantRE(){
if((Z===(void 0))){
BuildLanguageTagREs();
}
return Z;
}
var aa=(void 0);
function GetLanguageSingletonRE(){
if((aa===(void 0))){
BuildLanguageTagREs();
}
return aa;
}
var ab=(void 0);
function GetTimezoneNameCheckRE(){
if((ab===(void 0))){
ab=new j(
'^([A-Za-z]+)/([A-Za-z_-]+)((?:\/[A-Za-z_-]+)+)*$');
}
return ab;
}
var ac=(void 0);
function GetTimezoneNameLocationPartRE(){
if((ac===(void 0))){
ac=
new j('^([A-Za-z]+)((?:[_-][A-Za-z]+)+)*$');
}
return ac;
}
function supportedLocalesOf(ad,ae,af){
if((o(GetServiceRE(),ad)===null)){
throw s(7,ad);
}
if((af===(void 0))){
af={};
}else{
af=(%_ToObject(af));
}
var ag=af.localeMatcher;
if(!(ag===(void 0))){
ag=k(ag);
if(ag!=='lookup'&&ag!=='best fit'){
throw t(172,ag);
}
}else{
ag='best fit';
}
var ah=initializeLocaleList(ae);
if((S[ad]===(void 0))){
S[ad]=getAvailableLocalesOf(ad);
}
if(ag==='best fit'){
return initializeLocaleList(bestFitSupportedLocalesOf(
ah,S[ad]));
}
return initializeLocaleList(lookupSupportedLocalesOf(
ah,S[ad]));
}
function lookupSupportedLocalesOf(ah,ai){
var aj=new n();
for(var ak=0;ak<ah.length;++ak){
var al=p(
GetUnicodeExtensionRE(),ah[ak],'');
do{
if(!(ai[al]===(void 0))){
%_Call(e,aj,ah[ak]);
break;
}
var am=%_Call(B,al,'-');
if(am===-1){
break;
}
al=%_Call(E,al,0,am);
}while(true);
}
return aj;
}
function bestFitSupportedLocalesOf(ah,ai){
return lookupSupportedLocalesOf(ah,ai);
}
function getGetOption(af,an){
if((af===(void 0)))throw s(4,an);
var ao=function getOption(ap,N,aq,ar){
if(!(af[ap]===(void 0))){
var as=af[ap];
switch(N){
case'boolean':
as=g(as);
break;
case'string':
as=k(as);
break;
case'number':
as=i(as);
break;
default:
throw s(8);
}
if(!(aq===(void 0))&&%_Call(c,aq,as)===-1){
throw t(182,as,an,ap);
}
return as;
}
return ar;
}
return ao;
}
function resolveLocale(ad,ah,af){
ah=initializeLocaleList(ah);
var ao=getGetOption(af,ad);
var ag=ao('localeMatcher','string',
['lookup','best fit'],'best fit');
var at;
if(ag==='lookup'){
at=lookupMatcher(ad,ah);
}else{
at=bestFitMatcher(ad,ah);
}
return at;
}
function lookupMatcher(ad,ah){
if((o(GetServiceRE(),ad)===null)){
throw s(7,ad);
}
if((S[ad]===(void 0))){
S[ad]=getAvailableLocalesOf(ad);
}
for(var ak=0;ak<ah.length;++ak){
var al=p(
GetAnyExtensionRE(),ah[ak],'');
do{
if(!(S[ad][al]===(void 0))){
var au=o(
GetUnicodeExtensionRE(),ah[ak]);
var av=(au===null)?'':au[0];
return{'locale':al,'extension':av,'position':ak};
}
var am=%_Call(B,al,'-');
if(am===-1){
break;
}
al=%_Call(E,al,0,am);
}while(true);
}
return{'locale':GetDefaultICULocaleJS(),'extension':'','position':-1};
}
function bestFitMatcher(ad,ah){
return lookupMatcher(ad,ah);
}
function parseExtension(av){
var aw=%_Call(C,av,'-');
if(aw.length<=2||
(aw[0]!==''&&aw[1]!=='u')){
return{};
}
var ax={};
var ay=(void 0);
for(var ak=2;ak<aw.length;++ak){
var M=aw[ak].length;
var az=aw[ak];
if(M===2){
ax[az]=(void 0);
ay=az;
}else if(M>=3&&M<=8&&!(ay===(void 0))){
ax[ay]=az;
ay=(void 0);
}else{
return{};
}
}
return ax;
}
function setOptions(aA,ax,aB,ao,aC){
var av='';
var aD=function updateExtension(aE,as){
return'-'+aE+'-'+k(as);
}
var aF=function updateProperty(ap,N,as){
if(N==='boolean'&&(typeof as==='string')){
as=(as==='true')?true:false;
}
if(!(ap===(void 0))){
defineWEProperty(aC,ap,as);
}
}
for(var aE in aB){
if((%_Call(v,aB,aE))){
var as=(void 0);
var aG=aB[aE];
if(!(aG.property===(void 0))){
as=ao(aG.property,aG.type,aG.values);
}
if(!(as===(void 0))){
aF(aG.property,aG.type,as);
av+=aD(aE,as);
continue;
}
if((%_Call(v,ax,aE))){
as=ax[aE];
if(!(as===(void 0))){
aF(aG.property,aG.type,as);
av+=aD(aE,as);
}else if(aG.type==='boolean'){
aF(aG.property,aG.type,true);
av+=aD(aE,true);
}
}
}
}
return av===''?'':'-u'+av;
}
function freezeArray(aH){
var aI=[];
var aJ=aH.length;
for(var ak=0;ak<aJ;ak++){
if(ak in aH){
%object_define_property(aI,ak,{value:aH[ak],
configurable:false,
writable:false,
enumerable:true});
}
}
%object_define_property(aI,'length',{value:aJ,writable:false});
return aI;
}
function getOptimalLanguageTag(aK,at){
if(aK===at){
return aK;
}
var ae=%GetLanguageTagVariants([aK,at]);
if(ae[0].maximized!==ae[1].maximized){
return at;
}
var aL=new j('^'+ae[1].base,'g');
return p(aL,at,ae[0].base);
}
function getAvailableLocalesOf(ad){
var aM=%AvailableLocalesOf(ad);
for(var ak in aM){
if((%_Call(v,aM,ak))){
var aN=o(
/^([a-z]{2,3})-([A-Z][a-z]{3})-([A-Z]{2})$/,ak);
if(!(aN===null)){
aM[aN[1]+'-'+aN[3]]=null;
}
}
}
return aM;
}
function defineWEProperty(G,ap,as){
%object_define_property(G,ap,
{value:as,writable:true,enumerable:true});
}
function addWEPropertyIfDefined(G,ap,as){
if(!(as===(void 0))){
defineWEProperty(G,ap,as);
}
}
function defineWECProperty(G,ap,as){
%object_define_property(G,ap,{value:as,
writable:true,
enumerable:true,
configurable:true});
}
function addWECPropertyIfDefined(G,ap,as){
if(!(as===(void 0))){
defineWECProperty(G,ap,as);
}
}
function toTitleCaseWord(aO){
return %StringToUpperCase(%_Call(D,aO,0,1))+
%StringToLowerCase(%_Call(D,aO,1));
}
function toTitleCaseTimezoneLocation(aP){
var aQ=o(GetTimezoneNameLocationPartRE(),aP)
if((aQ===null))throw t(151,aP);
var aR=toTitleCaseWord(aQ[1]);
if(!(aQ[2]===(void 0))&&2<aQ.length){
var aS=%_Call(E,aQ[2],0,1);
var aN=%_Call(C,aQ[2],aS);
for(var ak=1;ak<aN.length;ak++){
var aT=aN[ak]
var aU=%StringToLowerCase(aT);
aR=aR+aS+
((aU!=='es'&&
aU!=='of'&&aU!=='au')?
toTitleCaseWord(aT):aU);
}
}
return aR;
}
function canonicalizeLanguageTag(aV){
if((!(typeof(aV)==='string')&&!(%_IsJSReceiver(aV)))||
(aV===null)){
throw u(52);
}
if((typeof(aV)==='string')&&
!(o(/^[a-z]{2,3}$/,aV)===null)){
return aV;
}
var aW=k(aV);
if(isValidLanguageTag(aW)===false){
throw t(163,aW);
}
var aX=%CanonicalizeLanguageTag(aW);
if(aX==='invalid-tag'){
throw t(163,aW);
}
return aX;
}
function initializeLocaleList(ae){
var aY=new n();
if(!(ae===(void 0))){
if(typeof ae==='string'){
%_Call(e,aY,canonicalizeLanguageTag(ae));
return freezeArray(aY);
}
var aZ=(%_ToObject(ae));
var ba=((aZ.length)>>>0);
for(var bb=0;bb<ba;bb++){
if(bb in aZ){
var as=aZ[bb];
var aX=canonicalizeLanguageTag(as);
if(%_Call(c,aY,aX)===-1){
%_Call(e,aY,aX);
}
}
}
}
return freezeArray(aY);
}
function isValidLanguageTag(al){
if((o(GetLanguageTagRE(),al)===null)){
return false;
}
if(%_Call(A,al,'x-')===0){
return true;
}
al=%_Call(C,al,'-x-')[0];
var bc=new n();
var bd=new n();
var aN=%_Call(C,al,'-');
for(var ak=1;ak<aN.length;ak++){
var as=aN[ak];
if(!(o(GetLanguageVariantRE(),as)===null)&&
bd.length===0){
if(%_Call(c,bc,as)===-1){
%_Call(e,bc,as);
}else{
return false;
}
}
if(!(o(GetLanguageSingletonRE(),as)===null)){
if(%_Call(c,bd,as)===-1){
%_Call(e,bd,as);
}else{
return false;
}
}
}
return true;
}
function BuildLanguageTagREs(){
var be='[a-zA-Z]';
var bf='[0-9]';
var bg='('+be+'|'+bf+')';
var bh='(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|'+
'zh-min|zh-min-nan|zh-xiang)';
var bi='(en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|'+
'i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|'+
'i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)';
var bj='('+bi+'|'+bh+')';
var bk='(x(-'+bg+'{1,8})+)';
var bl='('+bf+'|[A-WY-Za-wy-z])';
aa=new j('^'+bl+'$','i');
var av='('+bl+'(-'+bg+'{2,8})+)';
var bm='('+bg+'{5,8}|('+bf+bg+'{3}))';
Z=new j('^'+bm+'$','i');
var bn='('+be+'{2}|'+bf+'{3})';
var bo='('+be+'{4})';
var bp='('+be+'{3}(-'+be+'{3}){0,2})';
var bq='('+be+'{2,3}(-'+bp+')?|'+be+'{4}|'+
be+'{5,8})';
var br=bq+'(-'+bo+')?(-'+bn+')?(-'+
bm+')*(-'+av+')*(-'+bk+')?';
var bs=
'^('+br+'|'+bk+'|'+bj+')$';
Y=new j(bs,'i');
}
var bt={
get(){
%IncrementUseCounter(16);
return this[y];
},
set(as){
this[y]=as;
}
};
function initializeCollator(bu,ae,af){
if(%IsInitializedIntlObject(bu)){
throw u(125,"Collator");
}
if((af===(void 0))){
af={};
}
var ao=getGetOption(af,'collator');
var bv={};
defineWEProperty(bv,'usage',ao(
'usage','string',['sort','search'],'sort'));
var bw=ao('sensitivity','string',
['base','accent','case','variant']);
if((bw===(void 0))&&bv.usage==='sort'){
bw='variant';
}
defineWEProperty(bv,'sensitivity',bw);
defineWEProperty(bv,'ignorePunctuation',ao(
'ignorePunctuation','boolean',(void 0),false));
var al=resolveLocale('collator',ae,af);
var ax=parseExtension(al.extension);
var bx={
'kn':{'property':'numeric','type':'boolean'},
'kf':{'property':'caseFirst','type':'string',
'values':['false','lower','upper']}
};
setOptions(
af,ax,bx,ao,bv);
var by='default';
var av='';
if((%_Call(v,ax,'co'))&&bv.usage==='sort'){
var bz=[
'big5han','dict','direct','ducet','gb2312','phonebk','phonetic',
'pinyin','reformed','searchjl','stroke','trad','unihan','zhuyin'
];
if(%_Call(c,bz,ax.co)!==-1){
av='-u-co-'+ax.co;
by=ax.co;
}
}else if(bv.usage==='search'){
av='-u-co-search';
}
defineWEProperty(bv,'collation',by);
var bA=al.locale+av;
var at=%object_define_properties({},{
caseFirst:{writable:true},
collation:{value:bv.collation,writable:true},
ignorePunctuation:{writable:true},
locale:{writable:true},
numeric:{writable:true},
requestedLocale:{value:bA,writable:true},
sensitivity:{writable:true},
strength:{writable:true},
usage:{value:bv.usage,writable:true}
});
var bB=%CreateCollator(bA,
bv,
at);
%MarkAsInitializedIntlObjectOfType(bu,'collator',bB);
bu[y]=at;
if(f){
%object_define_property(bu,'resolved',bt);
}
return bu;
}
InstallConstructor(R,'Collator',function(){
var ae=arguments[0];
var af=arguments[1];
if(!this||this===R){
return new R.Collator(ae,af);
}
return initializeCollator((%_ToObject(this)),ae,af);
}
);
InstallFunction(R.Collator.prototype,'resolvedOptions',function(){
if(!(new.target===(void 0))){
throw u(81);
}
if(!%IsInitializedIntlObjectOfType(this,'collator')){
throw u(126,"Collator");
}
var bC=this;
var al=getOptimalLanguageTag(bC[y].requestedLocale,
bC[y].locale);
return{
locale:al,
usage:bC[y].usage,
sensitivity:bC[y].sensitivity,
ignorePunctuation:bC[y].ignorePunctuation,
numeric:bC[y].numeric,
caseFirst:bC[y].caseFirst,
collation:bC[y].collation
};
}
);
InstallFunction(R.Collator,'supportedLocalesOf',function(ae){
if(!(new.target===(void 0))){
throw u(81);
}
return supportedLocalesOf('collator',ae,arguments[1]);
}
);
function compare(bu,bD,bE){
return %InternalCompare(%GetImplFromInitializedIntlObject(bu),
k(bD),k(bE));
};
AddBoundMethod(R.Collator,'compare',compare,2,'collator');
function isWellFormedCurrencyCode(bF){
return typeof bF=="string"&&bF.length==3&&
(o(/[^A-Za-z]/,bF)===null);
}
function getNumberOption(af,ap,bG,bH,bI){
var as=af[ap];
if(!(as===(void 0))){
as=i(as);
if(r(as)||as<bG||as>bH){
throw t(175,ap);
}
return %math_floor(as);
}
return bI;
}
var bJ={
get(){
%IncrementUseCounter(15);
return this[x];
},
set(as){
this[x]=as;
}
};
function initializeNumberFormat(bK,ae,af){
if(%IsInitializedIntlObject(bK)){
throw u(125,"NumberFormat");
}
if((af===(void 0))){
af={};
}
var ao=getGetOption(af,'numberformat');
var al=resolveLocale('numberformat',ae,af);
var bv={};
defineWEProperty(bv,'style',ao(
'style','string',['decimal','percent','currency'],'decimal'));
var bF=ao('currency','string');
if(!(bF===(void 0))&&!isWellFormedCurrencyCode(bF)){
throw t(158,bF);
}
if(bv.style==='currency'&&(bF===(void 0))){
throw u(29);
}
var bL=ao(
'currencyDisplay','string',['code','symbol','name'],'symbol');
if(bv.style==='currency'){
defineWEProperty(bv,'currency',%StringToUpperCase(bF));
defineWEProperty(bv,'currencyDisplay',bL);
}
var bM=getNumberOption(af,'minimumIntegerDigits',1,21,1);
defineWEProperty(bv,'minimumIntegerDigits',bM);
var bN=af['minimumFractionDigits'];
var bO=af['maximumFractionDigits'];
if(!(bN===(void 0))||bv.style!=='currency'){
bN=getNumberOption(af,'minimumFractionDigits',0,20,0);
defineWEProperty(bv,'minimumFractionDigits',bN);
}
if(!(bO===(void 0))||bv.style!=='currency'){
var bP=bv.style==='percent'?0:3;
bN=(bN===(void 0))?0:bN;
var bQ=(bN>bP)?bN:bP;
bO=getNumberOption(af,'maximumFractionDigits',bN,20,bQ);
defineWEProperty(bv,'maximumFractionDigits',bO);
}
var bR=af['minimumSignificantDigits'];
var bS=af['maximumSignificantDigits'];
if(!(bR===(void 0))||!(bS===(void 0))){
bR=getNumberOption(af,'minimumSignificantDigits',1,21,0);
defineWEProperty(bv,'minimumSignificantDigits',bR);
bS=getNumberOption(af,'maximumSignificantDigits',bR,21,21);
defineWEProperty(bv,'maximumSignificantDigits',bS);
}
defineWEProperty(bv,'useGrouping',ao(
'useGrouping','boolean',(void 0),true));
var ax=parseExtension(al.extension);
var bT={
'nu':{'property':(void 0),'type':'string'}
};
var av=setOptions(af,ax,bT,
ao,bv);
var bA=al.locale+av;
var at=%object_define_properties({},{
currency:{writable:true},
currencyDisplay:{writable:true},
locale:{writable:true},
maximumFractionDigits:{writable:true},
minimumFractionDigits:{writable:true},
minimumIntegerDigits:{writable:true},
numberingSystem:{writable:true},
requestedLocale:{value:bA,writable:true},
style:{value:bv.style,writable:true},
useGrouping:{writable:true}
});
if((%_Call(v,bv,'minimumSignificantDigits'))){
defineWEProperty(at,'minimumSignificantDigits',(void 0));
}
if((%_Call(v,bv,'maximumSignificantDigits'))){
defineWEProperty(at,'maximumSignificantDigits',(void 0));
}
var bU=%CreateNumberFormat(bA,
bv,
at);
if(bv.style==='currency'){
%object_define_property(at,'currencyDisplay',
{value:bL,writable:true});
}
%MarkAsInitializedIntlObjectOfType(bK,'numberformat',bU);
bK[y]=at;
if(f){
%object_define_property(at,'pattern',bJ);
%object_define_property(bK,'resolved',bt);
}
return bK;
}
InstallConstructor(R,'NumberFormat',function(){
var ae=arguments[0];
var af=arguments[1];
if(!this||this===R){
return new R.NumberFormat(ae,af);
}
return initializeNumberFormat((%_ToObject(this)),ae,af);
}
);
InstallFunction(R.NumberFormat.prototype,'resolvedOptions',function(){
if(!(new.target===(void 0))){
throw u(81);
}
if(!%IsInitializedIntlObjectOfType(this,'numberformat')){
throw u(126,"NumberFormat");
}
var bV=this;
var al=getOptimalLanguageTag(bV[y].requestedLocale,
bV[y].locale);
var aR={
locale:al,
numberingSystem:bV[y].numberingSystem,
style:bV[y].style,
useGrouping:bV[y].useGrouping,
minimumIntegerDigits:bV[y].minimumIntegerDigits,
minimumFractionDigits:bV[y].minimumFractionDigits,
maximumFractionDigits:bV[y].maximumFractionDigits,
};
if(aR.style==='currency'){
defineWECProperty(aR,'currency',bV[y].currency);
defineWECProperty(aR,'currencyDisplay',
bV[y].currencyDisplay);
}
if((%_Call(v,bV[y],'minimumSignificantDigits'))){
defineWECProperty(aR,'minimumSignificantDigits',
bV[y].minimumSignificantDigits);
}
if((%_Call(v,bV[y],'maximumSignificantDigits'))){
defineWECProperty(aR,'maximumSignificantDigits',
bV[y].maximumSignificantDigits);
}
return aR;
}
);
InstallFunction(R.NumberFormat,'supportedLocalesOf',function(ae){
if(!(new.target===(void 0))){
throw u(81);
}
return supportedLocalesOf('numberformat',ae,arguments[1]);
}
);
function formatNumber(bU,as){
var bW=(%_ToNumber(as))+0;
return %InternalNumberFormat(%GetImplFromInitializedIntlObject(bU),
bW);
}
function IntlParseNumber(bU,as){
return %InternalNumberParse(%GetImplFromInitializedIntlObject(bU),
k(as));
}
AddBoundMethod(R.NumberFormat,'format',formatNumber,1,'numberformat');
function toLDMLString(af){
var ao=getGetOption(af,'dateformat');
var bX='';
var bY=ao('weekday','string',['narrow','short','long']);
bX+=appendToLDMLString(
bY,{narrow:'EEEEE',short:'EEE',long:'EEEE'});
bY=ao('era','string',['narrow','short','long']);
bX+=appendToLDMLString(
bY,{narrow:'GGGGG',short:'GGG',long:'GGGG'});
bY=ao('year','string',['2-digit','numeric']);
bX+=appendToLDMLString(bY,{'2-digit':'yy','numeric':'y'});
bY=ao('month','string',
['2-digit','numeric','narrow','short','long']);
bX+=appendToLDMLString(bY,{'2-digit':'MM','numeric':'M',
'narrow':'MMMMM','short':'MMM','long':'MMMM'});
bY=ao('day','string',['2-digit','numeric']);
bX+=appendToLDMLString(
bY,{'2-digit':'dd','numeric':'d'});
var bZ=ao('hour12','boolean');
bY=ao('hour','string',['2-digit','numeric']);
if((bZ===(void 0))){
bX+=appendToLDMLString(bY,{'2-digit':'jj','numeric':'j'});
}else if(bZ===true){
bX+=appendToLDMLString(bY,{'2-digit':'hh','numeric':'h'});
}else{
bX+=appendToLDMLString(bY,{'2-digit':'HH','numeric':'H'});
}
bY=ao('minute','string',['2-digit','numeric']);
bX+=appendToLDMLString(bY,{'2-digit':'mm','numeric':'m'});
bY=ao('second','string',['2-digit','numeric']);
bX+=appendToLDMLString(bY,{'2-digit':'ss','numeric':'s'});
bY=ao('timeZoneName','string',['short','long']);
bX+=appendToLDMLString(bY,{short:'z',long:'zzzz'});
return bX;
}
function appendToLDMLString(bY,ca){
if(!(bY===(void 0))){
return ca[bY];
}else{
return'';
}
}
function fromLDMLString(bX){
bX=p(GetQuotedStringRE(),bX,'');
var af={};
var aQ=o(/E{3,5}/,bX);
af=appendToDateTimeObject(
af,'weekday',aQ,{EEEEE:'narrow',EEE:'short',EEEE:'long'});
aQ=o(/G{3,5}/,bX);
af=appendToDateTimeObject(
af,'era',aQ,{GGGGG:'narrow',GGG:'short',GGGG:'long'});
aQ=o(/y{1,2}/,bX);
af=appendToDateTimeObject(
af,'year',aQ,{y:'numeric',yy:'2-digit'});
aQ=o(/M{1,5}/,bX);
af=appendToDateTimeObject(af,'month',aQ,{MM:'2-digit',
M:'numeric',MMMMM:'narrow',MMM:'short',MMMM:'long'});
aQ=o(/L{1,5}/,bX);
af=appendToDateTimeObject(af,'month',aQ,{LL:'2-digit',
L:'numeric',LLLLL:'narrow',LLL:'short',LLLL:'long'});
aQ=o(/d{1,2}/,bX);
af=appendToDateTimeObject(
af,'day',aQ,{d:'numeric',dd:'2-digit'});
aQ=o(/h{1,2}/,bX);
if(aQ!==null){
af['hour12']=true;
}
af=appendToDateTimeObject(
af,'hour',aQ,{h:'numeric',hh:'2-digit'});
aQ=o(/H{1,2}/,bX);
if(aQ!==null){
af['hour12']=false;
}
af=appendToDateTimeObject(
af,'hour',aQ,{H:'numeric',HH:'2-digit'});
aQ=o(/m{1,2}/,bX);
af=appendToDateTimeObject(
af,'minute',aQ,{m:'numeric',mm:'2-digit'});
aQ=o(/s{1,2}/,bX);
af=appendToDateTimeObject(
af,'second',aQ,{s:'numeric',ss:'2-digit'});
aQ=o(/z|zzzz/,bX);
af=appendToDateTimeObject(
af,'timeZoneName',aQ,{z:'short',zzzz:'long'});
return af;
}
function appendToDateTimeObject(af,bY,aQ,ca){
if((aQ===null)){
if(!(%_Call(v,af,bY))){
defineWEProperty(af,bY,(void 0));
}
return af;
}
var ap=aQ[0];
defineWEProperty(af,bY,ca[ap]);
return af;
}
function toDateTimeOptions(af,cb,cc){
if((af===(void 0))){
af={};
}else{
af=(%_ToObject(af));
}
var cd=true;
if((cb==='date'||cb==='any')&&
(!(af.weekday===(void 0))||!(af.year===(void 0))||
!(af.month===(void 0))||!(af.day===(void 0)))){
cd=false;
}
if((cb==='time'||cb==='any')&&
(!(af.hour===(void 0))||!(af.minute===(void 0))||
!(af.second===(void 0)))){
cd=false;
}
if(cd&&(cc==='date'||cc==='all')){
%object_define_property(af,'year',{value:'numeric',
writable:true,
enumerable:true,
configurable:true});
%object_define_property(af,'month',{value:'numeric',
writable:true,
enumerable:true,
configurable:true});
%object_define_property(af,'day',{value:'numeric',
writable:true,
enumerable:true,
configurable:true});
}
if(cd&&(cc==='time'||cc==='all')){
%object_define_property(af,'hour',{value:'numeric',
writable:true,
enumerable:true,
configurable:true});
%object_define_property(af,'minute',{value:'numeric',
writable:true,
enumerable:true,
configurable:true});
%object_define_property(af,'second',{value:'numeric',
writable:true,
enumerable:true,
configurable:true});
}
return af;
}
function initializeDateTimeFormat(ce,ae,af){
if(%IsInitializedIntlObject(ce)){
throw u(125,"DateTimeFormat");
}
if((af===(void 0))){
af={};
}
var al=resolveLocale('dateformat',ae,af);
af=toDateTimeOptions(af,'any','date');
var ao=getGetOption(af,'dateformat');
var ag=ao('formatMatcher','string',
['basic','best fit'],'best fit');
var bX=toLDMLString(af);
var cf=canonicalizeTimeZoneID(af.timeZone);
var bv={};
var ax=parseExtension(al.extension);
var cg={
'ca':{'property':(void 0),'type':'string'},
'nu':{'property':(void 0),'type':'string'}
};
var av=setOptions(af,ax,cg,
ao,bv);
var bA=al.locale+av;
var at=%object_define_properties({},{
calendar:{writable:true},
day:{writable:true},
era:{writable:true},
hour12:{writable:true},
hour:{writable:true},
locale:{writable:true},
minute:{writable:true},
month:{writable:true},
numberingSystem:{writable:true},
[x]:{writable:true},
requestedLocale:{value:bA,writable:true},
second:{writable:true},
timeZone:{writable:true},
timeZoneName:{writable:true},
tz:{value:cf,writable:true},
weekday:{writable:true},
year:{writable:true}
});
var bU=%CreateDateTimeFormat(
bA,{skeleton:bX,timeZone:cf},at);
if(at.timeZone==="Etc/Unknown"){
throw t(181,cf);
}
%MarkAsInitializedIntlObjectOfType(ce,'dateformat',bU);
ce[y]=at;
if(f){
%object_define_property(at,'pattern',bJ);
%object_define_property(ce,'resolved',bt);
}
return ce;
}
InstallConstructor(R,'DateTimeFormat',function(){
var ae=arguments[0];
var af=arguments[1];
if(!this||this===R){
return new R.DateTimeFormat(ae,af);
}
return initializeDateTimeFormat((%_ToObject(this)),ae,af);
}
);
InstallFunction(R.DateTimeFormat.prototype,'resolvedOptions',function(){
if(!(new.target===(void 0))){
throw u(81);
}
if(!%IsInitializedIntlObjectOfType(this,'dateformat')){
throw u(126,"DateTimeFormat");
}
var ch={
'gregorian':'gregory',
'japanese':'japanese',
'buddhist':'buddhist',
'roc':'roc',
'persian':'persian',
'islamic-civil':'islamicc',
'islamic':'islamic',
'hebrew':'hebrew',
'chinese':'chinese',
'indian':'indian',
'coptic':'coptic',
'ethiopic':'ethiopic',
'ethiopic-amete-alem':'ethioaa'
};
var bV=this;
var ci=fromLDMLString(bV[y][x]);
var cj=ch[bV[y].calendar];
if((cj===(void 0))){
cj=bV[y].calendar;
}
var al=getOptimalLanguageTag(bV[y].requestedLocale,
bV[y].locale);
var aR={
locale:al,
numberingSystem:bV[y].numberingSystem,
calendar:cj,
timeZone:bV[y].timeZone
};
addWECPropertyIfDefined(aR,'timeZoneName',ci.timeZoneName);
addWECPropertyIfDefined(aR,'era',ci.era);
addWECPropertyIfDefined(aR,'year',ci.year);
addWECPropertyIfDefined(aR,'month',ci.month);
addWECPropertyIfDefined(aR,'day',ci.day);
addWECPropertyIfDefined(aR,'weekday',ci.weekday);
addWECPropertyIfDefined(aR,'hour12',ci.hour12);
addWECPropertyIfDefined(aR,'hour',ci.hour);
addWECPropertyIfDefined(aR,'minute',ci.minute);
addWECPropertyIfDefined(aR,'second',ci.second);
return aR;
}
);
InstallFunction(R.DateTimeFormat,'supportedLocalesOf',function(ae){
if(!(new.target===(void 0))){
throw u(81);
}
return supportedLocalesOf('dateformat',ae,arguments[1]);
}
);
function formatDate(bU,ck){
var cl;
if((ck===(void 0))){
cl=%DateCurrentTime();
}else{
cl=(%_ToNumber(ck));
}
if(!q(cl))throw t(149);
return %InternalDateFormat(%GetImplFromInitializedIntlObject(bU),
new h(cl));
}
function IntlParseDate(bU,as){
return %InternalDateParse(%GetImplFromInitializedIntlObject(bU),
k(as));
}
AddBoundMethod(R.DateTimeFormat,'format',formatDate,0,'dateformat');
function canonicalizeTimeZoneID(cm){
if((cm===(void 0))){
return cm;
}
var cn=%StringToUpperCase(cm);
if(cn==='UTC'||cn==='GMT'||
cn==='ETC/UTC'||cn==='ETC/GMT'){
return'UTC';
}
var aQ=o(GetTimezoneNameCheckRE(),cm);
if((aQ===null))throw t(150,cm);
var aR=toTitleCaseTimezoneLocation(aQ[1])+'/'+
toTitleCaseTimezoneLocation(aQ[2]);
if(!(aQ[3]===(void 0))&&3<aQ.length){
var co=%_Call(C,aQ[3],'/');
for(var ak=1;ak<co.length;ak++){
aR=aR+'/'+toTitleCaseTimezoneLocation(co[ak]);
}
}
return aR;
}
function initializeBreakIterator(cp,ae,af){
if(%IsInitializedIntlObject(cp)){
throw u(125,"v8BreakIterator");
}
if((af===(void 0))){
af={};
}
var ao=getGetOption(af,'breakiterator');
var bv={};
defineWEProperty(bv,'type',ao(
'type','string',['character','word','sentence','line'],'word'));
var al=resolveLocale('breakiterator',ae,af);
var at=%object_define_properties({},{
requestedLocale:{value:al.locale,writable:true},
type:{value:bv.type,writable:true},
locale:{writable:true}
});
var cq=%CreateBreakIterator(al.locale,
bv,
at);
%MarkAsInitializedIntlObjectOfType(cp,'breakiterator',
cq);
cp[y]=at;
if(f){
%object_define_property(cp,'resolved',bt);
}
return cp;
}
InstallConstructor(R,'v8BreakIterator',function(){
var ae=arguments[0];
var af=arguments[1];
if(!this||this===R){
return new R.v8BreakIterator(ae,af);
}
return initializeBreakIterator((%_ToObject(this)),ae,af);
}
);
InstallFunction(R.v8BreakIterator.prototype,'resolvedOptions',
function(){
if(!(new.target===(void 0))){
throw u(81);
}
if(!%IsInitializedIntlObjectOfType(this,'breakiterator')){
throw u(126,"v8BreakIterator");
}
var cr=this;
var al=
getOptimalLanguageTag(cr[y].requestedLocale,
cr[y].locale);
return{
locale:al,
type:cr[y].type
};
}
);
InstallFunction(R.v8BreakIterator,'supportedLocalesOf',
function(ae){
if(!(new.target===(void 0))){
throw u(81);
}
return supportedLocalesOf('breakiterator',ae,arguments[1]);
}
);
function adoptText(cp,cs){
%BreakIteratorAdoptText(%GetImplFromInitializedIntlObject(cp),
k(cs));
}
function first(cp){
return %BreakIteratorFirst(%GetImplFromInitializedIntlObject(cp));
}
function next(cp){
return %BreakIteratorNext(%GetImplFromInitializedIntlObject(cp));
}
function current(cp){
return %BreakIteratorCurrent(%GetImplFromInitializedIntlObject(cp));
}
function breakType(cp){
return %BreakIteratorBreakType(%GetImplFromInitializedIntlObject(cp));
}
AddBoundMethod(R.v8BreakIterator,'adoptText',adoptText,1,
'breakiterator');
AddBoundMethod(R.v8BreakIterator,'first',first,0,'breakiterator');
AddBoundMethod(R.v8BreakIterator,'next',next,0,'breakiterator');
AddBoundMethod(R.v8BreakIterator,'current',current,0,'breakiterator');
AddBoundMethod(R.v8BreakIterator,'breakType',breakType,0,
'breakiterator');
var ct={
'collator':R.Collator,
'numberformat':R.NumberFormat,
'dateformatall':R.DateTimeFormat,
'dateformatdate':R.DateTimeFormat,
'dateformattime':R.DateTimeFormat
};
var cu={
'collator':(void 0),
'numberformat':(void 0),
'dateformatall':(void 0),
'dateformatdate':(void 0),
'dateformattime':(void 0),
};
function cachedOrNewService(ad,ae,af,cc){
var cv=((cc===(void 0)))?af:cc;
if((ae===(void 0))&&(af===(void 0))){
if((cu[ad]===(void 0))){
cu[ad]=new ct[ad](ae,cv);
}
return cu[ad];
}
return new ct[ad](ae,cv);
}
function LocaleConvertCase(cw,ae,cx){
var bq;
if((ae===(void 0))){
bq=GetDefaultICULocaleJS();
}else if((typeof(ae)==='string')){
bq=canonicalizeLanguageTag(ae);
}else{
var ae=initializeLocaleList(ae);
bq=ae.length>0?ae[0]:GetDefaultICULocaleJS();
}
var am=%_Call(A,bq,'-');
if(am!=-1){
bq=%_Call(E,bq,0,am);
}
var cy=['az','el','lt','tr'];
var cz=%_Call(c,cy,bq);
if(cz==-1){
return cx?%StringToUpperCaseI18N(cw):%StringToLowerCaseI18N(cw);
}
return %StringLocaleConvertCase(cw,cx,
cy[cz]);
}
w(k.prototype,'localeCompare',function(cA){
if(!(new.target===(void 0))){
throw u(81);
}
if((this==null)){
throw u(54);
}
var ae=arguments[1];
var af=arguments[2];
var bu=cachedOrNewService('collator',ae,af);
return compare(bu,this,cA);
}
);
w(k.prototype,'normalize',function(){
if(!(new.target===(void 0))){
throw u(81);
}
if((%IS_VAR(this)===null)||(this===(void 0)))throw u(17,"String.prototype.normalize");
var cw=(%_ToString(this));
var cB=arguments[0];
var cC=(cB===(void 0))?'NFC':(%_ToString(cB));
var cD=['NFC','NFD','NFKC','NFKD'];
var cE=%_Call(c,cD,cC);
if(cE===-1){
throw t(173,
%_Call(d,cD,', '));
}
return %StringNormalize(cw,cE);
}
);
function ToLowerCaseI18N(){
if(!(new.target===(void 0))){
throw u(81);
}
if((%IS_VAR(this)===null)||(this===(void 0)))throw u(17,"String.prototype.toLowerCase");
var cw=(%_ToString(this));
return %StringToLowerCaseI18N(cw);
}
function ToUpperCaseI18N(){
if(!(new.target===(void 0))){
throw u(81);
}
if((%IS_VAR(this)===null)||(this===(void 0)))throw u(17,"String.prototype.toUpperCase");
var cw=(%_ToString(this));
return %StringToUpperCaseI18N(cw);
}
function ToLocaleLowerCaseI18N(ae){
if(!(new.target===(void 0))){
throw u(81);
}
if((%IS_VAR(this)===null)||(this===(void 0)))throw u(17,"String.prototype.toLocaleLowerCase");
return LocaleConvertCase((%_ToString(this)),ae,false);
}
%FunctionSetLength(ToLocaleLowerCaseI18N,0);
function ToLocaleUpperCaseI18N(ae){
if(!(new.target===(void 0))){
throw u(81);
}
if((%IS_VAR(this)===null)||(this===(void 0)))throw u(17,"String.prototype.toLocaleUpperCase");
return LocaleConvertCase((%_ToString(this)),ae,true);
}
%FunctionSetLength(ToLocaleUpperCaseI18N,0);
%FunctionRemovePrototype(ToLowerCaseI18N);
%FunctionRemovePrototype(ToUpperCaseI18N);
%FunctionRemovePrototype(ToLocaleLowerCaseI18N);
%FunctionRemovePrototype(ToLocaleUpperCaseI18N);
b.Export(function(cF){
cF.ToLowerCaseI18N=ToLowerCaseI18N;
cF.ToUpperCaseI18N=ToUpperCaseI18N;
cF.ToLocaleLowerCaseI18N=ToLocaleLowerCaseI18N;
cF.ToLocaleUpperCaseI18N=ToLocaleUpperCaseI18N;
});
w(i.prototype,'toLocaleString',function(){
if(!(new.target===(void 0))){
throw u(81);
}
if(!(this instanceof i)&&typeof(this)!=='number'){
throw u(55,"Number");
}
var ae=arguments[0];
var af=arguments[1];
var bK=cachedOrNewService('numberformat',ae,af);
return formatNumber(bK,this);
}
);
function toLocaleDateTime(cG,ae,af,cb,cc,ad){
if(!(cG instanceof h)){
throw u(55,"Date");
}
if(r(cG))return'Invalid Date';
var bv=toDateTimeOptions(af,cb,cc);
var ce=
cachedOrNewService(ad,ae,af,bv);
return formatDate(ce,cG);
}
w(h.prototype,'toLocaleString',function(){
if(!(new.target===(void 0))){
throw u(81);
}
var ae=arguments[0];
var af=arguments[1];
return toLocaleDateTime(
this,ae,af,'any','all','dateformatall');
}
);
w(h.prototype,'toLocaleDateString',function(){
if(!(new.target===(void 0))){
throw u(81);
}
var ae=arguments[0];
var af=arguments[1];
return toLocaleDateTime(
this,ae,af,'date','date','dateformatdate');
}
);
w(h.prototype,'toLocaleTimeString',function(){
if(!(new.target===(void 0))){
throw u(81);
}
var ae=arguments[0];
var af=arguments[1];
return toLocaleDateTime(
this,ae,af,'time','time','dateformattime');
}
);
b.Export(function(cF){
cF.AddBoundMethod=AddBoundMethod;
cF.IntlParseDate=IntlParseDate;
cF.IntlParseNumber=IntlParseNumber;
});
})

,<harmony-atomicsA0
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Object;
var d;
var e;
var f;
var g=b.ImportNow("to_string_tag_symbol");
b.Import(function(h){
e=h.MakeTypeError;
d=h.MakeRangeError;
f=h.MaxSimple;
});
function CheckSharedIntegerTypedArray(i){
if(!%IsSharedIntegerTypedArray(i)){
throw e(74,i);
}
}
function CheckSharedInteger32TypedArray(i){
CheckSharedIntegerTypedArray(i);
if(!%IsSharedInteger32TypedArray(i)){
throw e(75,i);
}
}
function ValidateIndex(j,k){
var l=(%_ToNumber(j));
var m=(%_ToInteger(l));
if(l!==m){
throw d(155);
}
if(m<0||m>=k){
throw d(155);
}
return m;
}
function AtomicsCompareExchangeJS(n,j,o,p){
CheckSharedIntegerTypedArray(n);
j=ValidateIndex(j,%_TypedArrayGetLength(n));
o=(%_ToNumber(o));
p=(%_ToNumber(p));
return %_AtomicsCompareExchange(n,j,o,p);
}
function AtomicsAddJS(i,j,q){
CheckSharedIntegerTypedArray(i);
j=ValidateIndex(j,%_TypedArrayGetLength(i));
q=(%_ToNumber(q));
return %_AtomicsAdd(i,j,q);
}
function AtomicsSubJS(i,j,q){
CheckSharedIntegerTypedArray(i);
j=ValidateIndex(j,%_TypedArrayGetLength(i));
q=(%_ToNumber(q));
return %_AtomicsSub(i,j,q);
}
function AtomicsAndJS(i,j,q){
CheckSharedIntegerTypedArray(i);
j=ValidateIndex(j,%_TypedArrayGetLength(i));
q=(%_ToNumber(q));
return %_AtomicsAnd(i,j,q);
}
function AtomicsOrJS(i,j,q){
CheckSharedIntegerTypedArray(i);
j=ValidateIndex(j,%_TypedArrayGetLength(i));
q=(%_ToNumber(q));
return %_AtomicsOr(i,j,q);
}
function AtomicsXorJS(i,j,q){
CheckSharedIntegerTypedArray(i);
j=ValidateIndex(j,%_TypedArrayGetLength(i));
q=(%_ToNumber(q));
return %_AtomicsXor(i,j,q);
}
function AtomicsExchangeJS(i,j,q){
CheckSharedIntegerTypedArray(i);
j=ValidateIndex(j,%_TypedArrayGetLength(i));
q=(%_ToNumber(q));
return %_AtomicsExchange(i,j,q);
}
function AtomicsIsLockFreeJS(r){
return %_AtomicsIsLockFree(r);
}
function AtomicsFutexWaitJS(i,j,q,s){
CheckSharedInteger32TypedArray(i);
j=ValidateIndex(j,%_TypedArrayGetLength(i));
if((s===(void 0))){
s=(1/0);
}else{
s=(%_ToNumber(s));
if((!%_IsSmi(%IS_VAR(s))&&!(s==s))){
s=(1/0);
}else{
s=f(0,s);
}
}
return %AtomicsFutexWait(i,j,q,s);
}
function AtomicsFutexWakeJS(i,j,t){
CheckSharedInteger32TypedArray(i);
j=ValidateIndex(j,%_TypedArrayGetLength(i));
t=f(0,(%_ToInteger(t)));
return %AtomicsFutexWake(i,j,t);
}
function AtomicsFutexWakeOrRequeueJS(i,u,t,q,v){
CheckSharedInteger32TypedArray(i);
u=ValidateIndex(u,%_TypedArrayGetLength(i));
t=f(0,(%_ToInteger(t)));
q=((q)|0);
v=ValidateIndex(v,%_TypedArrayGetLength(i));
if(u<0||u>=%_TypedArrayGetLength(i)||
v<0||v>=%_TypedArrayGetLength(i)){
return(void 0);
}
return %AtomicsFutexWakeOrRequeue(i,u,t,q,v);
}
var w=a.Atomics;
%AddNamedProperty(w,g,"Atomics",1|2);
b.InstallConstants(w,[
"OK",0,
"NOTEQUAL",-1,
"TIMEDOUT",-2,
]);
b.InstallFunctions(w,2,[
"compareExchange",AtomicsCompareExchangeJS,
"add",AtomicsAddJS,
"sub",AtomicsSubJS,
"and",AtomicsAndJS,
"or",AtomicsOrJS,
"xor",AtomicsXorJS,
"exchange",AtomicsExchangeJS,
"isLockFree",AtomicsIsLockFreeJS,
"futexWait",AtomicsFutexWaitJS,
"futexWake",AtomicsFutexWakeJS,
"futexWakeOrRequeue",AtomicsFutexWakeOrRequeueJS,
]);
})

Lharmony-regexp-execa
(function(a,b){
%CheckIsBootstrapping();
var c=a.RegExp;
var d=b.ImportNow("RegExpSubclassExecJS");
var e=b.ImportNow("RegExpSubclassMatch");
var f=b.ImportNow("RegExpSubclassReplace");
var g=b.ImportNow("RegExpSubclassSearch");
var h=b.ImportNow("RegExpSubclassSplit");
var i=b.ImportNow("RegExpSubclassTest");
var j=b.ImportNow("match_symbol");
var k=b.ImportNow("replace_symbol");
var l=b.ImportNow("search_symbol");
var m=b.ImportNow("split_symbol");
b.OverrideFunction(c.prototype,"exec",
d,true);
b.OverrideFunction(c.prototype,j,
e,true);
b.OverrideFunction(c.prototype,k,
f,true);
b.OverrideFunction(c.prototype,l,
g,true);
b.OverrideFunction(c.prototype,m,
h,true);
b.OverrideFunction(c.prototype,"test",
i,true);
})

dharmony-sharedarraybufferE
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.SharedArrayBuffer;
var d;
b.Import(function(e){
d=e.MakeTypeError;
})
function SharedArrayBufferGetByteLen(){
if(!(%_ClassOf(this)==='SharedArrayBuffer')){
throw d(44,
'SharedArrayBuffer.prototype.byteLength',this);
}
return %_ArrayBufferGetByteLength(this);
}
b.InstallGetter(c.prototype,"byteLength",
SharedArrayBufferGetByteLen);
})

0harmony-simd–²
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.SIMD;
var d;
var e=b.ImportNow("to_string_tag_symbol");
b.Import(function(f){
d=f.MakeTypeError;
});
var g=c.Float32x4;


var h=c.Int32x4;

var i=c.Int16x8;

var j=c.Int8x16;


var k=c.Uint32x4;

var l=c.Uint16x8;

var m=c.Uint8x16;


var n=c.Bool32x4;

var o=c.Bool16x8;

var p=c.Bool8x16;



function Float32x4CheckJS(q){
return %Float32x4Check(q);
}
function Float32x4ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='float32x4'){
throw d(44,
"Float32x4.prototype.toString",this);
}
var s="SIMD.Float32x4(";
s+=%Float32x4ExtractLane(r,0);
for(var t=1;t<4;t++){
s+=", "+%Float32x4ExtractLane(r,t);
}
return s+")";
}
function Float32x4ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='float32x4'){
throw d(44,
"Float32x4.prototype.toLocaleString",this);
}
var s="SIMD.Float32x4(";
s+=%Float32x4ExtractLane(r,0).toLocaleString();
for(var t=1;t<4;t++){
s+=", "+%Float32x4ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Float32x4ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='float32x4'){
throw d(44,
"Float32x4.prototype.valueOf",this);
}
return r;
}
function Float32x4ExtractLaneJS(u,v){
return %Float32x4ExtractLane(u,v);
}


function Int32x4CheckJS(q){
return %Int32x4Check(q);
}
function Int32x4ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='int32x4'){
throw d(44,
"Int32x4.prototype.toString",this);
}
var s="SIMD.Int32x4(";
s+=%Int32x4ExtractLane(r,0);
for(var t=1;t<4;t++){
s+=", "+%Int32x4ExtractLane(r,t);
}
return s+")";
}
function Int32x4ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='int32x4'){
throw d(44,
"Int32x4.prototype.toLocaleString",this);
}
var s="SIMD.Int32x4(";
s+=%Int32x4ExtractLane(r,0).toLocaleString();
for(var t=1;t<4;t++){
s+=", "+%Int32x4ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Int32x4ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='int32x4'){
throw d(44,
"Int32x4.prototype.valueOf",this);
}
return r;
}
function Int32x4ExtractLaneJS(u,v){
return %Int32x4ExtractLane(u,v);
}

function Int16x8CheckJS(q){
return %Int16x8Check(q);
}
function Int16x8ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='int16x8'){
throw d(44,
"Int16x8.prototype.toString",this);
}
var s="SIMD.Int16x8(";
s+=%Int16x8ExtractLane(r,0);
for(var t=1;t<8;t++){
s+=", "+%Int16x8ExtractLane(r,t);
}
return s+")";
}
function Int16x8ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='int16x8'){
throw d(44,
"Int16x8.prototype.toLocaleString",this);
}
var s="SIMD.Int16x8(";
s+=%Int16x8ExtractLane(r,0).toLocaleString();
for(var t=1;t<8;t++){
s+=", "+%Int16x8ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Int16x8ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='int16x8'){
throw d(44,
"Int16x8.prototype.valueOf",this);
}
return r;
}
function Int16x8ExtractLaneJS(u,v){
return %Int16x8ExtractLane(u,v);
}

function Int8x16CheckJS(q){
return %Int8x16Check(q);
}
function Int8x16ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='int8x16'){
throw d(44,
"Int8x16.prototype.toString",this);
}
var s="SIMD.Int8x16(";
s+=%Int8x16ExtractLane(r,0);
for(var t=1;t<16;t++){
s+=", "+%Int8x16ExtractLane(r,t);
}
return s+")";
}
function Int8x16ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='int8x16'){
throw d(44,
"Int8x16.prototype.toLocaleString",this);
}
var s="SIMD.Int8x16(";
s+=%Int8x16ExtractLane(r,0).toLocaleString();
for(var t=1;t<16;t++){
s+=", "+%Int8x16ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Int8x16ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='int8x16'){
throw d(44,
"Int8x16.prototype.valueOf",this);
}
return r;
}
function Int8x16ExtractLaneJS(u,v){
return %Int8x16ExtractLane(u,v);
}


function Uint32x4CheckJS(q){
return %Uint32x4Check(q);
}
function Uint32x4ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint32x4'){
throw d(44,
"Uint32x4.prototype.toString",this);
}
var s="SIMD.Uint32x4(";
s+=%Uint32x4ExtractLane(r,0);
for(var t=1;t<4;t++){
s+=", "+%Uint32x4ExtractLane(r,t);
}
return s+")";
}
function Uint32x4ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint32x4'){
throw d(44,
"Uint32x4.prototype.toLocaleString",this);
}
var s="SIMD.Uint32x4(";
s+=%Uint32x4ExtractLane(r,0).toLocaleString();
for(var t=1;t<4;t++){
s+=", "+%Uint32x4ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Uint32x4ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint32x4'){
throw d(44,
"Uint32x4.prototype.valueOf",this);
}
return r;
}
function Uint32x4ExtractLaneJS(u,v){
return %Uint32x4ExtractLane(u,v);
}

function Uint16x8CheckJS(q){
return %Uint16x8Check(q);
}
function Uint16x8ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint16x8'){
throw d(44,
"Uint16x8.prototype.toString",this);
}
var s="SIMD.Uint16x8(";
s+=%Uint16x8ExtractLane(r,0);
for(var t=1;t<8;t++){
s+=", "+%Uint16x8ExtractLane(r,t);
}
return s+")";
}
function Uint16x8ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint16x8'){
throw d(44,
"Uint16x8.prototype.toLocaleString",this);
}
var s="SIMD.Uint16x8(";
s+=%Uint16x8ExtractLane(r,0).toLocaleString();
for(var t=1;t<8;t++){
s+=", "+%Uint16x8ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Uint16x8ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint16x8'){
throw d(44,
"Uint16x8.prototype.valueOf",this);
}
return r;
}
function Uint16x8ExtractLaneJS(u,v){
return %Uint16x8ExtractLane(u,v);
}

function Uint8x16CheckJS(q){
return %Uint8x16Check(q);
}
function Uint8x16ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint8x16'){
throw d(44,
"Uint8x16.prototype.toString",this);
}
var s="SIMD.Uint8x16(";
s+=%Uint8x16ExtractLane(r,0);
for(var t=1;t<16;t++){
s+=", "+%Uint8x16ExtractLane(r,t);
}
return s+")";
}
function Uint8x16ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint8x16'){
throw d(44,
"Uint8x16.prototype.toLocaleString",this);
}
var s="SIMD.Uint8x16(";
s+=%Uint8x16ExtractLane(r,0).toLocaleString();
for(var t=1;t<16;t++){
s+=", "+%Uint8x16ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Uint8x16ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='uint8x16'){
throw d(44,
"Uint8x16.prototype.valueOf",this);
}
return r;
}
function Uint8x16ExtractLaneJS(u,v){
return %Uint8x16ExtractLane(u,v);
}


function Bool32x4CheckJS(q){
return %Bool32x4Check(q);
}
function Bool32x4ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool32x4'){
throw d(44,
"Bool32x4.prototype.toString",this);
}
var s="SIMD.Bool32x4(";
s+=%Bool32x4ExtractLane(r,0);
for(var t=1;t<4;t++){
s+=", "+%Bool32x4ExtractLane(r,t);
}
return s+")";
}
function Bool32x4ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool32x4'){
throw d(44,
"Bool32x4.prototype.toLocaleString",this);
}
var s="SIMD.Bool32x4(";
s+=%Bool32x4ExtractLane(r,0).toLocaleString();
for(var t=1;t<4;t++){
s+=", "+%Bool32x4ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Bool32x4ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool32x4'){
throw d(44,
"Bool32x4.prototype.valueOf",this);
}
return r;
}
function Bool32x4ExtractLaneJS(u,v){
return %Bool32x4ExtractLane(u,v);
}

function Bool16x8CheckJS(q){
return %Bool16x8Check(q);
}
function Bool16x8ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool16x8'){
throw d(44,
"Bool16x8.prototype.toString",this);
}
var s="SIMD.Bool16x8(";
s+=%Bool16x8ExtractLane(r,0);
for(var t=1;t<8;t++){
s+=", "+%Bool16x8ExtractLane(r,t);
}
return s+")";
}
function Bool16x8ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool16x8'){
throw d(44,
"Bool16x8.prototype.toLocaleString",this);
}
var s="SIMD.Bool16x8(";
s+=%Bool16x8ExtractLane(r,0).toLocaleString();
for(var t=1;t<8;t++){
s+=", "+%Bool16x8ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Bool16x8ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool16x8'){
throw d(44,
"Bool16x8.prototype.valueOf",this);
}
return r;
}
function Bool16x8ExtractLaneJS(u,v){
return %Bool16x8ExtractLane(u,v);
}

function Bool8x16CheckJS(q){
return %Bool8x16Check(q);
}
function Bool8x16ToString(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool8x16'){
throw d(44,
"Bool8x16.prototype.toString",this);
}
var s="SIMD.Bool8x16(";
s+=%Bool8x16ExtractLane(r,0);
for(var t=1;t<16;t++){
s+=", "+%Bool8x16ExtractLane(r,t);
}
return s+")";
}
function Bool8x16ToLocaleString(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool8x16'){
throw d(44,
"Bool8x16.prototype.toLocaleString",this);
}
var s="SIMD.Bool8x16(";
s+=%Bool8x16ExtractLane(r,0).toLocaleString();
for(var t=1;t<16;t++){
s+=", "+%Bool8x16ExtractLane(r,t).toLocaleString();
}
return s+")";
}
function Bool8x16ValueOf(){
var r=%_ValueOf(this);
if(typeof(r)!=='bool8x16'){
throw d(44,
"Bool8x16.prototype.valueOf",this);
}
return r;
}
function Bool8x16ExtractLaneJS(u,v){
return %Bool8x16ExtractLane(u,v);
}



function Int32x4ShiftLeftByScalarJS(u,w){
return %Int32x4ShiftLeftByScalar(u,w);
}
function Int32x4ShiftRightByScalarJS(u,w){
return %Int32x4ShiftRightByScalar(u,w);
}

function Int16x8ShiftLeftByScalarJS(u,w){
return %Int16x8ShiftLeftByScalar(u,w);
}
function Int16x8ShiftRightByScalarJS(u,w){
return %Int16x8ShiftRightByScalar(u,w);
}

function Int8x16ShiftLeftByScalarJS(u,w){
return %Int8x16ShiftLeftByScalar(u,w);
}
function Int8x16ShiftRightByScalarJS(u,w){
return %Int8x16ShiftRightByScalar(u,w);
}


function Uint32x4ShiftLeftByScalarJS(u,w){
return %Uint32x4ShiftLeftByScalar(u,w);
}
function Uint32x4ShiftRightByScalarJS(u,w){
return %Uint32x4ShiftRightByScalar(u,w);
}

function Uint16x8ShiftLeftByScalarJS(u,w){
return %Uint16x8ShiftLeftByScalar(u,w);
}
function Uint16x8ShiftRightByScalarJS(u,w){
return %Uint16x8ShiftRightByScalar(u,w);
}

function Uint8x16ShiftLeftByScalarJS(u,w){
return %Uint8x16ShiftLeftByScalar(u,w);
}
function Uint8x16ShiftRightByScalarJS(u,w){
return %Uint8x16ShiftRightByScalar(u,w);
}


function Int16x8AddSaturateJS(q,x){
return %Int16x8AddSaturate(q,x);
}
function Int16x8SubSaturateJS(q,x){
return %Int16x8SubSaturate(q,x);
}

function Int8x16AddSaturateJS(q,x){
return %Int8x16AddSaturate(q,x);
}
function Int8x16SubSaturateJS(q,x){
return %Int8x16SubSaturate(q,x);
}

function Uint8x16AddSaturateJS(q,x){
return %Uint8x16AddSaturate(q,x);
}
function Uint8x16SubSaturateJS(q,x){
return %Uint8x16SubSaturate(q,x);
}

function Uint16x8AddSaturateJS(q,x){
return %Uint16x8AddSaturate(q,x);
}
function Uint16x8SubSaturateJS(q,x){
return %Uint16x8SubSaturate(q,x);
}


function Float32x4NegJS(q){
return %Float32x4Neg(q);
}


function Int32x4NegJS(q){
return %Int32x4Neg(q);
}

function Int16x8NegJS(q){
return %Int16x8Neg(q);
}

function Int8x16NegJS(q){
return %Int8x16Neg(q);
}


function Bool32x4ReplaceLaneJS(u,v,r){
return %Bool32x4ReplaceLane(u,v,r);
}
function Bool32x4AnyTrueJS(y){
return %Bool32x4AnyTrue(y);
}
function Bool32x4AllTrueJS(y){
return %Bool32x4AllTrue(y);
}

function Bool16x8ReplaceLaneJS(u,v,r){
return %Bool16x8ReplaceLane(u,v,r);
}
function Bool16x8AnyTrueJS(y){
return %Bool16x8AnyTrue(y);
}
function Bool16x8AllTrueJS(y){
return %Bool16x8AllTrue(y);
}

function Bool8x16ReplaceLaneJS(u,v,r){
return %Bool8x16ReplaceLane(u,v,r);
}
function Bool8x16AnyTrueJS(y){
return %Bool8x16AnyTrue(y);
}
function Bool8x16AllTrueJS(y){
return %Bool8x16AllTrue(y);
}


function Float32x4ReplaceLaneJS(u,v,r){
return %Float32x4ReplaceLane(u,v,(%_ToNumber(r)));
}
function Float32x4SelectJS(z,q,x){
return %Float32x4Select(z,q,x);
}
function Float32x4AddJS(q,x){
return %Float32x4Add(q,x);
}
function Float32x4SubJS(q,x){
return %Float32x4Sub(q,x);
}
function Float32x4MulJS(q,x){
return %Float32x4Mul(q,x);
}
function Float32x4MinJS(q,x){
return %Float32x4Min(q,x);
}
function Float32x4MaxJS(q,x){
return %Float32x4Max(q,x);
}
function Float32x4EqualJS(q,x){
return %Float32x4Equal(q,x);
}
function Float32x4NotEqualJS(q,x){
return %Float32x4NotEqual(q,x);
}
function Float32x4LessThanJS(q,x){
return %Float32x4LessThan(q,x);
}
function Float32x4LessThanOrEqualJS(q,x){
return %Float32x4LessThanOrEqual(q,x);
}
function Float32x4GreaterThanJS(q,x){
return %Float32x4GreaterThan(q,x);
}
function Float32x4GreaterThanOrEqualJS(q,x){
return %Float32x4GreaterThanOrEqual(q,x);
}
function Float32x4LoadJS(A,B){
return %Float32x4Load(A,B);
}
function Float32x4StoreJS(A,B,q){
return %Float32x4Store(A,B,q);
}


function Int32x4ReplaceLaneJS(u,v,r){
return %Int32x4ReplaceLane(u,v,(%_ToNumber(r)));
}
function Int32x4SelectJS(z,q,x){
return %Int32x4Select(z,q,x);
}
function Int32x4AddJS(q,x){
return %Int32x4Add(q,x);
}
function Int32x4SubJS(q,x){
return %Int32x4Sub(q,x);
}
function Int32x4MulJS(q,x){
return %Int32x4Mul(q,x);
}
function Int32x4MinJS(q,x){
return %Int32x4Min(q,x);
}
function Int32x4MaxJS(q,x){
return %Int32x4Max(q,x);
}
function Int32x4EqualJS(q,x){
return %Int32x4Equal(q,x);
}
function Int32x4NotEqualJS(q,x){
return %Int32x4NotEqual(q,x);
}
function Int32x4LessThanJS(q,x){
return %Int32x4LessThan(q,x);
}
function Int32x4LessThanOrEqualJS(q,x){
return %Int32x4LessThanOrEqual(q,x);
}
function Int32x4GreaterThanJS(q,x){
return %Int32x4GreaterThan(q,x);
}
function Int32x4GreaterThanOrEqualJS(q,x){
return %Int32x4GreaterThanOrEqual(q,x);
}
function Int32x4LoadJS(A,B){
return %Int32x4Load(A,B);
}
function Int32x4StoreJS(A,B,q){
return %Int32x4Store(A,B,q);
}

function Int16x8ReplaceLaneJS(u,v,r){
return %Int16x8ReplaceLane(u,v,(%_ToNumber(r)));
}
function Int16x8SelectJS(z,q,x){
return %Int16x8Select(z,q,x);
}
function Int16x8AddJS(q,x){
return %Int16x8Add(q,x);
}
function Int16x8SubJS(q,x){
return %Int16x8Sub(q,x);
}
function Int16x8MulJS(q,x){
return %Int16x8Mul(q,x);
}
function Int16x8MinJS(q,x){
return %Int16x8Min(q,x);
}
function Int16x8MaxJS(q,x){
return %Int16x8Max(q,x);
}
function Int16x8EqualJS(q,x){
return %Int16x8Equal(q,x);
}
function Int16x8NotEqualJS(q,x){
return %Int16x8NotEqual(q,x);
}
function Int16x8LessThanJS(q,x){
return %Int16x8LessThan(q,x);
}
function Int16x8LessThanOrEqualJS(q,x){
return %Int16x8LessThanOrEqual(q,x);
}
function Int16x8GreaterThanJS(q,x){
return %Int16x8GreaterThan(q,x);
}
function Int16x8GreaterThanOrEqualJS(q,x){
return %Int16x8GreaterThanOrEqual(q,x);
}
function Int16x8LoadJS(A,B){
return %Int16x8Load(A,B);
}
function Int16x8StoreJS(A,B,q){
return %Int16x8Store(A,B,q);
}

function Int8x16ReplaceLaneJS(u,v,r){
return %Int8x16ReplaceLane(u,v,(%_ToNumber(r)));
}
function Int8x16SelectJS(z,q,x){
return %Int8x16Select(z,q,x);
}
function Int8x16AddJS(q,x){
return %Int8x16Add(q,x);
}
function Int8x16SubJS(q,x){
return %Int8x16Sub(q,x);
}
function Int8x16MulJS(q,x){
return %Int8x16Mul(q,x);
}
function Int8x16MinJS(q,x){
return %Int8x16Min(q,x);
}
function Int8x16MaxJS(q,x){
return %Int8x16Max(q,x);
}
function Int8x16EqualJS(q,x){
return %Int8x16Equal(q,x);
}
function Int8x16NotEqualJS(q,x){
return %Int8x16NotEqual(q,x);
}
function Int8x16LessThanJS(q,x){
return %Int8x16LessThan(q,x);
}
function Int8x16LessThanOrEqualJS(q,x){
return %Int8x16LessThanOrEqual(q,x);
}
function Int8x16GreaterThanJS(q,x){
return %Int8x16GreaterThan(q,x);
}
function Int8x16GreaterThanOrEqualJS(q,x){
return %Int8x16GreaterThanOrEqual(q,x);
}
function Int8x16LoadJS(A,B){
return %Int8x16Load(A,B);
}
function Int8x16StoreJS(A,B,q){
return %Int8x16Store(A,B,q);
}


function Uint32x4ReplaceLaneJS(u,v,r){
return %Uint32x4ReplaceLane(u,v,(%_ToNumber(r)));
}
function Uint32x4SelectJS(z,q,x){
return %Uint32x4Select(z,q,x);
}
function Uint32x4AddJS(q,x){
return %Uint32x4Add(q,x);
}
function Uint32x4SubJS(q,x){
return %Uint32x4Sub(q,x);
}
function Uint32x4MulJS(q,x){
return %Uint32x4Mul(q,x);
}
function Uint32x4MinJS(q,x){
return %Uint32x4Min(q,x);
}
function Uint32x4MaxJS(q,x){
return %Uint32x4Max(q,x);
}
function Uint32x4EqualJS(q,x){
return %Uint32x4Equal(q,x);
}
function Uint32x4NotEqualJS(q,x){
return %Uint32x4NotEqual(q,x);
}
function Uint32x4LessThanJS(q,x){
return %Uint32x4LessThan(q,x);
}
function Uint32x4LessThanOrEqualJS(q,x){
return %Uint32x4LessThanOrEqual(q,x);
}
function Uint32x4GreaterThanJS(q,x){
return %Uint32x4GreaterThan(q,x);
}
function Uint32x4GreaterThanOrEqualJS(q,x){
return %Uint32x4GreaterThanOrEqual(q,x);
}
function Uint32x4LoadJS(A,B){
return %Uint32x4Load(A,B);
}
function Uint32x4StoreJS(A,B,q){
return %Uint32x4Store(A,B,q);
}

function Uint16x8ReplaceLaneJS(u,v,r){
return %Uint16x8ReplaceLane(u,v,(%_ToNumber(r)));
}
function Uint16x8SelectJS(z,q,x){
return %Uint16x8Select(z,q,x);
}
function Uint16x8AddJS(q,x){
return %Uint16x8Add(q,x);
}
function Uint16x8SubJS(q,x){
return %Uint16x8Sub(q,x);
}
function Uint16x8MulJS(q,x){
return %Uint16x8Mul(q,x);
}
function Uint16x8MinJS(q,x){
return %Uint16x8Min(q,x);
}
function Uint16x8MaxJS(q,x){
return %Uint16x8Max(q,x);
}
function Uint16x8EqualJS(q,x){
return %Uint16x8Equal(q,x);
}
function Uint16x8NotEqualJS(q,x){
return %Uint16x8NotEqual(q,x);
}
function Uint16x8LessThanJS(q,x){
return %Uint16x8LessThan(q,x);
}
function Uint16x8LessThanOrEqualJS(q,x){
return %Uint16x8LessThanOrEqual(q,x);
}
function Uint16x8GreaterThanJS(q,x){
return %Uint16x8GreaterThan(q,x);
}
function Uint16x8GreaterThanOrEqualJS(q,x){
return %Uint16x8GreaterThanOrEqual(q,x);
}
function Uint16x8LoadJS(A,B){
return %Uint16x8Load(A,B);
}
function Uint16x8StoreJS(A,B,q){
return %Uint16x8Store(A,B,q);
}

function Uint8x16ReplaceLaneJS(u,v,r){
return %Uint8x16ReplaceLane(u,v,(%_ToNumber(r)));
}
function Uint8x16SelectJS(z,q,x){
return %Uint8x16Select(z,q,x);
}
function Uint8x16AddJS(q,x){
return %Uint8x16Add(q,x);
}
function Uint8x16SubJS(q,x){
return %Uint8x16Sub(q,x);
}
function Uint8x16MulJS(q,x){
return %Uint8x16Mul(q,x);
}
function Uint8x16MinJS(q,x){
return %Uint8x16Min(q,x);
}
function Uint8x16MaxJS(q,x){
return %Uint8x16Max(q,x);
}
function Uint8x16EqualJS(q,x){
return %Uint8x16Equal(q,x);
}
function Uint8x16NotEqualJS(q,x){
return %Uint8x16NotEqual(q,x);
}
function Uint8x16LessThanJS(q,x){
return %Uint8x16LessThan(q,x);
}
function Uint8x16LessThanOrEqualJS(q,x){
return %Uint8x16LessThanOrEqual(q,x);
}
function Uint8x16GreaterThanJS(q,x){
return %Uint8x16GreaterThan(q,x);
}
function Uint8x16GreaterThanOrEqualJS(q,x){
return %Uint8x16GreaterThanOrEqual(q,x);
}
function Uint8x16LoadJS(A,B){
return %Uint8x16Load(A,B);
}
function Uint8x16StoreJS(A,B,q){
return %Uint8x16Store(A,B,q);
}



function Int32x4AndJS(q,x){
return %Int32x4And(q,x);
}
function Int32x4OrJS(q,x){
return %Int32x4Or(q,x);
}
function Int32x4XorJS(q,x){
return %Int32x4Xor(q,x);
}
function Int32x4NotJS(q){
return %Int32x4Not(q);
}

function Int16x8AndJS(q,x){
return %Int16x8And(q,x);
}
function Int16x8OrJS(q,x){
return %Int16x8Or(q,x);
}
function Int16x8XorJS(q,x){
return %Int16x8Xor(q,x);
}
function Int16x8NotJS(q){
return %Int16x8Not(q);
}

function Int8x16AndJS(q,x){
return %Int8x16And(q,x);
}
function Int8x16OrJS(q,x){
return %Int8x16Or(q,x);
}
function Int8x16XorJS(q,x){
return %Int8x16Xor(q,x);
}
function Int8x16NotJS(q){
return %Int8x16Not(q);
}


function Uint32x4AndJS(q,x){
return %Uint32x4And(q,x);
}
function Uint32x4OrJS(q,x){
return %Uint32x4Or(q,x);
}
function Uint32x4XorJS(q,x){
return %Uint32x4Xor(q,x);
}
function Uint32x4NotJS(q){
return %Uint32x4Not(q);
}

function Uint16x8AndJS(q,x){
return %Uint16x8And(q,x);
}
function Uint16x8OrJS(q,x){
return %Uint16x8Or(q,x);
}
function Uint16x8XorJS(q,x){
return %Uint16x8Xor(q,x);
}
function Uint16x8NotJS(q){
return %Uint16x8Not(q);
}

function Uint8x16AndJS(q,x){
return %Uint8x16And(q,x);
}
function Uint8x16OrJS(q,x){
return %Uint8x16Or(q,x);
}
function Uint8x16XorJS(q,x){
return %Uint8x16Xor(q,x);
}
function Uint8x16NotJS(q){
return %Uint8x16Not(q);
}


function Bool32x4AndJS(q,x){
return %Bool32x4And(q,x);
}
function Bool32x4OrJS(q,x){
return %Bool32x4Or(q,x);
}
function Bool32x4XorJS(q,x){
return %Bool32x4Xor(q,x);
}
function Bool32x4NotJS(q){
return %Bool32x4Not(q);
}

function Bool16x8AndJS(q,x){
return %Bool16x8And(q,x);
}
function Bool16x8OrJS(q,x){
return %Bool16x8Or(q,x);
}
function Bool16x8XorJS(q,x){
return %Bool16x8Xor(q,x);
}
function Bool16x8NotJS(q){
return %Bool16x8Not(q);
}

function Bool8x16AndJS(q,x){
return %Bool8x16And(q,x);
}
function Bool8x16OrJS(q,x){
return %Bool8x16Or(q,x);
}
function Bool8x16XorJS(q,x){
return %Bool8x16Xor(q,x);
}
function Bool8x16NotJS(q){
return %Bool8x16Not(q);
}



function Float32x4FromInt32x4JS(q){
return %Float32x4FromInt32x4(q);
}

function Float32x4FromUint32x4JS(q){
return %Float32x4FromUint32x4(q);
}

function Int32x4FromFloat32x4JS(q){
return %Int32x4FromFloat32x4(q);
}

function Int32x4FromUint32x4JS(q){
return %Int32x4FromUint32x4(q);
}

function Uint32x4FromFloat32x4JS(q){
return %Uint32x4FromFloat32x4(q);
}

function Uint32x4FromInt32x4JS(q){
return %Uint32x4FromInt32x4(q);
}

function Int16x8FromUint16x8JS(q){
return %Int16x8FromUint16x8(q);
}

function Uint16x8FromInt16x8JS(q){
return %Uint16x8FromInt16x8(q);
}

function Int8x16FromUint8x16JS(q){
return %Int8x16FromUint8x16(q);
}

function Uint8x16FromInt8x16JS(q){
return %Uint8x16FromInt8x16(q);
}


function Float32x4FromInt32x4BitsJS(q){
return %Float32x4FromInt32x4Bits(q);
}

function Float32x4FromUint32x4BitsJS(q){
return %Float32x4FromUint32x4Bits(q);
}

function Float32x4FromInt16x8BitsJS(q){
return %Float32x4FromInt16x8Bits(q);
}

function Float32x4FromUint16x8BitsJS(q){
return %Float32x4FromUint16x8Bits(q);
}

function Float32x4FromInt8x16BitsJS(q){
return %Float32x4FromInt8x16Bits(q);
}

function Float32x4FromUint8x16BitsJS(q){
return %Float32x4FromUint8x16Bits(q);
}

function Int32x4FromFloat32x4BitsJS(q){
return %Int32x4FromFloat32x4Bits(q);
}

function Int32x4FromUint32x4BitsJS(q){
return %Int32x4FromUint32x4Bits(q);
}

function Int32x4FromInt16x8BitsJS(q){
return %Int32x4FromInt16x8Bits(q);
}

function Int32x4FromUint16x8BitsJS(q){
return %Int32x4FromUint16x8Bits(q);
}

function Int32x4FromInt8x16BitsJS(q){
return %Int32x4FromInt8x16Bits(q);
}

function Int32x4FromUint8x16BitsJS(q){
return %Int32x4FromUint8x16Bits(q);
}

function Uint32x4FromFloat32x4BitsJS(q){
return %Uint32x4FromFloat32x4Bits(q);
}

function Uint32x4FromInt32x4BitsJS(q){
return %Uint32x4FromInt32x4Bits(q);
}

function Uint32x4FromInt16x8BitsJS(q){
return %Uint32x4FromInt16x8Bits(q);
}

function Uint32x4FromUint16x8BitsJS(q){
return %Uint32x4FromUint16x8Bits(q);
}

function Uint32x4FromInt8x16BitsJS(q){
return %Uint32x4FromInt8x16Bits(q);
}

function Uint32x4FromUint8x16BitsJS(q){
return %Uint32x4FromUint8x16Bits(q);
}

function Int16x8FromFloat32x4BitsJS(q){
return %Int16x8FromFloat32x4Bits(q);
}

function Int16x8FromInt32x4BitsJS(q){
return %Int16x8FromInt32x4Bits(q);
}

function Int16x8FromUint32x4BitsJS(q){
return %Int16x8FromUint32x4Bits(q);
}

function Int16x8FromUint16x8BitsJS(q){
return %Int16x8FromUint16x8Bits(q);
}

function Int16x8FromInt8x16BitsJS(q){
return %Int16x8FromInt8x16Bits(q);
}

function Int16x8FromUint8x16BitsJS(q){
return %Int16x8FromUint8x16Bits(q);
}

function Uint16x8FromFloat32x4BitsJS(q){
return %Uint16x8FromFloat32x4Bits(q);
}

function Uint16x8FromInt32x4BitsJS(q){
return %Uint16x8FromInt32x4Bits(q);
}

function Uint16x8FromUint32x4BitsJS(q){
return %Uint16x8FromUint32x4Bits(q);
}

function Uint16x8FromInt16x8BitsJS(q){
return %Uint16x8FromInt16x8Bits(q);
}

function Uint16x8FromInt8x16BitsJS(q){
return %Uint16x8FromInt8x16Bits(q);
}

function Uint16x8FromUint8x16BitsJS(q){
return %Uint16x8FromUint8x16Bits(q);
}

function Int8x16FromFloat32x4BitsJS(q){
return %Int8x16FromFloat32x4Bits(q);
}

function Int8x16FromInt32x4BitsJS(q){
return %Int8x16FromInt32x4Bits(q);
}

function Int8x16FromUint32x4BitsJS(q){
return %Int8x16FromUint32x4Bits(q);
}

function Int8x16FromInt16x8BitsJS(q){
return %Int8x16FromInt16x8Bits(q);
}

function Int8x16FromUint16x8BitsJS(q){
return %Int8x16FromUint16x8Bits(q);
}

function Int8x16FromUint8x16BitsJS(q){
return %Int8x16FromUint8x16Bits(q);
}

function Uint8x16FromFloat32x4BitsJS(q){
return %Uint8x16FromFloat32x4Bits(q);
}

function Uint8x16FromInt32x4BitsJS(q){
return %Uint8x16FromInt32x4Bits(q);
}

function Uint8x16FromUint32x4BitsJS(q){
return %Uint8x16FromUint32x4Bits(q);
}

function Uint8x16FromInt16x8BitsJS(q){
return %Uint8x16FromInt16x8Bits(q);
}

function Uint8x16FromUint16x8BitsJS(q){
return %Uint8x16FromUint16x8Bits(q);
}

function Uint8x16FromInt8x16BitsJS(q){
return %Uint8x16FromInt8x16Bits(q);
}


function Float32x4Load1JS(A,B){
return %Float32x4Load1(A,B);
}
function Float32x4Store1JS(A,B,q){
return %Float32x4Store1(A,B,q);
}

function Float32x4Load2JS(A,B){
return %Float32x4Load2(A,B);
}
function Float32x4Store2JS(A,B,q){
return %Float32x4Store2(A,B,q);
}

function Float32x4Load3JS(A,B){
return %Float32x4Load3(A,B);
}
function Float32x4Store3JS(A,B,q){
return %Float32x4Store3(A,B,q);
}

function Int32x4Load1JS(A,B){
return %Int32x4Load1(A,B);
}
function Int32x4Store1JS(A,B,q){
return %Int32x4Store1(A,B,q);
}

function Int32x4Load2JS(A,B){
return %Int32x4Load2(A,B);
}
function Int32x4Store2JS(A,B,q){
return %Int32x4Store2(A,B,q);
}

function Int32x4Load3JS(A,B){
return %Int32x4Load3(A,B);
}
function Int32x4Store3JS(A,B,q){
return %Int32x4Store3(A,B,q);
}

function Uint32x4Load1JS(A,B){
return %Uint32x4Load1(A,B);
}
function Uint32x4Store1JS(A,B,q){
return %Uint32x4Store1(A,B,q);
}

function Uint32x4Load2JS(A,B){
return %Uint32x4Load2(A,B);
}
function Uint32x4Store2JS(A,B,q){
return %Uint32x4Store2(A,B,q);
}

function Uint32x4Load3JS(A,B){
return %Uint32x4Load3(A,B);
}
function Uint32x4Store3JS(A,B,q){
return %Uint32x4Store3(A,B,q);
}


function Float32x4Splat(y){
return %CreateFloat32x4(y,y,y,y);
}
function Float32x4SwizzleJS(q,C,D,E,F){
return %Float32x4Swizzle(q,C,D,E,F);
}
function Float32x4ShuffleJS(q,x,C,D,E,F){
return %Float32x4Shuffle(q,x,C,D,E,F);
}

function Int32x4Splat(y){
return %CreateInt32x4(y,y,y,y);
}
function Int32x4SwizzleJS(q,C,D,E,F){
return %Int32x4Swizzle(q,C,D,E,F);
}
function Int32x4ShuffleJS(q,x,C,D,E,F){
return %Int32x4Shuffle(q,x,C,D,E,F);
}

function Uint32x4Splat(y){
return %CreateUint32x4(y,y,y,y);
}
function Uint32x4SwizzleJS(q,C,D,E,F){
return %Uint32x4Swizzle(q,C,D,E,F);
}
function Uint32x4ShuffleJS(q,x,C,D,E,F){
return %Uint32x4Shuffle(q,x,C,D,E,F);
}

function Bool32x4Splat(y){
return %CreateBool32x4(y,y,y,y);
}
function Bool32x4SwizzleJS(q,C,D,E,F){
return %Bool32x4Swizzle(q,C,D,E,F);
}
function Bool32x4ShuffleJS(q,x,C,D,E,F){
return %Bool32x4Shuffle(q,x,C,D,E,F);
}


function Int16x8Splat(y){
return %CreateInt16x8(y,y,y,y,y,y,y,y);
}
function Int16x8SwizzleJS(q,C,D,E,F,G,H,I,J){
return %Int16x8Swizzle(q,C,D,E,F,G,H,I,J);
}
function Int16x8ShuffleJS(q,x,C,D,E,F,G,H,I,J){
return %Int16x8Shuffle(q,x,C,D,E,F,G,H,I,J);
}

function Uint16x8Splat(y){
return %CreateUint16x8(y,y,y,y,y,y,y,y);
}
function Uint16x8SwizzleJS(q,C,D,E,F,G,H,I,J){
return %Uint16x8Swizzle(q,C,D,E,F,G,H,I,J);
}
function Uint16x8ShuffleJS(q,x,C,D,E,F,G,H,I,J){
return %Uint16x8Shuffle(q,x,C,D,E,F,G,H,I,J);
}

function Bool16x8Splat(y){
return %CreateBool16x8(y,y,y,y,y,y,y,y);
}
function Bool16x8SwizzleJS(q,C,D,E,F,G,H,I,J){
return %Bool16x8Swizzle(q,C,D,E,F,G,H,I,J);
}
function Bool16x8ShuffleJS(q,x,C,D,E,F,G,H,I,J){
return %Bool16x8Shuffle(q,x,C,D,E,F,G,H,I,J);
}


function Int8x16Splat(y){
return %CreateInt8x16(y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y);
}
function Int8x16SwizzleJS(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15){
return %Int8x16Swizzle(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15);
}
function Int8x16ShuffleJS(q,x,C,D,E,F,G,H,I,J,c8,c9,c10,
c11,c12,c13,c14,c15){
return %Int8x16Shuffle(q,x,C,D,E,F,G,H,I,J,c8,c9,c10,
c11,c12,c13,c14,c15);
}

function Uint8x16Splat(y){
return %CreateUint8x16(y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y);
}
function Uint8x16SwizzleJS(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15){
return %Uint8x16Swizzle(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15);
}
function Uint8x16ShuffleJS(q,x,C,D,E,F,G,H,I,J,c8,c9,c10,
c11,c12,c13,c14,c15){
return %Uint8x16Shuffle(q,x,C,D,E,F,G,H,I,J,c8,c9,c10,
c11,c12,c13,c14,c15);
}

function Bool8x16Splat(y){
return %CreateBool8x16(y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y);
}
function Bool8x16SwizzleJS(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15){
return %Bool8x16Swizzle(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15);
}
function Bool8x16ShuffleJS(q,x,C,D,E,F,G,H,I,J,c8,c9,c10,
c11,c12,c13,c14,c15){
return %Bool8x16Shuffle(q,x,C,D,E,F,G,H,I,J,c8,c9,c10,
c11,c12,c13,c14,c15);
}


function Float32x4Constructor(C,D,E,F){
if(!(new.target===(void 0))){
throw d(66,"Float32x4");
}
return %CreateFloat32x4((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)));
}
function Int32x4Constructor(C,D,E,F){
if(!(new.target===(void 0))){
throw d(66,"Int32x4");
}
return %CreateInt32x4((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)));
}
function Uint32x4Constructor(C,D,E,F){
if(!(new.target===(void 0))){
throw d(66,"Uint32x4");
}
return %CreateUint32x4((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)));
}
function Bool32x4Constructor(C,D,E,F){
if(!(new.target===(void 0))){
throw d(66,"Bool32x4");
}
return %CreateBool32x4(C,D,E,F);
}
function Int16x8Constructor(C,D,E,F,G,H,I,J){
if(!(new.target===(void 0))){
throw d(66,"Int16x8");
}
return %CreateInt16x8((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)),
(%_ToNumber(G)),(%_ToNumber(H)),
(%_ToNumber(I)),(%_ToNumber(J)));
}
function Uint16x8Constructor(C,D,E,F,G,H,I,J){
if(!(new.target===(void 0))){
throw d(66,"Uint16x8");
}
return %CreateUint16x8((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)),
(%_ToNumber(G)),(%_ToNumber(H)),
(%_ToNumber(I)),(%_ToNumber(J)));
}
function Bool16x8Constructor(C,D,E,F,G,H,I,J){
if(!(new.target===(void 0))){
throw d(66,"Bool16x8");
}
return %CreateBool16x8(C,D,E,F,G,H,I,J);
}
function Int8x16Constructor(C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15){
if(!(new.target===(void 0))){
throw d(66,"Int8x16");
}
return %CreateInt8x16((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)),
(%_ToNumber(G)),(%_ToNumber(H)),
(%_ToNumber(I)),(%_ToNumber(J)),
(%_ToNumber(c8)),(%_ToNumber(c9)),
(%_ToNumber(c10)),(%_ToNumber(c11)),
(%_ToNumber(c12)),(%_ToNumber(c13)),
(%_ToNumber(c14)),(%_ToNumber(c15)));
}
function Uint8x16Constructor(C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15){
if(!(new.target===(void 0))){
throw d(66,"Uint8x16");
}
return %CreateUint8x16((%_ToNumber(C)),(%_ToNumber(D)),
(%_ToNumber(E)),(%_ToNumber(F)),
(%_ToNumber(G)),(%_ToNumber(H)),
(%_ToNumber(I)),(%_ToNumber(J)),
(%_ToNumber(c8)),(%_ToNumber(c9)),
(%_ToNumber(c10)),(%_ToNumber(c11)),
(%_ToNumber(c12)),(%_ToNumber(c13)),
(%_ToNumber(c14)),(%_ToNumber(c15)));
}
function Bool8x16Constructor(C,D,E,F,G,H,I,J,c8,c9,c10,c11,
c12,c13,c14,c15){
if(!(new.target===(void 0))){
throw d(66,"Bool8x16");
}
return %CreateBool8x16(C,D,E,F,G,H,I,J,c8,c9,c10,c11,c12,
c13,c14,c15);
}
function Float32x4AbsJS(q){
return %Float32x4Abs(q);
}
function Float32x4SqrtJS(q){
return %Float32x4Sqrt(q);
}
function Float32x4RecipApproxJS(q){
return %Float32x4RecipApprox(q);
}
function Float32x4RecipSqrtApproxJS(q){
return %Float32x4RecipSqrtApprox(q);
}
function Float32x4DivJS(q,x){
return %Float32x4Div(q,x);
}
function Float32x4MinNumJS(q,x){
return %Float32x4MinNum(q,x);
}
function Float32x4MaxNumJS(q,x){
return %Float32x4MaxNum(q,x);
}
%AddNamedProperty(c,e,'SIMD',1|2);
%SetCode(g,Float32x4Constructor);
%FunctionSetPrototype(g,{});
%AddNamedProperty(g.prototype,'constructor',g,
2);
%AddNamedProperty(g.prototype,e,'Float32x4',
2|1);
b.InstallFunctions(g.prototype,2,[
'toLocaleString',Float32x4ToLocaleString,
'toString',Float32x4ToString,
'valueOf',Float32x4ValueOf,
]);


%SetCode(h,Int32x4Constructor);
%FunctionSetPrototype(h,{});
%AddNamedProperty(h.prototype,'constructor',h,
2);
%AddNamedProperty(h.prototype,e,'Int32x4',
2|1);
b.InstallFunctions(h.prototype,2,[
'toLocaleString',Int32x4ToLocaleString,
'toString',Int32x4ToString,
'valueOf',Int32x4ValueOf,
]);

%SetCode(i,Int16x8Constructor);
%FunctionSetPrototype(i,{});
%AddNamedProperty(i.prototype,'constructor',i,
2);
%AddNamedProperty(i.prototype,e,'Int16x8',
2|1);
b.InstallFunctions(i.prototype,2,[
'toLocaleString',Int16x8ToLocaleString,
'toString',Int16x8ToString,
'valueOf',Int16x8ValueOf,
]);

%SetCode(j,Int8x16Constructor);
%FunctionSetPrototype(j,{});
%AddNamedProperty(j.prototype,'constructor',j,
2);
%AddNamedProperty(j.prototype,e,'Int8x16',
2|1);
b.InstallFunctions(j.prototype,2,[
'toLocaleString',Int8x16ToLocaleString,
'toString',Int8x16ToString,
'valueOf',Int8x16ValueOf,
]);


%SetCode(k,Uint32x4Constructor);
%FunctionSetPrototype(k,{});
%AddNamedProperty(k.prototype,'constructor',k,
2);
%AddNamedProperty(k.prototype,e,'Uint32x4',
2|1);
b.InstallFunctions(k.prototype,2,[
'toLocaleString',Uint32x4ToLocaleString,
'toString',Uint32x4ToString,
'valueOf',Uint32x4ValueOf,
]);

%SetCode(l,Uint16x8Constructor);
%FunctionSetPrototype(l,{});
%AddNamedProperty(l.prototype,'constructor',l,
2);
%AddNamedProperty(l.prototype,e,'Uint16x8',
2|1);
b.InstallFunctions(l.prototype,2,[
'toLocaleString',Uint16x8ToLocaleString,
'toString',Uint16x8ToString,
'valueOf',Uint16x8ValueOf,
]);

%SetCode(m,Uint8x16Constructor);
%FunctionSetPrototype(m,{});
%AddNamedProperty(m.prototype,'constructor',m,
2);
%AddNamedProperty(m.prototype,e,'Uint8x16',
2|1);
b.InstallFunctions(m.prototype,2,[
'toLocaleString',Uint8x16ToLocaleString,
'toString',Uint8x16ToString,
'valueOf',Uint8x16ValueOf,
]);


%SetCode(n,Bool32x4Constructor);
%FunctionSetPrototype(n,{});
%AddNamedProperty(n.prototype,'constructor',n,
2);
%AddNamedProperty(n.prototype,e,'Bool32x4',
2|1);
b.InstallFunctions(n.prototype,2,[
'toLocaleString',Bool32x4ToLocaleString,
'toString',Bool32x4ToString,
'valueOf',Bool32x4ValueOf,
]);

%SetCode(o,Bool16x8Constructor);
%FunctionSetPrototype(o,{});
%AddNamedProperty(o.prototype,'constructor',o,
2);
%AddNamedProperty(o.prototype,e,'Bool16x8',
2|1);
b.InstallFunctions(o.prototype,2,[
'toLocaleString',Bool16x8ToLocaleString,
'toString',Bool16x8ToString,
'valueOf',Bool16x8ValueOf,
]);

%SetCode(p,Bool8x16Constructor);
%FunctionSetPrototype(p,{});
%AddNamedProperty(p.prototype,'constructor',p,
2);
%AddNamedProperty(p.prototype,e,'Bool8x16',
2|1);
b.InstallFunctions(p.prototype,2,[
'toLocaleString',Bool8x16ToLocaleString,
'toString',Bool8x16ToString,
'valueOf',Bool8x16ValueOf,
]);



b.InstallFunctions(g,2,[
'splat',Float32x4Splat,
'check',Float32x4CheckJS,
'extractLane',Float32x4ExtractLaneJS,
'replaceLane',Float32x4ReplaceLaneJS,
'neg',Float32x4NegJS,
'abs',Float32x4AbsJS,
'sqrt',Float32x4SqrtJS,
'reciprocalApproximation',Float32x4RecipApproxJS,
'reciprocalSqrtApproximation',Float32x4RecipSqrtApproxJS,
'add',Float32x4AddJS,
'sub',Float32x4SubJS,
'mul',Float32x4MulJS,
'div',Float32x4DivJS,
'min',Float32x4MinJS,
'max',Float32x4MaxJS,
'minNum',Float32x4MinNumJS,
'maxNum',Float32x4MaxNumJS,
'lessThan',Float32x4LessThanJS,
'lessThanOrEqual',Float32x4LessThanOrEqualJS,
'greaterThan',Float32x4GreaterThanJS,
'greaterThanOrEqual',Float32x4GreaterThanOrEqualJS,
'equal',Float32x4EqualJS,
'notEqual',Float32x4NotEqualJS,
'select',Float32x4SelectJS,
'swizzle',Float32x4SwizzleJS,
'shuffle',Float32x4ShuffleJS,
'fromInt32x4',Float32x4FromInt32x4JS,
'fromUint32x4',Float32x4FromUint32x4JS,
'fromInt32x4Bits',Float32x4FromInt32x4BitsJS,
'fromUint32x4Bits',Float32x4FromUint32x4BitsJS,
'fromInt16x8Bits',Float32x4FromInt16x8BitsJS,
'fromUint16x8Bits',Float32x4FromUint16x8BitsJS,
'fromInt8x16Bits',Float32x4FromInt8x16BitsJS,
'fromUint8x16Bits',Float32x4FromUint8x16BitsJS,
'load',Float32x4LoadJS,
'load1',Float32x4Load1JS,
'load2',Float32x4Load2JS,
'load3',Float32x4Load3JS,
'store',Float32x4StoreJS,
'store1',Float32x4Store1JS,
'store2',Float32x4Store2JS,
'store3',Float32x4Store3JS,
]);
b.InstallFunctions(h,2,[
'splat',Int32x4Splat,
'check',Int32x4CheckJS,
'extractLane',Int32x4ExtractLaneJS,
'replaceLane',Int32x4ReplaceLaneJS,
'neg',Int32x4NegJS,
'add',Int32x4AddJS,
'sub',Int32x4SubJS,
'mul',Int32x4MulJS,
'min',Int32x4MinJS,
'max',Int32x4MaxJS,
'and',Int32x4AndJS,
'or',Int32x4OrJS,
'xor',Int32x4XorJS,
'not',Int32x4NotJS,
'shiftLeftByScalar',Int32x4ShiftLeftByScalarJS,
'shiftRightByScalar',Int32x4ShiftRightByScalarJS,
'lessThan',Int32x4LessThanJS,
'lessThanOrEqual',Int32x4LessThanOrEqualJS,
'greaterThan',Int32x4GreaterThanJS,
'greaterThanOrEqual',Int32x4GreaterThanOrEqualJS,
'equal',Int32x4EqualJS,
'notEqual',Int32x4NotEqualJS,
'select',Int32x4SelectJS,
'swizzle',Int32x4SwizzleJS,
'shuffle',Int32x4ShuffleJS,
'fromFloat32x4',Int32x4FromFloat32x4JS,
'fromUint32x4',Int32x4FromUint32x4JS,
'fromFloat32x4Bits',Int32x4FromFloat32x4BitsJS,
'fromUint32x4Bits',Int32x4FromUint32x4BitsJS,
'fromInt16x8Bits',Int32x4FromInt16x8BitsJS,
'fromUint16x8Bits',Int32x4FromUint16x8BitsJS,
'fromInt8x16Bits',Int32x4FromInt8x16BitsJS,
'fromUint8x16Bits',Int32x4FromUint8x16BitsJS,
'load',Int32x4LoadJS,
'load1',Int32x4Load1JS,
'load2',Int32x4Load2JS,
'load3',Int32x4Load3JS,
'store',Int32x4StoreJS,
'store1',Int32x4Store1JS,
'store2',Int32x4Store2JS,
'store3',Int32x4Store3JS,
]);
b.InstallFunctions(k,2,[
'splat',Uint32x4Splat,
'check',Uint32x4CheckJS,
'extractLane',Uint32x4ExtractLaneJS,
'replaceLane',Uint32x4ReplaceLaneJS,
'add',Uint32x4AddJS,
'sub',Uint32x4SubJS,
'mul',Uint32x4MulJS,
'min',Uint32x4MinJS,
'max',Uint32x4MaxJS,
'and',Uint32x4AndJS,
'or',Uint32x4OrJS,
'xor',Uint32x4XorJS,
'not',Uint32x4NotJS,
'shiftLeftByScalar',Uint32x4ShiftLeftByScalarJS,
'shiftRightByScalar',Uint32x4ShiftRightByScalarJS,
'lessThan',Uint32x4LessThanJS,
'lessThanOrEqual',Uint32x4LessThanOrEqualJS,
'greaterThan',Uint32x4GreaterThanJS,
'greaterThanOrEqual',Uint32x4GreaterThanOrEqualJS,
'equal',Uint32x4EqualJS,
'notEqual',Uint32x4NotEqualJS,
'select',Uint32x4SelectJS,
'swizzle',Uint32x4SwizzleJS,
'shuffle',Uint32x4ShuffleJS,
'fromFloat32x4',Uint32x4FromFloat32x4JS,
'fromInt32x4',Uint32x4FromInt32x4JS,
'fromFloat32x4Bits',Uint32x4FromFloat32x4BitsJS,
'fromInt32x4Bits',Uint32x4FromInt32x4BitsJS,
'fromInt16x8Bits',Uint32x4FromInt16x8BitsJS,
'fromUint16x8Bits',Uint32x4FromUint16x8BitsJS,
'fromInt8x16Bits',Uint32x4FromInt8x16BitsJS,
'fromUint8x16Bits',Uint32x4FromUint8x16BitsJS,
'load',Uint32x4LoadJS,
'load1',Uint32x4Load1JS,
'load2',Uint32x4Load2JS,
'load3',Uint32x4Load3JS,
'store',Uint32x4StoreJS,
'store1',Uint32x4Store1JS,
'store2',Uint32x4Store2JS,
'store3',Uint32x4Store3JS,
]);
b.InstallFunctions(n,2,[
'splat',Bool32x4Splat,
'check',Bool32x4CheckJS,
'extractLane',Bool32x4ExtractLaneJS,
'replaceLane',Bool32x4ReplaceLaneJS,
'and',Bool32x4AndJS,
'or',Bool32x4OrJS,
'xor',Bool32x4XorJS,
'not',Bool32x4NotJS,
'anyTrue',Bool32x4AnyTrueJS,
'allTrue',Bool32x4AllTrueJS,
'swizzle',Bool32x4SwizzleJS,
'shuffle',Bool32x4ShuffleJS,
]);
b.InstallFunctions(i,2,[
'splat',Int16x8Splat,
'check',Int16x8CheckJS,
'extractLane',Int16x8ExtractLaneJS,
'replaceLane',Int16x8ReplaceLaneJS,
'neg',Int16x8NegJS,
'add',Int16x8AddJS,
'sub',Int16x8SubJS,
'addSaturate',Int16x8AddSaturateJS,
'subSaturate',Int16x8SubSaturateJS,
'mul',Int16x8MulJS,
'min',Int16x8MinJS,
'max',Int16x8MaxJS,
'and',Int16x8AndJS,
'or',Int16x8OrJS,
'xor',Int16x8XorJS,
'not',Int16x8NotJS,
'shiftLeftByScalar',Int16x8ShiftLeftByScalarJS,
'shiftRightByScalar',Int16x8ShiftRightByScalarJS,
'lessThan',Int16x8LessThanJS,
'lessThanOrEqual',Int16x8LessThanOrEqualJS,
'greaterThan',Int16x8GreaterThanJS,
'greaterThanOrEqual',Int16x8GreaterThanOrEqualJS,
'equal',Int16x8EqualJS,
'notEqual',Int16x8NotEqualJS,
'select',Int16x8SelectJS,
'swizzle',Int16x8SwizzleJS,
'shuffle',Int16x8ShuffleJS,
'fromUint16x8',Int16x8FromUint16x8JS,
'fromFloat32x4Bits',Int16x8FromFloat32x4BitsJS,
'fromInt32x4Bits',Int16x8FromInt32x4BitsJS,
'fromUint32x4Bits',Int16x8FromUint32x4BitsJS,
'fromUint16x8Bits',Int16x8FromUint16x8BitsJS,
'fromInt8x16Bits',Int16x8FromInt8x16BitsJS,
'fromUint8x16Bits',Int16x8FromUint8x16BitsJS,
'load',Int16x8LoadJS,
'store',Int16x8StoreJS,
]);
b.InstallFunctions(l,2,[
'splat',Uint16x8Splat,
'check',Uint16x8CheckJS,
'extractLane',Uint16x8ExtractLaneJS,
'replaceLane',Uint16x8ReplaceLaneJS,
'add',Uint16x8AddJS,
'sub',Uint16x8SubJS,
'addSaturate',Uint16x8AddSaturateJS,
'subSaturate',Uint16x8SubSaturateJS,
'mul',Uint16x8MulJS,
'min',Uint16x8MinJS,
'max',Uint16x8MaxJS,
'and',Uint16x8AndJS,
'or',Uint16x8OrJS,
'xor',Uint16x8XorJS,
'not',Uint16x8NotJS,
'shiftLeftByScalar',Uint16x8ShiftLeftByScalarJS,
'shiftRightByScalar',Uint16x8ShiftRightByScalarJS,
'lessThan',Uint16x8LessThanJS,
'lessThanOrEqual',Uint16x8LessThanOrEqualJS,
'greaterThan',Uint16x8GreaterThanJS,
'greaterThanOrEqual',Uint16x8GreaterThanOrEqualJS,
'equal',Uint16x8EqualJS,
'notEqual',Uint16x8NotEqualJS,
'select',Uint16x8SelectJS,
'swizzle',Uint16x8SwizzleJS,
'shuffle',Uint16x8ShuffleJS,
'fromInt16x8',Uint16x8FromInt16x8JS,
'fromFloat32x4Bits',Uint16x8FromFloat32x4BitsJS,
'fromInt32x4Bits',Uint16x8FromInt32x4BitsJS,
'fromUint32x4Bits',Uint16x8FromUint32x4BitsJS,
'fromInt16x8Bits',Uint16x8FromInt16x8BitsJS,
'fromInt8x16Bits',Uint16x8FromInt8x16BitsJS,
'fromUint8x16Bits',Uint16x8FromUint8x16BitsJS,
'load',Uint16x8LoadJS,
'store',Uint16x8StoreJS,
]);
b.InstallFunctions(o,2,[
'splat',Bool16x8Splat,
'check',Bool16x8CheckJS,
'extractLane',Bool16x8ExtractLaneJS,
'replaceLane',Bool16x8ReplaceLaneJS,
'and',Bool16x8AndJS,
'or',Bool16x8OrJS,
'xor',Bool16x8XorJS,
'not',Bool16x8NotJS,
'anyTrue',Bool16x8AnyTrueJS,
'allTrue',Bool16x8AllTrueJS,
'swizzle',Bool16x8SwizzleJS,
'shuffle',Bool16x8ShuffleJS,
]);
b.InstallFunctions(j,2,[
'splat',Int8x16Splat,
'check',Int8x16CheckJS,
'extractLane',Int8x16ExtractLaneJS,
'replaceLane',Int8x16ReplaceLaneJS,
'neg',Int8x16NegJS,
'add',Int8x16AddJS,
'sub',Int8x16SubJS,
'addSaturate',Int8x16AddSaturateJS,
'subSaturate',Int8x16SubSaturateJS,
'mul',Int8x16MulJS,
'min',Int8x16MinJS,
'max',Int8x16MaxJS,
'and',Int8x16AndJS,
'or',Int8x16OrJS,
'xor',Int8x16XorJS,
'not',Int8x16NotJS,
'shiftLeftByScalar',Int8x16ShiftLeftByScalarJS,
'shiftRightByScalar',Int8x16ShiftRightByScalarJS,
'lessThan',Int8x16LessThanJS,
'lessThanOrEqual',Int8x16LessThanOrEqualJS,
'greaterThan',Int8x16GreaterThanJS,
'greaterThanOrEqual',Int8x16GreaterThanOrEqualJS,
'equal',Int8x16EqualJS,
'notEqual',Int8x16NotEqualJS,
'select',Int8x16SelectJS,
'swizzle',Int8x16SwizzleJS,
'shuffle',Int8x16ShuffleJS,
'fromUint8x16',Int8x16FromUint8x16JS,
'fromFloat32x4Bits',Int8x16FromFloat32x4BitsJS,
'fromInt32x4Bits',Int8x16FromInt32x4BitsJS,
'fromUint32x4Bits',Int8x16FromUint32x4BitsJS,
'fromInt16x8Bits',Int8x16FromInt16x8BitsJS,
'fromUint16x8Bits',Int8x16FromUint16x8BitsJS,
'fromUint8x16Bits',Int8x16FromUint8x16BitsJS,
'load',Int8x16LoadJS,
'store',Int8x16StoreJS,
]);
b.InstallFunctions(m,2,[
'splat',Uint8x16Splat,
'check',Uint8x16CheckJS,
'extractLane',Uint8x16ExtractLaneJS,
'replaceLane',Uint8x16ReplaceLaneJS,
'add',Uint8x16AddJS,
'sub',Uint8x16SubJS,
'addSaturate',Uint8x16AddSaturateJS,
'subSaturate',Uint8x16SubSaturateJS,
'mul',Uint8x16MulJS,
'min',Uint8x16MinJS,
'max',Uint8x16MaxJS,
'and',Uint8x16AndJS,
'or',Uint8x16OrJS,
'xor',Uint8x16XorJS,
'not',Uint8x16NotJS,
'shiftLeftByScalar',Uint8x16ShiftLeftByScalarJS,
'shiftRightByScalar',Uint8x16ShiftRightByScalarJS,
'lessThan',Uint8x16LessThanJS,
'lessThanOrEqual',Uint8x16LessThanOrEqualJS,
'greaterThan',Uint8x16GreaterThanJS,
'greaterThanOrEqual',Uint8x16GreaterThanOrEqualJS,
'equal',Uint8x16EqualJS,
'notEqual',Uint8x16NotEqualJS,
'select',Uint8x16SelectJS,
'swizzle',Uint8x16SwizzleJS,
'shuffle',Uint8x16ShuffleJS,
'fromInt8x16',Uint8x16FromInt8x16JS,
'fromFloat32x4Bits',Uint8x16FromFloat32x4BitsJS,
'fromInt32x4Bits',Uint8x16FromInt32x4BitsJS,
'fromUint32x4Bits',Uint8x16FromUint32x4BitsJS,
'fromInt16x8Bits',Uint8x16FromInt16x8BitsJS,
'fromUint16x8Bits',Uint8x16FromUint16x8BitsJS,
'fromInt8x16Bits',Uint8x16FromInt8x16BitsJS,
'load',Uint8x16LoadJS,
'store',Uint8x16StoreJS,
]);
b.InstallFunctions(p,2,[
'splat',Bool8x16Splat,
'check',Bool8x16CheckJS,
'extractLane',Bool8x16ExtractLaneJS,
'replaceLane',Bool8x16ReplaceLaneJS,
'and',Bool8x16AndJS,
'or',Bool8x16OrJS,
'xor',Bool8x16XorJS,
'not',Bool8x16NotJS,
'anyTrue',Bool8x16AnyTrueJS,
'allTrue',Bool8x16AllTrueJS,
'swizzle',Bool8x16SwizzleJS,
'shuffle',Bool8x16ShuffleJS,
]);
b.Export(function(K){
K.Float32x4ToString=Float32x4ToString;
K.Int32x4ToString=Int32x4ToString;
K.Uint32x4ToString=Uint32x4ToString;
K.Bool32x4ToString=Bool32x4ToString;
K.Int16x8ToString=Int16x8ToString;
K.Uint16x8ToString=Uint16x8ToString;
K.Bool16x8ToString=Bool16x8ToString;
K.Int8x16ToString=Int8x16ToString;
K.Uint8x16ToString=Uint8x16ToString;
K.Bool8x16ToString=Bool8x16ToString;
});
})

<harmony-speciesE
(function(a,b,c){
"use strict";
%CheckIsBootstrapping();
var d=a.Array;
var e=a.Uint8Array.__proto__;
var f=a.Map;
var g=a.Set;
var h=a.ArrayBuffer;
var i=a.Promise;
var j=a.RegExp;
var k=b.ImportNow("species_symbol");
function ArraySpecies(){
return this;
}
function TypedArraySpecies(){
return this;
}
function MapSpecies(){
return this;
}
function SetSpecies(){
return this;
}
function ArrayBufferSpecies(){
return this;
}
function PromiseSpecies(){
return this;
}
function RegExpSpecies(){
return this;
}
b.InstallGetter(d,k,ArraySpecies,2);
b.InstallGetter(e,k,TypedArraySpecies,2);
b.InstallGetter(f,k,MapSpecies,2);
b.InstallGetter(g,k,SetSpecies,2);
b.InstallGetter(h,k,ArrayBufferSpecies,
2);
b.InstallGetter(i,k,PromiseSpecies,2);
b.InstallGetter(j,k,RegExpSpecies,2);
});

\harmony-unicode-regexpsÙ
(function(a,b){
'use strict';
%CheckIsBootstrapping();
var c=a.RegExp;
var d=c.prototype;
var e;
b.Import(function(f){
e=f.MakeTypeError;
});
function RegExpGetUnicode(){
if(!(%_IsRegExp(this))){
if(this===d){
%IncrementUseCounter(13);
return(void 0);
}
throw e(124,"RegExp.prototype.unicode");
}
return(!!((%_RegExpFlags(this)&16)));
}
%SetForceInlineFlag(RegExpGetUnicode);
b.InstallGetter(c.prototype,'unicode',RegExpGetUnicode);
})

Xharmony-string-padding±
(function(a,b){
%CheckIsBootstrapping();
var c=a.String;
var d;
b.Import(function(e){
d=e.MakeTypeError;
});
function StringPad(f,g,h){
g=(%_ToLength(g));
var i=f.length;
if(g<=i)return"";
if((h===(void 0))){
h=" ";
}else{
h=(%_ToString(h));
if(h===""){
return"";
}
}
var j=g-i;
var k=(j/h.length)|0;
var l=(j-h.length*k)|0;
var m="";
while(true){
if(k&1)m+=h;
k>>=1;
if(k===0)break;
h+=h;
}
if(l){
m+=%_SubString(h,0,l);
}
return m;
}
function StringPadStart(g,h){
if((%IS_VAR(this)===null)||(this===(void 0)))throw d(17,"String.prototype.padStart")
var f=(%_ToString(this));
return StringPad(f,g,h)+f;
}
%FunctionSetLength(StringPadStart,1);
function StringPadEnd(g,h){
if((%IS_VAR(this)===null)||(this===(void 0)))throw d(17,"String.prototype.padEnd")
var f=(%_ToString(this));
return f+StringPad(f,g,h);
}
%FunctionSetLength(StringPadEnd,1);
b.InstallFunctions(c.prototype,2,[
"padStart",StringPadStart,
"padEnd",StringPadEnd
]);
});

4promise-extrau
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Promise;
var d=b.ImportNow("PromiseChain");
var e=b.ImportNow("PromiseDefer");
var f=b.ImportNow("PromiseAccept");
b.InstallFunctions(c.prototype,2,[
"chain",d,
]);
b.InstallFunctions(c,2,[
"defer",e,
"accept",f,
]);
})

Lharmony-async-awaitå
(function(a,b,c){
"use strict";
%CheckIsBootstrapping();
var d;
var e;
var f;
var g;
var h;
b.Import(function(i){
d=i.AsyncFunctionNext;
e=i.AsyncFunctionThrow;
f=i.PromiseCreateRejected;
g=i.PromiseCreateResolved;
h=i.PromiseThen;
});
function AsyncFunctionAwait(j,k){
return %_Call(
h,g(k),
function(l){
return %_Call(d,j,l);
},
function(m){
return %_Call(e,j,m);
});
}
%InstallToContext(["async_function_await",AsyncFunctionAwait]);
})

@icu-case-mapping±
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.String;
var d=b.OverrideFunction;
var e=b.ImportNow("ToLowerCaseI18N");
var f=b.ImportNow("ToUpperCaseI18N");
var g=b.ImportNow("ToLocaleLowerCaseI18N");
var h=b.ImportNow("ToLocaleUpperCaseI18N");
d(c.prototype,'toLowerCase',e,true);
d(c.prototype,'toUpperCase',f,true);
d(c.prototype,'toLocaleLowerCase',
g,true);
d(c.prototype,'toLocaleUpperCase',
h,true);
})

(intl-extram
(function(a,b){
"use strict";
%CheckIsBootstrapping();
var c=a.Intl;
var d=b.ImportNow("AddBoundMethod");
var e=b.ImportNow("IntlParseDate");
var f=b.ImportNow("IntlParseNumber");
d(c.DateTimeFormat,'v8Parse',e,1,
'dateformat');
d(c.NumberFormat,'v8Parse',f,1,
'numberformat');
})

dByteLengthQueuingStrategyÑ
(function(global, binding, v8) {
  'use strict';
  const defineProperty = global.Object.defineProperty;
  class ByteLengthQueuingStrategy {
    constructor(options) {
      defineProperty(this, 'highWaterMark', {
        value: options.highWaterMark,
        enumerable: true,
        configurable: true,
        writable: true
      });
    }
    size(chunk) { return chunk.byteLength; }
  }
  defineProperty(global, 'ByteLengthQueuingStrategy', {
    value: ByteLengthQueuingStrategy,
    enumerable: false,
    configurable: true,
    writable: true
  });
});
PCountQueuingStrategyý
(function(global, binding, v8) {
  'use strict';
  const defineProperty = global.Object.defineProperty;
  class CountQueuingStrategy {
    constructor(options) {
      defineProperty(this, 'highWaterMark', {
        value: options.highWaterMark,
        enumerable: true,
        configurable: true,
        writable: true
      });
    }
    size(chunk) { return 1; }
  }
  defineProperty(global, 'CountQueuingStrategy', {
    value: CountQueuingStrategy,
    enumerable: false,
    configurable: true,
    writable: true
  });
  class BuiltInCountQueuingStrategy {
    constructor(highWaterMark) {
      defineProperty(this, 'highWaterMark', {value: highWaterMark});
    }
    size(chunk) { return 1; }
  }
  binding.createBuiltInCountQueuingStrategy = highWaterMark =>
      new BuiltInCountQueuingStrategy(highWaterMark);
});
8ReadableStream6Ý
(function(global, binding, v8) {
  'use strict';
  const readableStreamReader = v8.createPrivateSymbol('[[reader]]');
  const readableStreamStoredError = v8.createPrivateSymbol('[[storedError]]');
  const readableStreamController = v8.createPrivateSymbol('[[controller]]');
  const readableStreamReaderClosedPromise =
      v8.createPrivateSymbol('[[closedPromise]]');
  const readableStreamReaderOwnerReadableStream =
      v8.createPrivateSymbol('[[ownerReadableStream]]');
  const readableStreamDefaultReaderReadRequests =
      v8.createPrivateSymbol('[[readRequests]]');
  const createWithExternalControllerSentinel =
      v8.createPrivateSymbol('flag for UA-created ReadableStream to pass');
  const readableStreamBits = v8.createPrivateSymbol('bit field for [[state]] and [[disturbed]]');
  const DISTURBED = 0b1;
  const STATE_MASK = 0b110;
  const STATE_BITS_OFFSET = 1;
  const STATE_READABLE = 0;
  const STATE_CLOSED = 1;
  const STATE_ERRORED = 2;
  const readableStreamDefaultControllerUnderlyingSource =
      v8.createPrivateSymbol('[[underlyingSource]]');
  const readableStreamDefaultControllerControlledReadableStream =
      v8.createPrivateSymbol('[[controlledReadableStream]]');
  const readableStreamDefaultControllerQueue = v8.createPrivateSymbol('[[queue]]');
  const readableStreamDefaultControllerQueueSize =
      v8.createPrivateSymbol('[[queue]] total size');
  const readableStreamDefaultControllerStrategySize =
      v8.createPrivateSymbol('[[strategySize]]');
  const readableStreamDefaultControllerStrategyHWM =
      v8.createPrivateSymbol('[[strategyHWM]]');
  const readableStreamDefaultControllerBits = v8.createPrivateSymbol(
      'bit field for [[started]], [[closeRequested]], [[pulling]], [[pullAgain]]');
  const STARTED = 0b1;
  const CLOSE_REQUESTED = 0b10;
  const PULLING = 0b100;
  const PULL_AGAIN = 0b1000;
  const EXTERNALLY_CONTROLLED = 0b10000;
  const readableStreamControllerCancel =
      v8.createPrivateSymbol('[[InternalCancel]]');
  const readableStreamControllerPull = v8.createPrivateSymbol('[[InternalPull]]');
  const undefined = global.undefined;
  const Infinity = global.Infinity;
  const defineProperty = global.Object.defineProperty;
  const hasOwnProperty = v8.uncurryThis(global.Object.hasOwnProperty);
  const callFunction = v8.uncurryThis(global.Function.prototype.call);
  const TypeError = global.TypeError;
  const RangeError = global.RangeError;
  const Number = global.Number;
  const Number_isNaN = Number.isNaN;
  const Number_isFinite = Number.isFinite;
  const Promise = global.Promise;
  const thenPromise = v8.uncurryThis(Promise.prototype.then);
  const Promise_resolve = v8.simpleBind(Promise.resolve, Promise);
  const Promise_reject = v8.simpleBind(Promise.reject, Promise);
  const errIllegalInvocation = 'Illegal invocation';
  const errIllegalConstructor = 'Illegal constructor';
  const errCancelLockedStream =
      'Cannot cancel a readable stream that is locked to a reader';
  const errEnqueueCloseRequestedStream =
      'Cannot enqueue a chunk into a readable stream that is closed or has been requested to be closed';
  const errCancelReleasedReader =
      'This readable stream reader has been released and cannot be used to cancel its previous owner stream';
  const errReadReleasedReader =
      'This readable stream reader has been released and cannot be used to read from its previous owner stream';
  const errCloseCloseRequestedStream =
      'Cannot close a readable stream that has already been requested to be closed';
  const errEnqueueClosedStream = 'Cannot enqueue a chunk into a closed readable stream';
  const errEnqueueErroredStream = 'Cannot enqueue a chunk into an errored readable stream';
  const errCloseClosedStream = 'Cannot close a closed readable stream';
  const errCloseErroredStream = 'Cannot close an errored readable stream';
  const errErrorClosedStream = 'Cannot error a close readable stream';
  const errErrorErroredStream =
      'Cannot error a readable stream that is already errored';
  const errGetReaderNotByteStream = 'This readable stream does not support BYOB readers';
  const errGetReaderBadMode = 'Invalid reader mode given: expected undefined or "byob"';
  const errReaderConstructorBadArgument =
      'ReadableStreamReader constructor argument is not a readable stream';
  const errReaderConstructorStreamAlreadyLocked =
      'ReadableStreamReader constructor can only accept readable streams that are not yet locked to a reader';
  const errReleaseReaderWithPendingRead =
      'Cannot release a readable stream reader when it still has outstanding read() calls that have not yet settled';
  const errReleasedReaderClosedPromise =
      'This readable stream reader has been released and cannot be used to monitor the stream\'s state';
  const errInvalidSize =
      'The return value of a queuing strategy\'s size function must be a finite, non-NaN, non-negative number';
  const errSizeNotAFunction =
      'A queuing strategy\'s size property must be a function';
  const errInvalidHWM =
      'A queueing strategy\'s highWaterMark property must be a nonnegative, non-NaN number';
  const errTmplMustBeFunctionOrUndefined = name =>
      `${name} must be a function or undefined`;
  class ReadableStream {
    constructor() {
      const underlyingSource = arguments[0] === undefined ? {} : arguments[0];
      const strategy = arguments[1] === undefined ? {} : arguments[1];
      const size = strategy.size;
      let highWaterMark = strategy.highWaterMark;
      if (highWaterMark === undefined) {
        highWaterMark = 1;
      }
      this[readableStreamBits] = 0b0;
      ReadableStreamSetState(this, STATE_READABLE);
      this[readableStreamReader] = undefined;
      this[readableStreamStoredError] = undefined;
      this[readableStreamController] = undefined;
      const type = underlyingSource.type;
      const typeString = String(type);
      if (typeString === 'bytes') {
        throw new RangeError('bytes type is not yet implemented');
      } else if (type !== undefined) {
        throw new RangeError('Invalid type is specified');
      }
      this[readableStreamController] =
          new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark, arguments[2] === createWithExternalControllerSentinel);
    }
    get locked() {
      if (IsReadableStream(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      return IsReadableStreamLocked(this);
    }
    cancel(reason) {
      if (IsReadableStream(this) === false) {
        return Promise_reject(new TypeError(errIllegalInvocation));
      }
      if (IsReadableStreamLocked(this) === true) {
        return Promise_reject(new TypeError(errCancelLockedStream));
      }
      return ReadableStreamCancel(this, reason);
    }
    getReader({ mode } = {}) {
      if (IsReadableStream(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      if (mode === 'byob') {
        if (IsReadableByteStreamDefaultController(this[readableStreamController]) === false) {
          throw new TypeError(errGetReaderNotByteStream);
        }
        return AcquireReadableStreamBYOBReader(this);
      }
      if (mode === undefined) {
        return AcquireReadableStreamDefaultReader(this);
      }
      throw new RangeError(errGetReaderBadMode);
    }
    tee() {
      if (IsReadableStream(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      return ReadableStreamTee(this);
    }
  }
  class ReadableStreamDefaultController {
    constructor(stream, underlyingSource, size, highWaterMark, isExternallyControlled) {
      if (IsReadableStream(stream) === false) {
        throw new TypeError(errIllegalConstructor);
      }
      if (stream[readableStreamController] !== undefined) {
        throw new TypeError(errIllegalConstructor);
      }
      this[readableStreamDefaultControllerControlledReadableStream] = stream;
      this[readableStreamDefaultControllerUnderlyingSource] = underlyingSource;
      this[readableStreamDefaultControllerQueue] = new v8.InternalPackedArray();
      this[readableStreamDefaultControllerQueueSize] = 0;
      this[readableStreamDefaultControllerBits] = 0b0;
      if (isExternallyControlled === true) {
        this[readableStreamDefaultControllerBits] |= EXTERNALLY_CONTROLLED;
      }
      const normalizedStrategy =
          ValidateAndNormalizeQueuingStrategy(size, highWaterMark);
      this[readableStreamDefaultControllerStrategySize] = normalizedStrategy.size;
      this[readableStreamDefaultControllerStrategyHWM] = normalizedStrategy.highWaterMark;
      const controller = this;
      const startResult = CallOrNoop(
          underlyingSource, 'start', this, 'underlyingSource.start');
      thenPromise(Promise_resolve(startResult),
          () => {
            controller[readableStreamDefaultControllerBits] |= STARTED;
            ReadableStreamDefaultControllerCallPullIfNeeded(controller);
          },
          r => {
            if (ReadableStreamGetState(stream) === STATE_READABLE) {
              ReadableStreamDefaultControllerError(controller, r);
            }
          });
    }
    get desiredSize() {
      if (IsReadableStreamDefaultController(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      return ReadableStreamDefaultControllerGetDesiredSize(this);
    }
    close() {
      if (IsReadableStreamDefaultController(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      const stream = this[readableStreamDefaultControllerControlledReadableStream];
      if (this[readableStreamDefaultControllerBits] & CLOSE_REQUESTED) {
        throw new TypeError(errCloseCloseRequestedStream);
      }
      const state = ReadableStreamGetState(stream);
      if (state === STATE_ERRORED) {
        throw new TypeError(errCloseErroredStream);
      }
      if (state === STATE_CLOSED) {
        throw new TypeError(errCloseClosedStream);
      }
      return ReadableStreamDefaultControllerClose(this);
    }
    enqueue(chunk) {
      if (IsReadableStreamDefaultController(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      const stream = this[readableStreamDefaultControllerControlledReadableStream];
      if (this[readableStreamDefaultControllerBits] & CLOSE_REQUESTED) {
        throw new TypeError(errEnqueueCloseRequestedStream);
      }
      const state = ReadableStreamGetState(stream);
      if (state === STATE_ERRORED) {
        throw new TypeError(errEnqueueErroredStream);
      }
      if (state === STATE_CLOSED) {
        throw new TypeError(errEnqueueClosedStream);
      }
      return ReadableStreamDefaultControllerEnqueue(this, chunk);
    }
    error(e) {
      if (IsReadableStreamDefaultController(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      const stream = this[readableStreamDefaultControllerControlledReadableStream];
      const state = ReadableStreamGetState(stream);
      if (state === STATE_ERRORED) {
        throw new TypeError(errErrorErroredStream);
      }
      if (state === STATE_CLOSED) {
        throw new TypeError(errErrorClosedStream);
      }
      return ReadableStreamDefaultControllerError(this, e);
    }
  }
  function ReadableStreamDefaultControllerCancel(controller, reason) {
    controller[readableStreamDefaultControllerQueue] = new v8.InternalPackedArray();
    const underlyingSource = controller[readableStreamDefaultControllerUnderlyingSource];
    return PromiseCallOrNoop(underlyingSource, 'cancel', reason, 'underlyingSource.cancel');
  }
  function ReadableStreamDefaultControllerPull(controller) {
    const stream = controller[readableStreamDefaultControllerControlledReadableStream];
    if (controller[readableStreamDefaultControllerQueue].length > 0) {
      const chunk = DequeueValue(controller);
      if ((controller[readableStreamDefaultControllerBits] & CLOSE_REQUESTED) &&
          controller[readableStreamDefaultControllerQueue].length === 0) {
        ReadableStreamClose(stream);
      } else {
        ReadableStreamDefaultControllerCallPullIfNeeded(controller);
      }
      return Promise_resolve(CreateIterResultObject(chunk, false));
    }
    const pendingPromise = ReadableStreamAddReadRequest(stream);
    ReadableStreamDefaultControllerCallPullIfNeeded(controller);
    return pendingPromise;
  }
  function ReadableStreamAddReadRequest(stream) {
    const promise = v8.createPromise();
    stream[readableStreamReader][readableStreamDefaultReaderReadRequests].push(promise);
    return promise;
  }
  class ReadableStreamDefaultReader {
    constructor(stream) {
      if (IsReadableStream(stream) === false) {
        throw new TypeError(errReaderConstructorBadArgument);
      }
      if (IsReadableStreamLocked(stream) === true) {
        throw new TypeError(errReaderConstructorStreamAlreadyLocked);
      }
      ReadableStreamReaderGenericInitialize(this, stream);
      this[readableStreamDefaultReaderReadRequests] = new v8.InternalPackedArray();
    }
    get closed() {
      if (IsReadableStreamDefaultReader(this) === false) {
        return Promise_reject(new TypeError(errIllegalInvocation));
      }
      return this[readableStreamReaderClosedPromise];
    }
    cancel(reason) {
      if (IsReadableStreamDefaultReader(this) === false) {
        return Promise_reject(new TypeError(errIllegalInvocation));
      }
      const stream = this[readableStreamReaderOwnerReadableStream];
      if (stream === undefined) {
        return Promise_reject(new TypeError(errCancelReleasedReader));
      }
      return ReadableStreamReaderGenericCancel(this, reason);
    }
    read() {
      if (IsReadableStreamDefaultReader(this) === false) {
        return Promise_reject(new TypeError(errIllegalInvocation));
      }
      if (this[readableStreamReaderOwnerReadableStream] === undefined) {
        return Promise_reject(new TypeError(errReadReleasedReader));
      }
      return ReadableStreamDefaultReaderRead(this);
    }
    releaseLock() {
      if (IsReadableStreamDefaultReader(this) === false) {
        throw new TypeError(errIllegalInvocation);
      }
      const stream = this[readableStreamReaderOwnerReadableStream];
      if (stream === undefined) {
        return undefined;
      }
      if (this[readableStreamDefaultReaderReadRequests].length > 0) {
        throw new TypeError(errReleaseReaderWithPendingRead);
      }
      ReadableStreamReaderGenericRelease(this);
    }
  }
  function ReadableStreamReaderGenericCancel(reader, reason) {
    return ReadableStreamCancel(reader[readableStreamReaderOwnerReadableStream], reason);
  }
  function AcquireReadableStreamDefaultReader(stream) {
    return new ReadableStreamDefaultReader(stream);
  }
  function ReadableStreamCancel(stream, reason) {
    stream[readableStreamBits] |= DISTURBED;
    const state = ReadableStreamGetState(stream);
    if (state === STATE_CLOSED) {
      return Promise_resolve(undefined);
    }
    if (state === STATE_ERRORED) {
      return Promise_reject(stream[readableStreamStoredError]);
    }
    ReadableStreamClose(stream);
    const sourceCancelPromise = ReadableStreamDefaultControllerCancel(stream[readableStreamController], reason);
    return thenPromise(sourceCancelPromise, () => undefined);
  }
  function ReadableStreamDefaultControllerClose(controller) {
    const stream = controller[readableStreamDefaultControllerControlledReadableStream];
    controller[readableStreamDefaultControllerBits] |= CLOSE_REQUESTED;
    if (controller[readableStreamDefaultControllerQueue].length === 0) {
      ReadableStreamClose(stream);
    }
  }
  function ReadableStreamFulfillReadRequest(stream, chunk, done) {
    const reader = stream[readableStreamReader];
    const readRequest =
        stream[readableStreamReader][readableStreamDefaultReaderReadRequests]
        .shift();
    v8.resolvePromise(readRequest, CreateIterResultObject(chunk, done));
  }
  function ReadableStreamDefaultControllerEnqueue(controller, chunk) {
    const stream = controller[readableStreamDefaultControllerControlledReadableStream];
    if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
      ReadableStreamFulfillReadRequest(stream, chunk, false);
    } else {
      let chunkSize = 1;
      const strategySize = controller[readableStreamDefaultControllerStrategySize];
      if (strategySize !== undefined) {
        try {
          chunkSize = strategySize(chunk);
        } catch (chunkSizeE) {
          if (ReadableStreamGetState(stream) === STATE_READABLE) {
            ReadableStreamDefaultControllerError(controller, chunkSizeE);
          }
          throw chunkSizeE;
        }
      }
      try {
        EnqueueValueWithSize(controller, chunk, chunkSize);
      } catch (enqueueE) {
        if (ReadableStreamGetState(stream) === STATE_READABLE) {
          ReadableStreamDefaultControllerError(controller, enqueueE);
        }
        throw enqueueE;
      }
    }
    ReadableStreamDefaultControllerCallPullIfNeeded(controller);
  }
  function ReadableStreamGetState(stream) {
    return (stream[readableStreamBits] & STATE_MASK) >> STATE_BITS_OFFSET;
  }
  function ReadableStreamSetState(stream, state) {
    stream[readableStreamBits] = (stream[readableStreamBits] & ~STATE_MASK) |
        (state << STATE_BITS_OFFSET);
  }
  function ReadableStreamDefaultControllerError(controller, e) {
    controller[readableStreamDefaultControllerQueue] = new v8.InternalPackedArray();
    const stream = controller[readableStreamDefaultControllerControlledReadableStream];
    ReadableStreamError(stream, e);
  }
  function ReadableStreamError(stream, e) {
    stream[readableStreamStoredError] = e;
    ReadableStreamSetState(stream, STATE_ERRORED);
    const reader = stream[readableStreamReader];
    if (reader === undefined) {
      return undefined;
    }
    if (IsReadableStreamDefaultReader(reader) === true) {
      const readRequests = reader[readableStreamDefaultReaderReadRequests];
      for (let i = 0; i < readRequests.length; i++) {
        v8.rejectPromise(readRequests[i], e);
      }
      reader[readableStreamDefaultReaderReadRequests] = new v8.InternalPackedArray();
    }
    v8.rejectPromise(reader[readableStreamReaderClosedPromise], e);
  }
  function ReadableStreamClose(stream) {
    ReadableStreamSetState(stream, STATE_CLOSED);
    const reader = stream[readableStreamReader];
    if (reader === undefined) {
      return undefined;
    }
    if (IsReadableStreamDefaultReader(reader) === true) {
      const readRequests = reader[readableStreamDefaultReaderReadRequests];
      for (let i = 0; i < readRequests.length; i++) {
        v8.resolvePromise(
            readRequests[i], CreateIterResultObject(undefined, true));
      }
      reader[readableStreamDefaultReaderReadRequests] = new v8.InternalPackedArray();
    }
    v8.resolvePromise(reader[readableStreamReaderClosedPromise], undefined);
  }
  function ReadableStreamDefaultControllerGetDesiredSize(controller) {
    const queueSize = GetTotalQueueSize(controller);
    return controller[readableStreamDefaultControllerStrategyHWM] - queueSize;
  }
  function IsReadableStream(x) {
    return hasOwnProperty(x, readableStreamController);
  }
  function IsReadableStreamDisturbed(stream) {
    return stream[readableStreamBits] & DISTURBED;
  }
  function IsReadableStreamLocked(stream) {
    return stream[readableStreamReader] !== undefined;
  }
  function IsReadableStreamDefaultController(x) {
    return hasOwnProperty(x, readableStreamDefaultControllerControlledReadableStream);
  }
  function IsReadableStreamDefaultReader(x) {
    return hasOwnProperty(x, readableStreamDefaultReaderReadRequests);
  }
  function IsReadableStreamReadable(stream) {
    return ReadableStreamGetState(stream) === STATE_READABLE;
  }
  function IsReadableStreamClosed(stream) {
    return ReadableStreamGetState(stream) === STATE_CLOSED;
  }
  function IsReadableStreamErrored(stream) {
    return ReadableStreamGetState(stream) === STATE_ERRORED;
  }
  function ReadableStreamReaderGenericInitialize(reader, stream) {
    const controller = stream[readableStreamController];
    if (controller[readableStreamDefaultControllerBits] & EXTERNALLY_CONTROLLED) {
      const underlyingSource = controller[readableStreamDefaultControllerUnderlyingSource];
      callFunction(underlyingSource.notifyLockAcquired, underlyingSource);
    }
    reader[readableStreamReaderOwnerReadableStream] = stream;
    stream[readableStreamReader] = reader;
    switch (ReadableStreamGetState(stream)) {
      case STATE_READABLE:
        reader[readableStreamReaderClosedPromise] = v8.createPromise();
        break;
      case STATE_CLOSED:
        reader[readableStreamReaderClosedPromise] = Promise_resolve(undefined);
        break;
      case STATE_ERRORED:
        reader[readableStreamReaderClosedPromise] =
            Promise_reject(stream[readableStreamStoredError]);
      break;
    }
  }
  function ReadableStreamReaderGenericRelease(reader) {
    const controller = reader[readableStreamReaderOwnerReadableStream][readableStreamController];
    if (controller[readableStreamDefaultControllerBits] & EXTERNALLY_CONTROLLED) {
      const underlyingSource = controller[readableStreamDefaultControllerUnderlyingSource];
      callFunction(underlyingSource.notifyLockReleased, underlyingSource);
    }
    if (ReadableStreamGetState(reader[readableStreamReaderOwnerReadableStream]) === STATE_READABLE) {
      v8.rejectPromise(reader[readableStreamReaderClosedPromise], new TypeError(errReleasedReaderClosedPromise));
    } else {
      reader[readableStreamReaderClosedPromise] = Promise_reject(new TypeError(errReleasedReaderClosedPromise));
    }
    reader[readableStreamReaderOwnerReadableStream][readableStreamReader] =
        undefined;
    reader[readableStreamReaderOwnerReadableStream] = undefined;
  }
  function ReadableStreamDefaultReaderRead(reader) {
    const stream = reader[readableStreamReaderOwnerReadableStream];
    stream[readableStreamBits] |= DISTURBED;
    if (ReadableStreamGetState(stream) === STATE_CLOSED) {
      return Promise_resolve(CreateIterResultObject(undefined, true));
    }
    if (ReadableStreamGetState(stream) === STATE_ERRORED) {
      return Promise_reject(stream[readableStreamStoredError]);
    }
    return ReadableStreamDefaultControllerPull(stream[readableStreamController]);
  }
  function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {
    const shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);
    if (shouldPull === false) {
      return undefined;
    }
    if (controller[readableStreamDefaultControllerBits] & PULLING) {
      controller[readableStreamDefaultControllerBits] |= PULL_AGAIN;
      return undefined;
    }
    controller[readableStreamDefaultControllerBits] |= PULLING;
    const underlyingSource = controller[readableStreamDefaultControllerUnderlyingSource];
    const pullPromise = PromiseCallOrNoop(
        underlyingSource, 'pull', controller, 'underlyingSource.pull');
    thenPromise(pullPromise,
        () => {
          controller[readableStreamDefaultControllerBits] &= ~PULLING;
          if (controller[readableStreamDefaultControllerBits] & PULL_AGAIN) {
            controller[readableStreamDefaultControllerBits] &= ~PULL_AGAIN;
            ReadableStreamDefaultControllerCallPullIfNeeded(controller);
          }
        },
        e => {
          if (ReadableStreamGetState(controller[readableStreamDefaultControllerControlledReadableStream]) === STATE_READABLE) {
            ReadableStreamDefaultControllerError(controller, e);
          }
        });
  }
  function ReadableStreamDefaultControllerShouldCallPull(controller) {
    const stream = controller[readableStreamDefaultControllerControlledReadableStream];
    const state = ReadableStreamGetState(stream);
    if (state === STATE_CLOSED || state === STATE_ERRORED) {
      return false;
    }
    if (controller[readableStreamDefaultControllerBits] & CLOSE_REQUESTED) {
      return false;
    }
    if (!(controller[readableStreamDefaultControllerBits] & STARTED)) {
      return false;
    }
    if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
      return true;
    }
    const desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);
    if (desiredSize > 0) {
      return true;
    }
    return false;
  }
  function ReadableStreamGetNumReadRequests(stream) {
    const reader = stream[readableStreamReader];
    const readRequests = reader[readableStreamDefaultReaderReadRequests];
    return readRequests.length;
  }
  function ReadableStreamTee(stream) {
    const reader = AcquireReadableStreamDefaultReader(stream);
    let closedOrErrored = false;
    let canceled1 = false;
    let canceled2 = false;
    let reason1;
    let reason2;
    let promise = v8.createPromise();
    const branch1Stream = new ReadableStream({pull, cancel: cancel1});
    const branch2Stream = new ReadableStream({pull, cancel: cancel2});
    const branch1 = branch1Stream[readableStreamController];
    const branch2 = branch2Stream[readableStreamController];
    thenPromise(
        reader[readableStreamReaderClosedPromise], undefined, function(r) {
          if (closedOrErrored === true) {
            return;
          }
          ReadableStreamDefaultControllerError(branch1, r);
          ReadableStreamDefaultControllerError(branch2, r);
          closedOrErrored = true;
        });
    return [branch1Stream, branch2Stream];
    function pull() {
      return thenPromise(
          ReadableStreamDefaultReaderRead(reader), function(result) {
            const value = result.value;
            const done = result.done;
            if (done === true && closedOrErrored === false) {
              if (canceled1 === false) {
                ReadableStreamDefaultControllerClose(branch1);
              }
              if (canceled2 === false) {
                ReadableStreamDefaultControllerClose(branch2);
              }
              closedOrErrored = true;
            }
            if (closedOrErrored === true) {
              return;
            }
            if (canceled1 === false) {
              ReadableStreamDefaultControllerEnqueue(branch1, value);
            }
            if (canceled2 === false) {
              ReadableStreamDefaultControllerEnqueue(branch2, value);
            }
          });
    }
    function cancel1(reason) {
      canceled1 = true;
      reason1 = reason;
      if (canceled2 === true) {
        const compositeReason = [reason1, reason2];
        const cancelResult = ReadableStreamCancel(stream, compositeReason);
        v8.resolvePromise(promise, cancelResult);
      }
      return promise;
    }
    function cancel2(reason) {
      canceled2 = true;
      reason2 = reason;
      if (canceled1 === true) {
        const compositeReason = [reason1, reason2];
        const cancelResult = ReadableStreamCancel(stream, compositeReason);
        v8.resolvePromise(promise, cancelResult);
      }
      return promise;
    }
  }
  function DequeueValue(controller) {
    const result = controller[readableStreamDefaultControllerQueue].shift();
    controller[readableStreamDefaultControllerQueueSize] -= result.size;
    return result.value;
  }
  function EnqueueValueWithSize(controller, value, size) {
    size = Number(size);
    if (Number_isNaN(size) || size === +Infinity || size < 0) {
      throw new RangeError(errInvalidSize);
    }
    controller[readableStreamDefaultControllerQueueSize] += size;
    controller[readableStreamDefaultControllerQueue].push({value, size});
  }
  function GetTotalQueueSize(controller) { return controller[readableStreamDefaultControllerQueueSize]; }
  function ValidateAndNormalizeQueuingStrategy(size, highWaterMark) {
    if (size !== undefined && typeof size !== 'function') {
      throw new TypeError(errSizeNotAFunction);
    }
    highWaterMark = Number(highWaterMark);
    if (Number_isNaN(highWaterMark)) {
      throw new TypeError(errInvalidHWM);
    }
    if (highWaterMark < 0) {
      throw new RangeError(errInvalidHWM);
    }
    return {size, highWaterMark};
  }
  function CallOrNoop(O, P, arg, nameForError) {
    const method = O[P];
    if (method === undefined) {
      return undefined;
    }
    if (typeof method !== 'function') {
      throw new TypeError(errTmplMustBeFunctionOrUndefined(nameForError));
    }
    return callFunction(method, O, arg);
  }
  function PromiseCallOrNoop(O, P, arg, nameForError) {
    let method;
    try {
      method = O[P];
    } catch (methodE) {
      return Promise_reject(methodE);
    }
    if (method === undefined) {
      return Promise_resolve(undefined);
    }
    if (typeof method !== 'function') {
      return Promise_reject(new TypeError(errTmplMustBeFunctionOrUndefined(nameForError)));
    }
    try {
      return Promise_resolve(callFunction(method, O, arg));
    } catch (e) {
      return Promise_reject(e);
    }
  }
  function CreateIterResultObject(value, done) { return {value, done}; }
  defineProperty(global, 'ReadableStream', {
    value: ReadableStream,
    enumerable: false,
    configurable: true,
    writable: true
  });
  binding.AcquireReadableStreamDefaultReader = AcquireReadableStreamDefaultReader;
  binding.IsReadableStream = IsReadableStream;
  binding.IsReadableStreamDisturbed = IsReadableStreamDisturbed;
  binding.IsReadableStreamLocked = IsReadableStreamLocked;
  binding.IsReadableStreamReadable = IsReadableStreamReadable;
  binding.IsReadableStreamClosed = IsReadableStreamClosed;
  binding.IsReadableStreamErrored = IsReadableStreamErrored;
  binding.IsReadableStreamDefaultReader = IsReadableStreamDefaultReader;
  binding.ReadableStreamDefaultReaderRead = ReadableStreamDefaultReaderRead;
  binding.ReadableStreamTee = ReadableStreamTee;
  binding.ReadableStreamDefaultControllerClose = ReadableStreamDefaultControllerClose;
  binding.ReadableStreamDefaultControllerGetDesiredSize = ReadableStreamDefaultControllerGetDesiredSize;
  binding.ReadableStreamDefaultControllerEnqueue = ReadableStreamDefaultControllerEnqueue;
  binding.ReadableStreamDefaultControllerError = ReadableStreamDefaultControllerError;
  binding.createReadableStreamWithExternalController =
      (underlyingSource, strategy) => {
        return new ReadableStream(
            underlyingSource, strategy, createWithExternalControllerSentinel);
      };
});
dummy<(function() {})