Full Code of linfaxin/AndroidUIX for AI

master 686261f3f553 cached
287 files
21.7 MB
5.7M tokens
19502 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (22,845K chars total). Download the full file to get everything.
Repository: linfaxin/AndroidUIX
Branch: master
Commit: 686261f3f553
Files: 287
Total size: 21.7 MB

Directory structure:
gitextract_im_9e7ie/

├── .gitignore
├── .npmignore
├── LICENSE
├── README.md
├── README_cn.md
├── buildtool/
│   ├── README.md
│   └── typescript/
│       ├── bin/
│       │   ├── tsc
│       │   └── tsserver
│       └── lib/
│           ├── lib.d.ts
│           ├── lib.es6.d.ts
│           ├── tsc.js
│           ├── tsserver.js
│           └── typescriptServices.js
├── dist/
│   ├── android-ui.d.ts
│   ├── android-ui.es5.js
│   └── android-ui.js
├── package.json
└── src/
    ├── android/
    │   ├── R/
    │   │   ├── anim.ts
    │   │   ├── attr.ts
    │   │   ├── color.ts
    │   │   ├── drawable.ts
    │   │   ├── id.ts
    │   │   ├── image.ts
    │   │   ├── image_base64.ts
    │   │   ├── interpolator.ts
    │   │   ├── layout.ts
    │   │   └── string.ts
    │   ├── app/
    │   │   ├── ActionBar.ts
    │   │   ├── ActionBarActivity.ts
    │   │   ├── Activity.ts
    │   │   ├── ActivityThread.ts
    │   │   ├── AlertController.ts
    │   │   ├── AlertDialog.ts
    │   │   ├── Application.ts
    │   │   └── Dialog.ts
    │   ├── content/
    │   │   ├── Context.ts
    │   │   ├── DialogInterface.ts
    │   │   ├── Intent.ts
    │   │   └── res/
    │   │       ├── ColorStateList.ts
    │   │       ├── Resources.ts
    │   │       └── TypedArray.ts
    │   ├── database/
    │   │   ├── DataSetObservable.ts
    │   │   ├── DataSetObserver.ts
    │   │   └── Observable.ts
    │   ├── graphics/
    │   │   ├── Canvas.ts
    │   │   ├── Color.ts
    │   │   ├── Matrix.ts
    │   │   ├── Paint.ts
    │   │   ├── Path.ts
    │   │   ├── PixelFormat.ts
    │   │   ├── Point.ts
    │   │   ├── Rect.ts
    │   │   ├── RectF.ts
    │   │   └── drawable/
    │   │       ├── Animatable.ts
    │   │       ├── AnimationDrawable.ts
    │   │       ├── ClipDrawable.ts
    │   │       ├── ClipRoundRectDrawable.ts
    │   │       ├── ColorDrawable.ts
    │   │       ├── Drawable.ts
    │   │       ├── DrawableContainer.ts
    │   │       ├── InsetDrawable.ts
    │   │       ├── LayerDrawable.ts
    │   │       ├── RotateDrawable.ts
    │   │       ├── RoundRectDrawable.ts
    │   │       ├── ScaleDrawable.ts
    │   │       ├── ScrollBarDrawable.ts
    │   │       ├── ShadowDrawable.ts
    │   │       └── StateListDrawable.ts
    │   ├── os/
    │   │   ├── Bundle.ts
    │   │   ├── Handler.ts
    │   │   ├── Message.ts
    │   │   ├── MessageQueue.ts
    │   │   ├── SystemClock.ts
    │   │   └── Trace.ts
    │   ├── support/
    │   │   └── v4/
    │   │       ├── view/
    │   │       │   ├── PagerAdapter.ts
    │   │       │   └── ViewPager.ts
    │   │       └── widget/
    │   │           ├── DrawerLayout.ts
    │   │           └── ViewDragHelper.ts
    │   ├── text/
    │   │   ├── BoringLayout.ts
    │   │   ├── DynamicLayout.ts
    │   │   ├── InputType.ts
    │   │   ├── Layout.ts
    │   │   ├── MeasuredText.ts
    │   │   ├── PackedIntVector.ts
    │   │   ├── PackedObjectVector.ts
    │   │   ├── SpanSet.ts
    │   │   ├── SpanWatcher.ts
    │   │   ├── Spannable.ts
    │   │   ├── Spanned.ts
    │   │   ├── StaticLayout.ts
    │   │   ├── TextDirectionHeuristic.ts
    │   │   ├── TextDirectionHeuristics.ts
    │   │   ├── TextLine.ts
    │   │   ├── TextPaint.ts
    │   │   ├── TextUtils.ts
    │   │   ├── TextWatcher.ts
    │   │   ├── method/
    │   │   │   ├── AllCapsTransformationMethod.ts
    │   │   │   ├── MovementMethod.ts
    │   │   │   ├── PasswordTransformationMethod.ts
    │   │   │   ├── ReplacementTransformationMethod.ts
    │   │   │   ├── SingleLineTransformationMethod.ts
    │   │   │   ├── TransformationMethod.ts
    │   │   │   └── TransformationMethod2.ts
    │   │   └── style/
    │   │       ├── CharacterStyle.ts
    │   │       ├── LeadingMarginSpan.ts
    │   │       ├── LineBackgroundSpan.ts
    │   │       ├── LineHeightSpan.ts
    │   │       ├── MetricAffectingSpan.ts
    │   │       ├── ParagraphStyle.ts
    │   │       ├── ReplacementSpan.ts
    │   │       ├── TabStopSpan.ts
    │   │       ├── UpdateAppearance.ts
    │   │       ├── UpdateLayout.ts
    │   │       └── WrapTogetherSpan.ts
    │   ├── util/
    │   │   ├── ArrayMap.ts
    │   │   ├── CopyOnWriteArray.ts
    │   │   ├── DisplayMetrics.ts
    │   │   ├── LayoutDirection.ts
    │   │   ├── Log.ts
    │   │   ├── LongSparseArray.ts
    │   │   ├── MathUtils.ts
    │   │   ├── Pools.ts
    │   │   ├── SparseArray.ts
    │   │   ├── SparseBooleanArray.ts
    │   │   ├── SparseMap.ts
    │   │   ├── StateSet.ts
    │   │   └── TypedValue.ts
    │   ├── view/
    │   │   ├── FocusFinder.ts
    │   │   ├── GestureDetector.ts
    │   │   ├── Gravity.ts
    │   │   ├── HapticFeedbackConstants.ts
    │   │   ├── KeyEvent.ts
    │   │   ├── LayoutInflater.ts
    │   │   ├── Menu.ts
    │   │   ├── MenuItem.ts
    │   │   ├── MotionEvent.ts
    │   │   ├── ScaleGestureDetector.ts
    │   │   ├── SoundEffectConstants.ts
    │   │   ├── Surface.ts
    │   │   ├── TouchDelegate.ts
    │   │   ├── VelocityTracker.ts
    │   │   ├── View.ts
    │   │   ├── ViewConfiguration.ts
    │   │   ├── ViewGroup.ts
    │   │   ├── ViewOverlay.ts
    │   │   ├── ViewParent.ts
    │   │   ├── ViewRootImpl.ts
    │   │   ├── ViewTreeObserver.ts
    │   │   ├── Window.ts
    │   │   ├── WindowManager.ts
    │   │   ├── animation/
    │   │   │   ├── AccelerateDecelerateInterpolator.ts
    │   │   │   ├── AccelerateInterpolator.ts
    │   │   │   ├── AlphaAnimation.ts
    │   │   │   ├── Animation.ts
    │   │   │   ├── AnimationSet.ts
    │   │   │   ├── AnimationUtils.ts
    │   │   │   ├── AnticipateInterpolator.ts
    │   │   │   ├── AnticipateOvershootInterpolator.ts
    │   │   │   ├── BounceInterpolator.ts
    │   │   │   ├── CycleInterpolator.ts
    │   │   │   ├── DecelerateInterpolator.ts
    │   │   │   ├── Interpolator.ts
    │   │   │   ├── LinearInterpolator.ts
    │   │   │   ├── OvershootInterpolator.ts
    │   │   │   ├── RotateAnimation.ts
    │   │   │   ├── ScaleAnimation.ts
    │   │   │   ├── Transformation.ts
    │   │   │   └── TranslateAnimation.ts
    │   │   └── menu/
    │   │       └── MenuPopupHelper.ts
    │   ├── webkit/
    │   │   ├── WebView.ts
    │   │   └── WebViewClient.ts
    │   └── widget/
    │       ├── AbsListView.ts
    │       ├── AbsSeekBar.ts
    │       ├── AbsSpinner.ts
    │       ├── Adapter.ts
    │       ├── AdapterView.ts
    │       ├── ArrayAdapter.ts
    │       ├── BaseAdapter.ts
    │       ├── BaseExpandableListAdapter.ts
    │       ├── Button.ts
    │       ├── CheckBox.ts
    │       ├── Checkable.ts
    │       ├── CheckedTextView.ts
    │       ├── CompoundButton.ts
    │       ├── EditText.ts
    │       ├── ExpandableListAdapter.ts
    │       ├── ExpandableListConnector.ts
    │       ├── ExpandableListPosition.ts
    │       ├── ExpandableListView.ts
    │       ├── FrameLayout.ts
    │       ├── GridView.ts
    │       ├── HeaderViewListAdapter.ts
    │       ├── HeterogeneousExpandableList.ts
    │       ├── HorizontalScrollView.ts
    │       ├── ImageButton.ts
    │       ├── ImageView.ts
    │       ├── LinearLayout.ts
    │       ├── ListAdapter.ts
    │       ├── ListPopupWindow.ts
    │       ├── ListView.ts
    │       ├── NumberPicker.ts
    │       ├── OverScroller.ts
    │       ├── PopupWindow.ts
    │       ├── ProgressBar.ts
    │       ├── RadioButton.ts
    │       ├── RadioGroup.ts
    │       ├── RatingBar.ts
    │       ├── RelativeLayout.ts
    │       ├── ScrollView.ts
    │       ├── Scroller.ts
    │       ├── SeekBar.ts
    │       ├── Spinner.ts
    │       ├── SpinnerAdapter.ts
    │       ├── TextView.ts
    │       ├── Toast.ts
    │       └── WrapperListAdapter.ts
    ├── androidui/
    │   ├── AndroidUI.ts
    │   ├── AndroidUIElement.ts
    │   ├── attr/
    │   │   ├── AttrBinder.ts
    │   │   ├── AttrValueParser.ts
    │   │   ├── StateAttr.ts
    │   │   └── StateAttrList.ts
    │   ├── image/
    │   │   ├── ChangeImageSizeDrawable.ts
    │   │   ├── NetDrawable.ts
    │   │   ├── NetImage.ts
    │   │   ├── NinePatchDrawable.ts
    │   │   └── RegionImageDrawable.ts
    │   ├── native/
    │   │   ├── NativeApi.ts
    │   │   ├── NativeCanvas.ts
    │   │   ├── NativeEditText.ts
    │   │   ├── NativeHtmlView.ts
    │   │   ├── NativeImage.ts
    │   │   ├── NativeSurface.ts
    │   │   └── NativeWebView.ts
    │   ├── util/
    │   │   ├── ArrayCreator.ts
    │   │   ├── ClassFinder.ts
    │   │   ├── Long.ts
    │   │   ├── NumberChecker.ts
    │   │   ├── PageStack.ts
    │   │   ├── PerformanceAdjuster.ts
    │   │   └── Platform.ts
    │   └── widget/
    │       ├── HtmlBaseView.ts
    │       ├── HtmlDataAdapter.ts
    │       ├── HtmlDataListAdapter.ts
    │       ├── HtmlDataPagerAdapter.ts
    │       ├── HtmlDataPickerAdapter.ts
    │       ├── HtmlImageView.ts
    │       ├── HtmlView.ts
    │       ├── OverScrollLocker.ts
    │       └── PullRefreshLoadLayout.ts
    ├── build_sdk_res.js
    ├── insert_sdk_version_dist.js
    ├── java/
    │   ├── lang/
    │   │   ├── Comparable.ts
    │   │   ├── Float.ts
    │   │   ├── Integer.ts
    │   │   ├── Long.ts
    │   │   ├── Object.ts
    │   │   ├── Runnable.ts
    │   │   ├── StringBuilder.ts
    │   │   ├── System.ts
    │   │   ├── ref/
    │   │   │   └── WeakReference.ts
    │   │   └── util/
    │   │       └── concurrent/
    │   │           └── CopyOnWriteArrayList.ts
    │   └── util/
    │       ├── ArrayDeque.ts
    │       ├── ArrayList.ts
    │       ├── Arrays.ts
    │       ├── Collections.ts
    │       ├── Comparator.ts
    │       └── List.ts
    ├── lib/
    │   ├── com/
    │   │   └── jakewharton/
    │   │       └── salvage/
    │   │           └── RecyclingPagerAdapter.ts
    │   └── uk/
    │       └── co/
    │           └── senab/
    │               └── photoview/
    │                   ├── GestureDetector.ts
    │                   ├── IPhotoView.ts
    │                   ├── PhotoView.ts
    │                   └── PhotoViewAttacher.ts
    ├── pack_enter.ts
    ├── res/
    │   └── layout/
    │       ├── _id_defined.xml
    │       ├── action_bar.xml
    │       ├── alert_dialog.xml
    │       ├── alert_dialog_progress.xml
    │       ├── popup_menu_item_layout.xml
    │       ├── select_dialog.xml
    │       ├── select_dialog_item.xml
    │       ├── select_dialog_multichoice.xml
    │       ├── select_dialog_singlechoice.xml
    │       ├── simple_spinner_dropdown_item.xml
    │       ├── simple_spinner_item.xml
    │       └── transient_notification.xml
    └── tsconfig.json

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
test/
node_modules/
.idea
.DS_Store
.outjs

================================================
FILE: .npmignore
================================================
test/
node_modules/
.idea
.DS_Store
.outjs

src/
buildtool/


================================================
FILE: LICENSE
================================================
The MIT License (MIT)

Copyright (c) 2014 Vladimir Kharlampidi

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

================================================
FILE: README.md
================================================
# AndroidUIX
[中文文档](https://github.com/linfaxin/AndroidUIX/blob/master/README_cn.md)

Make a high-performance web app with Android UI.

Site: http://linfaxin.github.io/AndroidUIX/


### Feature

1. Native app experience & performance.
2. Render with web canvas, high-performance web app.
3. Same api as Android, you can find its question & usage on the internet.


### Getting Started 

Look wiki: [Getting Started](https://github.com/linfaxin/AndroidUIX/wiki/1.-Getting-Started)


### 60fps

the sample app's fps:

1. IOS: 50-60fps
2. Android Chrome: 50fps
3. Android WebView(with [Runtime](https://github.com/linfaxin/AndroidUIRuntimeAndroid)): 50fps

You can test [Showcase](http://androiduix.com/showcase/index.html) on your device.


### Showcase

* [Showcase](http://linfaxin.github.io/AndroidUIX/showcase/index.html)



### LICENSE

MIT.


================================================
FILE: README_cn.md
================================================
# AndroidUIX

移植Android的UI组件到Web端, 以Android的方式来制作高性能优体验的WebApp

网站: http://linfaxin.github.io/AndroidUIX


### 特点

1. 完整Native端组件体验
2. 使用Web Canvas绘制界面
3. 与Android SDK相同的API,相关用法和问题都可以在网络轻易找到。

### 开始

[快速起步](https://github.com/linfaxin/AndroidUIX/wiki/%E4%B8%AD%E6%96%87_1.-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)

### 60fps

Sample页在移动端的fps:

1. IOS: 50-60fps
2. Android Chrome: 50fps
3. Android WebView(App嵌入[Runtime](https://github.com/linfaxin/AndroidUIRuntimeAndroid)运行时): 50fps

你也可以在自己的手机浏览器上测试 [Showcase](http://androiduix.com/showcase/index.html)。

### Showcase

* [Showcase](http://linfaxin.github.io/AndroidUIX/showcase/index.html)


### LICENSE

MIT.


================================================
FILE: buildtool/README.md
================================================
### AndroidUIX Modified Note

The packed typescript's 'checkClassPropertyAccess' was closed, so you can access private/protected property out a class.


================================================
FILE: buildtool/typescript/bin/tsc
================================================
#!/usr/bin/env node
require('../lib/tsc.js')


================================================
FILE: buildtool/typescript/bin/tsserver
================================================
#!/usr/bin/env node
require('../lib/tsserver.js')


================================================
FILE: buildtool/typescript/lib/lib.d.ts
================================================
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved. 
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0  
 
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 
MERCHANTABLITY OR NON-INFRINGEMENT. 
 
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */



/// <reference no-default-lib="true"/>


/////////////////////////////
/// ECMAScript APIs
/////////////////////////////

declare const NaN: number;
declare const Infinity: number;

/**
  * Evaluates JavaScript code and executes it.
  * @param x A String value that contains valid JavaScript code.
  */
declare function eval(x: string): any;

/**
  * Converts A string to an integer.
  * @param s A string to convert into a number.
  * @param radix A value between 2 and 36 that specifies the base of the number in numString.
  * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.
  * All other strings are considered decimal.
  */
declare function parseInt(s: string, radix?: number): number;

/**
  * Converts a string to a floating-point number.
  * @param string A string that contains a floating-point number.
  */
declare function parseFloat(string: string): number;

/**
  * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).
  * @param number A numeric value.
  */
declare function isNaN(number: number): boolean;

/**
  * Determines whether a supplied number is finite.
  * @param number Any numeric value.
  */
declare function isFinite(number: number): boolean;

/**
  * Gets the unencoded version of an encoded Uniform Resource Identifier (URI).
  * @param encodedURI A value representing an encoded URI.
  */
declare function decodeURI(encodedURI: string): string;

/**
  * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).
  * @param encodedURIComponent A value representing an encoded URI component.
  */
declare function decodeURIComponent(encodedURIComponent: string): string;

/**
  * Encodes a text string as a valid Uniform Resource Identifier (URI)
  * @param uri A value representing an encoded URI.
  */
declare function encodeURI(uri: string): string;

/**
  * Encodes a text string as a valid component of a Uniform Resource Identifier (URI).
  * @param uriComponent A value representing an encoded URI component.
  */
declare function encodeURIComponent(uriComponent: string): string;

interface PropertyDescriptor {
    configurable?: boolean;
    enumerable?: boolean;
    value?: any;
    writable?: boolean;
    get? (): any;
    set? (v: any): void;
}

interface PropertyDescriptorMap {
    [s: string]: PropertyDescriptor;
}

interface Object {
    /** The initial value of Object.prototype.constructor is the standard built-in Object constructor. */
    constructor: Function;

    /** Returns a string representation of an object. */
    toString(): string;

    /** Returns a date converted to a string using the current locale. */
    toLocaleString(): string;

    /** Returns the primitive value of the specified object. */
    valueOf(): Object;

    /**
      * Determines whether an object has a property with the specified name.
      * @param v A property name.
      */
    hasOwnProperty(v: string): boolean;

    /**
      * Determines whether an object exists in another object's prototype chain.
      * @param v Another object whose prototype chain is to be checked.
      */
    isPrototypeOf(v: Object): boolean;

    /**
      * Determines whether a specified property is enumerable.
      * @param v A property name.
      */
    propertyIsEnumerable(v: string): boolean;
}

interface ObjectConstructor {
    new (value?: any): Object;
    (): any;
    (value: any): any;

    /** A reference to the prototype for a class of objects. */
    readonly prototype: Object;

    /**
      * Returns the prototype of an object.
      * @param o The object that references the prototype.
      */
    getPrototypeOf(o: any): any;

    /**
      * Gets the own property descriptor of the specified object.
      * An own property descriptor is one that is defined directly on the object and is not inherited from the object's prototype.
      * @param o Object that contains the property.
      * @param p Name of the property.
    */
    getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor;

    /**
      * Returns the names of the own properties of an object. The own properties of an object are those that are defined directly
      * on that object, and are not inherited from the object's prototype. The properties of an object include both fields (objects) and functions.
      * @param o Object that contains the own properties.
      */
    getOwnPropertyNames(o: any): string[];

    /**
      * Creates an object that has null prototype.
      * @param o Object to use as a prototype. May be null
      */
    create(o: null): any;

    /**
      * Creates an object that has the specified prototype, and that optionally contains specified properties.
      * @param o Object to use as a prototype. May be null
      */
    create<T>(o: T): T;

    /**
      * Creates an object that has the specified prototype, and that optionally contains specified properties.
      * @param o Object to use as a prototype. May be null
      * @param properties JavaScript object that contains one or more property descriptors.
      */
    create(o: any, properties: PropertyDescriptorMap): any;

    /**
      * Adds a property to an object, or modifies attributes of an existing property.
      * @param o Object on which to add or modify the property. This can be a native JavaScript object (that is, a user-defined object or a built in object) or a DOM object.
      * @param p The property name.
      * @param attributes Descriptor for the property. It can be for a data property or an accessor property.
      */
    defineProperty(o: any, p: string, attributes: PropertyDescriptor): any;

    /**
      * Adds one or more properties to an object, and/or modifies attributes of existing properties.
      * @param o Object on which to add or modify the properties. This can be a native JavaScript object or a DOM object.
      * @param properties JavaScript object that contains one or more descriptor objects. Each descriptor object describes a data property or an accessor property.
      */
    defineProperties(o: any, properties: PropertyDescriptorMap): any;

    /**
      * Prevents the modification of attributes of existing properties, and prevents the addition of new properties.
      * @param o Object on which to lock the attributes.
      */
    seal<T>(o: T): T;

    /**
      * Prevents the modification of existing property attributes and values, and prevents the addition of new properties.
      * @param o Object on which to lock the attributes.
      */
    freeze<T>(a: T[]): ReadonlyArray<T>;

    /**
      * Prevents the modification of existing property attributes and values, and prevents the addition of new properties.
      * @param o Object on which to lock the attributes.
      */
    freeze<T extends Function>(f: T): T;

    /**
      * Prevents the modification of existing property attributes and values, and prevents the addition of new properties.
      * @param o Object on which to lock the attributes.
      */
    freeze<T>(o: T): Readonly<T>;

    /**
      * Prevents the addition of new properties to an object.
      * @param o Object to make non-extensible.
      */
    preventExtensions<T>(o: T): T;

    /**
      * Returns true if existing property attributes cannot be modified in an object and new properties cannot be added to the object.
      * @param o Object to test.
      */
    isSealed(o: any): boolean;

    /**
      * Returns true if existing property attributes and values cannot be modified in an object, and new properties cannot be added to the object.
      * @param o Object to test.
      */
    isFrozen(o: any): boolean;

    /**
      * Returns a value that indicates whether new properties can be added to an object.
      * @param o Object to test.
      */
    isExtensible(o: any): boolean;

    /**
      * Returns the names of the enumerable properties and methods of an object.
      * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.
      */
    keys(o: any): string[];
}

/**
  * Provides functionality common to all JavaScript objects.
  */
declare const Object: ObjectConstructor;

/**
  * Creates a new function.
  */
interface Function {
    /**
      * Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function.
      * @param thisArg The object to be used as the this object.
      * @param argArray A set of arguments to be passed to the function.
      */
    apply(this: Function, thisArg: any, argArray?: any): any;

    /**
      * Calls a method of an object, substituting another object for the current object.
      * @param thisArg The object to be used as the current object.
      * @param argArray A list of arguments to be passed to the method.
      */
    call(this: Function, thisArg: any, ...argArray: any[]): any;

    /**
      * For a given function, creates a bound function that has the same body as the original function.
      * The this object of the bound function is associated with the specified object, and has the specified initial parameters.
      * @param thisArg An object to which the this keyword can refer inside the new function.
      * @param argArray A list of arguments to be passed to the new function.
      */
    bind(this: Function, thisArg: any, ...argArray: any[]): any;

    /** Returns a string representation of a function. */
    toString(): string;

    prototype: any;
    readonly length: number;

    // Non-standard extensions
    arguments: any;
    caller: Function;
}

interface FunctionConstructor {
    /**
      * Creates a new function.
      * @param args A list of arguments the function accepts.
      */
    new (...args: string[]): Function;
    (...args: string[]): Function;
    readonly prototype: Function;
}

declare const Function: FunctionConstructor;

interface IArguments {
    [index: number]: any;
    length: number;
    callee: Function;
}

interface String {
    /** Returns a string representation of a string. */
    toString(): string;

    /**
      * Returns the character at the specified index.
      * @param pos The zero-based index of the desired character.
      */
    charAt(pos: number): string;

    /**
      * Returns the Unicode value of the character at the specified location.
      * @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.
      */
    charCodeAt(index: number): number;

    /**
      * Returns a string that contains the concatenation of two or more strings.
      * @param strings The strings to append to the end of the string.
      */
    concat(...strings: string[]): string;

    /**
      * Returns the position of the first occurrence of a substring.
      * @param searchString The substring to search for in the string
      * @param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string.
      */
    indexOf(searchString: string, position?: number): number;

    /**
      * Returns the last occurrence of a substring in the string.
      * @param searchString The substring to search for.
      * @param position The index at which to begin searching. If omitted, the search begins at the end of the string.
      */
    lastIndexOf(searchString: string, position?: number): number;

    /**
      * Determines whether two strings are equivalent in the current locale.
      * @param that String to compare to target string
      */
    localeCompare(that: string): number;

    /**
      * Matches a string with a regular expression, and returns an array containing the results of that search.
      * @param regexp A variable name or string literal containing the regular expression pattern and flags.
      */
    match(regexp: string): RegExpMatchArray | null;

    /**
      * Matches a string with a regular expression, and returns an array containing the results of that search.
      * @param regexp A regular expression object that contains the regular expression pattern and applicable flags.
      */
    match(regexp: RegExp): RegExpMatchArray | null;

    /**
      * Replaces text in a string, using a regular expression or search string.
      * @param searchValue A string that represents the regular expression.
      * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string.
      */
    replace(searchValue: string, replaceValue: string): string;

    /**
      * Replaces text in a string, using a regular expression or search string.
      * @param searchValue A string that represents the regular expression.
      * @param replacer A function that returns the replacement text.
      */
    replace(searchValue: string, replacer: (substring: string, ...args: any[]) => string): string;

    /**
      * Replaces text in a string, using a regular expression or search string.
      * @param searchValue A Regular Expression object containing the regular expression pattern and applicable flags.
      * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string.
      */
    replace(searchValue: RegExp, replaceValue: string): string;

    /**
      * Replaces text in a string, using a regular expression or search string.
      * @param searchValue A Regular Expression object containing the regular expression pattern and applicable flags
      * @param replacer A function that returns the replacement text.
      */
    replace(searchValue: RegExp, replacer: (substring: string, ...args: any[]) => string): string;

    /**
      * Finds the first substring match in a regular expression search.
      * @param regexp The regular expression pattern and applicable flags.
      */
    search(regexp: string): number;

    /**
      * Finds the first substring match in a regular expression search.
      * @param regexp The regular expression pattern and applicable flags.
      */
    search(regexp: RegExp): number;

    /**
      * Returns a section of a string.
      * @param start The index to the beginning of the specified portion of stringObj.
      * @param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end.
      * If this value is not specified, the substring continues to the end of stringObj.
      */
    slice(start?: number, end?: number): string;

    /**
      * Split a string into substrings using the specified separator and return them as an array.
      * @param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned.
      * @param limit A value used to limit the number of elements returned in the array.
      */
    split(separator: string, limit?: number): string[];

    /**
      * Split a string into substrings using the specified separator and return them as an array.
      * @param separator A Regular Express that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned.
      * @param limit A value used to limit the number of elements returned in the array.
      */
    split(separator: RegExp, limit?: number): string[];

    /**
      * Returns the substring at the specified location within a String object.
      * @param start The zero-based index number indicating the beginning of the substring.
      * @param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end.
      * If end is omitted, the characters from start through the end of the original string are returned.
      */
    substring(start: number, end?: number): string;

    /** Converts all the alphabetic characters in a string to lowercase. */
    toLowerCase(): string;

    /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */
    toLocaleLowerCase(): string;

    /** Converts all the alphabetic characters in a string to uppercase. */
    toUpperCase(): string;

    /** Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale. */
    toLocaleUpperCase(): string;

    /** Removes the leading and trailing white space and line terminator characters from a string. */
    trim(): string;

    /** Returns the length of a String object. */
    readonly length: number;

    // IE extensions
    /**
      * Gets a substring beginning at the specified location and having the specified length.
      * @param from The starting position of the desired substring. The index of the first character in the string is zero.
      * @param length The number of characters to include in the returned substring.
      */
    substr(from: number, length?: number): string;

    /** Returns the primitive value of the specified object. */
    valueOf(): string;

    readonly [index: number]: string;
}

interface StringConstructor {
    new (value?: any): String;
    (value?: any): string;
    readonly prototype: String;
    fromCharCode(...codes: number[]): string;
}

/**
  * Allows manipulation and formatting of text strings and determination and location of substrings within strings.
  */
declare const String: StringConstructor;

interface Boolean {
    /** Returns the primitive value of the specified object. */
    valueOf(): boolean;
}

interface BooleanConstructor {
    new (value?: any): Boolean;
    (value?: any): boolean;
    readonly prototype: Boolean;
}

declare const Boolean: BooleanConstructor;

interface Number {
    /**
      * Returns a string representation of an object.
      * @param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers.
      */
    toString(radix?: number): string;

    /**
      * Returns a string representing a number in fixed-point notation.
      * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive.
      */
    toFixed(fractionDigits?: number): string;

    /**
      * Returns a string containing a number represented in exponential notation.
      * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive.
      */
    toExponential(fractionDigits?: number): string;

    /**
      * Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits.
      * @param precision Number of significant digits. Must be in the range 1 - 21, inclusive.
      */
    toPrecision(precision?: number): string;

    /** Returns the primitive value of the specified object. */
    valueOf(): number;
}

interface NumberConstructor {
    new (value?: any): Number;
    (value?: any): number;
    readonly prototype: Number;

    /** The largest number that can be represented in JavaScript. Equal to approximately 1.79E+308. */
    readonly MAX_VALUE: number;

    /** The closest number to zero that can be represented in JavaScript. Equal to approximately 5.00E-324. */
    readonly MIN_VALUE: number;

    /**
      * A value that is not a number.
      * In equality comparisons, NaN does not equal any value, including itself. To test whether a value is equivalent to NaN, use the isNaN function.
      */
    readonly NaN: number;

    /**
      * A value that is less than the largest negative number that can be represented in JavaScript.
      * JavaScript displays NEGATIVE_INFINITY values as -infinity.
      */
    readonly NEGATIVE_INFINITY: number;

    /**
      * A value greater than the largest number that can be represented in JavaScript.
      * JavaScript displays POSITIVE_INFINITY values as infinity.
      */
    readonly POSITIVE_INFINITY: number;
}

/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */
declare const Number: NumberConstructor;

interface TemplateStringsArray extends ReadonlyArray<string> {
    readonly raw: ReadonlyArray<string>
}

interface Math {
    /** The mathematical constant e. This is Euler's number, the base of natural logarithms. */
    readonly E: number;
    /** The natural logarithm of 10. */
    readonly LN10: number;
    /** The natural logarithm of 2. */
    readonly LN2: number;
    /** The base-2 logarithm of e. */
    readonly LOG2E: number;
    /** The base-10 logarithm of e. */
    readonly LOG10E: number;
    /** Pi. This is the ratio of the circumference of a circle to its diameter. */
    readonly PI: number;
    /** The square root of 0.5, or, equivalently, one divided by the square root of 2. */
    readonly SQRT1_2: number;
    /** The square root of 2. */
    readonly SQRT2: number;
    /**
      * Returns the absolute value of a number (the value without regard to whether it is positive or negative).
      * For example, the absolute value of -5 is the same as the absolute value of 5.
      * @param x A numeric expression for which the absolute value is needed.
      */
    abs(x: number): number;
    /**
      * Returns the arc cosine (or inverse cosine) of a number.
      * @param x A numeric expression.
      */
    acos(x: number): number;
    /**
      * Returns the arcsine of a number.
      * @param x A numeric expression.
      */
    asin(x: number): number;
    /**
      * Returns the arctangent of a number.
      * @param x A numeric expression for which the arctangent is needed.
      */
    atan(x: number): number;
    /**
      * Returns the angle (in radians) from the X axis to a point.
      * @param y A numeric expression representing the cartesian y-coordinate.
      * @param x A numeric expression representing the cartesian x-coordinate.
      */
    atan2(y: number, x: number): number;
    /**
      * Returns the smallest number greater than or equal to its numeric argument.
      * @param x A numeric expression.
      */
    ceil(x: number): number;
    /**
      * Returns the cosine of a number.
      * @param x A numeric expression that contains an angle measured in radians.
      */
    cos(x: number): number;
    /**
      * Returns e (the base of natural logarithms) raised to a power.
      * @param x A numeric expression representing the power of e.
      */
    exp(x: number): number;
    /**
      * Returns the greatest number less than or equal to its numeric argument.
      * @param x A numeric expression.
      */
    floor(x: number): number;
    /**
      * Returns the natural logarithm (base e) of a number.
      * @param x A numeric expression.
      */
    log(x: number): number;
    /**
      * Returns the larger of a set of supplied numeric expressions.
      * @param values Numeric expressions to be evaluated.
      */
    max(...values: number[]): number;
    /**
      * Returns the smaller of a set of supplied numeric expressions.
      * @param values Numeric expressions to be evaluated.
      */
    min(...values: number[]): number;
    /**
      * Returns the value of a base expression taken to a specified power.
      * @param x The base value of the expression.
      * @param y The exponent value of the expression.
      */
    pow(x: number, y: number): number;
    /** Returns a pseudorandom number between 0 and 1. */
    random(): number;
    /**
      * Returns a supplied numeric expression rounded to the nearest number.
      * @param x The value to be rounded to the nearest number.
      */
    round(x: number): number;
    /**
      * Returns the sine of a number.
      * @param x A numeric expression that contains an angle measured in radians.
      */
    sin(x: number): number;
    /**
      * Returns the square root of a number.
      * @param x A numeric expression.
      */
    sqrt(x: number): number;
    /**
      * Returns the tangent of a number.
      * @param x A numeric expression that contains an angle measured in radians.
      */
    tan(x: number): number;
}
/** An intrinsic object that provides basic mathematics functionality and constants. */
declare const Math: Math;

/** Enables basic storage and retrieval of dates and times. */
interface Date {
    /** Returns a string representation of a date. The format of the string depends on the locale. */
    toString(): string;
    /** Returns a date as a string value. */
    toDateString(): string;
    /** Returns a time as a string value. */
    toTimeString(): string;
    /** Returns a value as a string value appropriate to the host environment's current locale. */
    toLocaleString(): string;
    /** Returns a date as a string value appropriate to the host environment's current locale. */
    toLocaleDateString(): string;
    /** Returns a time as a string value appropriate to the host environment's current locale. */
    toLocaleTimeString(): string;
    /** Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC. */
    valueOf(): number;
    /** Gets the time value in milliseconds. */
    getTime(): number;
    /** Gets the year, using local time. */
    getFullYear(): number;
    /** Gets the year using Universal Coordinated Time (UTC). */
    getUTCFullYear(): number;
    /** Gets the month, using local time. */
    getMonth(): number;
    /** Gets the month of a Date object using Universal Coordinated Time (UTC). */
    getUTCMonth(): number;
    /** Gets the day-of-the-month, using local time. */
    getDate(): number;
    /** Gets the day-of-the-month, using Universal Coordinated Time (UTC). */
    getUTCDate(): number;
    /** Gets the day of the week, using local time. */
    getDay(): number;
    /** Gets the day of the week using Universal Coordinated Time (UTC). */
    getUTCDay(): number;
    /** Gets the hours in a date, using local time. */
    getHours(): number;
    /** Gets the hours value in a Date object using Universal Coordinated Time (UTC). */
    getUTCHours(): number;
    /** Gets the minutes of a Date object, using local time. */
    getMinutes(): number;
    /** Gets the minutes of a Date object using Universal Coordinated Time (UTC). */
    getUTCMinutes(): number;
    /** Gets the seconds of a Date object, using local time. */
    getSeconds(): number;
    /** Gets the seconds of a Date object using Universal Coordinated Time (UTC). */
    getUTCSeconds(): number;
    /** Gets the milliseconds of a Date, using local time. */
    getMilliseconds(): number;
    /** Gets the milliseconds of a Date object using Universal Coordinated Time (UTC). */
    getUTCMilliseconds(): number;
    /** Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC). */
    getTimezoneOffset(): number;
    /**
      * Sets the date and time value in the Date object.
      * @param time A numeric value representing the number of elapsed milliseconds since midnight, January 1, 1970 GMT.
      */
    setTime(time: number): number;
    /**
      * Sets the milliseconds value in the Date object using local time.
      * @param ms A numeric value equal to the millisecond value.
      */
    setMilliseconds(ms: number): number;
    /**
      * Sets the milliseconds value in the Date object using Universal Coordinated Time (UTC).
      * @param ms A numeric value equal to the millisecond value.
      */
    setUTCMilliseconds(ms: number): number;

    /**
      * Sets the seconds value in the Date object using local time.
      * @param sec A numeric value equal to the seconds value.
      * @param ms A numeric value equal to the milliseconds value.
      */
    setSeconds(sec: number, ms?: number): number;
    /**
      * Sets the seconds value in the Date object using Universal Coordinated Time (UTC).
      * @param sec A numeric value equal to the seconds value.
      * @param ms A numeric value equal to the milliseconds value.
      */
    setUTCSeconds(sec: number, ms?: number): number;
    /**
      * Sets the minutes value in the Date object using local time.
      * @param min A numeric value equal to the minutes value.
      * @param sec A numeric value equal to the seconds value.
      * @param ms A numeric value equal to the milliseconds value.
      */
    setMinutes(min: number, sec?: number, ms?: number): number;
    /**
      * Sets the minutes value in the Date object using Universal Coordinated Time (UTC).
      * @param min A numeric value equal to the minutes value.
      * @param sec A numeric value equal to the seconds value.
      * @param ms A numeric value equal to the milliseconds value.
      */
    setUTCMinutes(min: number, sec?: number, ms?: number): number;
    /**
      * Sets the hour value in the Date object using local time.
      * @param hours A numeric value equal to the hours value.
      * @param min A numeric value equal to the minutes value.
      * @param sec A numeric value equal to the seconds value.
      * @param ms A numeric value equal to the milliseconds value.
      */
    setHours(hours: number, min?: number, sec?: number, ms?: number): number;
    /**
      * Sets the hours value in the Date object using Universal Coordinated Time (UTC).
      * @param hours A numeric value equal to the hours value.
      * @param min A numeric value equal to the minutes value.
      * @param sec A numeric value equal to the seconds value.
      * @param ms A numeric value equal to the milliseconds value.
      */
    setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number;
    /**
      * Sets the numeric day-of-the-month value of the Date object using local time.
      * @param date A numeric value equal to the day of the month.
      */
    setDate(date: number): number;
    /**
      * Sets the numeric day of the month in the Date object using Universal Coordinated Time (UTC).
      * @param date A numeric value equal to the day of the month.
      */
    setUTCDate(date: number): number;
    /**
      * Sets the month value in the Date object using local time.
      * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively.
      * @param date A numeric value representing the day of the month. If this value is not supplied, the value from a call to the getDate method is used.
      */
    setMonth(month: number, date?: number): number;
    /**
      * Sets the month value in the Date object using Universal Coordinated Time (UTC).
      * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively.
      * @param date A numeric value representing the day of the month. If it is not supplied, the value from a call to the getUTCDate method is used.
      */
    setUTCMonth(month: number, date?: number): number;
    /**
      * Sets the year of the Date object using local time.
      * @param year A numeric value for the year.
      * @param month A zero-based numeric value for the month (0 for January, 11 for December). Must be specified if numDate is specified.
      * @param date A numeric value equal for the day of the month.
      */
    setFullYear(year: number, month?: number, date?: number): number;
    /**
      * Sets the year value in the Date object using Universal Coordinated Time (UTC).
      * @param year A numeric value equal to the year.
      * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. Must be supplied if numDate is supplied.
      * @param date A numeric value equal to the day of the month.
      */
    setUTCFullYear(year: number, month?: number, date?: number): number;
    /** Returns a date converted to a string using Universal Coordinated Time (UTC). */
    toUTCString(): string;
    /** Returns a date as a string value in ISO format. */
    toISOString(): string;
    /** Used by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization. */
    toJSON(key?: any): string;
}

interface DateConstructor {
    new (): Date;
    new (value: number): Date;
    new (value: string): Date;
    new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date;
    (): string;
    readonly prototype: Date;
    /**
      * Parses a string containing a date, and returns the number of milliseconds between that date and midnight, January 1, 1970.
      * @param s A date string
      */
    parse(s: string): number;
    /**
      * Returns the number of milliseconds between midnight, January 1, 1970 Universal Coordinated Time (UTC) (or GMT) and the specified date.
      * @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year.
      * @param month The month as an number between 0 and 11 (January to December).
      * @param date The date as an number between 1 and 31.
      * @param hours Must be supplied if minutes is supplied. An number from 0 to 23 (midnight to 11pm) that specifies the hour.
      * @param minutes Must be supplied if seconds is supplied. An number from 0 to 59 that specifies the minutes.
      * @param seconds Must be supplied if milliseconds is supplied. An number from 0 to 59 that specifies the seconds.
      * @param ms An number from 0 to 999 that specifies the milliseconds.
      */
    UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number;
    now(): number;
}

declare const Date: DateConstructor;

interface RegExpMatchArray extends Array<string> {
    index?: number;
    input?: string;
}

interface RegExpExecArray extends Array<string> {
    index: number;
    input: string;
}

interface RegExp {
    /**
      * Executes a search on a string using a regular expression pattern, and returns an array containing the results of that search.
      * @param string The String object or string literal on which to perform the search.
      */
    exec(string: string): RegExpExecArray | null;

    /**
      * Returns a Boolean value that indicates whether or not a pattern exists in a searched string.
      * @param string String on which to perform the search.
      */
    test(string: string): boolean;

    /** Returns a copy of the text of the regular expression pattern. Read-only. The regExp argument is a Regular expression object. It can be a variable name or a literal. */
    readonly source: string;

    /** Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only. */
    readonly global: boolean;

    /** Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only. */
    readonly ignoreCase: boolean;

    /** Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only. */
    readonly multiline: boolean;

    lastIndex: number;

    // Non-standard extensions
    compile(): this;
}

interface RegExpConstructor {
    new (pattern: RegExp): RegExp;
    new (pattern: string, flags?: string): RegExp;
    (pattern: RegExp): RegExp;
    (pattern: string, flags?: string): RegExp;
    readonly prototype: RegExp;

    // Non-standard extensions
    $1: string;
    $2: string;
    $3: string;
    $4: string;
    $5: string;
    $6: string;
    $7: string;
    $8: string;
    $9: string;
    lastMatch: string;
}

declare const RegExp: RegExpConstructor;

interface Error {
    name: string;
    message: string;
    stack?: string;
}

interface ErrorConstructor {
    new (message?: string): Error;
    (message?: string): Error;
    readonly prototype: Error;
}

declare const Error: ErrorConstructor;

interface EvalError extends Error {
}

interface EvalErrorConstructor {
    new (message?: string): EvalError;
    (message?: string): EvalError;
    readonly prototype: EvalError;
}

declare const EvalError: EvalErrorConstructor;

interface RangeError extends Error {
}

interface RangeErrorConstructor {
    new (message?: string): RangeError;
    (message?: string): RangeError;
    readonly prototype: RangeError;
}

declare const RangeError: RangeErrorConstructor;

interface ReferenceError extends Error {
}

interface ReferenceErrorConstructor {
    new (message?: string): ReferenceError;
    (message?: string): ReferenceError;
    readonly prototype: ReferenceError;
}

declare const ReferenceError: ReferenceErrorConstructor;

interface SyntaxError extends Error {
}

interface SyntaxErrorConstructor {
    new (message?: string): SyntaxError;
    (message?: string): SyntaxError;
    readonly prototype: SyntaxError;
}

declare const SyntaxError: SyntaxErrorConstructor;

interface TypeError extends Error {
}

interface TypeErrorConstructor {
    new (message?: string): TypeError;
    (message?: string): TypeError;
    readonly prototype: TypeError;
}

declare const TypeError: TypeErrorConstructor;

interface URIError extends Error {
}

interface URIErrorConstructor {
    new (message?: string): URIError;
    (message?: string): URIError;
    readonly prototype: URIError;
}

declare const URIError: URIErrorConstructor;

interface JSON {
    /**
      * Converts a JavaScript Object Notation (JSON) string into an object.
      * @param text A valid JSON string.
      * @param reviver A function that transforms the results. This function is called for each member of the object.
      * If a member contains nested objects, the nested objects are transformed before the parent object is.
      */
    parse(text: string, reviver?: (key: any, value: any) => any): any;
    /**
      * Converts a JavaScript value to a JavaScript Object Notation (JSON) string.
      * @param value A JavaScript value, usually an object or array, to be converted.
      * @param replacer A function that transforms the results.
      * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read.
      */
    stringify(value: any, replacer?: (key: string, value: any) => any, space?: string | number): string;
    /**
      * Converts a JavaScript value to a JavaScript Object Notation (JSON) string.
      * @param value A JavaScript value, usually an object or array, to be converted.
      * @param replacer An array of strings and numbers that acts as a approved list for selecting the object properties that will be stringified.
      * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read.
      */
    stringify(value: any, replacer?: (number | string)[] | null, space?: string | number): string;
}

/**
  * An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.
  */
declare const JSON: JSON;


/////////////////////////////
/// ECMAScript Array API (specially handled by compiler)
/////////////////////////////

interface ReadonlyArray<T> {
    /**
      * Gets the length of the array. This is a number one higher than the highest element defined in an array.
      */
    readonly length: number;
    /**
      * Returns a string representation of an array.
      */
    toString(): string;
    toLocaleString(): string;
    /**
      * Combines two or more arrays.
      * @param items Additional items to add to the end of array1.
      */
    concat<U extends ReadonlyArray<T>>(...items: U[]): T[];
    /**
      * Combines two or more arrays.
      * @param items Additional items to add to the end of array1.
      */
    concat(...items: T[][]): T[];
    /**
      * Combines two or more arrays.
      * @param items Additional items to add to the end of array1.
      */
    concat(...items: (T | T[])[]): T[];
    /**
      * Adds all the elements of an array separated by the specified separator string.
      * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.
      */
    join(separator?: string): string;
    /**
      * Returns a section of an array.
      * @param start The beginning of the specified portion of the array.
      * @param end The end of the specified portion of the array.
      */
    slice(start?: number, end?: number): T[];
    /**
      * Returns the index of the first occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.
      */
    indexOf(searchElement: T, fromIndex?: number): number;

    /**
      * Returns the index of the last occurrence of a specified value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array.
      */
    lastIndexOf(searchElement: T, fromIndex?: number): number;
    /**
      * Determines whether all the members of an array satisfy the specified test.
      * @param callbackfn A function that accepts up to three arguments. The every method calls the callbackfn function for each element in array1 until the callbackfn returns false, or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    every(callbackfn: (value: T, index: number, array: ReadonlyArray<T>) => boolean, thisArg?: any): boolean;
    /**
      * Determines whether the specified callback function returns true for any element of an array.
      * @param callbackfn A function that accepts up to three arguments. The some method calls the callbackfn function for each element in array1 until the callbackfn returns true, or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    some(callbackfn: (value: T, index: number, array: ReadonlyArray<T>) => boolean, thisArg?: any): boolean;
    /**
      * Performs the specified action for each element in an array.
      * @param callbackfn  A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.
      * @param thisArg  An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    forEach(callbackfn: (value: T, index: number, array: ReadonlyArray<T>) => void, thisArg?: any): void;
    /**
      * Calls a defined callback function on each element of an array, and returns an array that contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    map<U>(callbackfn: (value: T, index: number, array: ReadonlyArray<T>) => U, thisArg?: any): U[];
    /**
     * Returns the elements of an array that meet the condition specified in a callback function.
     * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.
     * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
     */
    filter<S extends T>(callbackfn: (value: T, index: number, array: ReadonlyArray<T>) => value is S, thisArg?: any): S[];
    /**
      * Returns the elements of an array that meet the condition specified in a callback function.
      * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    filter(callbackfn: (value: T, index: number, array: ReadonlyArray<T>) => any, thisArg?: any): T[];
    /**
      * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
      */
    reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: ReadonlyArray<T>) => T, initialValue?: T): T;
    /**
      * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
      */
    reduce<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: ReadonlyArray<T>) => U, initialValue: U): U;
    /**
      * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
      */
    reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: ReadonlyArray<T>) => T, initialValue?: T): T;
    /**
      * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
      */
    reduceRight<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: ReadonlyArray<T>) => U, initialValue: U): U;

    readonly [n: number]: T;
}

interface Array<T> {
    /**
      * Gets or sets the length of the array. This is a number one higher than the highest element defined in an array.
      */
    length: number;
    /**
      * Returns a string representation of an array.
      */
    toString(): string;
    toLocaleString(): string;
    /**
      * Appends new elements to an array, and returns the new length of the array.
      * @param items New elements of the Array.
      */
    push(...items: T[]): number;
    /**
      * Removes the last element from an array and returns it.
      */
    pop(): T | undefined;
    /**
      * Combines two or more arrays.
      * @param items Additional items to add to the end of array1.
      */
    concat(...items: T[][]): T[];
    /**
      * Combines two or more arrays.
      * @param items Additional items to add to the end of array1.
      */
    concat(...items: (T | T[])[]): T[];
    /**
      * Adds all the elements of an array separated by the specified separator string.
      * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.
      */
    join(separator?: string): string;
    /**
      * Reverses the elements in an Array.
      */
    reverse(): T[];
    /**
      * Removes the first element from an array and returns it.
      */
    shift(): T | undefined;
    /**
      * Returns a section of an array.
      * @param start The beginning of the specified portion of the array.
      * @param end The end of the specified portion of the array.
      */
    slice(start?: number, end?: number): T[];
    /**
      * Sorts an array.
      * @param compareFn The name of the function used to determine the order of the elements. If omitted, the elements are sorted in ascending, ASCII character order.
      */
    sort(compareFn?: (a: T, b: T) => number): this;
    /**
      * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.
      * @param start The zero-based location in the array from which to start removing elements.
      */
    splice(start: number): T[];
    /**
      * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.
      * @param start The zero-based location in the array from which to start removing elements.
      * @param deleteCount The number of elements to remove.
      * @param items Elements to insert into the array in place of the deleted elements.
      */
    splice(start: number, deleteCount: number, ...items: T[]): T[];
    /**
      * Inserts new elements at the start of an array.
      * @param items  Elements to insert at the start of the Array.
      */
    unshift(...items: T[]): number;
    /**
      * Returns the index of the first occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.
      */
    indexOf(searchElement: T, fromIndex?: number): number;
    /**
      * Returns the index of the last occurrence of a specified value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array.
      */
    lastIndexOf(searchElement: T, fromIndex?: number): number;
    /**
      * Determines whether all the members of an array satisfy the specified test.
      * @param callbackfn A function that accepts up to three arguments. The every method calls the callbackfn function for each element in array1 until the callbackfn returns false, or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    every(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean;
    /**
      * Determines whether the specified callback function returns true for any element of an array.
      * @param callbackfn A function that accepts up to three arguments. The some method calls the callbackfn function for each element in array1 until the callbackfn returns true, or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    some(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean;
    /**
      * Performs the specified action for each element in an array.
      * @param callbackfn  A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.
      * @param thisArg  An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void;
    /**
      * Calls a defined callback function on each element of an array, and returns an array that contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    map<U>(this: [T, T, T, T, T], callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): [U, U, U, U, U];
    /**
      * Calls a defined callback function on each element of an array, and returns an array that contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    map<U>(this: [T, T, T, T], callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): [U, U, U, U];
    /**
      * Calls a defined callback function on each element of an array, and returns an array that contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    map<U>(this: [T, T, T], callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): [U, U, U];
    /**
      * Calls a defined callback function on each element of an array, and returns an array that contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    map<U>(this: [T, T], callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): [U, U];
    /**
      * Calls a defined callback function on each element of an array, and returns an array that contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    map<U>(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[];
    /**
      * Returns the elements of an array that meet the condition specified in a callback function.
      * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
      */
    filter(callbackfn: (value: T, index: number, array: T[]) => any, thisArg?: any): T[];
    /**
      * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
      */
    reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T;
    /**
      * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
      */
    reduce<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U;
    /**
      * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
      */
    reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T;
    /**
      * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
      */
    reduceRight<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U;

    [n: number]: T;
}

interface ArrayConstructor {
    new (arrayLength?: number): any[];
    new <T>(arrayLength: number): T[];
    new <T>(...items: T[]): T[];
    (arrayLength?: number): any[];
    <T>(arrayLength: number): T[];
    <T>(...items: T[]): T[];
    isArray(arg: any): arg is Array<any>;
    readonly prototype: Array<any>;
}

declare const Array: ArrayConstructor;

interface TypedPropertyDescriptor<T> {
    enumerable?: boolean;
    configurable?: boolean;
    writable?: boolean;
    value?: T;
    get?: () => T;
    set?: (value: T) => void;
}

declare type ClassDecorator = <TFunction extends Function>(target: TFunction) => TFunction | void;
declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void;
declare type MethodDecorator = <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void;

declare type PromiseConstructorLike = new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void) => PromiseLike<T>;

interface PromiseLike<T> {
    /**
     * Attaches callbacks for the resolution and/or rejection of the Promise.
     * @param onfulfilled The callback to execute when the Promise is resolved.
     * @param onrejected The callback to execute when the Promise is rejected.
     * @returns A Promise for the completion of which ever callback is executed.
     */
    then(
        onfulfilled?: ((value: T) => T | PromiseLike<T>) | undefined | null,
        onrejected?: ((reason: any) => T | PromiseLike<T>) | undefined | null): PromiseLike<T>;

    /**
     * Attaches callbacks for the resolution and/or rejection of the Promise.
     * @param onfulfilled The callback to execute when the Promise is resolved.
     * @param onrejected The callback to execute when the Promise is rejected.
     * @returns A Promise for the completion of which ever callback is executed.
     */
    then<TResult>(
        onfulfilled: ((value: T) => T | PromiseLike<T>) | undefined | null,
        onrejected: (reason: any) => TResult | PromiseLike<TResult>): PromiseLike<T | TResult>;

    /**
     * Attaches callbacks for the resolution and/or rejection of the Promise.
     * @param onfulfilled The callback to execute when the Promise is resolved.
     * @param onrejected The callback to execute when the Promise is rejected.
     * @returns A Promise for the completion of which ever callback is executed.
     */
    then<TResult>(
        onfulfilled: (value: T) => TResult | PromiseLike<TResult>,
        onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): PromiseLike<TResult>;

    /**
     * Attaches callbacks for the resolution and/or rejection of the Promise.
     * @param onfulfilled The callback to execute when the Promise is resolved.
     * @param onrejected The callback to execute when the Promise is rejected.
     * @returns A Promise for the completion of which ever callback is executed.
     */
    then<TResult1, TResult2>(
        onfulfilled: (value: T) => TResult1 | PromiseLike<TResult1>,
        onrejected: (reason: any) => TResult2 | PromiseLike<TResult2>): PromiseLike<TResult1 | TResult2>;
}

interface ArrayLike<T> {
    readonly length: number;
    readonly [n: number]: T;
}

/**
 * Make all properties in T optional
 */
type Partial<T> = {
    [P in keyof T]?: T[P];
};

/**
 * Make all properties in T readonly
 */
type Readonly<T> = {
    readonly [P in keyof T]: T[P];
};

/**
 * From T pick a set of properties K
 */
type Pick<T, K extends keyof T> = {
    [P in K]: T[P];
}

/**
 * Construct a type with a set of properties K of type T
 */
type Record<K extends string, T> = {
    [P in K]: T;
}

/**
  * Represents a raw buffer of binary data, which is used to store data for the
  * different typed arrays. ArrayBuffers cannot be read from or written to directly,
  * but can be passed to a typed array or DataView Object to interpret the raw
  * buffer as needed.
  */
interface ArrayBuffer {
    /**
      * Read-only. The length of the ArrayBuffer (in bytes).
      */
    readonly byteLength: number;

    /**
      * Returns a section of an ArrayBuffer.
      */
    slice(begin:number, end?:number): ArrayBuffer;
}

interface ArrayBufferConstructor {
    readonly prototype: ArrayBuffer;
    new (byteLength: number): ArrayBuffer;
    isView(arg: any): arg is ArrayBufferView;
}
declare const ArrayBuffer: ArrayBufferConstructor;

interface ArrayBufferView {
    /**
      * The ArrayBuffer instance referenced by the array.
      */
    buffer: ArrayBuffer;

    /**
      * The length in bytes of the array.
      */
    byteLength: number;

    /**
      * The offset in bytes of the array.
      */
    byteOffset: number;
}

interface DataView {
    readonly buffer: ArrayBuffer;
    readonly byteLength: number;
    readonly byteOffset: number;
    /**
      * Gets the Float32 value at the specified byte offset from the start of the view. There is
      * no alignment constraint; multi-byte values may be fetched from any offset.
      * @param byteOffset The place in the buffer at which the value should be retrieved.
      */
    getFloat32(byteOffset: number, littleEndian?: boolean): number;

    /**
      * Gets the Float64 value at the specified byte offset from the start of the view. There is
      * no alignment constraint; multi-byte values may be fetched from any offset.
      * @param byteOffset The place in the buffer at which the value should be retrieved.
      */
    getFloat64(byteOffset: number, littleEndian?: boolean): number;

    /**
      * Gets the Int8 value at the specified byte offset from the start of the view. There is
      * no alignment constraint; multi-byte values may be fetched from any offset.
      * @param byteOffset The place in the buffer at which the value should be retrieved.
      */
    getInt8(byteOffset: number): number;

    /**
      * Gets the Int16 value at the specified byte offset from the start of the view. There is
      * no alignment constraint; multi-byte values may be fetched from any offset.
      * @param byteOffset The place in the buffer at which the value should be retrieved.
      */
    getInt16(byteOffset: number, littleEndian?: boolean): number;
    /**
      * Gets the Int32 value at the specified byte offset from the start of the view. There is
      * no alignment constraint; multi-byte values may be fetched from any offset.
      * @param byteOffset The place in the buffer at which the value should be retrieved.
      */
    getInt32(byteOffset: number, littleEndian?: boolean): number;

    /**
      * Gets the Uint8 value at the specified byte offset from the start of the view. There is
      * no alignment constraint; multi-byte values may be fetched from any offset.
      * @param byteOffset The place in the buffer at which the value should be retrieved.
      */
    getUint8(byteOffset: number): number;

    /**
      * Gets the Uint16 value at the specified byte offset from the start of the view. There is
      * no alignment constraint; multi-byte values may be fetched from any offset.
      * @param byteOffset The place in the buffer at which the value should be retrieved.
      */
    getUint16(byteOffset: number, littleEndian?: boolean): number;

    /**
      * Gets the Uint32 value at the specified byte offset from the start of the view. There is
      * no alignment constraint; multi-byte values may be fetched from any offset.
      * @param byteOffset The place in the buffer at which the value should be retrieved.
      */
    getUint32(byteOffset: number, littleEndian?: boolean): number;

    /**
      * Stores an Float32 value at the specified byte offset from the start of the view.
      * @param byteOffset The place in the buffer at which the value should be set.
      * @param value The value to set.
      * @param littleEndian If false or undefined, a big-endian value should be written,
      * otherwise a little-endian value should be written.
      */
    setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void;

    /**
      * Stores an Float64 value at the specified byte offset from the start of the view.
      * @param byteOffset The place in the buffer at which the value should be set.
      * @param value The value to set.
      * @param littleEndian If false or undefined, a big-endian value should be written,
      * otherwise a little-endian value should be written.
      */
    setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void;

    /**
      * Stores an Int8 value at the specified byte offset from the start of the view.
      * @param byteOffset The place in the buffer at which the value should be set.
      * @param value The value to set.
      */
    setInt8(byteOffset: number, value: number): void;

    /**
      * Stores an Int16 value at the specified byte offset from the start of the view.
      * @param byteOffset The place in the buffer at which the value should be set.
      * @param value The value to set.
      * @param littleEndian If false or undefined, a big-endian value should be written,
      * otherwise a little-endian value should be written.
      */
    setInt16(byteOffset: number, value: number, littleEndian?: boolean): void;

    /**
      * Stores an Int32 value at the specified byte offset from the start of the view.
      * @param byteOffset The place in the buffer at which the value should be set.
      * @param value The value to set.
      * @param littleEndian If false or undefined, a big-endian value should be written,
      * otherwise a little-endian value should be written.
      */
    setInt32(byteOffset: number, value: number, littleEndian?: boolean): void;

    /**
      * Stores an Uint8 value at the specified byte offset from the start of the view.
      * @param byteOffset The place in the buffer at which the value should be set.
      * @param value The value to set.
      */
    setUint8(byteOffset: number, value: number): void;

    /**
      * Stores an Uint16 value at the specified byte offset from the start of the view.
      * @param byteOffset The place in the buffer at which the value should be set.
      * @param value The value to set.
      * @param littleEndian If false or undefined, a big-endian value should be written,
      * otherwise a little-endian value should be written.
      */
    setUint16(byteOffset: number, value: number, littleEndian?: boolean): void;

    /**
      * Stores an Uint32 value at the specified byte offset from the start of the view.
      * @param byteOffset The place in the buffer at which the value should be set.
      * @param value The value to set.
      * @param littleEndian If false or undefined, a big-endian value should be written,
      * otherwise a little-endian value should be written.
      */
    setUint32(byteOffset: number, value: number, littleEndian?: boolean): void;
}

interface DataViewConstructor {
    new (buffer: ArrayBuffer, byteOffset?: number, byteLength?: number): DataView;
}
declare const DataView: DataViewConstructor;

/**
  * A typed array of 8-bit integer values. The contents are initialized to 0. If the requested
  * number of bytes could not be allocated an exception is raised.
  */
interface Int8Array {
    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * The ArrayBuffer instance referenced by the array.
      */
    readonly buffer: ArrayBuffer;

    /**
      * The length in bytes of the array.
      */
    readonly byteLength: number;

    /**
      * The offset in bytes of the array.
      */
    readonly byteOffset: number;

    /**
      * Returns the this object after copying a section of the array identified by start and end
      * to the same array starting at position target
      * @param target If target is negative, it is treated as length+target where length is the
      * length of the array.
      * @param start If start is negative, it is treated as length+start. If end is negative, it
      * is treated as length+end.
      * @param end If not specified, length of the this object is used as its default value.
      */
    copyWithin(target: number, start: number, end?: number): this;

    /**
      * Determines whether all the members of an array satisfy the specified test.
      * @param callbackfn A function that accepts up to three arguments. The every method calls
      * the callbackfn function for each element in array1 until the callbackfn returns false,
      * or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    every(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): boolean;

    /**
        * Returns the this object after filling the section identified by start and end with value
        * @param value value to fill array section with
        * @param start index to start filling the array at. If start is negative, it is treated as
        * length+start where length is the length of the array.
        * @param end index to stop filling the array at. If end is negative, it is treated as
        * length+end.
        */
    fill(value: number, start?: number, end?: number): this;

    /**
      * Returns the elements of an array that meet the condition specified in a callback function.
      * @param callbackfn A function that accepts up to three arguments. The filter method calls
      * the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    filter(callbackfn: (value: number, index: number, array: Int8Array) => any, thisArg?: any): Int8Array;

    /**
      * Returns the value of the first element in the array where predicate is true, and undefined
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found, find
      * immediately returns that element value. Otherwise, find returns undefined.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    find(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number | undefined;

    /**
      * Returns the index of the first element in the array where predicate is true, and -1
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found,
      * findIndex immediately returns that element index. Otherwise, findIndex returns -1.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    findIndex(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number;

    /**
      * Performs the specified action for each element in an array.
      * @param callbackfn  A function that accepts up to three arguments. forEach calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg  An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    forEach(callbackfn: (value: number, index: number, array: Int8Array) => void, thisArg?: any): void;

    /**
      * Returns the index of the first occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      *  search starts at index 0.
      */
    indexOf(searchElement: number, fromIndex?: number): number;

    /**
      * Adds all the elements of an array separated by the specified separator string.
      * @param separator A string used to separate one element of an array from the next in the
      * resulting String. If omitted, the array elements are separated with a comma.
      */
    join(separator?: string): string;

    /**
      * Returns the index of the last occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      * search starts at index 0.
      */
    lastIndexOf(searchElement: number, fromIndex?: number): number;

    /**
      * The length of the array.
      */
    readonly length: number;

    /**
      * Calls a defined callback function on each element of an array, and returns an array that
      * contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    map(callbackfn: (value: number, index: number, array: Int8Array) => number, thisArg?: any): Int8Array;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an
      * argument instead of an array value.
      */
    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U;

    /**
      * Reverses the elements in an Array.
      */
    reverse(): Int8Array;

    /**
      * Sets a value or an array of values.
      * @param index The index of the location to set.
      * @param value The value to set.
      */
    set(index: number, value: number): void;

    /**
      * Sets a value or an array of values.
      * @param array A typed or untyped array of values to set.
      * @param offset The index in the current array at which the values are to be written.
      */
    set(array: ArrayLike<number>, offset?: number): void;

    /**
      * Returns a section of an array.
      * @param start The beginning of the specified portion of the array.
      * @param end The end of the specified portion of the array.
      */
    slice(start?: number, end?: number): Int8Array;

    /**
      * Determines whether the specified callback function returns true for any element of an array.
      * @param callbackfn A function that accepts up to three arguments. The some method calls the
      * callbackfn function for each element in array1 until the callbackfn returns true, or until
      * the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    some(callbackfn: (value: number, index: number, array: Int8Array) => boolean, thisArg?: any): boolean;

    /**
      * Sorts an array.
      * @param compareFn The name of the function used to determine the order of the elements. If
      * omitted, the elements are sorted in ascending, ASCII character order.
      */
    sort(compareFn?: (a: number, b: number) => number): this;

    /**
      * Gets a new Int8Array view of the ArrayBuffer store for this array, referencing the elements
      * at begin, inclusive, up to end, exclusive.
      * @param begin The index of the beginning of the array.
      * @param end The index of the end of the array.
      */
    subarray(begin: number, end?: number): Int8Array;

    /**
      * Converts a number to a string by using the current locale.
      */
    toLocaleString(): string;

    /**
      * Returns a string representation of an array.
      */
    toString(): string;

    [index: number]: number;
}
interface Int8ArrayConstructor {
    readonly prototype: Int8Array;
    new (length: number): Int8Array;
    new (array: ArrayLike<number>): Int8Array;
    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int8Array;

    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * Returns a new array from a set of elements.
      * @param items A set of elements to include in the new array object.
      */
    of(...items: number[]): Int8Array;

    /**
      * Creates an array from an array-like or iterable object.
      * @param arrayLike An array-like or iterable object to convert to an array.
      * @param mapfn A mapping function to call on every element of the array.
      * @param thisArg Value of 'this' used to invoke the mapfn.
      */
    from(arrayLike: ArrayLike<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array;

}
declare const Int8Array: Int8ArrayConstructor;

/**
  * A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the
  * requested number of bytes could not be allocated an exception is raised.
  */
interface Uint8Array {
    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * The ArrayBuffer instance referenced by the array.
      */
    readonly buffer: ArrayBuffer;

    /**
      * The length in bytes of the array.
      */
    readonly byteLength: number;

    /**
      * The offset in bytes of the array.
      */
    readonly byteOffset: number;

    /**
      * Returns the this object after copying a section of the array identified by start and end
      * to the same array starting at position target
      * @param target If target is negative, it is treated as length+target where length is the
      * length of the array.
      * @param start If start is negative, it is treated as length+start. If end is negative, it
      * is treated as length+end.
      * @param end If not specified, length of the this object is used as its default value.
      */
    copyWithin(target: number, start: number, end?: number): this;

    /**
      * Determines whether all the members of an array satisfy the specified test.
      * @param callbackfn A function that accepts up to three arguments. The every method calls
      * the callbackfn function for each element in array1 until the callbackfn returns false,
      * or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    every(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): boolean;

    /**
        * Returns the this object after filling the section identified by start and end with value
        * @param value value to fill array section with
        * @param start index to start filling the array at. If start is negative, it is treated as
        * length+start where length is the length of the array.
        * @param end index to stop filling the array at. If end is negative, it is treated as
        * length+end.
        */
    fill(value: number, start?: number, end?: number): this;

    /**
      * Returns the elements of an array that meet the condition specified in a callback function.
      * @param callbackfn A function that accepts up to three arguments. The filter method calls
      * the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    filter(callbackfn: (value: number, index: number, array: Uint8Array) => any, thisArg?: any): Uint8Array;

    /**
      * Returns the value of the first element in the array where predicate is true, and undefined
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found, find
      * immediately returns that element value. Otherwise, find returns undefined.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    find(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number | undefined;

    /**
      * Returns the index of the first element in the array where predicate is true, and -1
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found,
      * findIndex immediately returns that element index. Otherwise, findIndex returns -1.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    findIndex(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number;

    /**
      * Performs the specified action for each element in an array.
      * @param callbackfn  A function that accepts up to three arguments. forEach calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg  An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    forEach(callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any): void;

    /**
      * Returns the index of the first occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      *  search starts at index 0.
      */
    indexOf(searchElement: number, fromIndex?: number): number;

    /**
      * Adds all the elements of an array separated by the specified separator string.
      * @param separator A string used to separate one element of an array from the next in the
      * resulting String. If omitted, the array elements are separated with a comma.
      */
    join(separator?: string): string;

    /**
      * Returns the index of the last occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      * search starts at index 0.
      */
    lastIndexOf(searchElement: number, fromIndex?: number): number;

    /**
      * The length of the array.
      */
    readonly length: number;

    /**
      * Calls a defined callback function on each element of an array, and returns an array that
      * contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    map(callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any): Uint8Array;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an
      * argument instead of an array value.
      */
    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U;

    /**
      * Reverses the elements in an Array.
      */
    reverse(): Uint8Array;

    /**
      * Sets a value or an array of values.
      * @param index The index of the location to set.
      * @param value The value to set.
      */
    set(index: number, value: number): void;

    /**
      * Sets a value or an array of values.
      * @param array A typed or untyped array of values to set.
      * @param offset The index in the current array at which the values are to be written.
      */
    set(array: ArrayLike<number>, offset?: number): void;

    /**
      * Returns a section of an array.
      * @param start The beginning of the specified portion of the array.
      * @param end The end of the specified portion of the array.
      */
    slice(start?: number, end?: number): Uint8Array;

    /**
      * Determines whether the specified callback function returns true for any element of an array.
      * @param callbackfn A function that accepts up to three arguments. The some method calls the
      * callbackfn function for each element in array1 until the callbackfn returns true, or until
      * the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    some(callbackfn: (value: number, index: number, array: Uint8Array) => boolean, thisArg?: any): boolean;

    /**
      * Sorts an array.
      * @param compareFn The name of the function used to determine the order of the elements. If
      * omitted, the elements are sorted in ascending, ASCII character order.
      */
    sort(compareFn?: (a: number, b: number) => number): this;

    /**
      * Gets a new Uint8Array view of the ArrayBuffer store for this array, referencing the elements
      * at begin, inclusive, up to end, exclusive.
      * @param begin The index of the beginning of the array.
      * @param end The index of the end of the array.
      */
    subarray(begin: number, end?: number): Uint8Array;

    /**
      * Converts a number to a string by using the current locale.
      */
    toLocaleString(): string;

    /**
      * Returns a string representation of an array.
      */
    toString(): string;

    [index: number]: number;
}

interface Uint8ArrayConstructor {
    readonly prototype: Uint8Array;
    new (length: number): Uint8Array;
    new (array: ArrayLike<number>): Uint8Array;
    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8Array;

    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * Returns a new array from a set of elements.
      * @param items A set of elements to include in the new array object.
      */
    of(...items: number[]): Uint8Array;

    /**
      * Creates an array from an array-like or iterable object.
      * @param arrayLike An array-like or iterable object to convert to an array.
      * @param mapfn A mapping function to call on every element of the array.
      * @param thisArg Value of 'this' used to invoke the mapfn.
      */
    from(arrayLike: ArrayLike<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array;

}
declare const Uint8Array: Uint8ArrayConstructor;

/**
  * A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.
  * If the requested number of bytes could not be allocated an exception is raised.
  */
interface Uint8ClampedArray {
    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * The ArrayBuffer instance referenced by the array.
      */
    readonly buffer: ArrayBuffer;

    /**
      * The length in bytes of the array.
      */
    readonly byteLength: number;

    /**
      * The offset in bytes of the array.
      */
    readonly byteOffset: number;

    /**
      * Returns the this object after copying a section of the array identified by start and end
      * to the same array starting at position target
      * @param target If target is negative, it is treated as length+target where length is the
      * length of the array.
      * @param start If start is negative, it is treated as length+start. If end is negative, it
      * is treated as length+end.
      * @param end If not specified, length of the this object is used as its default value.
      */
    copyWithin(target: number, start: number, end?: number): this;

    /**
      * Determines whether all the members of an array satisfy the specified test.
      * @param callbackfn A function that accepts up to three arguments. The every method calls
      * the callbackfn function for each element in array1 until the callbackfn returns false,
      * or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    every(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): boolean;

    /**
        * Returns the this object after filling the section identified by start and end with value
        * @param value value to fill array section with
        * @param start index to start filling the array at. If start is negative, it is treated as
        * length+start where length is the length of the array.
        * @param end index to stop filling the array at. If end is negative, it is treated as
        * length+end.
        */
    fill(value: number, start?: number, end?: number): this;

    /**
      * Returns the elements of an array that meet the condition specified in a callback function.
      * @param callbackfn A function that accepts up to three arguments. The filter method calls
      * the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    filter(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any): Uint8ClampedArray;

    /**
      * Returns the value of the first element in the array where predicate is true, and undefined
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found, find
      * immediately returns that element value. Otherwise, find returns undefined.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    find(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number | undefined;

    /**
      * Returns the index of the first element in the array where predicate is true, and -1
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found,
      * findIndex immediately returns that element index. Otherwise, findIndex returns -1.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    findIndex(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number;

    /**
      * Performs the specified action for each element in an array.
      * @param callbackfn  A function that accepts up to three arguments. forEach calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg  An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    forEach(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any): void;

    /**
      * Returns the index of the first occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      *  search starts at index 0.
      */
    indexOf(searchElement: number, fromIndex?: number): number;

    /**
      * Adds all the elements of an array separated by the specified separator string.
      * @param separator A string used to separate one element of an array from the next in the
      * resulting String. If omitted, the array elements are separated with a comma.
      */
    join(separator?: string): string;

    /**
      * Returns the index of the last occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      * search starts at index 0.
      */
    lastIndexOf(searchElement: number, fromIndex?: number): number;

    /**
      * The length of the array.
      */
    readonly length: number;

    /**
      * Calls a defined callback function on each element of an array, and returns an array that
      * contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    map(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any): Uint8ClampedArray;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an
      * argument instead of an array value.
      */
    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U;

    /**
      * Reverses the elements in an Array.
      */
    reverse(): Uint8ClampedArray;

    /**
      * Sets a value or an array of values.
      * @param index The index of the location to set.
      * @param value The value to set.
      */
    set(index: number, value: number): void;

    /**
      * Sets a value or an array of values.
      * @param array A typed or untyped array of values to set.
      * @param offset The index in the current array at which the values are to be written.
      */
    set(array: Uint8ClampedArray, offset?: number): void;

    /**
      * Returns a section of an array.
      * @param start The beginning of the specified portion of the array.
      * @param end The end of the specified portion of the array.
      */
    slice(start?: number, end?: number): Uint8ClampedArray;

    /**
      * Determines whether the specified callback function returns true for any element of an array.
      * @param callbackfn A function that accepts up to three arguments. The some method calls the
      * callbackfn function for each element in array1 until the callbackfn returns true, or until
      * the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    some(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => boolean, thisArg?: any): boolean;

    /**
      * Sorts an array.
      * @param compareFn The name of the function used to determine the order of the elements. If
      * omitted, the elements are sorted in ascending, ASCII character order.
      */
    sort(compareFn?: (a: number, b: number) => number): this;

    /**
      * Gets a new Uint8ClampedArray view of the ArrayBuffer store for this array, referencing the elements
      * at begin, inclusive, up to end, exclusive.
      * @param begin The index of the beginning of the array.
      * @param end The index of the end of the array.
      */
    subarray(begin: number, end?: number): Uint8ClampedArray;

    /**
      * Converts a number to a string by using the current locale.
      */
    toLocaleString(): string;

    /**
      * Returns a string representation of an array.
      */
    toString(): string;

    [index: number]: number;
}

interface Uint8ClampedArrayConstructor {
    readonly prototype: Uint8ClampedArray;
    new (length: number): Uint8ClampedArray;
    new (array: ArrayLike<number>): Uint8ClampedArray;
    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8ClampedArray;

    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * Returns a new array from a set of elements.
      * @param items A set of elements to include in the new array object.
      */
    of(...items: number[]): Uint8ClampedArray;

    /**
      * Creates an array from an array-like or iterable object.
      * @param arrayLike An array-like or iterable object to convert to an array.
      * @param mapfn A mapping function to call on every element of the array.
      * @param thisArg Value of 'this' used to invoke the mapfn.
      */
    from(arrayLike: ArrayLike<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray;
}
declare const Uint8ClampedArray: Uint8ClampedArrayConstructor;

/**
  * A typed array of 16-bit signed integer values. The contents are initialized to 0. If the
  * requested number of bytes could not be allocated an exception is raised.
  */
interface Int16Array {
    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * The ArrayBuffer instance referenced by the array.
      */
    readonly buffer: ArrayBuffer;

    /**
      * The length in bytes of the array.
      */
    readonly byteLength: number;

    /**
      * The offset in bytes of the array.
      */
    readonly byteOffset: number;

    /**
      * Returns the this object after copying a section of the array identified by start and end
      * to the same array starting at position target
      * @param target If target is negative, it is treated as length+target where length is the
      * length of the array.
      * @param start If start is negative, it is treated as length+start. If end is negative, it
      * is treated as length+end.
      * @param end If not specified, length of the this object is used as its default value.
      */
    copyWithin(target: number, start: number, end?: number): this;

    /**
      * Determines whether all the members of an array satisfy the specified test.
      * @param callbackfn A function that accepts up to three arguments. The every method calls
      * the callbackfn function for each element in array1 until the callbackfn returns false,
      * or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    every(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): boolean;

    /**
        * Returns the this object after filling the section identified by start and end with value
        * @param value value to fill array section with
        * @param start index to start filling the array at. If start is negative, it is treated as
        * length+start where length is the length of the array.
        * @param end index to stop filling the array at. If end is negative, it is treated as
        * length+end.
        */
    fill(value: number, start?: number, end?: number): this;

    /**
      * Returns the elements of an array that meet the condition specified in a callback function.
      * @param callbackfn A function that accepts up to three arguments. The filter method calls
      * the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    filter(callbackfn: (value: number, index: number, array: Int16Array) => any, thisArg?: any): Int16Array;

    /**
      * Returns the value of the first element in the array where predicate is true, and undefined
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found, find
      * immediately returns that element value. Otherwise, find returns undefined.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    find(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number | undefined;

    /**
      * Returns the index of the first element in the array where predicate is true, and -1
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found,
      * findIndex immediately returns that element index. Otherwise, findIndex returns -1.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    findIndex(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number;

    /**
      * Performs the specified action for each element in an array.
      * @param callbackfn  A function that accepts up to three arguments. forEach calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg  An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    forEach(callbackfn: (value: number, index: number, array: Int16Array) => void, thisArg?: any): void;

    /**
      * Returns the index of the first occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      *  search starts at index 0.
      */
    indexOf(searchElement: number, fromIndex?: number): number;

    /**
      * Adds all the elements of an array separated by the specified separator string.
      * @param separator A string used to separate one element of an array from the next in the
      * resulting String. If omitted, the array elements are separated with a comma.
      */
    join(separator?: string): string;

    /**
      * Returns the index of the last occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      * search starts at index 0.
      */
    lastIndexOf(searchElement: number, fromIndex?: number): number;

    /**
      * The length of the array.
      */
    readonly length: number;

    /**
      * Calls a defined callback function on each element of an array, and returns an array that
      * contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    map(callbackfn: (value: number, index: number, array: Int16Array) => number, thisArg?: any): Int16Array;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an
      * argument instead of an array value.
      */
    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U;

    /**
      * Reverses the elements in an Array.
      */
    reverse(): Int16Array;

    /**
      * Sets a value or an array of values.
      * @param index The index of the location to set.
      * @param value The value to set.
      */
    set(index: number, value: number): void;

    /**
      * Sets a value or an array of values.
      * @param array A typed or untyped array of values to set.
      * @param offset The index in the current array at which the values are to be written.
      */
    set(array: ArrayLike<number>, offset?: number): void;

    /**
      * Returns a section of an array.
      * @param start The beginning of the specified portion of the array.
      * @param end The end of the specified portion of the array.
      */
    slice(start?: number, end?: number): Int16Array;

    /**
      * Determines whether the specified callback function returns true for any element of an array.
      * @param callbackfn A function that accepts up to three arguments. The some method calls the
      * callbackfn function for each element in array1 until the callbackfn returns true, or until
      * the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    some(callbackfn: (value: number, index: number, array: Int16Array) => boolean, thisArg?: any): boolean;

    /**
      * Sorts an array.
      * @param compareFn The name of the function used to determine the order of the elements. If
      * omitted, the elements are sorted in ascending, ASCII character order.
      */
    sort(compareFn?: (a: number, b: number) => number): this;

    /**
      * Gets a new Int16Array view of the ArrayBuffer store for this array, referencing the elements
      * at begin, inclusive, up to end, exclusive.
      * @param begin The index of the beginning of the array.
      * @param end The index of the end of the array.
      */
    subarray(begin: number, end?: number): Int16Array;

    /**
      * Converts a number to a string by using the current locale.
      */
    toLocaleString(): string;

    /**
      * Returns a string representation of an array.
      */
    toString(): string;

    [index: number]: number;
}

interface Int16ArrayConstructor {
    readonly prototype: Int16Array;
    new (length: number): Int16Array;
    new (array: ArrayLike<number>): Int16Array;
    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int16Array;

    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * Returns a new array from a set of elements.
      * @param items A set of elements to include in the new array object.
      */
    of(...items: number[]): Int16Array;

    /**
      * Creates an array from an array-like or iterable object.
      * @param arrayLike An array-like or iterable object to convert to an array.
      * @param mapfn A mapping function to call on every element of the array.
      * @param thisArg Value of 'this' used to invoke the mapfn.
      */
    from(arrayLike: ArrayLike<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array;

}
declare const Int16Array: Int16ArrayConstructor;

/**
  * A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the
  * requested number of bytes could not be allocated an exception is raised.
  */
interface Uint16Array {
    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * The ArrayBuffer instance referenced by the array.
      */
    readonly buffer: ArrayBuffer;

    /**
      * The length in bytes of the array.
      */
    readonly byteLength: number;

    /**
      * The offset in bytes of the array.
      */
    readonly byteOffset: number;

    /**
      * Returns the this object after copying a section of the array identified by start and end
      * to the same array starting at position target
      * @param target If target is negative, it is treated as length+target where length is the
      * length of the array.
      * @param start If start is negative, it is treated as length+start. If end is negative, it
      * is treated as length+end.
      * @param end If not specified, length of the this object is used as its default value.
      */
    copyWithin(target: number, start: number, end?: number): this;

    /**
      * Determines whether all the members of an array satisfy the specified test.
      * @param callbackfn A function that accepts up to three arguments. The every method calls
      * the callbackfn function for each element in array1 until the callbackfn returns false,
      * or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    every(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): boolean;

    /**
        * Returns the this object after filling the section identified by start and end with value
        * @param value value to fill array section with
        * @param start index to start filling the array at. If start is negative, it is treated as
        * length+start where length is the length of the array.
        * @param end index to stop filling the array at. If end is negative, it is treated as
        * length+end.
        */
    fill(value: number, start?: number, end?: number): this;

    /**
      * Returns the elements of an array that meet the condition specified in a callback function.
      * @param callbackfn A function that accepts up to three arguments. The filter method calls
      * the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    filter(callbackfn: (value: number, index: number, array: Uint16Array) => any, thisArg?: any): Uint16Array;

    /**
      * Returns the value of the first element in the array where predicate is true, and undefined
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found, find
      * immediately returns that element value. Otherwise, find returns undefined.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    find(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number | undefined;

    /**
      * Returns the index of the first element in the array where predicate is true, and -1
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found,
      * findIndex immediately returns that element index. Otherwise, findIndex returns -1.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    findIndex(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number;

    /**
      * Performs the specified action for each element in an array.
      * @param callbackfn  A function that accepts up to three arguments. forEach calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg  An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    forEach(callbackfn: (value: number, index: number, array: Uint16Array) => void, thisArg?: any): void;

    /**
      * Returns the index of the first occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      *  search starts at index 0.
      */
    indexOf(searchElement: number, fromIndex?: number): number;

    /**
      * Adds all the elements of an array separated by the specified separator string.
      * @param separator A string used to separate one element of an array from the next in the
      * resulting String. If omitted, the array elements are separated with a comma.
      */
    join(separator?: string): string;

    /**
      * Returns the index of the last occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      * search starts at index 0.
      */
    lastIndexOf(searchElement: number, fromIndex?: number): number;

    /**
      * The length of the array.
      */
    readonly length: number;

    /**
      * Calls a defined callback function on each element of an array, and returns an array that
      * contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    map(callbackfn: (value: number, index: number, array: Uint16Array) => number, thisArg?: any): Uint16Array;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an
      * argument instead of an array value.
      */
    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U;

    /**
      * Reverses the elements in an Array.
      */
    reverse(): Uint16Array;

    /**
      * Sets a value or an array of values.
      * @param index The index of the location to set.
      * @param value The value to set.
      */
    set(index: number, value: number): void;

    /**
      * Sets a value or an array of values.
      * @param array A typed or untyped array of values to set.
      * @param offset The index in the current array at which the values are to be written.
      */
    set(array: ArrayLike<number>, offset?: number): void;

    /**
      * Returns a section of an array.
      * @param start The beginning of the specified portion of the array.
      * @param end The end of the specified portion of the array.
      */
    slice(start?: number, end?: number): Uint16Array;

    /**
      * Determines whether the specified callback function returns true for any element of an array.
      * @param callbackfn A function that accepts up to three arguments. The some method calls the
      * callbackfn function for each element in array1 until the callbackfn returns true, or until
      * the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    some(callbackfn: (value: number, index: number, array: Uint16Array) => boolean, thisArg?: any): boolean;

    /**
      * Sorts an array.
      * @param compareFn The name of the function used to determine the order of the elements. If
      * omitted, the elements are sorted in ascending, ASCII character order.
      */
    sort(compareFn?: (a: number, b: number) => number): this;

    /**
      * Gets a new Uint16Array view of the ArrayBuffer store for this array, referencing the elements
      * at begin, inclusive, up to end, exclusive.
      * @param begin The index of the beginning of the array.
      * @param end The index of the end of the array.
      */
    subarray(begin: number, end?: number): Uint16Array;

    /**
      * Converts a number to a string by using the current locale.
      */
    toLocaleString(): string;

    /**
      * Returns a string representation of an array.
      */
    toString(): string;

    [index: number]: number;
}

interface Uint16ArrayConstructor {
    readonly prototype: Uint16Array;
    new (length: number): Uint16Array;
    new (array: ArrayLike<number>): Uint16Array;
    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint16Array;

    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * Returns a new array from a set of elements.
      * @param items A set of elements to include in the new array object.
      */
    of(...items: number[]): Uint16Array;

    /**
      * Creates an array from an array-like or iterable object.
      * @param arrayLike An array-like or iterable object to convert to an array.
      * @param mapfn A mapping function to call on every element of the array.
      * @param thisArg Value of 'this' used to invoke the mapfn.
      */
    from(arrayLike: ArrayLike<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array;

}
declare const Uint16Array: Uint16ArrayConstructor;
/**
  * A typed array of 32-bit signed integer values. The contents are initialized to 0. If the
  * requested number of bytes could not be allocated an exception is raised.
  */
interface Int32Array {
    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * The ArrayBuffer instance referenced by the array.
      */
    readonly buffer: ArrayBuffer;

    /**
      * The length in bytes of the array.
      */
    readonly byteLength: number;

    /**
      * The offset in bytes of the array.
      */
    readonly byteOffset: number;

    /**
      * Returns the this object after copying a section of the array identified by start and end
      * to the same array starting at position target
      * @param target If target is negative, it is treated as length+target where length is the
      * length of the array.
      * @param start If start is negative, it is treated as length+start. If end is negative, it
      * is treated as length+end.
      * @param end If not specified, length of the this object is used as its default value.
      */
    copyWithin(target: number, start: number, end?: number): this;

    /**
      * Determines whether all the members of an array satisfy the specified test.
      * @param callbackfn A function that accepts up to three arguments. The every method calls
      * the callbackfn function for each element in array1 until the callbackfn returns false,
      * or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    every(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): boolean;

    /**
        * Returns the this object after filling the section identified by start and end with value
        * @param value value to fill array section with
        * @param start index to start filling the array at. If start is negative, it is treated as
        * length+start where length is the length of the array.
        * @param end index to stop filling the array at. If end is negative, it is treated as
        * length+end.
        */
    fill(value: number, start?: number, end?: number): this;

    /**
      * Returns the elements of an array that meet the condition specified in a callback function.
      * @param callbackfn A function that accepts up to three arguments. The filter method calls
      * the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    filter(callbackfn: (value: number, index: number, array: Int32Array) => any, thisArg?: any): Int32Array;

    /**
      * Returns the value of the first element in the array where predicate is true, and undefined
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found, find
      * immediately returns that element value. Otherwise, find returns undefined.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    find(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number | undefined;

    /**
      * Returns the index of the first element in the array where predicate is true, and -1
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found,
      * findIndex immediately returns that element index. Otherwise, findIndex returns -1.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    findIndex(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number;

    /**
      * Performs the specified action for each element in an array.
      * @param callbackfn  A function that accepts up to three arguments. forEach calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg  An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    forEach(callbackfn: (value: number, index: number, array: Int32Array) => void, thisArg?: any): void;

    /**
      * Returns the index of the first occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      *  search starts at index 0.
      */
    indexOf(searchElement: number, fromIndex?: number): number;

    /**
      * Adds all the elements of an array separated by the specified separator string.
      * @param separator A string used to separate one element of an array from the next in the
      * resulting String. If omitted, the array elements are separated with a comma.
      */
    join(separator?: string): string;

    /**
      * Returns the index of the last occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      * search starts at index 0.
      */
    lastIndexOf(searchElement: number, fromIndex?: number): number;

    /**
      * The length of the array.
      */
    readonly length: number;

    /**
      * Calls a defined callback function on each element of an array, and returns an array that
      * contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    map(callbackfn: (value: number, index: number, array: Int32Array) => number, thisArg?: any): Int32Array;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an
      * argument instead of an array value.
      */
    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U;

    /**
      * Reverses the elements in an Array.
      */
    reverse(): Int32Array;

    /**
      * Sets a value or an array of values.
      * @param index The index of the location to set.
      * @param value The value to set.
      */
    set(index: number, value: number): void;

    /**
      * Sets a value or an array of values.
      * @param array A typed or untyped array of values to set.
      * @param offset The index in the current array at which the values are to be written.
      */
    set(array: ArrayLike<number>, offset?: number): void;

    /**
      * Returns a section of an array.
      * @param start The beginning of the specified portion of the array.
      * @param end The end of the specified portion of the array.
      */
    slice(start?: number, end?: number): Int32Array;

    /**
      * Determines whether the specified callback function returns true for any element of an array.
      * @param callbackfn A function that accepts up to three arguments. The some method calls the
      * callbackfn function for each element in array1 until the callbackfn returns true, or until
      * the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    some(callbackfn: (value: number, index: number, array: Int32Array) => boolean, thisArg?: any): boolean;

    /**
      * Sorts an array.
      * @param compareFn The name of the function used to determine the order of the elements. If
      * omitted, the elements are sorted in ascending, ASCII character order.
      */
    sort(compareFn?: (a: number, b: number) => number): this;

    /**
      * Gets a new Int32Array view of the ArrayBuffer store for this array, referencing the elements
      * at begin, inclusive, up to end, exclusive.
      * @param begin The index of the beginning of the array.
      * @param end The index of the end of the array.
      */
    subarray(begin: number, end?: number): Int32Array;

    /**
      * Converts a number to a string by using the current locale.
      */
    toLocaleString(): string;

    /**
      * Returns a string representation of an array.
      */
    toString(): string;

    [index: number]: number;
}

interface Int32ArrayConstructor {
    readonly prototype: Int32Array;
    new (length: number): Int32Array;
    new (array: ArrayLike<number>): Int32Array;
    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int32Array;

    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * Returns a new array from a set of elements.
      * @param items A set of elements to include in the new array object.
      */
    of(...items: number[]): Int32Array;

    /**
      * Creates an array from an array-like or iterable object.
      * @param arrayLike An array-like or iterable object to convert to an array.
      * @param mapfn A mapping function to call on every element of the array.
      * @param thisArg Value of 'this' used to invoke the mapfn.
      */
    from(arrayLike: ArrayLike<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array;
}
declare const Int32Array: Int32ArrayConstructor;

/**
  * A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the
  * requested number of bytes could not be allocated an exception is raised.
  */
interface Uint32Array {
    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * The ArrayBuffer instance referenced by the array.
      */
    readonly buffer: ArrayBuffer;

    /**
      * The length in bytes of the array.
      */
    readonly byteLength: number;

    /**
      * The offset in bytes of the array.
      */
    readonly byteOffset: number;

    /**
      * Returns the this object after copying a section of the array identified by start and end
      * to the same array starting at position target
      * @param target If target is negative, it is treated as length+target where length is the
      * length of the array.
      * @param start If start is negative, it is treated as length+start. If end is negative, it
      * is treated as length+end.
      * @param end If not specified, length of the this object is used as its default value.
      */
    copyWithin(target: number, start: number, end?: number): this;

    /**
      * Determines whether all the members of an array satisfy the specified test.
      * @param callbackfn A function that accepts up to three arguments. The every method calls
      * the callbackfn function for each element in array1 until the callbackfn returns false,
      * or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    every(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): boolean;

    /**
        * Returns the this object after filling the section identified by start and end with value
        * @param value value to fill array section with
        * @param start index to start filling the array at. If start is negative, it is treated as
        * length+start where length is the length of the array.
        * @param end index to stop filling the array at. If end is negative, it is treated as
        * length+end.
        */
    fill(value: number, start?: number, end?: number): this;

    /**
      * Returns the elements of an array that meet the condition specified in a callback function.
      * @param callbackfn A function that accepts up to three arguments. The filter method calls
      * the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    filter(callbackfn: (value: number, index: number, array: Uint32Array) => any, thisArg?: any): Uint32Array;

    /**
      * Returns the value of the first element in the array where predicate is true, and undefined
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found, find
      * immediately returns that element value. Otherwise, find returns undefined.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    find(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number | undefined;

    /**
      * Returns the index of the first element in the array where predicate is true, and -1
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found,
      * findIndex immediately returns that element index. Otherwise, findIndex returns -1.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    findIndex(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number;

    /**
      * Performs the specified action for each element in an array.
      * @param callbackfn  A function that accepts up to three arguments. forEach calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg  An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    forEach(callbackfn: (value: number, index: number, array: Uint32Array) => void, thisArg?: any): void;

    /**
      * Returns the index of the first occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      *  search starts at index 0.
      */
    indexOf(searchElement: number, fromIndex?: number): number;

    /**
      * Adds all the elements of an array separated by the specified separator string.
      * @param separator A string used to separate one element of an array from the next in the
      * resulting String. If omitted, the array elements are separated with a comma.
      */
    join(separator?: string): string;

    /**
      * Returns the index of the last occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      * search starts at index 0.
      */
    lastIndexOf(searchElement: number, fromIndex?: number): number;

    /**
      * The length of the array.
      */
    readonly length: number;

    /**
      * Calls a defined callback function on each element of an array, and returns an array that
      * contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    map(callbackfn: (value: number, index: number, array: Uint32Array) => number, thisArg?: any): Uint32Array;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an
      * argument instead of an array value.
      */
    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U;

    /**
      * Reverses the elements in an Array.
      */
    reverse(): Uint32Array;

    /**
      * Sets a value or an array of values.
      * @param index The index of the location to set.
      * @param value The value to set.
      */
    set(index: number, value: number): void;

    /**
      * Sets a value or an array of values.
      * @param array A typed or untyped array of values to set.
      * @param offset The index in the current array at which the values are to be written.
      */
    set(array: ArrayLike<number>, offset?: number): void;

    /**
      * Returns a section of an array.
      * @param start The beginning of the specified portion of the array.
      * @param end The end of the specified portion of the array.
      */
    slice(start?: number, end?: number): Uint32Array;

    /**
      * Determines whether the specified callback function returns true for any element of an array.
      * @param callbackfn A function that accepts up to three arguments. The some method calls the
      * callbackfn function for each element in array1 until the callbackfn returns true, or until
      * the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    some(callbackfn: (value: number, index: number, array: Uint32Array) => boolean, thisArg?: any): boolean;

    /**
      * Sorts an array.
      * @param compareFn The name of the function used to determine the order of the elements. If
      * omitted, the elements are sorted in ascending, ASCII character order.
      */
    sort(compareFn?: (a: number, b: number) => number): this;

    /**
      * Gets a new Uint32Array view of the ArrayBuffer store for this array, referencing the elements
      * at begin, inclusive, up to end, exclusive.
      * @param begin The index of the beginning of the array.
      * @param end The index of the end of the array.
      */
    subarray(begin: number, end?: number): Uint32Array;

    /**
      * Converts a number to a string by using the current locale.
      */
    toLocaleString(): string;

    /**
      * Returns a string representation of an array.
      */
    toString(): string;

    [index: number]: number;
}

interface Uint32ArrayConstructor {
    readonly prototype: Uint32Array;
    new (length: number): Uint32Array;
    new (array: ArrayLike<number>): Uint32Array;
    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint32Array;

    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * Returns a new array from a set of elements.
      * @param items A set of elements to include in the new array object.
      */
    of(...items: number[]): Uint32Array;

    /**
      * Creates an array from an array-like or iterable object.
      * @param arrayLike An array-like or iterable object to convert to an array.
      * @param mapfn A mapping function to call on every element of the array.
      * @param thisArg Value of 'this' used to invoke the mapfn.
      */
    from(arrayLike: ArrayLike<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array;
}
declare const Uint32Array: Uint32ArrayConstructor;

/**
  * A typed array of 32-bit float values. The contents are initialized to 0. If the requested number
  * of bytes could not be allocated an exception is raised.
  */
interface Float32Array {
    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * The ArrayBuffer instance referenced by the array.
      */
    readonly buffer: ArrayBuffer;

    /**
      * The length in bytes of the array.
      */
    readonly byteLength: number;

    /**
      * The offset in bytes of the array.
      */
    readonly byteOffset: number;

    /**
      * Returns the this object after copying a section of the array identified by start and end
      * to the same array starting at position target
      * @param target If target is negative, it is treated as length+target where length is the
      * length of the array.
      * @param start If start is negative, it is treated as length+start. If end is negative, it
      * is treated as length+end.
      * @param end If not specified, length of the this object is used as its default value.
      */
    copyWithin(target: number, start: number, end?: number): this;

    /**
      * Determines whether all the members of an array satisfy the specified test.
      * @param callbackfn A function that accepts up to three arguments. The every method calls
      * the callbackfn function for each element in array1 until the callbackfn returns false,
      * or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    every(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): boolean;

    /**
        * Returns the this object after filling the section identified by start and end with value
        * @param value value to fill array section with
        * @param start index to start filling the array at. If start is negative, it is treated as
        * length+start where length is the length of the array.
        * @param end index to stop filling the array at. If end is negative, it is treated as
        * length+end.
        */
    fill(value: number, start?: number, end?: number): this;

    /**
      * Returns the elements of an array that meet the condition specified in a callback function.
      * @param callbackfn A function that accepts up to three arguments. The filter method calls
      * the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    filter(callbackfn: (value: number, index: number, array: Float32Array) => any, thisArg?: any): Float32Array;

    /**
      * Returns the value of the first element in the array where predicate is true, and undefined
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found, find
      * immediately returns that element value. Otherwise, find returns undefined.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    find(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number | undefined;

    /**
      * Returns the index of the first element in the array where predicate is true, and -1
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found,
      * findIndex immediately returns that element index. Otherwise, findIndex returns -1.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    findIndex(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number;

    /**
      * Performs the specified action for each element in an array.
      * @param callbackfn  A function that accepts up to three arguments. forEach calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg  An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    forEach(callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any): void;

    /**
      * Returns the index of the first occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      *  search starts at index 0.
      */
    indexOf(searchElement: number, fromIndex?: number): number;

    /**
      * Adds all the elements of an array separated by the specified separator string.
      * @param separator A string used to separate one element of an array from the next in the
      * resulting String. If omitted, the array elements are separated with a comma.
      */
    join(separator?: string): string;

    /**
      * Returns the index of the last occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      * search starts at index 0.
      */
    lastIndexOf(searchElement: number, fromIndex?: number): number;

    /**
      * The length of the array.
      */
    readonly length: number;

    /**
      * Calls a defined callback function on each element of an array, and returns an array that
      * contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    map(callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any): Float32Array;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an
      * argument instead of an array value.
      */
    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U;

    /**
      * Reverses the elements in an Array.
      */
    reverse(): Float32Array;

    /**
      * Sets a value or an array of values.
      * @param index The index of the location to set.
      * @param value The value to set.
      */
    set(index: number, value: number): void;

    /**
      * Sets a value or an array of values.
      * @param array A typed or untyped array of values to set.
      * @param offset The index in the current array at which the values are to be written.
      */
    set(array: ArrayLike<number>, offset?: number): void;

    /**
      * Returns a section of an array.
      * @param start The beginning of the specified portion of the array.
      * @param end The end of the specified portion of the array.
      */
    slice(start?: number, end?: number): Float32Array;

    /**
      * Determines whether the specified callback function returns true for any element of an array.
      * @param callbackfn A function that accepts up to three arguments. The some method calls the
      * callbackfn function for each element in array1 until the callbackfn returns true, or until
      * the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    some(callbackfn: (value: number, index: number, array: Float32Array) => boolean, thisArg?: any): boolean;

    /**
      * Sorts an array.
      * @param compareFn The name of the function used to determine the order of the elements. If
      * omitted, the elements are sorted in ascending, ASCII character order.
      */
    sort(compareFn?: (a: number, b: number) => number): this;

    /**
      * Gets a new Float32Array view of the ArrayBuffer store for this array, referencing the elements
      * at begin, inclusive, up to end, exclusive.
      * @param begin The index of the beginning of the array.
      * @param end The index of the end of the array.
      */
    subarray(begin: number, end?: number): Float32Array;

    /**
      * Converts a number to a string by using the current locale.
      */
    toLocaleString(): string;

    /**
      * Returns a string representation of an array.
      */
    toString(): string;

    [index: number]: number;
}

interface Float32ArrayConstructor {
    readonly prototype: Float32Array;
    new (length: number): Float32Array;
    new (array: ArrayLike<number>): Float32Array;
    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float32Array;

    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * Returns a new array from a set of elements.
      * @param items A set of elements to include in the new array object.
      */
    of(...items: number[]): Float32Array;

    /**
      * Creates an array from an array-like or iterable object.
      * @param arrayLike An array-like or iterable object to convert to an array.
      * @param mapfn A mapping function to call on every element of the array.
      * @param thisArg Value of 'this' used to invoke the mapfn.
      */
    from(arrayLike: ArrayLike<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array;

}
declare const Float32Array: Float32ArrayConstructor;

/**
  * A typed array of 64-bit float values. The contents are initialized to 0. If the requested
  * number of bytes could not be allocated an exception is raised.
  */
interface Float64Array {
    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * The ArrayBuffer instance referenced by the array.
      */
    readonly buffer: ArrayBuffer;

    /**
      * The length in bytes of the array.
      */
    readonly byteLength: number;

    /**
      * The offset in bytes of the array.
      */
    readonly byteOffset: number;

    /**
      * Returns the this object after copying a section of the array identified by start and end
      * to the same array starting at position target
      * @param target If target is negative, it is treated as length+target where length is the
      * length of the array.
      * @param start If start is negative, it is treated as length+start. If end is negative, it
      * is treated as length+end.
      * @param end If not specified, length of the this object is used as its default value.
      */
    copyWithin(target: number, start: number, end?: number): this;

    /**
      * Determines whether all the members of an array satisfy the specified test.
      * @param callbackfn A function that accepts up to three arguments. The every method calls
      * the callbackfn function for each element in array1 until the callbackfn returns false,
      * or until the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    every(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): boolean;

    /**
        * Returns the this object after filling the section identified by start and end with value
        * @param value value to fill array section with
        * @param start index to start filling the array at. If start is negative, it is treated as
        * length+start where length is the length of the array.
        * @param end index to stop filling the array at. If end is negative, it is treated as
        * length+end.
        */
    fill(value: number, start?: number, end?: number): this;

    /**
      * Returns the elements of an array that meet the condition specified in a callback function.
      * @param callbackfn A function that accepts up to three arguments. The filter method calls
      * the callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    filter(callbackfn: (value: number, index: number, array: Float64Array) => any, thisArg?: any): Float64Array;

    /**
      * Returns the value of the first element in the array where predicate is true, and undefined
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found, find
      * immediately returns that element value. Otherwise, find returns undefined.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    find(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number | undefined;

    /**
      * Returns the index of the first element in the array where predicate is true, and -1
      * otherwise.
      * @param predicate find calls predicate once for each element of the array, in ascending
      * order, until it finds one where predicate returns true. If such an element is found,
      * findIndex immediately returns that element index. Otherwise, findIndex returns -1.
      * @param thisArg If provided, it will be used as the this value for each invocation of
      * predicate. If it is not provided, undefined is used instead.
      */
    findIndex(predicate: (value: number, index: number, obj: Array<number>) => boolean, thisArg?: any): number;

    /**
      * Performs the specified action for each element in an array.
      * @param callbackfn  A function that accepts up to three arguments. forEach calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg  An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    forEach(callbackfn: (value: number, index: number, array: Float64Array) => void, thisArg?: any): void;

    /**
      * Returns the index of the first occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      *  search starts at index 0.
      */
    indexOf(searchElement: number, fromIndex?: number): number;

    /**
      * Adds all the elements of an array separated by the specified separator string.
      * @param separator A string used to separate one element of an array from the next in the
      * resulting String. If omitted, the array elements are separated with a comma.
      */
    join(separator?: string): string;

    /**
      * Returns the index of the last occurrence of a value in an array.
      * @param searchElement The value to locate in the array.
      * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the
      * search starts at index 0.
      */
    lastIndexOf(searchElement: number, fromIndex?: number): number;

    /**
      * The length of the array.
      */
    readonly length: number;

    /**
      * Calls a defined callback function on each element of an array, and returns an array that
      * contains the results.
      * @param callbackfn A function that accepts up to three arguments. The map method calls the
      * callbackfn function one time for each element in the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    map(callbackfn: (value: number, index: number, array: Float64Array) => number, thisArg?: any): Float64Array;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array. The return value of
      * the callback function is the accumulated result, and is provided as an argument in the next
      * call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduce method calls the
      * callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an
      * argument instead of an array value.
      */
    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue?: number): number;

    /**
      * Calls the specified callback function for all the elements in an array, in descending order.
      * The return value of the callback function is the accumulated result, and is provided as an
      * argument in the next call to the callback function.
      * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls
      * the callbackfn function one time for each element in the array.
      * @param initialValue If initialValue is specified, it is used as the initial value to start
      * the accumulation. The first call to the callbackfn function provides this value as an argument
      * instead of an array value.
      */
    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U;

    /**
      * Reverses the elements in an Array.
      */
    reverse(): Float64Array;

    /**
      * Sets a value or an array of values.
      * @param index The index of the location to set.
      * @param value The value to set.
      */
    set(index: number, value: number): void;

    /**
      * Sets a value or an array of values.
      * @param array A typed or untyped array of values to set.
      * @param offset The index in the current array at which the values are to be written.
      */
    set(array: ArrayLike<number>, offset?: number): void;

    /**
      * Returns a section of an array.
      * @param start The beginning of the specified portion of the array.
      * @param end The end of the specified portion of the array.
      */
    slice(start?: number, end?: number): Float64Array;

    /**
      * Determines whether the specified callback function returns true for any element of an array.
      * @param callbackfn A function that accepts up to three arguments. The some method calls the
      * callbackfn function for each element in array1 until the callbackfn returns true, or until
      * the end of the array.
      * @param thisArg An object to which the this keyword can refer in the callbackfn function.
      * If thisArg is omitted, undefined is used as the this value.
      */
    some(callbackfn: (value: number, index: number, array: Float64Array) => boolean, thisArg?: any): boolean;

    /**
      * Sorts an array.
      * @param compareFn The name of the function used to determine the order of the elements. If
      * omitted, the elements are sorted in ascending, ASCII character order.
      */
    sort(compareFn?: (a: number, b: number) => number): this;

    /**
      * Gets a new Float64Array view of the ArrayBuffer store for this array, referencing the elements
      * at begin, inclusive, up to end, exclusive.
      * @param begin The index of the beginning of the array.
      * @param end The index of the end of the array.
      */
    subarray(begin: number, end?: number): Float64Array;

    /**
      * Converts a number to a string by using the current locale.
      */
    toLocaleString(): string;

    /**
      * Returns a string representation of an array.
      */
    toString(): string;

    [index: number]: number;
}

interface Float64ArrayConstructor {
    readonly prototype: Float64Array;
    new (length: number): Float64Array;
    new (array: ArrayLike<number>): Float64Array;
    new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float64Array;

    /**
      * The size in bytes of each element in the array.
      */
    readonly BYTES_PER_ELEMENT: number;

    /**
      * Returns a new array from a set of elements.
      * @param items A set of elements to include in the new array object.
      */
    of(...items: number[]): Float64Array;

    /**
      * Creates an array from an array-like or iterable object.
      * @param arrayLike An array-like or iterable object to convert to an array.
      * @param mapfn A mapping function to call on every element of the array.
      * @param thisArg Value of 'this' used to invoke the mapfn.
      */
    from(arrayLike: ArrayLike<number>, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array;
}
declare const Float64Array: Float64ArrayConstructor;

/////////////////////////////
/// ECMAScript Internationalization API
/////////////////////////////

declare module Intl {
    interface CollatorOptions {
        usage?: string;
        localeMatcher?: string;
        numeric?: boolean;
        caseFirst?: string;
        sensitivity?: string;
        ignorePunctuation?: boolean;
    }

    interface ResolvedCollatorOptions {
        locale: string;
        usage: string;
        sensitivity: string;
        ignorePunctuation: boolean;
        collation: string;
        caseFirst: string;
        numeric: boolean;
    }

    interface Collator {
        compare(x: string, y: string): number;
        resolvedOptions(): ResolvedCollatorOptions;
    }
    var Collator: {
        new (locales?: string | string[], options?: CollatorOptions): Collator;
        (locales?: string | string[], options?: CollatorOptions): Collator;
        supportedLocalesOf(locales: string | string[], options?: CollatorOptions): string[];
    }

    interface NumberFormatOptions {
        localeMatcher?: string;
        style?: string;
        currency?: string;
        currencyDisplay?: string;
        useGrouping?: boolean;
        minimumIntegerDigits?: number;
        minimumFractionDigits?: number;
        maximumFractionDigits?: number;
        minimumSignificantDigits?: number;
        maximumSignificantDigits?: number;
    }

    interface ResolvedNumberFormatOptions {
        locale: string;
        numberingSystem: string;
        style: string;
        currency?: string;
        currencyDisplay?: string;
        minimumIntegerDigits: number;
        minimumFractionDigits: number;
        maximumFractionDigits: number;
        minimumSignificantDigits?: number;
        maximumSignificantDigits?: number;
        useGrouping: boolean;
    }

    interface NumberFormat {
        format(value: number): string;
        resolvedOptions(): ResolvedNumberFormatOptions;
    }
    var NumberFormat: {
        new (locales?: string | string[], options?: NumberFormatOptions): NumberFormat;
        (locales?: string | string[], options?: NumberFormatOptions): NumberFormat;
        supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[];
    }

    interface DateTimeFormatOptions {
        localeMatcher?: string;
        weekday?: string;
        era?: string;
        year?: string;
        month?: string;
        day?: string;
        hour?: string;
        minute?: string;
        second?: string;
        timeZoneName?: string;
        formatMatcher?: string;
        hour12?: boolean;
        timeZone?: string;
    }

    interface ResolvedDateTimeFormatOptions {
        locale: string;
        calendar: string;
        numberingSystem: string;
        timeZone: string;
        hour12?: boolean;
        weekday?: string;
        era?: string;
        year?: string;
        month?: string;
        day?: string;
        hour?: string;
        minute?: string;
        second?: string;
        timeZoneName?: string;
    }

    interface DateTimeFormat {
        format(date?: Date | number): string;
        resolvedOptions(): ResolvedDateTimeFormatOptions;
    }
    var DateTimeFormat: {
        new (locales?: string | string[], options?: DateTimeFormatOptions): DateTimeFormat;
        (locales?: string | string[], options?: DateTimeFormatOptions): DateTimeFormat;
        supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[];
    }
}

interface String {
    /**
      * Determines whether two strings are equivalent in the current or specified locale.
      * @param that String to compare to target string
      * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details.
      * @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.
      */
    localeCompare(that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
}

interface Number {
    /**
      * Converts a number to a string by using the current or specified locale.
      * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
      * @param options An object that contains one or more properties that specify comparison options.
      */
    toLocaleString(locales?: string | string[], options?: Intl.NumberFormatOptions): string;
}

interface Date {
    /**
      * Converts a date and time to a string by using the current or specified locale.
      * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
      * @param options An object that contains one or more properties that specify comparison options.
      */
    toLocaleString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;
    /**
      * Converts a date to a string by using the current or specified locale.
      * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
      * @param options An object that contains one or more properties that specify comparison options.
      */
    toLocaleDateString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string;

    /**
      * Converts a time to a string by using the current or specified locale.
      * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in de
Download .txt
gitextract_im_9e7ie/

├── .gitignore
├── .npmignore
├── LICENSE
├── README.md
├── README_cn.md
├── buildtool/
│   ├── README.md
│   └── typescript/
│       ├── bin/
│       │   ├── tsc
│       │   └── tsserver
│       └── lib/
│           ├── lib.d.ts
│           ├── lib.es6.d.ts
│           ├── tsc.js
│           ├── tsserver.js
│           └── typescriptServices.js
├── dist/
│   ├── android-ui.d.ts
│   ├── android-ui.es5.js
│   └── android-ui.js
├── package.json
└── src/
    ├── android/
    │   ├── R/
    │   │   ├── anim.ts
    │   │   ├── attr.ts
    │   │   ├── color.ts
    │   │   ├── drawable.ts
    │   │   ├── id.ts
    │   │   ├── image.ts
    │   │   ├── image_base64.ts
    │   │   ├── interpolator.ts
    │   │   ├── layout.ts
    │   │   └── string.ts
    │   ├── app/
    │   │   ├── ActionBar.ts
    │   │   ├── ActionBarActivity.ts
    │   │   ├── Activity.ts
    │   │   ├── ActivityThread.ts
    │   │   ├── AlertController.ts
    │   │   ├── AlertDialog.ts
    │   │   ├── Application.ts
    │   │   └── Dialog.ts
    │   ├── content/
    │   │   ├── Context.ts
    │   │   ├── DialogInterface.ts
    │   │   ├── Intent.ts
    │   │   └── res/
    │   │       ├── ColorStateList.ts
    │   │       ├── Resources.ts
    │   │       └── TypedArray.ts
    │   ├── database/
    │   │   ├── DataSetObservable.ts
    │   │   ├── DataSetObserver.ts
    │   │   └── Observable.ts
    │   ├── graphics/
    │   │   ├── Canvas.ts
    │   │   ├── Color.ts
    │   │   ├── Matrix.ts
    │   │   ├── Paint.ts
    │   │   ├── Path.ts
    │   │   ├── PixelFormat.ts
    │   │   ├── Point.ts
    │   │   ├── Rect.ts
    │   │   ├── RectF.ts
    │   │   └── drawable/
    │   │       ├── Animatable.ts
    │   │       ├── AnimationDrawable.ts
    │   │       ├── ClipDrawable.ts
    │   │       ├── ClipRoundRectDrawable.ts
    │   │       ├── ColorDrawable.ts
    │   │       ├── Drawable.ts
    │   │       ├── DrawableContainer.ts
    │   │       ├── InsetDrawable.ts
    │   │       ├── LayerDrawable.ts
    │   │       ├── RotateDrawable.ts
    │   │       ├── RoundRectDrawable.ts
    │   │       ├── ScaleDrawable.ts
    │   │       ├── ScrollBarDrawable.ts
    │   │       ├── ShadowDrawable.ts
    │   │       └── StateListDrawable.ts
    │   ├── os/
    │   │   ├── Bundle.ts
    │   │   ├── Handler.ts
    │   │   ├── Message.ts
    │   │   ├── MessageQueue.ts
    │   │   ├── SystemClock.ts
    │   │   └── Trace.ts
    │   ├── support/
    │   │   └── v4/
    │   │       ├── view/
    │   │       │   ├── PagerAdapter.ts
    │   │       │   └── ViewPager.ts
    │   │       └── widget/
    │   │           ├── DrawerLayout.ts
    │   │           └── ViewDragHelper.ts
    │   ├── text/
    │   │   ├── BoringLayout.ts
    │   │   ├── DynamicLayout.ts
    │   │   ├── InputType.ts
    │   │   ├── Layout.ts
    │   │   ├── MeasuredText.ts
    │   │   ├── PackedIntVector.ts
    │   │   ├── PackedObjectVector.ts
    │   │   ├── SpanSet.ts
    │   │   ├── SpanWatcher.ts
    │   │   ├── Spannable.ts
    │   │   ├── Spanned.ts
    │   │   ├── StaticLayout.ts
    │   │   ├── TextDirectionHeuristic.ts
    │   │   ├── TextDirectionHeuristics.ts
    │   │   ├── TextLine.ts
    │   │   ├── TextPaint.ts
    │   │   ├── TextUtils.ts
    │   │   ├── TextWatcher.ts
    │   │   ├── method/
    │   │   │   ├── AllCapsTransformationMethod.ts
    │   │   │   ├── MovementMethod.ts
    │   │   │   ├── PasswordTransformationMethod.ts
    │   │   │   ├── ReplacementTransformationMethod.ts
    │   │   │   ├── SingleLineTransformationMethod.ts
    │   │   │   ├── TransformationMethod.ts
    │   │   │   └── TransformationMethod2.ts
    │   │   └── style/
    │   │       ├── CharacterStyle.ts
    │   │       ├── LeadingMarginSpan.ts
    │   │       ├── LineBackgroundSpan.ts
    │   │       ├── LineHeightSpan.ts
    │   │       ├── MetricAffectingSpan.ts
    │   │       ├── ParagraphStyle.ts
    │   │       ├── ReplacementSpan.ts
    │   │       ├── TabStopSpan.ts
    │   │       ├── UpdateAppearance.ts
    │   │       ├── UpdateLayout.ts
    │   │       └── WrapTogetherSpan.ts
    │   ├── util/
    │   │   ├── ArrayMap.ts
    │   │   ├── CopyOnWriteArray.ts
    │   │   ├── DisplayMetrics.ts
    │   │   ├── LayoutDirection.ts
    │   │   ├── Log.ts
    │   │   ├── LongSparseArray.ts
    │   │   ├── MathUtils.ts
    │   │   ├── Pools.ts
    │   │   ├── SparseArray.ts
    │   │   ├── SparseBooleanArray.ts
    │   │   ├── SparseMap.ts
    │   │   ├── StateSet.ts
    │   │   └── TypedValue.ts
    │   ├── view/
    │   │   ├── FocusFinder.ts
    │   │   ├── GestureDetector.ts
    │   │   ├── Gravity.ts
    │   │   ├── HapticFeedbackConstants.ts
    │   │   ├── KeyEvent.ts
    │   │   ├── LayoutInflater.ts
    │   │   ├── Menu.ts
    │   │   ├── MenuItem.ts
    │   │   ├── MotionEvent.ts
    │   │   ├── ScaleGestureDetector.ts
    │   │   ├── SoundEffectConstants.ts
    │   │   ├── Surface.ts
    │   │   ├── TouchDelegate.ts
    │   │   ├── VelocityTracker.ts
    │   │   ├── View.ts
    │   │   ├── ViewConfiguration.ts
    │   │   ├── ViewGroup.ts
    │   │   ├── ViewOverlay.ts
    │   │   ├── ViewParent.ts
    │   │   ├── ViewRootImpl.ts
    │   │   ├── ViewTreeObserver.ts
    │   │   ├── Window.ts
    │   │   ├── WindowManager.ts
    │   │   ├── animation/
    │   │   │   ├── AccelerateDecelerateInterpolator.ts
    │   │   │   ├── AccelerateInterpolator.ts
    │   │   │   ├── AlphaAnimation.ts
    │   │   │   ├── Animation.ts
    │   │   │   ├── AnimationSet.ts
    │   │   │   ├── AnimationUtils.ts
    │   │   │   ├── AnticipateInterpolator.ts
    │   │   │   ├── AnticipateOvershootInterpolator.ts
    │   │   │   ├── BounceInterpolator.ts
    │   │   │   ├── CycleInterpolator.ts
    │   │   │   ├── DecelerateInterpolator.ts
    │   │   │   ├── Interpolator.ts
    │   │   │   ├── LinearInterpolator.ts
    │   │   │   ├── OvershootInterpolator.ts
    │   │   │   ├── RotateAnimation.ts
    │   │   │   ├── ScaleAnimation.ts
    │   │   │   ├── Transformation.ts
    │   │   │   └── TranslateAnimation.ts
    │   │   └── menu/
    │   │       └── MenuPopupHelper.ts
    │   ├── webkit/
    │   │   ├── WebView.ts
    │   │   └── WebViewClient.ts
    │   └── widget/
    │       ├── AbsListView.ts
    │       ├── AbsSeekBar.ts
    │       ├── AbsSpinner.ts
    │       ├── Adapter.ts
    │       ├── AdapterView.ts
    │       ├── ArrayAdapter.ts
    │       ├── BaseAdapter.ts
    │       ├── BaseExpandableListAdapter.ts
    │       ├── Button.ts
    │       ├── CheckBox.ts
    │       ├── Checkable.ts
    │       ├── CheckedTextView.ts
    │       ├── CompoundButton.ts
    │       ├── EditText.ts
    │       ├── ExpandableListAdapter.ts
    │       ├── ExpandableListConnector.ts
    │       ├── ExpandableListPosition.ts
    │       ├── ExpandableListView.ts
    │       ├── FrameLayout.ts
    │       ├── GridView.ts
    │       ├── HeaderViewListAdapter.ts
    │       ├── HeterogeneousExpandableList.ts
    │       ├── HorizontalScrollView.ts
    │       ├── ImageButton.ts
    │       ├── ImageView.ts
    │       ├── LinearLayout.ts
    │       ├── ListAdapter.ts
    │       ├── ListPopupWindow.ts
    │       ├── ListView.ts
    │       ├── NumberPicker.ts
    │       ├── OverScroller.ts
    │       ├── PopupWindow.ts
    │       ├── ProgressBar.ts
    │       ├── RadioButton.ts
    │       ├── RadioGroup.ts
    │       ├── RatingBar.ts
    │       ├── RelativeLayout.ts
    │       ├── ScrollView.ts
    │       ├── Scroller.ts
    │       ├── SeekBar.ts
    │       ├── Spinner.ts
    │       ├── SpinnerAdapter.ts
    │       ├── TextView.ts
    │       ├── Toast.ts
    │       └── WrapperListAdapter.ts
    ├── androidui/
    │   ├── AndroidUI.ts
    │   ├── AndroidUIElement.ts
    │   ├── attr/
    │   │   ├── AttrBinder.ts
    │   │   ├── AttrValueParser.ts
    │   │   ├── StateAttr.ts
    │   │   └── StateAttrList.ts
    │   ├── image/
    │   │   ├── ChangeImageSizeDrawable.ts
    │   │   ├── NetDrawable.ts
    │   │   ├── NetImage.ts
    │   │   ├── NinePatchDrawable.ts
    │   │   └── RegionImageDrawable.ts
    │   ├── native/
    │   │   ├── NativeApi.ts
    │   │   ├── NativeCanvas.ts
    │   │   ├── NativeEditText.ts
    │   │   ├── NativeHtmlView.ts
    │   │   ├── NativeImage.ts
    │   │   ├── NativeSurface.ts
    │   │   └── NativeWebView.ts
    │   ├── util/
    │   │   ├── ArrayCreator.ts
    │   │   ├── ClassFinder.ts
    │   │   ├── Long.ts
    │   │   ├── NumberChecker.ts
    │   │   ├── PageStack.ts
    │   │   ├── PerformanceAdjuster.ts
    │   │   └── Platform.ts
    │   └── widget/
    │       ├── HtmlBaseView.ts
    │       ├── HtmlDataAdapter.ts
    │       ├── HtmlDataListAdapter.ts
    │       ├── HtmlDataPagerAdapter.ts
    │       ├── HtmlDataPickerAdapter.ts
    │       ├── HtmlImageView.ts
    │       ├── HtmlView.ts
    │       ├── OverScrollLocker.ts
    │       └── PullRefreshLoadLayout.ts
    ├── build_sdk_res.js
    ├── insert_sdk_version_dist.js
    ├── java/
    │   ├── lang/
    │   │   ├── Comparable.ts
    │   │   ├── Float.ts
    │   │   ├── Integer.ts
    │   │   ├── Long.ts
    │   │   ├── Object.ts
    │   │   ├── Runnable.ts
    │   │   ├── StringBuilder.ts
    │   │   ├── System.ts
    │   │   ├── ref/
    │   │   │   └── WeakReference.ts
    │   │   └── util/
    │   │       └── concurrent/
    │   │           └── CopyOnWriteArrayList.ts
    │   └── util/
    │       ├── ArrayDeque.ts
    │       ├── ArrayList.ts
    │       ├── Arrays.ts
    │       ├── Collections.ts
    │       ├── Comparator.ts
    │       └── List.ts
    ├── lib/
    │   ├── com/
    │   │   └── jakewharton/
    │   │       └── salvage/
    │   │           └── RecyclingPagerAdapter.ts
    │   └── uk/
    │       └── co/
    │           └── senab/
    │               └── photoview/
    │                   ├── GestureDetector.ts
    │                   ├── IPhotoView.ts
    │                   ├── PhotoView.ts
    │                   └── PhotoViewAttacher.ts
    ├── pack_enter.ts
    ├── res/
    │   └── layout/
    │       ├── _id_defined.xml
    │       ├── action_bar.xml
    │       ├── alert_dialog.xml
    │       ├── alert_dialog_progress.xml
    │       ├── popup_menu_item_layout.xml
    │       ├── select_dialog.xml
    │       ├── select_dialog_item.xml
    │       ├── select_dialog_multichoice.xml
    │       ├── select_dialog_singlechoice.xml
    │       ├── simple_spinner_dropdown_item.xml
    │       ├── simple_spinner_item.xml
    │       └── transient_notification.xml
    └── tsconfig.json
Download .txt
Showing preview only (1,660K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (19502 symbols across 262 files)

FILE: buildtool/typescript/lib/lib.d.ts
  type PropertyDescriptor (line 85) | interface PropertyDescriptor {
  type PropertyDescriptorMap (line 94) | interface PropertyDescriptorMap {
  type Object (line 98) | interface Object {
  type ObjectConstructor (line 130) | interface ObjectConstructor {
  type Function (line 256) | interface Function {
  type FunctionConstructor (line 290) | interface FunctionConstructor {
  type IArguments (line 302) | interface IArguments {
  type String (line 308) | interface String {
  type StringConstructor (line 464) | interface StringConstructor {
  type Boolean (line 476) | interface Boolean {
  type BooleanConstructor (line 481) | interface BooleanConstructor {
  type Number (line 489) | interface Number {
  type NumberConstructor (line 518) | interface NumberConstructor {
  type TemplateStringsArray (line 551) | interface TemplateStringsArray extends ReadonlyArray<string> {
  type Math (line 555) | interface Math {
  type Date (line 667) | interface Date {
  type DateConstructor (line 820) | interface DateConstructor {
  type RegExpMatchArray (line 848) | interface RegExpMatchArray extends Array<string> {
  type RegExpExecArray (line 853) | interface RegExpExecArray extends Array<string> {
  type RegExp (line 858) | interface RegExp {
  type RegExpConstructor (line 889) | interface RegExpConstructor {
  type Error (line 911) | interface Error {
  type ErrorConstructor (line 917) | interface ErrorConstructor {
  type EvalError (line 925) | interface EvalError extends Error {
  type EvalErrorConstructor (line 928) | interface EvalErrorConstructor {
  type RangeError (line 936) | interface RangeError extends Error {
  type RangeErrorConstructor (line 939) | interface RangeErrorConstructor {
  type ReferenceError (line 947) | interface ReferenceError extends Error {
  type ReferenceErrorConstructor (line 950) | interface ReferenceErrorConstructor {
  type SyntaxError (line 958) | interface SyntaxError extends Error {
  type SyntaxErrorConstructor (line 961) | interface SyntaxErrorConstructor {
  type TypeError (line 969) | interface TypeError extends Error {
  type TypeErrorConstructor (line 972) | interface TypeErrorConstructor {
  type URIError (line 980) | interface URIError extends Error {
  type URIErrorConstructor (line 983) | interface URIErrorConstructor {
  type JSON (line 991) | interface JSON {
  type ReadonlyArray (line 1025) | interface ReadonlyArray<T> {
  type Array (line 1138) | interface Array<T> {
  type ArrayConstructor (line 1302) | interface ArrayConstructor {
  type TypedPropertyDescriptor (line 1315) | interface TypedPropertyDescriptor<T> {
  type ClassDecorator (line 1324) | type ClassDecorator = <TFunction extends Function>(target: TFunction) =>...
  type PropertyDecorator (line 1325) | type PropertyDecorator = (target: Object, propertyKey: string | symbol) ...
  type MethodDecorator (line 1326) | type MethodDecorator = <T>(target: Object, propertyKey: string | symbol,...
  type ParameterDecorator (line 1327) | type ParameterDecorator = (target: Object, propertyKey: string | symbol,...
  type PromiseConstructorLike (line 1329) | type PromiseConstructorLike = new <T>(executor: (resolve: (value?: T | P...
  type PromiseLike (line 1331) | interface PromiseLike<T> {
  type ArrayLike (line 1373) | interface ArrayLike<T> {
  type Partial (line 1381) | type Partial<T> = {
  type Readonly (line 1388) | type Readonly<T> = {
  type Pick (line 1395) | type Pick<T, K extends keyof T> = {
  type Record (line 1402) | type Record<K extends string, T> = {
  type ArrayBuffer (line 1412) | interface ArrayBuffer {
  type ArrayBufferConstructor (line 1424) | interface ArrayBufferConstructor {
  type ArrayBufferView (line 1431) | interface ArrayBufferView {
  type DataView (line 1448) | interface DataView {
  type DataViewConstructor (line 1576) | interface DataViewConstructor {
  type Int8Array (line 1585) | interface Int8Array {
  type Int8ArrayConstructor (line 1826) | interface Int8ArrayConstructor {
  type Uint8Array (line 1858) | interface Uint8Array {
  type Uint8ArrayConstructor (line 2100) | interface Uint8ArrayConstructor {
  type Uint8ClampedArray (line 2132) | interface Uint8ClampedArray {
  type Uint8ClampedArrayConstructor (line 2374) | interface Uint8ClampedArrayConstructor {
  type Int16Array (line 2405) | interface Int16Array {
  type Int16ArrayConstructor (line 2647) | interface Int16ArrayConstructor {
  type Uint16Array (line 2679) | interface Uint16Array {
  type Uint16ArrayConstructor (line 2921) | interface Uint16ArrayConstructor {
  type Int32Array (line 2952) | interface Int32Array {
  type Int32ArrayConstructor (line 3194) | interface Int32ArrayConstructor {
  type Uint32Array (line 3225) | interface Uint32Array {
  type Uint32ArrayConstructor (line 3467) | interface Uint32ArrayConstructor {
  type Float32Array (line 3498) | interface Float32Array {
  type Float32ArrayConstructor (line 3740) | interface Float32ArrayConstructor {
  type Float64Array (line 3772) | interface Float64Array {
  type Float64ArrayConstructor (line 4014) | interface Float64ArrayConstructor {
  type CollatorOptions (line 4046) | interface CollatorOptions {
  type ResolvedCollatorOptions (line 4055) | interface ResolvedCollatorOptions {
  type Collator (line 4065) | interface Collator {
  type NumberFormatOptions (line 4075) | interface NumberFormatOptions {
  type ResolvedNumberFormatOptions (line 4088) | interface ResolvedNumberFormatOptions {
  type NumberFormat (line 4102) | interface NumberFormat {
  type DateTimeFormatOptions (line 4112) | interface DateTimeFormatOptions {
  type ResolvedDateTimeFormatOptions (line 4128) | interface ResolvedDateTimeFormatOptions {
  type DateTimeFormat (line 4145) | interface DateTimeFormat {
  type String (line 4156) | interface String {
  type Number (line 4166) | interface Number {
  type Date (line 4175) | interface Date {
  type Algorithm (line 4203) | interface Algorithm {
  type AriaRequestEventInit (line 4207) | interface AriaRequestEventInit extends EventInit {
  type CommandEventInit (line 4212) | interface CommandEventInit extends EventInit {
  type CompositionEventInit (line 4217) | interface CompositionEventInit extends UIEventInit {
  type ConfirmSiteSpecificExceptionsInformation (line 4221) | interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInfo...
  type ConstrainBooleanParameters (line 4225) | interface ConstrainBooleanParameters {
  type ConstrainDOMStringParameters (line 4230) | interface ConstrainDOMStringParameters {
  type ConstrainDoubleRange (line 4235) | interface ConstrainDoubleRange extends DoubleRange {
  type ConstrainLongRange (line 4240) | interface ConstrainLongRange extends LongRange {
  type ConstrainVideoFacingModeParameters (line 4245) | interface ConstrainVideoFacingModeParameters {
  type CustomEventInit (line 4250) | interface CustomEventInit extends EventInit {
  type DeviceAccelerationDict (line 4254) | interface DeviceAccelerationDict {
  type DeviceLightEventInit (line 4260) | interface DeviceLightEventInit extends EventInit {
  type DeviceRotationRateDict (line 4264) | interface DeviceRotationRateDict {
  type DoubleRange (line 4270) | interface DoubleRange {
  type EventInit (line 4275) | interface EventInit {
  type EventModifierInit (line 4281) | interface EventModifierInit extends UIEventInit {
  type ExceptionInformation (line 4299) | interface ExceptionInformation {
  type FocusEventInit (line 4303) | interface FocusEventInit extends UIEventInit {
  type HashChangeEventInit (line 4307) | interface HashChangeEventInit extends EventInit {
  type IDBIndexParameters (line 4312) | interface IDBIndexParameters {
  type IDBObjectStoreParameters (line 4317) | interface IDBObjectStoreParameters {
  type KeyAlgorithm (line 4322) | interface KeyAlgorithm {
  type KeyboardEventInit (line 4326) | interface KeyboardEventInit extends EventModifierInit {
  type LongRange (line 4333) | interface LongRange {
  type MSAccountInfo (line 4338) | interface MSAccountInfo {
  type MSAudioLocalClientEvent (line 4346) | interface MSAudioLocalClientEvent extends MSLocalClientEventBase {
  type MSAudioRecvPayload (line 4365) | interface MSAudioRecvPayload extends MSPayloadBase {
  type MSAudioRecvSignal (line 4387) | interface MSAudioRecvSignal {
  type MSAudioSendPayload (line 4396) | interface MSAudioSendPayload extends MSPayloadBase {
  type MSAudioSendSignal (line 4403) | interface MSAudioSendSignal {
  type MSConnectivity (line 4409) | interface MSConnectivity {
  type MSCredentialFilter (line 4415) | interface MSCredentialFilter {
  type MSCredentialParameters (line 4419) | interface MSCredentialParameters {
  type MSCredentialSpec (line 4423) | interface MSCredentialSpec {
  type MSDelay (line 4428) | interface MSDelay {
  type MSDescription (line 4433) | interface MSDescription extends RTCStats {
  type MSFIDOCredentialParameters (line 4443) | interface MSFIDOCredentialParameters extends MSCredentialParameters {
  type MSIPAddressInfo (line 4448) | interface MSIPAddressInfo {
  type MSIceWarningFlags (line 4454) | interface MSIceWarningFlags {
  type MSJitter (line 4479) | interface MSJitter {
  type MSLocalClientEventBase (line 4485) | interface MSLocalClientEventBase extends RTCStats {
  type MSNetwork (line 4490) | interface MSNetwork extends RTCStats {
  type MSNetworkConnectivityInfo (line 4497) | interface MSNetworkConnectivityInfo {
  type MSNetworkInterfaceType (line 4503) | interface MSNetworkInterfaceType {
  type MSOutboundNetwork (line 4511) | interface MSOutboundNetwork extends MSNetwork {
  type MSPacketLoss (line 4515) | interface MSPacketLoss {
  type MSPayloadBase (line 4520) | interface MSPayloadBase extends RTCStats {
  type MSRelayAddress (line 4524) | interface MSRelayAddress {
  type MSSignatureParameters (line 4529) | interface MSSignatureParameters {
  type MSTransportDiagnosticsStats (line 4533) | interface MSTransportDiagnosticsStats extends RTCStats {
  type MSUtilization (line 4564) | interface MSUtilization {
  type MSVideoPayload (line 4573) | interface MSVideoPayload extends MSPayloadBase {
  type MSVideoRecvPayload (line 4582) | interface MSVideoRecvPayload extends MSVideoPayload {
  type MSVideoResolutionDistribution (line 4607) | interface MSVideoResolutionDistribution {
  type MSVideoSendPayload (line 4616) | interface MSVideoSendPayload extends MSVideoPayload {
  type MediaEncryptedEventInit (line 4625) | interface MediaEncryptedEventInit extends EventInit {
  type MediaKeyMessageEventInit (line 4630) | interface MediaKeyMessageEventInit extends EventInit {
  type MediaKeySystemConfiguration (line 4635) | interface MediaKeySystemConfiguration {
  type MediaKeySystemMediaCapability (line 4643) | interface MediaKeySystemMediaCapability {
  type MediaStreamConstraints (line 4648) | interface MediaStreamConstraints {
  type MediaStreamErrorEventInit (line 4653) | interface MediaStreamErrorEventInit extends EventInit {
  type MediaStreamTrackEventInit (line 4657) | interface MediaStreamTrackEventInit extends EventInit {
  type MediaTrackCapabilities (line 4661) | interface MediaTrackCapabilities {
  type MediaTrackConstraintSet (line 4675) | interface MediaTrackConstraintSet {
  type MediaTrackConstraints (line 4689) | interface MediaTrackConstraints extends MediaTrackConstraintSet {
  type MediaTrackSettings (line 4693) | interface MediaTrackSettings {
  type MediaTrackSupportedConstraints (line 4707) | interface MediaTrackSupportedConstraints {
  type MouseEventInit (line 4721) | interface MouseEventInit extends EventModifierInit {
  type MsZoomToOptions (line 4731) | interface MsZoomToOptions {
  type MutationObserverInit (line 4740) | interface MutationObserverInit {
  type ObjectURLOptions (line 4750) | interface ObjectURLOptions {
  type PeriodicWaveConstraints (line 4754) | interface PeriodicWaveConstraints {
  type PointerEventInit (line 4758) | interface PointerEventInit extends MouseEventInit {
  type PositionOptions (line 4769) | interface PositionOptions {
  type RTCDTMFToneChangeEventInit (line 4775) | interface RTCDTMFToneChangeEventInit extends EventInit {
  type RTCDtlsFingerprint (line 4779) | interface RTCDtlsFingerprint {
  type RTCDtlsParameters (line 4784) | interface RTCDtlsParameters {
  type RTCIceCandidate (line 4789) | interface RTCIceCandidate {
  type RTCIceCandidateAttributes (line 4801) | interface RTCIceCandidateAttributes extends RTCStats {
  type RTCIceCandidateComplete (line 4810) | interface RTCIceCandidateComplete {
  type RTCIceCandidatePair (line 4813) | interface RTCIceCandidatePair {
  type RTCIceCandidatePairStats (line 4818) | interface RTCIceCandidatePairStats extends RTCStats {
  type RTCIceGatherOptions (line 4834) | interface RTCIceGatherOptions {
  type RTCIceParameters (line 4839) | interface RTCIceParameters {
  type RTCIceServer (line 4844) | interface RTCIceServer {
  type RTCInboundRTPStreamStats (line 4850) | interface RTCInboundRTPStreamStats extends RTCRTPStreamStats {
  type RTCMediaStreamTrackStats (line 4858) | interface RTCMediaStreamTrackStats extends RTCStats {
  type RTCOutboundRTPStreamStats (line 4875) | interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats {
  type RTCRTPStreamStats (line 4882) | interface RTCRTPStreamStats extends RTCStats {
  type RTCRtcpFeedback (line 4895) | interface RTCRtcpFeedback {
  type RTCRtcpParameters (line 4900) | interface RTCRtcpParameters {
  type RTCRtpCapabilities (line 4907) | interface RTCRtpCapabilities {
  type RTCRtpCodecCapability (line 4913) | interface RTCRtpCodecCapability {
  type RTCRtpCodecParameters (line 4928) | interface RTCRtpCodecParameters {
  type RTCRtpContributingSource (line 4938) | interface RTCRtpContributingSource {
  type RTCRtpEncodingParameters (line 4944) | interface RTCRtpEncodingParameters {
  type RTCRtpFecParameters (line 4961) | interface RTCRtpFecParameters {
  type RTCRtpHeaderExtension (line 4966) | interface RTCRtpHeaderExtension {
  type RTCRtpHeaderExtensionParameters (line 4973) | interface RTCRtpHeaderExtensionParameters {
  type RTCRtpParameters (line 4979) | interface RTCRtpParameters {
  type RTCRtpRtxParameters (line 4987) | interface RTCRtpRtxParameters {
  type RTCRtpUnhandled (line 4991) | interface RTCRtpUnhandled {
  type RTCSrtpKeyParam (line 4997) | interface RTCSrtpKeyParam {
  type RTCSrtpSdesParameters (line 5005) | interface RTCSrtpSdesParameters {
  type RTCSsrcRange (line 5012) | interface RTCSsrcRange {
  type RTCStats (line 5017) | interface RTCStats {
  type RTCStatsReport (line 5024) | interface RTCStatsReport {
  type RTCTransportStats (line 5027) | interface RTCTransportStats extends RTCStats {
  type StoreExceptionsInformation (line 5037) | interface StoreExceptionsInformation extends ExceptionInformation {
  type StoreSiteSpecificExceptionsInformation (line 5043) | interface StoreSiteSpecificExceptionsInformation extends StoreExceptions...
  type UIEventInit (line 5047) | interface UIEventInit extends EventInit {
  type WebGLContextAttributes (line 5052) | interface WebGLContextAttributes {
  type WebGLContextEventInit (line 5062) | interface WebGLContextEventInit extends EventInit {
  type WheelEventInit (line 5066) | interface WheelEventInit extends MouseEventInit {
  type EventListener (line 5073) | interface EventListener {
  type ANGLE_instanced_arrays (line 5077) | interface ANGLE_instanced_arrays {
  type AnalyserNode (line 5090) | interface AnalyserNode extends AudioNode {
  type AnimationEvent (line 5107) | interface AnimationEvent extends Event {
  type ApplicationCacheEventMap (line 5118) | interface ApplicationCacheEventMap {
  type ApplicationCache (line 5129) | interface ApplicationCache extends EventTarget {
  type AriaRequestEvent (line 5163) | interface AriaRequestEvent extends Event {
  type Attr (line 5173) | interface Attr extends Node {
  type AudioBuffer (line 5186) | interface AudioBuffer {
  type AudioBufferSourceNodeEventMap (line 5201) | interface AudioBufferSourceNodeEventMap {
  type AudioBufferSourceNode (line 5205) | interface AudioBufferSourceNode extends AudioNode {
  type AudioContext (line 5224) | interface AudioContext extends EventTarget {
  type AudioDestinationNode (line 5256) | interface AudioDestinationNode extends AudioNode {
  type AudioListener (line 5265) | interface AudioListener {
  type AudioNode (line 5278) | interface AudioNode extends EventTarget {
  type AudioParam (line 5296) | interface AudioParam {
  type AudioProcessingEvent (line 5312) | interface AudioProcessingEvent extends Event {
  type AudioTrack (line 5323) | interface AudioTrack {
  type AudioTrackListEventMap (line 5337) | interface AudioTrackListEventMap {
  type AudioTrackList (line 5343) | interface AudioTrackList extends EventTarget {
  type BarProp (line 5360) | interface BarProp {
  type BeforeUnloadEvent (line 5369) | interface BeforeUnloadEvent extends Event {
  type BiquadFilterNode (line 5378) | interface BiquadFilterNode extends AudioNode {
  type Blob (line 5392) | interface Blob {
  type CDATASection (line 5405) | interface CDATASection extends Text {
  type CSS (line 5413) | interface CSS {
  type CSSConditionRule (line 5418) | interface CSSConditionRule extends CSSGroupingRule {
  type CSSFontFaceRule (line 5427) | interface CSSFontFaceRule extends CSSRule {
  type CSSGroupingRule (line 5436) | interface CSSGroupingRule extends CSSRule {
  type CSSImportRule (line 5447) | interface CSSImportRule extends CSSRule {
  type CSSKeyframeRule (line 5458) | interface CSSKeyframeRule extends CSSRule {
  type CSSKeyframesRule (line 5468) | interface CSSKeyframesRule extends CSSRule {
  type CSSMediaRule (line 5481) | interface CSSMediaRule extends CSSConditionRule {
  type CSSNamespaceRule (line 5490) | interface CSSNamespaceRule extends CSSRule {
  type CSSPageRule (line 5500) | interface CSSPageRule extends CSSRule {
  type CSSRule (line 5512) | interface CSSRule {
  type CSSRuleList (line 5548) | interface CSSRuleList {
  type CSSStyleDeclaration (line 5559) | interface CSSStyleDeclaration {
  type CSSStyleRule (line 5906) | interface CSSStyleRule extends CSSRule {
  type CSSStyleSheet (line 5917) | interface CSSStyleSheet extends StyleSheet {
  type CSSSupportsRule (line 5944) | interface CSSSupportsRule extends CSSConditionRule {
  type CanvasGradient (line 5952) | interface CanvasGradient {
  type CanvasPattern (line 5961) | interface CanvasPattern {
  type CanvasRenderingContext2D (line 5970) | interface CanvasRenderingContext2D extends Object, CanvasPathMethods {
  type ChannelMergerNode (line 6027) | interface ChannelMergerNode extends AudioNode {
  type ChannelSplitterNode (line 6035) | interface ChannelSplitterNode extends AudioNode {
  type CharacterData (line 6043) | interface CharacterData extends Node, ChildNode {
  type ClientRect (line 6058) | interface ClientRect {
  type ClientRectList (line 6072) | interface ClientRectList {
  type ClipboardEvent (line 6083) | interface ClipboardEvent extends Event {
  type CloseEvent (line 6092) | interface CloseEvent extends Event {
  type CommandEvent (line 6104) | interface CommandEvent extends Event {
  type Comment (line 6114) | interface Comment extends CharacterData {
  type CompositionEvent (line 6123) | interface CompositionEvent extends UIEvent {
  type Console (line 6134) | interface Console {
  type ConvolverNode (line 6164) | interface ConvolverNode extends AudioNode {
  type Coordinates (line 6174) | interface Coordinates {
  type Crypto (line 6189) | interface Crypto extends Object, RandomSource {
  type CryptoKey (line 6198) | interface CryptoKey {
  type CryptoKeyPair (line 6210) | interface CryptoKeyPair {
  type CustomEvent (line 6220) | interface CustomEvent extends Event {
  type DOMError (line 6230) | interface DOMError {
  type DOMException (line 6240) | interface DOMException {
  type DOMImplementation (line 6306) | interface DOMImplementation {
  type DOMParser (line 6318) | interface DOMParser {
  type DOMSettableTokenList (line 6327) | interface DOMSettableTokenList extends DOMTokenList {
  type DOMStringList (line 6336) | interface DOMStringList {
  type DOMStringMap (line 6348) | interface DOMStringMap {
  type DOMTokenList (line 6357) | interface DOMTokenList {
  type DataCue (line 6373) | interface DataCue extends TextTrackCue {
  type DataTransfer (line 6384) | interface DataTransfer {
  type DataTransferItem (line 6400) | interface DataTransferItem {
  type DataTransferItemList (line 6412) | interface DataTransferItemList {
  type DeferredPermissionRequest (line 6426) | interface DeferredPermissionRequest {
  type DelayNode (line 6439) | interface DelayNode extends AudioNode {
  type DeviceAcceleration (line 6448) | interface DeviceAcceleration {
  type DeviceLightEvent (line 6459) | interface DeviceLightEvent extends Event {
  type DeviceMotionEvent (line 6468) | interface DeviceMotionEvent extends Event {
  type DeviceOrientationEvent (line 6481) | interface DeviceOrientationEvent extends Event {
  type DeviceRotationRate (line 6494) | interface DeviceRotationRate {
  type DocumentEventMap (line 6505) | interface DocumentEventMap extends GlobalEventHandlersEventMap {
  type Document (line 6596) | interface Document extends Node, GlobalEventHandlers, NodeSelector, Docu...
  type DocumentFragment (line 7309) | interface DocumentFragment extends Node, NodeSelector, ParentNode {
  type DocumentType (line 7317) | interface DocumentType extends Node, ChildNode {
  type DragEvent (line 7331) | interface DragEvent extends MouseEvent {
  type DynamicsCompressorNode (line 7342) | interface DynamicsCompressorNode extends AudioNode {
  type EXT_frag_depth (line 7356) | interface EXT_frag_depth {
  type EXT_texture_filter_anisotropic (line 7364) | interface EXT_texture_filter_anisotropic {
  type ElementEventMap (line 7376) | interface ElementEventMap extends GlobalEventHandlersEventMap {
  type Element (line 7406) | interface Element extends Node, GlobalEventHandlers, ElementTraversal, N...
  type ErrorEvent (line 7509) | interface ErrorEvent extends Event {
  type Event (line 7523) | interface Event {
  type EventTarget (line 7555) | interface EventTarget {
  type External (line 7566) | interface External {
  type File (line 7574) | interface File extends Blob {
  type FileList (line 7585) | interface FileList {
  type FileReader (line 7596) | interface FileReader extends EventTarget, MSBaseReader {
  type FocusEvent (line 7611) | interface FocusEvent extends UIEvent {
  type FormData (line 7621) | interface FormData {
  type GainNode (line 7630) | interface GainNode extends AudioNode {
  type Gamepad (line 7639) | interface Gamepad {
  type GamepadButton (line 7654) | interface GamepadButton {
  type GamepadEvent (line 7664) | interface GamepadEvent extends Event {
  type Geolocation (line 7673) | interface Geolocation {
  type HTMLAllCollection (line 7684) | interface HTMLAllCollection extends HTMLCollection {
  type HTMLAnchorElement (line 7693) | interface HTMLAnchorElement extends HTMLElement {
  type HTMLAppletElement (line 7782) | interface HTMLAppletElement extends HTMLElement {
  type HTMLAreaElement (line 7856) | interface HTMLAreaElement extends HTMLElement {
  type HTMLAreasCollection (line 7924) | interface HTMLAreasCollection extends HTMLCollection {
  type HTMLAudioElement (line 7940) | interface HTMLAudioElement extends HTMLMediaElement {
  type HTMLBRElement (line 7950) | interface HTMLBRElement extends HTMLElement {
  type HTMLBaseElement (line 7964) | interface HTMLBaseElement extends HTMLElement {
  type HTMLBaseFontElement (line 7982) | interface HTMLBaseFontElement extends HTMLElement, DOML2DeprecatedColorP...
  type HTMLBodyElementEventMap (line 8000) | interface HTMLBodyElementEventMap extends HTMLElementEventMap {
  type HTMLBodyElement (line 8021) | interface HTMLBodyElement extends HTMLElement {
  type HTMLButtonElement (line 8057) | interface HTMLButtonElement extends HTMLElement {
  type HTMLCanvasElement (line 8130) | interface HTMLCanvasElement extends HTMLElement {
  type HTMLCollection (line 8165) | interface HTMLCollection {
  type HTMLDListElement (line 8186) | interface HTMLDListElement extends HTMLElement {
  type HTMLDataListElement (line 8197) | interface HTMLDataListElement extends HTMLElement {
  type HTMLDirectoryElement (line 8208) | interface HTMLDirectoryElement extends HTMLElement {
  type HTMLDivElement (line 8219) | interface HTMLDivElement extends HTMLElement {
  type HTMLDocument (line 8237) | interface HTMLDocument extends Document {
  type HTMLElementEventMap (line 8247) | interface HTMLElementEventMap extends ElementEventMap {
  type HTMLElement (line 8317) | interface HTMLElement extends Element {
  type HTMLEmbedElement (line 8423) | interface HTMLEmbedElement extends HTMLElement, GetSVGDocument {
  type HTMLFieldSetElement (line 8479) | interface HTMLFieldSetElement extends HTMLElement {
  type HTMLFontElement (line 8519) | interface HTMLFontElement extends HTMLElement, DOML2DeprecatedColorPrope...
  type HTMLFormElement (line 8533) | interface HTMLFormElement extends HTMLElement {
  type HTMLFrameElementEventMap (line 8610) | interface HTMLFrameElementEventMap extends HTMLElementEventMap {
  type HTMLFrameElement (line 8614) | interface HTMLFrameElement extends HTMLElement, GetSVGDocument {
  type HTMLFrameSetElementEventMap (line 8688) | interface HTMLFrameSetElementEventMap extends HTMLElementEventMap {
  type HTMLFrameSetElement (line 8707) | interface HTMLFrameSetElement extends HTMLElement {
  type HTMLHRElement (line 8762) | interface HTMLHRElement extends HTMLElement, DOML2DeprecatedColorPropert...
  type HTMLHeadElement (line 8784) | interface HTMLHeadElement extends HTMLElement {
  type HTMLHeadingElement (line 8795) | interface HTMLHeadingElement extends HTMLElement {
  type HTMLHtmlElement (line 8809) | interface HTMLHtmlElement extends HTMLElement {
  type HTMLIFrameElementEventMap (line 8823) | interface HTMLIFrameElementEventMap extends HTMLElementEventMap {
  type HTMLIFrameElement (line 8827) | interface HTMLIFrameElement extends HTMLElement, GetSVGDocument {
  type HTMLImageElement (line 8911) | interface HTMLImageElement extends HTMLElement {
  type HTMLInputElement (line 9003) | interface HTMLInputElement extends HTMLElement {
  type HTMLLIElement (line 9215) | interface HTMLLIElement extends HTMLElement {
  type HTMLLabelElement (line 9230) | interface HTMLLabelElement extends HTMLElement {
  type HTMLLegendElement (line 9248) | interface HTMLLegendElement extends HTMLElement {
  type HTMLLinkElement (line 9266) | interface HTMLLinkElement extends HTMLElement, LinkStyle {
  type HTMLMapElement (line 9311) | interface HTMLMapElement extends HTMLElement {
  type HTMLMarqueeElementEventMap (line 9329) | interface HTMLMarqueeElementEventMap extends HTMLElementEventMap {
  type HTMLMarqueeElement (line 9335) | interface HTMLMarqueeElement extends HTMLElement {
  type HTMLMediaElementEventMap (line 9361) | interface HTMLMediaElementEventMap extends HTMLElementEventMap {
  type HTMLMediaElement (line 9366) | interface HTMLMediaElement extends HTMLElement {
  type HTMLMenuElement (line 9552) | interface HTMLMenuElement extends HTMLElement {
  type HTMLMetaElement (line 9564) | interface HTMLMetaElement extends HTMLElement {
  type HTMLMeterElement (line 9598) | interface HTMLMeterElement extends HTMLElement {
  type HTMLModElement (line 9614) | interface HTMLModElement extends HTMLElement {
  type HTMLOListElement (line 9632) | interface HTMLOListElement extends HTMLElement {
  type HTMLObjectElement (line 9648) | interface HTMLObjectElement extends HTMLElement, GetSVGDocument {
  type HTMLOptGroupElement (line 9769) | interface HTMLOptGroupElement extends HTMLElement {
  type HTMLOptionElement (line 9808) | interface HTMLOptionElement extends HTMLElement {
  type HTMLOptionsCollection (line 9848) | interface HTMLOptionsCollection extends HTMLCollectionOf<HTMLOptionEleme...
  type HTMLParagraphElement (line 9860) | interface HTMLParagraphElement extends HTMLElement {
  type HTMLParamElement (line 9875) | interface HTMLParamElement extends HTMLElement {
  type HTMLPictureElement (line 9901) | interface HTMLPictureElement extends HTMLElement {
  type HTMLPreElement (line 9911) | interface HTMLPreElement extends HTMLElement {
  type HTMLProgressElement (line 9925) | interface HTMLProgressElement extends HTMLElement {
  type HTMLQuoteElement (line 9951) | interface HTMLQuoteElement extends HTMLElement {
  type HTMLScriptElement (line 9965) | interface HTMLScriptElement extends HTMLElement {
  type HTMLSelectElement (line 10005) | interface HTMLSelectElement extends HTMLElement {
  type HTMLSourceElement (line 10102) | interface HTMLSourceElement extends HTMLElement {
  type HTMLSpanElement (line 10127) | interface HTMLSpanElement extends HTMLElement {
  type HTMLStyleElement (line 10137) | interface HTMLStyleElement extends HTMLElement, LinkStyle {
  type HTMLTableCaptionElement (line 10156) | interface HTMLTableCaptionElement extends HTMLElement {
  type HTMLTableCellElement (line 10174) | interface HTMLTableCellElement extends HTMLElement, HTMLTableAlignment {
  type HTMLTableColElement (line 10229) | interface HTMLTableColElement extends HTMLElement, HTMLTableAlignment {
  type HTMLTableDataCellElement (line 10251) | interface HTMLTableDataCellElement extends HTMLTableCellElement {
  type HTMLTableElement (line 10259) | interface HTMLTableElement extends HTMLElement {
  type HTMLTableHeaderCellElement (line 10372) | interface HTMLTableHeaderCellElement extends HTMLTableCellElement {
  type HTMLTableRowElement (line 10384) | interface HTMLTableRowElement extends HTMLElement, HTMLTableAlignment {
  type HTMLTableSectionElement (line 10425) | interface HTMLTableSectionElement extends HTMLElement, HTMLTableAlignment {
  type HTMLTemplateElement (line 10453) | interface HTMLTemplateElement extends HTMLElement {
  type HTMLTextAreaElement (line 10464) | interface HTMLTextAreaElement extends HTMLElement {
  type HTMLTitleElement (line 10571) | interface HTMLTitleElement extends HTMLElement {
  type HTMLTrackElement (line 10585) | interface HTMLTrackElement extends HTMLElement {
  type HTMLUListElement (line 10610) | interface HTMLUListElement extends HTMLElement {
  type HTMLUnknownElement (line 10622) | interface HTMLUnknownElement extends HTMLElement {
  type HTMLVideoElementEventMap (line 10632) | interface HTMLVideoElementEventMap extends HTMLMediaElementEventMap {
  type HTMLVideoElement (line 10638) | interface HTMLVideoElement extends HTMLMediaElement {
  type HashChangeEvent (line 10687) | interface HashChangeEvent extends Event {
  type History (line 10697) | interface History {
  type IDBCursor (line 10713) | interface IDBCursor {
  type IDBCursorWithValue (line 10737) | interface IDBCursorWithValue extends IDBCursor {
  type IDBDatabaseEventMap (line 10746) | interface IDBDatabaseEventMap {
  type IDBDatabase (line 10751) | interface IDBDatabase extends EventTarget {
  type IDBFactory (line 10772) | interface IDBFactory {
  type IDBIndex (line 10783) | interface IDBIndex {
  type IDBKeyRange (line 10801) | interface IDBKeyRange {
  type IDBObjectStore (line 10817) | interface IDBObjectStore {
  type IDBOpenDBRequestEventMap (line 10840) | interface IDBOpenDBRequestEventMap extends IDBRequestEventMap {
  type IDBOpenDBRequest (line 10845) | interface IDBOpenDBRequest extends IDBRequest {
  type IDBRequestEventMap (line 10857) | interface IDBRequestEventMap {
  type IDBRequest (line 10862) | interface IDBRequest extends EventTarget {
  type IDBTransactionEventMap (line 10879) | interface IDBTransactionEventMap {
  type IDBTransaction (line 10885) | interface IDBTransaction extends EventTarget {
  type IDBVersionChangeEvent (line 10909) | interface IDBVersionChangeEvent extends Event {
  type ImageData (line 10919) | interface ImageData {
  type KeyboardEvent (line 10931) | interface KeyboardEvent extends UIEvent {
  type ListeningStateChangedEvent (line 10966) | interface ListeningStateChangedEvent extends Event {
  type Location (line 10976) | interface Location {
  type LongRunningScriptDetectedEvent (line 10997) | interface LongRunningScriptDetectedEvent extends Event {
  type MSApp (line 11007) | interface MSApp {
  type MSAppAsyncOperationEventMap (line 11030) | interface MSAppAsyncOperationEventMap {
  type MSAppAsyncOperation (line 11035) | interface MSAppAsyncOperation extends EventTarget {
  type MSAssertion (line 11057) | interface MSAssertion {
  type MSBlobBuilder (line 11067) | interface MSBlobBuilder {
  type MSCredentials (line 11077) | interface MSCredentials {
  type MSFIDOCredentialAssertion (line 11087) | interface MSFIDOCredentialAssertion extends MSAssertion {
  type MSFIDOSignature (line 11099) | interface MSFIDOSignature {
  type MSFIDOSignatureAssertion (line 11110) | interface MSFIDOSignatureAssertion extends MSAssertion {
  type MSGesture (line 11119) | interface MSGesture {
  type MSGestureEvent (line 11130) | interface MSGestureEvent extends UIEvent {
  type MSGraphicsTrust (line 11166) | interface MSGraphicsTrust {
  type MSHTMLWebViewElement (line 11176) | interface MSHTMLWebViewElement extends HTMLElement {
  type MSInputMethodContextEventMap (line 11209) | interface MSInputMethodContextEventMap {
  type MSInputMethodContext (line 11215) | interface MSInputMethodContext extends EventTarget {
  type MSManipulationEvent (line 11235) | interface MSManipulationEvent extends UIEvent {
  type MSMediaKeyError (line 11264) | interface MSMediaKeyError {
  type MSMediaKeyMessageEvent (line 11286) | interface MSMediaKeyMessageEvent extends Event {
  type MSMediaKeyNeededEvent (line 11296) | interface MSMediaKeyNeededEvent extends Event {
  type MSMediaKeySession (line 11305) | interface MSMediaKeySession extends EventTarget {
  type MSMediaKeys (line 11318) | interface MSMediaKeys {
  type MSPointerEvent (line 11330) | interface MSPointerEvent extends MouseEvent {
  type MSRangeCollection (line 11353) | interface MSRangeCollection {
  type MSSiteModeEvent (line 11364) | interface MSSiteModeEvent extends Event {
  type MSStream (line 11374) | interface MSStream {
  type MSStreamReader (line 11385) | interface MSStreamReader extends EventTarget, MSBaseReader {
  type MSWebViewAsyncOperationEventMap (line 11401) | interface MSWebViewAsyncOperationEventMap {
  type MSWebViewAsyncOperation (line 11406) | interface MSWebViewAsyncOperation extends EventTarget {
  type MSWebViewSettings (line 11436) | interface MSWebViewSettings {
  type MediaDeviceInfo (line 11446) | interface MediaDeviceInfo {
  type MediaDevicesEventMap (line 11458) | interface MediaDevicesEventMap {
  type MediaDevices (line 11462) | interface MediaDevices extends EventTarget {
  type MediaElementAudioSourceNode (line 11476) | interface MediaElementAudioSourceNode extends AudioNode {
  type MediaEncryptedEvent (line 11484) | interface MediaEncryptedEvent extends Event {
  type MediaError (line 11494) | interface MediaError {
  type MediaKeyMessageEvent (line 11514) | interface MediaKeyMessageEvent extends Event {
  type MediaKeySession (line 11524) | interface MediaKeySession extends EventTarget {
  type MediaKeyStatusMap (line 11541) | interface MediaKeyStatusMap {
  type MediaKeySystemAccess (line 11553) | interface MediaKeySystemAccess {
  type MediaKeys (line 11564) | interface MediaKeys {
  type MediaList (line 11574) | interface MediaList {
  type MediaQueryList (line 11589) | interface MediaQueryList {
  type MediaSource (line 11601) | interface MediaSource extends EventTarget {
  type MediaStreamEventMap (line 11617) | interface MediaStreamEventMap {
  type MediaStream (line 11624) | interface MediaStream extends EventTarget {
  type MediaStreamAudioSourceNode (line 11648) | interface MediaStreamAudioSourceNode extends AudioNode {
  type MediaStreamError (line 11656) | interface MediaStreamError {
  type MediaStreamErrorEvent (line 11667) | interface MediaStreamErrorEvent extends Event {
  type MediaStreamTrackEventMap (line 11676) | interface MediaStreamTrackEventMap {
  type MediaStreamTrack (line 11683) | interface MediaStreamTrack extends EventTarget {
  type MediaStreamTrackEvent (line 11711) | interface MediaStreamTrackEvent extends Event {
  type MessageChannel (line 11720) | interface MessageChannel {
  type MessageEvent (line 11730) | interface MessageEvent extends Event {
  type MessagePortEventMap (line 11743) | interface MessagePortEventMap {
  type MessagePort (line 11747) | interface MessagePort extends EventTarget {
  type MimeType (line 11761) | interface MimeType {
  type MimeTypeArray (line 11773) | interface MimeTypeArray {
  type MouseEvent (line 11785) | interface MouseEvent extends UIEvent {
  type MutationEvent (line 11819) | interface MutationEvent extends Event {
  type MutationObserver (line 11839) | interface MutationObserver {
  type MutationRecord (line 11850) | interface MutationRecord {
  type NamedNodeMap (line 11867) | interface NamedNodeMap {
  type NavigationCompletedEvent (line 11884) | interface NavigationCompletedEvent extends NavigationEvent {
  type NavigationEvent (line 11894) | interface NavigationEvent extends Event {
  type NavigationEventWithReferrer (line 11903) | interface NavigationEventWithReferrer extends NavigationEvent {
  type Navigator (line 11912) | interface Navigator extends Object, NavigatorID, NavigatorOnLine, Naviga...
  type Node (line 11937) | interface Node extends EventTarget {
  type NodeFilter (line 12012) | interface NodeFilter {
  type NodeIterator (line 12035) | interface NodeIterator {
  type NodeList (line 12050) | interface NodeList {
  type OES_element_index_uint (line 12061) | interface OES_element_index_uint {
  type OES_standard_derivatives (line 12069) | interface OES_standard_derivatives {
  type OES_texture_float (line 12079) | interface OES_texture_float {
  type OES_texture_float_linear (line 12087) | interface OES_texture_float_linear {
  type OfflineAudioCompletionEvent (line 12095) | interface OfflineAudioCompletionEvent extends Event {
  type OfflineAudioContextEventMap (line 12104) | interface OfflineAudioContextEventMap {
  type OfflineAudioContext (line 12108) | interface OfflineAudioContext extends AudioContext {
  type OscillatorNodeEventMap (line 12120) | interface OscillatorNodeEventMap {
  type OscillatorNode (line 12124) | interface OscillatorNode extends AudioNode {
  type OverflowEvent (line 12141) | interface OverflowEvent extends UIEvent {
  type PageTransitionEvent (line 12158) | interface PageTransitionEvent extends Event {
  type PannerNode (line 12167) | interface PannerNode extends AudioNode {
  type PerfWidgetExternal (line 12186) | interface PerfWidgetExternal {
  type Performance (line 12215) | interface Performance {
  type PerformanceEntry (line 12238) | interface PerformanceEntry {
  type PerformanceMark (line 12250) | interface PerformanceMark extends PerformanceEntry {
  type PerformanceMeasure (line 12258) | interface PerformanceMeasure extends PerformanceEntry {
  type PerformanceNavigation (line 12266) | interface PerformanceNavigation {
  type PerformanceNavigationTiming (line 12285) | interface PerformanceNavigationTiming extends PerformanceEntry {
  type PerformanceResourceTiming (line 12315) | interface PerformanceResourceTiming extends PerformanceEntry {
  type PerformanceTiming (line 12334) | interface PerformanceTiming {
  type PeriodicWave (line 12365) | interface PeriodicWave {
  type PermissionRequest (line 12373) | interface PermissionRequest extends DeferredPermissionRequest {
  type PermissionRequestedEvent (line 12383) | interface PermissionRequestedEvent extends Event {
  type Plugin (line 12392) | interface Plugin {
  type PluginArray (line 12408) | interface PluginArray {
  type PointerEvent (line 12421) | interface PointerEvent extends MouseEvent {
  type PopStateEvent (line 12444) | interface PopStateEvent extends Event {
  type Position (line 12454) | interface Position {
  type PositionError (line 12464) | interface PositionError {
  type ProcessingInstruction (line 12481) | interface ProcessingInstruction extends CharacterData {
  type ProgressEvent (line 12490) | interface ProgressEvent extends Event {
  type RTCDTMFToneChangeEvent (line 12502) | interface RTCDTMFToneChangeEvent extends Event {
  type RTCDtlsTransportEventMap (line 12511) | interface RTCDtlsTransportEventMap {
  type RTCDtlsTransport (line 12516) | interface RTCDtlsTransport extends RTCStatsProvider {
  type RTCDtlsTransportStateChangedEvent (line 12535) | interface RTCDtlsTransportStateChangedEvent extends Event {
  type RTCDtmfSenderEventMap (line 12544) | interface RTCDtmfSenderEventMap {
  type RTCDtmfSender (line 12548) | interface RTCDtmfSender extends EventTarget {
  type RTCIceCandidatePairChangedEvent (line 12565) | interface RTCIceCandidatePairChangedEvent extends Event {
  type RTCIceGathererEventMap (line 12574) | interface RTCIceGathererEventMap {
  type RTCIceGatherer (line 12579) | interface RTCIceGatherer extends RTCStatsProvider {
  type RTCIceGathererEvent (line 12595) | interface RTCIceGathererEvent extends Event {
  type RTCIceTransportEventMap (line 12604) | interface RTCIceTransportEventMap {
  type RTCIceTransport (line 12609) | interface RTCIceTransport extends RTCStatsProvider {
  type RTCIceTransportStateChangedEvent (line 12633) | interface RTCIceTransportStateChangedEvent extends Event {
  type RTCRtpReceiverEventMap (line 12642) | interface RTCRtpReceiverEventMap {
  type RTCRtpReceiver (line 12646) | interface RTCRtpReceiver extends RTCStatsProvider {
  type RTCRtpSenderEventMap (line 12666) | interface RTCRtpSenderEventMap {
  type RTCRtpSender (line 12671) | interface RTCRtpSender extends RTCStatsProvider {
  type RTCSrtpSdesTransportEventMap (line 12691) | interface RTCSrtpSdesTransportEventMap {
  type RTCSrtpSdesTransport (line 12695) | interface RTCSrtpSdesTransport extends EventTarget {
  type RTCSsrcConflictEvent (line 12708) | interface RTCSsrcConflictEvent extends Event {
  type RTCStatsProvider (line 12717) | interface RTCStatsProvider extends EventTarget {
  type Range (line 12727) | interface Range {
  type SVGAElement (line 12771) | interface SVGAElement extends SVGElement, SVGStylable, SVGTransformable,...
  type SVGAngle (line 12782) | interface SVGAngle {
  type SVGAnimatedAngle (line 12806) | interface SVGAnimatedAngle {
  type SVGAnimatedBoolean (line 12816) | interface SVGAnimatedBoolean {
  type SVGAnimatedEnumeration (line 12826) | interface SVGAnimatedEnumeration {
  type SVGAnimatedInteger (line 12836) | interface SVGAnimatedInteger {
  type SVGAnimatedLength (line 12846) | interface SVGAnimatedLength {
  type SVGAnimatedLengthList (line 12856) | interface SVGAnimatedLengthList {
  type SVGAnimatedNumber (line 12866) | interface SVGAnimatedNumber {
  type SVGAnimatedNumberList (line 12876) | interface SVGAnimatedNumberList {
  type SVGAnimatedPreserveAspectRatio (line 12886) | interface SVGAnimatedPreserveAspectRatio {
  type SVGAnimatedRect (line 12896) | interface SVGAnimatedRect {
  type SVGAnimatedString (line 12906) | interface SVGAnimatedString {
  type SVGAnimatedTransformList (line 12916) | interface SVGAnimatedTransformList {
  type SVGCircleElement (line 12926) | interface SVGCircleElement extends SVGElement, SVGStylable, SVGTransform...
  type SVGClipPathElement (line 12939) | interface SVGClipPathElement extends SVGElement, SVGStylable, SVGTransfo...
  type SVGComponentTransferFunctionElement (line 12950) | interface SVGComponentTransferFunctionElement extends SVGElement {
  type SVGDefsElement (line 12979) | interface SVGDefsElement extends SVGElement, SVGStylable, SVGTransformab...
  type SVGDescElement (line 12989) | interface SVGDescElement extends SVGElement, SVGStylable, SVGLangSpace {
  type SVGElementEventMap (line 12999) | interface SVGElementEventMap extends ElementEventMap {
  type SVGElement (line 13012) | interface SVGElement extends Element {
  type SVGElementInstance (line 13036) | interface SVGElementInstance extends EventTarget {
  type SVGElementInstanceList (line 13052) | interface SVGElementInstanceList {
  type SVGEllipseElement (line 13062) | interface SVGEllipseElement extends SVGElement, SVGStylable, SVGTransfor...
  type SVGFEBlendElement (line 13076) | interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStanda...
  type SVGFEColorMatrixElement (line 13123) | interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitive...
  type SVGFEComponentTransferElement (line 13146) | interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPri...
  type SVGFECompositeElement (line 13157) | interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveSt...
  type SVGFEConvolveMatrixElement (line 13188) | interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimit...
  type SVGFEDiffuseLightingElement (line 13218) | interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimi...
  type SVGFEDisplacementMapElement (line 13233) | interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimi...
  type SVGFEDistantLightElement (line 13258) | interface SVGFEDistantLightElement extends SVGElement {
  type SVGFEFloodElement (line 13270) | interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStanda...
  type SVGFEFuncAElement (line 13280) | interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement {
  type SVGFEFuncBElement (line 13288) | interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement {
  type SVGFEFuncGElement (line 13296) | interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement {
  type SVGFEFuncRElement (line 13304) | interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement {
  type SVGFEGaussianBlurElement (line 13312) | interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiv...
  type SVGFEImageElement (line 13326) | interface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStanda...
  type SVGFEMergeElement (line 13337) | interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStanda...
  type SVGFEMergeNodeElement (line 13347) | interface SVGFEMergeNodeElement extends SVGElement {
  type SVGFEMorphologyElement (line 13358) | interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveS...
  type SVGFEOffsetElement (line 13378) | interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStand...
  type SVGFEPointLightElement (line 13391) | interface SVGFEPointLightElement extends SVGElement {
  type SVGFESpecularLightingElement (line 13404) | interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrim...
  type SVGFESpotLightElement (line 13420) | interface SVGFESpotLightElement extends SVGElement {
  type SVGFETileElement (line 13438) | interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandar...
  type SVGFETurbulenceElement (line 13449) | interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveS...
  type SVGFilterElement (line 13477) | interface SVGFilterElement extends SVGElement, SVGUnitTypes, SVGStylable...
  type SVGForeignObjectElement (line 13496) | interface SVGForeignObjectElement extends SVGElement, SVGStylable, SVGTr...
  type SVGGElement (line 13510) | interface SVGGElement extends SVGElement, SVGStylable, SVGTransformable,...
  type SVGGradientElement (line 13520) | interface SVGGradientElement extends SVGElement, SVGStylable, SVGExterna...
  type SVGImageElement (line 13541) | interface SVGImageElement extends SVGElement, SVGStylable, SVGTransforma...
  type SVGLength (line 13556) | interface SVGLength {
  type SVGLengthList (line 13592) | interface SVGLengthList {
  type SVGLineElement (line 13608) | interface SVGLineElement extends SVGElement, SVGStylable, SVGTransformab...
  type SVGLinearGradientElement (line 13622) | interface SVGLinearGradientElement extends SVGGradientElement {
  type SVGMarkerElement (line 13634) | interface SVGMarkerElement extends SVGElement, SVGStylable, SVGLangSpace...
  type SVGMaskElement (line 13665) | interface SVGMaskElement extends SVGElement, SVGStylable, SVGTests, SVGL...
  type SVGMatrix (line 13681) | interface SVGMatrix {
  type SVGMetadataElement (line 13706) | interface SVGMetadataElement extends SVGElement {
  type SVGNumber (line 13716) | interface SVGNumber {
  type SVGNumberList (line 13725) | interface SVGNumberList {
  type SVGPathElement (line 13741) | interface SVGPathElement extends SVGElement, SVGStylable, SVGTransformab...
  type SVGPathSeg (line 13773) | interface SVGPathSeg {
  type SVGPathSegArcAbs (line 13823) | interface SVGPathSegArcAbs extends SVGPathSeg {
  type SVGPathSegArcRel (line 13838) | interface SVGPathSegArcRel extends SVGPathSeg {
  type SVGPathSegClosePath (line 13853) | interface SVGPathSegClosePath extends SVGPathSeg {
  type SVGPathSegCurvetoCubicAbs (line 13861) | interface SVGPathSegCurvetoCubicAbs extends SVGPathSeg {
  type SVGPathSegCurvetoCubicRel (line 13875) | interface SVGPathSegCurvetoCubicRel extends SVGPathSeg {
  type SVGPathSegCurvetoCubicSmoothAbs (line 13889) | interface SVGPathSegCurvetoCubicSmoothAbs extends SVGPathSeg {
  type SVGPathSegCurvetoCubicSmoothRel (line 13901) | interface SVGPathSegCurvetoCubicSmoothRel extends SVGPathSeg {
  type SVGPathSegCurvetoQuadraticAbs (line 13913) | interface SVGPathSegCurvetoQuadraticAbs extends SVGPathSeg {
  type SVGPathSegCurvetoQuadraticRel (line 13925) | interface SVGPathSegCurvetoQuadraticRel extends SVGPathSeg {
  type SVGPathSegCurvetoQuadraticSmoothAbs (line 13937) | interface SVGPathSegCurvetoQuadraticSmoothAbs extends SVGPathSeg {
  type SVGPathSegCurvetoQuadraticSmoothRel (line 13947) | interface SVGPathSegCurvetoQuadraticSmoothRel extends SVGPathSeg {
  type SVGPathSegLinetoAbs (line 13957) | interface SVGPathSegLinetoAbs extends SVGPathSeg {
  type SVGPathSegLinetoHorizontalAbs (line 13967) | interface SVGPathSegLinetoHorizontalAbs extends SVGPathSeg {
  type SVGPathSegLinetoHorizontalRel (line 13976) | interface SVGPathSegLinetoHorizontalRel extends SVGPathSeg {
  type SVGPathSegLinetoRel (line 13985) | interface SVGPathSegLinetoRel extends SVGPathSeg {
  type SVGPathSegLinetoVerticalAbs (line 13995) | interface SVGPathSegLinetoVerticalAbs extends SVGPathSeg {
  type SVGPathSegLinetoVerticalRel (line 14004) | interface SVGPathSegLinetoVerticalRel extends SVGPathSeg {
  type SVGPathSegList (line 14013) | interface SVGPathSegList {
  type SVGPathSegMovetoAbs (line 14029) | interface SVGPathSegMovetoAbs extends SVGPathSeg {
  type SVGPathSegMovetoRel (line 14039) | interface SVGPathSegMovetoRel extends SVGPathSeg {
  type SVGPatternElement (line 14049) | interface SVGPatternElement extends SVGElement, SVGStylable, SVGTests, S...
  type SVGPoint (line 14066) | interface SVGPoint {
  type SVGPointList (line 14077) | interface SVGPointList {
  type SVGPolygonElement (line 14093) | interface SVGPolygonElement extends SVGElement, SVGStylable, SVGTransfor...
  type SVGPolylineElement (line 14103) | interface SVGPolylineElement extends SVGElement, SVGStylable, SVGTransfo...
  type SVGPreserveAspectRatio (line 14113) | interface SVGPreserveAspectRatio {
  type SVGRadialGradientElement (line 14151) | interface SVGRadialGradientElement extends SVGGradientElement {
  type SVGRect (line 14164) | interface SVGRect {
  type SVGRectElement (line 14176) | interface SVGRectElement extends SVGElement, SVGStylable, SVGTransformab...
  type SVGSVGElementEventMap (line 14192) | interface SVGSVGElementEventMap extends SVGElementEventMap {
  type SVGSVGElement (line 14201) | interface SVGSVGElement extends SVGElement, DocumentEvent, SVGLocatable,...
  type SVGScriptElement (line 14253) | interface SVGScriptElement extends SVGElement, SVGExternalResourcesRequi...
  type SVGStopElement (line 14264) | interface SVGStopElement extends SVGElement, SVGStylable {
  type SVGStringList (line 14275) | interface SVGStringList {
  type SVGStyleElement (line 14291) | interface SVGStyleElement extends SVGElement, SVGLangSpace {
  type SVGSwitchElement (line 14305) | interface SVGSwitchElement extends SVGElement, SVGStylable, SVGTransform...
  type SVGSymbolElement (line 14315) | interface SVGSymbolElement extends SVGElement, SVGStylable, SVGLangSpace...
  type SVGTSpanElement (line 14325) | interface SVGTSpanElement extends SVGTextPositioningElement {
  type SVGTextContentElement (line 14333) | interface SVGTextContentElement extends SVGElement, SVGStylable, SVGTest...
  type SVGTextElement (line 14360) | interface SVGTextElement extends SVGTextPositioningElement, SVGTransform...
  type SVGTextPathElement (line 14368) | interface SVGTextPathElement extends SVGTextContentElement, SVGURIRefere...
  type SVGTextPositioningElement (line 14391) | interface SVGTextPositioningElement extends SVGTextContentElement {
  type SVGTitleElement (line 14404) | interface SVGTitleElement extends SVGElement, SVGStylable, SVGLangSpace {
  type SVGTransform (line 14414) | interface SVGTransform {
  type SVGTransformList (line 14445) | interface SVGTransformList {
  type SVGUnitTypes (line 14463) | interface SVGUnitTypes {
  type SVGUseElement (line 14470) | interface SVGUseElement extends SVGElement, SVGStylable, SVGTransformabl...
  type SVGViewElement (line 14486) | interface SVGViewElement extends SVGElement, SVGExternalResourcesRequire...
  type SVGZoomAndPan (line 14497) | interface SVGZoomAndPan {
  type SVGZoomEvent (line 14507) | interface SVGZoomEvent extends UIEvent {
  type ScreenEventMap (line 14520) | interface ScreenEventMap {
  type Screen (line 14524) | interface Screen extends EventTarget {
  type ScriptNotifyEvent (line 14552) | interface ScriptNotifyEvent extends Event {
  type ScriptProcessorNodeEventMap (line 14562) | interface ScriptProcessorNodeEventMap {
  type ScriptProcessorNode (line 14566) | interface ScriptProcessorNode extends AudioNode {
  type Selection (line 14578) | interface Selection {
  type SourceBuffer (line 14607) | interface SourceBuffer extends EventTarget {
  type SourceBufferList (line 14627) | interface SourceBufferList extends EventTarget {
  type StereoPannerNode (line 14638) | interface StereoPannerNode extends AudioNode {
  type Storage (line 14647) | interface Storage {
  type StorageEvent (line 14663) | interface StorageEvent extends Event {
  type StyleMedia (line 14676) | interface StyleMedia {
  type StyleSheet (line 14686) | interface StyleSheet {
  type StyleSheetList (line 14701) | interface StyleSheetList {
  type StyleSheetPageList (line 14712) | interface StyleSheetPageList {
  type SubtleCrypto (line 14723) | interface SubtleCrypto {
  type Text (line 14749) | interface Text extends CharacterData {
  type TextEvent (line 14760) | interface TextEvent extends UIEvent {
  type TextMetrics (line 14792) | interface TextMetrics {
  type TextTrackEventMap (line 14801) | interface TextTrackEventMap {
  type TextTrack (line 14807) | interface TextTrack extends EventTarget {
  type TextTrackCueEventMap (line 14844) | interface TextTrackCueEventMap {
  type TextTrackCue (line 14849) | interface TextTrackCue extends EventTarget {
  type TextTrackCueList (line 14868) | interface TextTrackCueList {
  type TextTrackListEventMap (line 14880) | interface TextTrackListEventMap {
  type TextTrackList (line 14884) | interface TextTrackList extends EventTarget {
  type TimeRanges (line 14898) | interface TimeRanges {
  type Touch (line 14909) | interface Touch {
  type TouchEvent (line 14925) | interface TouchEvent extends UIEvent {
  type TouchList (line 14940) | interface TouchList {
  type TrackEvent (line 14951) | interface TrackEvent extends Event {
  type TransitionEvent (line 14960) | interface TransitionEvent extends Event {
  type TreeWalker (line 14971) | interface TreeWalker {
  type UIEvent (line 14991) | interface UIEvent extends Event {
  type URL (line 15002) | interface URL {
  type UnviewableContentIdentifiedEvent (line 15024) | interface UnviewableContentIdentifiedEvent extends NavigationEventWithRe...
  type ValidityState (line 15033) | interface ValidityState {
  type VideoPlaybackQuality (line 15051) | interface VideoPlaybackQuality {
  type VideoTrack (line 15064) | interface VideoTrack {
  type VideoTrackListEventMap (line 15078) | interface VideoTrackListEventMap {
  type VideoTrackList (line 15084) | interface VideoTrackList extends EventTarget {
  type WEBGL_compressed_texture_s3tc (line 15102) | interface WEBGL_compressed_texture_s3tc {
  type WEBGL_debug_renderer_info (line 15118) | interface WEBGL_debug_renderer_info {
  type WEBGL_depth_texture (line 15130) | interface WEBGL_depth_texture {
  type WaveShaperNode (line 15140) | interface WaveShaperNode extends AudioNode {
  type WebGLActiveInfo (line 15150) | interface WebGLActiveInfo {
  type WebGLBuffer (line 15161) | interface WebGLBuffer extends WebGLObject {
  type WebGLContextEvent (line 15169) | interface WebGLContextEvent extends Event {
  type WebGLFramebuffer (line 15178) | interface WebGLFramebuffer extends WebGLObject {
  type WebGLObject (line 15186) | interface WebGLObject {
  type WebGLProgram (line 15194) | interface WebGLProgram extends WebGLObject {
  type WebGLRenderbuffer (line 15202) | interface WebGLRenderbuffer extends WebGLObject {
  type WebGLRenderingContext (line 15210) | interface WebGLRenderingContext {
  type WebGLShader (line 15953) | interface WebGLShader extends WebGLObject {
  type WebGLShaderPrecisionFormat (line 15961) | interface WebGLShaderPrecisionFormat {
  type WebGLTexture (line 15972) | interface WebGLTexture extends WebGLObject {
  type WebGLUniformLocation (line 15980) | interface WebGLUniformLocation {
  type WebKitCSSMatrix (line 15988) | interface WebKitCSSMatrix {
  type WebKitPoint (line 16028) | interface WebKitPoint {
  type WebSocketEventMap (line 16038) | interface WebSocketEventMap {
  type WebSocket (line 16045) | interface WebSocket extends EventTarget {
  type WheelEvent (line 16075) | interface WheelEvent extends MouseEvent {
  type WindowEventMap (line 16098) | interface WindowEventMap extends GlobalEventHandlersEventMap {
  type Window (line 16187) | interface Window extends EventTarget, WindowTimers, WindowSessionStorage...
  type WorkerEventMap (line 16369) | interface WorkerEventMap extends AbstractWorkerEventMap {
  type Worker (line 16373) | interface Worker extends EventTarget, AbstractWorker {
  type XMLDocument (line 16386) | interface XMLDocument extends Document {
  type XMLHttpRequestEventMap (line 16396) | interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventM...
  type XMLHttpRequest (line 16400) | interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget {
  type XMLHttpRequestUpload (line 16444) | interface XMLHttpRequestUpload extends EventTarget, XMLHttpRequestEventT...
  type XMLSerializer (line 16454) | interface XMLSerializer {
  type XPathEvaluator (line 16463) | interface XPathEvaluator {
  type XPathExpression (line 16474) | interface XPathExpression {
  type XPathNSResolver (line 16483) | interface XPathNSResolver {
  type XPathResult (line 16492) | interface XPathResult {
  type XSLTProcessor (line 16529) | interface XSLTProcessor {
  type AbstractWorkerEventMap (line 16545) | interface AbstractWorkerEventMap {
  type AbstractWorker (line 16549) | interface AbstractWorker {
  type CanvasPathMethods (line 16555) | interface CanvasPathMethods {
  type ChildNode (line 16567) | interface ChildNode {
  type DOML2DeprecatedColorProperty (line 16571) | interface DOML2DeprecatedColorProperty {
  type DOML2DeprecatedSizeProperty (line 16575) | interface DOML2DeprecatedSizeProperty {
  type DocumentEvent (line 16579) | interface DocumentEvent {
  type ElementTraversal (line 16650) | interface ElementTraversal {
  type GetSVGDocument (line 16658) | interface GetSVGDocument {
  type GlobalEventHandlersEventMap (line 16662) | interface GlobalEventHandlersEventMap {
  type GlobalEventHandlers (line 16674) | interface GlobalEventHandlers {
  type HTMLTableAlignment (line 16688) | interface HTMLTableAlignment {
  type IDBEnvironment (line 16703) | interface IDBEnvironment {
  type LinkStyle (line 16707) | interface LinkStyle {
  type MSBaseReaderEventMap (line 16711) | interface MSBaseReaderEventMap {
  type MSBaseReader (line 16720) | interface MSBaseReader {
  type MSFileSaver (line 16737) | interface MSFileSaver {
  type MSNavigatorDoNotTrack (line 16742) | interface MSNavigatorDoNotTrack {
  type NavigatorContentUtils (line 16751) | interface NavigatorContentUtils {
  type NavigatorGeolocation (line 16754) | interface NavigatorGeolocation {
  type NavigatorID (line 16758) | interface NavigatorID {
  type NavigatorOnLine (line 16769) | interface NavigatorOnLine {
  type NavigatorStorageUtils (line 16773) | interface NavigatorStorageUtils {
  type NavigatorUserMedia (line 16776) | interface NavigatorUserMedia {
  type NodeSelector (line 16781) | interface NodeSelector {
  type RandomSource (line 16788) | interface RandomSource {
  type SVGAnimatedPathData (line 16792) | interface SVGAnimatedPathData {
  type SVGAnimatedPoints (line 16796) | interface SVGAnimatedPoints {
  type SVGExternalResourcesRequired (line 16801) | interface SVGExternalResourcesRequired {
  type SVGFilterPrimitiveStandardAttributes (line 16805) | interface SVGFilterPrimitiveStandardAttributes extends SVGStylable {
  type SVGFitToViewBox (line 16813) | interface SVGFitToViewBox {
  type SVGLangSpace (line 16818) | interface SVGLangSpace {
  type SVGLocatable (line 16823) | interface SVGLocatable {
  type SVGStylable (line 16832) | interface SVGStylable {
  type SVGTests (line 16837) | interface SVGTests {
  type SVGTransformable (line 16844) | interface SVGTransformable extends SVGLocatable {
  type SVGURIReference (line 16848) | interface SVGURIReference {
  type WindowBase64 (line 16852) | interface WindowBase64 {
  type WindowConsole (line 16857) | interface WindowConsole {
  type WindowLocalStorage (line 16861) | interface WindowLocalStorage {
  type WindowSessionStorage (line 16865) | interface WindowSessionStorage {
  type WindowTimers (line 16869) | interface WindowTimers extends Object, WindowTimersExtension {
  type WindowTimersExtension (line 16878) | interface WindowTimersExtension {
  type XMLHttpRequestEventTargetEventMap (line 16884) | interface XMLHttpRequestEventTargetEventMap {
  type XMLHttpRequestEventTarget (line 16894) | interface XMLHttpRequestEventTarget {
  type StorageEventInit (line 16906) | interface StorageEventInit extends EventInit {
  type Canvas2DContextAttributes (line 16914) | interface Canvas2DContextAttributes {
  type NodeListOf (line 16921) | interface NodeListOf<TNode extends Node> extends NodeList {
  type HTMLCollectionOf (line 16927) | interface HTMLCollectionOf<T extends Element> extends HTMLCollection {
  type BlobPropertyBag (line 16933) | interface BlobPropertyBag {
  type FilePropertyBag (line 16938) | interface FilePropertyBag {
  type EventListenerObject (line 16943) | interface EventListenerObject {
  type MessageEventInit (line 16947) | interface MessageEventInit extends EventInit {
  type ProgressEventInit (line 16956) | interface ProgressEventInit extends EventInit {
  type ScrollOptions (line 16962) | interface ScrollOptions {
  type ScrollToOptions (line 16966) | interface ScrollToOptions extends ScrollOptions {
  type ScrollIntoViewOptions (line 16971) | interface ScrollIntoViewOptions extends ScrollOptions {
  type ClipboardEventInit (line 16976) | interface ClipboardEventInit extends EventInit {
  type IDBArrayKey (line 16981) | interface IDBArrayKey extends Array<IDBValidKey> {
  type RsaKeyGenParams (line 16984) | interface RsaKeyGenParams extends Algorithm {
  type RsaHashedKeyGenParams (line 16989) | interface RsaHashedKeyGenParams extends RsaKeyGenParams {
  type RsaKeyAlgorithm (line 16993) | interface RsaKeyAlgorithm extends KeyAlgorithm {
  type RsaHashedKeyAlgorithm (line 16998) | interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
  type RsaHashedImportParams (line 17002) | interface RsaHashedImportParams {
  type RsaPssParams (line 17006) | interface RsaPssParams {
  type RsaOaepParams (line 17010) | interface RsaOaepParams extends Algorithm {
  type EcdsaParams (line 17014) | interface EcdsaParams extends Algorithm {
  type EcKeyGenParams (line 17018) | interface EcKeyGenParams extends Algorithm {
  type EcKeyAlgorithm (line 17022) | interface EcKeyAlgorithm extends KeyAlgorithm {
  type EcKeyImportParams (line 17026) | interface EcKeyImportParams {
  type EcdhKeyDeriveParams (line 17030) | interface EcdhKeyDeriveParams extends Algorithm {
  type AesCtrParams (line 17034) | interface AesCtrParams extends Algorithm {
  type AesKeyAlgorithm (line 17039) | interface AesKeyAlgorithm extends KeyAlgorithm {
  type AesKeyGenParams (line 17043) | interface AesKeyGenParams extends Algorithm {
  type AesDerivedKeyParams (line 17047) | interface AesDerivedKeyParams extends Algorithm {
  type AesCbcParams (line 17051) | interface AesCbcParams extends Algorithm {
  type AesCmacParams (line 17055) | interface AesCmacParams extends Algorithm {
  type AesGcmParams (line 17059) | interface AesGcmParams extends Algorithm {
  type AesCfbParams (line 17065) | interface AesCfbParams extends Algorithm {
  type HmacImportParams (line 17069) | interface HmacImportParams extends Algorithm {
  type HmacKeyAlgorithm (line 17074) | interface HmacKeyAlgorithm extends KeyAlgorithm {
  type HmacKeyGenParams (line 17079) | interface HmacKeyGenParams extends Algorithm {
  type DhKeyGenParams (line 17084) | interface DhKeyGenParams extends Algorithm {
  type DhKeyAlgorithm (line 17089) | interface DhKeyAlgorithm extends KeyAlgorithm {
  type DhKeyDeriveParams (line 17094) | interface DhKeyDeriveParams extends Algorithm {
  type DhImportKeyParams (line 17098) | interface DhImportKeyParams extends Algorithm {
  type ConcatParams (line 17103) | interface ConcatParams extends Algorithm {
  type HkdfCtrParams (line 17112) | interface HkdfCtrParams extends Algorithm {
  type Pbkdf2Params (line 17118) | interface Pbkdf2Params extends Algorithm {
  type RsaOtherPrimesInfo (line 17124) | interface RsaOtherPrimesInfo {
  type JsonWebKey (line 17130) | interface JsonWebKey {
  type ParentNode (line 17155) | interface ParentNode {
  type DocumentOrShadowRoot (line 17162) | interface DocumentOrShadowRoot {
  type ShadowRoot (line 17170) | interface ShadowRoot extends DocumentOrShadowRoot, DocumentFragment {
  type ShadowRootInit (line 17175) | interface ShadowRootInit {
  type HTMLSlotElement (line 17180) | interface HTMLSlotElement extends HTMLElement {
  type AssignedNodesOptions (line 17185) | interface AssignedNodesOptions {
  type EventListenerOrEventListenerObject (line 17189) | type EventListenerOrEventListenerObject = EventListener | EventListenerO...
  type ErrorEventHandler (line 17191) | interface ErrorEventHandler {
  type PositionCallback (line 17194) | interface PositionCallback {
  type PositionErrorCallback (line 17197) | interface PositionErrorCallback {
  type MediaQueryListListener (line 17200) | interface MediaQueryListListener {
  type MSLaunchUriCallback (line 17203) | interface MSLaunchUriCallback {
  type FrameRequestCallback (line 17206) | interface FrameRequestCallback {
  type MSUnsafeFunctionCallback (line 17209) | interface MSUnsafeFunctionCallback {
  type MSExecAtPriorityFunctionCallback (line 17212) | interface MSExecAtPriorityFunctionCallback {
  type MutationCallback (line 17215) | interface MutationCallback {
  type DecodeSuccessCallback (line 17218) | interface DecodeSuccessCallback {
  type DecodeErrorCallback (line 17221) | interface DecodeErrorCallback {
  type FunctionStringCallback (line 17224) | interface FunctionStringCallback {
  type NavigatorUserMediaSuccessCallback (line 17227) | interface NavigatorUserMediaSuccessCallback {
  type NavigatorUserMediaErrorCallback (line 17230) | interface NavigatorUserMediaErrorCallback {
  type ForEachCallback (line 17233) | interface ForEachCallback {
  type HTMLElementTagNameMap (line 17236) | interface HTMLElementTagNameMap {
  type ElementTagNameMap (line 17319) | interface ElementTagNameMap {
  type ElementListTagNameMap (line 17498) | interface ElementListTagNameMap {
  type AAGUID (line 17879) | type AAGUID = string;
  type AlgorithmIdentifier (line 17880) | type AlgorithmIdentifier = string | Algorithm;
  type ConstrainBoolean (line 17881) | type ConstrainBoolean = boolean | ConstrainBooleanParameters;
  type ConstrainDOMString (line 17882) | type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;
  type ConstrainDouble (line 17883) | type ConstrainDouble = number | ConstrainDoubleRange;
  type ConstrainLong (line 17884) | type ConstrainLong = number | ConstrainLongRange;
  type CryptoOperationData (line 17885) | type CryptoOperationData = ArrayBufferView;
  type GLbitfield (line 17886) | type GLbitfield = number;
  type GLboolean (line 17887) | type GLboolean = boolean;
  type GLbyte (line 17888) | type GLbyte = number;
  type GLclampf (line 17889) | type GLclampf = number;
  type GLenum (line 17890) | type GLenum = number;
  type GLfloat (line 17891) | type GLfloat = number;
  type GLint (line 17892) | type GLint = number;
  type GLintptr (line 17893) | type GLintptr = number;
  type GLshort (line 17894) | type GLshort = number;
  type GLsizei (line 17895) | type GLsizei = number;
  type GLsizeiptr (line 17896) | type GLsizeiptr = number;
  type GLubyte (line 17897) | type GLubyte = number;
  type GLuint (line 17898) | type GLuint = number;
  type GLushort (line 17899) | type GLushort = number;
  type IDBKeyPath (line 17900) | type IDBKeyPath = string;
  type KeyFormat (line 17901) | type KeyFormat = string;
  type KeyType (line 17902) | type KeyType = string;
  type KeyUsage (line 17903) | type KeyUsage = string;
  type MSInboundPayload (line 17904) | type MSInboundPayload = MSVideoRecvPayload | MSAudioRecvPayload;
  type MSLocalClientEvent (line 17905) | type MSLocalClientEvent = MSLocalClientEventBase | MSAudioLocalClientEvent;
  type MSOutboundPayload (line 17906) | type MSOutboundPayload = MSVideoSendPayload | MSAudioSendPayload;
  type RTCIceGatherCandidate (line 17907) | type RTCIceGatherCandidate = RTCIceCandidate | RTCIceCandidateComplete;
  type RTCTransport (line 17908) | type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport;
  type payloadtype (line 17909) | type payloadtype = number;
  type ScrollBehavior (line 17910) | type ScrollBehavior = "auto" | "instant" | "smooth";
  type ScrollLogicalPosition (line 17911) | type ScrollLogicalPosition = "start" | "center" | "end" | "nearest";
  type IDBValidKey (line 17912) | type IDBValidKey = number | string | Date | IDBArrayKey;
  type BufferSource (line 17913) | type BufferSource = ArrayBuffer | ArrayBufferView;
  type MouseWheelEvent (line 17914) | type MouseWheelEvent = WheelEvent;
  type ScrollRestoration (line 17915) | type ScrollRestoration = "auto" | "manual";
  type ActiveXObject (line 17932) | interface ActiveXObject {
  type ITextWriter (line 17937) | interface ITextWriter {
  type TextStreamBase (line 17943) | interface TextStreamBase {
  type TextStreamWriter (line 17962) | interface TextStreamWriter extends TextStreamBase {
  type TextStreamReader (line 17979) | interface TextStreamReader extends TextStreamBase {
  type Enumerator (line 18131) | interface Enumerator<T> {
  type EnumeratorConstructor (line 18156) | interface EnumeratorConstructor {
  type VBArray (line 18166) | interface VBArray<T> {
  type VBArrayConstructor (line 18197) | interface VBArrayConstructor {
  type VarDate (line 18207) | interface VarDate { }
  type DateConstructor (line 18209) | interface DateConstructor {
  type Date (line 18213) | interface Date {

FILE: buildtool/typescript/lib/lib.es6.d.ts
  type PropertyDescriptor (line 85) | interface PropertyDescriptor {
  type PropertyDescriptorMap (line 94) | interface PropertyDescriptorMap {
  type Object (line 98) | interface Object {
  type ObjectConstructor (line 130) | interface ObjectConstructor {
  type Function (line 256) | interface Function {
  type FunctionConstructor (line 290) | interface FunctionConstructor {
  type IArguments (line 302) | interface IArguments {
  type String (line 308) | interface String {
  type StringConstructor (line 464) | interface StringConstructor {
  type Boolean (line 476) | interface Boolean {
  type BooleanConstructor (line 481) | interface BooleanConstructor {
  type Number (line 489) | interface Number {
  type NumberConstructor (line 518) | interface NumberConstructor {
  type TemplateStringsArray (line 551) | interface TemplateStringsArray extends ReadonlyArray<string> {
  type Math (line 555) | interface Math {
  type Date (line 667) | interface Date {
  type DateConstructor (line 820) | interface DateConstructor {
  type RegExpMatchArray (line 848) | interface RegExpMatchArray extends Array<string> {
  type RegExpExecArray (line 853) | interface RegExpExecArray extends Array<string> {
  type RegExp (line 858) | interface RegExp {
  type RegExpConstructor (line 889) | interface RegExpConstructor {
  type Error (line 911) | interface Error {
  type ErrorConstructor (line 917) | interface ErrorConstructor {
  type EvalError (line 925) | interface EvalError extends Error {
  type EvalErrorConstructor (line 928) | interface EvalErrorConstructor {
  type RangeError (line 936) | interface RangeError extends Error {
  type RangeErrorConstructor (line 939) | interface RangeErrorConstructor {
  type ReferenceError (line 947) | interface ReferenceError extends Error {
  type ReferenceErrorConstructor (line 950) | interface ReferenceErrorConstructor {
  type SyntaxError (line 958) | interface SyntaxError extends Error {
  type SyntaxErrorConstructor (line 961) | interface SyntaxErrorConstructor {
  type TypeError (line 969) | interface TypeError extends Error {
  type TypeErrorConstructor (line 972) | interface TypeErrorConstructor {
  type URIError (line 980) | interface URIError extends Error {
  type URIErrorConstructor (line 983) | interface URIErrorConstructor {
  type JSON (line 991) | interface JSON {
  type ReadonlyArray (line 1025) | interface ReadonlyArray<T> {
  type Array (line 1138) | interface Array<T> {
  type ArrayConstructor (line 1302) | interface ArrayConstructor {
  type TypedPropertyDescriptor (line 1315) | interface TypedPropertyDescriptor<T> {
  type ClassDecorator (line 1324) | type ClassDecorator = <TFunction extends Function>(target: TFunction) =>...
  type PropertyDecorator (line 1325) | type PropertyDecorator = (target: Object, propertyKey: string | symbol) ...
  type MethodDecorator (line 1326) | type MethodDecorator = <T>(target: Object, propertyKey: string | symbol,...
  type ParameterDecorator (line 1327) | type ParameterDecorator = (target: Object, propertyKey: string | symbol,...
  type PromiseConstructorLike (line 1329) | type PromiseConstructorLike = new <T>(executor: (resolve: (value?: T | P...
  type PromiseLike (line 1331) | interface PromiseLike<T> {
  type ArrayLike (line 1373) | interface ArrayLike<T> {
  type Partial (line 1381) | type Partial<T> = {
  type Readonly (line 1388) | type Readonly<T> = {
  type Pick (line 1395) | type Pick<T, K extends keyof T> = {
  type Record (line 1402) | type Record<K extends string, T> = {
  type ArrayBuffer (line 1412) | interface ArrayBuffer {
  type ArrayBufferConstructor (line 1424) | interface ArrayBufferConstructor {
  type ArrayBufferView (line 1431) | interface ArrayBufferView {
  type DataView (line 1448) | interface DataView {
  type DataViewConstructor (line 1576) | interface DataViewConstructor {
  type Int8Array (line 1585) | interface Int8Array {
  type Int8ArrayConstructor (line 1826) | interface Int8ArrayConstructor {
  type Uint8Array (line 1858) | interface Uint8Array {
  type Uint8ArrayConstructor (line 2100) | interface Uint8ArrayConstructor {
  type Uint8ClampedArray (line 2132) | interface Uint8ClampedArray {
  type Uint8ClampedArrayConstructor (line 2374) | interface Uint8ClampedArrayConstructor {
  type Int16Array (line 2405) | interface Int16Array {
  type Int16ArrayConstructor (line 2647) | interface Int16ArrayConstructor {
  type Uint16Array (line 2679) | interface Uint16Array {
  type Uint16ArrayConstructor (line 2921) | interface Uint16ArrayConstructor {
  type Int32Array (line 2952) | interface Int32Array {
  type Int32ArrayConstructor (line 3194) | interface Int32ArrayConstructor {
  type Uint32Array (line 3225) | interface Uint32Array {
  type Uint32ArrayConstructor (line 3467) | interface Uint32ArrayConstructor {
  type Float32Array (line 3498) | interface Float32Array {
  type Float32ArrayConstructor (line 3740) | interface Float32ArrayConstructor {
  type Float64Array (line 3772) | interface Float64Array {
  type Float64ArrayConstructor (line 4014) | interface Float64ArrayConstructor {
  type CollatorOptions (line 4046) | interface CollatorOptions {
  type ResolvedCollatorOptions (line 4055) | interface ResolvedCollatorOptions {
  type Collator (line 4065) | interface Collator {
  type NumberFormatOptions (line 4075) | interface NumberFormatOptions {
  type ResolvedNumberFormatOptions (line 4088) | interface ResolvedNumberFormatOptions {
  type NumberFormat (line 4102) | interface NumberFormat {
  type DateTimeFormatOptions (line 4112) | interface DateTimeFormatOptions {
  type ResolvedDateTimeFormatOptions (line 4128) | interface ResolvedDateTimeFormatOptions {
  type DateTimeFormat (line 4145) | interface DateTimeFormat {
  type String (line 4156) | interface String {
  type Number (line 4166) | interface Number {
  type Date (line 4175) | interface Date {
  type PropertyKey (line 4198) | type PropertyKey = string | number | symbol;
  type Array (line 4200) | interface Array<T> {
  type ArrayConstructor (line 4245) | interface ArrayConstructor {
  type DateConstructor (line 4268) | interface DateConstructor {
  type Function (line 4272) | interface Function {
  type Math (line 4279) | interface Math {
  type NumberConstructor (line 4391) | interface NumberConstructor {
  type Object (line 4457) | interface Object {
  type ObjectConstructor (line 4471) | interface ObjectConstructor {
  type ReadonlyArray (line 4547) | interface ReadonlyArray<T> {
  type RegExp (line 4571) | interface RegExp {
  type RegExpConstructor (line 4599) | interface RegExpConstructor {
  type String (line 4604) | interface String {
  type StringConstructor (line 4706) | interface StringConstructor {
  type Map (line 4724) | interface Map<K, V> {
  type MapConstructor (line 4734) | interface MapConstructor {
  type ReadonlyMap (line 4741) | interface ReadonlyMap<K, V> {
  type WeakMap (line 4748) | interface WeakMap<K, V> {
  type WeakMapConstructor (line 4755) | interface WeakMapConstructor {
  type Set (line 4762) | interface Set<T> {
  type SetConstructor (line 4771) | interface SetConstructor {
  type ReadonlySet (line 4778) | interface ReadonlySet<T> {
  type WeakSet (line 4784) | interface WeakSet<T> {
  type WeakSetConstructor (line 4790) | interface WeakSetConstructor {
  type GeneratorFunction (line 4798) | interface GeneratorFunction extends Function { }
  type GeneratorFunctionConstructor (line 4800) | interface GeneratorFunctionConstructor {
  type SymbolConstructor (line 4814) | interface SymbolConstructor {
  type IteratorResult (line 4822) | interface IteratorResult<T> {
  type Iterator (line 4827) | interface Iterator<T> {
  type Iterable (line 4833) | interface Iterable<T> {
  type IterableIterator (line 4837) | interface IterableIterator<T> extends Iterator<T> {
  type Array (line 4841) | interface Array<T> {
  type ArrayConstructor (line 4861) | interface ArrayConstructor {
  type ReadonlyArray (line 4877) | interface ReadonlyArray<T> {
  type IArguments (line 4897) | interface IArguments {
  type Map (line 4902) | interface Map<K, V> {
  type MapConstructor (line 4909) | interface MapConstructor {
  type WeakMap (line 4913) | interface WeakMap<K, V> { }
  type WeakMapConstructor (line 4915) | interface WeakMapConstructor {
  type Set (line 4919) | interface Set<T> {
  type SetConstructor (line 4926) | interface SetConstructor {
  type WeakSet (line 4930) | interface WeakSet<T> { }
  type WeakSetConstructor (line 4932) | interface WeakSetConstructor {
  type Promise (line 4936) | interface Promise<T> { }
  type PromiseConstructor (line 4938) | interface PromiseConstructor {
  type String (line 4960) | interface String {
  type Int8Array (line 4969) | interface Int8Array {
  type Int8ArrayConstructor (line 4985) | interface Int8ArrayConstructor {
  type Uint8Array (line 5001) | interface Uint8Array {
  type Uint8ArrayConstructor (line 5017) | interface Uint8ArrayConstructor {
  type Uint8ClampedArray (line 5033) | interface Uint8ClampedArray {
  type Uint8ClampedArrayConstructor (line 5051) | interface Uint8ClampedArrayConstructor {
  type Int16Array (line 5068) | interface Int16Array {
  type Int16ArrayConstructor (line 5086) | interface Int16ArrayConstructor {
  type Uint16Array (line 5102) | interface Uint16Array {
  type Uint16ArrayConstructor (line 5118) | interface Uint16ArrayConstructor {
  type Int32Array (line 5134) | interface Int32Array {
  type Int32ArrayConstructor (line 5150) | interface Int32ArrayConstructor {
  type Uint32Array (line 5166) | interface Uint32Array {
  type Uint32ArrayConstructor (line 5182) | interface Uint32ArrayConstructor {
  type Float32Array (line 5198) | interface Float32Array {
  type Float32ArrayConstructor (line 5214) | interface Float32ArrayConstructor {
  type Float64Array (line 5230) | interface Float64Array {
  type Float64ArrayConstructor (line 5246) | interface Float64ArrayConstructor {
  type Promise (line 5261) | interface Promise<T> {
  type PromiseConstructor (line 5309) | interface PromiseConstructor {
  type ProxyHandler (line 5513) | interface ProxyHandler<T> {
  type ProxyConstructor (line 5530) | interface ProxyConstructor {
  type Symbol (line 5553) | interface Symbol {
  type SymbolConstructor (line 5561) | interface SymbolConstructor {
  type SymbolConstructor (line 5592) | interface SymbolConstructor {
  type Symbol (line 5654) | interface Symbol {
  type Array (line 5658) | interface Array<T> {
  type Date (line 5674) | interface Date {
  type Map (line 5698) | interface Map<K, V> {
  type WeakMap (line 5702) | interface WeakMap<K, V>{
  type Set (line 5706) | interface Set<T> {
  type WeakSet (line 5710) | interface WeakSet<T> {
  type JSON (line 5714) | interface JSON {
  type Function (line 5718) | interface Function {
  type GeneratorFunction (line 5729) | interface GeneratorFunction extends Function {
  type Math (line 5733) | interface Math {
  type Promise (line 5737) | interface Promise<T> {
  type PromiseConstructor (line 5741) | interface PromiseConstructor {
  type RegExp (line 5745) | interface RegExp {
  type RegExpConstructor (line 5793) | interface RegExpConstructor {
  type String (line 5797) | interface String {
  type ArrayBuffer (line 5838) | interface ArrayBuffer {
  type DataView (line 5842) | interface DataView {
  type Int8Array (line 5850) | interface Int8Array {
  type Uint8Array (line 5858) | interface Uint8Array {
  type Uint8ClampedArray (line 5866) | interface Uint8ClampedArray {
  type Int16Array (line 5874) | interface Int16Array {
  type Uint16Array (line 5882) | interface Uint16Array {
  type Int32Array (line 5890) | interface Int32Array {
  type Uint32Array (line 5898) | interface Uint32Array {
  type Float32Array (line 5906) | interface Float32Array {
  type Float64Array (line 5914) | interface Float64Array {
  type Algorithm (line 5923) | interface Algorithm {
  type AriaRequestEventInit (line 5927) | interface AriaRequestEventInit extends EventInit {
  type CommandEventInit (line 5932) | interface CommandEventInit extends EventInit {
  type CompositionEventInit (line 5937) | interface CompositionEventInit extends UIEventInit {
  type ConfirmSiteSpecificExceptionsInformation (line 5941) | interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInfo...
  type ConstrainBooleanParameters (line 5945) | interface ConstrainBooleanParameters {
  type ConstrainDOMStringParameters (line 5950) | interface ConstrainDOMStringParameters {
  type ConstrainDoubleRange (line 5955) | interface ConstrainDoubleRange extends DoubleRange {
  type ConstrainLongRange (line 5960) | interface ConstrainLongRange extends LongRange {
  type ConstrainVideoFacingModeParameters (line 5965) | interface ConstrainVideoFacingModeParameters {
  type CustomEventInit (line 5970) | interface CustomEventInit extends EventInit {
  type DeviceAccelerationDict (line 5974) | interface DeviceAccelerationDict {
  type DeviceLightEventInit (line 5980) | interface DeviceLightEventInit extends EventInit {
  type DeviceRotationRateDict (line 5984) | interface DeviceRotationRateDict {
  type DoubleRange (line 5990) | interface DoubleRange {
  type EventInit (line 5995) | interface EventInit {
  type EventModifierInit (line 6001) | interface EventModifierInit extends UIEventInit {
  type ExceptionInformation (line 6019) | interface ExceptionInformation {
  type FocusEventInit (line 6023) | interface FocusEventInit extends UIEventInit {
  type HashChangeEventInit (line 6027) | interface HashChangeEventInit extends EventInit {
  type IDBIndexParameters (line 6032) | interface IDBIndexParameters {
  type IDBObjectStoreParameters (line 6037) | interface IDBObjectStoreParameters {
  type KeyAlgorithm (line 6042) | interface KeyAlgorithm {
  type KeyboardEventInit (line 6046) | interface KeyboardEventInit extends EventModifierInit {
  type LongRange (line 6053) | interface LongRange {
  type MSAccountInfo (line 6058) | interface MSAccountInfo {
  type MSAudioLocalClientEvent (line 6066) | interface MSAudioLocalClientEvent extends MSLocalClientEventBase {
  type MSAudioRecvPayload (line 6085) | interface MSAudioRecvPayload extends MSPayloadBase {
  type MSAudioRecvSignal (line 6107) | interface MSAudioRecvSignal {
  type MSAudioSendPayload (line 6116) | interface MSAudioSendPayload extends MSPayloadBase {
  type MSAudioSendSignal (line 6123) | interface MSAudioSendSignal {
  type MSConnectivity (line 6129) | interface MSConnectivity {
  type MSCredentialFilter (line 6135) | interface MSCredentialFilter {
  type MSCredentialParameters (line 6139) | interface MSCredentialParameters {
  type MSCredentialSpec (line 6143) | interface MSCredentialSpec {
  type MSDelay (line 6148) | interface MSDelay {
  type MSDescription (line 6153) | interface MSDescription extends RTCStats {
  type MSFIDOCredentialParameters (line 6163) | interface MSFIDOCredentialParameters extends MSCredentialParameters {
  type MSIPAddressInfo (line 6168) | interface MSIPAddressInfo {
  type MSIceWarningFlags (line 6174) | interface MSIceWarningFlags {
  type MSJitter (line 6199) | interface MSJitter {
  type MSLocalClientEventBase (line 6205) | interface MSLocalClientEventBase extends RTCStats {
  type MSNetwork (line 6210) | interface MSNetwork extends RTCStats {
  type MSNetworkConnectivityInfo (line 6217) | interface MSNetworkConnectivityInfo {
  type MSNetworkInterfaceType (line 6223) | interface MSNetworkInterfaceType {
  type MSOutboundNetwork (line 6231) | interface MSOutboundNetwork extends MSNetwork {
  type MSPacketLoss (line 6235) | interface MSPacketLoss {
  type MSPayloadBase (line 6240) | interface MSPayloadBase extends RTCStats {
  type MSRelayAddress (line 6244) | interface MSRelayAddress {
  type MSSignatureParameters (line 6249) | interface MSSignatureParameters {
  type MSTransportDiagnosticsStats (line 6253) | interface MSTransportDiagnosticsStats extends RTCStats {
  type MSUtilization (line 6284) | interface MSUtilization {
  type MSVideoPayload (line 6293) | interface MSVideoPayload extends MSPayloadBase {
  type MSVideoRecvPayload (line 6302) | interface MSVideoRecvPayload extends MSVideoPayload {
  type MSVideoResolutionDistribution (line 6327) | interface MSVideoResolutionDistribution {
  type MSVideoSendPayload (line 6336) | interface MSVideoSendPayload extends MSVideoPayload {
  type MediaEncryptedEventInit (line 6345) | interface MediaEncryptedEventInit extends EventInit {
  type MediaKeyMessageEventInit (line 6350) | interface MediaKeyMessageEventInit extends EventInit {
  type MediaKeySystemConfiguration (line 6355) | interface MediaKeySystemConfiguration {
  type MediaKeySystemMediaCapability (line 6363) | interface MediaKeySystemMediaCapability {
  type MediaStreamConstraints (line 6368) | interface MediaStreamConstraints {
  type MediaStreamErrorEventInit (line 6373) | interface MediaStreamErrorEventInit extends EventInit {
  type MediaStreamTrackEventInit (line 6377) | interface MediaStreamTrackEventInit extends EventInit {
  type MediaTrackCapabilities (line 6381) | interface MediaTrackCapabilities {
  type MediaTrackConstraintSet (line 6395) | interface MediaTrackConstraintSet {
  type MediaTrackConstraints (line 6409) | interface MediaTrackConstraints extends MediaTrackConstraintSet {
  type MediaTrackSettings (line 6413) | interface MediaTrackSettings {
  type MediaTrackSupportedConstraints (line 6427) | interface MediaTrackSupportedConstraints {
  type MouseEventInit (line 6441) | interface MouseEventInit extends EventModifierInit {
  type MsZoomToOptions (line 6451) | interface MsZoomToOptions {
  type MutationObserverInit (line 6460) | interface MutationObserverInit {
  type ObjectURLOptions (line 6470) | interface ObjectURLOptions {
  type PeriodicWaveConstraints (line 6474) | interface PeriodicWaveConstraints {
  type PointerEventInit (line 6478) | interface PointerEventInit extends MouseEventInit {
  type PositionOptions (line 6489) | interface PositionOptions {
  type RTCDTMFToneChangeEventInit (line 6495) | interface RTCDTMFToneChangeEventInit extends EventInit {
  type RTCDtlsFingerprint (line 6499) | interface RTCDtlsFingerprint {
  type RTCDtlsParameters (line 6504) | interface RTCDtlsParameters {
  type RTCIceCandidate (line 6509) | interface RTCIceCandidate {
  type RTCIceCandidateAttributes (line 6521) | interface RTCIceCandidateAttributes extends RTCStats {
  type RTCIceCandidateComplete (line 6530) | interface RTCIceCandidateComplete {
  type RTCIceCandidatePair (line 6533) | interface RTCIceCandidatePair {
  type RTCIceCandidatePairStats (line 6538) | interface RTCIceCandidatePairStats extends RTCStats {
  type RTCIceGatherOptions (line 6554) | interface RTCIceGatherOptions {
  type RTCIceParameters (line 6559) | interface RTCIceParameters {
  type RTCIceServer (line 6564) | interface RTCIceServer {
  type RTCInboundRTPStreamStats (line 6570) | interface RTCInboundRTPStreamStats extends RTCRTPStreamStats {
  type RTCMediaStreamTrackStats (line 6578) | interface RTCMediaStreamTrackStats extends RTCStats {
  type RTCOutboundRTPStreamStats (line 6595) | interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats {
  type RTCRTPStreamStats (line 6602) | interface RTCRTPStreamStats extends RTCStats {
  type RTCRtcpFeedback (line 6615) | interface RTCRtcpFeedback {
  type RTCRtcpParameters (line 6620) | interface RTCRtcpParameters {
  type RTCRtpCapabilities (line 6627) | interface RTCRtpCapabilities {
  type RTCRtpCodecCapability (line 6633) | interface RTCRtpCodecCapability {
  type RTCRtpCodecParameters (line 6648) | interface RTCRtpCodecParameters {
  type RTCRtpContributingSource (line 6658) | interface RTCRtpContributingSource {
  type RTCRtpEncodingParameters (line 6664) | interface RTCRtpEncodingParameters {
  type RTCRtpFecParameters (line 6681) | interface RTCRtpFecParameters {
  type RTCRtpHeaderExtension (line 6686) | interface RTCRtpHeaderExtension {
  type RTCRtpHeaderExtensionParameters (line 6693) | interface RTCRtpHeaderExtensionParameters {
  type RTCRtpParameters (line 6699) | interface RTCRtpParameters {
  type RTCRtpRtxParameters (line 6707) | interface RTCRtpRtxParameters {
  type RTCRtpUnhandled (line 6711) | interface RTCRtpUnhandled {
  type RTCSrtpKeyParam (line 6717) | interface RTCSrtpKeyParam {
  type RTCSrtpSdesParameters (line 6725) | interface RTCSrtpSdesParameters {
  type RTCSsrcRange (line 6732) | interface RTCSsrcRange {
  type RTCStats (line 6737) | interface RTCStats {
  type RTCStatsReport (line 6744) | interface RTCStatsReport {
  type RTCTransportStats (line 6747) | interface RTCTransportStats extends RTCStats {
  type StoreExceptionsInformation (line 6757) | interface StoreExceptionsInformation extends ExceptionInformation {
  type StoreSiteSpecificExceptionsInformation (line 6763) | interface StoreSiteSpecificExceptionsInformation extends StoreExceptions...
  type UIEventInit (line 6767) | interface UIEventInit extends EventInit {
  type WebGLContextAttributes (line 6772) | interface WebGLContextAttributes {
  type WebGLContextEventInit (line 6782) | interface WebGLContextEventInit extends EventInit {
  type WheelEventInit (line 6786) | interface WheelEventInit extends MouseEventInit {
  type EventListener (line 6793) | interface EventListener {
  type ANGLE_instanced_arrays (line 6797) | interface ANGLE_instanced_arrays {
  type AnalyserNode (line 6810) | interface AnalyserNode extends AudioNode {
  type AnimationEvent (line 6827) | interface AnimationEvent extends Event {
  type ApplicationCacheEventMap (line 6838) | interface ApplicationCacheEventMap {
  type ApplicationCache (line 6849) | interface ApplicationCache extends EventTarget {
  type AriaRequestEvent (line 6883) | interface AriaRequestEvent extends Event {
  type Attr (line 6893) | interface Attr extends Node {
  type AudioBuffer (line 6906) | interface AudioBuffer {
  type AudioBufferSourceNodeEventMap (line 6921) | interface AudioBufferSourceNodeEventMap {
  type AudioBufferSourceNode (line 6925) | interface AudioBufferSourceNode extends AudioNode {
  type AudioContext (line 6944) | interface AudioContext extends EventTarget {
  type AudioDestinationNode (line 6976) | interface AudioDestinationNode extends AudioNode {
  type AudioListener (line 6985) | interface AudioListener {
  type AudioNode (line 6998) | interface AudioNode extends EventTarget {
  type AudioParam (line 7016) | interface AudioParam {
  type AudioProcessingEvent (line 7032) | interface AudioProcessingEvent extends Event {
  type AudioTrack (line 7043) | interface AudioTrack {
  type AudioTrackListEventMap (line 7057) | interface AudioTrackListEventMap {
  type AudioTrackList (line 7063) | interface AudioTrackList extends EventTarget {
  type BarProp (line 7080) | interface BarProp {
  type BeforeUnloadEvent (line 7089) | interface BeforeUnloadEvent extends Event {
  type BiquadFilterNode (line 7098) | interface BiquadFilterNode extends AudioNode {
  type Blob (line 7112) | interface Blob {
  type CDATASection (line 7125) | interface CDATASection extends Text {
  type CSS (line 7133) | interface CSS {
  type CSSConditionRule (line 7138) | interface CSSConditionRule extends CSSGroupingRule {
  type CSSFontFaceRule (line 7147) | interface CSSFontFaceRule extends CSSRule {
  type CSSGroupingRule (line 7156) | interface CSSGroupingRule extends CSSRule {
  type CSSImportRule (line 7167) | interface CSSImportRule extends CSSRule {
  type CSSKeyframeRule (line 7178) | interface CSSKeyframeRule extends CSSRule {
  type CSSKeyframesRule (line 7188) | interface CSSKeyframesRule extends CSSRule {
  type CSSMediaRule (line 7201) | interface CSSMediaRule extends CSSConditionRule {
  type CSSNamespaceRule (line 7210) | interface CSSNamespaceRule extends CSSRule {
  type CSSPageRule (line 7220) | interface CSSPageRule extends CSSRule {
  type CSSRule (line 7232) | interface CSSRule {
  type CSSRuleList (line 7268) | interface CSSRuleList {
  type CSSStyleDeclaration (line 7279) | interface CSSStyleDeclaration {
  type CSSStyleRule (line 7626) | interface CSSStyleRule extends CSSRule {
  type CSSStyleSheet (line 7637) | interface CSSStyleSheet extends StyleSheet {
  type CSSSupportsRule (line 7664) | interface CSSSupportsRule extends CSSConditionRule {
  type CanvasGradient (line 7672) | interface CanvasGradient {
  type CanvasPattern (line 7681) | interface CanvasPattern {
  type CanvasRenderingContext2D (line 7690) | interface CanvasRenderingContext2D extends Object, CanvasPathMethods {
  type ChannelMergerNode (line 7747) | interface ChannelMergerNode extends AudioNode {
  type ChannelSplitterNode (line 7755) | interface ChannelSplitterNode extends AudioNode {
  type CharacterData (line 7763) | interface CharacterData extends Node, ChildNode {
  type ClientRect (line 7778) | interface ClientRect {
  type ClientRectList (line 7792) | interface ClientRectList {
  type ClipboardEvent (line 7803) | interface ClipboardEvent extends Event {
  type CloseEvent (line 7812) | interface CloseEvent extends Event {
  type CommandEvent (line 7824) | interface CommandEvent extends Event {
  type Comment (line 7834) | interface Comment extends CharacterData {
  type CompositionEvent (line 7843) | interface CompositionEvent extends UIEvent {
  type Console (line 7854) | interface Console {
  type ConvolverNode (line 7884) | interface ConvolverNode extends AudioNode {
  type Coordinates (line 7894) | interface Coordinates {
  type Crypto (line 7909) | interface Crypto extends Object, RandomSource {
  type CryptoKey (line 7918) | interface CryptoKey {
  type CryptoKeyPair (line 7930) | interface CryptoKeyPair {
  type CustomEvent (line 7940) | interface CustomEvent extends Event {
  type DOMError (line 7950) | interface DOMError {
  type DOMException (line 7960) | interface DOMException {
  type DOMImplementation (line 8026) | interface DOMImplementation {
  type DOMParser (line 8038) | interface DOMParser {
  type DOMSettableTokenList (line 8047) | interface DOMSettableTokenList extends DOMTokenList {
  type DOMStringList (line 8056) | interface DOMStringList {
  type DOMStringMap (line 8068) | interface DOMStringMap {
  type DOMTokenList (line 8077) | interface DOMTokenList {
  type DataCue (line 8093) | interface DataCue extends TextTrackCue {
  type DataTransfer (line 8104) | interface DataTransfer {
  type DataTransferItem (line 8120) | interface DataTransferItem {
  type DataTransferItemList (line 8132) | interface DataTransferItemList {
  type DeferredPermissionRequest (line 8146) | interface DeferredPermissionRequest {
  type DelayNode (line 8159) | interface DelayNode extends AudioNode {
  type DeviceAcceleration (line 8168) | interface DeviceAcceleration {
  type DeviceLightEvent (line 8179) | interface DeviceLightEvent extends Event {
  type DeviceMotionEvent (line 8188) | interface DeviceMotionEvent extends Event {
  type DeviceOrientationEvent (line 8201) | interface DeviceOrientationEvent extends Event {
  type DeviceRotationRate (line 8214) | interface DeviceRotationRate {
  type DocumentEventMap (line 8225) | interface DocumentEventMap extends GlobalEventHandlersEventMap {
  type Document (line 8316) | interface Document extends Node, GlobalEventHandlers, NodeSelector, Docu...
  type DocumentFragment (line 9029) | interface DocumentFragment extends Node, NodeSelector, ParentNode {
  type DocumentType (line 9037) | interface DocumentType extends Node, ChildNode {
  type DragEvent (line 9051) | interface DragEvent extends MouseEvent {
  type DynamicsCompressorNode (line 9062) | interface DynamicsCompressorNode extends AudioNode {
  type EXT_frag_depth (line 9076) | interface EXT_frag_depth {
  type EXT_texture_filter_anisotropic (line 9084) | interface EXT_texture_filter_anisotropic {
  type ElementEventMap (line 9096) | interface ElementEventMap extends GlobalEventHandlersEventMap {
  type Element (line 9126) | interface Element extends Node, GlobalEventHandlers, ElementTraversal, N...
  type ErrorEvent (line 9229) | interface ErrorEvent extends Event {
  type Event (line 9243) | interface Event {
  type EventTarget (line 9275) | interface EventTarget {
  type External (line 9286) | interface External {
  type File (line 9294) | interface File extends Blob {
  type FileList (line 9305) | interface FileList {
  type FileReader (line 9316) | interface FileReader extends EventTarget, MSBaseReader {
  type FocusEvent (line 9331) | interface FocusEvent extends UIEvent {
  type FormData (line 9341) | interface FormData {
  type GainNode (line 9350) | interface GainNode extends AudioNode {
  type Gamepad (line 9359) | interface Gamepad {
  type GamepadButton (line 9374) | interface GamepadButton {
  type GamepadEvent (line 9384) | interface GamepadEvent extends Event {
  type Geolocation (line 9393) | interface Geolocation {
  type HTMLAllCollection (line 9404) | interface HTMLAllCollection extends HTMLCollection {
  type HTMLAnchorElement (line 9413) | interface HTMLAnchorElement extends HTMLElement {
  type HTMLAppletElement (line 9502) | interface HTMLAppletElement extends HTMLElement {
  type HTMLAreaElement (line 9576) | interface HTMLAreaElement extends HTMLElement {
  type HTMLAreasCollection (line 9644) | interface HTMLAreasCollection extends HTMLCollection {
  type HTMLAudioElement (line 9660) | interface HTMLAudioElement extends HTMLMediaElement {
  type HTMLBRElement (line 9670) | interface HTMLBRElement extends HTMLElement {
  type HTMLBaseElement (line 9684) | interface HTMLBaseElement extends HTMLElement {
  type HTMLBaseFontElement (line 9702) | interface HTMLBaseFontElement extends HTMLElement, DOML2DeprecatedColorP...
  type HTMLBodyElementEventMap (line 9720) | interface HTMLBodyElementEventMap extends HTMLElementEventMap {
  type HTMLBodyElement (line 9741) | interface HTMLBodyElement extends HTMLElement {
  type HTMLButtonElement (line 9777) | interface HTMLButtonElement extends HTMLElement {
  type HTMLCanvasElement (line 9850) | interface HTMLCanvasElement extends HTMLElement {
  type HTMLCollection (line 9885) | interface HTMLCollection {
  type HTMLDListElement (line 9906) | interface HTMLDListElement extends HTMLElement {
  type HTMLDataListElement (line 9917) | interface HTMLDataListElement extends HTMLElement {
  type HTMLDirectoryElement (line 9928) | interface HTMLDirectoryElement extends HTMLElement {
  type HTMLDivElement (line 9939) | interface HTMLDivElement extends HTMLElement {
  type HTMLDocument (line 9957) | interface HTMLDocument extends Document {
  type HTMLElementEventMap (line 9967) | interface HTMLElementEventMap extends ElementEventMap {
  type HTMLElement (line 10037) | interface HTMLElement extends Element {
  type HTMLEmbedElement (line 10143) | interface HTMLEmbedElement extends HTMLElement, GetSVGDocument {
  type HTMLFieldSetElement (line 10199) | interface HTMLFieldSetElement extends HTMLElement {
  type HTMLFontElement (line 10239) | interface HTMLFontElement extends HTMLElement, DOML2DeprecatedColorPrope...
  type HTMLFormElement (line 10253) | interface HTMLFormElement extends HTMLElement {
  type HTMLFrameElementEventMap (line 10330) | interface HTMLFrameElementEventMap extends HTMLElementEventMap {
  type HTMLFrameElement (line 10334) | interface HTMLFrameElement extends HTMLElement, GetSVGDocument {
  type HTMLFrameSetElementEventMap (line 10408) | interface HTMLFrameSetElementEventMap extends HTMLElementEventMap {
  type HTMLFrameSetElement (line 10427) | interface HTMLFrameSetElement extends HTMLElement {
  type HTMLHRElement (line 10482) | interface HTMLHRElement extends HTMLElement, DOML2DeprecatedColorPropert...
  type HTMLHeadElement (line 10504) | interface HTMLHeadElement extends HTMLElement {
  type HTMLHeadingElement (line 10515) | interface HTMLHeadingElement extends HTMLElement {
  type HTMLHtmlElement (line 10529) | interface HTMLHtmlElement extends HTMLElement {
  type HTMLIFrameElementEventMap (line 10543) | interface HTMLIFrameElementEventMap extends HTMLElementEventMap {
  type HTMLIFrameElement (line 10547) | interface HTMLIFrameElement extends HTMLElement, GetSVGDocument {
  type HTMLImageElement (line 10631) | interface HTMLImageElement extends HTMLElement {
  type HTMLInputElement (line 10723) | interface HTMLInputElement extends HTMLElement {
  type HTMLLIElement (line 10935) | interface HTMLLIElement extends HTMLElement {
  type HTMLLabelElement (line 10950) | interface HTMLLabelElement extends HTMLElement {
  type HTMLLegendElement (line 10968) | interface HTMLLegendElement extends HTMLElement {
  type HTMLLinkElement (line 10986) | interface HTMLLinkElement extends HTMLElement, LinkStyle {
  type HTMLMapElement (line 11031) | interface HTMLMapElement extends HTMLElement {
  type HTMLMarqueeElementEventMap (line 11049) | interface HTMLMarqueeElementEventMap extends HTMLElementEventMap {
  type HTMLMarqueeElement (line 11055) | interface HTMLMarqueeElement extends HTMLElement {
  type HTMLMediaElementEventMap (line 11081) | interface HTMLMediaElementEventMap extends HTMLElementEventMap {
  type HTMLMediaElement (line 11086) | interface HTMLMediaElement extends HTMLElement {
  type HTMLMenuElement (line 11272) | interface HTMLMenuElement extends HTMLElement {
  type HTMLMetaElement (line 11284) | interface HTMLMetaElement extends HTMLElement {
  type HTMLMeterElement (line 11318) | interface HTMLMeterElement extends HTMLElement {
  type HTMLModElement (line 11334) | interface HTMLModElement extends HTMLElement {
  type HTMLOListElement (line 11352) | interface HTMLOListElement extends HTMLElement {
  type HTMLObjectElement (line 11368) | interface HTMLObjectElement extends HTMLElement, GetSVGDocument {
  type HTMLOptGroupElement (line 11489) | interface HTMLOptGroupElement extends HTMLElement {
  type HTMLOptionElement (line 11528) | interface HTMLOptionElement extends HTMLElement {
  type HTMLOptionsCollection (line 11568) | interface HTMLOptionsCollection extends HTMLCollectionOf<HTMLOptionEleme...
  type HTMLParagraphElement (line 11580) | interface HTMLParagraphElement extends HTMLElement {
  type HTMLParamElement (line 11595) | interface HTMLParamElement extends HTMLElement {
  type HTMLPictureElement (line 11621) | interface HTMLPictureElement extends HTMLElement {
  type HTMLPreElement (line 11631) | interface HTMLPreElement extends HTMLElement {
  type HTMLProgressElement (line 11645) | interface HTMLProgressElement extends HTMLElement {
  type HTMLQuoteElement (line 11671) | interface HTMLQuoteElement extends HTMLElement {
  type HTMLScriptElement (line 11685) | interface HTMLScriptElement extends HTMLElement {
  type HTMLSelectElement (line 11725) | interface HTMLSelectElement extends HTMLElement {
  type HTMLSourceElement (line 11822) | interface HTMLSourceElement extends HTMLElement {
  type HTMLSpanElement (line 11847) | interface HTMLSpanElement extends HTMLElement {
  type HTMLStyleElement (line 11857) | interface HTMLStyleElement extends HTMLElement, LinkStyle {
  type HTMLTableCaptionElement (line 11876) | interface HTMLTableCaptionElement extends HTMLElement {
  type HTMLTableCellElement (line 11894) | interface HTMLTableCellElement extends HTMLElement, HTMLTableAlignment {
  type HTMLTableColElement (line 11949) | interface HTMLTableColElement extends HTMLElement, HTMLTableAlignment {
  type HTMLTableDataCellElement (line 11971) | interface HTMLTableDataCellElement extends HTMLTableCellElement {
  type HTMLTableElement (line 11979) | interface HTMLTableElement extends HTMLElement {
  type HTMLTableHeaderCellElement (line 12092) | interface HTMLTableHeaderCellElement extends HTMLTableCellElement {
  type HTMLTableRowElement (line 12104) | interface HTMLTableRowElement extends HTMLElement, HTMLTableAlignment {
  type HTMLTableSectionElement (line 12145) | interface HTMLTableSectionElement extends HTMLElement, HTMLTableAlignment {
  type HTMLTemplateElement (line 12173) | interface HTMLTemplateElement extends HTMLElement {
  type HTMLTextAreaElement (line 12184) | interface HTMLTextAreaElement extends HTMLElement {
  type HTMLTitleElement (line 12291) | interface HTMLTitleElement extends HTMLElement {
  type HTMLTrackElement (line 12305) | interface HTMLTrackElement extends HTMLElement {
  type HTMLUListElement (line 12330) | interface HTMLUListElement extends HTMLElement {
  type HTMLUnknownElement (line 12342) | interface HTMLUnknownElement extends HTMLElement {
  type HTMLVideoElementEventMap (line 12352) | interface HTMLVideoElementEventMap extends HTMLMediaElementEventMap {
  type HTMLVideoElement (line 12358) | interface HTMLVideoElement extends HTMLMediaElement {
  type HashChangeEvent (line 12407) | interface HashChangeEvent extends Event {
  type History (line 12417) | interface History {
  type IDBCursor (line 12433) | interface IDBCursor {
  type IDBCursorWithValue (line 12457) | interface IDBCursorWithValue extends IDBCursor {
  type IDBDatabaseEventMap (line 12466) | interface IDBDatabaseEventMap {
  type IDBDatabase (line 12471) | interface IDBDatabase extends EventTarget {
  type IDBFactory (line 12492) | interface IDBFactory {
  type IDBIndex (line 12503) | interface IDBIndex {
  type IDBKeyRange (line 12521) | interface IDBKeyRange {
  type IDBObjectStore (line 12537) | interface IDBObjectStore {
  type IDBOpenDBRequestEventMap (line 12560) | interface IDBOpenDBRequestEventMap extends IDBRequestEventMap {
  type IDBOpenDBRequest (line 12565) | interface IDBOpenDBRequest extends IDBRequest {
  type IDBRequestEventMap (line 12577) | interface IDBRequestEventMap {
  type IDBRequest (line 12582) | interface IDBRequest extends EventTarget {
  type IDBTransactionEventMap (line 12599) | interface IDBTransactionEventMap {
  type IDBTransaction (line 12605) | interface IDBTransaction extends EventTarget {
  type IDBVersionChangeEvent (line 12629) | interface IDBVersionChangeEvent extends Event {
  type ImageData (line 12639) | interface ImageData {
  type KeyboardEvent (line 12651) | interface KeyboardEvent extends UIEvent {
  type ListeningStateChangedEvent (line 12686) | interface ListeningStateChangedEvent extends Event {
  type Location (line 12696) | interface Location {
  type LongRunningScriptDetectedEvent (line 12717) | interface LongRunningScriptDetectedEvent extends Event {
  type MSApp (line 12727) | interface MSApp {
  type MSAppAsyncOperationEventMap (line 12750) | interface MSAppAsyncOperationEventMap {
  type MSAppAsyncOperation (line 12755) | interface MSAppAsyncOperation extends EventTarget {
  type MSAssertion (line 12777) | interface MSAssertion {
  type MSBlobBuilder (line 12787) | interface MSBlobBuilder {
  type MSCredentials (line 12797) | interface MSCredentials {
  type MSFIDOCredentialAssertion (line 12807) | interface MSFIDOCredentialAssertion extends MSAssertion {
  type MSFIDOSignature (line 12819) | interface MSFIDOSignature {
  type MSFIDOSignatureAssertion (line 12830) | interface MSFIDOSignatureAssertion extends MSAssertion {
  type MSGesture (line 12839) | interface MSGesture {
  type MSGestureEvent (line 12850) | interface MSGestureEvent extends UIEvent {
  type MSGraphicsTrust (line 12886) | interface MSGraphicsTrust {
  type MSHTMLWebViewElement (line 12896) | interface MSHTMLWebViewElement extends HTMLElement {
  type MSInputMethodContextEventMap (line 12929) | interface MSInputMethodContextEventMap {
  type MSInputMethodContext (line 12935) | interface MSInputMethodContext extends EventTarget {
  type MSManipulationEvent (line 12955) | interface MSManipulationEvent extends UIEvent {
  type MSMediaKeyError (line 12984) | interface MSMediaKeyError {
  type MSMediaKeyMessageEvent (line 13006) | interface MSMediaKeyMessageEvent extends Event {
  type MSMediaKeyNeededEvent (line 13016) | interface MSMediaKeyNeededEvent extends Event {
  type MSMediaKeySession (line 13025) | interface MSMediaKeySession extends EventTarget {
  type MSMediaKeys (line 13038) | interface MSMediaKeys {
  type MSPointerEvent (line 13050) | interface MSPointerEvent extends MouseEvent {
  type MSRangeCollection (line 13073) | interface MSRangeCollection {
  type MSSiteModeEvent (line 13084) | interface MSSiteModeEvent extends Event {
  type MSStream (line 13094) | interface MSStream {
  type MSStreamReader (line 13105) | interface MSStreamReader extends EventTarget, MSBaseReader {
  type MSWebViewAsyncOperationEventMap (line 13121) | interface MSWebViewAsyncOperationEventMap {
  type MSWebViewAsyncOperation (line 13126) | interface MSWebViewAsyncOperation extends EventTarget {
  type MSWebViewSettings (line 13156) | interface MSWebViewSettings {
  type MediaDeviceInfo (line 13166) | interface MediaDeviceInfo {
  type MediaDevicesEventMap (line 13178) | interface MediaDevicesEventMap {
  type MediaDevices (line 13182) | interface MediaDevices extends EventTarget {
  type MediaElementAudioSourceNode (line 13196) | interface MediaElementAudioSourceNode extends AudioNode {
  type MediaEncryptedEvent (line 13204) | interface MediaEncryptedEvent extends Event {
  type MediaError (line 13214) | interface MediaError {
  type MediaKeyMessageEvent (line 13234) | interface MediaKeyMessageEvent extends Event {
  type MediaKeySession (line 13244) | interface MediaKeySession extends EventTarget {
  type MediaKeyStatusMap (line 13261) | interface MediaKeyStatusMap {
  type MediaKeySystemAccess (line 13273) | interface MediaKeySystemAccess {
  type MediaKeys (line 13284) | interface MediaKeys {
  type MediaList (line 13294) | interface MediaList {
  type MediaQueryList (line 13309) | interface MediaQueryList {
  type MediaSource (line 13321) | interface MediaSource extends EventTarget {
  type MediaStreamEventMap (line 13337) | interface MediaStreamEventMap {
  type MediaStream (line 13344) | interface MediaStream extends EventTarget {
  type MediaStreamAudioSourceNode (line 13368) | interface MediaStreamAudioSourceNode extends AudioNode {
  type MediaStreamError (line 13376) | interface MediaStreamError {
  type MediaStreamErrorEvent (line 13387) | interface MediaStreamErrorEvent extends Event {
  type MediaStreamTrackEventMap (line 13396) | interface MediaStreamTrackEventMap {
  type MediaStreamTrack (line 13403) | interface MediaStreamTrack extends EventTarget {
  type MediaStreamTrackEvent (line 13431) | interface MediaStreamTrackEvent extends Event {
  type MessageChannel (line 13440) | interface MessageChannel {
  type MessageEvent (line 13450) | interface MessageEvent extends Event {
  type MessagePortEventMap (line 13463) | interface MessagePortEventMap {
  type MessagePort (line 13467) | interface MessagePort extends EventTarget {
  type MimeType (line 13481) | interface MimeType {
  type MimeTypeArray (line 13493) | interface MimeTypeArray {
  type MouseEvent (line 13505) | interface MouseEvent extends UIEvent {
  type MutationEvent (line 13539) | interface MutationEvent extends Event {
  type MutationObserver (line 13559) | interface MutationObserver {
  type MutationRecord (line 13570) | interface MutationRecord {
  type NamedNodeMap (line 13587) | interface NamedNodeMap {
  type NavigationCompletedEvent (line 13604) | interface NavigationCompletedEvent extends NavigationEvent {
  type NavigationEvent (line 13614) | interface NavigationEvent extends Event {
  type NavigationEventWithReferrer (line 13623) | interface NavigationEventWithReferrer extends NavigationEvent {
  type Navigator (line 13632) | interface Navigator extends Object, NavigatorID, NavigatorOnLine, Naviga...
  type Node (line 13657) | interface Node extends EventTarget {
  type NodeFilter (line 13732) | interface NodeFilter {
  type NodeIterator (line 13755) | interface NodeIterator {
  type NodeList (line 13770) | interface NodeList {
  type OES_element_index_uint (line 13781) | interface OES_element_index_uint {
  type OES_standard_derivatives (line 13789) | interface OES_standard_derivatives {
  type OES_texture_float (line 13799) | interface OES_texture_float {
  type OES_texture_float_linear (line 13807) | interface OES_texture_float_linear {
  type OfflineAudioCompletionEvent (line 13815) | interface OfflineAudioCompletionEvent extends Event {
  type OfflineAudioContextEventMap (line 13824) | interface OfflineAudioContextEventMap {
  type OfflineAudioContext (line 13828) | interface OfflineAudioContext extends AudioContext {
  type OscillatorNodeEventMap (line 13840) | interface OscillatorNodeEventMap {
  type OscillatorNode (line 13844) | interface OscillatorNode extends AudioNode {
  type OverflowEvent (line 13861) | interface OverflowEvent extends UIEvent {
  type PageTransitionEvent (line 13878) | interface PageTransitionEvent extends Event {
  type PannerNode (line 13887) | interface PannerNode extends AudioNode {
  type PerfWidgetExternal (line 13906) | interface PerfWidgetExternal {
  type Performance (line 13935) | interface Performance {
  type PerformanceEntry (line 13958) | interface PerformanceEntry {
  type PerformanceMark (line 13970) | interface PerformanceMark extends PerformanceEntry {
  type PerformanceMeasure (line 13978) | interface PerformanceMeasure extends PerformanceEntry {
  type PerformanceNavigation (line 13986) | interface PerformanceNavigation {
  type PerformanceNavigationTiming (line 14005) | interface PerformanceNavigationTiming extends PerformanceEntry {
  type PerformanceResourceTiming (line 14035) | interface PerformanceResourceTiming extends PerformanceEntry {
  type PerformanceTiming (line 14054) | interface PerformanceTiming {
  type PeriodicWave (line 14085) | interface PeriodicWave {
  type PermissionRequest (line 14093) | interface PermissionRequest extends DeferredPermissionRequest {
  type PermissionRequestedEvent (line 14103) | interface PermissionRequestedEvent extends Event {
  type Plugin (line 14112) | interface Plugin {
  type PluginArray (line 14128) | interface PluginArray {
  type PointerEvent (line 14141) | interface PointerEvent extends MouseEvent {
  type PopStateEvent (line 14164) | interface PopStateEvent extends Event {
  type Position (line 14174) | interface Position {
  type PositionError (line 14184) | interface PositionError {
  type ProcessingInstruction (line 14201) | interface ProcessingInstruction extends CharacterData {
  type ProgressEvent (line 14210) | interface ProgressEvent extends Event {
  type RTCDTMFToneChangeEvent (line 14222) | interface RTCDTMFToneChangeEvent extends Event {
  type RTCDtlsTransportEventMap (line 14231) | interface RTCDtlsTransportEventMap {
  type RTCDtlsTransport (line 14236) | interface RTCDtlsTransport extends RTCStatsProvider {
  type RTCDtlsTransportStateChangedEvent (line 14255) | interface RTCDtlsTransportStateChangedEvent extends Event {
  type RTCDtmfSenderEventMap (line 14264) | interface RTCDtmfSenderEventMap {
  type RTCDtmfSender (line 14268) | interface RTCDtmfSender extends EventTarget {
  type RTCIceCandidatePairChangedEvent (line 14285) | interface RTCIceCandidatePairChangedEvent extends Event {
  type RTCIceGathererEventMap (line 14294) | interface RTCIceGathererEventMap {
  type RTCIceGatherer (line 14299) | interface RTCIceGatherer extends RTCStatsProvider {
  type RTCIceGathererEvent (line 14315) | interface RTCIceGathererEvent extends Event {
  type RTCIceTransportEventMap (line 14324) | interface RTCIceTransportEventMap {
  type RTCIceTransport (line 14329) | interface RTCIceTransport extends RTCStatsProvider {
  type RTCIceTransportStateChangedEvent (line 14353) | interface RTCIceTransportStateChangedEvent extends Event {
  type RTCRtpReceiverEventMap (line 14362) | interface RTCRtpReceiverEventMap {
  type RTCRtpReceiver (line 14366) | interface RTCRtpReceiver extends RTCStatsProvider {
  type RTCRtpSenderEventMap (line 14386) | interface RTCRtpSenderEventMap {
  type RTCRtpSender (line 14391) | interface RTCRtpSender extends RTCStatsProvider {
  type RTCSrtpSdesTransportEventMap (line 14411) | interface RTCSrtpSdesTransportEventMap {
  type RTCSrtpSdesTransport (line 14415) | interface RTCSrtpSdesTransport extends EventTarget {
  type RTCSsrcConflictEvent (line 14428) | interface RTCSsrcConflictEvent extends Event {
  type RTCStatsProvider (line 14437) | interface RTCStatsProvider extends EventTarget {
  type Range (line 14447) | interface Range {
  type SVGAElement (line 14491) | interface SVGAElement extends SVGElement, SVGStylable, SVGTransformable,...
  type SVGAngle (line 14502) | interface SVGAngle {
  type SVGAnimatedAngle (line 14526) | interface SVGAnimatedAngle {
  type SVGAnimatedBoolean (line 14536) | interface SVGAnimatedBoolean {
  type SVGAnimatedEnumeration (line 14546) | interface SVGAnimatedEnumeration {
  type SVGAnimatedInteger (line 14556) | interface SVGAnimatedInteger {
  type SVGAnimatedLength (line 14566) | interface SVGAnimatedLength {
  type SVGAnimatedLengthList (line 14576) | interface SVGAnimatedLengthList {
  type SVGAnimatedNumber (line 14586) | interface SVGAnimatedNumber {
  type SVGAnimatedNumberList (line 14596) | interface SVGAnimatedNumberList {
  type SVGAnimatedPreserveAspectRatio (line 14606) | interface SVGAnimatedPreserveAspectRatio {
  type SVGAnimatedRect (line 14616) | interface SVGAnimatedRect {
  type SVGAnimatedString (line 14626) | interface SVGAnimatedString {
  type SVGAnimatedTransformList (line 14636) | interface SVGAnimatedTransformList {
  type SVGCircleElement (line 14646) | interface SVGCircleElement extends SVGElement, SVGStylable, SVGTransform...
  type SVGClipPathElement (line 14659) | interface SVGClipPathElement extends SVGElement, SVGStylable, SVGTransfo...
  type SVGComponentTransferFunctionElement (line 14670) | interface SVGComponentTransferFunctionElement extends SVGElement {
  type SVGDefsElement (line 14699) | interface SVGDefsElement extends SVGElement, SVGStylable, SVGTransformab...
  type SVGDescElement (line 14709) | interface SVGDescElement extends SVGElement, SVGStylable, SVGLangSpace {
  type SVGElementEventMap (line 14719) | interface SVGElementEventMap extends ElementEventMap {
  type SVGElement (line 14732) | interface SVGElement extends Element {
  type SVGElementInstance (line 14756) | interface SVGElementInstance extends EventTarget {
  type SVGElementInstanceList (line 14772) | interface SVGElementInstanceList {
  type SVGEllipseElement (line 14782) | interface SVGEllipseElement extends SVGElement, SVGStylable, SVGTransfor...
  type SVGFEBlendElement (line 14796) | interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStanda...
  type SVGFEColorMatrixElement (line 14843) | interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitive...
  type SVGFEComponentTransferElement (line 14866) | interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPri...
  type SVGFECompositeElement (line 14877) | interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveSt...
  type SVGFEConvolveMatrixElement (line 14908) | interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimit...
  type SVGFEDiffuseLightingElement (line 14938) | interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimi...
  type SVGFEDisplacementMapElement (line 14953) | interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimi...
  type SVGFEDistantLightElement (line 14978) | interface SVGFEDistantLightElement extends SVGElement {
  type SVGFEFloodElement (line 14990) | interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStanda...
  type SVGFEFuncAElement (line 15000) | interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement {
  type SVGFEFuncBElement (line 15008) | interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement {
  type SVGFEFuncGElement (line 15016) | interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement {
  type SVGFEFuncRElement (line 15024) | interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement {
  type SVGFEGaussianBlurElement (line 15032) | interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiv...
  type SVGFEImageElement (line 15046) | interface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStanda...
  type SVGFEMergeElement (line 15057) | interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStanda...
  type SVGFEMergeNodeElement (line 15067) | interface SVGFEMergeNodeElement extends SVGElement {
  type SVGFEMorphologyElement (line 15078) | interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveS...
  type SVGFEOffsetElement (line 15098) | interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStand...
  type SVGFEPointLightElement (line 15111) | interface SVGFEPointLightElement extends SVGElement {
  type SVGFESpecularLightingElement (line 15124) | interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrim...
  type SVGFESpotLightElement (line 15140) | interface SVGFESpotLightElement extends SVGElement {
  type SVGFETileElement (line 15158) | interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandar...
  type SVGFETurbulenceElement (line 15169) | interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveS...
  type SVGFilterElement (line 15197) | interface SVGFilterElement extends SVGElement, SVGUnitTypes, SVGStylable...
  type SVGForeignObjectElement (line 15216) | interface SVGForeignObjectElement extends SVGElement, SVGStylable, SVGTr...
  type SVGGElement (line 15230) | interface SVGGElement extends SVGElement, SVGStylable, SVGTransformable,...
  type SVGGradientElement (line 15240) | interface SVGGradientElement extends SVGElement, SVGStylable, SVGExterna...
  type SVGImageElement (line 15261) | interface SVGImageElement extends SVGElement, SVGStylable, SVGTransforma...
  type SVGLength (line 15276) | interface SVGLength {
  type SVGLengthList (line 15312) | interface SVGLengthList {
  type SVGLineElement (line 15328) | interface SVGLineElement extends SVGElement, SVGStylable, SVGTransformab...
  type SVGLinearGradientElement (line 15342) | interface SVGLinearGradientElement extends SVGGradientElement {
  type SVGMarkerElement (line 15354) | interface SVGMarkerElement extends SVGElement, SVGStylable, SVGLangSpace...
  type SVGMaskElement (line 15385) | interface SVGMaskElement extends SVGElement, SVGStylable, SVGTests, SVGL...
  type SVGMatrix (line 15401) | interface SVGMatrix {
  type SVGMetadataElement (line 15426) | interface SVGMetadataElement extends SVGElement {
  type SVGNumber (line 15436) | interface SVGNumber {
  type SVGNumberList (line 15445) | interface SVGNumberList {
  type SVGPathElement (line 15461) | interface SVGPathElement extends SVGElement, SVGStylable, SVGTransformab...
  type SVGPathSeg (line 15493) | interface SVGPathSeg {
  type SVGPathSegArcAbs (line 15543) | interface SVGPathSegArcAbs extends SVGPathSeg {
  type SVGPathSegArcRel (line 15558) | interface SVGPathSegArcRel extends SVGPathSeg {
  type SVGPathSegClosePath (line 15573) | interface SVGPathSegClosePath extends SVGPathSeg {
  type SVGPathSegCurvetoCubicAbs (line 15581) | interface SVGPathSegCurvetoCubicAbs extends SVGPathSeg {
  type SVGPathSegCurvetoCubicRel (line 15595) | interface SVGPathSegCurvetoCubicRel extends SVGPathSeg {
  type SVGPathSegCurvetoCubicSmoothAbs (line 15609) | interface SVGPathSegCurvetoCubicSmoothAbs extends SVGPathSeg {
  type SVGPathSegCurvetoCubicSmoothRel (line 15621) | interface SVGPathSegCurvetoCubicSmoothRel extends SVGPathSeg {
  type SVGPathSegCurvetoQuadraticAbs (line 15633) | interface SVGPathSegCurvetoQuadraticAbs extends SVGPathSeg {
  type SVGPathSegCurvetoQuadraticRel (line 15645) | interface SVGPathSegCurvetoQuadraticRel extends SVGPathSeg {
  type SVGPathSegCurvetoQuadraticSmoothAbs (line 15657) | interface SVGPathSegCurvetoQuadraticSmoothAbs extends SVGPathSeg {
  type SVGPathSegCurvetoQuadraticSmoothRel (line 15667) | interface SVGPathSegCurvetoQuadraticSmoothRel extends SVGPathSeg {
  type SVGPathSegLinetoAbs (line 15677) | interface SVGPathSegLinetoAbs extends SVGPathSeg {
  type SVGPathSegLinetoHorizontalAbs (line 15687) | interface SVGPathSegLinetoHorizontalAbs extends SVGPathSeg {
  type SVGPathSegLinetoHorizontalRel (line 15696) | interface SVGPathSegLinetoHorizontalRel extends SVGPathSeg {
  type SVGPathSegLinetoRel (line 15705) | interface SVGPathSegLinetoRel extends SVGPathSeg {
  type SVGPathSegLinetoVerticalAbs (line 15715) | interface SVGPathSegLinetoVerticalAbs extends SVGPathSeg {
  type SVGPathSegLinetoVerticalRel (line 15724) | interface SVGPathSegLinetoVerticalRel extends SVGPathSeg {
  type SVGPathSegList (line 15733) | interface SVGPathSegList {
  type SVGPathSegMovetoAbs (line 15749) | interface SVGPathSegMovetoAbs extends SVGPathSeg {
  type SVGPathSegMovetoRel (line 15759) | interface SVGPathSegMovetoRel extends SVGPathSeg {
  type SVGPatternElement (line 15769) | interface SVGPatternElement extends SVGElement, SVGStylable, SVGTests, S...
  type SVGPoint (line 15786) | interface SVGPoint {
  type SVGPointList (line 15797) | interface SVGPointList {
  type SVGPolygonElement (line 15813) | interface SVGPolygonElement extends SVGElement, SVGStylable, SVGTransfor...
  type SVGPolylineElement (line 15823) | interface SVGPolylineElement extends SVGElement, SVGStylable, SVGTransfo...
  type SVGPreserveAspectRatio (line 15833) | interface SVGPreserveAspectRatio {
  type SVGRadialGradientElement (line 15871) | interface SVGRadialGradientElement extends SVGGradientElement {
  type SVGRect (line 15884) | interface SVGRect {
  type SVGRectElement (line 15896) | interface SVGRectElement extends SVGElement, SVGStylable, SVGTransformab...
  type SVGSVGElementEventMap (line 15912) | interface SVGSVGElementEventMap extends SVGElementEventMap {
  type SVGSVGElement (line 15921) | interface SVGSVGElement extends SVGElement, DocumentEvent, SVGLocatable,...
  type SVGScriptElement (line 15973) | interface SVGScriptElement extends SVGElement, SVGExternalResourcesRequi...
  type SVGStopElement (line 15984) | interface SVGStopElement extends SVGElement, SVGStylable {
  type SVGStringList (line 15995) | interface SVGStringList {
  type SVGStyleElement (line 16011) | interface SVGStyleElement extends SVGElement, SVGLangSpace {
  type SVGSwitchElement (line 16025) | interface SVGSwitchElement extends SVGElement, SVGStylable, SVGTransform...
  type SVGSymbolElement (line 16035) | interface SVGSymbolElement extends SVGElement, SVGStylable, SVGLangSpace...
  type SVGTSpanElement (line 16045) | interface SVGTSpanElement extends SVGTextPositioningElement {
  type SVGTextContentElement (line 16053) | interface SVGTextContentElement extends SVGElement, SVGStylable, SVGTest...
  type SVGTextElement (line 16080) | interface SVGTextElement extends SVGTextPositioningElement, SVGTransform...
  type SVGTextPathElement (line 16088) | interface SVGTextPathElement extends SVGTextContentElement, SVGURIRefere...
  type SVGTextPositioningElement (line 16111) | interface SVGTextPositioningElement extends SVGTextContentElement {
  type SVGTitleElement (line 16124) | interface SVGTitleElement extends SVGElement, SVGStylable, SVGLangSpace {
  type SVGTransform (line 16134) | interface SVGTransform {
  type SVGTransformList (line 16165) | interface SVGTransformList {
  type SVGUnitTypes (line 16183) | interface SVGUnitTypes {
  type SVGUseElement (line 16190) | interface SVGUseElement extends SVGElement, SVGStylable, SVGTransformabl...
  type SVGViewElement (line 16206) | interface SVGViewElement extends SVGElement, SVGExternalResourcesRequire...
  type SVGZoomAndPan (line 16217) | interface SVGZoomAndPan {
  type SVGZoomEvent (line 16227) | interface SVGZoomEvent extends UIEvent {
  type ScreenEventMap (line 16240) | interface ScreenEventMap {
  type Screen (line 16244) | interface Screen extends EventTarget {
  type ScriptNotifyEvent (line 16272) | interface ScriptNotifyEvent extends Event {
  type ScriptProcessorNodeEventMap (line 16282) | interface ScriptProcessorNodeEventMap {
  type ScriptProcessorNode (line 16286) | interface ScriptProcessorNode extends AudioNode {
  type Selection (line 16298) | interface Selection {
  type SourceBuffer (line 16327) | interface SourceBuffer extends EventTarget {
  type SourceBufferList (line 16347) | interface SourceBufferList extends EventTarget {
  type StereoPannerNode (line 16358) | interface StereoPannerNode extends AudioNode {
  type Storage (line 16367) | interface Storage {
  type StorageEvent (line 16383) | interface StorageEvent extends Event {
  type StyleMedia (line 16396) | interface StyleMedia {
  type StyleSheet (line 16406) | interface StyleSheet {
  type StyleSheetList (line 16421) | interface StyleSheetList {
  type StyleSheetPageList (line 16432) | interface StyleSheetPageList {
  type SubtleCrypto (line 16443) | interface SubtleCrypto {
  type Text (line 16469) | interface Text extends CharacterData {
  type TextEvent (line 16480) | interface TextEvent extends UIEvent {
  type TextMetrics (line 16512) | interface TextMetrics {
  type TextTrackEventMap (line 16521) | interface TextTrackEventMap {
  type TextTrack (line 16527) | interface TextTrack extends EventTarget {
  type TextTrackCueEventMap (line 16564) | interface TextTrackCueEventMap {
  type TextTrackCue (line 16569) | interface TextTrackCue extends EventTarget {
  type TextTrackCueList (line 16588) | interface TextTrackCueList {
  type TextTrackListEventMap (line 16600) | interface TextTrackListEventMap {
  type TextTrackList (line 16604) | interface TextTrackList extends EventTarget {
  type TimeRanges (line 16618) | interface TimeRanges {
  type Touch (line 16629) | interface Touch {
  type TouchEvent (line 16645) | interface TouchEvent extends UIEvent {
  type TouchList (line 16660) | interface TouchList {
  type TrackEvent (line 16671) | interface TrackEvent extends Event {
  type TransitionEvent (line 16680) | interface TransitionEvent extends Event {
  type TreeWalker (line 16691) | interface TreeWalker {
  type UIEvent (line 16711) | interface UIEvent extends Event {
  type URL (line 16722) | interface URL {
  type UnviewableContentIdentifiedEvent (line 16744) | interface UnviewableContentIdentifiedEvent extends NavigationEventWithRe...
  type ValidityState (line 16753) | interface ValidityState {
  type VideoPlaybackQuality (line 16771) | interface VideoPlaybackQuality {
  type VideoTrack (line 16784) | interface VideoTrack {
  type VideoTrackListEventMap (line 16798) | interface VideoTrackListEventMap {
  type VideoTrackList (line 16804) | interface VideoTrackList extends EventTarget {
  type WEBGL_compressed_texture_s3tc (line 16822) | interface WEBGL_compressed_texture_s3tc {
  type WEBGL_debug_renderer_info (line 16838) | interface WEBGL_debug_renderer_info {
  type WEBGL_depth_texture (line 16850) | interface WEBGL_depth_texture {
  type WaveShaperNode (line 16860) | interface WaveShaperNode extends AudioNode {
  type WebGLActiveInfo (line 16870) | interface WebGLActiveInfo {
  type WebGLBuffer (line 16881) | interface WebGLBuffer extends WebGLObject {
  type WebGLContextEvent (line 16889) | interface WebGLContextEvent extends Event {
  type WebGLFramebuffer (line 16898) | interface WebGLFramebuffer extends WebGLObject {
  type WebGLObject (line 16906) | interface WebGLObject {
  type WebGLProgram (line 16914) | interface WebGLProgram extends WebGLObject {
  type WebGLRenderbuffer (line 16922) | interface WebGLRenderbuffer extends WebGLObject {
  type WebGLRenderingContext (line 16930) | interface WebGLRenderingContext {
  type WebGLShader (line 17673) | interface WebGLShader extends WebGLObject {
  type WebGLShaderPrecisionFormat (line 17681) | interface WebGLShaderPrecisionFormat {
  type WebGLTexture (line 17692) | interface WebGLTexture extends WebGLObject {
  type WebGLUniformLocation (line 17700) | interface WebGLUniformLocation {
  type WebKitCSSMatrix (line 17708) | interface WebKitCSSMatrix {
  type WebKitPoint (line 17748) | interface WebKitPoint {
  type WebSocketEventMap (line 17758) | interface WebSocketEventMap {
  type WebSocket (line 17765) | interface WebSocket extends EventTarget {
  type WheelEvent (line 17795) | interface WheelEvent extends MouseEvent {
  type WindowEventMap (line 17818) | interface WindowEventMap extends GlobalEventHandlersEventMap {
  type Window (line 17907) | interface Window extends EventTarget, WindowTimers, WindowSessionStorage...
  type WorkerEventMap (line 18089) | interface WorkerEventMap extends AbstractWorkerEventMap {
  type Worker (line 18093) | interface Worker extends EventTarget, AbstractWorker {
  type XMLDocument (line 18106) | interface XMLDocument extends Document {
  type XMLHttpRequestEventMap (line 18116) | interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventM...
  type XMLHttpRequest (line 18120) | interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget {
  type XMLHttpRequestUpload (line 18164) | interface XMLHttpRequestUpload extends EventTarget, XMLHttpRequestEventT...
  type XMLSerializer (line 18174) | interface XMLSerializer {
  type XPathEvaluator (line 18183) | interface XPathEvaluator {
  type XPathExpression (line 18194) | interface XPathExpression {
  type XPathNSResolver (line 18203) | interface XPathNSResolver {
  type XPathResult (line 18212) | interface XPathResult {
  type XSLTProcessor (line 18249) | interface XSLTProcessor {
  type AbstractWorkerEventMap (line 18265) | interface AbstractWorkerEventMap {
  type AbstractWorker (line 18269) | interface AbstractWorker {
  type CanvasPathMethods (line 18275) | interface CanvasPathMethods {
  type ChildNode (line 18287) | interface ChildNode {
  type DOML2DeprecatedColorProperty (line 18291) | interface DOML2DeprecatedColorProperty {
  type DOML2DeprecatedSizeProperty (line 18295) | interface DOML2DeprecatedSizeProperty {
  type DocumentEvent (line 18299) | interface DocumentEvent {
  type ElementTraversal (line 18370) | interface ElementTraversal {
  type GetSVGDocument (line 18378) | interface GetSVGDocument {
  type GlobalEventHandlersEventMap (line 18382) | interface GlobalEventHandlersEventMap {
  type GlobalEventHandlers (line 18394) | interface GlobalEventHandlers {
  type HTMLTableAlignment (line 18408) | interface HTMLTableAlignment {
  type IDBEnvironment (line 18423) | interface IDBEnvironment {
  type LinkStyle (line 18427) | interface LinkStyle {
  type MSBaseReaderEventMap (line 18431) | interface MSBaseReaderEventMap {
  type MSBaseReader (line 18440) | interface MSBaseReader {
  type MSFileSaver (line 18457) | interface MSFileSaver {
  type MSNavigatorDoNotTrack (line 18462) | interface MSNavigatorDoNotTrack {
  type NavigatorContentUtils (line 18471) | interface NavigatorContentUtils {
  type NavigatorGeolocation (line 18474) | interface NavigatorGeolocation {
  type NavigatorID (line 18478) | interface NavigatorID {
  type NavigatorOnLine (line 18489) | interface NavigatorOnLine {
  type NavigatorStorageUtils (line 18493) | interface NavigatorStorageUtils {
  type NavigatorUserMedia (line 18496) | interface NavigatorUserMedia {
  type NodeSelector (line 18501) | interface NodeSelector {
  type RandomSource (line 18508) | interface RandomSource {
  type SVGAnimatedPathData (line 18512) | interface SVGAnimatedPathData {
  type SVGAnimatedPoints (line 18516) | interface SVGAnimatedPoints {
  type SVGExternalResourcesRequired (line 18521) | interface SVGExternalResourcesRequired {
  type SVGFilterPrimitiveStandardAttributes (line 18525) | interface SVGFilterPrimitiveStandardAttributes extends SVGStylable {
  type SVGFitToViewBox (line 18533) | interface SVGFitToViewBox {
  type SVGLangSpace (line 18538) | interface SVGLangSpace {
  type SVGLocatable (line 18543) | interface SVGLocatable {
  type SVGStylable (line 18552) | interface SVGStylable {
  type SVGTests (line 18557) | interface SVGTests {
  type SVGTransformable (line 18564) | interface SVGTransformable extends SVGLocatable {
  type SVGURIReference (line 18568) | interface SVGURIReference {
  type WindowBase64 (line 18572) | interface WindowBase64 {
  type WindowConsole (line 18577) | interface WindowConsole {
  type WindowLocalStorage (line 18581) | interface WindowLocalStorage {
  type WindowSessionStorage (line 18585) | interface WindowSessionStorage {
  type WindowTimers (line 18589) | interface WindowTimers extends Object, WindowTimersExtension {
  type WindowTimersExtension (line 18598) | interface WindowTimersExtension {
  type XMLHttpRequestEventTargetEventMap (line 18604) | interface XMLHttpRequestEventTargetEventMap {
  type XMLHttpRequestEventTarget (line 18614) | interface XMLHttpRequestEventTarget {
  type StorageEventInit (line 18626) | interface StorageEventInit extends EventInit {
  type Canvas2DContextAttributes (line 18634) | interface Canvas2DContextAttributes {
  type NodeListOf (line 18641) | interface NodeListOf<TNode extends Node> extends NodeList {
  type HTMLCollectionOf (line 18647) | interface HTMLCollectionOf<T extends Element> extends HTMLCollection {
  type BlobPropertyBag (line 18653) | interface BlobPropertyBag {
  type FilePropertyBag (line 18658) | interface FilePropertyBag {
  type EventListenerObject (line 18663) | interface EventListenerObject {
  type MessageEventInit (line 18667) | interface MessageEventInit extends EventInit {
  type ProgressEventInit (line 18676) | interface ProgressEventInit extends EventInit {
  type ScrollOptions (line 18682) | interface ScrollOptions {
  type ScrollToOptions (line 18686) | interface ScrollToOptions extends ScrollOptions {
  type ScrollIntoViewOptions (line 18691) | interface ScrollIntoViewOptions extends ScrollOptions {
  type ClipboardEventInit (line 18696) | interface ClipboardEventInit extends EventInit {
  type IDBArrayKey (line 18701) | interface IDBArrayKey extends Array<IDBValidKey> {
  type RsaKeyGenParams (line 18704) | interface RsaKeyGenParams extends Algorithm {
  type RsaHashedKeyGenParams (line 18709) | interface RsaHashedKeyGenParams extends RsaKeyGenParams {
  type RsaKeyAlgorithm (line 18713) | interface RsaKeyAlgorithm extends KeyAlgorithm {
  type RsaHashedKeyAlgorithm (line 18718) | interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
  type RsaHashedImportParams (line 18722) | interface RsaHashedImportParams {
  type RsaPssParams (line 18726) | interface RsaPssParams {
  type RsaOaepParams (line 18730) | interface RsaOaepParams extends Algorithm {
  type EcdsaParams (line 18734) | interface EcdsaParams extends Algorithm {
  type EcKeyGenParams (line 18738) | interface EcKeyGenParams extends Algorithm {
  type EcKeyAlgorithm (line 18742) | interface EcKeyAlgorithm extends KeyAlgorithm {
  type EcKeyImportParams (line 18746) | interface EcKeyImportParams {
  type EcdhKeyDeriveParams (line 18750) | interface EcdhKeyDeriveParams extends Algorithm {
  type AesCtrParams (line 18754) | interface AesCtrParams extends Algorithm {
  type AesKeyAlgorithm (line 18759) | interface AesKeyAlgorithm extends KeyAlgorithm {
  type AesKeyGenParams (line 18763) | interface AesKeyGenParams extends Algorithm {
  type AesDerivedKeyParams (line 18767) | interface AesDerivedKeyParams extends Algorithm {
  type AesCbcParams (line 18771) | interface AesCbcParams extends Algorithm {
  type AesCmacParams (line 18775) | interface AesCmacParams extends Algorithm {
  type AesGcmParams (line 18779) | interface AesGcmParams extends Algorithm {
  type AesCfbParams (line 18785) | interface AesCfbParams extends Algorithm {
  type HmacImportParams (line 18789) | interface HmacImportParams extends Algorithm {
  type HmacKeyAlgorithm (line 18794) | interface HmacKeyAlgorithm extends KeyAlgorithm {
  type HmacKeyGenParams (line 18799) | interface HmacKeyGenParams extends Algorithm {
  type DhKeyGenParams (line 18804) | interface DhKeyGenParams extends Algorithm {
  type DhKeyAlgorithm (line 18809) | interface DhKeyAlgorithm extends KeyAlgorithm {
  type DhKeyDeriveParams (line 18814) | interface DhKeyDeriveParams extends Algorithm {
  type DhImportKeyParams (line 18818) | interface DhImportKeyParams extends Algorithm {
  type ConcatParams (line 18823) | interface ConcatParams extends Algorithm {
  type HkdfCtrParams (line 18832) | interface HkdfCtrParams extends Algorithm {
  type Pbkdf2Params (line 18838) | interface Pbkdf2Params extends Algorithm {
  type RsaOtherPrimesInfo (line 18844) | interface RsaOtherPrimesInfo {
  type JsonWebKey (line 18850) | interface JsonWebKey {
  type ParentNode (line 18875) | interface ParentNode {
  type DocumentOrShadowRoot (line 18882) | interface DocumentOrShadowRoot {
  type ShadowRoot (line 18890) | interface ShadowRoot extends DocumentOrShadowRoot, DocumentFragment {
  type ShadowRootInit (line 18895) | interface ShadowRootInit {
  type HTMLSlotElement (line 18900) | interface HTMLSlotElement extends HTMLElement {
  type AssignedNodesOptions (line 18905) | interface AssignedNodesOptions {
  type EventListenerOrEventListenerObject (line 18909) | type EventListenerOrEventListenerObject = EventListener | EventListenerO...
  type ErrorEventHandler (line 18911) | interface ErrorEventHandler {
  type PositionCallback (line 18914) | interface PositionCallback {
  type PositionErrorCallback (line 18917) | interface PositionErrorCallback {
  type MediaQueryListListener (line 18920) | interface MediaQueryListListener {
  type MSLaunchUriCallback (line 18923) | interface MSLaunchUriCallback {
  type FrameRequestCallback (line 18926) | interface FrameRequestCallback {
  type MSUnsafeFunctionCallback (line 18929) | interface MSUnsafeFunctionCallback {
  type MSExecAtPriorityFunctionCallback (line 18932) | interface MSExecAtPriorityFunctionCallback {
  type MutationCallback (line 18935) | interface MutationCallback {
  type DecodeSuccessCallback (line 18938) | interface DecodeSuccessCallback {
  type DecodeErrorCallback (line 18941) | interface DecodeErrorCallback {
  type FunctionStringCallback (line 18944) | interface FunctionStringCallback {
  type NavigatorUserMediaSuccessCallback (line 18947) | interface NavigatorUserMediaSuccessCallback {
  type NavigatorUserMediaErrorCallback (line 18950) | interface NavigatorUserMediaErrorCallback {
  type ForEachCallback (line 18953) | interface ForEachCallback {
  type HTMLElementTagNameMap (line 18956) | interface HTMLElementTagNameMap {
  type ElementTagNameMap (line 19039) | interface ElementTagNameMap {
  type ElementListTagNameMap (line 19218) | interface ElementListTagNameMap {
  type AAGUID (line 19599) | type AAGUID = string;
  type AlgorithmIdentifier (line 19600) | type AlgorithmIdentifier = string | Algorithm;
  type ConstrainBoolean (line 19601) | type ConstrainBoolean = boolean | ConstrainBooleanParameters;
  type ConstrainDOMString (line 19602) | type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;
  type ConstrainDouble (line 19603) | type ConstrainDouble = number | ConstrainDoubleRange;
  type ConstrainLong (line 19604) | type ConstrainLong = number | ConstrainLongRange;
  type CryptoOperationData (line 19605) | type CryptoOperationData = ArrayBufferView;
  type GLbitfield (line 19606) | type GLbitfield = number;
  type GLboolean (line 19607) | type GLboolean = boolean;
  type GLbyte (line 19608) | type GLbyte = number;
  type GLclampf (line 19609) | type GLclampf = number;
  type GLenum (line 19610) | type GLenum = number;
  type GLfloat (line 19611) | type GLfloat = number;
  type GLint (line 19612) | type GLint = number;
  type GLintptr (line 19613) | type GLintptr = number;
  type GLshort (line 19614) | type GLshort = number;
  type GLsizei (line 19615) | type GLsizei = number;
  type GLsizeiptr (line 19616) | type GLsizeiptr = number;
  type GLubyte (line 19617) | type GLubyte = number;
  type GLuint (line 19618) | type GLuint = number;
  type GLushort (line 19619) | type GLushort = number;
  type IDBKeyPath (line 19620) | type IDBKeyPath = string;
  type KeyFormat (line 19621) | type KeyFormat = string;
  type KeyType (line 19622) | type KeyType = string;
  type KeyUsage (line 19623) | type KeyUsage = string;
  type MSInboundPayload (line 19624) | type MSInboundPayload = MSVideoRecvPayload | MSAudioRecvPayload;
  type MSLocalClientEvent (line 19625) | type MSLocalClientEvent = MSLocalClientEventBase | MSAudioLocalClientEvent;
  type MSOutboundPayload (line 19626) | type MSOutboundPayload = MSVideoSendPayload | MSAudioSendPayload;
  type RTCIceGatherCandidate (line 19627) | type RTCIceGatherCandidate = RTCIceCandidate | RTCIceCandidateComplete;
  type RTCTransport (line 19628) | type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport;
  type payloadtype (line 19629) | type payloadtype = number;
  type ScrollBehavior (line 19630) | type ScrollBehavior = "auto" | "instant" | "smooth";
  type ScrollLogicalPosition (line 19631) | type ScrollLogicalPosition = "start" | "center" | "end" | "nearest";
  type IDBValidKey (line 19632) | type IDBValidKey = number | string | Date | IDBArrayKey;
  type BufferSource (line 19633) | type BufferSource = ArrayBuffer | ArrayBufferView;
  type MouseWheelEvent (line 19634) | type MouseWheelEvent = WheelEvent;
  type ScrollRestoration (line 19635) | type ScrollRestoration = "auto" | "manual";
  type ActiveXObject (line 19652) | interface ActiveXObject {
  type ITextWriter (line 19657) | interface ITextWriter {
  type TextStreamBase (line 19663) | interface TextStreamBase {
  type TextStreamWriter (line 19682) | interface TextStreamWriter extends TextStreamBase {
  type TextStreamReader (line 19699) | interface TextStreamReader extends TextStreamBase {
  type Enumerator (line 19851) | interface Enumerator<T> {
  type EnumeratorConstructor (line 19876) | interface EnumeratorConstructor {
  type VBArray (line 19886) | interface VBArray<T> {
  type VBArrayConstructor (line 19917) | interface VBArrayConstructor {
  type VarDate (line 19927) | interface VarDate { }
  type DateConstructor (line 19929) | interface DateConstructor {
  type Date (line 19933) | interface Date {
  type DOMTokenList (line 19940) | interface DOMTokenList {
  type NodeList (line 19944) | interface NodeList {
  type NodeListOf (line 19948) | interface NodeListOf<TNode extends Node> {

FILE: buildtool/typescript/lib/tsc.js
  function OperationCanceledException (line 19) | function OperationCanceledException() {
  function mark (line 89) | function mark(markName) {
  function measure (line 97) | function measure(measureName, startMarkName, endMarkName) {
  function getCount (line 105) | function getCount(markName) {
  function getDuration (line 109) | function getDuration(measureName) {
  function forEachMeasure (line 113) | function forEachMeasure(cb) {
  function enable (line 119) | function enable() {
  function disable (line 127) | function disable() {
  function createMap (line 140) | function createMap(template) {
  function createFileMap (line 151) | function createFileMap(keyMapper) {
  function toPath (line 195) | function toPath(fileName, basePath, getCanonicalFileName) {
  function forEach (line 202) | function forEach(array, callback) {
  function zipWith (line 214) | function zipWith(arrayA, arrayB, callback) {
  function every (line 221) | function every(array, callback) {
  function find (line 232) | function find(array, predicate) {
  function findMap (line 242) | function findMap(array, callback) {
  function contains (line 252) | function contains(array, value) {
  function indexOf (line 264) | function indexOf(array, value) {
  function indexOfAnyCharCode (line 275) | function indexOfAnyCharCode(text, charCodes, start) {
  function countWhere (line 284) | function countWhere(array, predicate) {
  function filter (line 297) | function filter(array, f) {
  function removeWhere (line 319) | function removeWhere(array, f) {
  function filterMutate (line 335) | function filterMutate(array, f) {
  function map (line 347) | function map(array, f) {
  function sameMap (line 358) | function sameMap(array, f) {
  function flatten (line 378) | function flatten(array) {
  function flatMap (line 397) | function flatMap(array, mapfn) {
  function span (line 416) | function span(array, f) {
  function spanMap (line 428) | function spanMap(array, keyfn, mapfn) {
  function mapObject (line 463) | function mapObject(object, f) {
  function some (line 478) | function some(array, predicate) {
  function concatenate (line 495) | function concatenate(array1, array2) {
  function deduplicate (line 503) | function deduplicate(array, areEqual) {
  function arrayIsEqualTo (line 521) | function arrayIsEqualTo(array1, array2, equaler) {
  function changesAffectModuleResolution (line 537) | function changesAffectModuleResolution(oldOptions, newOptions) {
  function compact (line 556) | function compact(array) {
  function relativeComplement (line 574) | function relativeComplement(arrayA, arrayB, comparer, offsetA, offsetB) {
  function sum (line 594) | function sum(array, prop) {
  function append (line 603) | function append(to, value) {
  function addRange (line 612) | function addRange(to, from) {
  function stableSort (line 622) | function stableSort(array, comparer) {
  function rangeEquals (line 630) | function rangeEquals(array1, array2, pos, end) {
  function firstOrUndefined (line 640) | function firstOrUndefined(array) {
  function lastOrUndefined (line 646) | function lastOrUndefined(array) {
  function singleOrUndefined (line 652) | function singleOrUndefined(array) {
  function singleOrMany (line 658) | function singleOrMany(array) {
  function replaceElement (line 664) | function replaceElement(array, index, value) {
  function binarySearch (line 670) | function binarySearch(array, value, comparer, offset) {
  function reduceLeft (line 695) | function reduceLeft(array, f, initial, start, count) {
  function reduceRight (line 719) | function reduceRight(array, f, initial, start, count) {
  function hasProperty (line 744) | function hasProperty(map, key) {
  function getProperty (line 748) | function getProperty(map, key) {
  function getOwnKeys (line 752) | function getOwnKeys(map) {
  function forEachProperty (line 761) | function forEachProperty(map, callback) {
  function someProperties (line 770) | function someProperties(map, predicate) {
  function copyProperties (line 778) | function copyProperties(source, target) {
  function appendProperty (line 784) | function appendProperty(map, key, value) {
  function assign (line 793) | function assign(t) {
  function reduceProperties (line 808) | function reduceProperties(map, callback, initial) {
  function reduceOwnProperties (line 816) | function reduceOwnProperties(map, callback, initial) {
  function equalOwnProperties (line 825) | function equalOwnProperties(left, right, equalityComparer) {
  function arrayToMap (line 845) | function arrayToMap(array, makeKey, makeValue) {
  function isEmpty (line 854) | function isEmpty(map) {
  function cloneMap (line 863) | function cloneMap(map) {
  function clone (line 869) | function clone(object) {
  function extend (line 879) | function extend(first, second) {
  function multiMapAdd (line 892) | function multiMapAdd(map, key, value) {
  function multiMapRemove (line 903) | function multiMapRemove(map, key, value) {
  function isArray (line 913) | function isArray(value) {
  function noop (line 917) | function noop() { }
  function notImplemented (line 919) | function notImplemented() {
  function memoize (line 923) | function memoize(callback) {
  function chain (line 934) | function chain(a, b, c, d, e) {
  function compose (line 959) | function compose(a, b, c, d, e) {
  function formatStringFromArgs (line 984) | function formatStringFromArgs(text, args, baseIndex) {
  function getLocaleSpecificMessage (line 989) | function getLocaleSpecificMessage(message) {
  function createFileDiagnostic (line 993) | function createFileDiagnostic(file, start, length, message) {
  function formatMessage (line 1015) | function formatMessage(_dummy, message) {
  function createCompilerDiagnostic (line 1023) | function createCompilerDiagnostic(message) {
  function createCompilerDiagnosticFromMessageChain (line 1038) | function createCompilerDiagnosticFromMessageChain(chain) {
  function chainDiagnosticMessages (line 1049) | function chainDiagnosticMessages(details, message) {
  function concatenateDiagnosticMessageChains (line 1062) | function concatenateDiagnosticMessageChains(headChain, tailChain) {
  function compareValues (line 1071) | function compareValues(a, b) {
  function compareStrings (line 1081) | function compareStrings(a, b, ignoreCase) {
  function compareStringsCaseInsensitive (line 1101) | function compareStringsCaseInsensitive(a, b) {
  function getDiagnosticFileName (line 1105) | function getDiagnosticFileName(diagnostic) {
  function compareDiagnostics (line 1108) | function compareDiagnostics(d1, d2) {
  function compareMessageText (line 1117) | function compareMessageText(text1, text2) {
  function sortAndDeduplicateDiagnostics (line 1133) | function sortAndDeduplicateDiagnostics(diagnostics) {
  function deduplicateSortedDiagnostics (line 1137) | function deduplicateSortedDiagnostics(diagnostics) {
  function normalizeSlashes (line 1154) | function normalizeSlashes(path) {
  function getRootLength (line 1158) | function getRootLength(path) {
  function getNormalizedParts (line 1187) | function getNormalizedParts(normalizedSlashedPath, rootLength) {
  function normalizePath (line 1205) | function normalizePath(path) {
  function pathEndsWithDirectorySeparator (line 1219) | function pathEndsWithDirectorySeparator(path) {
  function getDirectoryPath (line 1223) | function getDirectoryPath(path) {
  function isUrl (line 1227) | function isUrl(path) {
  function isExternalModuleNameRelative (line 1231) | function isExternalModuleNameRelative(moduleName) {
  function getEmitScriptTarget (line 1235) | function getEmitScriptTarget(compilerOptions) {
  function getEmitModuleKind (line 1239) | function getEmitModuleKind(compilerOptions) {
  function getEmitModuleResolutionKind (line 1245) | function getEmitModuleResolutionKind(compilerOptions) {
  function hasZeroOrOneAsteriskCharacter (line 1253) | function hasZeroOrOneAsteriskCharacter(str) {
  function isRootedDiskPath (line 1268) | function isRootedDiskPath(path) {
  function convertToRelativePath (line 1272) | function convertToRelativePath(absoluteOrRelativePath, basePath, getCano...
  function normalizedPathComponents (line 1278) | function normalizedPathComponents(path, rootLength) {
  function getNormalizedPathComponents (line 1282) | function getNormalizedPathComponents(path, currentDirectory) {
  function getNormalizedAbsolutePath (line 1292) | function getNormalizedAbsolutePath(fileName, currentDirectory) {
  function getNormalizedPathFromPathComponents (line 1296) | function getNormalizedPathFromPathComponents(pathComponents) {
  function getNormalizedPathComponentsOfUrl (line 1302) | function getNormalizedPathComponentsOfUrl(url) {
  function getNormalizedPathOrUrlComponents (line 1325) | function getNormalizedPathOrUrlComponents(pathOrUrl, currentDirectory) {
  function getRelativePathToDirectoryOrUrl (line 1333) | function getRelativePathToDirectoryOrUrl(directoryPathOrUrl, relativeOrA...
  function getBaseFileName (line 1362) | function getBaseFileName(path) {
  function combinePaths (line 1370) | function combinePaths(path1, path2) {
  function removeTrailingDirectorySeparator (line 1382) | function removeTrailingDirectorySeparator(path) {
  function ensureTrailingDirectorySeparator (line 1389) | function ensureTrailingDirectorySeparator(path) {
  function comparePaths (line 1396) | function comparePaths(a, b, currentDirectory, ignoreCase) {
  function containsPath (line 1417) | function containsPath(parent, child, currentDirectory, ignoreCase) {
  function startsWith (line 1440) | function startsWith(str, prefix) {
  function endsWith (line 1444) | function endsWith(str, suffix) {
  function hasExtension (line 1449) | function hasExtension(fileName) {
  function fileExtensionIs (line 1453) | function fileExtensionIs(path, extension) {
  function fileExtensionIsAny (line 1457) | function fileExtensionIsAny(path, extensions) {
  function getRegularExpressionForWildcard (line 1471) | function getRegularExpressionForWildcard(specs, basePath, usage) {
  function isImplicitGlob (line 1502) | function isImplicitGlob(lastPathComponent) {
  function getSubPatternFromSpec (line 1506) | function getSubPatternFromSpec(spec, basePath, usage, singleAsteriskRege...
  function replaceWildCardCharacterFiles (line 1557) | function replaceWildCardCharacterFiles(match) {
  function replaceWildCardCharacterOther (line 1560) | function replaceWildCardCharacterOther(match) {
  function replaceWildcardCharacter (line 1563) | function replaceWildcardCharacter(match, singleAsteriskRegexFragment) {
  function getFileMatcherPatterns (line 1566) | function getFileMatcherPatterns(path, excludes, includes, useCaseSensiti...
  function matchFiles (line 1578) | function matchFiles(path, extensions, excludes, includes, useCaseSensiti...
  function getBasePaths (line 1616) | function getBasePaths(path, includes, useCaseSensitiveFileNames) {
  function getIncludeBasePath (line 1638) | function getIncludeBasePath(absolute) {
  function ensureScriptKind (line 1647) | function ensureScriptKind(fileName, scriptKind) {
  function getScriptKindFromFileName (line 1651) | function getScriptKindFromFileName(fileName) {
  function getSupportedExtensions (line 1671) | function getSupportedExtensions(options) {
  function hasJavaScriptFileExtension (line 1675) | function hasJavaScriptFileExtension(fileName) {
  function hasTypeScriptFileExtension (line 1679) | function hasTypeScriptFileExtension(fileName) {
  function isSupportedSourceFileName (line 1683) | function isSupportedSourceFileName(fileName, compilerOptions) {
  function getExtensionPriority (line 1696) | function getExtensionPriority(path, supportedExtensions) {
  function adjustExtensionPriority (line 1705) | function adjustExtensionPriority(extensionPriority) {
  function getNextLowestExtensionPriority (line 1717) | function getNextLowestExtensionPriority(extensionPriority) {
  function removeFileExtension (line 1727) | function removeFileExtension(path) {
  function tryRemoveExtension (line 1738) | function tryRemoveExtension(path, extension) {
  function removeExtension (line 1742) | function removeExtension(path, extension) {
  function changeExtension (line 1746) | function changeExtension(path, newExtension) {
  function Symbol (line 1750) | function Symbol(flags, name) {
  function Type (line 1755) | function Type(_checker, flags) {
  function Signature (line 1758) | function Signature() {
  function Node (line 1760) | function Node(kind, pos, end) {
  function shouldAssert (line 1783) | function shouldAssert(level) {
  function assert (line 1787) | function assert(expression, message, verboseDebugInfo) {
  function fail (line 1798) | function fail(message) {
  function orderedRemoveItem (line 1803) | function orderedRemoveItem(array, item) {
  function orderedRemoveItemAt (line 1813) | function orderedRemoveItemAt(array, index) {
  function unorderedRemoveItemAt (line 1820) | function unorderedRemoveItemAt(array, index) {
  function unorderedRemoveItem (line 1825) | function unorderedRemoveItem(array, item) {
  function unorderedRemoveFirstItemWhere (line 1829) | function unorderedRemoveFirstItemWhere(array, predicate) {
  function createGetCanonicalFileName (line 1837) | function createGetCanonicalFileName(useCaseSensitiveFileNames) {
  function matchPatternOrExact (line 1843) | function matchPatternOrExact(patternStrings, candidate) {
  function patternText (line 1858) | function patternText(_a) {
  function matchedText (line 1863) | function matchedText(pattern, candidate) {
  function findBestPatternMatch (line 1868) | function findBestPatternMatch(values, getPattern, candidate) {
  function isPatternMatch (line 1882) | function isPatternMatch(_a, candidate) {
  function tryParsePattern (line 1888) | function tryParsePattern(pattern) {
  function positionIsSynthesized (line 1897) | function positionIsSynthesized(pos) {
  function extensionIsTypeScript (line 1901) | function extensionIsTypeScript(ext) {
  function extensionFromPath (line 1905) | function extensionFromPath(path) {
  function tryGetExtensionFromPath (line 1913) | function tryGetExtensionFromPath(path) {
  function getWScriptSystem (line 1935) | function getWScriptSystem() {
  function getNodeSystem (line 2061) | function getNodeSystem() {
  function getChakraSystem (line 2341) | function getChakraSystem() {
  function recursiveCreateDirectory (line 2373) | function recursiveCreateDirectory(directoryPath, sys) {
  function tokenIsIdentifierOrKeyword (line 3225) | function tokenIsIdentifierOrKeyword(token) {
  function lookupInUnicodeMap (line 3359) | function lookupInUnicodeMap(code, map) {
  function isUnicodeIdentifierStart (line 3381) | function isUnicodeIdentifierStart(code, languageVersion) {
  function isUnicodeIdentifierPart (line 3387) | function isUnicodeIdentifierPart(code, languageVersion) {
  function makeReverseMap (line 3392) | function makeReverseMap(source) {
  function tokenToString (line 3400) | function tokenToString(t) {
  function stringToToken (line 3404) | function stringToToken(s) {
  function computeLineStarts (line 3408) | function computeLineStarts(text) {
  function getPositionOfLineAndCharacter (line 3436) | function getPositionOfLineAndCharacter(sourceFile, line, character) {
  function computePositionOfLineAndCharacter (line 3440) | function computePositionOfLineAndCharacter(lineStarts, line, character) {
  function getLineStarts (line 3445) | function getLineStarts(sourceFile) {
  function computeLineAndCharacterOfPosition (line 3449) | function computeLineAndCharacterOfPosition(lineStarts, position) {
  function getLineAndCharacterOfPosition (line 3461) | function getLineAndCharacterOfPosition(sourceFile, position) {
  function isWhiteSpace (line 3466) | function isWhiteSpace(ch) {
  function isWhiteSpaceSingleLine (line 3470) | function isWhiteSpaceSingleLine(ch) {
  function isLineBreak (line 3485) | function isLineBreak(ch) {
  function isDigit (line 3492) | function isDigit(ch) {
  function isOctalDigit (line 3495) | function isOctalDigit(ch) {
  function couldStartTrivia (line 3499) | function couldStartTrivia(text, pos) {
  function skipTrivia (line 3520) | function skipTrivia(text, pos, stopAfterLineBreak, stopAtComments) {
  function isConflictMarkerTrivia (line 3596) | function isConflictMarkerTrivia(text, pos) {
  function scanConflictMarkerTrivia (line 3612) | function scanConflictMarkerTrivia(text, pos, error) {
  function isShebangTrivia (line 3636) | function isShebangTrivia(text, pos) {
  function scanShebangTrivia (line 3640) | function scanShebangTrivia(text, pos) {
  function iterateCommentRanges (line 3645) | function iterateCommentRanges(reduce, text, pos, trailing, cb, state, in...
  function forEachLeadingCommentRange (line 3734) | function forEachLeadingCommentRange(text, pos, cb, state) {
  function forEachTrailingCommentRange (line 3738) | function forEachTrailingCommentRange(text, pos, cb, state) {
  function reduceEachLeadingCommentRange (line 3742) | function reduceEachLeadingCommentRange(text, pos, cb, state, initial) {
  function reduceEachTrailingCommentRange (line 3746) | function reduceEachTrailingCommentRange(text, pos, cb, state, initial) {
  function appendCommentRange (line 3750) | function appendCommentRange(pos, end, kind, hasTrailingNewLine, _state, ...
  function getLeadingCommentRanges (line 3757) | function getLeadingCommentRanges(text, pos) {
  function getTrailingCommentRanges (line 3761) | function getTrailingCommentRanges(text, pos) {
  function getShebang (line 3765) | function getShebang(text) {
  function isIdentifierStart (line 3771) | function isIdentifierStart(ch, languageVersion) {
  function isIdentifierPart (line 3777) | function isIdentifierPart(ch, languageVersion) {
  function isIdentifierText (line 3783) | function isIdentifierText(name, languageVersion) {
  function createScanner (line 3795) | function createScanner(languageVersion, skipTrivia, languageVariant, tex...
  function getDeclarationOfKind (line 4778) | function getDeclarationOfKind(symbol, kind) {
  function getSingleLineStringWriter (line 4792) | function getSingleLineStringWriter() {
  function releaseStringWriter (line 4816) | function releaseStringWriter(writer) {
  function getFullWidth (line 4821) | function getFullWidth(node) {
  function hasResolvedModule (line 4825) | function hasResolvedModule(sourceFile, moduleNameText) {
  function getResolvedModule (line 4829) | function getResolvedModule(sourceFile, moduleNameText) {
  function setResolvedModule (line 4833) | function setResolvedModule(sourceFile, moduleNameText, resolvedModule) {
  function setResolvedTypeReferenceDirective (line 4840) | function setResolvedTypeReferenceDirective(sourceFile, typeReferenceDire...
  function moduleResolutionIsEqualTo (line 4847) | function moduleResolutionIsEqualTo(oldResolution, newResolution) {
  function typeDirectiveIsEqualTo (line 4853) | function typeDirectiveIsEqualTo(oldResolution, newResolution) {
  function hasChangesInResolutions (line 4857) | function hasChangesInResolutions(names, newResolutions, oldResolutions, ...
  function containsParseError (line 4874) | function containsParseError(node) {
  function aggregateChildData (line 4879) | function aggregateChildData(node) {
  function getSourceFileOfNode (line 4889) | function getSourceFileOfNode(node) {
  function isStatementWithLocals (line 4896) | function isStatementWithLocals(node) {
  function getStartPositionOfLine (line 4908) | function getStartPositionOfLine(line, sourceFile) {
  function nodePosToString (line 4913) | function nodePosToString(node) {
  function getStartPosOfNode (line 4919) | function getStartPosOfNode(node) {
  function isDefined (line 4923) | function isDefined(value) {
  function getEndLinePosition (line 4927) | function getEndLinePosition(line, sourceFile) {
  function nodeIsMissing (line 4946) | function nodeIsMissing(node) {
  function nodeIsPresent (line 4953) | function nodeIsPresent(node) {
  function getTokenPosOfNode (line 4957) | function getTokenPosOfNode(node, sourceFile, includeJsDoc) {
  function isJSDocNode (line 4973) | function isJSDocNode(node) {
  function isJSDocTag (line 4977) | function isJSDocTag(node) {
  function getNonDecoratorTokenPosOfNode (line 4981) | function getNonDecoratorTokenPosOfNode(node, sourceFile) {
  function getSourceTextOfNodeFromSourceFile (line 4988) | function getSourceTextOfNodeFromSourceFile(sourceFile, node, includeTriv...
  function getTextOfNodeFromSourceText (line 4997) | function getTextOfNodeFromSourceText(sourceText, node) {
  function getTextOfNode (line 5004) | function getTextOfNode(node, includeTrivia) {
  function getLiteralText (line 5009) | function getLiteralText(node, sourceFile, languageVersion) {
  function isBinaryOrOctalIntegerLiteral (line 5037) | function isBinaryOrOctalIntegerLiteral(node, text) {
  function getQuotedEscapedLiteralText (line 5050) | function getQuotedEscapedLiteralText(leftQuote, text, rightQuote) {
  function escapeIdentifier (line 5053) | function escapeIdentifier(identifier) {
  function unescapeIdentifier (line 5057) | function unescapeIdentifier(identifier) {
  function makeIdentifierFromModuleName (line 5061) | function makeIdentifierFromModuleName(moduleName) {
  function isBlockOrCatchScoped (line 5065) | function isBlockOrCatchScoped(declaration) {
  function isCatchClauseVariableDeclarationOrBindingElement (line 5070) | function isCatchClauseVariableDeclarationOrBindingElement(declaration) {
  function isAmbientModule (line 5075) | function isAmbientModule(node) {
  function isShorthandAmbientModuleSymbol (line 5080) | function isShorthandAmbientModuleSymbol(moduleSymbol) {
  function isShorthandAmbientModule (line 5084) | function isShorthandAmbientModule(node) {
  function isBlockScopedContainerTopLevel (line 5087) | function isBlockScopedContainerTopLevel(node) {
  function isGlobalScopeAugmentation (line 5093) | function isGlobalScopeAugmentation(module) {
  function isExternalModuleAugmentation (line 5097) | function isExternalModuleAugmentation(node) {
  function isEffectiveExternalModule (line 5110) | function isEffectiveExternalModule(node, compilerOptions) {
  function isBlockScope (line 5114) | function isBlockScope(node, parentNode) {
  function getEnclosingBlockScopeContainer (line 5137) | function getEnclosingBlockScopeContainer(node) {
  function declarationNameToString (line 5147) | function declarationNameToString(name) {
  function getTextOfPropertyName (line 5151) | function getTextOfPropertyName(name) {
  function entityNameToString (line 5166) | function entityNameToString(name) {
  function createDiagnosticForNode (line 5177) | function createDiagnosticForNode(node, message, arg0, arg1, arg2) {
  function createDiagnosticForNodeInSourceFile (line 5182) | function createDiagnosticForNodeInSourceFile(sourceFile, node, message, ...
  function createDiagnosticForNodeFromMessageChain (line 5187) | function createDiagnosticForNodeFromMessageChain(node, messageChain) {
  function getSpanOfTokenAtPosition (line 5200) | function getSpanOfTokenAtPosition(sourceFile, pos) {
  function getErrorSpanForArrowFunction (line 5207) | function getErrorSpanForArrowFunction(sourceFile, node) {
  function getErrorSpanForNode (line 5218) | function getErrorSpanForNode(sourceFile, node) {
  function isExternalOrCommonJsModule (line 5255) | function isExternalOrCommonJsModule(file) {
  function isDeclarationFile (line 5259) | function isDeclarationFile(file) {
  function isConstEnumDeclaration (line 5263) | function isConstEnumDeclaration(node) {
  function isConst (line 5267) | function isConst(node) {
  function isLet (line 5272) | function isLet(node) {
  function isSuperCall (line 5276) | function isSuperCall(n) {
  function isPrologueDirective (line 5280) | function isPrologueDirective(node) {
  function getLeadingCommentRangesOfNode (line 5285) | function getLeadingCommentRangesOfNode(node, sourceFileOfNode) {
  function getLeadingCommentRangesOfNodeFromText (line 5289) | function getLeadingCommentRangesOfNodeFromText(node, text) {
  function getJSDocCommentRanges (line 5293) | function getJSDocCommentRanges(node, text) {
  function isPartOfTypeNode (line 5310) | function isPartOfTypeNode(node) {
  function forEachReturnStatement (line 5380) | function forEachReturnStatement(body, visitor) {
  function forEachYieldExpression (line 5406) | function forEachYieldExpression(body, visitor) {
  function isVariableLike (line 5438) | function isVariableLike(node) {
  function isAccessor (line 5455) | function isAccessor(node) {
  function isClassLike (line 5459) | function isClassLike(node) {
  function isFunctionLike (line 5463) | function isFunctionLike(node) {
  function isFunctionLikeKind (line 5467) | function isFunctionLikeKind(kind) {
  function introducesArgumentsExoticObject (line 5487) | function introducesArgumentsExoticObject(node) {
  function isIterationStatement (line 5501) | function isIterationStatement(node, lookInLabeledStatements) {
  function isFunctionBlock (line 5515) | function isFunctionBlock(node) {
  function isObjectLiteralMethod (line 5519) | function isObjectLiteralMethod(node) {
  function isObjectLiteralOrClassExpressionMethod (line 5523) | function isObjectLiteralOrClassExpressionMethod(node) {
  function isIdentifierTypePredicate (line 5529) | function isIdentifierTypePredicate(predicate) {
  function isThisTypePredicate (line 5533) | function isThisTypePredicate(predicate) {
  function getContainingFunction (line 5537) | function getContainingFunction(node) {
  function getContainingClass (line 5546) | function getContainingClass(node) {
  function getThisContainer (line 5555) | function getThisContainer(node, includeArrowFunctions) {
  function getSuperContainer (line 5600) | function getSuperContainer(node, stopOnFunctions) {
  function getImmediatelyInvokedFunctionExpression (line 5636) | function getImmediatelyInvokedFunctionExpression(func) {
  function isSuperProperty (line 5650) | function isSuperProperty(node) {
  function getEntityNameFromTypeNode (line 5656) | function getEntityNameFromTypeNode(node) {
  function isCallLikeExpression (line 5672) | function isCallLikeExpression(node) {
  function getInvokedExpression (line 5684) | function getInvokedExpression(node) {
  function nodeCanBeDecorated (line 5691) | function nodeCanBeDecorated(node) {
  function nodeIsDecorated (line 5712) | function nodeIsDecorated(node) {
  function nodeOrChildIsDecorated (line 5717) | function nodeOrChildIsDecorated(node) {
  function childIsDecorated (line 5721) | function childIsDecorated(node) {
  function isJSXTagName (line 5731) | function isJSXTagName(node) {
  function isPartOfExpression (line 5741) | function isPartOfExpression(node) {
  function isInstantiatedModule (line 5845) | function isInstantiatedModule(node, preserveConstEnums) {
  function isExternalModuleImportEqualsDeclaration (line 5851) | function isExternalModuleImportEqualsDeclaration(node) {
  function getExternalModuleImportEqualsDeclarationExpression (line 5855) | function getExternalModuleImportEqualsDeclarationExpression(node) {
  function isInternalModuleImportEqualsDeclaration (line 5860) | function isInternalModuleImportEqualsDeclaration(node) {
  function isSourceFileJavaScript (line 5864) | function isSourceFileJavaScript(file) {
  function isInJavaScriptFile (line 5868) | function isInJavaScriptFile(node) {
  function isRequireCall (line 5872) | function isRequireCall(expression, checkArgumentIsStringLiteral) {
  function isSingleOrDoubleQuote (line 5880) | function isSingleOrDoubleQuote(charCode) {
  function isDeclarationOfFunctionExpression (line 5884) | function isDeclarationOfFunctionExpression(s) {
  function getSpecialPropertyAssignmentKind (line 5892) | function getSpecialPropertyAssignmentKind(expression) {
  function getExternalModuleName (line 5931) | function getExternalModuleName(node) {
  function getNamespaceDeclarationNode (line 5949) | function getNamespaceDeclarationNode(node) {
  function isDefaultImport (line 5959) | function isDefaultImport(node) {
  function hasQuestionToken (line 5965) | function hasQuestionToken(node) {
  function isJSDocConstructSignature (line 5981) | function isJSDocConstructSignature(node) {
  function getCommentsFromJSDoc (line 5987) | function getCommentsFromJSDoc(node) {
  function getJSDocTags (line 5991) | function getJSDocTags(node, kind) {
  function getFirstJSDocTag (line 6009) | function getFirstJSDocTag(node, kind) {
  function getJSDocs (line 6012) | function getJSDocs(node) {
  function getJSDocParameterTags (line 6054) | function getJSDocParameterTags(param) {
  function getJSDocType (line 6076) | function getJSDocType(node) {
  function getJSDocAugmentsTag (line 6087) | function getJSDocAugmentsTag(node) {
  function getJSDocReturnTag (line 6091) | function getJSDocReturnTag(node) {
  function getJSDocTemplateTag (line 6095) | function getJSDocTemplateTag(node) {
  function hasRestParameter (line 6099) | function hasRestParameter(s) {
  function hasDeclaredRestParameter (line 6103) | function hasDeclaredRestParameter(s) {
  function isRestParameter (line 6107) | function isRestParameter(node) {
  function isDeclaredRestParam (line 6117) | function isDeclaredRestParam(node) {
  function getAssignmentTargetKind (line 6121) | function getAssignmentTargetKind(node) {
  function isAssignmentTarget (line 6156) | function isAssignmentTarget(node) {
  function isNodeDescendantOf (line 6160) | function isNodeDescendantOf(node, ancestor) {
  function isInAmbientContext (line 6169) | function isInAmbientContext(node) {
  function isDeclarationName (line 6179) | function isDeclarationName(name) {
  function isLiteralComputedPropertyDeclarationName (line 6195) | function isLiteralComputedPropertyDeclarationName(node) {
  function isIdentifierName (line 6201) | function isIdentifierName(node) {
  function isAliasSymbolDeclaration (line 6231) | function isAliasSymbolDeclaration(node) {
  function exportAssignmentIsAlias (line 6241) | function exportAssignmentIsAlias(node) {
  function getClassExtendsHeritageClauseElement (line 6245) | function getClassExtendsHeritageClauseElement(node) {
  function getClassImplementsHeritageClauseElements (line 6250) | function getClassImplementsHeritageClauseElements(node) {
  function getInterfaceBaseTypeNodes (line 6255) | function getInterfaceBaseTypeNodes(node) {
  function getHeritageClause (line 6260) | function getHeritageClause(clauses, kind) {
  function tryResolveScriptReference (line 6272) | function tryResolveScriptReference(host, sourceFile, reference) {
  function getAncestor (line 6279) | function getAncestor(node, kind) {
  function getFileReferenceFromReferencePath (line 6289) | function getFileReferenceFromReferencePath(comment, commentRange) {
  function isKeyword (line 6323) | function isKeyword(token) {
  function isTrivia (line 6327) | function isTrivia(token) {
  function isAsyncFunctionLike (line 6331) | function isAsyncFunctionLike(node) {
  function isStringOrNumericLiteral (line 6335) | function isStringOrNumericLiteral(node) {
  function hasDynamicName (line 6341) | function hasDynamicName(declaration) {
  function isDynamicName (line 6345) | function isDynamicName(name) {
  function isWellKnownSymbolSyntactically (line 6351) | function isWellKnownSymbolSyntactically(node) {
  function getPropertyNameForPropertyNameNode (line 6355) | function getPropertyNameForPropertyNameNode(name) {
  function getPropertyNameForKnownSymbolName (line 6372) | function getPropertyNameForKnownSymbolName(symbolName) {
  function isESSymbolIdentifier (line 6376) | function isESSymbolIdentifier(node) {
  function isPushOrUnshiftIdentifier (line 6380) | function isPushOrUnshiftIdentifier(node) {
  function isModifierKind (line 6384) | function isModifierKind(token) {
  function isParameterDeclaration (line 6402) | function isParameterDeclaration(node) {
  function getRootDeclaration (line 6407) | function getRootDeclaration(node) {
  function nodeStartsNewLexicalEnvironment (line 6414) | function nodeStartsNewLexicalEnvironment(node) {
  function nodeIsSynthesized (line 6427) | function nodeIsSynthesized(node) {
  function getOriginalNode (line 6432) | function getOriginalNode(node, nodeTest) {
  function isParseTreeNode (line 6441) | function isParseTreeNode(node) {
  function getParseTreeNode (line 6445) | function getParseTreeNode(node, nodeTest) {
  function getOriginalSourceFiles (line 6456) | function getOriginalSourceFiles(sourceFiles) {
  function getOriginalNodeId (line 6468) | function getOriginalNodeId(node) {
  function getExpressionAssociativity (line 6473) | function getExpressionAssociativity(expression) {
  function getOperatorAssociativity (line 6479) | function getOperatorAssociativity(kind, operator, hasArguments) {
  function getExpressionPrecedence (line 6513) | function getExpressionPrecedence(expression) {
  function getOperator (line 6519) | function getOperator(expression) {
  function getOperatorPrecedence (line 6531) | function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) {
  function createDiagnosticCollection (line 6640) | function createDiagnosticCollection() {
  function escapeString (line 6726) | function escapeString(s) {
  function isIntrinsicJsxName (line 6734) | function isIntrinsicJsxName(name) {
  function get16BitUnicodeEscapeSequence (line 6739) | function get16BitUnicodeEscapeSequence(charCode) {
  function escapeNonAsciiCharacters (line 6745) | function escapeNonAsciiCharacters(s) {
  function getIndentString (line 6752) | function getIndentString(level) {
  function getIndentSize (line 6759) | function getIndentSize() {
  function createTextWriter (line 6763) | function createTextWriter(newLine) {
  function getResolvedExternalModuleName (line 6833) | function getResolvedExternalModuleName(host, file) {
  function getExternalModuleNameFromDeclaration (line 6837) | function getExternalModuleNameFromDeclaration(host, resolver, declaratio...
  function getExternalModuleNameFromPath (line 6845) | function getExternalModuleNameFromPath(host, fileName) {
  function getOwnEmitOutputFilePath (line 6853) | function getOwnEmitOutputFilePath(sourceFile, host, extension) {
  function getDeclarationEmitOutputFilePath (line 6865) | function getDeclarationEmitOutputFilePath(sourceFile, host) {
  function getSourceFilesToEmit (line 6874) | function getSourceFilesToEmit(host, targetSourceFile) {
  function filterSourceFilesInDirectory (line 6891) | function filterSourceFilesInDirectory(sourceFiles, isSourceFileFromExter...
  function isNonDeclarationFile (line 6895) | function isNonDeclarationFile(sourceFile) {
  function shouldEmitInDirectory (line 6898) | function shouldEmitInDirectory(sourceFile, isSourceFileFromExternalLibra...
  function isBundleEmitNonExternalModule (line 6901) | function isBundleEmitNonExternalModule(sourceFile) {
  function forEachTransformedEmitFile (line 6904) | function forEachTransformedEmitFile(host, sourceFiles, action, emitOnlyD...
  function getSourceMapFilePath (line 6944) | function getSourceMapFilePath(jsFilePath, options) {
  function forEachExpectedEmitFile (line 6947) | function forEachExpectedEmitFile(host, action, targetSourceFile, emitOnl...
  function getSourceFilePathInNewDir (line 6999) | function getSourceFilePathInNewDir(sourceFile, host, newDirPath) {
  function writeFile (line 7007) | function writeFile(host, diagnostics, fileName, data, writeByteOrderMark...
  function getLineOfLocalPosition (line 7013) | function getLineOfLocalPosition(currentSourceFile, pos) {
  function getLineOfLocalPositionFromLineMap (line 7017) | function getLineOfLocalPositionFromLineMap(lineMap, pos) {
  function getFirstConstructorWithBody (line 7021) | function getFirstConstructorWithBody(node) {
  function getSetAccessorTypeAnnotationNode (line 7029) | function getSetAccessorTypeAnnotationNode(accessor) {
  function getThisParameter (line 7036) | function getThisParameter(signature) {
  function parameterIsThisKeyword (line 7045) | function parameterIsThisKeyword(parameter) {
  function isThisIdentifier (line 7049) | function isThisIdentifier(node) {
  function identifierIsThisKeyword (line 7053) | function identifierIsThisKeyword(id) {
  function getAllAccessorDeclarations (line 7057) | function getAllAccessorDeclarations(declarations, accessor) {
  function emitNewLineBeforeLeadingComments (line 7105) | function emitNewLineBeforeLeadingComments(lineMap, writer, node, leading...
  function emitNewLineBeforeLeadingCommentsOfPosition (line 7109) | function emitNewLineBeforeLeadingCommentsOfPosition(lineMap, writer, pos...
  function emitNewLineBeforeLeadingCommentOfPosition (line 7116) | function emitNewLineBeforeLeadingCommentOfPosition(lineMap, writer, pos,...
  function emitComments (line 7123) | function emitComments(text, lineMap, writer, comments, leadingSeparator,...
  function emitDetachedComments (line 7149) | function emitDetachedComments(text, lineMap, writer, writeComment, node,...
  function writeCommentRange (line 7192) | function writeCommentRange(text, lineMap, writer, commentPos, commentEnd...
  function writeTrimmedCurrentLine (line 7229) | function writeTrimmedCurrentLine(text, commentEnd, writer, newLine, pos,...
  function calculateIndent (line 7242) | function calculateIndent(text, pos, end) {
  function hasModifiers (line 7254) | function hasModifiers(node) {
  function hasModifier (line 7258) | function hasModifier(node, flags) {
  function getModifierFlags (line 7262) | function getModifierFlags(node) {
  function modifierToFlag (line 7280) | function modifierToFlag(token) {
  function isLogicalOperator (line 7297) | function isLogicalOperator(token) {
  function isAssignmentOperator (line 7303) | function isAssignmentOperator(token) {
  function tryGetClassExtendingExpressionWithTypeArguments (line 7307) | function tryGetClassExtendingExpressionWithTypeArguments(node) {
  function isAssignmentExpression (line 7315) | function isAssignmentExpression(node, excludeCompoundAssignment) {
  function isDestructuringAssignment (line 7323) | function isDestructuringAssignment(node) {
  function isSupportedExpressionWithTypeArguments (line 7332) | function isSupportedExpressionWithTypeArguments(node) {
  function isSupportedExpressionWithTypeArgumentsRest (line 7336) | function isSupportedExpressionWithTypeArgumentsRest(node) {
  function isExpressionWithTypeArgumentsInClassExtendsClause (line 7347) | function isExpressionWithTypeArgumentsInClassExtendsClause(node) {
  function isEntityNameExpression (line 7351) | function isEntityNameExpression(node) {
  function isRightSideOfQualifiedNameOrPropertyAccess (line 7356) | function isRightSideOfQualifiedNameOrPropertyAccess(node) {
  function isEmptyObjectLiteralOrArrayLiteral (line 7361) | function isEmptyObjectLiteralOrArrayLiteral(expression) {
  function getLocalSymbolForExportDefault (line 7372) | function getLocalSymbolForExportDefault(symbol) {
  function tryExtractTypeScriptExtension (line 7376) | function tryExtractTypeScriptExtension(fileName) {
  function getExpandedCharCodes (line 7380) | function getExpandedCharCodes(input) {
  function stringifyFallback (line 7412) | function stringifyFallback(value) {
  function stringifyValue (line 7415) | function stringifyValue(value) {
  function cycleCheck (line 7422) | function cycleCheck(cb, value) {
  function stringifyArray (line 7429) | function stringifyArray(value) {
  function stringifyElement (line 7432) | function stringifyElement(memo, value) {
  function stringifyObject (line 7435) | function stringifyObject(value) {
  function stringifyProperty (line 7438) | function stringifyProperty(memo, value, key) {
  function convertToBase64 (line 7443) | function convertToBase64(input) {
  function getNewLineCharacter (line 7468) | function getNewLineCharacter(options) {
  function isSimpleExpression (line 7481) | function isSimpleExpression(node) {
  function isSimpleExpressionWorker (line 7485) | function isSimpleExpressionWorker(node, depth) {
  function formatSyntaxKind (line 7548) | function formatSyntaxKind(kind) {
  function movePos (line 7565) | function movePos(pos, value) {
  function createRange (line 7569) | function createRange(pos, end) {
  function moveRangeEnd (line 7573) | function moveRangeEnd(range, end) {
  function moveRangePos (line 7577) | function moveRangePos(range, pos) {
  function moveRangePastDecorators (line 7581) | function moveRangePastDecorators(node) {
  function moveRangePastModifiers (line 7587) | function moveRangePastModifiers(node) {
  function isCollapsedRange (line 7593) | function isCollapsedRange(range) {
  function collapseRangeToStart (line 7597) | function collapseRangeToStart(range) {
  function collapseRangeToEnd (line 7601) | function collapseRangeToEnd(range) {
  function createTokenRange (line 7605) | function createTokenRange(pos, token) {
  function rangeIsOnSingleLine (line 7609) | function rangeIsOnSingleLine(range, sourceFile) {
  function rangeStartPositionsAreOnSameLine (line 7613) | function rangeStartPositionsAreOnSameLine(range1, range2, sourceFile) {
  function rangeEndPositionsAreOnSameLine (line 7617) | function rangeEndPositionsAreOnSameLine(range1, range2, sourceFile) {
  function rangeStartIsOnSameLineAsRangeEnd (line 7621) | function rangeStartIsOnSameLineAsRangeEnd(range1, range2, sourceFile) {
  function rangeEndIsOnSameLineAsRangeStart (line 7625) | function rangeEndIsOnSameLineAsRangeStart(range1, range2, sourceFile) {
  function positionsAreOnSameLine (line 7629) | function positionsAreOnSameLine(pos1, pos2, sourceFile) {
  function getStartPositionOfRange (line 7634) | function getStartPositionOfRange(range, sourceFile) {
  function isDeclarationNameOfEnumOrNamespace (line 7638) | function isDeclarationNameOfEnumOrNamespace(node) {
  function getInitializedVariables (line 7650) | function getInitializedVariables(node) {
  function isInitializedVariable (line 7654) | function isInitializedVariable(node) {
  function isMergedWithClass (line 7657) | function isMergedWithClass(node) {
  function isFirstDeclarationOfKind (line 7669) | function isFirstDeclarationOfKind(node, kind) {
  function isNodeArray (line 7673) | function isNodeArray(array) {
  function isNoSubstitutionTemplateLiteral (line 7678) | function isNoSubstitutionTemplateLiteral(node) {
  function isLiteralKind (line 7682) | function isLiteralKind(kind) {
  function isTextualLiteralKind (line 7686) | function isTextualLiteralKind(kind) {
  function isLiteralExpression (line 7690) | function isLiteralExpression(node) {
  function isTemplateLiteralKind (line 7694) | function isTemplateLiteralKind(kind) {
  function isTemplateHead (line 7698) | function isTemplateHead(node) {
  function isTemplateMiddleOrTemplateTail (line 7702) | function isTemplateMiddleOrTemplateTail(node) {
  function isIdentifier (line 7708) | function isIdentifier(node) {
  function isGeneratedIdentifier (line 7712) | function isGeneratedIdentifier(node) {
  function isModifier (line 7716) | function isModifier(node) {
  function isQualifiedName (line 7720) | function isQualifiedName(node) {
  function isComputedPropertyName (line 7724) | function isComputedPropertyName(node) {
  function isEntityName (line 7728) | function isEntityName(node) {
  function isPropertyName (line 7734) | function isPropertyName(node) {
  function isModuleName (line 7742) | function isModuleName(node) {
  function isBindingName (line 7748) | function isBindingName(node) {
  function isTypeParameter (line 7755) | function isTypeParameter(node) {
  function isParameter (line 7759) | function isParameter(node) {
  function isDecorator (line 7763) | function isDecorator(node) {
  function isMethodDeclaration (line 7767) | function isMethodDeclaration(node) {
  function isClassElement (line 7771) | function isClassElement(node) {
  function isObjectLiteralElementLike (line 7782) | function isObjectLiteralElementLike(node) {
  function isTypeNodeKind (line 7793) | function isTypeNodeKind(kind) {
  function isTypeNode (line 7804) | function isTypeNode(node) {
  function isArrayBindingPattern (line 7808) | function isArrayBindingPattern(node) {
  function isObjectBindingPattern (line 7812) | function isObjectBindingPattern(node) {
  function isBindingPattern (line 7816) | function isBindingPattern(node) {
  function isAssignmentPattern (line 7825) | function isAssignmentPattern(node) {
  function isBindingElement (line 7831) | function isBindingElement(node) {
  function isArrayBindingElement (line 7835) | function isArrayBindingElement(node) {
  function isDeclarationBindingElement (line 7841) | function isDeclarationBindingElement(bindingElement) {
  function isBindingOrAssignmentPattern (line 7851) | function isBindingOrAssignmentPattern(node) {
  function isObjectBindingOrAssignmentPattern (line 7856) | function isObjectBindingOrAssignmentPattern(node) {
  function isArrayBindingOrAssignmentPattern (line 7865) | function isArrayBindingOrAssignmentPattern(node) {
  function isArrayLiteralExpression (line 7874) | function isArrayLiteralExpression(node) {
  function isObjectLiteralExpression (line 7878) | function isObjectLiteralExpression(node) {
  function isPropertyAccessExpression (line 7882) | function isPropertyAccessExpression(node) {
  function isElementAccessExpression (line 7886) | function isElementAccessExpression(node) {
  function isBinaryExpression (line 7890) | function isBinaryExpression(node) {
  function isConditionalExpression (line 7894) | function isConditionalExpression(node) {
  function isCallExpression (line 7898) | function isCallExpression(node) {
  function isTemplateLiteral (line 7902) | function isTemplateLiteral(node) {
  function isSpreadExpression (line 7908) | function isSpreadExpression(node) {
  function isExpressionWithTypeArguments (line 7912) | function isExpressionWithTypeArguments(node) {
  function isLeftHandSideExpressionKind (line 7916) | function isLeftHandSideExpressionKind(kind) {
  function isLeftHandSideExpression (line 7943) | function isLeftHandSideExpression(node) {
  function isUnaryExpressionKind (line 7947) | function isUnaryExpressionKind(kind) {
  function isUnaryExpression (line 7957) | function isUnaryExpression(node) {
  function isExpressionKind (line 7961) | function isExpressionKind(kind) {
  function isExpression (line 7972) | function isExpression(node) {
  function isAssertionExpression (line 7976) | function isAssertionExpression(node) {
  function isPartiallyEmittedExpression (line 7982) | function isPartiallyEmittedExpression(node) {
  function isNotEmittedStatement (line 7986) | function isNotEmittedStatement(node) {
  function isNotEmittedOrPartiallyEmittedNode (line 7990) | function isNotEmittedOrPartiallyEmittedNode(node) {
  function isOmittedExpression (line 7995) | function isOmittedExpression(node) {
  function isTemplateSpan (line 7999) | function isTemplateSpan(node) {
  function isBlock (line 8003) | function isBlock(node) {
  function isConciseBody (line 8007) | function isConciseBody(node) {
  function isFunctionBody (line 8012) | function isFunctionBody(node) {
  function isForInitializer (line 8016) | function isForInitializer(node) {
  function isVariableDeclaration (line 8021) | function isVariableDeclaration(node) {
  function isVariableDeclarationList (line 8025) | function isVariableDeclarationList(node) {
  function isCaseBlock (line 8029) | function isCaseBlock(node) {
  function isModuleBody (line 8033) | function isModuleBody(node) {
  function isImportEqualsDeclaration (line 8039) | function isImportEqualsDeclaration(node) {
  function isImportClause (line 8043) | function isImportClause(node) {
  function isNamedImportBindings (line 8047) | function isNamedImportBindings(node) {
  function isImportSpecifier (line 8053) | function isImportSpecifier(node) {
  function isNamedExports (line 8057) | function isNamedExports(node) {
  function isExportSpecifier (line 8061) | function isExportSpecifier(node) {
  function isModuleOrEnumDeclaration (line 8065) | function isModuleOrEnumDeclaration(node) {
  function isDeclarationKind (line 8069) | function isDeclarationKind(kind) {
  function isDeclarationStatementKind (line 8101) | function isDeclarationStatementKind(kind) {
  function isStatementKindButNotDeclarationKind (line 8115) | function isStatementKindButNotDeclarationKind(kind) {
  function isDeclaration (line 8138) | function isDeclaration(node) {
  function isDeclarationStatement (line 8142) | function isDeclarationStatement(node) {
  function isStatementButNotDeclaration (line 8146) | function isStatementButNotDeclaration(node) {
  function isStatement (line 8150) | function isStatement(node) {
  function isModuleReference (line 8157) | function isModuleReference(node) {
  function isJsxOpeningElement (line 8164) | function isJsxOpeningElement(node) {
  function isJsxClosingElement (line 8168) | function isJsxClosingElement(node) {
  function isJsxTagNameExpression (line 8172) | function isJsxTagNameExpression(node) {
  function isJsxChild (line 8179) | function isJsxChild(node) {
  function isJsxAttributeLike (line 8187) | function isJsxAttributeLike(node) {
  function isJsxSpreadAttribute (line 8193) | function isJsxSpreadAttribute(node) {
  function isJsxAttribute (line 8197) | function isJsxAttribute(node) {
  function isStringLiteralOrJsxExpression (line 8201) | function isStringLiteralOrJsxExpression(node) {
  function isCaseOrDefaultClause (line 8207) | function isCaseOrDefaultClause(node) {
  function isHeritageClause (line 8213) | function isHeritageClause(node) {
  function isCatchClause (line 8217) | function isCatchClause(node) {
Copy disabled (too large) Download .json
Condensed preview — 287 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (23,296K chars).
[
  {
    "path": ".gitignore",
    "chars": 42,
    "preview": "test/\nnode_modules/\n.idea\n.DS_Store\n.outjs"
  },
  {
    "path": ".npmignore",
    "chars": 60,
    "preview": "test/\nnode_modules/\n.idea\n.DS_Store\n.outjs\n\nsrc/\nbuildtool/\n"
  },
  {
    "path": "LICENSE",
    "chars": 1086,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2014 Vladimir Kharlampidi\n\nPermission is hereby granted, free of charge, to any per"
  },
  {
    "path": "README.md",
    "chars": 845,
    "preview": "# AndroidUIX\n[中文文档](https://github.com/linfaxin/AndroidUIX/blob/master/README_cn.md)\n\nMake a high-performance web app wi"
  },
  {
    "path": "README_cn.md",
    "chars": 662,
    "preview": "# AndroidUIX\n\n移植Android的UI组件到Web端, 以Android的方式来制作高性能优体验的WebApp\n\n网站: http://linfaxin.github.io/AndroidUIX\n\n\n### 特点\n\n1. 完整"
  },
  {
    "path": "buildtool/README.md",
    "chars": 151,
    "preview": "### AndroidUIX Modified Note\n\nThe packed typescript's 'checkClassPropertyAccess' was closed, so you can access private/p"
  },
  {
    "path": "buildtool/typescript/bin/tsc",
    "chars": 45,
    "preview": "#!/usr/bin/env node\nrequire('../lib/tsc.js')\n"
  },
  {
    "path": "buildtool/typescript/bin/tsserver",
    "chars": 50,
    "preview": "#!/usr/bin/env node\nrequire('../lib/tsserver.js')\n"
  },
  {
    "path": "buildtool/typescript/lib/lib.d.ts",
    "chars": 686688,
    "preview": "/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. A"
  },
  {
    "path": "buildtool/typescript/lib/lib.es6.d.ts",
    "chars": 749889,
    "preview": "/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. A"
  },
  {
    "path": "buildtool/typescript/lib/tsc.js",
    "chars": 2604028,
    "preview": "/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. A"
  },
  {
    "path": "buildtool/typescript/lib/tsserver.js",
    "chars": 3528659,
    "preview": "/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. A"
  },
  {
    "path": "buildtool/typescript/lib/typescriptServices.js",
    "chars": 4518501,
    "preview": "/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. A"
  },
  {
    "path": "dist/android-ui.d.ts",
    "chars": 499283,
    "preview": "declare module java.util {\n    interface List<T> {\n        size(): number;\n        isEmpty(): boolean;\n        contains("
  },
  {
    "path": "dist/android-ui.es5.js",
    "chars": 2145207,
    "preview": "'use strict';var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}"
  },
  {
    "path": "dist/android-ui.js",
    "chars": 3097090,
    "preview": "/**\n * AndroidUIX v0.7.0\n * https://github.com/linfaxin/AndroidUIX\n */\nvar java;\n(function (java) {\n    var util;\n    (f"
  },
  {
    "path": "package.json",
    "chars": 1054,
    "preview": "{\n  \"name\": \"androiduix\",\n  \"version\": \"0.7.0\",\n  \"description\": \"Framework to make high-performance SPA/WebApp. Render "
  },
  {
    "path": "src/android/R/anim.ts",
    "chars": 9875,
    "preview": "/**\n * Created by linfaxin on 16/1/10.\n */\n///<reference path=\"../view/animation/Animation.ts\"/>\n///<reference path=\"../"
  },
  {
    "path": "src/android/R/attr.ts",
    "chars": 10318,
    "preview": "/**\n * Created by linfaxin on 15/11/26.\n */\n///<reference path=\"drawable.ts\"/>\n///<reference path=\"image.ts\"/>\n///<refer"
  },
  {
    "path": "src/android/R/color.ts",
    "chars": 2473,
    "preview": "/**\n * Created by linfaxin on 15/11/15.\n */\n///<reference path=\"../view/View.ts\"/>\n///<reference path=\"../content/res/Re"
  },
  {
    "path": "src/android/R/drawable.ts",
    "chars": 21118,
    "preview": "/**\n * Created by linfaxin on 15/11/15.\n */\n///<reference path=\"../view/View.ts\"/>\n///<reference path=\"../content/res/Re"
  },
  {
    "path": "src/android/R/id.ts",
    "chars": 1328,
    "preview": "module android.R {\n    export const id = {\n        \"content\": \"content\",\n        \"background\": \"background\",\n        \"se"
  },
  {
    "path": "src/android/R/image.ts",
    "chars": 9031,
    "preview": "///<reference path=\"../../androidui/image/NetDrawable.ts\"/>\n///<reference path=\"../../androidui/image/NinePatchDrawable."
  },
  {
    "path": "src/android/R/image_base64.ts",
    "chars": 102486,
    "preview": "///<reference path=\"../../androidui/image/NetImage.ts\"/>\nmodule android.R {\n    import NetImage = androidui.image.NetIma"
  },
  {
    "path": "src/android/R/interpolator.ts",
    "chars": 2370,
    "preview": "/**\n * Created by linfaxin on 16/1/10.\n */\n///<reference path=\"../view/animation/Interpolator\"/>\n///<reference path=\"../"
  },
  {
    "path": "src/android/R/layout.ts",
    "chars": 13439,
    "preview": "module android.R {\n    const _layout_data = {\n        \"action_bar\": \"<merge>\\n    <linearlayout android:layout_height=\\\""
  },
  {
    "path": "src/android/R/string.ts",
    "chars": 1693,
    "preview": "/**\n * Created by linfaxin on 15/11/21.\n */\nmodule android.R{\n    export class string_{\n        static ok = 'OK';\n      "
  },
  {
    "path": "src/android/app/ActionBar.ts",
    "chars": 44669,
    "preview": "/*\n * Copyright (C) 2010 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/app/ActionBarActivity.ts",
    "chars": 2939,
    "preview": "/**\n * Created by linfaxin on 16/1/21.\n * androidui NOTE: ActionBarActivity is not same style as android's\n */\n///<refer"
  },
  {
    "path": "src/android/app/Activity.ts",
    "chars": 79276,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/app/ActivityThread.ts",
    "chars": 16622,
    "preview": "/**\n * Created by linfaxin on 16/1/5.\n * androidui's impl of android's ActivityThread\n */\n\n///<reference path=\"Activity."
  },
  {
    "path": "src/android/app/AlertController.ts",
    "chars": 40509,
    "preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/app/AlertDialog.ts",
    "chars": 40778,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/app/Application.ts",
    "chars": 6726,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/app/Dialog.ts",
    "chars": 47422,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/content/Context.ts",
    "chars": 1662,
    "preview": "/**\n * Created by linfaxin on 16/1/4.\n * lite impl of Android's Content\n */\n///<reference path=\"../view/WindowManager.ts"
  },
  {
    "path": "src/android/content/DialogInterface.ts",
    "chars": 5635,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/content/Intent.ts",
    "chars": 8212,
    "preview": "/**\n * Created by linfaxin on 16/1/4.\n * lite impl of Android's Intent.\n */\n///<reference path=\"../os/Bundle.ts\"/>\n\n\nmod"
  },
  {
    "path": "src/android/content/res/ColorStateList.ts",
    "chars": 9032,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/content/res/Resources.ts",
    "chars": 18515,
    "preview": "/**\n * Created by linfaxin on 15/10/5.\n * Androidui's impl\n */\n///<reference path=\"../../util/DisplayMetrics.ts\"/>\n///<r"
  },
  {
    "path": "src/android/content/res/TypedArray.ts",
    "chars": 15764,
    "preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/database/DataSetObservable.ts",
    "chars": 2152,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/database/DataSetObserver.ts",
    "chars": 1223,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/database/Observable.ts",
    "chars": 2902,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/Canvas.ts",
    "chars": 37528,
    "preview": "/**\n * Created by linfaxin on 15/10/13.\n * AndroidUI's Canvas impl. will draw to web <canvas> in browser, and will repla"
  },
  {
    "path": "src/android/graphics/Color.ts",
    "chars": 10172,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/Matrix.ts",
    "chars": 35978,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/Paint.ts",
    "chars": 36395,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/Path.ts",
    "chars": 175,
    "preview": "/**\n * Created by linfaxin on 15/12/6.\n * empty class: not support draw/clip path now.\n */\nmodule android.graphics{\n    "
  },
  {
    "path": "src/android/graphics/PixelFormat.ts",
    "chars": 924,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/Point.ts",
    "chars": 2464,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/Rect.ts",
    "chars": 23278,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/RectF.ts",
    "chars": 204,
    "preview": "/**\n * Created by linfaxin on 15/12/6.\n * NOTE: only extends Rect, Rect no integer vale limit now.\n */\n///<reference pat"
  },
  {
    "path": "src/android/graphics/drawable/Animatable.ts",
    "chars": 1241,
    "preview": "/*\n * Copyright (C) 2009 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/drawable/AnimationDrawable.ts",
    "chars": 13168,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/drawable/ClipDrawable.ts",
    "chars": 9689,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/drawable/ClipRoundRectDrawable.ts",
    "chars": 6065,
    "preview": "/**\n * Created by linfaxin on 16/1/3.\n * AndroidUI drawable\n */\n///<reference path=\"Drawable.ts\"/>\n///<reference path=\"."
  },
  {
    "path": "src/android/graphics/drawable/ColorDrawable.ts",
    "chars": 5090,
    "preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/drawable/Drawable.ts",
    "chars": 33263,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/drawable/DrawableContainer.ts",
    "chars": 31029,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/drawable/InsetDrawable.ts",
    "chars": 9299,
    "preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/drawable/LayerDrawable.ts",
    "chars": 27978,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/drawable/RotateDrawable.ts",
    "chars": 10416,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/drawable/RoundRectDrawable.ts",
    "chars": 3631,
    "preview": "/**\n * Created by linfaxin on 15/10/29.\n * AndroidUI drawable\n */\n///<reference path=\"Drawable.ts\"/>\n///<reference path="
  },
  {
    "path": "src/android/graphics/drawable/ScaleDrawable.ts",
    "chars": 11706,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/drawable/ScrollBarDrawable.ts",
    "chars": 7909,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/graphics/drawable/ShadowDrawable.ts",
    "chars": 5833,
    "preview": "/**\n * Created by linfaxin on 16/1/13.\n * androidui drawable\n */\n///<reference path=\"Drawable.ts\"/>\n///<reference path=\""
  },
  {
    "path": "src/android/graphics/drawable/StateListDrawable.ts",
    "chars": 10419,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/os/Bundle.ts",
    "chars": 1216,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/os/Handler.ts",
    "chars": 19881,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/os/Message.ts",
    "chars": 9994,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/os/MessageQueue.ts",
    "chars": 5099,
    "preview": "/**\n * Created by linfaxin on 15/10/5.\n * AndroidUI's impl.\n */\n///<reference path=\"Message.ts\"/>\n///<reference path=\"Ha"
  },
  {
    "path": "src/android/os/SystemClock.ts",
    "chars": 211,
    "preview": "/**\n * Created by linfaxin on 15/10/5.\n * AndroidUI's impl.\n */\nmodule android.os{\n    export class SystemClock{\n       "
  },
  {
    "path": "src/android/os/Trace.ts",
    "chars": 10270,
    "preview": "/*\n * Copyright (C) 2012 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/support/v4/view/PagerAdapter.ts",
    "chars": 10690,
    "preview": "/*\n * Copyright (C) 2011 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/support/v4/view/ViewPager.ts",
    "chars": 119058,
    "preview": "/*\n * Copyright (C) 2011 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/support/v4/widget/DrawerLayout.ts",
    "chars": 60525,
    "preview": "/*\n * Copyright (C) 2013 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/support/v4/widget/ViewDragHelper.ts",
    "chars": 62726,
    "preview": "/*\n * Copyright (C) 2013 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/BoringLayout.ts",
    "chars": 11742,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/DynamicLayout.ts",
    "chars": 26397,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/InputType.ts",
    "chars": 17300,
    "preview": "///<reference path=\"../view/KeyEvent.ts\"/>\n\nmodule android.text {\n    import KeyEvent = android.view.KeyEvent;\n\n    expo"
  },
  {
    "path": "src/android/text/Layout.ts",
    "chars": 71223,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/MeasuredText.ts",
    "chars": 10512,
    "preview": "/*\n * Copyright (C) 2010 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/PackedIntVector.ts",
    "chars": 12232,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/PackedObjectVector.ts",
    "chars": 4975,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/SpanSet.ts",
    "chars": 4122,
    "preview": "/*\n * Copyright (C) 2012 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/SpanWatcher.ts",
    "chars": 1736,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/Spannable.ts",
    "chars": 2900,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/Spanned.ts",
    "chars": 8268,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/StaticLayout.ts",
    "chars": 38279,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/TextDirectionHeuristic.ts",
    "chars": 1295,
    "preview": "/*\n * Copyright (C) 2011 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/TextDirectionHeuristics.ts",
    "chars": 11783,
    "preview": "/*\n * Copyright (C) 2011 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/TextLine.ts",
    "chars": 41991,
    "preview": "/*\n * Copyright (C) 2010 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/TextPaint.ts",
    "chars": 2237,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/TextUtils.ts",
    "chars": 15646,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/TextWatcher.ts",
    "chars": 2407,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/method/AllCapsTransformationMethod.ts",
    "chars": 2063,
    "preview": "/*\n * Copyright (C) 2011 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/method/MovementMethod.ts",
    "chars": 2806,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/method/PasswordTransformationMethod.ts",
    "chars": 1446,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/method/ReplacementTransformationMethod.ts",
    "chars": 5625,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/method/SingleLineTransformationMethod.ts",
    "chars": 2677,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/method/TransformationMethod.ts",
    "chars": 1959,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/method/TransformationMethod2.ts",
    "chars": 1645,
    "preview": "/*\n * Copyright (C) 2011 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/style/CharacterStyle.ts",
    "chars": 3682,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/style/LeadingMarginSpan.ts",
    "chars": 5714,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/style/LineBackgroundSpan.ts",
    "chars": 1336,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/style/LineHeightSpan.ts",
    "chars": 1828,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/style/MetricAffectingSpan.ts",
    "chars": 3001,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/style/ParagraphStyle.ts",
    "chars": 859,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/style/ReplacementSpan.ts",
    "chars": 1854,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/style/TabStopSpan.ts",
    "chars": 1810,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/style/UpdateAppearance.ts",
    "chars": 1086,
    "preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/style/UpdateLayout.ts",
    "chars": 1139,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/text/style/WrapTogetherSpan.ts",
    "chars": 840,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/util/ArrayMap.ts",
    "chars": 2067,
    "preview": "/**\n * Created by linfaxin on 15/12/12.\n * AndroidUI's impl.\n */\nmodule android.util{\n    export class ArrayMap<K, V>{\n "
  },
  {
    "path": "src/android/util/CopyOnWriteArray.ts",
    "chars": 1878,
    "preview": "/**\n * Created by linfaxin on 15/10/6.\n * AndroidUI's impl.\n */\nmodule android.util {\n\n    class Access<T>{\n        mDat"
  },
  {
    "path": "src/android/util/DisplayMetrics.ts",
    "chars": 587,
    "preview": "/**\n * Created by linfaxin on 15/10/5.\n * AndroidUI's impl.\n */\nmodule android.util{\n    export class DisplayMetrics{\n  "
  },
  {
    "path": "src/android/util/LayoutDirection.ts",
    "chars": 1346,
    "preview": "/*\n * Copyright (C) 2013 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/util/Log.ts",
    "chars": 4044,
    "preview": "/**\n * Created by linfaxin on 15/10/5.\n * AndrodUI's impl.\n */\nmodule android.util {\n    export class Log {\n        stat"
  },
  {
    "path": "src/android/util/LongSparseArray.ts",
    "chars": 191,
    "preview": "/**\n * Created by linfaxin on 15/10/3.\n * AndroidUI's impl\n */\n///<reference path=\"SparseArray.ts\"/>\n\nmodule android.uti"
  },
  {
    "path": "src/android/util/MathUtils.ts",
    "chars": 3890,
    "preview": "/*\n * Copyright (C) 2009 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/util/Pools.ts",
    "chars": 4182,
    "preview": "/*\n * Copyright (C) 2009 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/util/SparseArray.ts",
    "chars": 195,
    "preview": "/**\n * Created by linfaxin on 15/10/3.\n * AndroidUI's impl.\n */\n///<reference path=\"SparseMap.ts\"/>\n\nmodule android.util"
  },
  {
    "path": "src/android/util/SparseBooleanArray.ts",
    "chars": 198,
    "preview": "/**\n * Created by linfaxin on 15/10/3.\n * AndroidUI's impl.\n */\n///<reference path=\"SparseArray.ts\"/>\n\nmodule android.ut"
  },
  {
    "path": "src/android/util/SparseMap.ts",
    "chars": 1912,
    "preview": "/**\n * Created by linfaxin on 15/10/3.\n * AndroidUI's impl.\n */\nmodule android.util {\n\n    //AndroidUI only.\n    export "
  },
  {
    "path": "src/android/util/StateSet.ts",
    "chars": 6047,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/util/TypedValue.ts",
    "chars": 8435,
    "preview": "/**\n * Created by linfaxin on 15/10/27.\n * AndroidUI's impl: converted TypedValue to pixel value.\n */\n///<reference path"
  },
  {
    "path": "src/android/view/FocusFinder.ts",
    "chars": 27497,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/GestureDetector.ts",
    "chars": 25905,
    "preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/Gravity.ts",
    "chars": 12331,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/HapticFeedbackConstants.ts",
    "chars": 2080,
    "preview": "/*\n * Copyright (C) 2009 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/KeyEvent.ts",
    "chars": 36422,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/LayoutInflater.ts",
    "chars": 8321,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/Menu.ts",
    "chars": 25537,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/MenuItem.ts",
    "chars": 18444,
    "preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/MotionEvent.ts",
    "chars": 29492,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/ScaleGestureDetector.ts",
    "chars": 24242,
    "preview": "/*\n * Copyright (C) 2010 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/SoundEffectConstants.ts",
    "chars": 2071,
    "preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/Surface.ts",
    "chars": 4916,
    "preview": "/**\n * Created by linfaxin on 15/10/13.\n * AndroidUI's impl\n */\n///<reference path=\"../graphics/Rect.ts\"/>\n///<reference"
  },
  {
    "path": "src/android/view/TouchDelegate.ts",
    "chars": 5010,
    "preview": "/*\n * Copyright (C) 2008 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/VelocityTracker.ts",
    "chars": 15598,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/View.ts",
    "chars": 355207,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/ViewConfiguration.ts",
    "chars": 15378,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/ViewGroup.ts",
    "chars": 125452,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/ViewOverlay.ts",
    "chars": 5198,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/ViewParent.ts",
    "chars": 14081,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/ViewRootImpl.ts",
    "chars": 61106,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/ViewTreeObserver.ts",
    "chars": 24167,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/Window.ts",
    "chars": 64111,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/WindowManager.ts",
    "chars": 87114,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/AccelerateDecelerateInterpolator.ts",
    "chars": 1033,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/AccelerateInterpolator.ts",
    "chars": 1661,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/AlphaAnimation.ts",
    "chars": 2849,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/Animation.ts",
    "chars": 37023,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/AnimationSet.ts",
    "chars": 18824,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/AnimationUtils.ts",
    "chars": 2048,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/AnticipateInterpolator.ts",
    "chars": 1397,
    "preview": "/*\n * Copyright (C) 2009 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/AnticipateOvershootInterpolator.ts",
    "chars": 2370,
    "preview": "/*\n * Copyright (C) 2009 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/BounceInterpolator.ts",
    "chars": 1606,
    "preview": "/*\n * Copyright (C) 2009 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/CycleInterpolator.ts",
    "chars": 1142,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/DecelerateInterpolator.ts",
    "chars": 1673,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/Interpolator.ts",
    "chars": 1709,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/LinearInterpolator.ts",
    "chars": 927,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/OvershootInterpolator.ts",
    "chars": 1492,
    "preview": "/*\n * Copyright (C) 2009 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/RotateAnimation.ts",
    "chars": 5809,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/ScaleAnimation.ts",
    "chars": 6801,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/Transformation.ts",
    "chars": 4934,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/animation/TranslateAnimation.ts",
    "chars": 6058,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/view/menu/MenuPopupHelper.ts",
    "chars": 14173,
    "preview": "/*\n * Copyright (C) 2010 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/webkit/WebView.ts",
    "chars": 5248,
    "preview": "///<reference path=\"../../androidui/widget/HtmlBaseView.ts\"/>\n///<reference path=\"WebViewClient.ts\"/>\n\n\n\nmodule android."
  },
  {
    "path": "src/android/webkit/WebViewClient.ts",
    "chars": 475,
    "preview": "///<reference path=\"WebView.ts\"/>\n\nmodule android.webkit {\n    export class WebViewClient {\n        onPageFinished(view:"
  },
  {
    "path": "src/android/widget/AbsListView.ts",
    "chars": 281009,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/AbsSeekBar.ts",
    "chars": 19442,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/AbsSpinner.ts",
    "chars": 17341,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/Adapter.ts",
    "chars": 6874,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/AdapterView.ts",
    "chars": 43896,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/ArrayAdapter.ts",
    "chars": 18243,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/BaseAdapter.ts",
    "chars": 3564,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/BaseExpandableListAdapter.ts",
    "chars": 6188,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/Button.ts",
    "chars": 4251,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/CheckBox.ts",
    "chars": 2376,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/Checkable.ts",
    "chars": 1121,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/CheckedTextView.ts",
    "chars": 10505,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/CompoundButton.ts",
    "chars": 11442,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/EditText.ts",
    "chars": 25878,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/ExpandableListAdapter.ts",
    "chars": 8983,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/ExpandableListConnector.ts",
    "chars": 39101,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/ExpandableListPosition.ts",
    "chars": 5026,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/ExpandableListView.ts",
    "chars": 53707,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/FrameLayout.ts",
    "chars": 25773,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/GridView.ts",
    "chars": 87667,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/HeaderViewListAdapter.ts",
    "chars": 9673,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/HeterogeneousExpandableList.ts",
    "chars": 6217,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/HorizontalScrollView.ts",
    "chars": 67585,
    "preview": "/*\n * Copyright (C) 2009 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/ImageButton.ts",
    "chars": 3521,
    "preview": "/*\n * Copyright (C) 2007 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/ImageView.ts",
    "chars": 46076,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/LinearLayout.ts",
    "chars": 69137,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/ListAdapter.ts",
    "chars": 2166,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/ListPopupWindow.ts",
    "chars": 65489,
    "preview": "/*\n * Copyright (C) 2010 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "src/android/widget/ListView.ts",
    "chars": 150540,
    "preview": "/*\n * Copyright (C) 2006 The Android Open Source Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lice"
  }
]

// ... and 87 more files (download for full content)

About this extraction

This page contains the full source code of the linfaxin/AndroidUIX GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 287 files (21.7 MB), approximately 5.7M tokens, and a symbol index with 19502 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!